This is the mail archive of the gsl-discuss@sources.redhat.com mailing list for the GSL project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

FAIL in make check /specfunc on FreeBSD4.3/i386


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.









Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]