diff options
-rw-r--r-- | ChangeLog | 195 | ||||
-rw-r--r-- | math/libm-test.inc | 403 |
2 files changed, 407 insertions, 191 deletions
diff --git a/ChangeLog b/ChangeLog index 82303d5a0b..b595d64220 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,200 @@ 2014-03-05 Joseph Myers <joseph@codesourcery.com> + * math/libm-test.inc (max_valid_error): New variable. + (init_max_error): Take new argument specifying whether function + results are exactly determined. Set max_valid_error and bound + other variables for errors based on this argument. + (set_max_error): Do not record results above max_valid_error. + (check_float_internal): Only accept errors of up to 0.5ulps if + also at most max_valid_error. + (START): Take new argument EXACT and pass it to init_max_error. + (acos_test): Update call to START. + (acos_test_tonearest): Likewise. + (acos_test_towardzero): Likewise. + (acos_test_downward): Likewise. + (acos_test_upward): Likewise. + (acosh_test): Likewise. + (asin_test): Likewise. + (asin_test_tonearest): Likewise. + (asin_test_towardzero): Likewise. + (asin_test_downward): Likewise. + (asin_test_upward): Likewise. + (asinh_test): Likewise. + (atan_test): Likewise. + (atanh_test): Likewise. + (atan2_test): Likewise. + (cabs_test): Likewise. + (cacos_test): Likewise. + (cacosh_test): Likewise. + (carg_test): Likewise. + (casin_test): Likewise. + (casinh_test): Likewise. + (catan_test): Likewise. + (catanh_test): Likewise. + (cbrt_test): Likewise. + (ccos_test): Likewise. + (ccosh_test): Likewise. + (ceil_test): Likewise. + (cexp_test): Likewise. + (cimag_test): Likewise. + (clog_test): Likewise. + (clog10_test): Likewise. + (conj_test): Likewise. + (copysign_test): Likewise. + (cos_test): Likewise. + (cos_test_tonearest): Likewise. + (cos_test_towardzero): Likewise. + (cos_test_downward): Likewise. + (cos_test_upward): Likewise. + (cosh_test): Likewise. + (cosh_test_tonearest): Likewise. + (cosh_test_towardzero): Likewise. + (cosh_test_downward): Likewise. + (cosh_test_upward): Likewise. + (cpow_test): Likewise. + (cproj_test): Likewise. + (creal_test): Likewise. + (csin_test): Likewise. + (csinh_test): Likewise. + (csqrt_test): Likewise. + (ctan_test): Likewise. + (ctan_test_tonearest): Likewise. + (ctan_test_towardzero): Likewise. + (ctan_test_downward): Likewise. + (ctan_test_upward): Likewise. + (ctanh_test): Likewise. + (ctanh_test_tonearest): Likewise. + (ctanh_test_towardzero): Likewise. + (ctanh_test_downward): Likewise. + (ctanh_test_upward): Likewise. + (erf_test): Likewise. + (erfc_test): Likewise. + (exp_test): Likewise. + (exp_test_tonearest): Likewise. + (exp_test_towardzero): Likewise. + (exp_test_downward): Likewise. + (exp_test_upward): Likewise. + (exp10_test): Likewise. + (exp10_test_tonearest): Likewise. + (exp10_test_towardzero): Likewise. + (exp10_test_downward): Likewise. + (exp10_test_upward): Likewise. + (pow10_test): Likewise. + (exp2_test): Likewise. + (expm1_test): Likewise. + (expm1_test_tonearest): Likewise. + (expm1_test_towardzero): Likewise. + (expm1_test_downward): Likewise. + (expm1_test_upward): Likewise. + (fabs_test): Likewise. + (fdim_test): Likewise. + (floor_test): Likewise. + (fma_test): Likewise. + (fma_test_towardzero): Likewise. + (fma_test_downward): Likewise. + (fma_test_upward): Likewise. + (fmax_test): Likewise. + (fmin_test): Likewise. + (fmod_test): Likewise. + (fpclassify_test): Likewise. + (frexp_test): Likewise. + (hypot_test): Likewise. + (ilogb_test): Likewise. + (isfinite_test): Likewise. + (finite_test): Likewise. + (isgreater_test): Likewise. + (isgreaterequal_test): Likewise. + (isinf_test): Likewise. + (isless_test): Likewise. + (islessequal_test): Likewise. + (islessgreater_test): Likewise. + (isnan_test): Likewise. + (isnormal_test): Likewise. + (issignaling_test): Likewise. + (isunordered_test): Likewise. + (j0_test): Likewise. + (j1_test): Likewise. + (jn_test): Likewise. + (ldexp_test): Likewise. + (lgamma_test): Likewise. + (gamma_test): Likewise. + (lrint_test): Likewise. + (lrint_test_tonearest): Likewise. + (lrint_test_towardzero): Likewise. + (lrint_test_downward): Likewise. + (lrint_test_upward): Likewise. + (llrint_test): Likewise. + (llrint_test_tonearest): Likewise. + (llrint_test_towardzero): Likewise. + (llrint_test_downward): Likewise. + (llrint_test_upward): Likewise. + (log_test): Likewise. + (log10_test): Likewise. + (log1p_test): Likewise. + (log2_test): Likewise. + (logb_test): Likewise. + (logb_test_downward): Likewise. + (lround_test): Likewise. + (llround_test): Likewise. + (modf_test): Likewise. + (nearbyint_test): Likewise. + (nextafter_test): Likewise. + (nexttoward_test): Likewise. + (pow_test): Likewise. + (pow_test_tonearest): Likewise. + (pow_test_towardzero): Likewise. + (pow_test_downward): Likewise. + (pow_test_upward): Likewise. + (remainder_test): Likewise. + (drem_test): Likewise. + (remainder_test_tonearest): Likewise. + (drem_test_tonearest): Likewise. + (remainder_test_towardzero): Likewise. + (drem_test_towardzero): Likewise. + (remainder_test_downward): Likewise. + (drem_test_downward): Likewise. + (remainder_test_upward): Likewise. + (drem_test_upward): Likewise. + (remquo_test): Likewise. + (rint_test): Likewise. + (rint_test_tonearest): Likewise. + (rint_test_towardzero): Likewise. + (rint_test_downward): Likewise. + (rint_test_upward): Likewise. + (round_test): Likewise. + (scalb_test): Likewise. + (scalbn_test): Likewise. + (scalbln_test): Likewise. + (signbit_test): Likewise. + (sin_test): Likewise. + (sin_test_tonearest): Likewise. + (sin_test_towardzero): Likewise. + (sin_test_downward): Likewise. + (sin_test_upward): Likewise. + (sincos_test): Likewise. + (sinh_test): Likewise. + (sinh_test_tonearest): Likewise. + (sinh_test_towardzero): Likewise. + (sinh_test_downward): Likewise. + (sinh_test_upward): Likewise. + (sqrt_test): Likewise. + (sqrt_test_tonearest): Likewise. + (sqrt_test_towardzero): Likewise. + (sqrt_test_downward): Likewise. + (sqrt_test_upward): Likewise. + (tan_test): Likewise. + (tan_test_tonearest): Likewise. + (tan_test_towardzero): Likewise. + (tan_test_downward): Likewise. + (tan_test_upward): Likewise. + (tanh_test): Likewise. + (tgamma_test): Likewise. + (trunc_test): Likewise. + (y0_test): Likewise. + (y1_test): Likewise. + (yn_test): Likewise. + (significand_test): Likewise. + * math/libm-test.inc (struct ulp_data): Don't refer to ulps for individual tests in comment. (libm-test-ulps.h): Don't refer to test_ulps in #include comment. diff --git a/math/libm-test.inc b/math/libm-test.inc index f8cd94781e..b1074328f0 100644 --- a/math/libm-test.inc +++ b/math/libm-test.inc @@ -326,6 +326,8 @@ static FLOAT max_error, real_max_error, imag_max_error; static FLOAT prev_max_error, prev_real_max_error, prev_imag_max_error; +static FLOAT max_valid_error; + #define BUILD_COMPLEX(real, imag) \ ({ __complex__ FLOAT __retval; \ __real__ __retval = (real); \ @@ -364,7 +366,7 @@ find_ulps (const char *name, const struct ulp_data *data, size_t nmemb) } static void -init_max_error (const char *name) +init_max_error (const char *name, int exact) { max_error = 0; real_max_error = 0; @@ -377,6 +379,24 @@ init_max_error (const char *name) prev_imag_max_error = find_ulps (name, func_imag_ulps, (sizeof (func_imag_ulps) / sizeof (func_imag_ulps[0]))); +#if TEST_COND_ldbl_128ibm + /* The documented accuracy of IBM long double division is 3ulp (see + libgcc/config/rs6000/ibm-ldouble-format), so do not require + better accuracy for libm functions that are exactly defined for + other formats. */ + max_valid_error = exact ? 3 : 14; +#else + max_valid_error = exact ? 0 : 9; +#endif + prev_max_error = (prev_max_error <= max_valid_error + ? prev_max_error + : max_valid_error); + prev_real_max_error = (prev_real_max_error <= max_valid_error + ? prev_real_max_error + : max_valid_error); + prev_imag_max_error = (prev_imag_max_error <= max_valid_error + ? prev_imag_max_error + : max_valid_error); feclearexcept (FE_ALL_EXCEPT); errno = 0; } @@ -384,7 +404,7 @@ init_max_error (const char *name) static void set_max_error (FLOAT current, FLOAT *curr_max_error) { - if (current > *curr_max_error) + if (current > *curr_max_error && current <= max_valid_error) *curr_max_error = current; } @@ -798,7 +818,8 @@ check_float_internal (const char *test_name, FLOAT computed, FLOAT expected, && computed == 0.0 && expected == 0.0 && signbit(computed) != signbit (expected)) ok = 0; - else if (ulps <= 0.5 || (ulps <= max_ulp && !ignore_max_ulp)) + else if ((ulps <= 0.5 && ulps <= max_valid_error) + || (ulps <= max_ulp && !ignore_max_ulp)) ok = 1; else ok = 0; @@ -1585,9 +1606,9 @@ struct test_fFF_11_data ROUND_RESTORE_ ## ROUNDING_MODE /* Start and end the tests for a given function. */ -#define START(FUNC) \ +#define START(FUNC, EXACT) \ const char *this_func = #FUNC; \ - init_max_error (this_func) + init_max_error (this_func, EXACT) #define END \ print_max_error (this_func) #define END_COMPLEX \ @@ -1624,7 +1645,7 @@ static const struct test_f_f_data acos_test_data[] = static void acos_test (void) { - START (acos); + START (acos, 0); RUN_TEST_LOOP_f_f (acos, acos_test_data, ); END; } @@ -1638,7 +1659,7 @@ static const struct test_f_f_data acos_tonearest_test_data[] = static void acos_test_tonearest (void) { - START (acos_tonearest); + START (acos_tonearest, 0); RUN_TEST_LOOP_f_f (acos, acos_tonearest_test_data, FE_TONEAREST); END; } @@ -1652,7 +1673,7 @@ static const struct test_f_f_data acos_towardzero_test_data[] = static void acos_test_towardzero (void) { - START (acos_towardzero); + START (acos_towardzero, 0); RUN_TEST_LOOP_f_f (acos, acos_towardzero_test_data, FE_TOWARDZERO); END; } @@ -1666,7 +1687,7 @@ static const struct test_f_f_data acos_downward_test_data[] = static void acos_test_downward (void) { - START (acos_downward); + START (acos_downward, 0); RUN_TEST_LOOP_f_f (acos, acos_downward_test_data, FE_DOWNWARD); END; } @@ -1680,7 +1701,7 @@ static const struct test_f_f_data acos_upward_test_data[] = static void acos_test_upward (void) { - START (acos_upward); + START (acos_upward, 0); RUN_TEST_LOOP_f_f (acos, acos_upward_test_data, FE_UPWARD); END; } @@ -1708,7 +1729,7 @@ static const struct test_f_f_data acosh_test_data[] = static void acosh_test (void) { - START (acosh); + START (acosh, 0); RUN_TEST_LOOP_f_f (acosh, acosh_test_data, ); END; } @@ -1731,7 +1752,7 @@ static const struct test_f_f_data asin_test_data[] = static void asin_test (void) { - START (asin); + START (asin, 0); RUN_TEST_LOOP_f_f (asin, asin_test_data, ); END; } @@ -1745,7 +1766,7 @@ static const struct test_f_f_data asin_tonearest_test_data[] = static void asin_test_tonearest (void) { - START (asin_tonearest); + START (asin_tonearest, 0); RUN_TEST_LOOP_f_f (asin, asin_tonearest_test_data, FE_TONEAREST); END; } @@ -1759,7 +1780,7 @@ static const struct test_f_f_data asin_towardzero_test_data[] = static void asin_test_towardzero (void) { - START (asin_towardzero); + START (asin_towardzero, 0); RUN_TEST_LOOP_f_f (asin, asin_towardzero_test_data, FE_TOWARDZERO); END; } @@ -1773,7 +1794,7 @@ static const struct test_f_f_data asin_downward_test_data[] = static void asin_test_downward (void) { - START (asin_downward); + START (asin_downward, 0); RUN_TEST_LOOP_f_f (asin, asin_downward_test_data, FE_DOWNWARD); END; } @@ -1787,7 +1808,7 @@ static const struct test_f_f_data asin_upward_test_data[] = static void asin_test_upward (void) { - START (asin_upward); + START (asin_upward, 0); RUN_TEST_LOOP_f_f (asin, asin_upward_test_data, FE_UPWARD); END; } @@ -1803,7 +1824,7 @@ static const struct test_f_f_data asinh_test_data[] = static void asinh_test (void) { - START (asinh); + START (asinh, 0); RUN_TEST_LOOP_f_f (asinh, asinh_test_data, ); END; } @@ -1820,7 +1841,7 @@ static const struct test_f_f_data atan_test_data[] = static void atan_test (void) { - START (atan); + START (atan, 0); RUN_TEST_LOOP_f_f (atan, atan_test_data, ); END; } @@ -1847,7 +1868,7 @@ static const struct test_f_f_data atanh_test_data[] = static void atanh_test (void) { - START (atanh); + START (atanh, 0); RUN_TEST_LOOP_f_f (atanh, atanh_test_data, ); END; } @@ -1884,7 +1905,7 @@ static const struct test_ff_f_data atan2_test_data[] = static void atan2_test (void) { - START (atan2); + START (atan2, 0); RUN_TEST_LOOP_ff_f (atan2, atan2_test_data, ); END; } @@ -1909,7 +1930,7 @@ static const struct test_c_f_data cabs_test_data[] = static void cabs_test (void) { - START (cabs); + START (cabs, 0); RUN_TEST_LOOP_c_f (cabs, cabs_test_data, ); END; } @@ -2600,7 +2621,7 @@ static const struct test_c_c_data cacos_test_data[] = static void cacos_test (void) { - START (cacos); + START (cacos, 0); RUN_TEST_LOOP_c_c (cacos, cacos_test_data, ); END_COMPLEX; } @@ -3284,7 +3305,7 @@ static const struct test_c_c_data cacosh_test_data[] = static void cacosh_test (void) { - START (cacosh); + START (cacosh, 0); RUN_TEST_LOOP_c_c (cacosh, cacosh_test_data, ); END_COMPLEX; } @@ -3328,7 +3349,7 @@ static const struct test_c_f_data carg_test_data[] = static void carg_test (void) { - START (carg); + START (carg, 0); RUN_TEST_LOOP_c_f (carg, carg_test_data, ); END; } @@ -4024,7 +4045,7 @@ static const struct test_c_c_data casin_test_data[] = static void casin_test (void) { - START (casin); + START (casin, 0); RUN_TEST_LOOP_c_c (casin, casin_test_data, ); END_COMPLEX; } @@ -4721,7 +4742,7 @@ static const struct test_c_c_data casinh_test_data[] = static void casinh_test (void) { - START (casinh); + START (casinh, 0); RUN_TEST_LOOP_c_c (casinh, casinh_test_data, ); END_COMPLEX; } @@ -5230,7 +5251,7 @@ static const struct test_c_c_data catan_test_data[] = static void catan_test (void) { - START (catan); + START (catan, 0); RUN_TEST_LOOP_c_c (catan, catan_test_data, ); END_COMPLEX; } @@ -5737,7 +5758,7 @@ static const struct test_c_c_data catanh_test_data[] = static void catanh_test (void) { - START (catanh); + START (catanh, 0); RUN_TEST_LOOP_c_c (catanh, catanh_test_data, ); END_COMPLEX; } @@ -5754,7 +5775,7 @@ static const struct test_f_f_data cbrt_test_data[] = static void cbrt_test (void) { - START (cbrt); + START (cbrt, 0); RUN_TEST_LOOP_f_f (cbrt, cbrt_test_data, ); END; } @@ -5813,7 +5834,7 @@ static const struct test_c_c_data ccos_test_data[] = static void ccos_test (void) { - START (ccos); + START (ccos, 0); RUN_TEST_LOOP_c_c (ccos, ccos_test_data, ); END_COMPLEX; } @@ -5872,7 +5893,7 @@ static const struct test_c_c_data ccosh_test_data[] = static void ccosh_test (void) { - START (ccosh); + START (ccosh, 0); RUN_TEST_LOOP_c_c (ccosh, ccosh_test_data, ); END_COMPLEX; } @@ -5976,7 +5997,7 @@ static const struct test_f_f_data ceil_test_data[] = static void ceil_test (void) { - START (ceil); + START (ceil, 1); RUN_TEST_LOOP_f_f (ceil, ceil_test_data, ); END; } @@ -6032,7 +6053,7 @@ static const struct test_c_c_data cexp_test_data[] = static void cexp_test (void) { - START (cexp); + START (cexp, 0); RUN_TEST_LOOP_c_c (cexp, cexp_test_data, ); END_COMPLEX; } @@ -6052,7 +6073,7 @@ static const struct test_c_f_data cimag_test_data[] = static void cimag_test (void) { - START (cimag); + START (cimag, 1); RUN_TEST_LOOP_c_f (cimag, cimag_test_data, ); END; } @@ -6114,7 +6135,7 @@ static const struct test_c_c_data clog_test_data[] = static void clog_test (void) { - START (clog); + START (clog, 0); RUN_TEST_LOOP_c_c (clog, clog_test_data, ); END_COMPLEX; } @@ -6176,7 +6197,7 @@ static const struct test_c_c_data clog10_test_data[] = static void clog10_test (void) { - START (clog10); + START (clog10, 0); RUN_TEST_LOOP_c_c (clog10, clog10_test_data, ); END_COMPLEX; } @@ -6196,7 +6217,7 @@ static const struct test_c_c_data conj_test_data[] = static void conj_test (void) { - START (conj); + START (conj, 1); RUN_TEST_LOOP_c_c (conj, conj_test_data, ); END_COMPLEX; } @@ -6248,7 +6269,7 @@ static const struct test_ff_f_data copysign_test_data[] = static void copysign_test (void) { - START (copysign); + START (copysign, 1); RUN_TEST_LOOP_ff_f (copysign, copysign_test_data, ); END; } @@ -6266,7 +6287,7 @@ static const struct test_f_f_data cos_test_data[] = static void cos_test (void) { - START (cos); + START (cos, 0); RUN_TEST_LOOP_f_f (cos, cos_test_data, ); END; } @@ -6280,7 +6301,7 @@ static const struct test_f_f_data cos_tonearest_test_data[] = static void cos_test_tonearest (void) { - START (cos_tonearest); + START (cos_tonearest, 0); RUN_TEST_LOOP_f_f (cos, cos_tonearest_test_data, FE_TONEAREST); END; } @@ -6294,7 +6315,7 @@ static const struct test_f_f_data cos_towardzero_test_data[] = static void cos_test_towardzero (void) { - START (cos_towardzero); + START (cos_towardzero, 0); RUN_TEST_LOOP_f_f (cos, cos_towardzero_test_data, FE_TOWARDZERO); END; } @@ -6308,7 +6329,7 @@ static const struct test_f_f_data cos_downward_test_data[] = static void cos_test_downward (void) { - START (cos_downward); + START (cos_downward, 0); RUN_TEST_LOOP_f_f (cos, cos_downward_test_data, FE_DOWNWARD); END; } @@ -6322,7 +6343,7 @@ static const struct test_f_f_data cos_upward_test_data[] = static void cos_test_upward (void) { - START (cos_upward); + START (cos_upward, 0); RUN_TEST_LOOP_f_f (cos, cos_upward_test_data, FE_UPWARD); END; } @@ -6340,7 +6361,7 @@ static const struct test_f_f_data cosh_test_data[] = static void cosh_test (void) { - START (cosh); + START (cosh, 0); RUN_TEST_LOOP_f_f (cosh, cosh_test_data, ); END; } @@ -6354,7 +6375,7 @@ static const struct test_f_f_data cosh_tonearest_test_data[] = static void cosh_test_tonearest (void) { - START (cosh_tonearest); + START (cosh_tonearest, 0); RUN_TEST_LOOP_f_f (cosh, cosh_tonearest_test_data, FE_TONEAREST); END; } @@ -6368,7 +6389,7 @@ static const struct test_f_f_data cosh_towardzero_test_data[] = static void cosh_test_towardzero (void) { - START (cosh_towardzero); + START (cosh_towardzero, 0); RUN_TEST_LOOP_f_f (cosh, cosh_towardzero_test_data, FE_TOWARDZERO); END; } @@ -6382,7 +6403,7 @@ static const struct test_f_f_data cosh_downward_test_data[] = static void cosh_test_downward (void) { - START (cosh_downward); + START (cosh_downward, 0); RUN_TEST_LOOP_f_f (cosh, cosh_downward_test_data, FE_DOWNWARD); END; } @@ -6396,7 +6417,7 @@ static const struct test_f_f_data cosh_upward_test_data[] = static void cosh_test_upward (void) { - START (cosh_upward); + START (cosh_upward, 0); RUN_TEST_LOOP_f_f (cosh, cosh_upward_test_data, FE_UPWARD); END; } @@ -6412,7 +6433,7 @@ static const struct test_cc_c_data cpow_test_data[] = static void cpow_test (void) { - START (cpow); + START (cpow, 0); RUN_TEST_LOOP_cc_c (cpow, cpow_test_data, ); END_COMPLEX; } @@ -6479,7 +6500,7 @@ static const struct test_c_c_data cproj_test_data[] = static void cproj_test (void) { - START (cproj); + START (cproj, 1); RUN_TEST_LOOP_c_c (cproj, cproj_test_data, ); END_COMPLEX; } @@ -6499,7 +6520,7 @@ static const struct test_c_f_data creal_test_data[] = static void creal_test (void) { - START (creal); + START (creal, 1); RUN_TEST_LOOP_c_f (creal, creal_test_data, ); END; } @@ -6597,7 +6618,7 @@ static const struct test_c_c_data csin_test_data[] = static void csin_test (void) { - START (csin); + START (csin, 0); RUN_TEST_LOOP_c_c (csin, csin_test_data, ); END_COMPLEX; } @@ -6696,7 +6717,7 @@ static const struct test_c_c_data csinh_test_data[] = static void csinh_test (void) { - START (csinh); + START (csinh, 0); RUN_TEST_LOOP_c_c (csinh, csinh_test_data, ); END_COMPLEX; } @@ -6749,7 +6770,7 @@ static const struct test_c_c_data csqrt_test_data[] = static void csqrt_test (void) { - START (csqrt); + START (csqrt, 0); RUN_TEST_LOOP_c_c (csqrt, csqrt_test_data, ); END_COMPLEX; } @@ -6797,7 +6818,7 @@ static const struct test_c_c_data ctan_test_data[] = static void ctan_test (void) { - START (ctan); + START (ctan, 0); RUN_TEST_LOOP_c_c (ctan, ctan_test_data, ); END_COMPLEX; } @@ -6811,7 +6832,7 @@ static const struct test_c_c_data ctan_tonearest_test_data[] = static void ctan_test_tonearest (void) { - START (ctan_tonearest); + START (ctan_tonearest, 0); RUN_TEST_LOOP_c_c (ctan, ctan_tonearest_test_data, FE_TONEAREST); END_COMPLEX; } @@ -6825,7 +6846,7 @@ static const struct test_c_c_data ctan_towardzero_test_data[] = static void ctan_test_towardzero (void) { - START (ctan_towardzero); + START (ctan_towardzero, 0); RUN_TEST_LOOP_c_c (ctan, ctan_towardzero_test_data, FE_TOWARDZERO); END_COMPLEX; } @@ -6839,7 +6860,7 @@ static const struct test_c_c_data ctan_downward_test_data[] = static void ctan_test_downward (void) { - START (ctan_downward); + START (ctan_downward, 0); RUN_TEST_LOOP_c_c (ctan, ctan_downward_test_data, FE_DOWNWARD); END_COMPLEX; } @@ -6853,7 +6874,7 @@ static const struct test_c_c_data ctan_upward_test_data[] = static void ctan_test_upward (void) { - START (ctan_upward); + START (ctan_upward, 0); RUN_TEST_LOOP_c_c (ctan, ctan_upward_test_data, FE_UPWARD); END_COMPLEX; } @@ -6901,7 +6922,7 @@ static const struct test_c_c_data ctanh_test_data[] = static void ctanh_test (void) { - START (ctanh); + START (ctanh, 0); RUN_TEST_LOOP_c_c (ctanh, ctanh_test_data, ); END_COMPLEX; } @@ -6915,7 +6936,7 @@ static const struct test_c_c_data ctanh_tonearest_test_data[] = static void ctanh_test_tonearest (void) { - START (ctanh_tonearest); + START (ctanh_tonearest, 0); RUN_TEST_LOOP_c_c (ctanh, ctanh_tonearest_test_data, FE_TONEAREST); END_COMPLEX; } @@ -6929,7 +6950,7 @@ static const struct test_c_c_data ctanh_towardzero_test_data[] = static void ctanh_test_towardzero (void) { - START (ctanh_towardzero); + START (ctanh_towardzero, 0); RUN_TEST_LOOP_c_c (ctanh, ctanh_towardzero_test_data, FE_TOWARDZERO); END_COMPLEX; } @@ -6943,7 +6964,7 @@ static const struct test_c_c_data ctanh_downward_test_data[] = static void ctanh_test_downward (void) { - START (ctanh_downward); + START (ctanh_downward, 0); RUN_TEST_LOOP_c_c (ctanh, ctanh_downward_test_data, FE_DOWNWARD); END_COMPLEX; } @@ -6957,7 +6978,7 @@ static const struct test_c_c_data ctanh_upward_test_data[] = static void ctanh_test_upward (void) { - START (ctanh_upward); + START (ctanh_upward, 0); RUN_TEST_LOOP_c_c (ctanh, ctanh_upward_test_data, FE_UPWARD); END_COMPLEX; } @@ -6975,7 +6996,7 @@ static const struct test_f_f_data erf_test_data[] = static void erf_test (void) { - START (erf); + START (erf, 0); RUN_TEST_LOOP_f_f (erf, erf_test_data, ); END; } @@ -6993,7 +7014,7 @@ static const struct test_f_f_data erfc_test_data[] = static void erfc_test (void) { - START (erfc); + START (erfc, 0); RUN_TEST_LOOP_f_f (erfc, erfc_test_data, ); END; } @@ -7011,7 +7032,7 @@ static const struct test_f_f_data exp_test_data[] = static void exp_test (void) { - START (exp); + START (exp, 0); RUN_TEST_LOOP_f_f (exp, exp_test_data, ); END; } @@ -7025,7 +7046,7 @@ static const struct test_f_f_data exp_tonearest_test_data[] = static void exp_test_tonearest (void) { - START (exp_tonearest); + START (exp_tonearest, 0); RUN_TEST_LOOP_f_f (exp, exp_tonearest_test_data, FE_TONEAREST); END; } @@ -7039,7 +7060,7 @@ static const struct test_f_f_data exp_towardzero_test_data[] = static void exp_test_towardzero (void) { - START (exp_towardzero); + START (exp_towardzero, 0); RUN_TEST_LOOP_f_f (exp, exp_towardzero_test_data, FE_TOWARDZERO); END; } @@ -7053,7 +7074,7 @@ static const struct test_f_f_data exp_downward_test_data[] = static void exp_test_downward (void) { - START (exp_downward); + START (exp_downward, 0); RUN_TEST_LOOP_f_f (exp, exp_downward_test_data, FE_DOWNWARD); END; } @@ -7067,7 +7088,7 @@ static const struct test_f_f_data exp_upward_test_data[] = static void exp_test_upward (void) { - START (exp_upward); + START (exp_upward, 0); RUN_TEST_LOOP_f_f (exp, exp_upward_test_data, FE_UPWARD); END; } @@ -7085,7 +7106,7 @@ static const struct test_f_f_data exp10_test_data[] = static void exp10_test (void) { - START (exp10); + START (exp10, 0); RUN_TEST_LOOP_f_f (exp10, exp10_test_data, ); END; } @@ -7099,7 +7120,7 @@ static const struct test_f_f_data exp10_tonearest_test_data[] = static void exp10_test_tonearest (void) { - START (exp10_tonearest); + START (exp10_tonearest, 0); RUN_TEST_LOOP_f_f (exp10, exp10_tonearest_test_data, FE_TONEAREST); END; } @@ -7113,7 +7134,7 @@ static const struct test_f_f_data exp10_towardzero_test_data[] = static void exp10_test_towardzero (void) { - START (exp10_towardzero); + START (exp10_towardzero, 0); RUN_TEST_LOOP_f_f (exp10, exp10_towardzero_test_data, FE_TOWARDZERO); END; } @@ -7127,7 +7148,7 @@ static const struct test_f_f_data exp10_downward_test_data[] = static void exp10_test_downward (void) { - START (exp10_downward); + START (exp10_downward, 0); RUN_TEST_LOOP_f_f (exp10, exp10_downward_test_data, FE_DOWNWARD); END; } @@ -7141,7 +7162,7 @@ static const struct test_f_f_data exp10_upward_test_data[] = static void exp10_test_upward (void) { - START (exp10_upward); + START (exp10_upward, 0); RUN_TEST_LOOP_f_f (exp10, exp10_upward_test_data, FE_UPWARD); END; } @@ -7149,7 +7170,7 @@ exp10_test_upward (void) static void pow10_test (void) { - START (pow10); + START (pow10, 0); /* pow10 uses the same test data as exp10. */ RUN_TEST_LOOP_f_f (pow10, exp10_test_data, ); END; @@ -7168,7 +7189,7 @@ static const struct test_f_f_data exp2_test_data[] = static void exp2_test (void) { - START (exp2); + START (exp2, 0); RUN_TEST_LOOP_f_f (exp2, exp2_test_data, ); END; } @@ -7186,7 +7207,7 @@ static const struct test_f_f_data expm1_test_data[] = static void expm1_test (void) { - START (expm1); + START (expm1, 0); RUN_TEST_LOOP_f_f (expm1, expm1_test_data, ); END; } @@ -7200,7 +7221,7 @@ static const struct test_f_f_data expm1_tonearest_test_data[] = static void expm1_test_tonearest (void) { - START (expm1_tonearest); + START (expm1_tonearest, 0); RUN_TEST_LOOP_f_f (expm1, expm1_tonearest_test_data, FE_TONEAREST); END; } @@ -7214,7 +7235,7 @@ static const struct test_f_f_data expm1_towardzero_test_data[] = static void expm1_test_towardzero (void) { - START (expm1_towardzero); + START (expm1_towardzero, 0); RUN_TEST_LOOP_f_f (expm1, expm1_towardzero_test_data, FE_TOWARDZERO); END; } @@ -7228,7 +7249,7 @@ static const struct test_f_f_data expm1_downward_test_data[] = static void expm1_test_downward (void) { - START (expm1_downward); + START (expm1_downward, 0); RUN_TEST_LOOP_f_f (expm1, expm1_downward_test_data, FE_DOWNWARD); END; } @@ -7242,7 +7263,7 @@ static const struct test_f_f_data expm1_upward_test_data[] = static void expm1_test_upward (void) { - START (expm1_upward); + START (expm1_upward, 0); RUN_TEST_LOOP_f_f (expm1, expm1_upward_test_data, FE_UPWARD); END; } @@ -7265,7 +7286,7 @@ static const struct test_f_f_data fabs_test_data[] = static void fabs_test (void) { - START (fabs); + START (fabs, 1); RUN_TEST_LOOP_f_f (fabs, fabs_test_data, ); END; } @@ -7309,7 +7330,7 @@ static const struct test_ff_f_data fdim_test_data[] = static void fdim_test (void) { - START (fdim); + START (fdim, 1); RUN_TEST_LOOP_ff_f (fdim, fdim_test_data, ); END; } @@ -7414,7 +7435,7 @@ static const struct test_f_f_data floor_test_data[] = static void floor_test (void) { - START (floor); + START (floor, 1); RUN_TEST_LOOP_f_f (floor, floor_test_data, ); END; } @@ -7458,7 +7479,7 @@ static const struct test_fff_f_data fma_test_data[] = static void fma_test (void) { - START (fma); + START (fma, 1); RUN_TEST_LOOP_fff_f (fma, fma_test_data, ); END; } @@ -7472,7 +7493,7 @@ static const struct test_fff_f_data fma_towardzero_test_data[] = static void fma_test_towardzero (void) { - START (fma_towardzero); + START (fma_towardzero, 1); RUN_TEST_LOOP_fff_f (fma, fma_towardzero_test_data, FE_TOWARDZERO); END; } @@ -7486,7 +7507,7 @@ static const struct test_fff_f_data fma_downward_test_data[] = static void fma_test_downward (void) { - START (fma_downward); + START (fma_downward, 1); RUN_TEST_LOOP_fff_f (fma, fma_downward_test_data, FE_DOWNWARD); END; } @@ -7500,7 +7521,7 @@ static const struct test_fff_f_data fma_upward_test_data[] = static void fma_test_upward (void) { - START (fma_upward); + START (fma_upward, 1); RUN_TEST_LOOP_fff_f (fma, fma_upward_test_data, FE_UPWARD); END; } @@ -7541,7 +7562,7 @@ static const struct test_ff_f_data fmax_test_data[] = static void fmax_test (void) { - START (fmax); + START (fmax, 1); RUN_TEST_LOOP_ff_f (fmax, fmax_test_data, ); END; } @@ -7581,7 +7602,7 @@ static const struct test_ff_f_data fmin_test_data[] = static void fmin_test (void) { - START (fmin); + START (fmin, 1); RUN_TEST_LOOP_ff_f (fmin, fmin_test_data, ); END; } @@ -7635,7 +7656,7 @@ static const struct test_ff_f_data fmod_test_data[] = static void fmod_test (void) { - START (fmod); + START (fmod, 1); RUN_TEST_LOOP_ff_f (fmod, fmod_test_data, ); END; } @@ -7655,7 +7676,7 @@ static const struct test_f_i_data fpclassify_test_data[] = static void fpclassify_test (void) { - START (fpclassify); + START (fpclassify, 1); RUN_TEST_LOOP_f_i_tg (fpclassify, fpclassify_test_data, ); END; } @@ -7679,7 +7700,7 @@ frexp_test (void) { int x; - START (frexp); + START (frexp, 1); RUN_TEST_LOOP_fI_f1 (frexp, frexp_test_data, , x); END; } @@ -7702,7 +7723,7 @@ static const struct test_ff_f_data hypot_test_data[] = static void hypot_test (void) { - START (hypot); + START (hypot, 0); RUN_TEST_LOOP_ff_f (hypot, hypot_test_data, ); END; } @@ -7728,7 +7749,7 @@ static const struct test_f_i_data ilogb_test_data[] = static void ilogb_test (void) { - START (ilogb); + START (ilogb, 1); RUN_TEST_LOOP_f_i (ilogb, ilogb_test_data, ); END; } @@ -7747,7 +7768,7 @@ static const struct test_f_i_data isfinite_test_data[] = static void isfinite_test (void) { - START (isfinite); + START (isfinite, 1); RUN_TEST_LOOP_f_b_tg (isfinite, isfinite_test_data, ); END; } @@ -7755,7 +7776,7 @@ isfinite_test (void) static void finite_test (void) { - START (finite); + START (finite, 1); /* finite uses the same test data as isfinite. */ RUN_TEST_LOOP_f_b (finite, isfinite_test_data, ); END; @@ -7784,7 +7805,7 @@ static const struct test_ff_i_data isgreater_test_data[] = static void isgreater_test (void) { - START (isgreater); + START (isgreater, 1); RUN_TEST_LOOP_ff_i_tg (isgreater, isgreater_test_data, ); END; } @@ -7812,7 +7833,7 @@ static const struct test_ff_i_data isgreaterequal_test_data[] = static void isgreaterequal_test (void) { - START (isgreaterequal); + START (isgreaterequal, 1); RUN_TEST_LOOP_ff_i_tg (isgreaterequal, isgreaterequal_test_data, ); END; } @@ -7831,7 +7852,7 @@ static const struct test_f_i_data isinf_test_data[] = static void isinf_test (void) { - START (isinf); + START (isinf, 1); RUN_TEST_LOOP_f_b_tg (isinf, isinf_test_data, ); END; } @@ -7859,7 +7880,7 @@ static const struct test_ff_i_data isless_test_data[] = static void isless_test (void) { - START (isless); + START (isless, 1); RUN_TEST_LOOP_ff_i_tg (isless, isless_test_data, ); END; } @@ -7887,7 +7908,7 @@ static const struct test_ff_i_data islessequal_test_data[] = static void islessequal_test (void) { - START (islessequal); + START (islessequal, 1); RUN_TEST_LOOP_ff_i_tg (islessequal, islessequal_test_data, ); END; } @@ -7915,7 +7936,7 @@ static const struct test_ff_i_data islessgreater_test_data[] = static void islessgreater_test (void) { - START (islessgreater); + START (islessgreater, 1); RUN_TEST_LOOP_ff_i_tg (islessgreater, islessgreater_test_data, ); END; } @@ -7934,7 +7955,7 @@ static const struct test_f_i_data isnan_test_data[] = static void isnan_test (void) { - START (isnan); + START (isnan, 1); RUN_TEST_LOOP_f_b_tg (isnan, isnan_test_data, ); END; } @@ -7953,7 +7974,7 @@ static const struct test_f_i_data isnormal_test_data[] = static void isnormal_test (void) { - START (isnormal); + START (isnormal, 1); RUN_TEST_LOOP_f_b_tg (isnormal, isnormal_test_data, ); END; } @@ -7972,7 +7993,7 @@ static const struct test_f_i_data issignaling_test_data[] = static void issignaling_test (void) { - START (issignaling); + START (issignaling, 1); RUN_TEST_LOOP_f_b_tg (issignaling, issignaling_test_data, ); END; } @@ -8000,7 +8021,7 @@ static const struct test_ff_i_data isunordered_test_data[] = static void isunordered_test (void) { - START (isunordered); + START (isunordered, 1); RUN_TEST_LOOP_ff_i_tg (isunordered, isunordered_test_data, ); END; } @@ -8017,7 +8038,7 @@ static const struct test_f_f_data j0_test_data[] = static void j0_test (void) { - START (j0); + START (j0, 0); RUN_TEST_LOOP_f_f (j0, j0_test_data, ); END; } @@ -8035,7 +8056,7 @@ static const struct test_f_f_data j1_test_data[] = static void j1_test (void) { - START (j1); + START (j1, 0); RUN_TEST_LOOP_f_f (j1, j1_test_data, ); END; } @@ -8065,7 +8086,7 @@ static const struct test_if_f_data jn_test_data[] = static void jn_test (void) { - START (jn); + START (jn, 0); RUN_TEST_LOOP_if_f (jn, jn_test_data, ); END; } @@ -8090,7 +8111,7 @@ static const struct test_fi_f_data ldexp_test_data[] = static void ldexp_test (void) { - START (ldexp); + START (ldexp, 1); RUN_TEST_LOOP_fi_f (ldexp, ldexp_test_data, ); END; } @@ -8114,7 +8135,7 @@ static const struct test_f_f1_data lgamma_test_data[] = static void lgamma_test (void) { - START (lgamma); + START (lgamma, 0); RUN_TEST_LOOP_f_f1 (lgamma, lgamma_test_data, , signgam); END; } @@ -8122,7 +8143,7 @@ lgamma_test (void) static void gamma_test (void) { - START (gamma); + START (gamma, 0); /* gamma uses the same test data as lgamma. */ RUN_TEST_LOOP_f_f1 (gamma, lgamma_test_data, , signgam); END; @@ -8160,7 +8181,7 @@ static const struct test_f_l_data lrint_test_data[] = static void lrint_test (void) { - START (lrint); + START (lrint, 1); RUN_TEST_LOOP_f_l (lrint, lrint_test_data, ); END; } @@ -8198,7 +8219,7 @@ static const struct test_f_l_data lrint_tonearest_test_data[] = static void lrint_test_tonearest (void) { - START (lrint_tonearest); + START (lrint_tonearest, 1); RUN_TEST_LOOP_f_l (lrint, lrint_tonearest_test_data, FE_TONEAREST); END; } @@ -8236,7 +8257,7 @@ static const struct test_f_l_data lrint_towardzero_test_data[] = static void lrint_test_towardzero (void) { - START (lrint_towardzero); + START (lrint_towardzero, 1); RUN_TEST_LOOP_f_l (lrint, lrint_towardzero_test_data, FE_TOWARDZERO); END; } @@ -8274,7 +8295,7 @@ static const struct test_f_l_data lrint_downward_test_data[] = static void lrint_test_downward (void) { - START (lrint_downward); + START (lrint_downward, 1); RUN_TEST_LOOP_f_l (lrint, lrint_downward_test_data, FE_DOWNWARD); END; } @@ -8312,7 +8333,7 @@ static const struct test_f_l_data lrint_upward_test_data[] = static void lrint_test_upward (void) { - START (lrint_upward); + START (lrint_upward, 1); RUN_TEST_LOOP_f_l (lrint, lrint_upward_test_data, FE_UPWARD); END; } @@ -8454,7 +8475,7 @@ static const struct test_f_L_data llrint_test_data[] = static void llrint_test (void) { - START (llrint); + START (llrint, 1); RUN_TEST_LOOP_f_L (llrint, llrint_test_data, ); END; } @@ -8592,7 +8613,7 @@ static const struct test_f_L_data llrint_tonearest_test_data[] = static void llrint_test_tonearest (void) { - START (llrint_tonearest); + START (llrint_tonearest, 1); RUN_TEST_LOOP_f_L (llrint, llrint_tonearest_test_data, FE_TONEAREST); END; } @@ -8730,7 +8751,7 @@ static const struct test_f_L_data llrint_towardzero_test_data[] = static void llrint_test_towardzero (void) { - START (llrint_towardzero); + START (llrint_towardzero, 1); RUN_TEST_LOOP_f_L (llrint, llrint_towardzero_test_data, FE_TOWARDZERO); END; } @@ -8864,7 +8885,7 @@ static const struct test_f_L_data llrint_downward_test_data[] = static void llrint_test_downward (void) { - START (llrint_downward); + START (llrint_downward, 1); RUN_TEST_LOOP_f_L (llrint, llrint_downward_test_data, FE_DOWNWARD); END; } @@ -8996,7 +9017,7 @@ static const struct test_f_L_data llrint_upward_test_data[] = static void llrint_test_upward (void) { - START (llrint_upward); + START (llrint_upward, 1); RUN_TEST_LOOP_f_L (llrint, llrint_upward_test_data, FE_UPWARD); END; } @@ -9019,7 +9040,7 @@ static const struct test_f_f_data log_test_data[] = static void log_test (void) { - START (log); + START (log, 0); RUN_TEST_LOOP_f_f (log, log_test_data, ); END; } @@ -9044,7 +9065,7 @@ static const struct test_f_f_data log10_test_data[] = static void log10_test (void) { - START (log10); + START (log10, 0); RUN_TEST_LOOP_f_f (log10, log10_test_data, ); END; } @@ -9066,7 +9087,7 @@ static const struct test_f_f_data log1p_test_data[] = static void log1p_test (void) { - START (log1p); + START (log1p, 0); RUN_TEST_LOOP_f_f (log1p, log1p_test_data, ); END; } @@ -9090,7 +9111,7 @@ static const struct test_f_f_data log2_test_data[] = static void log2_test (void) { - START (log2); + START (log2, 0); RUN_TEST_LOOP_f_f (log2, log2_test_data, ); END; } @@ -9131,7 +9152,7 @@ static const struct test_f_f_data logb_test_data[] = static void logb_test (void) { - START (logb); + START (logb, 1); RUN_TEST_LOOP_f_f (logb, logb_test_data, ); END; } @@ -9153,7 +9174,7 @@ static const struct test_f_f_data logb_downward_test_data[] = static void logb_test_downward (void) { - START (logb_downward); + START (logb_downward, 1); RUN_TEST_LOOP_f_f (logb, logb_downward_test_data, FE_DOWNWARD); END; } @@ -9201,7 +9222,7 @@ static const struct test_f_l_data lround_test_data[] = static void lround_test (void) { - START (lround); + START (lround, 1); RUN_TEST_LOOP_f_l (lround, lround_test_data, ); END; } @@ -9378,7 +9399,7 @@ static const struct test_f_L_data llround_test_data[] = static void llround_test (void) { - START (llround); + START (llround, 1); RUN_TEST_LOOP_f_L (llround, llround_test_data, ); END; } @@ -9402,7 +9423,7 @@ modf_test (void) { FLOAT x; - START (modf); + START (modf, 1); RUN_TEST_LOOP_fF_f1 (modf, modf_test_data, , x); END; } @@ -9458,7 +9479,7 @@ static const struct test_f_f_data nearbyint_test_data[] = static void nearbyint_test (void) { - START (nearbyint); + START (nearbyint, 1); RUN_TEST_LOOP_f_f (nearbyint, nearbyint_test_data, ); END; } @@ -9495,7 +9516,7 @@ static void nextafter_test (void) { - START (nextafter); + START (nextafter, 1); RUN_TEST_LOOP_ff_f (nextafter, nextafter_test_data, ); END; } @@ -9589,7 +9610,7 @@ static const struct test_ff_f_data_nexttoward nexttoward_test_data[] = static void nexttoward_test (void) { - START (nexttoward); + START (nexttoward, 1); RUN_TEST_LOOP_ff_f (nexttoward, nexttoward_test_data, ); END; } @@ -9882,7 +9903,7 @@ static void pow_test (void) { - START (pow); + START (pow, 0); RUN_TEST_LOOP_ff_f (pow, pow_test_data, ); END; } @@ -9896,7 +9917,7 @@ static const struct test_ff_f_data pow_tonearest_test_data[] = static void pow_test_tonearest (void) { - START (pow_tonearest); + START (pow_tonearest, 0); RUN_TEST_LOOP_ff_f (pow, pow_tonearest_test_data, FE_TONEAREST); END; } @@ -9911,7 +9932,7 @@ static const struct test_ff_f_data pow_towardzero_test_data[] = static void pow_test_towardzero (void) { - START (pow_towardzero); + START (pow_towardzero, 0); RUN_TEST_LOOP_ff_f (pow, pow_towardzero_test_data, FE_TOWARDZERO); END; } @@ -9926,7 +9947,7 @@ static const struct test_ff_f_data pow_downward_test_data[] = static void pow_test_downward (void) { - START (pow_downward); + START (pow_downward, 0); RUN_TEST_LOOP_ff_f (pow, pow_downward_test_data, FE_DOWNWARD); END; } @@ -9941,7 +9962,7 @@ static const struct test_ff_f_data pow_upward_test_data[] = static void pow_test_upward (void) { - START (pow_upward); + START (pow_upward, 0); RUN_TEST_LOOP_ff_f (pow, pow_upward_test_data, FE_UPWARD); END; } @@ -9980,7 +10001,7 @@ static const struct test_ff_f_data remainder_test_data[] = static void remainder_test (void) { - START (remainder); + START (remainder, 1); RUN_TEST_LOOP_ff_f (remainder, remainder_test_data, ); END; } @@ -9988,7 +10009,7 @@ remainder_test (void) static void drem_test (void) { - START (drem); + START (drem, 1); /* drem uses the same test data as remainder. */ RUN_TEST_LOOP_ff_f (drem, remainder_test_data, ); END; @@ -10025,7 +10046,7 @@ static const struct test_ff_f_data remainder_tonearest_test_data[] = static void remainder_test_tonearest (void) { - START (remainder_tonearest); + START (remainder_tonearest, 1); RUN_TEST_LOOP_ff_f (remainder, remainder_tonearest_test_data, FE_TONEAREST); END; } @@ -10033,7 +10054,7 @@ remainder_test_tonearest (void) static void drem_test_tonearest (void) { - START (drem_tonearest); + START (drem_tonearest, 1); /* drem uses the same test data as remainder. */ RUN_TEST_LOOP_ff_f (drem, remainder_tonearest_test_data, FE_TONEAREST); END; @@ -10070,7 +10091,7 @@ static const struct test_ff_f_data remainder_towardzero_test_data[] = static void remainder_test_towardzero (void) { - START (remainder_towardzero); + START (remainder_towardzero, 1); RUN_TEST_LOOP_ff_f (remainder, remainder_towardzero_test_data, FE_TOWARDZERO); END; } @@ -10078,7 +10099,7 @@ remainder_test_towardzero (void) static void drem_test_towardzero (void) { - START (drem_towardzero); + START (drem_towardzero, 1); /* drem uses the same test data as remainder. */ RUN_TEST_LOOP_ff_f (drem, remainder_towardzero_test_data, FE_TOWARDZERO); END; @@ -10115,7 +10136,7 @@ static const struct test_ff_f_data remainder_downward_test_data[] = static void remainder_test_downward (void) { - START (remainder_downward); + START (remainder_downward, 1); RUN_TEST_LOOP_ff_f (remainder, remainder_downward_test_data, FE_DOWNWARD); END; } @@ -10123,7 +10144,7 @@ remainder_test_downward (void) static void drem_test_downward (void) { - START (drem_downward); + START (drem_downward, 1); /* drem uses the same test data as remainder. */ RUN_TEST_LOOP_ff_f (drem, remainder_downward_test_data, FE_DOWNWARD); END; @@ -10160,7 +10181,7 @@ static const struct test_ff_f_data remainder_upward_test_data[] = static void remainder_test_upward (void) { - START (remainder_upward); + START (remainder_upward, 1); RUN_TEST_LOOP_ff_f (remainder, remainder_upward_test_data, FE_UPWARD); END; } @@ -10168,7 +10189,7 @@ remainder_test_upward (void) static void drem_test_upward (void) { - START (drem_upward); + START (drem_upward, 1); /* drem uses the same test data as remainder. */ RUN_TEST_LOOP_ff_f (drem, remainder_upward_test_data, FE_UPWARD); END; @@ -10197,7 +10218,7 @@ remquo_test (void) /* x is needed. */ int x; - START (remquo); + START (remquo, 1); RUN_TEST_LOOP_ffI_f1 (remquo, remquo_test_data, , x); END; } @@ -10325,7 +10346,7 @@ static const struct test_f_f_data rint_test_data[] = static void rint_test (void) { - START (rint); + START (rint, 1); RUN_TEST_LOOP_f_f (rint, rint_test_data, ); END; } @@ -10406,7 +10427,7 @@ static const struct test_f_f_data rint_tonearest_test_data[] = static void rint_test_tonearest (void) { - START (rint_tonearest); + START (rint_tonearest, 1); RUN_TEST_LOOP_f_f (rint, rint_tonearest_test_data, FE_TONEAREST); END; } @@ -10487,7 +10508,7 @@ static const struct test_f_f_data rint_towardzero_test_data[] = static void rint_test_towardzero (void) { - START (rint_towardzero); + START (rint_towardzero, 1); RUN_TEST_LOOP_f_f (rint, rint_towardzero_test_data, FE_TOWARDZERO); END; } @@ -10568,7 +10589,7 @@ static const struct test_f_f_data rint_downward_test_data[] = static void rint_test_downward (void) { - START (rint_downward); + START (rint_downward, 1); RUN_TEST_LOOP_f_f (rint, rint_downward_test_data, FE_DOWNWARD); END; } @@ -10649,7 +10670,7 @@ static const struct test_f_f_data rint_upward_test_data[] = static void rint_test_upward (void) { - START (rint_upward); + START (rint_upward, 1); RUN_TEST_LOOP_f_f (rint, rint_upward_test_data, FE_UPWARD); END; } @@ -10753,7 +10774,7 @@ static const struct test_f_f_data round_test_data[] = static void round_test (void) { - START (round); + START (round, 1); RUN_TEST_LOOP_f_f (round, round_test_data, ); END; } @@ -10816,7 +10837,7 @@ static void scalb_test (void) { - START (scalb); + START (scalb, 1); RUN_TEST_LOOP_ff_f (scalb, scalb_test_data, ); END; } @@ -10850,7 +10871,7 @@ static void scalbn_test (void) { - START (scalbn); + START (scalbn, 1); RUN_TEST_LOOP_fi_f (scalbn, scalbn_test_data, ); END; } @@ -10904,7 +10925,7 @@ static void scalbln_test (void) { - START (scalbln); + START (scalbln, 1); RUN_TEST_LOOP_fl_f (scalbln, scalbln_test_data, ); END; } @@ -10928,7 +10949,7 @@ static const struct test_f_i_data signbit_test_data[] = static void signbit_test (void) { - START (signbit); + START (signbit, 1); RUN_TEST_LOOP_f_b_tg (signbit, signbit_test_data, ); END; } @@ -10946,7 +10967,7 @@ static const struct test_f_f_data sin_test_data[] = static void sin_test (void) { - START (sin); + START (sin, 0); RUN_TEST_LOOP_f_f (sin, sin_test_data, ); END; } @@ -10960,7 +10981,7 @@ static const struct test_f_f_data sin_tonearest_test_data[] = static void sin_test_tonearest (void) { - START (sin_tonearest); + START (sin_tonearest, 0); RUN_TEST_LOOP_f_f (sin, sin_tonearest_test_data, FE_TONEAREST); END; } @@ -10974,7 +10995,7 @@ static const struct test_f_f_data sin_towardzero_test_data[] = static void sin_test_towardzero (void) { - START (sin_towardzero); + START (sin_towardzero, 0); RUN_TEST_LOOP_f_f (sin, sin_towardzero_test_data, FE_TOWARDZERO); END; } @@ -10988,7 +11009,7 @@ static const struct test_f_f_data sin_downward_test_data[] = static void sin_test_downward (void) { - START (sin_downward); + START (sin_downward, 0); RUN_TEST_LOOP_f_f (sin, sin_downward_test_data, FE_DOWNWARD); END; } @@ -11002,7 +11023,7 @@ static const struct test_f_f_data sin_upward_test_data[] = static void sin_test_upward (void) { - START (sin_upward); + START (sin_upward, 0); RUN_TEST_LOOP_f_f (sin, sin_upward_test_data, FE_UPWARD); END; } @@ -11022,7 +11043,7 @@ sincos_test (void) { FLOAT sin_res, cos_res; - START (sincos); + START (sincos, 0); RUN_TEST_LOOP_fFF_11 (sincos, sincos_test_data, , sin_res, cos_res); END; } @@ -11039,7 +11060,7 @@ static const struct test_f_f_data sinh_test_data[] = static void sinh_test (void) { - START (sinh); + START (sinh, 0); RUN_TEST_LOOP_f_f (sinh, sinh_test_data, ); END; } @@ -11053,7 +11074,7 @@ static const struct test_f_f_data sinh_tonearest_test_data[] = static void sinh_test_tonearest (void) { - START (sinh_tonearest); + START (sinh_tonearest, 0); RUN_TEST_LOOP_f_f (sinh, sinh_tonearest_test_data, FE_TONEAREST); END; } @@ -11067,7 +11088,7 @@ static const struct test_f_f_data sinh_towardzero_test_data[] = static void sinh_test_towardzero (void) { - START (sinh_towardzero); + START (sinh_towardzero, 0); RUN_TEST_LOOP_f_f (sinh, sinh_towardzero_test_data, FE_TOWARDZERO); END; } @@ -11081,7 +11102,7 @@ static const struct test_f_f_data sinh_downward_test_data[] = static void sinh_test_downward (void) { - START (sinh_downward); + START (sinh_downward, 0); RUN_TEST_LOOP_f_f (sinh, sinh_downward_test_data, FE_DOWNWARD); END; } @@ -11095,7 +11116,7 @@ static const struct test_f_f_data sinh_upward_test_data[] = static void sinh_test_upward (void) { - START (sinh_upward); + START (sinh_upward, 0); RUN_TEST_LOOP_f_f (sinh, sinh_upward_test_data, FE_UPWARD); END; } @@ -11117,7 +11138,7 @@ static const struct test_f_f_data sqrt_test_data[] = static void sqrt_test (void) { - START (sqrt); + START (sqrt, 1); RUN_TEST_LOOP_f_f (sqrt, sqrt_test_data, ); END; } @@ -11138,7 +11159,7 @@ static const struct test_f_f_data sqrt_tonearest_test_data[] = static void sqrt_test_tonearest (void) { - START (sqrt_tonearest); + START (sqrt_tonearest, 1); RUN_TEST_LOOP_f_f (sqrt, sqrt_tonearest_test_data, FE_TONEAREST); END; } @@ -11159,7 +11180,7 @@ static const struct test_f_f_data sqrt_towardzero_test_data[] = static void sqrt_test_towardzero (void) { - START (sqrt_towardzero); + START (sqrt_towardzero, 1); RUN_TEST_LOOP_f_f (sqrt, sqrt_towardzero_test_data, FE_TOWARDZERO); END; } @@ -11180,7 +11201,7 @@ static const struct test_f_f_data sqrt_downward_test_data[] = static void sqrt_test_downward (void) { - START (sqrt_downward); + START (sqrt_downward, 1); RUN_TEST_LOOP_f_f (sqrt, sqrt_downward_test_data, FE_DOWNWARD); END; } @@ -11201,7 +11222,7 @@ static const struct test_f_f_data sqrt_upward_test_data[] = static void sqrt_test_upward (void) { - START (sqrt_upward); + START (sqrt_upward, 1); RUN_TEST_LOOP_f_f (sqrt, sqrt_upward_test_data, FE_UPWARD); END; } @@ -11219,7 +11240,7 @@ static const struct test_f_f_data tan_test_data[] = static void tan_test (void) { - START (tan); + START (tan, 0); RUN_TEST_LOOP_f_f (tan, tan_test_data, ); END; } @@ -11233,7 +11254,7 @@ static const struct test_f_f_data tan_tonearest_test_data[] = static void tan_test_tonearest (void) { - START (tan_tonearest); + START (tan_tonearest, 0); RUN_TEST_LOOP_f_f (tan, tan_tonearest_test_data, FE_TONEAREST); END; } @@ -11247,7 +11268,7 @@ static const struct test_f_f_data tan_towardzero_test_data[] = static void tan_test_towardzero (void) { - START (tan_towardzero); + START (tan_towardzero, 0); RUN_TEST_LOOP_f_f (tan, tan_towardzero_test_data, FE_TOWARDZERO); END; } @@ -11261,7 +11282,7 @@ static const struct test_f_f_data tan_downward_test_data[] = static void tan_test_downward (void) { - START (tan_downward); + START (tan_downward, 0); RUN_TEST_LOOP_f_f (tan, tan_downward_test_data, FE_DOWNWARD); END; } @@ -11275,7 +11296,7 @@ static const struct test_f_f_data tan_upward_test_data[] = static void tan_test_upward (void) { - START (tan_upward); + START (tan_upward, 0); RUN_TEST_LOOP_f_f (tan, tan_upward_test_data, FE_UPWARD); END; } @@ -11293,7 +11314,7 @@ static const struct test_f_f_data tanh_test_data[] = static void tanh_test (void) { - START (tanh); + START (tanh, 0); RUN_TEST_LOOP_f_f (tanh, tanh_test_data, ); END; } @@ -11316,7 +11337,7 @@ static const struct test_f_f_data tgamma_test_data[] = static void tgamma_test (void) { - START (tgamma); + START (tgamma, 0); RUN_TEST_LOOP_f_f (tgamma, tgamma_test_data, ); END; } @@ -11430,7 +11451,7 @@ static const struct test_f_f_data trunc_test_data[] = static void trunc_test (void) { - START (trunc); + START (trunc, 1); RUN_TEST_LOOP_f_f (trunc, trunc_test_data, ); END; } @@ -11452,7 +11473,7 @@ static const struct test_f_f_data y0_test_data[] = static void y0_test (void) { - START (y0); + START (y0, 0); RUN_TEST_LOOP_f_f (y0, y0_test_data, ); END; } @@ -11475,7 +11496,7 @@ static const struct test_f_f_data y1_test_data[] = static void y1_test (void) { - START (y1); + START (y1, 0); RUN_TEST_LOOP_f_f (y1, y1_test_data, ); END; } @@ -11548,7 +11569,7 @@ static const struct test_if_f_data yn_test_data[] = static void yn_test (void) { - START (yn); + START (yn, 0); RUN_TEST_LOOP_if_f (yn, yn_test_data, ); END; } @@ -11566,7 +11587,7 @@ static const struct test_f_f_data significand_test_data[] = static void significand_test (void) { - START (significand); + START (significand, 1); RUN_TEST_LOOP_f_f (significand, significand_test_data, ); END; } |