| Bill Allombert on Mon, 06 Sep 2004 22:42:06 +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 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.
Cheers,
Bill.