diff liboctave/dbleSVD.cc @ 1251:97eac19837dc

[project @ 1995-04-11 15:58:32 by jwe]
author jwe
date Tue, 11 Apr 1995 15:58:32 +0000
parents b6360f2d4fa6
children bb67a902760b
line wrap: on
line diff
--- a/liboctave/dbleSVD.cc	Tue Apr 11 01:07:17 1995 +0000
+++ b/liboctave/dbleSVD.cc	Tue Apr 11 15:58:32 1995 +0000
@@ -31,10 +31,10 @@
 
 extern "C"
 {
-  int F77_FCN (dgesvd) (const char*, const char*, const int*,
-			const int*, double*, const int*, double*,
-			double*, const int*, double*, const int*,
-			double*, const int*, int*, long, long);
+  int F77_FCN (dgesvd) (const char*, const char*, const int&,
+			const int&, double*, const int&, double*,
+			double*, const int&, double*, const int&,
+			double*, const int&, int&, long, long);
 }
 
 int
@@ -50,8 +50,8 @@
   int min_mn = m < n ? m : n;
   int max_mn = m > n ? m : n;
 
-  char jobu = 'A';
-  char jobv = 'A';
+  char *jobu = "A";
+  char *jobv = "A";
 
   int ncol_u = m;
   int nrow_vt = n;
@@ -60,7 +60,7 @@
 
   if (svd_type == SVD::economy)
     {
-      jobu = jobv = 'S';
+      jobu = jobv ="S";
       ncol_u = nrow_vt = nrow_s = ncol_s = min_mn;
     }
 
@@ -73,8 +73,8 @@
   int lwork = tmp1 > tmp2 ? tmp1 : tmp2;
   double *work = new double[lwork];
 
-  F77_FCN (dgesvd) (&jobu, &jobv, &m, &n, tmp_data, &m, s_vec, u, &m,
-		    vt, &nrow_vt, work, &lwork, &info, 1L, 1L);
+  F77_FCN (dgesvd) (jobu, jobv, m, n, tmp_data, m, s_vec, u, m,
+		    vt, nrow_vt, work, lwork, info, 1L, 1L);
 
   left_sm = Matrix (u, m, ncol_u);
   sigma = DiagMatrix (s_vec, nrow_s, ncol_s);