Mercurial > hg > octave-lyh
diff liboctave/dNDArray.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/dNDArray.cc +++ b/liboctave/dNDArray.cc @@ -942,21 +942,15 @@ NDArray real (const ComplexNDArray& a) { - octave_idx_type a_len = a.length (); - NDArray retval; - if (a_len > 0) - retval = NDArray (mx_inline_real_dup (a.data (), a_len), a.dims ()); - return retval; + return NDArray (mx_inline_real_dup (a.data (), a.length ()), + a.dims ()); } NDArray imag (const ComplexNDArray& a) { - octave_idx_type a_len = a.length (); - NDArray retval; - if (a_len > 0) - retval = NDArray (mx_inline_imag_dup (a.data (), a_len), a.dims ()); - return retval; + return NDArray (mx_inline_imag_dup (a.data (), a.length ()), + a.dims ()); } NDArray& @@ -976,14 +970,8 @@ NDArray NDArray::abs (void) const { - NDArray retval (dims ()); - - octave_idx_type nel = nelem (); - - for (octave_idx_type i = 0; i < nel; i++) - retval(i) = fabs (elem (i)); - - return retval; + return NDArray (mx_inline_fabs_dup (data (), length ()), + dims ()); } Matrix