changeset 4187:dda53b247bc8

[project @ 2002-11-19 18:54:58 by jwe]
author jwe
date Tue, 19 Nov 2002 18:54:58 +0000
parents bf9c5ca4c3f3
children cfe753a0ed6f
files liboctave/MDiagArray2.cc liboctave/MDiagArray2.h src/ChangeLog src/DLD-FUNCTIONS/odessa.cc
diffstat 4 files changed, 13 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/liboctave/MDiagArray2.cc
+++ b/liboctave/MDiagArray2.cc
@@ -33,6 +33,9 @@
 
 #include "MArray-defs.h"
 
+// Some functions return a reference to this object after a failure.
+template <class T> MDiagArray2<T> MDiagArray2<T>::nil_array;
+
 // Two dimensional diagonal array with math ops.
 
 // Element by element MDiagArray2 by MDiagArray2 ops.
@@ -50,8 +53,7 @@
   if (r != b_nr || c != b_nc)
     {
       gripe_nonconformant ("operator +=", r, c, b_nr, b_nc);
-      static MDiagArray2<T> foo;
-      return foo;
+      return MDiagArray2<T>::nil_array;
     }
   else
     {
@@ -74,8 +76,7 @@
   if (r != b_nr || c != b_nc)
     {
       gripe_nonconformant ("operator -=", r, c, b_nr, b_nc);
-      static MDiagArray2<T> foo;
-      return foo;
+      return MDiagArray2<T>::nil_array;
     }
   else
     {
--- a/liboctave/MDiagArray2.h
+++ b/liboctave/MDiagArray2.h
@@ -81,6 +81,8 @@
       return retval;
     }
 
+  static MDiagArray2<T> nil_array;
+
   // Currently, the OPS functions don't need to be friends, but that
   // may change.
 
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
+2002-11-19  John W. Eaton  <jwe@bevo.che.wisc.edu>
+
+	* DLD-FUNCTIONS/odessa.cc (odessa_user_j): Put T in args(1), not
+	args(0).
+
 2002-11-18  John W. Eaton  <jwe@bevo.che.wisc.edu>
 
 	* parse.y (symtab_context): Now extern.
--- a/src/DLD-FUNCTIONS/odessa.cc
+++ b/src/DLD-FUNCTIONS/odessa.cc
@@ -134,7 +134,7 @@
       else
 	args(2) = Matrix ();
 
-      args(0) = t;
+      args(1) = t;
 
       if (n > 1)
 	args(0) = x;