Mercurial > octave
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);