# HG changeset patch # User Jaroslav Hajek # Date 1218552871 14400 # Node ID 090001c0461970876ca0bc4429f86dac5fc9f60a # Parent f0fbf47c914c61d63b45bda33339ffdf7b3c7b0b initialization check for correct NaN sign diff --git a/liboctave/ChangeLog b/liboctave/ChangeLog --- a/liboctave/ChangeLog +++ b/liboctave/ChangeLog @@ -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-11 Jaroslav Hajek * Array.cc (no_op_fcn): New static function. diff --git a/liboctave/lo-ieee.cc b/liboctave/lo-ieee.cc --- a/liboctave/lo-ieee.cc +++ b/liboctave/lo-ieee.cc @@ -95,6 +95,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;