| 62 | } |
| 63 | |
| 64 | static void test_evaluate(LLSModel *lls, const double *param, int order) |
| 65 | { |
| 66 | double refprod, newprod, eps; |
| 67 | declare_func_float(double, LLSModel *, const double *, int); |
| 68 | |
| 69 | refprod = call_ref(lls, param, order); |
| 70 | newprod = call_new(lls, param, order); |
| 71 | |
| 72 | eps = FFMAX(2 * DBL_EPSILON * fabs(refprod), 0.2); |
| 73 | |
| 74 | if (!double_near_abs_eps(refprod, newprod, eps)) { |
| 75 | fprintf(stderr, "%- .12f - %- .12f = % .12g\n", |
| 76 | refprod, newprod, refprod - newprod); |
| 77 | fail(); |
| 78 | } |
| 79 | |
| 80 | if (order == lls->indep_count) |
| 81 | bench_new(lls, param, order); |
| 82 | } |
| 83 | |
| 84 | void checkasm_check_lls(void) |
| 85 | { |
no test coverage detected