| // +build ignore,OMIT | |
| 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 | |
| } |