diff liboctave/MDiagArray2.h @ 8375:e3c9102431a9

fix design problems of diag & perm matrix classes
author Jaroslav Hajek <highegg@gmail.com>
date Fri, 05 Dec 2008 10:20:18 +0100
parents 445d27d79f4e
children 937921654627
line wrap: on
line diff
--- a/liboctave/MDiagArray2.h	Fri Dec 05 07:11:58 2008 +0100
+++ b/liboctave/MDiagArray2.h	Fri Dec 05 10:20:18 2008 +0100
@@ -27,6 +27,7 @@
 
 #include "DiagArray2.h"
 #include "MArray2.h"
+#include "MArray.h"
 
 // Two dimensional diagonal array with math ops.
 
@@ -88,9 +89,9 @@
     {
       octave_idx_type retval = 0;
 
-      const T *d = this->Array<T>::data ();
+      const T *d = this->data ();
 
-      octave_idx_type nel = this->Array<T>::numel ();
+      octave_idx_type nel = this->length ();
 
       for (octave_idx_type i = 0; i < nel; i++)
 	{
@@ -101,6 +102,9 @@
       return retval;
     }
 
+  MArray<T> diag (octave_idx_type k = 0) const
+    { return DiagArray2<T>::diag (k); }
+
   MDiagArray2<T> transpose (void) const { return DiagArray2<T>::transpose (); }
   MDiagArray2<T> hermitian (T (*fcn) (const T&) = 0) const { return DiagArray2<T>::hermitian (fcn); }