# HG changeset patch # User jwe # Date 847388947 0 # Node ID 26e9ee533d8776695a9986690d1d4b86aa70c678 # Parent 1fa325961eeaf5c516305070eb153537678b96cb [project @ 1996-11-07 17:46:14 by jwe] diff -r 1fa325961eea -r 26e9ee533d87 WWW/preface.html --- 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 @@

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 -r 1fa325961eea -r 26e9ee533d87 src/ChangeLog --- 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 + * 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 -r 1fa325961eea -r 26e9ee533d87 src/ov-typeinfo.cc --- 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 #include diff -r 1fa325961eea -r 26e9ee533d87 src/ov-typeinfo.h --- 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; diff -r 1fa325961eea -r 26e9ee533d87 src/pt-fvc.cc --- 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); }