| 413 | } |
| 414 | |
| 415 | double ff_parse_and_eval_expr(const char *s, const double *const_value, const char * const *const_name, |
| 416 | double (* const *func1)(void *, double), const char * const *func1_name, |
| 417 | double (* const *func2)(void *, double, double), const char * const *func2_name, |
| 418 | void *opaque, const char **error){ |
| 419 | AVExpr * e = ff_parse_expr(s, const_name, func1, func1_name, func2, func2_name, error); |
| 420 | double d; |
| 421 | if (!e) return NAN; |
| 422 | d = ff_eval_expr(e, const_value, opaque); |
| 423 | ff_free_expr(e); |
| 424 | return d; |
| 425 | } |
| 426 | |
| 427 | #ifdef TEST |
| 428 | #undef printf |
no test coverage detected