# HG changeset patch # User Jaroslav Hajek # Date 1218552871 14400 # Node ID daf91931b32bd50eb8a3e7cbe1bf9cfd23f44c1c # Parent b7f2ab4e34b0c60a08af70a1f6ab2700717d2e8f initialization check for correct NaN sign diff -r b7f2ab4e34b0 -r daf91931b32b liboctave/ChangeLog --- a/liboctave/ChangeLog Fri Aug 08 09:58:42 2008 +0200 +++ b/liboctave/ChangeLog Tue Aug 12 10:54:31 2008 -0400 @@ -1,3 +1,8 @@ +2008-08-12 Jaroslav Hajek + + * lo-ieee.cc (octave_ieee_init): Try to ensure that octave_NaN is + classified as positive by lo_ieee_signbit. + 2008-08-04 John W. Eaton * oct-env.cc (octave_env::instance_ok): Fix typo in error message. diff -r b7f2ab4e34b0 -r daf91931b32b liboctave/lo-ieee.cc --- a/liboctave/lo-ieee.cc Fri Aug 08 09:58:42 2008 +0200 +++ b/liboctave/lo-ieee.cc Tue Aug 12 10:54:31 2008 -0400 @@ -94,6 +94,10 @@ octave_NaN = (*(X_CAST(double *, DQNAN))); #else octave_NaN = tmp_inf / tmp_inf; + // try to ensure that lo_ieee_sign gives false for a NaN. + if (lo_ieee_signbit (octave_NaN)) + octave_NaN = -octave_NaN; + #endif octave_Inf = tmp_inf;