diff liboctave/boolNDArray.cc @ 9612:66970dd627f6

further liboctave design improvements
author Jaroslav Hajek <highegg@gmail.com>
date Fri, 04 Sep 2009 11:22:53 +0200
parents 1be3c73ed7b5
children b4fdfee405b5
line wrap: on
line diff
--- a/liboctave/boolNDArray.cc	Thu Sep 03 17:28:58 2009 -0400
+++ b/liboctave/boolNDArray.cc	Fri Sep 04 11:22:53 2009 +0200
@@ -166,20 +166,9 @@
 mx_el_and_assign (boolNDArray& a, const boolNDArray& b)
 {
   if (a.is_shared ())
-    return a = mx_el_and (a, b);
-
-  dim_vector a_dims = a.dims ();
-  dim_vector b_dims = b.dims ();
-
-  if (a_dims != b_dims)
-    gripe_nonconformant ("operator &=", a_dims, b_dims);
+    a = mx_el_and (a, b);
   else
-    {
-      octave_idx_type l = a.length ();
-
-      if (l > 0)
-        DO_VV_OP2 (bool, a, &=, b);
-    }
+    do_mm_inplace_op<boolNDArray, boolNDArray> (a, b, mx_inline_and2, "operator &=");
 
   return a;
 }
@@ -188,20 +177,9 @@
 mx_el_or_assign (boolNDArray& a, const boolNDArray& b)
 {
   if (a.is_shared ())
-    return a = mx_el_and (a, b);
-
-  dim_vector a_dims = a.dims ();
-  dim_vector b_dims = b.dims ();
-
-  if (a_dims != b_dims)
-    gripe_nonconformant ("operator |=", a_dims, b_dims);
+    a = mx_el_or (a, b);
   else
-    {
-      octave_idx_type l = a.length ();
-
-      if (l > 0)
-        DO_VV_OP2 (bool, a, |=, b);
-    }
+    do_mm_inplace_op<boolNDArray, boolNDArray> (a, b, mx_inline_or2, "operator |=");
 
   return a;
 }