changeset 2479:26e9ee533d87

[project @ 1996-11-07 17:46:14 by jwe]
author jwe
date Thu, 07 Nov 1996 17:49:07 +0000
parents 1fa325961eea
children 5586b72dbf48
files WWW/preface.html src/ChangeLog src/ov-typeinfo.cc src/ov-typeinfo.h src/pt-fvc.cc
diffstat 5 files changed, 21 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/WWW/preface.html	Thu Nov 07 17:41:00 1996 +0000
+++ b/WWW/preface.html	Thu Nov 07 17:49:07 1996 +0000
@@ -44,7 +44,7 @@
 <p>
 Virtually everyone thinks that the name Octave has something to do with
 music, but it is actually the name of a former
-<a href="http://www.engr.orst.edu/~reed/CSTR/profs.html">professor</a>
+<a href="http://www.che.orst.edu/faculty/profs.html">professor</a>
 of mine who wrote a famous textbook on chemical reaction engineering,
 and who was also well known for his ability to do quick `back of the
 envelope' calculations.  We hope that this software will make it
--- a/src/ChangeLog	Thu Nov 07 17:41:00 1996 +0000
+++ b/src/ChangeLog	Thu Nov 07 17:49:07 1996 +0000
@@ -1,5 +1,10 @@
 Thu Nov  7 07:59:07 1996  John W. Eaton  <jwe@bevo.che.wisc.edu>
 
+	* pt-fvc.cc (tree_indirect_ref::reference): If the lhs object is
+	not a map, convert it to one.
+
+	* ov-typeinfo.h (init_tab_sz): New static member.
+
 	* ov-struct.cc, ov-struct.h: Add hooks for custom memory management.
 	* ov-scalar.cc, ov-scalar.h: Likewise.
 	* ov-re-mat.cc, ov-re-mat.h: Likewise.
--- a/src/ov-typeinfo.cc	Thu Nov 07 17:41:00 1996 +0000
+++ b/src/ov-typeinfo.cc	Thu Nov 07 17:49:07 1996 +0000
@@ -35,7 +35,11 @@
 #include "help.h"
 #include "oct-obj.h"
 
-octave_value_typeinfo *octave_value_typeinfo::instance = 0;
+const int
+octave_value_typeinfo::init_tab_sz (16);
+
+octave_value_typeinfo *
+octave_value_typeinfo::instance (0);
 
 #include <Array.cc>
 #include <Array2.cc>
--- a/src/ov-typeinfo.h	Thu Nov 07 17:41:00 1996 +0000
+++ b/src/ov-typeinfo.h	Thu Nov 07 17:49:07 1996 +0000
@@ -85,15 +85,17 @@
 protected:
 
   octave_value_typeinfo (void)
-    : num_types (0), types (32, string ()),
-      binary_ops (octave_value::num_binary_ops, 32, 32,
-		  (binary_op_fcn) 0),
-      assign_ops (32, 32, (assign_op_fcn) 0),
-      pref_assign_conv (32, 32, -1),
-      widening_ops (32, 32, (type_conv_fcn) 0)  { }
+    : num_types (0), types (init_tab_sz, string ()),
+      binary_ops (octave_value::num_binary_ops, init_tab_sz,
+		  init_tab_sz, (binary_op_fcn) 0),
+      assign_ops (init_tab_sz, init_tab_sz, (assign_op_fcn) 0),
+      pref_assign_conv (init_tab_sz, init_tab_sz, -1),
+      widening_ops (init_tab_sz, init_tab_sz, (type_conv_fcn) 0)  { }
 
 private:
 
+  static const int init_tab_sz;
+
   static octave_value_typeinfo *instance;
 
   int num_types;
--- a/src/pt-fvc.cc	Thu Nov 07 17:41:00 1996 +0000
+++ b/src/pt-fvc.cc	Thu Nov 07 17:49:07 1996 +0000
@@ -531,14 +531,14 @@
       if (id)
 	{
 	  octave_value& tmp = id->reference ();
-	  if (tmp.is_undefined ())
+	  if (tmp.is_undefined () || ! tmp.is_map ())
 	    tmp = Octave_map ();
 	  return tmp.struct_elt_ref (nm);
 	}
       else if (indir)
 	{
 	  octave_value& tmp = indir->reference ();
-	  if (tmp.is_undefined ())
+	  if (tmp.is_undefined () || ! tmp.is_map ())
 	    tmp = Octave_map ();
 	  return tmp.struct_elt_ref (nm);
 	}