This is the mail archive of the
java@gcc.gnu.org
mailing list for the Java project.
Re: Floating Point Math class problem on Tru64 Alpha v 5.1
- To: Andrew Haley <aph at cambridge dot redhat dot com>
- Subject: Re: Floating Point Math class problem on Tru64 Alpha v 5.1
- From: Antonio Ake <ake at ecn dot purdue dot edu>
- Date: Wed, 7 Nov 2001 22:53:42 -0500 (EST)
- cc: <ake at purdue dot edu>, <gcc-gnats at gcc dot gnu dot org>, <java at gcc dot gnu dot org>
Hello, These are the results of the C program:
Argument arg is 3.780800e+02
Argument y is 1.577821e+164
Argument x is 1.797693e+308
Argument result is 1.755384e-144
BUT if x=y=overflow, this is the result:
Argument arg is 9.000000e+02
Argument y is 1.797693e+308
Argument x is 1.797693e+308
Floating point exception (core dumped)
More testing on Alpha and Java showed this:
If arg >=261 the program is STALLED. No floating core dump, and it
doesn't execute the print of "x":
Argument arg is 261.0 Argument y is 2.2431575451828986E113
Regards
On Fri, 19 Oct 2001, Andrew Haley wrote:
> ake@purdue.edu writes:
> > >Category: libgcj
> > >Synopsis: Floating Point Math class problem on Tru64 Alpha v 5.1
> > >Confidential: no
> > >Severity: serious
> > >Priority: medium
> > >Class: sw-bug
> > >Submitter-Id: net
> > >Originator: Antonio Ake
> > >Release: 3.0.2 prerelease
> > >Environment:
> > TRu64 Unix v 5.1
> > >Description:
> > his is the part of the code executing:
> > public static double d1f (double arg) {
> > double y,x;
> >
> > System.out.print("Argument arg is " + arg + " ");
> > y= Math.exp(arg);
> > System.out.print("Argument y is " + y + " ");
> > x=Math.pow((y+1.0),2.0);
> > System.out.print("Argument x is " + x + "\n");
> > return ( (2.0 * y)/x );
> > }
> > The problem is when x is infinity.
> > Argument arg is 378.0812928461101
> > Var y is 1.5798621479294393E164
> > Var x is Infinity
> > Floating point exception (core dumped)
> > I tested on Linux x/86 and it is working, the problem is on Tru64 Unix
>
> Fascianting. It looks as though floating-point exceptions trigger a
> signal on this system. I've never come across a system which does
> this before.
>
> Can you please write a trivial C program that does the same thing and
> see if it also results in a Floating point exception?
>
> Thanks,
> Andrew.
>