| 822 | } |
| 823 | |
| 824 | double av_expr_eval(AVExpr *e, const double *const_values, void *opaque) |
| 825 | { |
| 826 | av_assert1(e->root); |
| 827 | AVExprRoot *r = (AVExprRoot *)e; |
| 828 | Parser p = { |
| 829 | .class = &eval_class, |
| 830 | .const_values = const_values, |
| 831 | .opaque = opaque, |
| 832 | .var = r->var, |
| 833 | .prng_state = r->prng_state, |
| 834 | }; |
| 835 | |
| 836 | return eval_expr(&p, e); |
| 837 | } |
| 838 | |
| 839 | int av_expr_parse_and_eval(double *d, const char *s, |
| 840 | const char * const *const_names, const double *const_values, |
no test coverage detected