// DO NOT EDIT: This file is autogenerated via the builtin command.

package interpolate

import (
	ast "github.com/influxdata/flux/ast"
	runtime "github.com/influxdata/flux/runtime"
)

func init() {
	runtime.RegisterPackage(pkgAST)
}

var pkgAST = &ast.Package{
	BaseNode: ast.BaseNode{
		Comments: nil,
		Errors:   nil,
		Loc:      nil,
	},
	Files: []*ast.File{&ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 15,
					Line:   46,
				},
				File:   "interpolate.flux",
				Source: "package interpolate\n\n\n// linear is a function that inserts rows at regular intervals using linear\n//  interpolation to determine values for inserted rows. \n//\n// ## Function Requirements\n// - Input data must have _time and _value columns.\n// - All columns other than _time and _value must be part of the group key.\n//\n// ## Parameters\n// - `every` is the duration of time between interpolated points.\n//\n// Interpolate missing data by day\n//\n// ```\n// import \"interpolate\"\n//\n// data\n//   |> interpolate.linear(every: 1d)\n// ```\n// # Input\n// _time | _value\n// --- | ---\n// 2021-01-01T00:00:00Z | 10.0\n// 2021-01-02T00:00:00Z | 20.0\n// 2021-01-04T00:00:00Z | 40.0\n// 2021-01-05T00:00:00Z | 50.0\n// 2021-01-08T00:00:00Z | 80.0\n// 2021-01-09T00:00:00Z | 90.0\n//\n// # Output\n// _time | _value\n// --- | ---\n// 2021-01-01T00:00:00Z | 10.0\n// 2021-01-02T00:00:00Z | 20.0\n// 2021-01-04T00:00:00Z | 40.0\n// 2021-01-05T00:00:00Z | 50.0\n// 2021-01-06T00:00:00Z | 60.0\n// 2021-01-07T00:00:00Z | 70.0\n// 2021-01-08T00:00:00Z | 80.0\n// 2021-01-09T00:00:00Z | 90.0\n//\nbuiltin linear",
				Start: ast.Position{
					Column: 1,
					Line:   3,
				},
			},
		},
		Body: []ast.Statement{&ast.BuiltinStatement{
			BaseNode: ast.BaseNode{
				Comments: []ast.Comment{ast.Comment{Text: "// linear is a function that inserts rows at regular intervals using linear\n"}, ast.Comment{Text: "//  interpolation to determine values for inserted rows. \n"}, ast.Comment{Text: "//\n"}, ast.Comment{Text: "// ## Function Requirements\n"}, ast.Comment{Text: "// - Input data must have _time and _value columns.\n"}, ast.Comment{Text: "// - All columns other than _time and _value must be part of the group key.\n"}, ast.Comment{Text: "//\n"}, ast.Comment{Text: "// ## Parameters\n"}, ast.Comment{Text: "// - `every` is the duration of time between interpolated points.\n"}, ast.Comment{Text: "//\n"}, ast.Comment{Text: "// Interpolate missing data by day\n"}, ast.Comment{Text: "//\n"}, ast.Comment{Text: "// ```\n"}, ast.Comment{Text: "// import \"interpolate\"\n"}, ast.Comment{Text: "//\n"}, ast.Comment{Text: "// data\n"}, ast.Comment{Text: "//   |> interpolate.linear(every: 1d)\n"}, ast.Comment{Text: "// ```\n"}, ast.Comment{Text: "// # Input\n"}, ast.Comment{Text: "// _time | _value\n"}, ast.Comment{Text: "// --- | ---\n"}, ast.Comment{Text: "// 2021-01-01T00:00:00Z | 10.0\n"}, ast.Comment{Text: "// 2021-01-02T00:00:00Z | 20.0\n"}, ast.Comment{Text: "// 2021-01-04T00:00:00Z | 40.0\n"}, ast.Comment{Text: "// 2021-01-05T00:00:00Z | 50.0\n"}, ast.Comment{Text: "// 2021-01-08T00:00:00Z | 80.0\n"}, ast.Comment{Text: "// 2021-01-09T00:00:00Z | 90.0\n"}, ast.Comment{Text: "//\n"}, ast.Comment{Text: "// # Output\n"}, ast.Comment{Text: "// _time | _value\n"}, ast.Comment{Text: "// --- | ---\n"}, ast.Comment{Text: "// 2021-01-01T00:00:00Z | 10.0\n"}, ast.Comment{Text: "// 2021-01-02T00:00:00Z | 20.0\n"}, ast.Comment{Text: "// 2021-01-04T00:00:00Z | 40.0\n"}, ast.Comment{Text: "// 2021-01-05T00:00:00Z | 50.0\n"}, ast.Comment{Text: "// 2021-01-06T00:00:00Z | 60.0\n"}, ast.Comment{Text: "// 2021-01-07T00:00:00Z | 70.0\n"}, ast.Comment{Text: "// 2021-01-08T00:00:00Z | 80.0\n"}, ast.Comment{Text: "// 2021-01-09T00:00:00Z | 90.0\n"}, ast.Comment{Text: "//\n"}},
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 15,
						Line:   46,
					},
					File:   "interpolate.flux",
					Source: "builtin linear",
					Start: ast.Position{
						Column: 1,
						Line:   46,
					},
				},
			},
			Colon: nil,
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 15,
							Line:   46,
						},
						File:   "interpolate.flux",
						Source: "linear",
						Start: ast.Position{
							Column: 9,
							Line:   46,
						},
					},
				},
				Name: "linear",
			},
			Ty: ast.TypeExpression{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 3,
							Line:   55,
						},
						File:   "interpolate.flux",
						Source: "(\n    <-tables: [{T with\n        _time: time,\n        _value: float,\n    }],\n    every: duration,\n) => [{T with\n    _time: time,\n    _value: float,\n}]",
						Start: ast.Position{
							Column: 18,
							Line:   46,
						},
					},
				},
				Constraints: []*ast.TypeConstraint{},
				Ty: &ast.FunctionType{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 3,
								Line:   55,
							},
							File:   "interpolate.flux",
							Source: "(\n    <-tables: [{T with\n        _time: time,\n        _value: float,\n    }],\n    every: duration,\n) => [{T with\n    _time: time,\n    _value: float,\n}]",
							Start: ast.Position{
								Column: 18,
								Line:   46,
							},
						},
					},
					Parameters: []*ast.ParameterType{&ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 7,
									Line:   50,
								},
								File:   "interpolate.flux",
								Source: "<-tables: [{T with\n        _time: time,\n        _value: float,\n    }]",
								Start: ast.Position{
									Column: 5,
									Line:   47,
								},
							},
						},
						Kind: "Pipe",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 13,
										Line:   47,
									},
									File:   "interpolate.flux",
									Source: "tables",
									Start: ast.Position{
										Column: 7,
										Line:   47,
									},
								},
							},
							Name: "tables",
						},
						Ty: &ast.ArrayType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 7,
										Line:   50,
									},
									File:   "interpolate.flux",
									Source: "[{T with\n        _time: time,\n        _value: float,\n    }]",
									Start: ast.Position{
										Column: 15,
										Line:   47,
									},
								},
							},
							ElementType: &ast.RecordType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 6,
											Line:   50,
										},
										File:   "interpolate.flux",
										Source: "{T with\n        _time: time,\n        _value: float,\n    }",
										Start: ast.Position{
											Column: 16,
											Line:   47,
										},
									},
								},
								Properties: []*ast.PropertyType{&ast.PropertyType{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 20,
												Line:   48,
											},
											File:   "interpolate.flux",
											Source: "_time: time",
											Start: ast.Position{
												Column: 9,
												Line:   48,
											},
										},
									},
									Name: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 14,
													Line:   48,
												},
												File:   "interpolate.flux",
												Source: "_time",
												Start: ast.Position{
													Column: 9,
													Line:   48,
												},
											},
										},
										Name: "_time",
									},
									Ty: &ast.NamedType{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 20,
													Line:   48,
												},
												File:   "interpolate.flux",
												Source: "time",
												Start: ast.Position{
													Column: 16,
													Line:   48,
												},
											},
										},
										ID: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 20,
														Line:   48,
													},
													File:   "interpolate.flux",
													Source: "time",
													Start: ast.Position{
														Column: 16,
														Line:   48,
													},
												},
											},
											Name: "time",
										},
									},
								}, &ast.PropertyType{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 22,
												Line:   49,
											},
											File:   "interpolate.flux",
											Source: "_value: float",
											Start: ast.Position{
												Column: 9,
												Line:   49,
											},
										},
									},
									Name: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 15,
													Line:   49,
												},
												File:   "interpolate.flux",
												Source: "_value",
												Start: ast.Position{
													Column: 9,
													Line:   49,
												},
											},
										},
										Name: "_value",
									},
									Ty: &ast.NamedType{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 22,
													Line:   49,
												},
												File:   "interpolate.flux",
												Source: "float",
												Start: ast.Position{
													Column: 17,
													Line:   49,
												},
											},
										},
										ID: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 22,
														Line:   49,
													},
													File:   "interpolate.flux",
													Source: "float",
													Start: ast.Position{
														Column: 17,
														Line:   49,
													},
												},
											},
											Name: "float",
										},
									},
								}},
								Tvar: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 18,
												Line:   47,
											},
											File:   "interpolate.flux",
											Source: "T",
											Start: ast.Position{
												Column: 17,
												Line:   47,
											},
										},
									},
									Name: "T",
								},
							},
						},
					}, &ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 20,
									Line:   51,
								},
								File:   "interpolate.flux",
								Source: "every: duration",
								Start: ast.Position{
									Column: 5,
									Line:   51,
								},
							},
						},
						Kind: "Required",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 10,
										Line:   51,
									},
									File:   "interpolate.flux",
									Source: "every",
									Start: ast.Position{
										Column: 5,
										Line:   51,
									},
								},
							},
							Name: "every",
						},
						Ty: &ast.NamedType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 20,
										Line:   51,
									},
									File:   "interpolate.flux",
									Source: "duration",
									Start: ast.Position{
										Column: 12,
										Line:   51,
									},
								},
							},
							ID: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 20,
											Line:   51,
										},
										File:   "interpolate.flux",
										Source: "duration",
										Start: ast.Position{
											Column: 12,
											Line:   51,
										},
									},
								},
								Name: "duration",
							},
						},
					}},
					Return: &ast.ArrayType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 3,
									Line:   55,
								},
								File:   "interpolate.flux",
								Source: "[{T with\n    _time: time,\n    _value: float,\n}]",
								Start: ast.Position{
									Column: 6,
									Line:   52,
								},
							},
						},
						ElementType: &ast.RecordType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 2,
										Line:   55,
									},
									File:   "interpolate.flux",
									Source: "{T with\n    _time: time,\n    _value: float,\n}",
									Start: ast.Position{
										Column: 7,
										Line:   52,
									},
								},
							},
							Properties: []*ast.PropertyType{&ast.PropertyType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 16,
											Line:   53,
										},
										File:   "interpolate.flux",
										Source: "_time: time",
										Start: ast.Position{
											Column: 5,
											Line:   53,
										},
									},
								},
								Name: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 10,
												Line:   53,
											},
											File:   "interpolate.flux",
											Source: "_time",
											Start: ast.Position{
												Column: 5,
												Line:   53,
											},
										},
									},
									Name: "_time",
								},
								Ty: &ast.NamedType{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 16,
												Line:   53,
											},
											File:   "interpolate.flux",
											Source: "time",
											Start: ast.Position{
												Column: 12,
												Line:   53,
											},
										},
									},
									ID: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 16,
													Line:   53,
												},
												File:   "interpolate.flux",
												Source: "time",
												Start: ast.Position{
													Column: 12,
													Line:   53,
												},
											},
										},
										Name: "time",
									},
								},
							}, &ast.PropertyType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 18,
											Line:   54,
										},
										File:   "interpolate.flux",
										Source: "_value: float",
										Start: ast.Position{
											Column: 5,
											Line:   54,
										},
									},
								},
								Name: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 11,
												Line:   54,
											},
											File:   "interpolate.flux",
											Source: "_value",
											Start: ast.Position{
												Column: 5,
												Line:   54,
											},
										},
									},
									Name: "_value",
								},
								Ty: &ast.NamedType{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 18,
												Line:   54,
											},
											File:   "interpolate.flux",
											Source: "float",
											Start: ast.Position{
												Column: 13,
												Line:   54,
											},
										},
									},
									ID: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 18,
													Line:   54,
												},
												File:   "interpolate.flux",
												Source: "float",
												Start: ast.Position{
													Column: 13,
													Line:   54,
												},
											},
										},
										Name: "float",
									},
								},
							}},
							Tvar: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 9,
											Line:   52,
										},
										File:   "interpolate.flux",
										Source: "T",
										Start: ast.Position{
											Column: 8,
											Line:   52,
										},
									},
								},
								Name: "T",
							},
						},
					},
				},
			},
		}},
		Eof:      nil,
		Imports:  nil,
		Metadata: "parser-type=rust",
		Name:     "interpolate.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: []ast.Comment{ast.Comment{Text: "// Flux interpolate package provides functions that insert rows for missing data\n"}, ast.Comment{Text: "// at regular intervals and estimate values using different interpolation methods.\n"}},
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 20,
						Line:   3,
					},
					File:   "interpolate.flux",
					Source: "package interpolate",
					Start: ast.Position{
						Column: 1,
						Line:   3,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 20,
							Line:   3,
						},
						File:   "interpolate.flux",
						Source: "interpolate",
						Start: ast.Position{
							Column: 9,
							Line:   3,
						},
					},
				},
				Name: "interpolate",
			},
		},
	}},
	Package: "interpolate",
	Path:    "interpolate",
}
