diff liboctave/fCNDArray.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/fCNDArray.cc
+++ b/liboctave/fCNDArray.cc
@@ -755,33 +755,31 @@
 FloatNDArray
 FloatComplexNDArray::abs (void) const
 {
-  return FloatNDArray (mx_inline_cabs_dup (data (), length ()),
-                       dims ());
+  return do_mx_unary_map<FloatNDArray, FloatComplexNDArray, std::abs> (*this);
 }
 
 boolNDArray
 FloatComplexNDArray::isnan (void) const
 {
-  return Array<bool> (fastmap<bool> (xisnan));
+  return do_mx_unary_map<boolNDArray, FloatComplexNDArray, xisnan> (*this);
 }
 
 boolNDArray
 FloatComplexNDArray::isinf (void) const
 {
-  return Array<bool> (fastmap<bool> (xisinf));
+  return do_mx_unary_map<boolNDArray, FloatComplexNDArray, xisinf> (*this);
 }
 
 boolNDArray
 FloatComplexNDArray::isfinite (void) const
 {
-  return Array<bool> (fastmap<bool> (xfinite));
+  return do_mx_unary_map<boolNDArray, FloatComplexNDArray, xfinite> (*this);
 }
 
 FloatComplexNDArray
 conj (const FloatComplexNDArray& a)
 {
-  return FloatComplexNDArray (mx_inline_conj_dup (a.data (), a.length ()),
-                              a.dims ());
+  return do_mx_unary_map<FloatComplexNDArray, FloatComplexNDArray, std::conj> (a);
 }
 
 FloatComplexNDArray&