changeset 11803:daf91931b32b release-3-0-x

initialization check for correct NaN sign
author Jaroslav Hajek <highegg@gmail.com>
date Tue, 12 Aug 2008 10:54:31 -0400
parents b7f2ab4e34b0
children 7a92d9b3e7d0
files liboctave/ChangeLog liboctave/lo-ieee.cc
diffstat 2 files changed, 9 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- 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 <highegg@gmail.com>
+
+	* 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  <jwe@octave.org>
 
 	* oct-env.cc (octave_env::instance_ok): Fix typo in error message.
--- 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;