| History log of /src/tests/lib/libm/Makefile |
| Revision | | Date | Author | Comments |
| 1.54 |
| 16-Sep-2025 |
nat | Revert to previous as requested by Rin.
As I found out the hack only applies to libc/softfloat which has issues on m68k.
The hack should not have been applied to all m68k configurations.
|
| 1.53 |
| 11-Sep-2025 |
nat | Opps...Fix build.
|
| 1.52 |
| 11-Sep-2025 |
nat | Fix segfaults of libm tests noticable on m68k.
Also document it in doc/HACKS.
|
| 1.51 |
| 19-Sep-2024 |
gdt | tests: Add test for remquo
This test currently fails, because remquo has bugs. (A bugfix will be committed soon.) Test vectors derived from results from code by Charles Karney in GeodesicLib/proj, and manually inspected.
|
| 1.50 |
| 09-Sep-2024 |
riastradh | math.h: Add math_errhandling, MATH_ERRNO, MATH_ERREXCEPT.
XXX Should maybe put a __math_errhandling in machine/math.h, but only VAX uses MATH_ERRNO and that's not likely to change any time soon, so this will serve for now with less churn.
PR standards/56234: missing C99 frobs in <math.h>
|
| 1.49 |
| 05-May-2024 |
riastradh | branches: 1.49.2; tests/lib/libm: Test nextafter/nexttoward and variants.
The tests are fairly trivial but should work without any conditionals about floating-point formats.
|
| 1.48 |
| 27-Aug-2022 |
christos | branches: 1.48.2; Add sincos{,f,l} from FreeBSD
|
| 1.47 |
| 21-Jun-2020 |
lukem | fix build of t_cabsl from t_cabsl.cxx
t_cabsl source is in t_cabsl.cxx not t_cabsl.cc - the latter is what bsd.tests.mk defaults to.
This only broke after my commit of share/mk/bsd.dep.mk rev 1.85 but I don't know why it didn't cause a problem previously.
|
| 1.46 |
| 26-Apr-2019 |
maya | branches: 1.46.2; Add a test case for signbit. (paranoia prior to a libm change)
|
| 1.45 |
| 07-Nov-2018 |
riastradh | Build libm tests with -fno-builtin.
This way they test libm, not whatever the compiler does.
We should _also_ have automatic integration tests for what the compiler does, as a separate thing.
|
| 1.44 |
| 20-Jun-2018 |
maya | branches: 1.44.2; Add test case for PR lib/50646.
Make sure that cabsl (aka __c99_cabsl) is usable from C++.
|
| 1.43 |
| 04-Jun-2018 |
maya | Blindly add __TEST_FENV in the hope of fixing the vax build.
(So we can include fenv.h, and then not use it - we ifdef vax out for OS-portability reasons.)
|
| 1.42 |
| 20-Dec-2016 |
maya | branches: 1.42.12; define __TEST_FENV in the makefile for t_fe_round should fix vax build (it doesn't have fenv.h)
|
| 1.41 |
| 19-Dec-2016 |
maya | add test for fesetround/fegetround that uses lrint (and tests it a bunch). It doesn't fail on amd64.
|
| 1.40 |
| 31-Aug-2016 |
maya | Add failing test for casinh
|
| 1.39 |
| 23-Aug-2016 |
christos | portability fixes
|
| 1.38 |
| 22-Aug-2016 |
maya | add failing test for PR lib/51427 ilogb(INFINITY)=-INT_MAX, it should be INT_MAX
while here, test raised exceptions, other values.
XXX some platforms don't have exceptions
|
| 1.37 |
| 24-Jan-2016 |
gson | branches: 1.37.2; Add some tests of hypot() and hypotf()
|
| 1.36 |
| 22-Dec-2015 |
christos | add __TEST_FENV
|
| 1.35 |
| 22-Dec-2015 |
christos | put have fenv stuff elsewhere.
|
| 1.34 |
| 22-Dec-2015 |
martin | Sync list of fenv enabled architectures again (PR 48633), this time for mips addition.
|
| 1.33 |
| 21-Dec-2015 |
martin | While PR 48633 is not properly fixed, keep the additional lists of fenv-enabled architectures in sync.
|
| 1.32 |
| 20-Jan-2015 |
snj | Remove stale comment about ARM fenv support.
|
| 1.31 |
| 03-Jan-2015 |
gson | Mark the lib/libm/t_fmod test as an expected failure under QEMU, with a reference to PR misc/44767.
|
| 1.30 |
| 27-Dec-2014 |
martin | Enable fenv.h on arm again
|
| 1.29 |
| 27-Dec-2014 |
martin | fenv(3) support for hppa
|
| 1.28 |
| 22-Dec-2014 |
martin | Disabel fenv tests for arm, the implementation is incomplete.
|
| 1.27 |
| 21-Dec-2014 |
martin | Add a test program for basic fenv.h rounding mode/exception mask testing.
|
| 1.26 |
| 10-Aug-2014 |
martin | branches: 1.26.2; Use the same condition for HAVE_FENV
|
| 1.25 |
| 16-Jun-2014 |
joerg | Add modfl(3). From FreeBSD.
|
| 1.24 |
| 18-May-2014 |
martin | Re-enable alpha IEEE compiler options
|
| 1.23 |
| 05-May-2014 |
martin | Comment out the ieee fp flags for alpha for now - something (tm) is not working right, see PR port-alpha/48782.
|
| 1.22 |
| 28-Apr-2014 |
martin | Tune COPTS for alpha
|
| 1.21 |
| 03-Mar-2014 |
martin | branches: 1.21.2; Define HAVE_FENV_H on architectures that support it. What a mess, we need a central place for this!
|
| 1.20 |
| 12-Nov-2013 |
joerg | Initial version of fmodl from FreeBSD. Basic test case for the fmod family.
|
| 1.19 |
| 11-Nov-2013 |
joerg | NetBSD 6.99.26: Switch i386 and amd64 to the x87 default control word as initial value for new processes. This means that long double computations get the expected 63bit mantissa. Binaries tagged as compiled for 6.99.25 and older get the old value.
Add a simple test case to ensure that double and long double computation are working correctly.
|
| 1.18 |
| 13-Apr-2012 |
njoly | branches: 1.18.2; Do not re-add -mieee option on alpha, it's already set by default.
|
| 1.17 |
| 16-Oct-2011 |
jruoho | branches: 1.17.2; Remove 't_rint' as it was committed accidentally.
|
| 1.16 |
| 16-Oct-2011 |
jruoho | As couple of checks fails on i386/qemu, reduce tolerance.
|
| 1.15 |
| 16-Oct-2011 |
jruoho | Add t_sqrt and t_cbrt.
|
| 1.14 |
| 16-Oct-2011 |
jruoho | Basic IEEE tests for the hyperbolic sine and cosine.
|
| 1.13 |
| 18-Sep-2011 |
jruoho | IEEE checks for the exponential family.
|
| 1.12 |
| 17-Sep-2011 |
jruoho | IEEE checks for the arcus functions.
|
| 1.11 |
| 17-Sep-2011 |
jruoho | Few tests for the error functions.
|
| 1.10 |
| 17-Sep-2011 |
jruoho | IEEE corner case tests for the pow(3) family (incl. PR lib/45372).
|
| 1.9 |
| 14-Sep-2011 |
jruoho | Some tests for sine, cosine, and tangent.
|
| 1.8 |
| 12-Sep-2011 |
jruoho | Merge 't_floor' to 't_ceil', and simplify.
|
| 1.7 |
| 12-Sep-2011 |
jruoho | Start systematic testing of libm(3) by first evaluating the corner cases (NaN, +0.0, -0.0, +Inf, -Inf) for the ldexp(3) and scalbn(3) families.
|
| 1.6 |
| 11-Apr-2011 |
martin | Try to generate infinite values in all available floating point formats on the FPU and check isinf() and fpclassify() results. This is different from the libc internal consistency checks testing PR lib/33262.
|
| 1.5 |
| 10-Apr-2011 |
jruoho | Add a test case for PR lib/41931 reported by he@. It was verified that these fail on NetBSD 5.99.48 amd64 but pass on amd64 Linux (glibc 2.7).
|
| 1.4 |
| 08-Apr-2011 |
jruoho | Move the round(3) checks from 't_libm' to their own 't_round' for consistency. Add -Wfloat-equal and fix comparisons.
|
| 1.3 |
| 06-Apr-2011 |
jruoho | A test case for PR lib/44057.
|
| 1.2 |
| 24-Mar-2011 |
jruoho | Add dummy test cases for ceil(3) and floor(3). It is expected that at least one of these will fail on guest x86_64 NetBSD under Qemu. Thanks to pgoyette@ for checking the broken floor(16.999999...) = 17.
|
| 1.1 |
| 20-Dec-2010 |
pgoyette | Move the only regress/lib/libm test to the new atf format
|
| 1.17.2.2 |
| 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.17.2.1 |
| 17-Apr-2012 |
yamt | sync with head
|
| 1.18.2.1 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.21.2.1 |
| 10-Aug-2014 |
tls | Rebase.
|
| 1.26.2.2 |
| 20-Jan-2015 |
snj | Pull up following revision(s) (requested by martin in ticket #416): distrib/sets/lists/comp/md.hppa: revision 1.3 include/fenv.h: revision 1.13 via patch lib/libm/Makefile: revision 1.168 lib/libm/arch/hppa/fenv.c: revisions 1.1, 1.2 sys/arch/hppa/include/Makefile: revision 1.12 sys/arch/hppa/include/fenv.h: revisions 1.1, 1.2 sys/arch/hppa/include/ieeefp.h: revisions 1.5-1.7 tests/lib/libm/Makefile: revision 1.29 via patch fenv(3) support for hppa -- use unsigned over uint32_t so that this file works without stdint.h being included before hand. fixes mknative-gcc problems, and likely others. -- Properly separate fenv.h and ieeefp.h by moving all fenv defines over to the former. Now that they are decoupled, make rounding modes match the hardware bits. -- Simplify, now that rounding mode defines match the hardware bits.
|
| 1.26.2.1 |
| 12-Jan-2015 |
snj | Pull up following revision(s) (requested by gson in ticket #413): tests/lib/libm/Makefile: revision 1.31 tests/lib/libm/t_fmod.c: revision 1.3 Mark the lib/libm/t_fmod test as an expected failure under QEMU, with a reference to PR misc/44767.
|
| 1.37.2.1 |
| 07-Jan-2017 |
pgoyette | Sync with HEAD. (Note that most of these changes are simply $NetBSD$ tag issues.)
|
| 1.42.12.2 |
| 26-Nov-2018 |
pgoyette | Sync with HEAD, resolve a couple of conflicts
|
| 1.42.12.1 |
| 25-Jun-2018 |
pgoyette | Sync with HEAD
|
| 1.44.2.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
| 1.46.2.1 |
| 13-Oct-2024 |
martin | Pull up following revision(s) (requested by riastradh in ticket #963):
tests/lib/libm/Makefile: revision 1.49 distrib/sets/lists/tests/mi: revision 1.1315 tests/lib/libm/t_next.c: revision 1.1 tests/lib/libm/t_next.c: revision 1.2 distrib/sets/lists/debug/mi: revision 1.435 tests/lib/libm/t_next.c: revision 1.3 tests/lib/libm/t_next.c: revision 1.4 tests/lib/libm/t_next.c: revision 1.5 tests/lib/libm/t_next.c: revision 1.6 lib/libm/src/s_nexttoward.c: revision 1.3 (all via patch)
tests/lib/libm: Test nextafter/nexttoward and variants.
The tests are fairly trivial but should work without any conditionals about floating-point formats. tests/lib/libm/t_next: Disable this test on VAX.
But leave a replacement xfail test that fails unconditionally, to leave a reminder in the tests of PR 57881: vax libm is missing various symbols.
tests/lib/libm/t_next: Fix stub on VAX. Tested building the wrong tree, oops.
tests/lib/libm/t_next: Expand substantially.
This covers many more potential problem areas -- and includes a new xfail test for PR lib/58236: nexttoward(3) is broken on subnormals. tests/lib/libm/t_next: nexttoward works if it's just nextafter.
It's broken on platforms where long double and double aren't the same and nexttoward isn't an alias for nextafter. nexttoward(3): Fix high-word test on small positive subnormals.
By this point in the logic, x can't be zero, so it's either positive or negative.
The high word hx, however, can be zero, when x is a small positive subnormal. This means x is a small positive subnormal, so if x > y we are computing nextDown, and if x < y we are computing nextUp. hx is a (signed 32-bit) integer, not a double floating-point number, so it's a little silly to compare hx > 0.0. But that on its own isn't enough to trigger the bug because all signed 32-bit integers can be represented by double on all NetBSD architectures. PR lib/58236
|
| 1.48.2.3 |
| 13-Oct-2024 |
martin | Pull up following revision(s) (requested by riastradh in ticket #963):
tests/lib/libm/Makefile: revision 1.49 distrib/sets/lists/tests/mi: revision 1.1315 tests/lib/libm/t_next.c: revision 1.1 tests/lib/libm/t_next.c: revision 1.2 distrib/sets/lists/debug/mi: revision 1.435 tests/lib/libm/t_next.c: revision 1.3 tests/lib/libm/t_next.c: revision 1.4 tests/lib/libm/t_next.c: revision 1.5 tests/lib/libm/t_next.c: revision 1.6 lib/libm/src/s_nexttoward.c: revision 1.3
tests/lib/libm: Test nextafter/nexttoward and variants.
The tests are fairly trivial but should work without any conditionals about floating-point formats. tests/lib/libm/t_next: Disable this test on VAX.
But leave a replacement xfail test that fails unconditionally, to leave a reminder in the tests of PR 57881: vax libm is missing various symbols.
tests/lib/libm/t_next: Fix stub on VAX. Tested building the wrong tree, oops.
tests/lib/libm/t_next: Expand substantially.
This covers many more potential problem areas -- and includes a new xfail test for PR lib/58236: nexttoward(3) is broken on subnormals. tests/lib/libm/t_next: nexttoward works if it's just nextafter.
It's broken on platforms where long double and double aren't the same and nexttoward isn't an alias for nextafter. nexttoward(3): Fix high-word test on small positive subnormals.
By this point in the logic, x can't be zero, so it's either positive or negative.
The high word hx, however, can be zero, when x is a small positive subnormal. This means x is a small positive subnormal, so if x > y we are computing nextDown, and if x < y we are computing nextUp. hx is a (signed 32-bit) integer, not a double floating-point number, so it's a little silly to compare hx > 0.0. But that on its own isn't enough to trigger the bug because all signed 32-bit integers can be represented by double on all NetBSD architectures. PR lib/58236
|
| 1.48.2.2 |
| 11-Oct-2024 |
martin | Pull up following revision(s) (requested by riastradh in ticket #950):
include/math.h: revision 1.71 include/math.h: revision 1.72 distrib/sets/lists/debug/mi: revision 1.448 tests/lib/libm/t_errhandling.c: revision 1.1 tests/lib/libm/t_errhandling.c: revision 1.2 tests/lib/libm/t_errhandling.c: revision 1.3 distrib/sets/lists/tests/mi: revision 1.1337 tests/lib/libm/Makefile: revision 1.50
math.h: Define FP_FAST_FMA, FP_FAST_FMAF, FP_FAST_FMAL.
These are not strictly necessary to define, really, so we haven't exactly been nonconformant. But they tell programs when they can enable fast paths by using the fma(3) family of functions.
PR standards/56234: missing C99 frobs in <math.h>
math.h: Add math_errhandling, MATH_ERRNO, MATH_ERREXCEPT. XXX Should maybe put a __math_errhandling in machine/math.h, but only VAX uses MATH_ERRNO and that's not likely to change any time soon, so this will serve for now with less churn. PR standards/56234: missing C99 frobs in <math.h>
math.h: Add missing file for math_errhandling test. PR standards/56234: missing C99 frobs in <math.h>
Add __TEST_FENV define to fix vax build
libm/t_errhandling.c: Put __TEST_FENV before any #includes.
This pattern avoids any potential problem with transitive inclusions of fenv.h. (No change here because nothing else this file includes transitively pulls in fenv.h, but being in the habit of doing it this way avoids a class of problems.)
PR standards/56234: missing C99 frobs in <math.h>
|
| 1.48.2.1 |
| 02-Oct-2024 |
martin | Pull up following revision(s) (requested by gdt in ticket #912):
distrib/sets/lists/debug/mi: revision 1.449 lib/libm/src/s_remquo.c: revision 1.3 lib/libm/src/s_remquo.c: revision 1.4 distrib/sets/lists/tests/mi: revision 1.1339 tests/lib/libm/t_remquo.c: revision 1.1 tests/lib/libm/t_remquo.c: revision 1.2 tests/lib/libm/Makefile: revision 1.51
tests: Add test for remquo
This test currently fails, because remquo has bugs. (A bugfix will be committed soon.) Test vectors derived from results from code by Charles Karney in GeodesicLib/proj, and manually inspected.
t_remquo: Work around missing remquo(3) for vax Part of PR port-vax/57881
libm/remquo: Fix bug where wrong quotient was returned
Fix taken from FreeBSD: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=166463 https://cgit.freebsd.org/src/commit/lib/msun/src/s_remquo.c?id=1cbd288942b08217e99bf889e0967895d53af00c
FreeBSD commit message: Fix a bug in remquo{,f,l}, in which the quotient didn't always have the correct sign when the remainder was 0. Fix a separate bug in remquo alone, in which the remainder and quotient were both off by a bit in certain cases involving subnormal remainders. The bugs affected all platforms except amd64 and i386, on which the routines are implemented in assembly.
(On NetBSD, this bug manifests on amd64.)
libm/remquo: Fix bug where remquo returned wrong sign of quo ISO C requires that quo be congruent to the quotient mod 2^k and have a particular sign. The current code can return 0 when it should be negative. Because the code chooses k=31 (for the requirement of congruence modulo 2^k), the only value available (in ILP32 or LP64) that is negative and congruent to 0 is 0x80000000. In the specific case of wanting "-0", return 0x80000000. Resolves t_remquo test failure.
|
| 1.49.2.1 |
| 02-Aug-2025 |
perseant | Sync with HEAD
|