Mercurial > hg > octave-lyh
diff src/ov-str-mat.h @ 7503:8c32f95c2639
convert mapper functions to new format
author | David Bateman <dbateman@free.fr> |
---|---|
date | Wed, 20 Feb 2008 04:22:50 -0500 |
parents | 2467639bd8c0 |
children | 26d8a92644de |
line wrap: on
line diff
--- a/src/ov-str-mat.h +++ b/src/ov-str-mat.h @@ -35,6 +35,7 @@ #include "error.h" #include "oct-stream.h" #include "ov.h" +#include "ov-re-mat.h" #include "ov-ch-mat.h" #include "ov-typeinfo.h" @@ -127,10 +128,11 @@ std::string string_value (bool force = false) const; octave_value sort (octave_idx_type dim = 0, sortmode mode = ASCENDING) const - { return octave_value (matrix.sort (dim, mode), true); } + { return octave_value (matrix.sort (dim, mode), true); } + octave_value sort (Array<octave_idx_type> &sidx, octave_idx_type dim = 0, sortmode mode = ASCENDING) const - { return octave_value (matrix.sort (sidx, dim, mode), true); } + { return octave_value (matrix.sort (sidx, dim, mode), true); } bool print_as_scalar (void) const { return (rows () <= 1); } @@ -156,6 +158,56 @@ oct_mach_info::float_format flt_fmt) const { return os.write (matrix, block_size, output_type, skip, flt_fmt); } + octave_value isalnum (void) const; + octave_value isalpha (void) const; + octave_value isascii (void) const; + octave_value iscntrl (void) const; + octave_value isdigit (void) const; + octave_value isgraph (void) const; + octave_value islower (void) const; + octave_value isprint (void) const; + octave_value ispunct (void) const; + octave_value isspace (void) const; + octave_value isupper (void) const; + octave_value isxdigit (void) const; + octave_value toascii (void) const; + octave_value tolower (void) const; + octave_value toupper (void) const; + +#define MAT_MAPPER(MAP) \ + octave_value MAP (void) const \ + { \ + octave_matrix m (array_value (true)); \ + return m.MAP (); \ + } + + MAT_MAPPER (abs) + MAT_MAPPER (angle) + MAT_MAPPER (arg) + MAT_MAPPER (ceil) + MAT_MAPPER (conj) + MAT_MAPPER (fix) + MAT_MAPPER (floor) + MAT_MAPPER (imag) + MAT_MAPPER (real) + MAT_MAPPER (round) + MAT_MAPPER (signum) + +#undef MAT_MAPPER + +#define BOOL_MAT_MAPPER(MAP, VAL) \ + octave_value MAP (void) const \ + { \ + return boolNDArray (matrix.dims (), VAL); \ + } + + BOOL_MAT_MAPPER (finite, true) + BOOL_MAT_MAPPER (isinf, false) + BOOL_MAT_MAPPER (isna, false) + BOOL_MAT_MAPPER (isnan, false) + +#undef BOOL_MAT_MAPPER + protected: octave_value do_index_op_internal (const octave_value_list& idx, @@ -228,10 +280,11 @@ octave_value sort (octave_idx_type dim = 0, sortmode mode = ASCENDING) const - { return octave_value (matrix.sort (dim, mode), true, '\''); } + { return octave_value (matrix.sort (dim, mode), true, '\''); } + octave_value sort (Array<octave_idx_type> &sidx, octave_idx_type dim = 0, sortmode mode = ASCENDING) const - { return octave_value (matrix.sort (sidx, dim, mode), true, '\''); } + { return octave_value (matrix.sort (sidx, dim, mode), true, '\''); } private: