# 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);
}