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