diff src/ov-float.h @ 7922:935be827eaf8

error for NaN values in & and | expressions
author John W. Eaton <jwe@octave.org>
date Fri, 11 Jul 2008 14:56:30 -0400
parents f336dd8e96d0
children cf59d542f33e
line wrap: on
line diff
--- a/src/ov-float.h	Thu Jul 10 17:36:20 2008 -0400
+++ b/src/ov-float.h	Fri Jul 11 14:56:30 2008 -0400
@@ -191,7 +191,9 @@
 
   bool bool_value (bool warn = false) const
   {
-    if (warn && scalar != 0 && scalar != 1)
+    if (xisnan (scalar))
+      error ("invalid conversion from NaN to logical");
+    else if (warn && scalar != 0 && scalar != 1)
       gripe_logical_conversion ();
 
     return scalar;
@@ -199,7 +201,9 @@
 
   boolNDArray bool_array_value (bool warn = false) const
   {
-    if (warn && scalar != 0 && scalar != 1)
+    if (xisnan (scalar))
+      error ("invalid conversion from NaN to logical");
+    else if (warn && scalar != 0 && scalar != 1)
       gripe_logical_conversion ();
 
     return boolNDArray (dim_vector (1, 1), scalar);