diff src/ov-bool.h @ 9812:f80c566bc751

improve unary mapper system
author Jaroslav Hajek <highegg@gmail.com>
date Thu, 12 Nov 2009 15:47:58 +0100
parents e793865ede63
children 6f1ea8241c99
line wrap: on
line diff
--- a/src/ov-bool.h
+++ b/src/ov-bool.h
@@ -209,55 +209,12 @@
   mxArray *as_mxArray (void) const;
 
   // Mapper functions are converted to double for treatment
-#define BOOL_MAPPER(MAP) \
-  octave_value MAP (void) const \
-    { \
-      octave_scalar s (static_cast<double> (scalar)); \
-      return s.MAP (); \
+  octave_value map (unary_mapper_t umap) const
+    {
+      octave_scalar m (scalar_value ());
+      return m.map (umap);
     }
 
-  BOOL_MAPPER (abs)
-  BOOL_MAPPER (acos)
-  BOOL_MAPPER (acosh)
-  BOOL_MAPPER (angle)
-  BOOL_MAPPER (arg)
-  BOOL_MAPPER (asin)
-  BOOL_MAPPER (asinh)
-  BOOL_MAPPER (atan)
-  BOOL_MAPPER (atanh)
-  BOOL_MAPPER (ceil)
-  BOOL_MAPPER (conj)
-  BOOL_MAPPER (cos)
-  BOOL_MAPPER (cosh)
-  BOOL_MAPPER (erf)
-  BOOL_MAPPER (erfc)
-  BOOL_MAPPER (exp)
-  BOOL_MAPPER (expm1)
-  BOOL_MAPPER (finite)
-  BOOL_MAPPER (fix)
-  BOOL_MAPPER (floor)
-  BOOL_MAPPER (gamma)
-  BOOL_MAPPER (imag)
-  BOOL_MAPPER (isinf)
-  BOOL_MAPPER (isna)
-  BOOL_MAPPER (isnan)
-  BOOL_MAPPER (lgamma)
-  BOOL_MAPPER (log)
-  BOOL_MAPPER (log2)
-  BOOL_MAPPER (log10)
-  BOOL_MAPPER (log1p)
-  BOOL_MAPPER (real)
-  BOOL_MAPPER (round)
-  BOOL_MAPPER (roundb)
-  BOOL_MAPPER (signum)
-  BOOL_MAPPER (sin)
-  BOOL_MAPPER (sinh)
-  BOOL_MAPPER (sqrt)
-  BOOL_MAPPER (tan)
-  BOOL_MAPPER (tanh)
-
-#undef BOOL_MAPPER
-
 private:
 
   DECLARE_OCTAVE_ALLOCATOR