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	Thu Nov 19 22:14:09 1998 +0000
+++ b/src/ov-complex.h	Fri Nov 20 19:34:16 1998 +0000
@@ -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