# HG changeset patch # User Jaroslav Hajek # Date 1279866991 -7200 # Node ID 7fa044155982ea4f9b84a7d1bbeb6afaff86584c # Parent 0eb323b71957dcb52a325aca01063cf6a1b27650 fix diag() with complex scalars diff --git a/src/ChangeLog b/src/ChangeLog --- a/src/ChangeLog +++ b/src/ChangeLog @@ -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 --git a/src/ov-base-scalar.cc b/src/ov-base-scalar.cc --- a/src/ov-base-scalar.cc +++ b/src/ov-base-scalar.cc @@ -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 --git a/src/ov-base-scalar.h b/src/ov-base-scalar.h --- a/src/ov-base-scalar.h +++ b/src/ov-base-scalar.h @@ -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); }