Mercurial > hg > octave-nkf
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 +++ b/WWW/preface.html @@ -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 +++ b/src/ChangeLog @@ -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 +++ 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 <Array.cc> #include <Array2.cc>
--- 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;
--- 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); }