# HG changeset patch # User jwe # Date 847388947 0 # Node ID 26e9ee533d8776695a9986690d1d4b86aa70c678 # Parent 1fa325961eeaf5c516305070eb153537678b96cb [project @ 1996-11-07 17:46:14 by jwe] diff --git a/WWW/preface.html b/WWW/preface.html --- a/WWW/preface.html +++ b/WWW/preface.html @@ -44,7 +44,7 @@

Virtually everyone thinks that the name Octave has something to do with music, but it is actually the name of a former -professor +professor 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 diff --git a/src/ChangeLog b/src/ChangeLog --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,10 @@ Thu Nov 7 07:59:07 1996 John W. Eaton + * 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. diff --git a/src/ov-typeinfo.cc b/src/ov-typeinfo.cc --- a/src/ov-typeinfo.cc +++ b/src/ov-typeinfo.cc @@ -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 #include diff --git a/src/ov-typeinfo.h b/src/ov-typeinfo.h --- a/src/ov-typeinfo.h +++ b/src/ov-typeinfo.h @@ -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; diff --git a/src/pt-fvc.cc b/src/pt-fvc.cc --- a/src/pt-fvc.cc +++ b/src/pt-fvc.cc @@ -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); }