This is the mail archive of the
gsl-discuss@sources.redhat.com
mailing list for the GSL project.
FAIL in make check /specfunc on FreeBSD4.3/i386
- To: gsl-discuss at sources dot redhat dot com
- Subject: FAIL in make check /specfunc on FreeBSD4.3/i386
- From: Vladimir Savichev <vsavichev at mail dot wesleyan dot edu>
- Date: Thu, 07 Jun 2001 02:14:07 -0400
Hi,
I'm here on FreeBSD 4.3-STABLE i386 (AMD Athlon) gcc 2.95.3
trying to port gls-0.8 to FreeBSD ports collection.
make check in specfunc dep gives
...
PASS: gsl_sf_elljac_e(3.0|0.6)
FAIL: gsl_sf_elljac_e(2.0|0.999999)
PASS: gsl_sf_elljac_e(1.69695970624443|0.270378013104138)
FAIL: Elliptic Functions (Jacobi)
PASS: gsl_sf_erfc_e(-10.0, &r)
...
here we go to dip into test_sf.c (gdb test)
883 u = 2.0;
884 m = 0.999999;
885 sa = 0;
886 stat_ej = gsl_sf_elljac_e(u, m, &sn, &cn, &dn);
887 sa += ( test_sf_frac_diff( sn, 0.96402778575700186570 ) > TEST_TOL0 );
888 sa += ( test_sf_frac_diff( cn, 0.26580148285600686381 ) > TEST_TOL0 );
889 sa += ( test_sf_frac_diff( dn, 0.26580323105264131136 ) > TEST_TOL0 );
890 gsl_test(sa, " gsl_sf_elljac_e(2.0|0.999999)");
891 s += sa;
after 891 we have
sn = 0.96402778575700188 wanted 0.96402778575700186570 ~ 1.4 10^-17 <
2*GSL_DBL_EPSILON
cn = 0.26580148285600663 0.26580148285600686381 ~ -2.3 10^-16 <
2*GSL_DBL_EPSILON
dn = 0.26580323105264092 0.26580323105264131136 ~ -3.9 10^-16 <
2*GSL_DBL_EPSILON
but in test_sf_frac_diff we return
fabs((x1-x2)/(x1+x2)) so we get about 8 10^-16 at dn : HAS to FAIL !
May be it is AMD issue or something particular about FreeBSD?
For example on entry in gsl_sf_elljac_e(u, m, &sn, &cn, &dn)
I see like
m=0.99999899999999997
Shouldn't we see m=0.99999900000 for declared double m=0.999999 ?
I could just make a guess what else is a matter.
Thanks for your business
Vladimir.