blob: 71c235eda403cc8bade3d3022fb5920928fea746 [file] [log] [blame]
package parser
// START OMIT
type ParsedFunc struct {
text string
eval func(float64) float64
}
func Parse(text string) (*ParsedFunc, error) {
f, err := parse(text)
if err != nil {
return nil, err
}
return &ParsedFunc{text: text, eval: f}, nil
}
func (f *ParsedFunc) Eval(x float64) float64 { return f.eval(x) }
func (f *ParsedFunc) String() string { return f.text }
// END OMIT
func parse(text string) (func(float64) float64, error) {
return func(x float64) float64 { return x }, nil
}