Mercurial > hg > octave-lojdl
changeset 4899:e227982af676
[project @ 2004-06-08 15:08:51 by jwe]
author | jwe |
---|---|
date | Tue, 08 Jun 2004 15:08:51 +0000 |
parents | 8fd9495f5054 |
children | cf470c996819 |
files | liboctave/ChangeLog liboctave/mx-inlines.cc src/ov-bool-mat.h src/ov-ch-mat.h src/ov-cx-mat.h src/ov-re-mat.h src/ov-streamoff.h |
diffstat | 7 files changed, 12 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/liboctave/ChangeLog +++ b/liboctave/ChangeLog @@ -1,3 +1,9 @@ +2004-06-04 John W. Eaton <jwe@octave.org> + + * mx-inlines.cc (MX_ND_REDUCTION): New arg, RET_ELT_TYPE. Use + "RET_ELT_TYPE ()" rather than "false" as fill value for retval + resize op. Change all uses. + 2004-06-03 David Bateman <dbateman@free.fr> * Array.cc (assignN): Allow magic colon for dimensions lvalue
--- a/liboctave/mx-inlines.cc +++ b/liboctave/mx-inlines.cc @@ -378,7 +378,8 @@ break; \ } -#define MX_ND_REDUCTION(EVAL_EXPR, END_EXPR, VAL, ACC_DECL, RET_TYPE) \ +#define MX_ND_REDUCTION(EVAL_EXPR, END_EXPR, VAL, ACC_DECL, \ + RET_TYPE, RET_ELT_TYPE) \ \ RET_TYPE retval; \ \ @@ -456,7 +457,7 @@ int num_iter = (numel () / dim_length); \ \ /* Make sure retval has correct dimensions */ \ - retval.resize (dv, false); \ + retval.resize (dv, RET_ELT_TYPE ()); \ \ Array<int> iter_idx (dv.length (), 0); \ \ @@ -488,14 +489,14 @@ #define MX_ND_REAL_OP_REDUCTION(ASN_EXPR, INIT_VAL) \ MX_ND_REDUCTION (acc ASN_EXPR, retval.elem (iter_idx) = acc, \ - INIT_VAL, double acc = INIT_VAL, NDArray) + INIT_VAL, double acc = INIT_VAL, NDArray, double) #define MX_ND_COMPLEX_OP_REDUCTION(ASN_EXPR, INIT_VAL) \ MX_ND_REDUCTION (acc ASN_EXPR, retval.elem (iter_idx) = acc, \ - INIT_VAL, Complex acc = INIT_VAL, ComplexNDArray) + INIT_VAL, Complex acc = INIT_VAL, ComplexNDArray, Complex) #define MX_ND_ANY_ALL_REDUCTION(EVAL_EXPR, VAL) \ - MX_ND_REDUCTION (EVAL_EXPR, , VAL, , boolNDArray) + MX_ND_REDUCTION (EVAL_EXPR, , VAL, , boolNDArray, bool) #define MX_ND_CUMULATIVE_OP(RET_TYPE, ACC_TYPE, VAL, OP) \ RET_TYPE retval; \
--- a/src/ov-bool-mat.h +++ b/src/ov-bool-mat.h @@ -78,8 +78,6 @@ idx_vector index_vector (void) const { return idx_vector (matrix); } - size_t byte_size (void) const { return numel () * sizeof (bool); } - bool is_bool_matrix (void) const { return true; } bool is_bool_type (void) const { return true; }
--- a/src/ov-ch-mat.h +++ b/src/ov-ch-mat.h @@ -83,8 +83,6 @@ octave_value *clone (void) const { return new octave_char_matrix (*this); } octave_value *empty_clone (void) const { return new octave_char_matrix (); } - size_t byte_size (void) const { return numel () * sizeof (char); } - bool is_char_matrix (void) const { return true; } bool is_real_matrix (void) const { return true; }
--- a/src/ov-cx-mat.h +++ b/src/ov-cx-mat.h @@ -85,8 +85,6 @@ void assign (const octave_value_list& idx, const NDArray& rhs); - size_t byte_size (void) const { return numel () * sizeof (Complex); } - bool is_complex_matrix (void) const { return true; } bool is_complex_type (void) const { return true; }
--- a/src/ov-re-mat.h +++ b/src/ov-re-mat.h @@ -84,8 +84,6 @@ idx_vector index_vector (void) const { return idx_vector (matrix); } - size_t byte_size (void) const { return numel () * sizeof (double); } - bool is_real_matrix (void) const { return true; } bool is_real_type (void) const { return true; }
--- a/src/ov-streamoff.h +++ b/src/ov-streamoff.h @@ -63,8 +63,6 @@ octave_value *clone (void) const { return new octave_streamoff (*this); } octave_value *empty_clone (void) const { return new octave_streamoff (); } - size_t byte_size (void) const { return numel () * sizeof (std::streamoff); } - bool is_defined (void) const { return true; } bool is_streamoff (void) const { return true; }