Shoot, I meant to hit reply-to-all.

Eric Blake wrote:
> 
> Chris Gray wrote:
> >
> >
> > An interesting twist on this: jikes seems to have its own idea of the correct
> > bit-pattern for NaN (0xffc00000 instead of 0x7fc0000).  This shouldn't matter
> > if all NaN's are canonicalized to the same value.
> 
> Which version of jikes? My guess is version 1.13 or sooner, as floating
> point emulation mode was made default in later versions. When doing
> floating point emulation jikes should always spit out 0x7fc00000 for
> Float.NaN, but with native math, it uses whatever the CPU thinks is NaN
> (which for x86 architecture is 0xffc00000).  But you are right, as long
> as Float.floatToLongBits canonicalizes NaN, there should be no problem
> with the current algorithm.
> 
> However, I argue that this is a faster implementation (it avoids a
> native call):
> 
> public static boolean isNaN(double v)
> {
>   return v != v;
> }
> 
> This works since NaN != NaN is the only reflexive inequality comparison
> which returns true.

-- 
This signature intentionally left boring.

Eric Blake             [EMAIL PROTECTED]
  BYU student, free software programmer

_______________________________________________
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath

Reply via email to