# HG changeset patch # User Jaroslav Hajek # Date 1279866991 -7200 # Node ID 7fa044155982ea4f9b84a7d1bbeb6afaff86584c # Parent 0eb323b71957dcb52a325aca01063cf6a1b27650 fix diag() with complex scalars diff -r 0eb323b71957 -r 7fa044155982 src/ChangeLog --- a/src/ChangeLog Fri Jul 23 08:20:39 2010 +0200 +++ b/src/ChangeLog Fri Jul 23 08:36:31 2010 +0200 @@ -1,3 +1,8 @@ +2010-07-23 Jaroslav Hajek + + * ov-base-scalar.cc (octave_base_scalar::diag): Implement here. Fix. + * ov-base-scalar.h: Only declare here. + 2010-07-23 Jaroslav Hajek * ov-re-diag.cc (octave_diag_matrix::try_narrowing_conversion): Remove diff -r 0eb323b71957 -r 7fa044155982 src/ov-base-scalar.cc --- a/src/ov-base-scalar.cc Fri Jul 23 08:20:39 2010 +0200 +++ b/src/ov-base-scalar.cc Fri Jul 23 08:36:31 2010 +0200 @@ -115,6 +115,13 @@ } template +octave_value +octave_base_scalar::diag (octave_idx_type k) const +{ + return Array (1, 1, scalar).diag (k); +} + +template bool octave_base_scalar::is_true (void) const { diff -r 0eb323b71957 -r 7fa044155982 src/ov-base-scalar.h --- a/src/ov-base-scalar.h Fri Jul 23 08:20:39 2010 +0200 +++ b/src/ov-base-scalar.h Fri Jul 23 08:36:31 2010 +0200 @@ -94,8 +94,7 @@ octave_value any (int = 0) const { return (scalar != ST ()); } - octave_value diag (octave_idx_type k = 0) const - { return octave_value (matrix_value (). diag (k)); } + octave_value diag (octave_idx_type k = 0) const; octave_value sort (octave_idx_type, sortmode) const { return octave_value (scalar); }