diff src/ov-flt-cx-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 280fae940bb0
line wrap: on
line diff
--- a/src/ov-flt-cx-mat.cc	Sun Feb 01 20:40:10 2009 +0100
+++ b/src/ov-flt-cx-mat.cc	Mon Feb 02 15:35:32 2009 +0100
@@ -817,12 +817,36 @@
       } \
   }
 
+// The fast mappers.
+octave_value
+octave_float_complex_matrix::abs (void) const
+{
+  return matrix.abs ();
+}
+
+octave_value
+octave_float_complex_matrix::real (void) const
+{
+  return ::real (matrix);
+}
+
+octave_value
+octave_float_complex_matrix::conj (void) const
+{
+  return ::conj (matrix);
+}
+
+octave_value
+octave_float_complex_matrix::imag (void) const
+{
+  return ::imag (matrix);
+}
+
 DARRAY_MAPPER (erf, FloatNDArray::dmapper, ::erff)
 DARRAY_MAPPER (erfc, FloatNDArray::dmapper, ::erfcf)
 DARRAY_MAPPER (gamma, FloatNDArray::dmapper, xgamma)
 CD_ARRAY_MAPPER (lgamma, xlgamma, xlgamma, 0.0, octave_Inf)
 
-ARRAY_MAPPER (abs, FloatComplexNDArray::dmapper, xabs)
 ARRAY_MAPPER (acos, FloatComplexNDArray::cmapper, ::acos)
 ARRAY_MAPPER (acosh, FloatComplexNDArray::cmapper, ::acosh)
 ARRAY_MAPPER (angle, FloatComplexNDArray::dmapper, std::arg)
@@ -832,19 +856,16 @@
 ARRAY_MAPPER (atan, FloatComplexNDArray::cmapper, ::atan)
 ARRAY_MAPPER (atanh, FloatComplexNDArray::cmapper, ::atanh)
 ARRAY_MAPPER (ceil, FloatComplexNDArray::cmapper, ::ceil)
-ARRAY_MAPPER (conj, FloatComplexNDArray::cmapper, std::conj)
 ARRAY_MAPPER (cos, FloatComplexNDArray::cmapper, std::cos)
 ARRAY_MAPPER (cosh, FloatComplexNDArray::cmapper, std::cosh)
 ARRAY_MAPPER (exp, FloatComplexNDArray::cmapper, std::exp)
 ARRAY_MAPPER (expm1, FloatComplexNDArray::cmapper, ::expm1f)
 ARRAY_MAPPER (fix, FloatComplexNDArray::cmapper, ::fix)
 ARRAY_MAPPER (floor, FloatComplexNDArray::cmapper, ::floor)
-ARRAY_MAPPER (imag, FloatComplexNDArray::dmapper, ximag)
 ARRAY_MAPPER (log, FloatComplexNDArray::cmapper, std::log)
 ARRAY_MAPPER (log2, FloatComplexNDArray::cmapper, xlog2)
 ARRAY_MAPPER (log10, FloatComplexNDArray::cmapper, std::log10)
 ARRAY_MAPPER (log1p, FloatComplexNDArray::cmapper, ::log1pf)
-ARRAY_MAPPER (real, FloatComplexNDArray::dmapper, xreal)
 ARRAY_MAPPER (round, FloatComplexNDArray::cmapper, xround)
 ARRAY_MAPPER (roundb, FloatComplexNDArray::cmapper, xroundb)
 ARRAY_MAPPER (signum, FloatComplexNDArray::cmapper, ::signum)