📄 libm-test.inc
字号:
TEST_c_c (ccosh, -2, -3, -3.7245455049153225654L, 0.5118225699873846088L); END (ccosh, complex);}#endifstatic voidceil_test (void){ START (ceil); TEST_f_f (ceil, 0.0, 0.0); TEST_f_f (ceil, minus_zero, minus_zero); TEST_f_f (ceil, plus_infty, plus_infty); TEST_f_f (ceil, minus_infty, minus_infty); TEST_f_f (ceil, nan_value, nan_value); TEST_f_f (ceil, M_PIl, 4.0); TEST_f_f (ceil, -M_PIl, -3.0); END (ceil);}#if 0static voidcexp_test (void){ errno = 0; FUNC(cexp) (BUILD_COMPLEX (0, 0)); if (errno == ENOSYS) /* Function not implemented. */ return; START (cexp); TEST_c_c (cexp, plus_zero, plus_zero, 1, 0.0); TEST_c_c (cexp, minus_zero, plus_zero, 1, 0.0); TEST_c_c (cexp, plus_zero, minus_zero, 1, minus_zero); TEST_c_c (cexp, minus_zero, minus_zero, 1, minus_zero); TEST_c_c (cexp, plus_infty, plus_zero, plus_infty, 0.0); TEST_c_c (cexp, plus_infty, minus_zero, plus_infty, minus_zero); TEST_c_c (cexp, minus_infty, plus_zero, 0.0, 0.0); TEST_c_c (cexp, minus_infty, minus_zero, 0.0, minus_zero); TEST_c_c (cexp, 0.0, plus_infty, nan_value, nan_value, INVALID_EXCEPTION); TEST_c_c (cexp, minus_zero, plus_infty, nan_value, nan_value, INVALID_EXCEPTION); TEST_c_c (cexp, 0.0, minus_infty, nan_value, nan_value, INVALID_EXCEPTION); TEST_c_c (cexp, minus_zero, minus_infty, nan_value, nan_value, INVALID_EXCEPTION); TEST_c_c (cexp, 100.0, plus_infty, nan_value, nan_value, INVALID_EXCEPTION); TEST_c_c (cexp, -100.0, plus_infty, nan_value, nan_value, INVALID_EXCEPTION); TEST_c_c (cexp, 100.0, minus_infty, nan_value, nan_value, INVALID_EXCEPTION); TEST_c_c (cexp, -100.0, minus_infty, nan_value, nan_value, INVALID_EXCEPTION); TEST_c_c (cexp, minus_infty, 2.0, minus_zero, 0.0); TEST_c_c (cexp, minus_infty, 4.0, minus_zero, minus_zero); TEST_c_c (cexp, plus_infty, 2.0, minus_infty, plus_infty); TEST_c_c (cexp, plus_infty, 4.0, minus_infty, minus_infty); TEST_c_c (cexp, plus_infty, plus_infty, plus_infty, nan_value, INVALID_EXCEPTION|IGNORE_ZERO_INF_SIGN); TEST_c_c (cexp, plus_infty, minus_infty, plus_infty, nan_value, INVALID_EXCEPTION|IGNORE_ZERO_INF_SIGN); TEST_c_c (cexp, minus_infty, plus_infty, 0.0, 0.0, IGNORE_ZERO_INF_SIGN); TEST_c_c (cexp, minus_infty, minus_infty, 0.0, minus_zero, IGNORE_ZERO_INF_SIGN); TEST_c_c (cexp, minus_infty, nan_value, 0, 0, IGNORE_ZERO_INF_SIGN); TEST_c_c (cexp, plus_infty, nan_value, plus_infty, nan_value); TEST_c_c (cexp, nan_value, 0.0, nan_value, nan_value, INVALID_EXCEPTION_OK); TEST_c_c (cexp, nan_value, 1.0, nan_value, nan_value, INVALID_EXCEPTION_OK); TEST_c_c (cexp, nan_value, plus_infty, nan_value, nan_value, INVALID_EXCEPTION_OK); TEST_c_c (cexp, 0, nan_value, nan_value, nan_value, INVALID_EXCEPTION_OK); TEST_c_c (cexp, 1, nan_value, nan_value, nan_value, INVALID_EXCEPTION_OK); TEST_c_c (cexp, nan_value, nan_value, nan_value, nan_value); TEST_c_c (cexp, 0.7L, 1.2L, 0.72969890915032360123451688642930727L, 1.8768962328348102821139467908203072L); TEST_c_c (cexp, -2.0, -3.0, -0.13398091492954261346140525546115575L, -0.019098516261135196432576240858800925L); END (cexp, complex);}static voidcimag_test (void){ START (cimag); TEST_c_f (cimag, 1.0, 0.0, 0.0); TEST_c_f (cimag, 1.0, minus_zero, minus_zero); TEST_c_f (cimag, 1.0, nan_value, nan_value); TEST_c_f (cimag, nan_value, nan_value, nan_value); TEST_c_f (cimag, 1.0, plus_infty, plus_infty); TEST_c_f (cimag, 1.0, minus_infty, minus_infty); TEST_c_f (cimag, 2.0, 3.0, 3.0); END (cimag);}static voidclog_test (void){ errno = 0; FUNC(clog) (BUILD_COMPLEX (-2, -3)); if (errno == ENOSYS) /* Function not implemented. */ return; START (clog); TEST_c_c (clog, minus_zero, 0, minus_infty, M_PIl, DIVIDE_BY_ZERO_EXCEPTION); TEST_c_c (clog, minus_zero, minus_zero, minus_infty, -M_PIl, DIVIDE_BY_ZERO_EXCEPTION); TEST_c_c (clog, 0, 0, minus_infty, 0.0, DIVIDE_BY_ZERO_EXCEPTION); TEST_c_c (clog, 0, minus_zero, minus_infty, minus_zero, DIVIDE_BY_ZERO_EXCEPTION); TEST_c_c (clog, minus_infty, plus_infty, plus_infty, M_PI_34l); TEST_c_c (clog, minus_infty, minus_infty, plus_infty, -M_PI_34l); TEST_c_c (clog, plus_infty, plus_infty, plus_infty, M_PI_4l); TEST_c_c (clog, plus_infty, minus_infty, plus_infty, -M_PI_4l); TEST_c_c (clog, 0, plus_infty, plus_infty, M_PI_2l); TEST_c_c (clog, 3, plus_infty, plus_infty, M_PI_2l); TEST_c_c (clog, minus_zero, plus_infty, plus_infty, M_PI_2l); TEST_c_c (clog, -3, plus_infty, plus_infty, M_PI_2l); TEST_c_c (clog, 0, minus_infty, plus_infty, -M_PI_2l); TEST_c_c (clog, 3, minus_infty, plus_infty, -M_PI_2l); TEST_c_c (clog, minus_zero, minus_infty, plus_infty, -M_PI_2l); TEST_c_c (clog, -3, minus_infty, plus_infty, -M_PI_2l); TEST_c_c (clog, minus_infty, 0, plus_infty, M_PIl); TEST_c_c (clog, minus_infty, 1, plus_infty, M_PIl); TEST_c_c (clog, minus_infty, minus_zero, plus_infty, -M_PIl); TEST_c_c (clog, minus_infty, -1, plus_infty, -M_PIl); TEST_c_c (clog, plus_infty, 0, plus_infty, 0.0); TEST_c_c (clog, plus_infty, 1, plus_infty, 0.0); TEST_c_c (clog, plus_infty, minus_zero, plus_infty, minus_zero); TEST_c_c (clog, plus_infty, -1, plus_infty, minus_zero); TEST_c_c (clog, plus_infty, nan_value, plus_infty, nan_value); TEST_c_c (clog, minus_infty, nan_value, plus_infty, nan_value); TEST_c_c (clog, nan_value, plus_infty, plus_infty, nan_value); TEST_c_c (clog, nan_value, minus_infty, plus_infty, nan_value); TEST_c_c (clog, 0, nan_value, nan_value, nan_value, INVALID_EXCEPTION_OK); TEST_c_c (clog, 3, nan_value, nan_value, nan_value, INVALID_EXCEPTION_OK); TEST_c_c (clog, minus_zero, nan_value, nan_value, nan_value, INVALID_EXCEPTION_OK); TEST_c_c (clog, -3, nan_value, nan_value, nan_value, INVALID_EXCEPTION_OK); TEST_c_c (clog, nan_value, 0, nan_value, nan_value, INVALID_EXCEPTION_OK); TEST_c_c (clog, nan_value, 5, nan_value, nan_value, INVALID_EXCEPTION_OK); TEST_c_c (clog, nan_value, minus_zero, nan_value, nan_value, INVALID_EXCEPTION_OK); TEST_c_c (clog, nan_value, -5, nan_value, nan_value, INVALID_EXCEPTION_OK); TEST_c_c (clog, nan_value, nan_value, nan_value, nan_value); TEST_c_c (clog, -2, -3, 1.2824746787307683680267437207826593L, -2.1587989303424641704769327722648368L); END (clog, complex);}static voidclog10_test (void){ errno = 0; FUNC(clog10) (BUILD_COMPLEX (0.7L, 1.2L)); if (errno == ENOSYS) /* Function not implemented. */ return; START (clog10); TEST_c_c (clog10, minus_zero, 0, minus_infty, M_PIl, DIVIDE_BY_ZERO_EXCEPTION); TEST_c_c (clog10, minus_zero, minus_zero, minus_infty, -M_PIl, DIVIDE_BY_ZERO_EXCEPTION); TEST_c_c (clog10, 0, 0, minus_infty, 0.0, DIVIDE_BY_ZERO_EXCEPTION); TEST_c_c (clog10, 0, minus_zero, minus_infty, minus_zero, DIVIDE_BY_ZERO_EXCEPTION); TEST_c_c (clog10, minus_infty, plus_infty, plus_infty, M_PI_34_LOG10El); TEST_c_c (clog10, plus_infty, plus_infty, plus_infty, M_PI4_LOG10El); TEST_c_c (clog10, plus_infty, minus_infty, plus_infty, -M_PI4_LOG10El); TEST_c_c (clog10, 0, plus_infty, plus_infty, M_PI2_LOG10El); TEST_c_c (clog10, 3, plus_infty, plus_infty, M_PI2_LOG10El); TEST_c_c (clog10, minus_zero, plus_infty, plus_infty, M_PI2_LOG10El); TEST_c_c (clog10, -3, plus_infty, plus_infty, M_PI2_LOG10El); TEST_c_c (clog10, 0, minus_infty, plus_infty, -M_PI2_LOG10El); TEST_c_c (clog10, 3, minus_infty, plus_infty, -M_PI2_LOG10El); TEST_c_c (clog10, minus_zero, minus_infty, plus_infty, -M_PI2_LOG10El); TEST_c_c (clog10, -3, minus_infty, plus_infty, -M_PI2_LOG10El); TEST_c_c (clog10, minus_infty, 0, plus_infty, M_PI_LOG10El); TEST_c_c (clog10, minus_infty, 1, plus_infty, M_PI_LOG10El); TEST_c_c (clog10, minus_infty, minus_zero, plus_infty, -M_PI_LOG10El); TEST_c_c (clog10, minus_infty, -1, plus_infty, -M_PI_LOG10El); TEST_c_c (clog10, plus_infty, 0, plus_infty, 0.0); TEST_c_c (clog10, plus_infty, 1, plus_infty, 0.0); TEST_c_c (clog10, plus_infty, minus_zero, plus_infty, minus_zero); TEST_c_c (clog10, plus_infty, -1, plus_infty, minus_zero); TEST_c_c (clog10, plus_infty, nan_value, plus_infty, nan_value); TEST_c_c (clog10, minus_infty, nan_value, plus_infty, nan_value); TEST_c_c (clog10, nan_value, plus_infty, plus_infty, nan_value); TEST_c_c (clog10, nan_value, minus_infty, plus_infty, nan_value); TEST_c_c (clog10, 0, nan_value, nan_value, nan_value, INVALID_EXCEPTION_OK); TEST_c_c (clog10, 3, nan_value, nan_value, nan_value, INVALID_EXCEPTION_OK); TEST_c_c (clog10, minus_zero, nan_value, nan_value, nan_value, INVALID_EXCEPTION_OK); TEST_c_c (clog10, -3, nan_value, nan_value, nan_value, INVALID_EXCEPTION_OK); TEST_c_c (clog10, nan_value, 0, nan_value, nan_value, INVALID_EXCEPTION_OK); TEST_c_c (clog10, nan_value, 5, nan_value, nan_value, INVALID_EXCEPTION_OK); TEST_c_c (clog10, nan_value, minus_zero, nan_value, nan_value, INVALID_EXCEPTION_OK); TEST_c_c (clog10, nan_value, -5, nan_value, nan_value, INVALID_EXCEPTION_OK); TEST_c_c (clog10, nan_value, nan_value, nan_value, nan_value); TEST_c_c (clog10, 0.7L, 1.2L, 0.1427786545038868803L, 0.4528483579352493248L); TEST_c_c (clog10, -2, -3, 0.5569716761534183846L, -0.9375544629863747085L); END (clog10, complex);}#endifstatic voidconj_test (void){ START (conj); TEST_c_c (conj, 0.0, 0.0, 0.0, minus_zero); TEST_c_c (conj, 0.0, minus_zero, 0.0, 0.0); TEST_c_c (conj, nan_value, nan_value, nan_value, nan_value); TEST_c_c (conj, plus_infty, minus_infty, plus_infty, plus_infty); TEST_c_c (conj, plus_infty, plus_infty, plus_infty, minus_infty); TEST_c_c (conj, 1.0, 2.0, 1.0, -2.0); TEST_c_c (conj, 3.0, -4.0, 3.0, 4.0); END (conj, complex);}static voidcopysign_test (void){ START (copysign); TEST_ff_f (copysign, 0, 4, 0); TEST_ff_f (copysign, 0, -4, minus_zero); TEST_ff_f (copysign, minus_zero, 4, 0); TEST_ff_f (copysign, minus_zero, -4, minus_zero); TEST_ff_f (copysign, plus_infty, 0, plus_infty); TEST_ff_f (copysign, plus_infty, minus_zero, minus_infty); TEST_ff_f (copysign, minus_infty, 0, plus_infty); TEST_ff_f (copysign, minus_infty, minus_zero, minus_infty); TEST_ff_f (copysign, 0, plus_infty, 0); TEST_ff_f (copysign, 0, minus_zero, minus_zero); TEST_ff_f (copysign, minus_zero, plus_infty, 0); TEST_ff_f (copysign, minus_zero, minus_zero, minus_zero); /* XXX More correctly we would have to check the sign of the NaN. */ TEST_ff_f (copysign, nan_value, 0, nan_value); TEST_ff_f (copysign, nan_value, minus_zero, nan_value); TEST_ff_f (copysign, -nan_value, 0, nan_value); TEST_ff_f (copysign, -nan_value, minus_zero, nan_value); END (copysign);}static voidcos_test (void){ errno = 0; FUNC(cos) (0); if (errno == ENOSYS) /* Function not implemented. */ return; START (cos); TEST_f_f (cos, 0, 1); TEST_f_f (cos, minus_zero, 1); TEST_f_f (cos, plus_infty, nan_value, INVALID_EXCEPTION); TEST_f_f (cos, minus_infty, nan_value, INVALID_EXCEPTION); TEST_f_f (cos, nan_value, nan_value); TEST_f_f (cos, M_PI_6l * 2.0, 0.5); TEST_f_f (cos, M_PI_6l * 4.0, -0.5); TEST_f_f (cos, M_PI_2l, 0); TEST_f_f (cos, 0.7L, 0.76484218728448842625585999019186495L); END (cos);}static voidcosh_test (void){ errno = 0; FUNC(cosh) (0.7L); if (errno == ENOSYS) /* Function not implemented. */ return; START (cosh); TEST_f_f (cosh, 0, 1); TEST_f_f (cosh, minus_zero, 1);#ifndef TEST_INLINE TEST_f_f (cosh, plus_infty, plus_infty); TEST_f_f (cosh, minus_infty, plus_infty);#endif TEST_f_f (cosh, nan_value, nan_value); TEST_f_f (cosh, 0.7L, 1.255169005630943018L); END (cosh);}#if 0static voidcpow_test (void){ errno = 0; FUNC(cpow) (BUILD_COMPLEX (1, 0), BUILD_COMPLEX (0, 0)); if (errno == ENOSYS) /* Function not implemented. */ return; START (cpow); TEST_cc_c (cpow, 1, 0, 0, 0, 1.0, 0.0); TEST_cc_c (cpow, 2, 0, 10, 0, 1024.0, 0.0); TEST_cc_c (cpow, M_El, 0, 0, 2 * M_PIl, 1.0, 0.0); TEST_cc_c (cpow, 2, 3, 4, 0, -119.0, -120.0); TEST_cc_c (cpow, nan_value, nan_value, nan_value, nan_value, nan_value, nan_value); END (cpow, complex);}static voidcproj_test (void){ START (cproj); TEST_c_c (cproj, 0.0, 0.0, 0.0, 0.0); TEST_c_c (cproj, minus_zero, minus_zero, minus_zero, minus_zero); TEST_c_c (cproj, 0.0, minus_zero, 0.0, minus_zero); TEST_c_c (cproj, minus_zero, 0.0, minus_zero, 0.0); TEST_c_c (cproj, nan_value, nan_value, nan_value, nan_value); TEST_c_c (cproj, plus_infty, plus_infty, plus_infty, 0.0); TEST_c_c (cproj, plus_infty, minus_infty, plus_infty, minus_zero); TEST_c_c (cproj, minus_infty, plus_infty, plus_infty, 0.0); TEST_c_c (cproj, minus_infty, minus_infty, plus_infty, minus_zero); TEST_c_c (cproj, 1.0, 0.0, 1.0, 0.0); TEST_c_c (cproj, 2.0, 3.0, 0.2857142857142857142857142857142857L, 0.42857142857142857142857142857142855L); END (cproj, complex);}static voidcreal_test (void){ START (creal); TEST_c_f (creal, 0.0, 1.0, 0.0); TEST_c_f (creal, minus_zero, 1.0, minus_zero); TEST_c_f (creal, nan_value, 1.0, nan_value); TEST_c_f (creal, nan_value, nan_value, nan_value); TEST_c_f (creal, plus_infty, 1.0, plus_infty); TEST_c_f (creal, minus_infty, 1.0, minus_infty); TEST_c_f (creal, 2.0, 3.0, 2.0); END (creal);}static voidcsin_test (void){ errno = 0; FUNC(csin) (BUILD_COMPLEX (0.7L, 1.2L)); if (errno == ENOSYS) /* Function not implemented. */ return; START (csin); TEST_c_c (csin, 0.0, 0.0, 0.0, 0.0); TEST_c_c (csin, minus_zero, 0.0, minus_zero, 0.0); TEST_c_c (csi
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -