Mercurial > octave
diff src/ov-re-mat.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 | f00578b495e9 |
children | 900a5bf52309 |
line wrap: on
line diff
--- a/src/ov-re-mat.cc Sun Feb 01 20:40:10 2009 +0100 +++ b/src/ov-re-mat.cc Mon Feb 02 15:35:32 2009 +0100 @@ -769,17 +769,35 @@ : octave_value (matrix.map (dmap)))); \ } -static double -xconj (double x) +// The fast mappers. +octave_value +octave_matrix::abs (void) const +{ + return matrix.abs (); +} + +octave_value +octave_matrix::real (void) const { - return x; + return matrix; +} + +octave_value +octave_matrix::conj (void) const +{ + return matrix; +} + +octave_value +octave_matrix::imag (void) const +{ + return NDArray (matrix.dims (), 0.0); } ARRAY_MAPPER (erf, NDArray::dmapper, ::erf) ARRAY_MAPPER (erfc, NDArray::dmapper, ::erfc) ARRAY_MAPPER (gamma, NDArray::dmapper, xgamma) CD_ARRAY_MAPPER (lgamma, xlgamma, xlgamma, 0.0, octave_Inf) -ARRAY_MAPPER (abs, NDArray::dmapper, ::fabs) ARRAY_MAPPER (acos, NDArray::dmapper, ::acos) CD_ARRAY_MAPPER (acosh, ::acosh, ::acosh, 1.0, octave_Inf) ARRAY_MAPPER (angle, NDArray::dmapper, ::arg) @@ -789,19 +807,16 @@ ARRAY_MAPPER (atan, NDArray::dmapper, ::atan) CD_ARRAY_MAPPER (atanh, ::atanh, ::atanh, -1.0, 1.0) ARRAY_MAPPER (ceil, NDArray::dmapper, ::ceil) -ARRAY_MAPPER (conj, NDArray::dmapper, xconj) ARRAY_MAPPER (cos, NDArray::dmapper, ::cos) ARRAY_MAPPER (cosh, NDArray::dmapper, ::cosh) ARRAY_MAPPER (exp, NDArray::dmapper, ::exp) ARRAY_MAPPER (expm1, NDArray::dmapper, ::expm1) ARRAY_MAPPER (fix, NDArray::dmapper, ::fix) ARRAY_MAPPER (floor, NDArray::dmapper, ::floor) -ARRAY_MAPPER (imag, NDArray::dmapper, ::imag) CD_ARRAY_MAPPER (log, ::log, std::log, 0.0, octave_Inf) CD_ARRAY_MAPPER (log2, xlog2, xlog2, 0.0, octave_Inf) CD_ARRAY_MAPPER (log10, ::log10, std::log10, 0.0, octave_Inf) CD_ARRAY_MAPPER (log1p, ::log1p, ::log1p, -1.0, octave_Inf) -ARRAY_MAPPER (real, NDArray::dmapper, ::real) ARRAY_MAPPER (round, NDArray::dmapper, xround) ARRAY_MAPPER (roundb, NDArray::dmapper, xroundb) ARRAY_MAPPER (signum, NDArray::dmapper, ::signum)