1 for (I = problems ; I->f != 0; I++)
4 double sum = 0, mean, sumd2 = 0, sd, res, err;
13 r = gsl_rng_alloc (gsl_rng_default);
15 for (i = 0; i < TRIALS ; i++)
17 MONTE_STATE *s = MONTE_ALLOC (I->dim);
21 MONTE_INTEGRATE (I->f, I->xl, I->xu,
22 I->dim, I->calls / MONTE_SPEEDUP, r, s,
25 gsl_test_abs (res, I->expected_result,
26 5 * GSL_MAX(err, 1024*GSL_DBL_EPSILON),
27 NAME ", %s, result[%d]", I->description, i);
29 MONTE_ERROR_TEST (err, I->expected_error);
37 for (i = 0; i < TRIALS; i++)
44 for (i = 0; i < TRIALS; i++)
46 sumd2 += pow(result[i] - mean, 2.0);
49 sd = sqrt(sumd2 / (TRIALS-1.0)) ;
51 if (sd < TRIALS * GSL_DBL_EPSILON * fabs (mean))
56 for (i = 0; i < TRIALS; i++)
58 if (sd == 0 && fabs(error[i]) < GSL_DBL_EPSILON * fabs(result[i]))
63 gsl_test_factor (error[i], sd, 5.0,
64 NAME ", %s, abserr[%d] vs sd", I->description, i);