diff liboctave/CNDArray.cc @ 8650:a1ae2aae903e

abs,real,imag,conj: use code from mx-inlines rather than the generic map
author Jaroslav Hajek <highegg@gmail.com>
date Mon, 02 Feb 2009 15:35:32 +0100
parents 25bc2d31e1bf
children 53b4fdeacc2e
line wrap: on
line diff
--- a/liboctave/CNDArray.cc	Sun Feb 01 20:40:10 2009 +0100
+++ b/liboctave/CNDArray.cc	Mon Feb 02 15:35:32 2009 +0100
@@ -890,14 +890,15 @@
 NDArray
 ComplexNDArray::abs (void) const
 {
-  NDArray retval (dims ());
-
-  octave_idx_type nel = nelem ();
+  return NDArray (mx_inline_cabs_dup (data (), length ()),
+                  dims ());
+}
 
-  for (octave_idx_type i = 0; i < nel; i++)
-    retval(i) = std::abs (elem (i));
-      
-  return retval;
+ComplexNDArray
+conj (const ComplexNDArray& a)
+{
+  return ComplexNDArray (mx_inline_conj_dup (a.data (), a.length ()),
+                         a.dims ());
 }
 
 ComplexNDArray&