Igor Schein on Wed, 08 Sep 2004 17:05:45 +0200 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: Alpha nightly build (test) problems |
On Mon, Sep 06, 2004 at 10:35:18PM +0200, Bill Allombert wrote: > On Mon, Sep 06, 2004 at 01:28:55AM -0700, Phil Carmody wrote: > > Firstly, apologies for the noise at > > http://megrez.math.u-bordeaux.fr/buildlog.html -- I found >20 gp-sta's > > thrashing around in a swapping frenzy this morning, knee-jerk killall-ed them, > > and their builds each proceeded with an outgoing mail before I could stop them. > > No problem, if that was a real issue for me, I could remove the > extra buildlogs and reupdate the site. > > > I shall try to spoon-feed a single top-of-tree (1.996 probably) build this > > afternoon when I get home from work this evening. > > I have tested current CVS on an alpha box and it seems to work fine. > > > It appears that the Itanic build wasn't too happy with 'elliptic' last night > > either -- that was the test my gp's seemed to be stuck in, so perhaps this > > isn't just an alpha issue, but a 64-bit one. > > I think it is a ia64 specific issue. This boils down to the above program > > #include <math.h> > typedef unsigned long ulong; > main() > { > ulong a=18446744073709551431UL; > double beta=sqrt((double)a); > double p=beta*(1UL << 32); > ulong u = (ulong) p; > long l= (long) p; > printf("beta=%g\np=%g\nu=%lu\nl=%ld\n",beta,p,u,l); > return 0; > } > It returns: > > ia64: > beta=4.29497e+09 > p=1.84467e+19 > u=9223372036854775808 > l=-9223372036854775808 > > alpha: > beta=4.29497e+09 > p=1.84467e+19 > u=0 > l=0 > > amd64: > beta=4.29497e+09 > p=1.84467e+19 > u=0 > l=-9223372036854775808 > > Somehow, PARI is much happier with u=0. > > I am not quite sure what mandate ieee754 in that situation, and how > PARI can work around such discrepancy. Here're 2 more outputs: hppa64 (benches pass): beta=4.29497e+09 p=1.84467e+19 u=18446744073709551615 l=9223372036854775807 and the one I already posted in another thread sparc64 (benches fail): beta=4.29497e+09 p=1.84467e+19 u=9223372036854775807 l=9223372036854775807 So u=0 is not neccessary for it to work. Igor