Mercurial > octave
diff src/ov-flt-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 | eb63fbe60fab |
line wrap: on
line diff
--- a/src/ov-flt-re-mat.cc Sun Feb 01 20:40:10 2009 +0100 +++ b/src/ov-flt-re-mat.cc Mon Feb 02 15:35:32 2009 +0100 @@ -742,17 +742,35 @@ : octave_value (matrix.map (dmap)))); \ } -static float -xconj (float x) +// The fast mappers. +octave_value +octave_float_matrix::abs (void) const +{ + return matrix.abs (); +} + +octave_value +octave_float_matrix::real (void) const { - return x; + return matrix; +} + +octave_value +octave_float_matrix::conj (void) const +{ + return matrix; +} + +octave_value +octave_float_matrix::imag (void) const +{ + return FloatNDArray (matrix.dims (), 0.0); } ARRAY_MAPPER (erf, FloatNDArray::dmapper, ::erff) ARRAY_MAPPER (erfc, FloatNDArray::dmapper, ::erfcf) ARRAY_MAPPER (gamma, FloatNDArray::dmapper, xgamma) CD_ARRAY_MAPPER (lgamma, xlgamma, xlgamma, 0.0, octave_Float_Inf) -ARRAY_MAPPER (abs, FloatNDArray::dmapper, ::fabsf) ARRAY_MAPPER (acos, FloatNDArray::dmapper, ::acosf) CD_ARRAY_MAPPER (acosh, ::acoshf, ::acosh, 1.0, octave_Float_Inf) ARRAY_MAPPER (angle, FloatNDArray::dmapper, ::arg) @@ -762,19 +780,16 @@ ARRAY_MAPPER (atan, FloatNDArray::dmapper, ::atanf) CD_ARRAY_MAPPER (atanh, ::atanhf, ::atanh, -1.0, 1.0) ARRAY_MAPPER (ceil, FloatNDArray::dmapper, ::ceilf) -ARRAY_MAPPER (conj, FloatNDArray::dmapper, xconj) ARRAY_MAPPER (cos, FloatNDArray::dmapper, ::cosf) ARRAY_MAPPER (cosh, FloatNDArray::dmapper, ::coshf) ARRAY_MAPPER (exp, FloatNDArray::dmapper, ::expf) ARRAY_MAPPER (expm1, FloatNDArray::dmapper, ::expm1f) ARRAY_MAPPER (fix, FloatNDArray::dmapper, ::fix) ARRAY_MAPPER (floor, FloatNDArray::dmapper, ::floorf) -ARRAY_MAPPER (imag, FloatNDArray::dmapper, ::imag) CD_ARRAY_MAPPER (log, ::logf, std::log, 0.0, octave_Float_Inf) CD_ARRAY_MAPPER (log2, xlog2, xlog2, 0.0, octave_Float_Inf) CD_ARRAY_MAPPER (log10, ::log10f, std::log10, 0.0, octave_Float_Inf) CD_ARRAY_MAPPER (log1p, ::log1pf, ::log1pf, -1.0, octave_Float_Inf) -ARRAY_MAPPER (real, FloatNDArray::dmapper, ::real) ARRAY_MAPPER (round, FloatNDArray::dmapper, xround) ARRAY_MAPPER (roundb, FloatNDArray::dmapper, xroundb) ARRAY_MAPPER (signum, FloatNDArray::dmapper, ::signum)