diff liboctave/fEIG.cc @ 10350:12884915a8e4

merge MArray classes & improve Array interface
author Jaroslav Hajek <highegg@gmail.com>
date Sat, 23 Jan 2010 21:41:03 +0100
parents 07ebe522dac2
children 8a5e980da6aa
line wrap: on
line diff
--- a/liboctave/fEIG.cc
+++ b/liboctave/fEIG.cc
@@ -155,10 +155,10 @@
   FloatMatrix atmp = a;
   float *tmp_data = atmp.fortran_vec ();
 
-  Array<float> wr (n);
+  Array<float> wr (n, 1);
   float *pwr = wr.fortran_vec ();
 
-  Array<float> wi (n);
+  Array<float> wi (n, 1);
   float *pwi = wi.fortran_vec ();
 
   volatile octave_idx_type nvr = calc_ev ? n : 0;
@@ -181,7 +181,7 @@
   if (info == 0)
     {
       lwork = static_cast<octave_idx_type> (dummy_work);
-      Array<float> work (lwork);
+      Array<float> work (lwork, 1);
       float *pwork = work.fortran_vec ();
 
       F77_XFCN (sgeev, SGEEV, (F77_CONST_CHAR_ARG2 ("N", 1),
@@ -273,7 +273,7 @@
   if (info == 0)
     {
       lwork = static_cast<octave_idx_type> (dummy_work);
-      Array<float> work (lwork);
+      Array<float> work (lwork, 1);
       float *pwork = work.fortran_vec ();
 
       F77_XFCN (ssyev, SSYEV, (F77_CONST_CHAR_ARG2 (calc_ev ? "V" : "N", 1),
@@ -340,7 +340,7 @@
   FloatComplex dummy_work;
 
   octave_idx_type lrwork = 2*n;
-  Array<float> rwork (lrwork);
+  Array<float> rwork (lrwork, 1);
   float *prwork = rwork.fortran_vec ();
 
   FloatComplex *dummy = 0;
@@ -356,7 +356,7 @@
   if (info == 0)
     {
       lwork = static_cast<octave_idx_type> (dummy_work.real ());
-      Array<FloatComplex> work (lwork);
+      Array<FloatComplex> work (lwork, 1);
       FloatComplex *pwork = work.fortran_vec ();
 
       F77_XFCN (cgeev, CGEEV, (F77_CONST_CHAR_ARG2 ("N", 1),
@@ -410,7 +410,7 @@
   FloatComplex dummy_work;
 
   octave_idx_type lrwork = 3*n;
-  Array<float> rwork (lrwork);
+  Array<float> rwork (lrwork, 1);
   float *prwork = rwork.fortran_vec ();
 
   F77_XFCN (cheev, CHEEV, (F77_CONST_CHAR_ARG2 (calc_ev ? "V" : "N", 1),
@@ -423,7 +423,7 @@
   if (info == 0)
     {
       lwork = static_cast<octave_idx_type> (dummy_work.real ());
-      Array<FloatComplex> work (lwork);
+      Array<FloatComplex> work (lwork, 1);
       FloatComplex *pwork = work.fortran_vec ();
 
       F77_XFCN (cheev, CHEEV, (F77_CONST_CHAR_ARG2 (calc_ev ? "V" : "N", 1),
@@ -498,13 +498,13 @@
   FloatMatrix btmp = b;
   float *btmp_data = btmp.fortran_vec ();
 
-  Array<float> ar (n);
+  Array<float> ar (n, 1);
   float *par = ar.fortran_vec ();
 
-  Array<float> ai (n);
+  Array<float> ai (n, 1);
   float *pai = ai.fortran_vec ();
 
-  Array<float> beta (n);
+  Array<float> beta (n, 1);
   float *pbeta = beta.fortran_vec ();
 
   volatile octave_idx_type nvr = calc_ev ? n : 0;
@@ -529,7 +529,7 @@
   if (info == 0)
     {
       lwork = static_cast<octave_idx_type> (dummy_work);
-      Array<float> work (lwork);
+      Array<float> work (lwork, 1);
       float *pwork = work.fortran_vec ();
 
       F77_XFCN (sggev, SGGEV, (F77_CONST_CHAR_ARG2 ("N", 1),
@@ -637,7 +637,7 @@
   if (info == 0)
     {
       lwork = static_cast<octave_idx_type> (dummy_work);
-      Array<float> work (lwork);
+      Array<float> work (lwork, 1);
       float *pwork = work.fortran_vec ();
 
       F77_XFCN (ssygv, SSYGV, (1, F77_CONST_CHAR_ARG2 (calc_ev ? "V" : "N", 1),
@@ -728,7 +728,7 @@
   FloatComplex dummy_work;
 
   octave_idx_type lrwork = 8*n;
-  Array<float> rwork (lrwork);
+  Array<float> rwork (lrwork, 1);
   float *prwork = rwork.fortran_vec ();
 
   FloatComplex *dummy = 0;
@@ -745,7 +745,7 @@
   if (info == 0)
     {
       lwork = static_cast<octave_idx_type> (dummy_work.real ());
-      Array<FloatComplex> work (lwork);
+      Array<FloatComplex> work (lwork, 1);
       FloatComplex *pwork = work.fortran_vec ();
 
       F77_XFCN (cggev, CGGEV, (F77_CONST_CHAR_ARG2 ("N", 1),
@@ -814,7 +814,7 @@
   FloatComplex dummy_work;
 
   octave_idx_type lrwork = 3*n;
-  Array<float> rwork (lrwork);
+  Array<float> rwork (lrwork, 1);
   float *prwork = rwork.fortran_vec ();
 
   F77_XFCN (chegv, CHEGV, (1, F77_CONST_CHAR_ARG2 (calc_ev ? "V" : "N", 1),
@@ -829,7 +829,7 @@
   if (info == 0)
     {
       lwork = static_cast<octave_idx_type> (dummy_work.real ());
-      Array<FloatComplex> work (lwork);
+      Array<FloatComplex> work (lwork, 1);
       FloatComplex *pwork = work.fortran_vec ();
 
       F77_XFCN (chegv, CHEGV, (1, F77_CONST_CHAR_ARG2 (calc_ev ? "V" : "N", 1),