Date: Sat, 15 Feb 2003 12:00:25 +0200 From: Alexey Zelkin <phantom@FreeBSD.org.ua> To: shudo@computer.org Cc: java@FreeBSD.ORG Subject: Re: Math.pow bug for jdk1.3.1-p8 ? Message-ID: <20030215120025.A19152@phantom.cris.net> In-Reply-To: <20030215.175421.1015281127.shudo@localhost>; from shudo@computer.org on Sat, Feb 15, 2003 at 05:54:21PM %2B0900 References: <3E4C9DDD.4040204@gddsn.org.cn> <20030215.175421.1015281127.shudo@localhost>
next in thread | previous in thread | raw e-mail | index | archive | help
hi,
I'd suggest looking in fdlibm's include named 'jfdlibm.h' I did not
look at 1.3.1-p8 yet, but __j__* functions are handled there.
On Sat, Feb 15, 2003 at 05:54:21PM +0900, shudo@computer.org wrote:
> 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
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?20030215120025.A19152>
