diff src/ov-re-sparse.cc @ 9852:aabf7a8c2e57

implement sparse logical conversion
author Jaroslav Hajek <highegg@gmail.com>
date Mon, 23 Nov 2009 10:00:29 +0100
parents 1bb1ed717d2f
children b3089dba88bf
line wrap: on
line diff
--- a/src/ov-re-sparse.cc	Mon Nov 23 08:43:42 2009 +0100
+++ b/src/ov-re-sparse.cc	Mon Nov 23 10:00:29 2009 +0100
@@ -184,6 +184,17 @@
   return NDArray (matrix.matrix_value ());
 }
 
+SparseBoolMatrix 
+octave_sparse_matrix::sparse_bool_matrix_value (bool warn) const
+{
+  if (matrix.any_element_is_nan ())
+    error ("invalid conversion from NaN to logical");
+  else if (warn && matrix.any_element_not_one_or_zero ())
+    gripe_logical_conversion ();
+
+  return mx_el_ne (matrix, 0.0);
+}
+
 octave_value
 octave_sparse_matrix::convert_to_str_internal (bool, bool, char type) const
 {