> I think there are specs like strict math in Java,
> which allows to use more than 64 bits of precision for
> intermediate calculations - you know Intel's x86 FPU
> has 80 bits.

There is no JVM for x86 implements strictfp
semantics. Even JDK 1.3beta for Windows doesn't
implement. Of course, all javac for Java 2 supports
strictfp *syntax*.

You can confirm conformity with strictfp with test codes
I supplied. Strictfp.java is available at http://www.shudo.net/jit/.
On x86, you will see the different results from what you see on SPARC.

Exploitation of all of 80 bits is not allowed by the Java
Language Specification. See the following document.

  Updates to the Java Language Specification
  for JDK Release 1.2 Floating Point
    http://www.sun.com/docs/books/jls/strictfp-changes.pdf

The JLS allows only float double extended-exponent. A
double extended-exponent value has the same number of
significand bits as a normal double precision, it's 52
bit, not 64 bit.


Additionally, JDK 1.1.7 for Linux doesn't adjust
rounding precision. It is left as extended (80 bit)
precision. JDK 1.2 pre-release 2 does ajust.


Kazuyuki SHUDO                          Happy Hacking!
  Muraoka Lab., Grad. School of Sci. & Eng., Waseda Univ.
E-mail: [EMAIL PROTECTED]
Address: Muraoka Lab., Waseda Univ.,
         3-4-1 Okubo Shinjuku-ku Tokyo 169-8555 JAPAN
TEL: +81-3-3209-5198    FAX: +81-3-3209-5198


----------------------------------------------------------------------
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to