diff src/ov-cx-mat.cc @ 9853:8d9e4752441a

implement complex built-in logical conversions
author Jaroslav Hajek <highegg@gmail.com>
date Mon, 23 Nov 2009 10:48:31 +0100
parents 7483fe200fab
children b3089dba88bf
line wrap: on
line diff
--- a/src/ov-cx-mat.cc	Mon Nov 23 10:00:29 2009 +0100
+++ b/src/ov-cx-mat.cc	Mon Nov 23 10:48:31 2009 +0100
@@ -221,6 +221,18 @@
   return FloatComplexMatrix (matrix.matrix_value ());
 }
 
+boolNDArray
+octave_complex_matrix::bool_array_value (bool warn) const
+{
+  if (matrix.any_element_is_nan ())
+    error ("invalid conversion from NaN to logical");
+  else if (warn && (! matrix.all_elements_are_real () 
+                    || real (matrix).any_element_not_one_or_zero ()))
+    gripe_logical_conversion ();
+
+  return mx_el_ne (matrix, Complex (0.0));
+}
+  
 charNDArray
 octave_complex_matrix::char_array_value (bool frc_str_conv) const
 {