Mercurial > hg > octave-nkf
diff src/ov-range.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 | b3089dba88bf |
line wrap: on
line diff
--- a/src/ov-range.h +++ b/src/ov-range.h @@ -294,54 +294,12 @@ mxArray *as_mxArray (void) const; - // Mapper functions are converted to double for treatment -#define RANGE_MAPPER(MAP) \ - octave_value MAP (void) const \ - { \ - octave_matrix m (array_value ()); \ - return m.MAP (); \ + octave_value map (unary_mapper_t umap) const + { + octave_matrix m (matrix_value ()); + return m.map (umap); } - RANGE_MAPPER (abs) - RANGE_MAPPER (acos) - RANGE_MAPPER (acosh) - RANGE_MAPPER (angle) - RANGE_MAPPER (arg) - RANGE_MAPPER (asin) - RANGE_MAPPER (asinh) - RANGE_MAPPER (atan) - RANGE_MAPPER (atanh) - RANGE_MAPPER (ceil) - RANGE_MAPPER (conj) - RANGE_MAPPER (cos) - RANGE_MAPPER (cosh) - RANGE_MAPPER (erf) - RANGE_MAPPER (erfc) - RANGE_MAPPER (exp) - RANGE_MAPPER (expm1) - RANGE_MAPPER (finite) - RANGE_MAPPER (fix) - RANGE_MAPPER (floor) - RANGE_MAPPER (gamma) - RANGE_MAPPER (imag) - RANGE_MAPPER (isinf) - RANGE_MAPPER (isna) - RANGE_MAPPER (isnan) - RANGE_MAPPER (lgamma) - RANGE_MAPPER (log) - RANGE_MAPPER (log2) - RANGE_MAPPER (log10) - RANGE_MAPPER (log1p) - RANGE_MAPPER (real) - RANGE_MAPPER (round) - RANGE_MAPPER (roundb) - RANGE_MAPPER (signum) - RANGE_MAPPER (sin) - RANGE_MAPPER (sinh) - RANGE_MAPPER (sqrt) - RANGE_MAPPER (tan) - RANGE_MAPPER (tanh) - private: Range range;