Mercurial > hg > octave-nkf
diff liboctave/fMatrix.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 | 5114ea5a41b5 |
children | 53b4fdeacc2e |
line wrap: on
line diff
--- a/liboctave/fMatrix.cc +++ b/liboctave/fMatrix.cc @@ -582,23 +582,15 @@ FloatMatrix real (const FloatComplexMatrix& a) { - octave_idx_type a_len = a.length (); - FloatMatrix retval; - if (a_len > 0) - retval = FloatMatrix (mx_inline_real_dup (a.data (), a_len), - a.rows (), a.cols ()); - return retval; + return FloatMatrix (mx_inline_real_dup (a.data (), a.length ()), + a.rows (), a.cols ()); } FloatMatrix imag (const FloatComplexMatrix& a) { - octave_idx_type a_len = a.length (); - FloatMatrix retval; - if (a_len > 0) - retval = FloatMatrix (mx_inline_imag_dup (a.data (), a_len), - a.rows (), a.cols ()); - return retval; + return FloatMatrix (mx_inline_imag_dup (a.data (), a.length ()), + a.rows (), a.cols ()); } FloatMatrix @@ -2846,16 +2838,8 @@ FloatMatrix FloatMatrix::abs (void) const { - octave_idx_type nr = rows (); - octave_idx_type nc = cols (); - - FloatMatrix retval (nr, nc); - - for (octave_idx_type j = 0; j < nc; j++) - for (octave_idx_type i = 0; i < nr; i++) - retval (i, j) = fabs (elem (i, j)); - - return retval; + return FloatMatrix (mx_inline_fabs_dup (data (), length ()), + rows (), cols ()); } FloatMatrix