Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 15 Feb 2003 17:54:21 +0900 (JST)
From:      shudo@computer.org
To:        java@FreeBSD.ORG
Subject:   Re: Math.pow bug for jdk1.3.1-p8 ?
Message-ID:  <20030215.175421.1015281127.shudo@localhost>
In-Reply-To: <3E4C9DDD.4040204@gddsn.org.cn>
References:  <3E4C9DDD.4040204@gddsn.org.cn>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi guys who love hairsplitting (including me, and this is certainly an
important problem),

From: Huang wen hui <hwh@gddsn.org.cn>

> I build jdk1.3.1-p8 for 4.7-STABLE(today), Math.pow return wrong value
> if using the following example:
>
> public class TestPow {
> public static void main(String[] args) {
> int exp =9;
> int i = (int)Math.pow(2.0,(double)exp);
> System.out.println("i="+i);
> }
> }
>
> ----------output------------
> %java TestPow
> i=0


I could reproduce your problem with JDK 1.3.1p8 and gcc 2.95.4 on
recent 4.7-STABLE.


% java -version
java version "1.3.1-p8"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1-p8-root-030213-11:48)
Classic VM (build 1.3.1-p8-root-030213-11:48, green threads, nojit)
% gcc -v
Using builtin specs.
gcc version 2.95.4 20020320 [FreeBSD]
% uname -a
FreeBSD dv1.a02.aist.go.jp 4.7-STABLE FreeBSD 4.7-STABLE #0: Thu Feb 13 20:58:55 JST 2003     root@dv1.a02.aist.go.jp:/usr/src/sys/compile/MEBIUS140H  i386


I could confirm __j__ieee754_pow() in libjava.so behaves wrong and one
in libjava_g.so works correctly.

I also tried writing a test program which calls __j__ieee754_pow() and
linked the program with e_pow.o, w_sqrt.o, e_sqrt.o, s_fabs.o,
s_scalbn.o and s_copysign.o generated during compilation process of
JDK 1.3.1.  The program produces the incorrect value (0, not 512).

It is certain that there is a problem around fdlibm, FreeBSD's gcc
2.95.4 or how the fdlibm compiled (compiler flags?).


  Kazuyuki Shudo	shudo@computer.org	http://www.shudo.net/

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-java" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030215.175421.1015281127.shudo>