# HG changeset patch # User Jaroslav Hajek # Date 1274770438 -7200 # Node ID ec5fa46e0e455c3bdcaaf2b4295e70adf048477d # Parent 2f0fbfa4dd23a63c1c26f4aac14295df29bef369 override ndims and numel for scalars and matrices diff -r 2f0fbfa4dd23 -r ec5fa46e0e45 src/ChangeLog --- a/src/ChangeLog Tue May 25 08:24:29 2010 +0200 +++ b/src/ChangeLog Tue May 25 08:53:58 2010 +0200 @@ -1,3 +1,9 @@ +2010-05-25 Jaroslav Hajek + + * ov-base-mat.h (octave_base_matrix::ndims): New override. + * ov-base-scalar.h (octave_base_scalar::numel, + octave_base_scalar::ndims): New overrides. + 2010-05-25 Jaroslav Hajek * ov-base.cc (octave_base_value::ndims): Remove fallback diff -r 2f0fbfa4dd23 -r ec5fa46e0e45 src/ov-base-mat.h --- a/src/ov-base-mat.h Tue May 25 08:24:29 2010 +0200 +++ b/src/ov-base-mat.h Tue May 25 08:53:58 2010 +0200 @@ -102,6 +102,8 @@ octave_idx_type numel (void) const { return matrix.numel (); } + int ndims (void) const { return matrix.ndims (); } + octave_idx_type nnz (void) const { return matrix.nnz (); } octave_value reshape (const dim_vector& new_dims) const diff -r 2f0fbfa4dd23 -r ec5fa46e0e45 src/ov-base-scalar.h --- a/src/ov-base-scalar.h Tue May 25 08:24:29 2010 +0200 +++ b/src/ov-base-scalar.h Tue May 25 08:53:58 2010 +0200 @@ -78,6 +78,10 @@ dim_vector dims (void) const { static dim_vector dv (1, 1); return dv; } + octave_idx_type numel (void) const { return 1; } + + int ndims (void) const { return 2; } + octave_idx_type nnz (void) const { return (scalar != ST ()) ? 1 : 0; } octave_value permute (const Array&, bool = false) const;