aboutsummaryrefslogtreecommitdiff
path: root/math/libm-test.inc
AgeCommit message (Collapse)AuthorFilesLines
2013-11-16Test signs of NaNs in libm-test.inc where appropriate.Joseph Myers1-15/+42
2013-11-16Add libm-test support for ignored return value, add more lrint / llrint / ↵Joseph Myers1-6/+55
lround / llround tests.
2013-11-16Replace libm-test.inc TEST_INLINE conditionals with NO_TEST_INLINE flag.Joseph Myers1-257/+279
2013-11-16Make libm-test.inc check for "inexact" exceptions for NaN argument.Joseph Myers1-69/+69
2013-10-04PowerPC floating point little-endian [4 of 15]Alan Modra1-0/+19
http://sourceware.org/ml/libc-alpha/2013-08/msg00084.html Another batch of ieee854 macros and union replacement. These four files also have bugs fixed with this patch. The fact that the two doubles in an IBM long double may have different signs means that negation and absolute value operations can't just twiddle one sign bit as you can with ieee864 style extended double. fmodl, remainderl, erfl and erfcl all had errors of this type. erfl also returned +1 for large magnitude negative input where it should return -1. The hypotl error is innocuous since the value adjusted twice is only used as a flag. The e_hypotl.c tests for large "a" and small "b" are mutually exclusive because we've already exited when x/y > 2**120. That allows some further small simplifications. [BZ #15734], [BZ #15735] * sysdeps/ieee754/ldbl-128ibm/e_fmodl.c (__ieee754_fmodl): Rewrite all uses of ieee875 long double macros and unions. Simplify test for 0.0L. Correct |x|<|y| and |x|=|y| test. Use ldbl_extract_mantissa value for ix,iy exponents. Properly normalize after ldbl_extract_mantissa, and don't add hidden bit already handled. Don't treat low word of ieee854 mantissa like low word of IBM long double and mask off bit when testing for zero. * sysdeps/ieee754/ldbl-128ibm/e_hypotl.c (__ieee754_hypotl): Rewrite all uses of ieee875 long double macros and unions. Simplify tests for 0.0L and inf. Correct double adjustment of k. Delete dead code adjusting ha,hb. Simplify code setting kld. Delete two600 and two1022, instead use their values. Recognise that tests for large "a" and small "b" are mutually exclusive. Rename vars. Comment. * sysdeps/ieee754/ldbl-128ibm/e_remainderl.c (__ieee754_remainderl): Rewrite all uses of ieee875 long double macros and unions. Simplify test for 0.0L and nan. Correct negation. * sysdeps/ieee754/ldbl-128ibm/s_erfl.c (__erfl): Rewrite all uses of ieee875 long double macros and unions. Correct output for large magnitude x. Correct absolute value calculation. (__erfcl): Likewise. * math/libm-test.inc: Add tests for errors discovered in IBM long double versions of fmodl, remainderl, erfl and erfcl.
2013-09-19New test cases for sin and cos for multiple precision fallbackSiddhesh Poyarekar1-0/+18
2013-09-03Fix lgammaf spurious underflow (bug 15427).Joseph Myers1-0/+55
2013-09-02Fix spurious jnf underflows (bug 14155).Joseph Myers1-2/+17
2013-08-23Fix cexp (NaN + i0) (bug 15532).Joseph Myers1-1/+2
2013-08-21Fix fdim handling of infinities (bug 15797).Joseph Myers1-27/+31
2013-08-20Fix cproj handling of (finite, NaN) arguments (bug 15531).Joseph Myers1-0/+40
2013-08-13Fix cbrtl for ldbl-96Andreas Schwab1-0/+5
2013-07-13Annotate more cases of math bug 15319.David S. Miller1-16/+20
* math/libm-test.inc (casin_test_data): Annotate more cases of missing underflows from atanl/atan2l due to bug 15319. (casinh_test_data): Likewise.
2013-06-15Add another fma test.Joseph Myers1-0/+1
2013-06-11Add exception information to math-tests.h and use it in libm-test.inc.Joseph Myers1-17/+21
2013-06-10Add rounding mode information to math-tests.h and use it in libm-test.inc.Joseph Myers1-4/+9
2013-06-03BZ #15536: Fix ulp for 128-bit IBM long double.Carlos O'Donell1-11/+26
In 128-bit IBM long double the precision of the type decreases as you approach subnormal numbers, equaling that of a double for subnormal numbers. Therefore adjust the computation in ulp to use 2^(MIN_EXP - MANT_DIG) which is correct for FP_SUBNORMAL for all types.
2013-05-24Fix ldbl-96 hypotl of subnormals (bug 15529).Joseph Myers1-0/+13
2013-05-24Test drem and pow10 in libm-test.inc.Joseph Myers1-5/+63
2013-05-24Use same tests for isfinite/finite, lgamma/gamma.Joseph Myers1-44/+18
2013-05-24Correctly compute ulp near zero.Carlos O'Donell1-48/+93
The current value used for ulp near zero is wrong, and this commit fixes it such that ulp(0) is the smallest subnormal value nearest to zero, which makes the most sense for testing values near zero. Note that this is not what Java does; they use the nearest normal value, which is less accurate than what we want for glibc. Note that there is no correct implementation of ulp since there is no strict mathmatical definition that is accepted by all groups using IEEE 754. Previously with the large ulp values near zero there were tests that previously passed, but were in fact billions of ulp away from the precise answer. With this commit we now need to disable one of the cpow tests which is revealed to be inaccurate (bug 14473). --- 2013-05-24 Carlos O'Donell <carlos@redhat.com> * math/libm-test.inc (MAX_EXP): Define. (ULPDIFF): Define. (ulp): New function. (check_float_internal): Use ULPDIFF. (cpow_test): Disable failing test. (check_ulp): Test ulp() implemetnation. (main): Call check_ulp before starting tests.
2013-05-24Remove libm-test START_DATA and END_DATA.Joseph Myers1-339/+0
2013-05-24Make libm-test START and END into ordinary macros.Joseph Myers1-169/+176
2013-05-22Don't include function names in test data in generated libm-test.c.Joseph Myers1-117/+229
2013-05-19Handle sincos with generic libm-test logic.Joseph Myers1-47/+54
2013-05-18Make libm-test look up ulps by name at runtime.Joseph Myers1-138/+154
2013-05-17Fix remainder exceptions and directed-rounding results (bugs 15480, 15485).Joseph Myers1-7/+162
2013-05-17Simplify libm-test extra-output initialization.Joseph Myers1-33/+26
2013-05-17Don't handle ulps for integer tests in libm-test.inc.Joseph Myers1-15/+3
2013-05-17Test more cases of "inexact" exceptions in libm-test.inc.Joseph Myers1-1119/+1132
2013-05-16Test for errno setting in more pole error cases.Joseph Myers1-15/+15
2013-05-16Remove ENOSYS tests in libm-test.inc.Joseph Myers1-649/+0
2013-05-16Remove libm-test support for TEST_* inside functions.Joseph Myers1-18/+9
2013-05-16Convert TEST_extra tests from code to data.Joseph Myers1-48/+75
2013-05-16Support testing "inexact" exceptions in libm-test.inc.Joseph Myers1-392/+399
2013-05-16Test for errno setting in more overflow error cases.Joseph Myers1-81/+79
2013-05-16Convert TEST_cc_c tests from code to data.Joseph Myers1-14/+36
2013-05-16Convert TEST_f_L tests from code to data.Joseph Myers1-769/+780
2013-05-15Convert TEST_f_l tests from code to data.Joseph Myers1-167/+179
2013-05-15Consistently use TEST_f_L in tests of llrint and llround.Joseph Myers1-6/+6
2013-05-15Convert TEST_f_b tests from code to data.Joseph Myers1-67/+117
2013-05-15Test for errno setting in more domain error cases.Joseph Myers1-53/+53
2013-05-15Disable libm-test errno testing for TEST_INLINE.Joseph Myers1-0/+2
2013-05-15Convert TEST_ff_i tests from code to data.Joseph Myers1-108/+154
2013-05-14Fix whitespace in RUN_TEST_LOOP_2_f.Joseph Myers1-1/+1
2013-05-14Correct types of fields in libm-test.inc structures.Joseph Myers1-2/+2
2013-05-14Convert TEST_ffI_f1 tests from code to data.Joseph Myers1-15/+46
2013-05-14Convert TEST_f_i tests from code to data.Joseph Myers1-24/+56
2013-05-14Fix function name in scalbln_test call to END.Joseph Myers1-1/+1
2013-05-14Convert TEST_fI_f1 tests from code to data.Joseph Myers1-11/+27