diff options
Diffstat (limited to 'libavcodec/eval.c')
-rw-r--r-- | libavcodec/eval.c | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/libavcodec/eval.c b/libavcodec/eval.c index ce4d0f5..0eadf1c 100644 --- a/libavcodec/eval.c +++ b/libavcodec/eval.c @@ -369,9 +369,10 @@ static int verify_expr(AVExpr * e) { } } -AVExpr *ff_parse_expr(const char *s, const char * const *const_name, - double (* const *func1)(void *, double), const char * const *func1_name, - double (* const *func2)(void *, double, double), const char * const *func2_name, +AVExpr *ff_parse_expr(const char *s, + const char * const *const_name, + const char * const *func1_name, double (* const *func1)(void *, double), + const char * const *func2_name, double (* const *func2)(void *, double, double), const char **error){ Parser p; AVExpr *e = NULL; @@ -412,11 +413,12 @@ double ff_eval_expr(AVExpr * e, const double *const_value, void *opaque) { return eval_expr(&p, e); } -double ff_parse_and_eval_expr(const char *s, const double *const_value, const char * const *const_name, - double (* const *func1)(void *, double), const char * const *func1_name, - double (* const *func2)(void *, double, double), const char * const *func2_name, +double ff_parse_and_eval_expr(const char *s, + const char * const *const_name, const double *const_value, + const char * const *func1_name, double (* const *func1)(void *, double), + const char * const *func2_name, double (* const *func2)(void *, double, double), void *opaque, const char **error){ - AVExpr * e = ff_parse_expr(s, const_name, func1, func1_name, func2, func2_name, error); + AVExpr *e = ff_parse_expr(s, const_name, func1_name, func1, func2_name, func2, error); double d; if (!e) return NAN; d = ff_eval_expr(e, const_value, opaque); @@ -438,12 +440,12 @@ static const char *const_names[]={ }; int main(void){ int i; - printf("%f == 12.7\n", ff_parse_and_eval_expr("1+(5-2)^(3-1)+1/2+sin(PI)-max(-2.2,-3.1)", const_values, const_names, NULL, NULL, NULL, NULL, NULL, NULL)); - printf("%f == 0.931322575\n", ff_parse_and_eval_expr("80G/80Gi", const_values, const_names, NULL, NULL, NULL, NULL, NULL, NULL)); + printf("%f == 12.7\n", ff_parse_and_eval_expr("1+(5-2)^(3-1)+1/2+sin(PI)-max(-2.2,-3.1)", const_names, const_values, NULL, NULL, NULL, NULL, NULL, NULL)); + printf("%f == 0.931322575\n", ff_parse_and_eval_expr("80G/80Gi", const_names, const_values, NULL, NULL, NULL, NULL, NULL, NULL)); for(i=0; i<1050; i++){ START_TIMER - ff_parse_and_eval_expr("1+(5-2)^(3-1)+1/2+sin(PI)-max(-2.2,-3.1)", const_values, const_names, NULL, NULL, NULL, NULL, NULL, NULL); + ff_parse_and_eval_expr("1+(5-2)^(3-1)+1/2+sin(PI)-max(-2.2,-3.1)", const_names, const_values, NULL, NULL, NULL, NULL, NULL, NULL); STOP_TIMER("ff_parse_and_eval_expr") } return 0; |