Mercurial > hg > octave-nkf
diff src/ov-complex.h @ 3223:3ee04ff37b3e
[project @ 1998-11-20 19:34:15 by jwe]
author | jwe |
---|---|
date | Fri, 20 Nov 1998 19:34:16 +0000 |
parents | 3deb1105fbc1 |
children | d14c483b3c12 |
line wrap: on
line diff
--- a/src/ov-complex.h +++ b/src/ov-complex.h @@ -39,6 +39,7 @@ #include "error.h" #include "ov-base.h" +#include "ov-base-scalar.h" #include "ov-typeinfo.h" class Octave_map; @@ -49,18 +50,18 @@ // Complex scalar values. class -octave_complex : public octave_base_value +octave_complex : public octave_base_scalar<Complex> { public: octave_complex (void) - : octave_base_value () { } + : octave_base_scalar<Complex> () { } octave_complex (const Complex& c) - : octave_base_value (), scalar (c) { } + : octave_base_scalar<Complex> (c) { } octave_complex (const octave_complex& c) - : octave_base_value (), scalar (c.scalar) { } + : octave_base_scalar<Complex> (c) { } ~octave_complex (void) { } @@ -70,38 +71,14 @@ octave_value do_index_op (const octave_value_list& idx); - int rows (void) const { return 1; } - int columns (void) const { return 1; } - - int length (void) const - { - int r = rows (); - int c = columns (); - - return r > c ? r : c; - } - - bool is_defined (void) const { return true; } - - bool is_constant (void) const { return true; } - bool is_complex_scalar (void) const { return true; } - octave_value all (void) const { return (scalar != 0.0); } - octave_value any (void) const { return (scalar != 0.0); } - bool is_complex_type (void) const { return true; } - bool is_scalar_type (void) const { return true; } - - bool is_numeric_type (void) const { return true; } - // XXX FIXME XXX ??? bool valid_as_scalar_index (void) const { return false; } bool valid_as_zero_index (void) const { return false; } - bool is_true (void) const { return (scalar != 0.0); } - double double_value (bool = false) const; double scalar_value (bool frc_str_conv = false) const @@ -117,16 +94,8 @@ void decrement (void) { scalar -= 1.0; } - void print (ostream& os, bool pr_as_read_syntax = false) const; - - void print_raw (ostream& os, bool pr_as_read_syntax = false) const; - - bool print_name_tag (ostream& os, const string& name) const; - private: - Complex scalar; - DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA DECLARE_OCTAVE_ALLOCATOR