diff options
Diffstat (limited to 'math')
-rw-r--r-- | math/Makefile | 6 | ||||
-rw-r--r-- | math/libm-test.c | 8 |
2 files changed, 8 insertions, 6 deletions
diff --git a/math/Makefile b/math/Makefile index 2be1718..ec5910e 100644 --- a/math/Makefile +++ b/math/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 1996, 1997 Free Software Foundation, Inc. +# Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -41,7 +41,7 @@ libm-map := libm.map libm-support = k_standard s_lib_version s_matherr s_signgam \ fclrexcpt fgetexcptflg fraiseexcpt fsetexcptflg \ ftestexcept fegetround fesetround fegetenv feholdexcpt \ - fesetenv feupdateenv + fesetenv feupdateenv t_exp libm-calls = e_acos e_acosh e_asin e_atan2 e_atanh e_cosh e_exp e_fmod \ e_hypot e_j0 e_j1 e_jn e_lgamma_r e_log e_log10 e_pow \ e_rem_pio2 e_remainder e_scalb e_sinh e_sqrt e_gamma_r \ @@ -78,7 +78,7 @@ distribute += $(long-c-yes:=.c) # Rules for the test suite. tests = test-float test-double $(test-longdouble-$(long-double-fcts)) \ test-ifloat test-idouble test-matherr test-fenv \ - atest-exp atest-sincos atest-exp2 # test-reduce + atest-exp atest-sincos atest-exp2 # We do the `long double' tests only if this data type is available and # distinct from `double'. test-longdouble-yes = test-ldouble test-ildoubl diff --git a/math/libm-test.c b/math/libm-test.c index f35ef41..3dffcad 100644 --- a/math/libm-test.c +++ b/math/libm-test.c @@ -138,6 +138,8 @@ /* Various constants (we must supply them precalculated for accuracy). */ #define M_PI_6 .52359877559829887308L +#define M_E2 7.389056098930650227230L +#define M_E3 20.08553692318766774093L static int noErrors; /* number of errors */ static int noTests; /* number of tests (without testing exceptions) */ @@ -1175,11 +1177,11 @@ exp_test (void) check_isinfp ("exp (+inf) == +inf", FUNC(exp) (plus_infty)); check ("exp (-inf) == 0", FUNC(exp) (minus_infty), 0); #endif - check_eps ("exp (1) == e", FUNC(exp) (1), M_E, CHOOSE (4e-18L, 5e-16, 0)); + check_eps ("exp (1) == e", FUNC(exp) (1), M_E, CHOOSE (4e-18L, 0, 0)); - check_eps ("exp (2) == e^2", FUNC(exp) (2), M_E * M_E, + check_eps ("exp (2) == e^2", FUNC(exp) (2), M_E2, CHOOSE (1e-18, 0, 0)); - check_eps ("exp (3) == e^3", FUNC(exp) (3), M_E * M_E * M_E, + check_eps ("exp (3) == e^3", FUNC(exp) (3), M_E3, CHOOSE (1.5e-17, 0, 0)); check_eps ("exp (0.7) == 2.0137527074...", FUNC(exp) (0.7), 2.0137527074704765216L, CHOOSE(9e-17L, 0, 0)); |