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	Fri Jun 04 13:29:34 2004 +0000
+++ b/liboctave/ChangeLog	Tue Jun 08 15:08:51 2004 +0000
@@ -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	Fri Jun 04 13:29:34 2004 +0000
+++ b/liboctave/mx-inlines.cc	Tue Jun 08 15:08:51 2004 +0000
@@ -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	Fri Jun 04 13:29:34 2004 +0000
+++ b/src/ov-bool-mat.h	Tue Jun 08 15:08:51 2004 +0000
@@ -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	Fri Jun 04 13:29:34 2004 +0000
+++ b/src/ov-ch-mat.h	Tue Jun 08 15:08:51 2004 +0000
@@ -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	Fri Jun 04 13:29:34 2004 +0000
+++ b/src/ov-cx-mat.h	Tue Jun 08 15:08:51 2004 +0000
@@ -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	Fri Jun 04 13:29:34 2004 +0000
+++ b/src/ov-re-mat.h	Tue Jun 08 15:08:51 2004 +0000
@@ -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	Fri Jun 04 13:29:34 2004 +0000
+++ b/src/ov-streamoff.h	Tue Jun 08 15:08:51 2004 +0000
@@ -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; }