You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Alan Modra 650ef4bd79 PowerPC floating point little-endian [4 of 15] 13 years ago
..
bits New <math.h> macro named issignaling to check for a signaling NaN (sNaN). 13 years ago
machine Update. 27 years ago
Makefile Fix static-binary lazy FPU context allocation 13 years ago
README.libm-test Handle sincos with generic libm-test logic. 13 years ago
Versions New <math.h> macro named issignaling to check for a signaling NaN (sNaN). 13 years ago
atest-exp.c Fix some testsuite build warning fixes in libm 13 years ago
atest-exp2.c De-stringify constants in math/atest-exp2.c. 13 years ago
atest-sincos.c Fix some testsuite build warning fixes in libm 13 years ago
basic-test.c math: Additional type conversion tests 13 years ago
bug-nextafter.c Make more libm tests condition exceptions tests with math-tests.h. 13 years ago
bug-nexttoward.c Make more libm tests condition exceptions tests with math-tests.h. 13 years ago
bug-tgmath1.c Update. 22 years ago
cabs.c Update copyright notices with scripts/update-copyrights. 13 years ago
cabsf.c Update copyright notices with scripts/update-copyrights. 13 years ago
cabsl.c Update copyright notices with scripts/update-copyrights. 13 years ago
carg.c Update copyright notices with scripts/update-copyrights. 13 years ago
cargf.c Update copyright notices with scripts/update-copyrights. 13 years ago
cargl.c Update copyright notices with scripts/update-copyrights. 13 years ago
cimag.c Update copyright notices with scripts/update-copyrights. 13 years ago
cimagf.c Update copyright notices with scripts/update-copyrights. 13 years ago
cimagl.c Update copyright notices with scripts/update-copyrights. 13 years ago
complex.h Don't disable CMPLXL macro for __NO_LONG_DOUBLE_MATH (bug 15488). 13 years ago
conj.c Update copyright notices with scripts/update-copyrights. 13 years ago
conjf.c Update copyright notices with scripts/update-copyrights. 13 years ago
conjl.c Update copyright notices with scripts/update-copyrights. 13 years ago
creal.c Update copyright notices with scripts/update-copyrights. 13 years ago
crealf.c Update copyright notices with scripts/update-copyrights. 13 years ago
creall.c Update copyright notices with scripts/update-copyrights. 13 years ago
divtc3.c Update copyright notices with scripts/update-copyrights. 13 years ago
e_acoshl.c [BZ #157] Remove include/stub-tag.h for good. 14 years ago
e_acosl.c [BZ #157] Remove include/stub-tag.h for good. 14 years ago
e_asinl.c [BZ #157] Remove include/stub-tag.h for good. 14 years ago
e_atan2l.c [BZ #157] Remove include/stub-tag.h for good. 14 years ago
e_atanhl.c [BZ #157] Remove include/stub-tag.h for good. 14 years ago
e_coshl.c [BZ #157] Remove include/stub-tag.h for good. 14 years ago
e_exp2l.c Update copyright notices with scripts/update-copyrights. 13 years ago
e_exp10.c Update copyright notices with scripts/update-copyrights. 13 years ago
e_exp10f.c Update copyright notices with scripts/update-copyrights. 13 years ago
e_exp10l.c Update copyright notices with scripts/update-copyrights. 13 years ago
e_expl.c [BZ #157] Remove include/stub-tag.h for good. 14 years ago
e_fmodl.c [BZ #157] Remove include/stub-tag.h for good. 14 years ago
e_gammal_r.c [BZ #157] Remove include/stub-tag.h for good. 14 years ago
e_hypotl.c [BZ #157] Remove include/stub-tag.h for good. 14 years ago
e_j0l.c [BZ #157] Remove include/stub-tag.h for good. 14 years ago
e_j1l.c [BZ #157] Remove include/stub-tag.h for good. 14 years ago
e_jnl.c [BZ #157] Remove include/stub-tag.h for good. 14 years ago
e_lgammal_r.c [BZ #157] Remove include/stub-tag.h for good. 14 years ago
e_log2l.c [BZ #157] Remove include/stub-tag.h for good. 14 years ago
e_log10l.c [BZ #157] Remove include/stub-tag.h for good. 14 years ago
e_logl.c [BZ #157] Remove include/stub-tag.h for good. 14 years ago
e_powl.c [BZ #157] Remove include/stub-tag.h for good. 14 years ago
e_rem_pio2l.c [BZ #157] Remove include/stub-tag.h for good. 14 years ago
e_scalb.c Update copyright notices with scripts/update-copyrights. 13 years ago
e_scalbf.c Update copyright notices with scripts/update-copyrights. 13 years ago
e_scalbl.c Update copyright notices with scripts/update-copyrights. 13 years ago
e_sinhl.c [BZ #157] Remove include/stub-tag.h for good. 14 years ago
e_sqrtl.c [BZ #157] Remove include/stub-tag.h for good. 14 years ago
fclrexcpt.c Update copyright notices with scripts/update-copyrights. 13 years ago
fedisblxcpt.c Avoid spurious failures from <fenv.h> fallback functions (bug 15654). 13 years ago
feenablxcpt.c Avoid spurious failures from <fenv.h> fallback functions (bug 15654). 13 years ago
fegetenv.c Avoid spurious failures from <fenv.h> fallback functions (bug 15654). 13 years ago
fegetexcept.c Avoid spurious failures from <fenv.h> fallback functions (bug 15654). 13 years ago
fegetround.c Avoid spurious failures from <fenv.h> fallback functions (bug 15654). 13 years ago
feholdexcpt.c Avoid spurious failures from <fenv.h> fallback functions (bug 15654). 13 years ago
fenv.h Update copyright notices with scripts/update-copyrights. 13 years ago
fesetenv.c Avoid spurious failures from <fenv.h> fallback functions (bug 15654). 13 years ago
fesetround.c Avoid spurious failures from <fenv.h> fallback functions (bug 15654). 13 years ago
feupdateenv.c Avoid spurious failures from <fenv.h> fallback functions (bug 15654). 13 years ago
fgetexcptflg.c Avoid spurious failures from <fenv.h> fallback functions (bug 15654). 13 years ago
fpu_control.c Update copyright notices with scripts/update-copyrights. 13 years ago
fraiseexcpt.c Update copyright notices with scripts/update-copyrights. 13 years ago
fsetexcptflg.c Update copyright notices with scripts/update-copyrights. 13 years ago
ftestexcept.c Update copyright notices with scripts/update-copyrights. 13 years ago
gen-libm-test.pl Remove libm-test START_DATA and END_DATA. 13 years ago
ieee-math.c * hurd/hurdinit.c (map0): Remove [!PIC] conditional. 30 years ago
k_casinh.c Fix casinh inaccuracy for imaginary part < 1.0, real part small (bug 10357). 13 years ago
k_casinhf.c Fix casinh inaccuracy for imaginary part < 1.0, real part small (bug 10357). 13 years ago
k_casinhl.c Fix casinh inaccuracy for imaginary part < 1.0, real part small (bug 10357). 13 years ago
k_cosl.c [BZ #157] Remove include/stub-tag.h for good. 14 years ago
k_rem_pio2l.c [BZ #157] Remove include/stub-tag.h for good. 14 years ago
k_sincosl.c Moved to csu/errno-loc.c. 21 years ago
k_sinl.c [BZ #157] Remove include/stub-tag.h for good. 14 years ago
k_tanl.c [BZ #157] Remove include/stub-tag.h for good. 14 years ago
libm-test.inc PowerPC floating point little-endian [4 of 15] 13 years ago
math.h New <math.h> macro named issignaling to check for a signaling NaN (sNaN). 13 years ago
multc3.c Update copyright notices with scripts/update-copyrights. 13 years ago
s_asinhl.c [BZ #157] Remove include/stub-tag.h for good. 14 years ago
s_atanl.c [BZ #157] Remove include/stub-tag.h for good. 14 years ago
s_cacos.c Fix cacos real-part inaccuracy for result real part near 0 (bug 15023). 13 years ago
s_cacosf.c Fix cacos real-part inaccuracy for result real part near 0 (bug 15023). 13 years ago
s_cacosh.c Fix cacosh inaccuracy and spurious exceptions (bug 15327). 13 years ago
s_cacoshf.c Fix cacosh inaccuracy and spurious exceptions (bug 15327). 13 years ago
s_cacoshl.c Fix cacosh inaccuracy and spurious exceptions (bug 15327). 13 years ago
s_cacosl.c Fix cacos real-part inaccuracy for result real part near 0 (bug 15023). 13 years ago
s_casin.c Update copyright notices with scripts/update-copyrights. 13 years ago
s_casinf.c Update copyright notices with scripts/update-copyrights. 13 years ago
s_casinh.c Fix cacos real-part inaccuracy for result real part near 0 (bug 15023). 13 years ago
s_casinhf.c Fix cacos real-part inaccuracy for result real part near 0 (bug 15023). 13 years ago
s_casinhl.c Fix cacos real-part inaccuracy for result real part near 0 (bug 15023). 13 years ago
s_casinl.c Update copyright notices with scripts/update-copyrights. 13 years ago
s_catan.c Fix catan, catanh spurious underflows (bug 15423). 13 years ago
s_catanf.c Fix catan, catanh spurious underflows (bug 15423). 13 years ago
s_catanh.c Fix catan, catanh spurious underflows (bug 15423). 13 years ago
s_catanhf.c Fix catan, catanh spurious underflows (bug 15423). 13 years ago
s_catanhl.c Fix catan, catanh spurious underflows (bug 15423). 13 years ago
s_catanl.c Fix catan, catanh spurious underflows (bug 15423). 13 years ago
s_cbrtl.c [BZ #157] Remove include/stub-tag.h for good. 14 years ago
s_ccos.c Update copyright notices with scripts/update-copyrights. 13 years ago
s_ccosf.c Update copyright notices with scripts/update-copyrights. 13 years ago
s_ccosh.c Fix csin, csinh, ccos, ccosh missing underflows (bug 15405). 13 years ago
s_ccoshf.c Fix csin, csinh, ccos, ccosh missing underflows (bug 15405). 13 years ago
s_ccoshl.c Fix csin, csinh, ccos, ccosh missing underflows (bug 15405). 13 years ago
s_ccosl.c Update copyright notices with scripts/update-copyrights. 13 years ago
s_cexp.c Fix cexp (NaN + i0) (bug 15532). 13 years ago
s_cexpf.c Fix cexp (NaN + i0) (bug 15532). 13 years ago
s_cexpl.c Fix cexp (NaN + i0) (bug 15532). 13 years ago
s_clog.c Update copyright notices with scripts/update-copyrights. 13 years ago
s_clog10.c Update copyright notices with scripts/update-copyrights. 13 years ago
s_clog10f.c Update copyright notices with scripts/update-copyrights. 13 years ago
s_clog10l.c Update copyright notices with scripts/update-copyrights. 13 years ago
s_clogf.c Update copyright notices with scripts/update-copyrights. 13 years ago
s_clogl.c Update copyright notices with scripts/update-copyrights. 13 years ago
s_cpow.c Update copyright notices with scripts/update-copyrights. 13 years ago
s_cpowf.c Update copyright notices with scripts/update-copyrights. 13 years ago
s_cpowl.c Update copyright notices with scripts/update-copyrights. 13 years ago
s_cproj.c Fix cproj handling of (finite, NaN) arguments (bug 15531). 13 years ago
s_cprojf.c Fix cproj handling of (finite, NaN) arguments (bug 15531). 13 years ago
s_cprojl.c Fix cproj handling of (finite, NaN) arguments (bug 15531). 13 years ago
s_csin.c Fix csin, csinh, ccos, ccosh missing underflows (bug 15405). 13 years ago
s_csinf.c Fix csin, csinh, ccos, ccosh missing underflows (bug 15405). 13 years ago
s_csinh.c Fix csin, csinh, ccos, ccosh missing underflows (bug 15405). 13 years ago
s_csinhf.c Fix csin, csinh, ccos, ccosh missing underflows (bug 15405). 13 years ago
s_csinhl.c Fix csin, csinh, ccos, ccosh missing underflows (bug 15405). 13 years ago
s_csinl.c Fix csin, csinh, ccos, ccosh missing underflows (bug 15405). 13 years ago
s_csqrt.c Update copyright notices with scripts/update-copyrights. 13 years ago
s_csqrtf.c Update copyright notices with scripts/update-copyrights. 13 years ago
s_csqrtl.c Update copyright notices with scripts/update-copyrights. 13 years ago
s_ctan.c Update copyright notices with scripts/update-copyrights. 13 years ago
s_ctanf.c Update copyright notices with scripts/update-copyrights. 13 years ago
s_ctanh.c Update copyright notices with scripts/update-copyrights. 13 years ago
s_ctanhf.c Update copyright notices with scripts/update-copyrights. 13 years ago
s_ctanhl.c Update copyright notices with scripts/update-copyrights. 13 years ago
s_ctanl.c Update copyright notices with scripts/update-copyrights. 13 years ago
s_erfl.c [BZ #157] Remove include/stub-tag.h for good. 14 years ago
s_expm1l.c [BZ #157] Remove include/stub-tag.h for good. 14 years ago
s_fdim.c Fix fdim handling of infinities (bug 15797). 13 years ago
s_fdimf.c Fix fdim handling of infinities (bug 15797). 13 years ago
s_fdiml.c Fix fdim handling of infinities (bug 15797). 13 years ago
s_fma.c Update copyright notices with scripts/update-copyrights. 13 years ago
s_fmaf.c Update copyright notices with scripts/update-copyrights. 13 years ago
s_fmal.c Update copyright notices with scripts/update-copyrights. 13 years ago
s_fmax.c Update copyright notices with scripts/update-copyrights. 13 years ago
s_fmaxf.c Update copyright notices with scripts/update-copyrights. 13 years ago
s_fmaxl.c Update copyright notices with scripts/update-copyrights. 13 years ago
s_fmin.c Update copyright notices with scripts/update-copyrights. 13 years ago
s_fminf.c Update copyright notices with scripts/update-copyrights. 13 years ago
s_fminl.c Update copyright notices with scripts/update-copyrights. 13 years ago
s_ldexp.c Remove __STDC__ conditionals from libm. 14 years ago
s_ldexpf.c Remove __STDC__ conditionals from libm. 14 years ago
s_ldexpl.c Remove __STDC__ conditionals from libm. 14 years ago
s_log1pl.c [BZ #157] Remove include/stub-tag.h for good. 14 years ago
s_nan.c Update copyright notices with scripts/update-copyrights. 13 years ago
s_nanf.c Update copyright notices with scripts/update-copyrights. 13 years ago
s_nanl.c Update copyright notices with scripts/update-copyrights. 13 years ago
s_nextafter.c Remove __STDC__ conditionals from libm. 14 years ago
s_nexttowardf.c Fix nexttoward bugs (bugs 2550, 2570). 14 years ago
s_nexttowardl.c Moved to csu/errno-loc.c. 21 years ago
s_significand.c Remove __STDC__ conditionals from libm. 14 years ago
s_significandf.c Remove __STDC__ conditionals from libm. 14 years ago
s_significandl.c Remove __STDC__ conditionals from libm. 14 years ago
s_tanhl.c [BZ #157] Remove include/stub-tag.h for good. 14 years ago
setfpucw.c Update copyright notices with scripts/update-copyrights. 13 years ago
t_sincosl.c Moved to csu/errno-loc.c. 21 years ago
test-double.c Update copyright notices with scripts/update-copyrights. 13 years ago
test-fenv.c Update copyright notices with scripts/update-copyrights. 13 years ago
test-float.c Update copyright notices with scripts/update-copyrights. 13 years ago
test-fpucw-ieee-static.c Fix static-binary lazy FPU context allocation 13 years ago
test-fpucw-ieee.c Fix static-binary lazy FPU context allocation 13 years ago
test-fpucw-static.c Fix static-binary lazy FPU context allocation 13 years ago
test-fpucw.c Fix static-binary lazy FPU context allocation 13 years ago
test-idouble.c Update copyright notices with scripts/update-copyrights. 13 years ago
test-ifloat.c Update copyright notices with scripts/update-copyrights. 13 years ago
test-ildoubl.c Update copyright notices with scripts/update-copyrights. 13 years ago
test-ldouble.c Update copyright notices with scripts/update-copyrights. 13 years ago
test-matherr.c Update. 29 years ago
test-misc.c PowerPC floating point little-endian [1 of 15] 13 years ago
test-powl.c Update copyright notices with scripts/update-copyrights. 13 years ago
test-snan.c New <math.h> macro named issignaling to check for a signaling NaN (sNaN). 13 years ago
test-tgmath-int.c Update copyright notices with scripts/update-copyrights. 13 years ago
test-tgmath-ret.c Update copyright notices with scripts/update-copyrights. 13 years ago
test-tgmath.c Update copyright notices with scripts/update-copyrights. 13 years ago
test-tgmath2.c Update copyright notices with scripts/update-copyrights. 13 years ago
tgmath.h Update copyright notices with scripts/update-copyrights. 13 years ago
tst-CMPLX.c Don't disable CMPLXL macro for __NO_LONG_DOUBLE_MATH (bug 15488). 13 years ago
tst-CMPLX2.c Don't disable CMPLXL macro for __NO_LONG_DOUBLE_MATH (bug 15488). 13 years ago
tst-definitions.c Update copyright notices with scripts/update-copyrights. 13 years ago
w_acos.c Update copyright notices with scripts/update-copyrights. 13 years ago
w_acosf.c Update copyright notices with scripts/update-copyrights. 13 years ago
w_acosh.c Update copyright notices with scripts/update-copyrights. 13 years ago
w_acoshf.c Update copyright notices with scripts/update-copyrights. 13 years ago
w_acoshl.c Update copyright notices with scripts/update-copyrights. 13 years ago
w_acosl.c Update copyright notices with scripts/update-copyrights. 13 years ago
w_asin.c Update copyright notices with scripts/update-copyrights. 13 years ago
w_asinf.c Update copyright notices with scripts/update-copyrights. 13 years ago
w_asinl.c Update copyright notices with scripts/update-copyrights. 13 years ago
w_atan2.c Update copyright notices with scripts/update-copyrights. 13 years ago
w_atan2f.c Update copyright notices with scripts/update-copyrights. 13 years ago
w_atan2l.c Update copyright notices with scripts/update-copyrights. 13 years ago
w_atanh.c Update copyright notices with scripts/update-copyrights. 13 years ago
w_atanhf.c Update copyright notices with scripts/update-copyrights. 13 years ago
w_atanhl.c Update copyright notices with scripts/update-copyrights. 13 years ago
w_cosh.c Optimize libm 15 years ago
w_coshf.c Optimize libm 15 years ago
w_coshl.c Avoid overflows from long double functions using __kernel_standard. 14 years ago
w_drem.c Moved to csu/errno-loc.c. 21 years ago
w_dremf.c Remove trailing whitespace. 13 years ago
w_dreml.c Moved to csu/errno-loc.c. 21 years ago
w_exp2.c Fix missing exp2 overflow exception (bug 13871). 14 years ago
w_exp2f.c Fix missing exp2 overflow exception (bug 13871). 14 years ago
w_exp2l.c Avoid overflows from long double functions using __kernel_standard. 14 years ago
w_exp10.c Update copyright notices with scripts/update-copyrights. 13 years ago
w_exp10f.c Update copyright notices with scripts/update-copyrights. 13 years ago
w_exp10l.c Update copyright notices with scripts/update-copyrights. 13 years ago
w_expl.c Moved to csu/errno-loc.c. 21 years ago
w_fmod.c Update copyright notices with scripts/update-copyrights. 13 years ago
w_fmodf.c Update copyright notices with scripts/update-copyrights. 13 years ago
w_fmodl.c Update copyright notices with scripts/update-copyrights. 13 years ago
w_hypot.c Optimize libm 15 years ago
w_hypotf.c Optimize libm 15 years ago
w_hypotl.c Avoid overflows from long double functions using __kernel_standard. 14 years ago
w_ilogb.c Update copyright notices with scripts/update-copyrights. 13 years ago
w_ilogbf.c Update copyright notices with scripts/update-copyrights. 13 years ago
w_ilogbl.c Update copyright notices with scripts/update-copyrights. 13 years ago
w_j0.c Update copyright notices with scripts/update-copyrights. 13 years ago
w_j0f.c Update copyright notices with scripts/update-copyrights. 13 years ago
w_j0l.c Update copyright notices with scripts/update-copyrights. 13 years ago
w_j1.c Update copyright notices with scripts/update-copyrights. 13 years ago
w_j1f.c Update copyright notices with scripts/update-copyrights. 13 years ago
w_j1l.c Update copyright notices with scripts/update-copyrights. 13 years ago
w_jn.c Update copyright notices with scripts/update-copyrights. 13 years ago
w_jnf.c Update copyright notices with scripts/update-copyrights. 13 years ago
w_jnl.c Avoid overflows from long double functions using __kernel_standard. 14 years ago
w_lgamma.c Optimize libm 15 years ago
w_lgamma_r.c Optimize libm 15 years ago
w_lgammaf.c Optimize libm 15 years ago
w_lgammaf_r.c Optimize libm 15 years ago
w_lgammal.c Avoid overflows from long double functions using __kernel_standard. 14 years ago
w_lgammal_r.c Optimize libm 15 years ago
w_log.c Update copyright notices with scripts/update-copyrights. 13 years ago
w_log2.c Update copyright notices with scripts/update-copyrights. 13 years ago
w_log2f.c Update copyright notices with scripts/update-copyrights. 13 years ago
w_log2l.c Update copyright notices with scripts/update-copyrights. 13 years ago
w_log10.c Update copyright notices with scripts/update-copyrights. 13 years ago
w_log10f.c Update copyright notices with scripts/update-copyrights. 13 years ago
w_log10l.c Update copyright notices with scripts/update-copyrights. 13 years ago
w_logf.c Update copyright notices with scripts/update-copyrights. 13 years ago
w_logl.c Update copyright notices with scripts/update-copyrights. 13 years ago
w_pow.c Update copyright notices with scripts/update-copyrights. 13 years ago
w_powf.c Update copyright notices with scripts/update-copyrights. 13 years ago
w_powl.c Update copyright notices with scripts/update-copyrights. 13 years ago
w_remainder.c Update copyright notices with scripts/update-copyrights. 13 years ago
w_remainderf.c Update copyright notices with scripts/update-copyrights. 13 years ago
w_remainderl.c Update copyright notices with scripts/update-copyrights. 13 years ago
w_scalb.c Update copyright notices with scripts/update-copyrights. 13 years ago
w_scalbf.c Update copyright notices with scripts/update-copyrights. 13 years ago
w_scalbl.c Update copyright notices with scripts/update-copyrights. 13 years ago
w_sinh.c Optimize libm 15 years ago
w_sinhf.c Optimize libm 15 years ago
w_sinhl.c Avoid overflows from long double functions using __kernel_standard. 14 years ago
w_sqrt.c Update copyright notices with scripts/update-copyrights. 13 years ago
w_sqrtf.c Update copyright notices with scripts/update-copyrights. 13 years ago
w_sqrtl.c Update copyright notices with scripts/update-copyrights. 13 years ago
w_tgamma.c Fix tgamma errno setting on domain error (bug 6809). 13 years ago
w_tgammaf.c Fix tgamma errno setting on domain error (bug 6809). 13 years ago
w_tgammal.c Fix tgamma errno setting on domain error (bug 6809). 13 years ago

README.libm-test

README for libm-test math test suite
====================================

The libm-test math test suite tests a number of function points of
math functions in the GNU C library. The following sections contain a
brief overview. Please note that the test drivers and the Perl script
"gen-libm-test.pl" have some options. A full list of options is
available with --help (for the test drivers) and -h for
"gen-libm-test.pl".


What is tested?
===============
The tests just evaluate the functions at specified points and compare
the results with precomputed values and the requirements of the ISO
C99 standard.

Besides testing the special values mandated by IEEE 754 (infinities,
NaNs and minus zero), some more or less random values are tested.

Files that are part of libm-test
================================

The main file is "libm-test.inc". It is platform and floating point
format independent. The file must be preprocessed by the Perl script
"gen-libm-test.pl". The results are "libm-test.c" and a file
"libm-test-ulps.h" with platform specific deltas.

The test drivers test-double.c, test-float.c, test-ldouble.c test the
normal double, float and long double implementation of libm. The test
drivers with an i in it (test-idouble.c, test-ifloat.c,
test-ildoubl.c) test the corresponding inline functions (where
available - otherwise they also test the real functions in libm).

"gen-libm-test.pl" needs a platform specific files with ULPs (Units of
Last Precision). The file is called "libm-test-ulps" and lives in
platform specific sysdep directory.

How can I generate "libm-test-ulps"?
====================================

To automatically generate a new "libm-test-ulps" run "make regen-ulps".
This generates the file "math/NewUlps" in the build directory. The file
contains the sorted results of all the tests. You can use the "NewUlps"
file as the machine's updated "libm-test-ulps" file. Copy "NewUlps" to
"libm-test-ulps" in the appropriate machine sysdep directory. Verify
the changes, post your patch, and check it in after review.

To manually generate a new "libm-test-ulps" file, first remove "ULPs"
file in the current directory, then you can execute for example:
./testrun.sh math/test-double -u --ignore-max-ulp=yes
This generates a file "ULPs" with all double ULPs in it, ignoring any
previously calculated ULPs, and running with the newly built dynamic
loader and math library (assumes you didn't install your build). Now
generate the ULPs for all other formats, the tests will be appending the
data to the "ULPs" file. As final step run "gen-libm-test.pl" with the
file as input and ask to generate a pretty printed output in the file
"NewUlps":
gen-libm-test.pl -u ULPs -n
Copy "NewUlps" to "libm-test-ulps" in the appropriate machine sysdep
directory.

Note that the test drivers have an option "-u" to output an unsorted
list of all epsilons that the functions have. The output can be read
in directly but it's better to pretty print it first.
"gen-libm-test.pl" has an option to generate a pretty-printed and
sorted new ULPs file from the output of the test drivers.

Contents of libm-test-ulps
==========================
Since libm-test-ulps can be generated automatically, just a few
notes. The file contains lines for single tests, like:
Test "cos (pi/2) == 0":
float: 1

and lines for maximal errors of single functions, like:
Function "yn":
idouble: 6.0000

The keywords are float, ifloat, double, idouble, ldouble and ildouble
(the prefix i stands for inline).

Adding tests to libm-test.inc
=============================

The tests are evaluated by a set of special test macros. The macros
start with "TEST_" followed by a specification the input values, an
underscore and a specification of the output values. As an example,
the test macro for a function with input of type FLOAT (FLOAT is
either float, double, long double) and output of type FLOAT is
"TEST_f_f". The macro's parameter are the name of the function, the
input parameter, output parameter and optionally one exception
parameter.

The accepted parameter types are:
- "f" for FLOAT
- "b" for boolean - just tests if the output parameter evaluates to 0
or 1 (only for output).
- "c" for complex. This parameter needs two values, first the real,
then the imaginary part.
- "i" for int.
- "l" for long int.
- "L" for long long int.
- "F" for the address of a FLOAT (only as input parameter)
- "I" for the address of an int (only as input parameter)