diff liboctave/CNDArray.cc @ 9800:ef4c4186cb47

improve some mx_inline loops
author Jaroslav Hajek <highegg@gmail.com>
date Wed, 11 Nov 2009 10:59:27 +0100
parents 26abff55f6fe
children f80c566bc751
line wrap: on
line diff
--- a/liboctave/CNDArray.cc
+++ b/liboctave/CNDArray.cc
@@ -760,33 +760,31 @@
 NDArray
 ComplexNDArray::abs (void) const
 {
-  return NDArray (mx_inline_cabs_dup (data (), length ()),
-                  dims ());
+  return do_mx_unary_map<NDArray, ComplexNDArray, std::abs> (*this);
 }
 
 boolNDArray
 ComplexNDArray::isnan (void) const
 {
-  return Array<bool> (fastmap<bool> (xisnan));
+  return do_mx_unary_map<boolNDArray, ComplexNDArray, xisnan> (*this);
 }
 
 boolNDArray
 ComplexNDArray::isinf (void) const
 {
-  return Array<bool> (fastmap<bool> (xisinf));
+  return do_mx_unary_map<boolNDArray, ComplexNDArray, xisinf> (*this);
 }
 
 boolNDArray
 ComplexNDArray::isfinite (void) const
 {
-  return Array<bool> (fastmap<bool> (xfinite));
+  return do_mx_unary_map<boolNDArray, ComplexNDArray, xfinite> (*this);
 }
 
 ComplexNDArray
 conj (const ComplexNDArray& a)
 {
-  return ComplexNDArray (mx_inline_conj_dup (a.data (), a.length ()),
-                         a.dims ());
+  return do_mx_unary_map<ComplexNDArray, ComplexNDArray, std::conj> (a);
 }
 
 ComplexNDArray&