Mercurial > hg > octave-lyh
diff liboctave/fNDArray.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/fNDArray.cc +++ b/liboctave/fNDArray.cc @@ -807,15 +807,13 @@ FloatNDArray real (const FloatComplexNDArray& a) { - return FloatNDArray (mx_inline_real_dup (a.data (), a.length ()), - a.dims ()); + return do_mx_unary_op<FloatNDArray, FloatComplexNDArray> (a, mx_inline_real); } FloatNDArray imag (const FloatComplexNDArray& a) { - return FloatNDArray (mx_inline_imag_dup (a.data (), a.length ()), - a.dims ()); + return do_mx_unary_op<FloatNDArray, FloatComplexNDArray> (a, mx_inline_imag); } FloatNDArray& @@ -835,26 +833,25 @@ FloatNDArray FloatNDArray::abs (void) const { - return FloatNDArray (mx_inline_fabs_dup (data (), length ()), - dims ()); + return do_mx_unary_map<FloatNDArray, FloatNDArray, std::abs> (*this); } boolNDArray FloatNDArray::isnan (void) const { - return Array<bool> (fastmap<bool> (xisnan)); + return do_mx_unary_map<boolNDArray, FloatNDArray, xisnan> (*this); } boolNDArray FloatNDArray::isinf (void) const { - return Array<bool> (fastmap<bool> (xisinf)); + return do_mx_unary_map<boolNDArray, FloatNDArray, xisinf> (*this); } boolNDArray FloatNDArray::isfinite (void) const { - return Array<bool> (fastmap<bool> (xfinite)); + return do_mx_unary_map<boolNDArray, FloatNDArray, xfinite> (*this); } FloatMatrix