Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/tests/lib/libm Tune the epsilon about each value for exp{, f}...



details:   https://anonhg.NetBSD.org/src/rev/09ad72e1163d
branches:  trunk
changeset: 785985:09ad72e1163d
user:      isaki <isaki%NetBSD.org@localhost>
date:      Tue Apr 09 11:42:56 2013 +0000

description:
Tune the epsilon about each value for exp{,f}_product.

diffstat:

 tests/lib/libm/t_exp.c |  27 +++++++++++++++------------
 1 files changed, 15 insertions(+), 12 deletions(-)

diffs (70 lines):

diff -r 4bf9300ab7d1 -r 09ad72e1163d tests/lib/libm/t_exp.c
--- a/tests/lib/libm/t_exp.c    Tue Apr 09 08:00:20 2013 +0000
+++ b/tests/lib/libm/t_exp.c    Tue Apr 09 11:42:56 2013 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: t_exp.c,v 1.2 2012/05/30 15:14:10 jruoho Exp $ */
+/* $NetBSD: t_exp.c,v 1.3 2013/04/09 11:42:56 isaki Exp $ */
 
 /*-
  * Copyright (c) 2011 The NetBSD Foundation, Inc.
@@ -36,16 +36,17 @@
 static const struct {
        double x;
        double y;
+       double e;
 } exp_values[] = {
-       {  -10, 0.4539992976248485e-4, },
-       {   -5, 0.6737946999085467e-2, },
-       {   -1, 0.3678794411714423, },
-       { -0.1, 0.9048374180359595, },
-       {    0, 1.0000000000000000, },
-       {  0.1, 1.1051709180756477, },
-       {    1, 2.7182818284590452, },
-       {    5, 148.41315910257660, },
-       {   10, 22026.465794806718, },
+       {  -10, 0.4539992976248485e-4, 1e-4, },
+       {   -5, 0.6737946999085467e-2, 1e-2, },
+       {   -1, 0.3678794411714423,    1e-1, },
+       { -0.1, 0.9048374180359595,    1e-1, },
+       {    0, 1.0000000000000000,    1,    },
+       {  0.1, 1.1051709180756477,    1,    },
+       {    1, 2.7182818284590452,    1,    },
+       {    5, 148.41315910257660,    1e2, },
+       {   10, 22026.465794806718,    1e4, },
 };
 
 /*
@@ -327,14 +328,15 @@
 ATF_TC_BODY(exp_product, tc)
 {
 #ifndef __vax__
+       double eps;
        double x;
        double y;
-       const double eps = 1.0e-11;
        size_t i;
 
        for (i = 0; i < __arraycount(exp_values); i++) {
                x = exp_values[i].x;
                y = exp_values[i].y;
+               eps = 1e-15 * exp_values[i].e;
 
                if (fabs(exp(x) - y) > eps)
                        atf_tc_fail_nonfatal("exp(%0.01f) != %18.18e", x, y);
@@ -436,14 +438,15 @@
 ATF_TC_BODY(expf_product, tc)
 {
 #ifndef __vax__
+       float eps;
        float x;
        float y;
-       const float eps = 1.0e-2;
        size_t i;
 
        for (i = 0; i < __arraycount(exp_values); i++) {
                x = exp_values[i].x;
                y = exp_values[i].y;
+               eps = 1e-6 * exp_values[i].e;
 
                if (fabsf(expf(x) - y) > eps)
                        atf_tc_fail_nonfatal("expf(%0.01f) != %18.18e", x, y);



Home | Main Index | Thread Index | Old Index