mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-24 22:10:13 +00:00
Add more libm tests (fmod, fpclassify, frexp, hypot, ilogb, j0, j1, jn, log, log10, log2).
This patch improves the libm test coverage for a few more functions. Tested for x86_64 and x86. 2015-10-21 Joseph Myers <joseph@codesourcery.com> * math/auto-libm-test-in: Add more tests of hypot, j0, j1, jn, log, log10 and log2. * math/auto-libm-test-out: Regenerated. * math/libm-test.inc (fmod_test_data): Add more tests. (fpclassify_test_data): Likewise. (frexp_test_data): Likewise. (hypot_test_data): Likewise. (ilogb_test_data): Likewise.
This commit is contained in:
parent
80d9be8122
commit
ca88f362a7
11
ChangeLog
11
ChangeLog
@ -1,3 +1,14 @@
|
|||||||
|
2015-10-21 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
||||||
|
* math/auto-libm-test-in: Add more tests of hypot, j0, j1, jn,
|
||||||
|
log, log10 and log2.
|
||||||
|
* math/auto-libm-test-out: Regenerated.
|
||||||
|
* math/libm-test.inc (fmod_test_data): Add more tests.
|
||||||
|
(fpclassify_test_data): Likewise.
|
||||||
|
(frexp_test_data): Likewise.
|
||||||
|
(hypot_test_data): Likewise.
|
||||||
|
(ilogb_test_data): Likewise.
|
||||||
|
|
||||||
2015-10-20 Joseph Myers <joseph@codesourcery.com>
|
2015-10-20 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
||||||
* debug/fortify_fail.c (__fortify_fail): Convert to
|
* debug/fortify_fail.c (__fortify_fail): Convert to
|
||||||
|
@ -2333,7 +2333,20 @@ hypot 0x0.fffffffffffffp-1022 0x0.fp-1023
|
|||||||
hypot 0x0.fffffffffffffp-1022 0x0.fp-1026
|
hypot 0x0.fffffffffffffp-1022 0x0.fp-1026
|
||||||
hypot 0x0.ffffffp-16382 0x0.fp-16383 no-test-inline
|
hypot 0x0.ffffffp-16382 0x0.fp-16383 no-test-inline
|
||||||
hypot 0x0.ffffffp-16382 0x0.fp-16386 no-test-inline
|
hypot 0x0.ffffffp-16382 0x0.fp-16386 no-test-inline
|
||||||
|
hypot 0 min no-test-inline
|
||||||
hypot 0 min_subnorm no-test-inline
|
hypot 0 min_subnorm no-test-inline
|
||||||
|
hypot 0 -min no-test-inline
|
||||||
|
hypot 0 -min_subnorm no-test-inline
|
||||||
|
hypot min 0 no-test-inline
|
||||||
|
hypot min_subnorm 0 no-test-inline
|
||||||
|
hypot -min 0 no-test-inline
|
||||||
|
hypot -min_subnorm 0 no-test-inline
|
||||||
|
hypot min min no-test-inline
|
||||||
|
hypot min_subnorm min_subnorm no-test-inline
|
||||||
|
hypot min min_subnorm no-test-inline
|
||||||
|
hypot 0x1.fp127 0x1.fp127
|
||||||
|
hypot 0x1.fp1023 0x1.fp1023
|
||||||
|
hypot 0x1.fp16383 0x1.fp16383 no-test-inline
|
||||||
|
|
||||||
hypot 0x1p-127 0x1p-149
|
hypot 0x1p-127 0x1p-149
|
||||||
hypot 0x1p-1023 0x1p-1074
|
hypot 0x1p-1023 0x1p-1074
|
||||||
@ -2346,6 +2359,26 @@ hypot -0x1.fa7deap+0 0x1.a761bab383ac8p+0
|
|||||||
|
|
||||||
j0 -1.0
|
j0 -1.0
|
||||||
j0 0.0
|
j0 0.0
|
||||||
|
j0 -0
|
||||||
|
j0 min
|
||||||
|
j0 -min
|
||||||
|
j0 min_subnorm
|
||||||
|
j0 -min_subnorm
|
||||||
|
j0 0x1p-5
|
||||||
|
j0 0x1p-10
|
||||||
|
j0 0x1p-15
|
||||||
|
j0 0x1p-20
|
||||||
|
j0 0x1p-25
|
||||||
|
j0 0x1p-30
|
||||||
|
j0 0x1p-35
|
||||||
|
j0 0x1p-40
|
||||||
|
j0 0x1p-45
|
||||||
|
j0 0x1p-50
|
||||||
|
j0 0x1p-55
|
||||||
|
j0 0x1p-60
|
||||||
|
j0 0x1p-100
|
||||||
|
j0 0x1p-600
|
||||||
|
j0 0x1p-10000
|
||||||
j0 0.125
|
j0 0.125
|
||||||
j0 0.75
|
j0 0.75
|
||||||
j0 1.0
|
j0 1.0
|
||||||
@ -2363,6 +2396,7 @@ j0 0x1p16383
|
|||||||
|
|
||||||
j1 -1.0
|
j1 -1.0
|
||||||
j1 0.0
|
j1 0.0
|
||||||
|
j1 -0
|
||||||
j1 0.125
|
j1 0.125
|
||||||
j1 0.75
|
j1 0.75
|
||||||
j1 1.0
|
j1 1.0
|
||||||
@ -2375,6 +2409,18 @@ j1 0x1.ff00000000002p+840
|
|||||||
j1 0x1p1023
|
j1 0x1p1023
|
||||||
j1 0x1p16382
|
j1 0x1p16382
|
||||||
j1 0x1p16383
|
j1 0x1p16383
|
||||||
|
j1 0x1p-5
|
||||||
|
j1 0x1p-10
|
||||||
|
j1 0x1p-15
|
||||||
|
j1 0x1p-20
|
||||||
|
j1 0x1p-25
|
||||||
|
j1 0x1p-30
|
||||||
|
j1 0x1p-35
|
||||||
|
j1 0x1p-40
|
||||||
|
j1 0x1p-45
|
||||||
|
j1 0x1p-50
|
||||||
|
j1 0x1p-55
|
||||||
|
j1 0x1p-60
|
||||||
j1 0x1p-100
|
j1 0x1p-100
|
||||||
j1 0x1p-600
|
j1 0x1p-600
|
||||||
j1 0x1p-10000
|
j1 0x1p-10000
|
||||||
@ -2387,6 +2433,11 @@ j1 -min_subnorm missing-errno
|
|||||||
# jn (0, x) == j0 (x).
|
# jn (0, x) == j0 (x).
|
||||||
jn 0 -1.0
|
jn 0 -1.0
|
||||||
jn 0 0.0
|
jn 0 0.0
|
||||||
|
jn 0 -0
|
||||||
|
jn 0 min
|
||||||
|
jn 0 -min
|
||||||
|
jn 0 min_subnorm
|
||||||
|
jn 0 -min_subnorm
|
||||||
jn 0 0.125
|
jn 0 0.125
|
||||||
jn 0 0.75
|
jn 0 0.75
|
||||||
jn 0 1.0
|
jn 0 1.0
|
||||||
@ -2399,6 +2450,7 @@ jn 0 -4.0
|
|||||||
|
|
||||||
# jn (1, x) == j1 (x).
|
# jn (1, x) == j1 (x).
|
||||||
jn 1 -1.0
|
jn 1 -1.0
|
||||||
|
jn 1 -0
|
||||||
jn 1 0.0
|
jn 1 0.0
|
||||||
jn 1 0.125
|
jn 1 0.125
|
||||||
jn 1 0.75
|
jn 1 0.75
|
||||||
@ -2443,6 +2495,15 @@ jn 2 0x1p127
|
|||||||
jn 2 0x1p1023
|
jn 2 0x1p1023
|
||||||
jn 2 0x1p16383
|
jn 2 0x1p16383
|
||||||
|
|
||||||
|
jn -1 1
|
||||||
|
jn -2 1
|
||||||
|
jn -3 1
|
||||||
|
jn -4 1
|
||||||
|
jn -1 -1
|
||||||
|
jn -2 -1
|
||||||
|
jn -3 -1
|
||||||
|
jn -4 -1
|
||||||
|
|
||||||
# Bug 18611: errno setting may be missing.
|
# Bug 18611: errno setting may be missing.
|
||||||
jn 10 min missing-errno
|
jn 10 min missing-errno
|
||||||
jn 10 -min missing-errno
|
jn 10 -min missing-errno
|
||||||
@ -2984,6 +3045,7 @@ log 10
|
|||||||
log 0.75
|
log 0.75
|
||||||
log min
|
log min
|
||||||
log min_subnorm
|
log min_subnorm
|
||||||
|
log max
|
||||||
|
|
||||||
log 0xb.0d5dfp-4
|
log 0xb.0d5dfp-4
|
||||||
log 0x1.6c3f6p+0
|
log 0x1.6c3f6p+0
|
||||||
@ -3003,6 +3065,7 @@ log10 e
|
|||||||
log10 0.75
|
log10 0.75
|
||||||
log10 min
|
log10 min
|
||||||
log10 min_subnorm
|
log10 min_subnorm
|
||||||
|
log10 max
|
||||||
|
|
||||||
log10 0x9.ad6e3p-4
|
log10 0x9.ad6e3p-4
|
||||||
log10 0x1.7163aep+0
|
log10 0x1.7163aep+0
|
||||||
@ -3070,6 +3133,7 @@ log2 0xb.7704dc9beb05p-4
|
|||||||
log2 0xb.56f63c18e93eecdp-4
|
log2 0xb.56f63c18e93eecdp-4
|
||||||
log2 min
|
log2 min
|
||||||
log2 min_subnorm
|
log2 min_subnorm
|
||||||
|
log2 max
|
||||||
|
|
||||||
pow 0 0
|
pow 0 0
|
||||||
pow 0 -0
|
pow 0 -0
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -7613,6 +7613,57 @@ static const struct test_ff_f_data fmod_test_data[] =
|
|||||||
TEST_ff_f (fmod, -min_subnorm_value, min_subnorm_value, minus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
TEST_ff_f (fmod, -min_subnorm_value, min_subnorm_value, minus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
TEST_ff_f (fmod, -min_subnorm_value, -min_subnorm_value, minus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
TEST_ff_f (fmod, -min_subnorm_value, -min_subnorm_value, minus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
|
||||||
|
TEST_ff_f (fmod, 0x1p127L, 0x3p-149L, 0x1p-149L, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (fmod, 0x1p127L, -0x3p-149L, 0x1p-149L, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (fmod, 0x1p127L, 0x3p-148L, 0x1p-147L, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (fmod, 0x1p127L, -0x3p-148L, 0x1p-147L, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (fmod, 0x1p127L, 0x3p-126L, 0x1p-125L, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (fmod, 0x1p127L, -0x3p-126L, 0x1p-125L, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (fmod, -0x1p127L, 0x3p-149L, -0x1p-149L, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (fmod, -0x1p127L, -0x3p-149L, -0x1p-149L, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (fmod, -0x1p127L, 0x3p-148L, -0x1p-147L, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (fmod, -0x1p127L, -0x3p-148L, -0x1p-147L, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (fmod, -0x1p127L, 0x3p-126L, -0x1p-125L, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (fmod, -0x1p127L, -0x3p-126L, -0x1p-125L, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
#ifndef TEST_FLOAT
|
||||||
|
TEST_ff_f (fmod, 0x1p1023L, 0x3p-1074L, 0x1p-1073L, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (fmod, 0x1p1023L, -0x3p-1074L, 0x1p-1073L, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (fmod, 0x1p1023L, 0x3p-1073L, 0x1p-1073L, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (fmod, 0x1p1023L, -0x3p-1073L, 0x1p-1073L, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (fmod, 0x1p1023L, 0x3p-1022L, 0x1p-1021L, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (fmod, 0x1p1023L, -0x3p-1022L, 0x1p-1021L, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (fmod, -0x1p1023L, 0x3p-1074L, -0x1p-1073L, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (fmod, -0x1p1023L, -0x3p-1074L, -0x1p-1073L, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (fmod, -0x1p1023L, 0x3p-1073L, -0x1p-1073L, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (fmod, -0x1p1023L, -0x3p-1073L, -0x1p-1073L, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (fmod, -0x1p1023L, 0x3p-1022L, -0x1p-1021L, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (fmod, -0x1p1023L, -0x3p-1022L, -0x1p-1021L, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
#endif
|
||||||
|
#if defined TEST_LDOUBLE && LDBL_MIN_EXP <= -16381
|
||||||
|
TEST_ff_f (fmod, 0x1p16383L, 0x3p-16445L, 0x1p-16445L, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (fmod, 0x1p16383L, -0x3p-16445L, 0x1p-16445L, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (fmod, 0x1p16383L, 0x3p-16444L, 0x1p-16443L, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (fmod, 0x1p16383L, -0x3p-16444L, 0x1p-16443L, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (fmod, 0x1p16383L, 0x3p-16382L, 0x1p-16381L, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (fmod, 0x1p16383L, -0x3p-16382L, 0x1p-16381L, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (fmod, -0x1p16383L, 0x3p-16445L, -0x1p-16445L, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (fmod, -0x1p16383L, -0x3p-16445L, -0x1p-16445L, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (fmod, -0x1p16383L, 0x3p-16444L, -0x1p-16443L, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (fmod, -0x1p16383L, -0x3p-16444L, -0x1p-16443L, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (fmod, -0x1p16383L, 0x3p-16382L, -0x1p-16381L, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (fmod, -0x1p16383L, -0x3p-16382L, -0x1p-16381L, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
# if LDBL_MANT_DIG >= 113
|
||||||
|
TEST_ff_f (fmod, 0x1p16383L, 0x3p-16494L, 0x1p-16493L, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (fmod, 0x1p16383L, -0x3p-16494L, 0x1p-16493L, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (fmod, 0x1p16383L, 0x3p-16493L, 0x1p-16493L, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (fmod, 0x1p16383L, -0x3p-16493L, 0x1p-16493L, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (fmod, -0x1p16383L, 0x3p-16494L, -0x1p-16493L, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (fmod, -0x1p16383L, -0x3p-16494L, -0x1p-16493L, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (fmod, -0x1p16383L, 0x3p-16493L, -0x1p-16493L, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (fmod, -0x1p16383L, -0x3p-16493L, -0x1p-16493L, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
TEST_ff_f (fmod, 0x0.fffffep-126L, 0x1p-149L, plus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
TEST_ff_f (fmod, 0x0.fffffep-126L, 0x1p-149L, plus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
#ifndef TEST_FLOAT
|
#ifndef TEST_FLOAT
|
||||||
TEST_ff_f (fmod, 0x0.fffffffffffffp-1022L, 0x1p-1074L, plus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
TEST_ff_f (fmod, 0x0.fffffffffffffp-1022L, 0x1p-1074L, plus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
@ -7639,12 +7690,18 @@ fmod_test (void)
|
|||||||
static const struct test_f_i_data fpclassify_test_data[] =
|
static const struct test_f_i_data fpclassify_test_data[] =
|
||||||
{
|
{
|
||||||
TEST_f_i (fpclassify, qnan_value, FP_NAN, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
TEST_f_i (fpclassify, qnan_value, FP_NAN, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_f_i (fpclassify, -qnan_value, FP_NAN, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
TEST_f_i (fpclassify, plus_infty, FP_INFINITE, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
TEST_f_i (fpclassify, plus_infty, FP_INFINITE, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
TEST_f_i (fpclassify, minus_infty, FP_INFINITE, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
TEST_f_i (fpclassify, minus_infty, FP_INFINITE, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
TEST_f_i (fpclassify, plus_zero, FP_ZERO, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
TEST_f_i (fpclassify, plus_zero, FP_ZERO, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
TEST_f_i (fpclassify, minus_zero, FP_ZERO, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
TEST_f_i (fpclassify, minus_zero, FP_ZERO, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
TEST_f_i (fpclassify, 1000, FP_NORMAL, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
TEST_f_i (fpclassify, 1000, FP_NORMAL, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_f_i (fpclassify, max_value, FP_NORMAL, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_f_i (fpclassify, -max_value, FP_NORMAL, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_f_i (fpclassify, min_value, FP_NORMAL, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_f_i (fpclassify, -min_value, FP_NORMAL, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
TEST_f_i (fpclassify, min_subnorm_value, FP_SUBNORMAL, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
TEST_f_i (fpclassify, min_subnorm_value, FP_SUBNORMAL, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_f_i (fpclassify, -min_subnorm_value, FP_SUBNORMAL, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
};
|
};
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -7659,12 +7716,45 @@ static const struct test_f_f1_data frexp_test_data[] =
|
|||||||
TEST_fI_f1 (frexp, plus_infty, plus_infty, IGNORE, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
TEST_fI_f1 (frexp, plus_infty, plus_infty, IGNORE, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
TEST_fI_f1 (frexp, minus_infty, minus_infty, IGNORE, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
TEST_fI_f1 (frexp, minus_infty, minus_infty, IGNORE, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
TEST_fI_f1 (frexp, qnan_value, qnan_value, IGNORE, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
TEST_fI_f1 (frexp, qnan_value, qnan_value, IGNORE, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_fI_f1 (frexp, -qnan_value, qnan_value, IGNORE, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
|
||||||
TEST_fI_f1 (frexp, 0.0, 0.0, 0.0, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
TEST_fI_f1 (frexp, 0.0, 0.0, 0.0, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
TEST_fI_f1 (frexp, minus_zero, minus_zero, 0.0, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
TEST_fI_f1 (frexp, minus_zero, minus_zero, 0.0, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
|
||||||
TEST_fI_f1 (frexp, 12.8L, 0.8L, 4, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
TEST_fI_f1 (frexp, 12.8L, 0.8L, 4, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
TEST_fI_f1 (frexp, -27.34L, -0.854375L, 5, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
TEST_fI_f1 (frexp, -27.34L, -0.854375L, 5, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_fI_f1 (frexp, 0.25L, 0.5L, -1, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_fI_f1 (frexp, 0.5L, 0.5L, 0, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_fI_f1 (frexp, 1.0L, 0.5L, 1, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_fI_f1 (frexp, -1.0L, -0.5L, 1, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_fI_f1 (frexp, 2.0L, 0.5L, 2, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_fI_f1 (frexp, 4.0L, 0.5L, 3, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_fI_f1 (frexp, 0x1p127L, 0.5L, 128, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_fI_f1 (frexp, -0x1p127L, -0.5L, 128, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_fI_f1 (frexp, 0x1p-126L, 0.5L, -125, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_fI_f1 (frexp, 0x1p-127L, 0.5L, -126, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_fI_f1 (frexp, 0x1p-149L, 0.5L, -148, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_fI_f1 (frexp, -0x1p-149L, -0.5L, -148, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
#ifndef TEST_FLOAT
|
||||||
|
TEST_fI_f1 (frexp, 0x1p1023L, 0.5L, 1024, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_fI_f1 (frexp, -0x1p1023L, -0.5L, 1024, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_fI_f1 (frexp, 0x1p-1022L, 0.5L, -1021, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_fI_f1 (frexp, 0x1p-1023L, 0.5L, -1022, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_fI_f1 (frexp, 0x1p-1074L, 0.5L, -1073, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_fI_f1 (frexp, -0x1p-1074L, -0.5L, -1073, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
#endif
|
||||||
|
#if defined TEST_LDOUBLE && LDBL_MIN_EXP <= -16381
|
||||||
|
TEST_fI_f1 (frexp, 0x1p16383L, 0.5L, 16384, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_fI_f1 (frexp, -0x1p16383L, -0.5L, 16384, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_fI_f1 (frexp, 0x1p-16382L, 0.5L, -16381, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_fI_f1 (frexp, 0x1p-16383L, 0.5L, -16382, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_fI_f1 (frexp, 0x1p-16445L, 0.5L, -16444, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_fI_f1 (frexp, -0x1p-16445L, -0.5L, -16444, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
# if LDBL_MANT_DIG >= 113
|
||||||
|
TEST_fI_f1 (frexp, 0x1p-16494L, 0.5L, -16493, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_fI_f1 (frexp, -0x1p-16494L, -0.5L, -16493, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined TEST_LDOUBLE && LDBL_MANT_DIG >= 106
|
#if defined TEST_LDOUBLE && LDBL_MANT_DIG >= 106
|
||||||
TEST_fI_f1 (frexp, 1.0L-0x1p-106L, 1.0L-0x1p-106L, 0, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
TEST_fI_f1 (frexp, 1.0L-0x1p-106L, 1.0L-0x1p-106L, 0, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
@ -7687,14 +7777,96 @@ frexp_test (void)
|
|||||||
static const struct test_ff_f_data hypot_test_data[] =
|
static const struct test_ff_f_data hypot_test_data[] =
|
||||||
{
|
{
|
||||||
TEST_ff_f (hypot, plus_infty, 1, plus_infty, ERRNO_UNCHANGED),
|
TEST_ff_f (hypot, plus_infty, 1, plus_infty, ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, plus_infty, -1, plus_infty, ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, plus_infty, 0, plus_infty, ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, plus_infty, minus_zero, plus_infty, ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, plus_infty, max_value, plus_infty, ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, plus_infty, -max_value, plus_infty, ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, plus_infty, min_value, plus_infty, ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, plus_infty, -min_value, plus_infty, ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, plus_infty, min_subnorm_value, plus_infty, ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, plus_infty, -min_subnorm_value, plus_infty, ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, 1, plus_infty, plus_infty, ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, -1, plus_infty, plus_infty, ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, 0, plus_infty, plus_infty, ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, minus_zero, plus_infty, plus_infty, ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, max_value, plus_infty, plus_infty, ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, -max_value, plus_infty, plus_infty, ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, min_value, plus_infty, plus_infty, ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, -min_value, plus_infty, plus_infty, ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, min_subnorm_value, plus_infty, plus_infty, ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, -min_subnorm_value, plus_infty, plus_infty, ERRNO_UNCHANGED),
|
||||||
TEST_ff_f (hypot, minus_infty, 1, plus_infty, ERRNO_UNCHANGED),
|
TEST_ff_f (hypot, minus_infty, 1, plus_infty, ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, minus_infty, -1, plus_infty, ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, minus_infty, 0, plus_infty, ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, minus_infty, minus_zero, plus_infty, ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, minus_infty, max_value, plus_infty, ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, minus_infty, -max_value, plus_infty, ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, minus_infty, min_value, plus_infty, ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, minus_infty, -min_value, plus_infty, ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, minus_infty, min_subnorm_value, plus_infty, ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, minus_infty, -min_subnorm_value, plus_infty, ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, 1, minus_infty, plus_infty, ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, -1, minus_infty, plus_infty, ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, 0, minus_infty, plus_infty, ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, minus_zero, minus_infty, plus_infty, ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, max_value, minus_infty, plus_infty, ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, -max_value, minus_infty, plus_infty, ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, min_value, minus_infty, plus_infty, ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, -min_value, minus_infty, plus_infty, ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, min_subnorm_value, minus_infty, plus_infty, ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, -min_subnorm_value, minus_infty, plus_infty, ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, plus_infty, plus_infty, plus_infty, ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, plus_infty, minus_infty, plus_infty, ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, minus_infty, plus_infty, plus_infty, ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, minus_infty, minus_infty, plus_infty, ERRNO_UNCHANGED),
|
||||||
|
|
||||||
TEST_ff_f (hypot, plus_infty, qnan_value, plus_infty, ERRNO_UNCHANGED|NO_TEST_INLINE),
|
TEST_ff_f (hypot, plus_infty, qnan_value, plus_infty, ERRNO_UNCHANGED|NO_TEST_INLINE),
|
||||||
|
TEST_ff_f (hypot, plus_infty, -qnan_value, plus_infty, ERRNO_UNCHANGED|NO_TEST_INLINE),
|
||||||
TEST_ff_f (hypot, minus_infty, qnan_value, plus_infty, ERRNO_UNCHANGED|NO_TEST_INLINE),
|
TEST_ff_f (hypot, minus_infty, qnan_value, plus_infty, ERRNO_UNCHANGED|NO_TEST_INLINE),
|
||||||
|
TEST_ff_f (hypot, minus_infty, -qnan_value, plus_infty, ERRNO_UNCHANGED|NO_TEST_INLINE),
|
||||||
TEST_ff_f (hypot, qnan_value, plus_infty, plus_infty, ERRNO_UNCHANGED|NO_TEST_INLINE),
|
TEST_ff_f (hypot, qnan_value, plus_infty, plus_infty, ERRNO_UNCHANGED|NO_TEST_INLINE),
|
||||||
|
TEST_ff_f (hypot, -qnan_value, plus_infty, plus_infty, ERRNO_UNCHANGED|NO_TEST_INLINE),
|
||||||
TEST_ff_f (hypot, qnan_value, minus_infty, plus_infty, ERRNO_UNCHANGED|NO_TEST_INLINE),
|
TEST_ff_f (hypot, qnan_value, minus_infty, plus_infty, ERRNO_UNCHANGED|NO_TEST_INLINE),
|
||||||
|
TEST_ff_f (hypot, -qnan_value, minus_infty, plus_infty, ERRNO_UNCHANGED|NO_TEST_INLINE),
|
||||||
|
|
||||||
|
TEST_ff_f (hypot, 0, qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, 0, -qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, minus_zero, qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, minus_zero, -qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, max_value, qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, max_value, -qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, -max_value, qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, -max_value, -qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, min_value, qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, min_value, -qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, -min_value, qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, -min_value, -qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, min_subnorm_value, qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, min_subnorm_value, -qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, -min_subnorm_value, qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, -min_subnorm_value, -qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, qnan_value, 0, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, -qnan_value, 0, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, qnan_value, minus_zero, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, -qnan_value, minus_zero, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, qnan_value, max_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, -qnan_value, max_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, qnan_value, -max_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, -qnan_value, -max_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, qnan_value, min_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, -qnan_value, min_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, qnan_value, -min_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, -qnan_value, -min_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, qnan_value, min_subnorm_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, -qnan_value, min_subnorm_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, qnan_value, -min_subnorm_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, -qnan_value, -min_subnorm_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
|
||||||
TEST_ff_f (hypot, qnan_value, qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
TEST_ff_f (hypot, qnan_value, qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, qnan_value, -qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, -qnan_value, qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
TEST_ff_f (hypot, -qnan_value, -qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||||
|
|
||||||
AUTO_TESTS_ff_f (hypot),
|
AUTO_TESTS_ff_f (hypot),
|
||||||
};
|
};
|
||||||
@ -7720,8 +7892,10 @@ static const struct test_f_i_data ilogb_test_data[] =
|
|||||||
|
|
||||||
/* ilogb (0.0) == FP_ILOGB0 plus invalid exception */
|
/* ilogb (0.0) == FP_ILOGB0 plus invalid exception */
|
||||||
TEST_f_i (ilogb, 0.0, FP_ILOGB0, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION|ERRNO_EDOM),
|
TEST_f_i (ilogb, 0.0, FP_ILOGB0, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION|ERRNO_EDOM),
|
||||||
|
TEST_f_i (ilogb, -0.0, FP_ILOGB0, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION|ERRNO_EDOM),
|
||||||
/* ilogb (qNaN) == FP_ILOGBNAN plus invalid exception */
|
/* ilogb (qNaN) == FP_ILOGBNAN plus invalid exception */
|
||||||
TEST_f_i (ilogb, qnan_value, FP_ILOGBNAN, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION|ERRNO_EDOM),
|
TEST_f_i (ilogb, qnan_value, FP_ILOGBNAN, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION|ERRNO_EDOM),
|
||||||
|
TEST_f_i (ilogb, -qnan_value, FP_ILOGBNAN, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION|ERRNO_EDOM),
|
||||||
/* ilogb (inf) == INT_MAX plus invalid exception */
|
/* ilogb (inf) == INT_MAX plus invalid exception */
|
||||||
TEST_f_i (ilogb, plus_infty, INT_MAX, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION|ERRNO_EDOM),
|
TEST_f_i (ilogb, plus_infty, INT_MAX, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION|ERRNO_EDOM),
|
||||||
/* ilogb (-inf) == INT_MAX plus invalid exception */
|
/* ilogb (-inf) == INT_MAX plus invalid exception */
|
||||||
|
Loading…
Reference in New Issue
Block a user