libgcj/4616: Floating Point Math class problem on Tru64 Alpha v 5.1

Craig Rodrigues rodrigc@mediaone.net
Sat Jan 5 12:54:00 GMT 2002


http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=4616



The following was submitted by ake@purdue.edu, but ended up in the wrong
PR.
Do not change the format of the subject line when CC:'ing messages to
GNATS.

===============================================================

 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.
 >




More information about the Java mailing list