# HG changeset patch # User jwe # Date 797618123 0 # Node ID bb67a902760b4262712827ef796f3d0047a5914d # Parent ccb22498f2890d3f8361367d4341a0e0a88ca3c6 [project @ 1995-04-11 16:35:23 by jwe] diff -r ccb22498f289 -r bb67a902760b liboctave/CColVector.cc --- a/liboctave/CColVector.cc Tue Apr 11 16:04:14 1995 +0000 +++ b/liboctave/CColVector.cc Tue Apr 11 16:35:23 1995 +0000 @@ -38,10 +38,11 @@ extern "C" { - int F77_FCN (zgemv) (const char*, const int&, const int&, - const Complex&, const Complex*, const int&, - const Complex*, const int&, const Complex&, - Complex*, const int&, long); + int F77_FCN (zgemv, ZGEMV) (const char*, const int&, const int&, + const Complex&, const Complex*, + const int&, const Complex*, const int&, + const Complex&, Complex*, const int&, + long); } /* @@ -450,8 +451,8 @@ Complex *y = new Complex [nr]; - F77_FCN (zgemv) ("N", nr, nc, 1.0, m.data (), ld, a.data (), 1, 0.0, - y, 1, 1L); + F77_FCN (zgemv, ZGEMV) ("N", nr, nc, 1.0, m.data (), ld, a.data (), + 1, 0.0, y, 1, 1L); return ComplexColumnVector (y, nr); } diff -r ccb22498f289 -r bb67a902760b liboctave/CMatrix.cc --- a/liboctave/CMatrix.cc Tue Apr 11 16:04:14 1995 +0000 +++ b/liboctave/CMatrix.cc Tue Apr 11 16:35:23 1995 +0000 @@ -42,36 +42,37 @@ extern "C" { - int F77_FCN (zgemm) (const char*, const char*, const int&, - const int&, const int&, const Complex&, - const Complex*, const int&, const Complex*, - const int&, const Complex&, Complex*, const int&, - long, long); - - int F77_FCN (zgeco) (Complex*, const int&, const int&, int*, - double&, Complex*); - - int F77_FCN (zgedi) (Complex*, const int&, const int&, int*, - Complex*, Complex*, const int&); - - int F77_FCN (zgesl) (Complex*, const int&, const int&, int*, - Complex*, const int&); - - int F77_FCN (zgelss) (const int&, const int&, const int&, Complex*, - const int&, Complex*, const int&, double*, - double&, int&, Complex*, const int&, - double*, int&); + int F77_FCN (zgemm, ZGEMM) (const char*, const char*, const int&, + const int&, const int&, const Complex&, + const Complex*, const int&, + const Complex*, const int&, + const Complex&, Complex*, const int&, + long, long); + + int F77_FCN (zgeco, ZGECO) (Complex*, const int&, const int&, int*, + double&, Complex*); + + int F77_FCN (zgedi, ZGEDI) (Complex*, const int&, const int&, int*, + Complex*, Complex*, const int&); + + int F77_FCN (zgesl, ZGESL) (Complex*, const int&, const int&, int*, + Complex*, const int&); + + int F77_FCN (zgelss, ZGELSS) (const int&, const int&, const int&, + Complex*, const int&, Complex*, + const int&, double*, double&, int&, + Complex*, const int&, double*, int&); // Note that the original complex fft routines were not written for // double complex arguments. They have been modified by adding an // implicit double precision (a-h,o-z) statement at the beginning of // each subroutine. - int F77_FCN (cffti) (const int&, Complex*); - - int F77_FCN (cfftf) (const int&, Complex*, Complex*); - - int F77_FCN (cfftb) (const int&, Complex*, Complex*); + int F77_FCN (cffti, CFFTI) (const int&, Complex*); + + int F77_FCN (cfftf, CFFTF) (const int&, Complex*, Complex*); + + int F77_FCN (cfftb, CFFTB) (const int&, Complex*, Complex*); } /* @@ -788,7 +789,7 @@ Complex *z = new Complex [nr]; Complex *tmp_data = dup (data (), len); - F77_FCN (zgeco) (tmp_data, nr, nc, ipvt, rcond, z); + F77_FCN (zgeco, ZGECO) (tmp_data, nr, nc, ipvt, rcond, z); volatile double rcond_plus_one = rcond + 1.0; if (rcond_plus_one == 1.0) @@ -800,7 +801,7 @@ { Complex *dummy; - F77_FCN (zgedi) (tmp_data, nr, nc, ipvt, dummy, z, 1); + F77_FCN (zgedi, ZGEDI) (tmp_data, nr, nc, ipvt, dummy, z, 1); } delete [] ipvt; @@ -867,10 +868,10 @@ Complex *wsave = new Complex [nn]; Complex *tmp_data = dup (data (), length ()); - F77_FCN (cffti) (npts, wsave); + F77_FCN (cffti, CFFTI) (npts, wsave); for (int j = 0; j < nsamples; j++) - F77_FCN (cfftf) (npts, &tmp_data[npts*j], wsave); + F77_FCN (cfftf, CFFTF) (npts, &tmp_data[npts*j], wsave); delete [] wsave; @@ -898,10 +899,10 @@ Complex *wsave = new Complex [nn]; Complex *tmp_data = dup (data (), length ()); - F77_FCN (cffti) (npts, wsave); + F77_FCN (cffti, CFFTI) (npts, wsave); for (int j = 0; j < nsamples; j++) - F77_FCN (cfftb) (npts, &tmp_data[npts*j], wsave); + F77_FCN (cfftb, CFFTB) (npts, &tmp_data[npts*j], wsave); for (j = 0; j < npts*nsamples; j++) tmp_data[j] = tmp_data[j] / (double) npts; @@ -932,10 +933,10 @@ Complex *wsave = new Complex [nn]; Complex *tmp_data = dup (data (), length ()); - F77_FCN (cffti) (npts, wsave); + F77_FCN (cffti, CFFTI) (npts, wsave); for (int j = 0; j < nsamples; j++) - F77_FCN (cfftf) (npts, &tmp_data[npts*j], wsave); + F77_FCN (cfftf, CFFTF) (npts, &tmp_data[npts*j], wsave); delete [] wsave; @@ -945,14 +946,14 @@ wsave = new Complex [nn]; Complex *row = new Complex[npts]; - F77_FCN (cffti) (npts, wsave); + F77_FCN (cffti, CFFTI) (npts, wsave); for (j = 0; j < nsamples; j++) { for (int i = 0; i < npts; i++) row[i] = tmp_data[i*nr + j]; - F77_FCN (cfftf) (npts, row, wsave); + F77_FCN (cfftf, CFFTF) (npts, row, wsave); for (i = 0; i < npts; i++) tmp_data[i*nr + j] = row[i]; @@ -985,10 +986,10 @@ Complex *wsave = new Complex [nn]; Complex *tmp_data = dup (data (), length ()); - F77_FCN (cffti) (npts, wsave); + F77_FCN (cffti, CFFTI) (npts, wsave); for (int j = 0; j < nsamples; j++) - F77_FCN (cfftb) (npts, &tmp_data[npts*j], wsave); + F77_FCN (cfftb, CFFTB) (npts, &tmp_data[npts*j], wsave); delete [] wsave; @@ -1001,14 +1002,14 @@ wsave = new Complex [nn]; Complex *row = new Complex[npts]; - F77_FCN (cffti) (npts, wsave); + F77_FCN (cffti, CFFTI) (npts, wsave); for (j = 0; j < nsamples; j++) { for (int i = 0; i < npts; i++) row[i] = tmp_data[i*nr + j]; - F77_FCN (cfftb) (npts, row, wsave); + F77_FCN (cfftb, CFFTB) (npts, row, wsave); for (i = 0; i < npts; i++) tmp_data[i*nr + j] = row[i] / (double) npts; @@ -1058,7 +1059,7 @@ Complex *z = new Complex [nr]; Complex *tmp_data = dup (data (), length ()); - F77_FCN (zgeco) (tmp_data, nr, nr, ipvt, rcond, z); + F77_FCN (zgeco, ZGECO) (tmp_data, nr, nr, ipvt, rcond, z); volatile double rcond_plus_one = rcond + 1.0; if (rcond_plus_one == 1.0) @@ -1069,7 +1070,7 @@ else { Complex d[2]; - F77_FCN (zgedi) (tmp_data, nr, nr, ipvt, d, z, 10); + F77_FCN (zgedi, ZGEDI) (tmp_data, nr, nr, ipvt, d, z, 10); retval = ComplexDET (d); } @@ -1139,7 +1140,7 @@ Complex *z = new Complex [nr]; Complex *tmp_data = dup (data (), length ()); - F77_FCN (zgeco) (tmp_data, nr, nr, ipvt, rcond, z); + F77_FCN (zgeco, ZGECO) (tmp_data, nr, nr, ipvt, rcond, z); volatile double rcond_plus_one = rcond + 1.0; if (rcond_plus_one == 1.0) @@ -1151,7 +1152,7 @@ Complex *result = dup (b.data (), b.length ()); for (int j = 0; j < b_nc; j++) - F77_FCN (zgesl) (tmp_data, nr, nr, ipvt, &result[nr*j], 0); + F77_FCN (zgesl, ZGESL) (tmp_data, nr, nr, ipvt, &result[nr*j], 0); retval = ComplexMatrix (result, b_nr, b_nc); } @@ -1200,7 +1201,7 @@ Complex *z = new Complex [nr]; Complex *tmp_data = dup (data (), length ()); - F77_FCN (zgeco) (tmp_data, nr, nr, ipvt, rcond, z); + F77_FCN (zgeco, ZGECO) (tmp_data, nr, nr, ipvt, rcond, z); volatile double rcond_plus_one = rcond + 1.0; if (rcond_plus_one == 1.0) @@ -1211,7 +1212,7 @@ { Complex *result = dup (b.data (), b_len); - F77_FCN (zgesl) (tmp_data, nr, nr, ipvt, result, 0); + F77_FCN (zgesl, ZGESL) (tmp_data, nr, nr, ipvt, result, 0); retval = ComplexColumnVector (result, b_len); } @@ -1280,8 +1281,8 @@ lrwork = lrwork > 1 ? lrwork : 1; double *rwork = new double [lrwork]; - F77_FCN (zgelss) (m, n, nrhs, tmp_data, m, presult, nrr, s, - rcond, rank, work, lwork, rwork, info); + F77_FCN (zgelss, ZGELSS) (m, n, nrhs, tmp_data, m, presult, nrr, s, + rcond, rank, work, lwork, rwork, info); ComplexMatrix retval (n, nrhs); for (j = 0; j < nrhs; j++) @@ -1353,8 +1354,8 @@ lrwork = lrwork > 1 ? lrwork : 1; double *rwork = new double [lrwork]; - F77_FCN (zgelss) (m, n, nrhs, tmp_data, m, presult, nrr, s, - rcond, rank, work, lwork, rwork, info); + F77_FCN (zgelss, ZGELSS) (m, n, nrhs, tmp_data, m, presult, nrr, s, + rcond, rank, work, lwork, rwork, info); ComplexColumnVector retval (n); for (i = 0; i < n; i++) @@ -1401,8 +1402,8 @@ Complex *c = new Complex [len * a_len]; - F77_FCN (zgemm) ("N", "N", len, a_len, 1, 1.0, v.data (), len, - a.data (), 1, 0.0, c, len, 1L, 1L); + F77_FCN (zgemm, ZGEMM) ("N", "N", len, a_len, 1, 1.0, v.data (), + len, a.data (), 1, 0.0, c, len, 1L, 1L); return ComplexMatrix (c, len, a_len); } @@ -2445,8 +2446,8 @@ Complex *c = new Complex [nr*a_nc]; - F77_FCN (zgemm) ("N", "N", nr, a_nc, nc, 1.0, m.data (), - ld, a.data (), lda, 0.0, c, nr, 1L, 1L); + F77_FCN (zgemm, ZGEMM) ("N", "N", nr, a_nc, nc, 1.0, m.data (), ld, + a.data (), lda, 0.0, c, nr, 1L, 1L); return ComplexMatrix (c, nr, a_nc); } diff -r ccb22498f289 -r bb67a902760b liboctave/CRowVector.cc --- a/liboctave/CRowVector.cc Tue Apr 11 16:04:14 1995 +0000 +++ b/liboctave/CRowVector.cc Tue Apr 11 16:35:23 1995 +0000 @@ -38,10 +38,11 @@ extern "C" { - int F77_FCN (zgemv) (const char*, const int&, const int&, - const Complex&, const Complex*, const int&, - const Complex*, const int&, const Complex&, - Complex*, const int&, long); + int F77_FCN (zgemv, ZGEMV) (const char*, const int&, const int&, + const Complex&, const Complex*, + const int&, const Complex*, const int&, + const Complex&, Complex*, const int&, + long); } /* @@ -442,8 +443,8 @@ Complex *y = new Complex [len]; - F77_FCN (zgemv) ("T", a_nc, a_nr, 1.0, a.data (), ld, v.data (), 1, - 0.0, y, 1, 1L); + F77_FCN (zgemv, ZGEMV) ("T", a_nc, a_nr, 1.0, a.data (), ld, + v.data (), 1, 0.0, y, 1, 1L); return ComplexRowVector (y, len); } diff -r ccb22498f289 -r bb67a902760b liboctave/CmplxAEPBAL.cc --- a/liboctave/CmplxAEPBAL.cc Tue Apr 11 16:04:14 1995 +0000 +++ b/liboctave/CmplxAEPBAL.cc Tue Apr 11 16:35:23 1995 +0000 @@ -31,12 +31,14 @@ extern "C" { - int F77_FCN (zgebal) (const char*, const int&, Complex*, const int&, - int&, int&, double*, int&, long, long); + int F77_FCN (zgebal, ZGEBAL) (const char*, const int&, Complex*, + const int&, int&, int&, double*, int&, + long, long); - int F77_FCN (zgebak) (const char*, const char*, const int&, const int&, - const int&, double*, const int&, Complex*, - const int&, int&, long, long); + int F77_FCN (zgebak, ZGEBAK) (const char*, const char*, const int&, + const int&, const int&, double*, const + int&, Complex*, const int&, int&, + long, long); } int @@ -56,8 +58,9 @@ balanced_mat = a; - F77_FCN (zgebal) (balance_job, n, balanced_mat.fortran_vec (), - n, ilo, ihi, scale, info, 1L, 1L); + F77_FCN (zgebal, ZGEBAL) (balance_job, n, + balanced_mat.fortran_vec (), n, ilo, ihi, + scale, info, 1L, 1L); // Initialize balancing matrix to identity. @@ -65,8 +68,9 @@ for (int i = 0; i < n; i++) balancing_mat (i, i) = 1.0; - F77_FCN (zgebak) (balance_job, "R", n, ilo, ihi, scale, n, - balancing_mat.fortran_vec (), n, info, 1L, 1L); + F77_FCN (zgebak, ZGEBAK) (balance_job, "R", n, ilo, ihi, scale, n, + balancing_mat.fortran_vec (), n, info, 1L, + 1L); delete [] scale; diff -r ccb22498f289 -r bb67a902760b liboctave/CmplxCHOL.cc --- a/liboctave/CmplxCHOL.cc Tue Apr 11 16:04:14 1995 +0000 +++ b/liboctave/CmplxCHOL.cc Tue Apr 11 16:35:23 1995 +0000 @@ -32,8 +32,8 @@ extern "C" { - int F77_FCN (zpotrf) (const char*, const int&, Complex*, const int&, - int&, long); + int F77_FCN (zpotrf, ZPOTRF) (const char*, const int&, Complex*, + const int&, int&, long); } int @@ -53,7 +53,7 @@ Complex *h = dup (a.data (), a.length ()); - F77_FCN (zpotrf) ("U", n, h, n, info, 1L); + F77_FCN (zpotrf, ZPOTRF) ("U", n, h, n, info, 1L); chol_mat = ComplexMatrix (h, n, n); diff -r ccb22498f289 -r bb67a902760b liboctave/CmplxHESS.cc --- a/liboctave/CmplxHESS.cc Tue Apr 11 16:04:14 1995 +0000 +++ b/liboctave/CmplxHESS.cc Tue Apr 11 16:35:23 1995 +0000 @@ -32,20 +32,23 @@ extern "C" { - int F77_FCN (zgebal) (const char*, const int&, Complex*, const int&, - int&, int&, double*, int&, long, long); + int F77_FCN (zgebal, ZGEBAL) (const char*, const int&, Complex*, + const int&, int&, int&, double*, int&, + long, long); - int F77_FCN (zgehrd) (const int&, const int&, const int&, Complex*, - const int&, Complex*, Complex*, const int&, - int&, long, long); + int F77_FCN (zgehrd, ZGEHRD) (const int&, const int&, const int&, + Complex*, const int&, Complex*, + Complex*, const int&, int&, long, + long); - int F77_FCN (zunghr) (const int&, const int&, const int&, Complex*, - const int&, Complex*, Complex*, const int&, - int&, long, long); + int F77_FCN (zunghr, ZUNGHR) (const int&, const int&, const int&, + Complex*, const int&, Complex*, + Complex*, const int&, int&, long, long); - int F77_FCN (zgebak) (const char*, const char*, const int&, const int&, - const int&, double*, const int&, Complex*, - const int&, int&, long, long); + int F77_FCN (zgebak, ZGEBAK) (const char*, const char*, const int&, + const int&, const int&, double*, + const int&, Complex*, const int&, + int&, long, long); } int @@ -76,15 +79,19 @@ Complex *work = new Complex [lwork]; Complex *z = new Complex [n*n]; - F77_FCN (zgebal) (job, n, h, n, ilo, ihi, scale, info, 1L, 1L); + F77_FCN (zgebal, ZGEBAL) (job, n, h, n, ilo, ihi, scale, info, 1L, + 1L); - F77_FCN (zgehrd) (n, ilo, ihi, h, n, tau, work, lwork, info, 1L, 1L); + F77_FCN (zgehrd, ZGEHRD) (n, ilo, ihi, h, n, tau, work, lwork, + info, 1L, 1L); copy (z, h, n*n); - F77_FCN (zunghr) (n, ilo, ihi, z, n, tau, work, lwork, info, 1L, 1L); + F77_FCN (zunghr, ZUNGHR) (n, ilo, ihi, z, n, tau, work, lwork, + info, 1L, 1L); - F77_FCN (zgebak) (job, side, n, ilo, ihi, scale, n, z, n, info, 1L, 1L); + F77_FCN (zgebak, ZGEBAK) (job, side, n, ilo, ihi, scale, n, z, n, + info, 1L, 1L); hess_mat = ComplexMatrix (h, n, n); unitary_hess_mat = ComplexMatrix (z, n, n); diff -r ccb22498f289 -r bb67a902760b liboctave/CmplxLU.cc --- a/liboctave/CmplxLU.cc Tue Apr 11 16:04:14 1995 +0000 +++ b/liboctave/CmplxLU.cc Tue Apr 11 16:35:23 1995 +0000 @@ -32,8 +32,9 @@ extern "C" { - int F77_FCN (zgesv) (const int&, const int&, Complex*, const int&, - int*, Complex*, const int&, int&); + int F77_FCN (zgesv, ZGESV) (const int&, const int&, Complex*, + const int&, int*, Complex*, const int&, + int&); } ComplexLU::ComplexLU (const ComplexMatrix& a) @@ -54,7 +55,7 @@ int info = 0; Complex *b; - F77_FCN (zgesv) (n, 0, tmp_data, n, ipvt, b, n, info); + F77_FCN (zgesv, ZGESV) (n, 0, tmp_data, n, ipvt, b, n, info); ComplexMatrix A_fact (tmp_data, n, n); diff -r ccb22498f289 -r bb67a902760b liboctave/CmplxQR.cc --- a/liboctave/CmplxQR.cc Tue Apr 11 16:04:14 1995 +0000 +++ b/liboctave/CmplxQR.cc Tue Apr 11 16:35:23 1995 +0000 @@ -32,11 +32,13 @@ extern "C" { - int F77_FCN (zgeqrf) (const int&, const int&, Complex*, const int&, - Complex*, Complex*, const int&, int&); + int F77_FCN (zgeqrf, ZGEQRF) (const int&, const int&, Complex*, + const int&, Complex*, Complex*, + const int&, int&); - int F77_FCN (zungqr) (const int&, const int&, const int&, Complex*, - const int&, Complex*, Complex*, const int&, int&); + int F77_FCN (zungqr, ZUNGQR) (const int&, const int&, const int&, + Complex*, const int&, Complex*, + Complex*, const int&, int&); } ComplexQR::ComplexQR (const ComplexMatrix& a, QR::type qr_type) @@ -66,7 +68,8 @@ else tmp_data = dup (a.data (), a.length ()); - F77_FCN (zgeqrf) (m, n, tmp_data, m, tau, work, lwork, info); + F77_FCN (zgeqrf, ZGEQRF) (m, n, tmp_data, m, tau, work, lwork, + info); delete [] work; @@ -103,7 +106,8 @@ lwork = 32*m; work = new Complex[lwork]; - F77_FCN (zungqr) (m, m, min_mn, tmp_data, m, tau, work, lwork, info); + F77_FCN (zungqr, ZUNGQR) (m, m, min_mn, tmp_data, m, tau, work, + lwork, info); q = ComplexMatrix (tmp_data, m, m); q.resize (m, n2); diff -r ccb22498f289 -r bb67a902760b liboctave/CmplxQRP.cc --- a/liboctave/CmplxQRP.cc Tue Apr 11 16:04:14 1995 +0000 +++ b/liboctave/CmplxQRP.cc Tue Apr 11 16:35:23 1995 +0000 @@ -34,11 +34,13 @@ extern "C" { - int F77_FCN (zgeqpf) (const int&, const int&, Complex*, const int&, - int*, Complex*, Complex*, double*, int&); + int F77_FCN (zgeqpf, ZGEQPF) (const int&, const int&, Complex*, + const int&, int*, Complex*, Complex*, + double*, int&); - int F77_FCN (zungqr) (const int&, const int&, const int&, Complex*, - const int&, Complex*, Complex*, const int&, int&); + int F77_FCN (zungqr, ZUNGQR) (const int&, const int&, const int&, + Complex*, const int&, Complex*, + Complex*, const int&, int&); } // It would be best to share some of this code with ComplexQR class... @@ -83,7 +85,8 @@ for (int i = 0; i < n; i++) jpvt[i] = 0; - F77_FCN (zgeqpf) (m, n, tmp_data, m, jpvt, tau, work, rwork, info); + F77_FCN (zgeqpf, ZGEQPF) (m, n, tmp_data, m, jpvt, tau, work, rwork, + info); // Form Permutation matrix (if economy is requested, return the // indices only!) @@ -126,7 +129,8 @@ lwork = 32*m; work = new Complex[lwork]; - F77_FCN (zungqr) (m, m, min_mn, tmp_data, m, tau, work, lwork, info); + F77_FCN (zungqr, ZUNGQR) (m, m, min_mn, tmp_data, m, tau, work, + lwork, info); q = ComplexMatrix (tmp_data, m, m); q.resize (m, n2); diff -r ccb22498f289 -r bb67a902760b liboctave/CmplxSCHUR.cc --- a/liboctave/CmplxSCHUR.cc Tue Apr 11 16:04:14 1995 +0000 +++ b/liboctave/CmplxSCHUR.cc Tue Apr 11 16:35:23 1995 +0000 @@ -32,11 +32,13 @@ extern "C" { - int F77_FCN (zgeesx) (const char*, const char*, int (*)(const Complex&), - const char*, const int&, Complex*, const int&, - int&, Complex*, Complex*, const int&, double&, - double&, Complex*, const int&, double*, int*, - int&, long, long); + int F77_FCN (zgeesx, ZGEESX) (const char*, const char*, + int (*)(const Complex&), + const char*, const int&, Complex*, + const int&, int&, Complex*, Complex*, + const int&, double&, double&, + Complex*, const int&, double*, int*, + int&, long, long); } static int @@ -95,21 +97,24 @@ if (*ord == 'A' || *ord == 'a') { - F77_FCN (zgeesx) (jobvs, sort, complex_select_ana, sense, - n, s, n, sdim, w, q, n, rconde, rcondv, - work, lwork, rwork, bwork, info, 1L, 1L); + F77_FCN (zgeesx, ZGEESX) (jobvs, sort, complex_select_ana, + sense, n, s, n, sdim, w, q, n, rconde, + rcondv, work, lwork, rwork, bwork, + info, 1L, 1L); } else if (*ord == 'D' || *ord == 'd') { - F77_FCN (zgeesx) (jobvs, sort, complex_select_dig, sense, - n, s, n, sdim, w, q, n, rconde, rcondv, - work, lwork, rwork, bwork, info, 1L, 1L); + F77_FCN (zgeesx, ZGEESX) (jobvs, sort, complex_select_dig, + sense, n, s, n, sdim, w, q, n, rconde, + rcondv, work, lwork, rwork, bwork, + info, 1L, 1L); } else { - F77_FCN (zgeesx) (jobvs, sort, (void *) 0, sense, n, s, - n, sdim, w, q, n, rconde, rcondv, work, - lwork, rwork, bwork, info, 1L, 1L); + F77_FCN (zgeesx, ZGEESX) (jobvs, sort, (void *) 0, sense, n, s, + n, sdim, w, q, n, rconde, rcondv, + work, lwork, rwork, bwork, info, 1L, + 1L); } schur_mat = ComplexMatrix (s, n, n); diff -r ccb22498f289 -r bb67a902760b liboctave/CmplxSVD.cc --- a/liboctave/CmplxSVD.cc Tue Apr 11 16:04:14 1995 +0000 +++ b/liboctave/CmplxSVD.cc Tue Apr 11 16:35:23 1995 +0000 @@ -31,10 +31,12 @@ extern "C" { - int F77_FCN (zgesvd) (const char*, const char*, const int&, - const int&, Complex*, const int&, double*, - Complex*, const int&, Complex*, const int&, - Complex*, const int&, double*, int&, long, long); + int F77_FCN (zgesvd, ZGESVD) (const char*, const char*, const int&, + const int&, Complex*, const int&, + double*, Complex*, const int&, + Complex*, const int&, Complex*, + const int&, double*, int&, long, + long); } int @@ -74,8 +76,9 @@ int lrwork = 5*max_mn; double *rwork = new double[lrwork]; - F77_FCN (zgesvd) (jobu, jobv, m, n, tmp_data, m, s_vec, u, m, - vt, nrow_vt, work, lwork, rwork, info, 1L, 1L); + F77_FCN (zgesvd, ZGESVD) (jobu, jobv, m, n, tmp_data, m, s_vec, u, + m, vt, nrow_vt, work, lwork, rwork, info, + 1L, 1L); left_sm = ComplexMatrix (u, m, ncol_u); sigma = DiagMatrix (s_vec, nrow_s, ncol_s); diff -r ccb22498f289 -r bb67a902760b liboctave/CollocWt.cc --- a/liboctave/CollocWt.cc Tue Apr 11 16:04:14 1995 +0000 +++ b/liboctave/CollocWt.cc Tue Apr 11 16:35:23 1995 +0000 @@ -33,11 +33,13 @@ extern "C" { - int F77_FCN (jcobi) (int&, int&, int&, int&, double&, double&, - double*, double*, double*, double*); + int F77_FCN (jcobi, JCOBI) (int&, int&, int&, int&, double&, + double&, double*, double*, double*, + double*); - int F77_FCN (dfopr) (int&, int&, int&, int&, int&, int&, - double*, double*, double*, double*, double*); + int F77_FCN (dfopr, DFOPR) (int&, int&, int&, int&, int&, int&, + double*, double*, double*, double*, + double*); } // Error handling. @@ -275,8 +277,8 @@ // Compute roots. - F77_FCN (jcobi) (nt, n, inc_left, inc_right, Alpha, Beta, - dif1, dif2, dif3, pr); + F77_FCN (jcobi, JCOBI) (nt, n, inc_left, inc_right, Alpha, Beta, + dif1, dif2, dif3, pr); int id; int i, j; @@ -286,8 +288,8 @@ id = 1; for (i = 1; i <= nt; i++) { - F77_FCN (dfopr) (nt, n, inc_left, inc_right, i, id, dif1, - dif2, dif3, pr, vect); + F77_FCN (dfopr, DFOPR) (nt, n, inc_left, inc_right, i, id, dif1, + dif2, dif3, pr, vect); for (j = 0; j < nt; j++) A (i-1, j) = vect[j]; @@ -298,8 +300,8 @@ id = 2; for (i = 1; i <= nt; i++) { - F77_FCN (dfopr) (nt, n, inc_left, inc_right, i, id, dif1, - dif2, dif3, pr, vect); + F77_FCN (dfopr, DFOPR) (nt, n, inc_left, inc_right, i, id, dif1, + dif2, dif3, pr, vect); for (j = 0; j < nt; j++) B (i-1, j) = vect[j]; @@ -309,8 +311,8 @@ id = 3; double *pq = q.fortran_vec (); - F77_FCN (dfopr) (nt, n, inc_left, inc_right, i, id, dif1, - dif2, dif3, pr, pq); + F77_FCN (dfopr, DFOPR) (nt, n, inc_left, inc_right, i, id, dif1, + dif2, dif3, pr, pq); delete [] dif1; delete [] dif2; diff -r ccb22498f289 -r bb67a902760b liboctave/DASSL.cc --- a/liboctave/DASSL.cc Tue Apr 11 16:04:14 1995 +0000 +++ b/liboctave/DASSL.cc Tue Apr 11 16:35:23 1995 +0000 @@ -31,14 +31,17 @@ extern "C" { - int F77_FCN (ddassl) (int (*)(const double&, double*, double*, - double*, int&, double*, int*), - const int&, double&, double*, double*, - double&, const int*, const double&, - const double&, int&, double*, const int&, - int*, const int&, const double*, const int*, - int (*)(const double&, double*, double*, - double*, const double&, double*, int*)); + int F77_FCN (ddassl, DDASSL) (int (*)(const double&, double*, + double*, double*, int&, + double*, int*), + const int&, double&, double*, double*, + double&, const int*, const double&, + const double&, int&, double*, + const int&, int*, const int&, + const double*, const int*, + int (*)(const double&, double*, + double*, double*, const + double&, double*, int*)); } static DAEFunc::DAERHSFunc user_fun; @@ -300,9 +303,9 @@ // again: - F77_FCN (ddassl) (ddassl_f, n, t, px, pxdot, tout, info, - rel_tol, abs_tol, idid, rwork, lrw, iwork, - liw, dummy, idummy, ddassl_j); + F77_FCN (ddassl, DDASSL) (ddassl_f, n, t, px, pxdot, tout, info, + rel_tol, abs_tol, idid, rwork, lrw, iwork, + liw, dummy, idummy, ddassl_j); switch (idid) { diff -r ccb22498f289 -r bb67a902760b liboctave/EIG.cc --- a/liboctave/EIG.cc Tue Apr 11 16:04:14 1995 +0000 +++ b/liboctave/EIG.cc Tue Apr 11 16:35:23 1995 +0000 @@ -32,15 +32,17 @@ extern "C" { - int F77_FCN (dgeev) (const char*, const char*, const int&, double*, - const int&, double*, double*, double*, - const int&, double*, const int&, double*, - const int&, int&, long, long); + int F77_FCN (dgeev, DGEEV) (const char*, const char*, const int&, + double*, const int&, double*, double*, + double*, const int&, double*, + const int&, double*, const int&, int&, + long, long); - int F77_FCN (zgeev) (const char*, const char*, const int&, Complex*, - const int&, Complex*, Complex*, const int&, - Complex*, const int&, Complex*, const int&, - double*, int&, long, long); + int F77_FCN (zgeev, ZGEEV) (const char*, const char*, const int&, + Complex*, const int&, Complex*, + Complex*, const int&, Complex*, + const int&, Complex*, const int&, + double*, int&, long, long); } int @@ -68,8 +70,8 @@ double *dummy; int idummy = 1; - F77_FCN (dgeev) ("N", "V", n, tmp_data, n, wr, wi, dummy, - idummy, pvr, n, work, lwork, info, 1L, 1L); + F77_FCN (dgeev, DGEEV) ("N", "V", n, tmp_data, n, wr, wi, dummy, + idummy, pvr, n, work, lwork, info, 1L, 1L); lambda.resize (n); v.resize (n, n); @@ -140,8 +142,8 @@ Complex *dummy; int idummy = 1; - F77_FCN (zgeev) ("N", "V", n, tmp_data, n, pw, dummy, idummy, pvr, - n, work, lwork, rwork, info, 1L, 1L); + F77_FCN (zgeev, ZGEEV) ("N", "V", n, tmp_data, n, pw, dummy, idummy, + pvr, n, work, lwork, rwork, info, 1L, 1L); delete [] tmp_data; delete [] work; diff -r ccb22498f289 -r bb67a902760b liboctave/LSODE.cc --- a/liboctave/LSODE.cc Tue Apr 11 16:04:14 1995 +0000 +++ b/liboctave/LSODE.cc Tue Apr 11 16:35:23 1995 +0000 @@ -35,14 +35,15 @@ extern "C" { - int F77_FCN (lsode) (int (*)(const int&, const double&, double*, - double*, int&), - int&, double*, double&, double&, int&, - double&, double&, int&, int&, int&, - double*, int&, int*, int&, - int (*)(const int&, const double&, double*, - const int&, const int&, double*, - const int&), int&); + int F77_FCN (lsode, LSODE) (int (*)(const int&, const double&, + double*, double*, int&), + int&, double*, double&, double&, int&, + double&, double&, int&, int&, int&, + double*, int&, int*, int&, + int (*)(const int&, const double&, + double*, const int&, const int&, + double*, const int&), + int&); } static ODEFunc::ODERHSFunc user_fun; @@ -243,7 +244,7 @@ again: - (void) F77_FCN (lsode) (lsode_f, n, xp, t, tout, itol, rel_tol, + F77_FCN (lsode, LSODE) (lsode_f, n, xp, t, tout, itol, rel_tol, abs_tol, itask, istate, iopt, rwork, lrw, iwork, liw, lsode_j, method_flag); diff -r ccb22498f289 -r bb67a902760b liboctave/NLEqn.cc --- a/liboctave/NLEqn.cc Tue Apr 11 16:04:14 1995 +0000 +++ b/liboctave/NLEqn.cc Tue Apr 11 16:35:23 1995 +0000 @@ -35,13 +35,16 @@ extern "C" { - int F77_FCN (hybrd1) (int (*)(int*, double*, double*, int*), - const int&, double*, double*, const double&, - int&, double*, const int&); + int F77_FCN (hybrd1, HYBRD1) (int (*)(int*, double*, double*, int*), + const int&, double*, double*, + const double&, int&, double*, + const int&); - int F77_FCN (hybrj1) (int (*)(int*, double*, double*, double*, int*, int*), - const int&, double*, double*, double*, const int&, - const double&, int&, double*, const int&); + int F77_FCN (hybrj1) (int (*)(int*, double*, double*, double*, int*, + int*), + const int&, double*, double*, double*, + const int&, const double&, int&, double*, + const int&); } static nonlinear_fcn user_fun; @@ -227,8 +230,8 @@ double *wa = new double [lwa]; double *fjac = new double [n*n]; - F77_FCN (hybrj1) (hybrj1_fcn, n, px, fvec, fjac, n, tol, info, - wa, lwa); + F77_FCN (hybrj1, HYBRJ1) (hybrj1_fcn, n, px, fvec, fjac, n, tol, + info, wa, lwa); delete [] wa; delete [] fjac; @@ -238,7 +241,8 @@ int lwa = (n*(3*n+13))/2; double *wa = new double [lwa]; - F77_FCN (hybrd1) (hybrd1_fcn, n, px, fvec, tol, info, wa, lwa); + F77_FCN (hybrd1, HYBRD1) (hybrd1_fcn, n, px, fvec, tol, info, + wa, lwa); delete [] wa; } diff -r ccb22498f289 -r bb67a902760b liboctave/NPSOL.cc --- a/liboctave/NPSOL.cc Tue Apr 11 16:04:14 1995 +0000 +++ b/liboctave/NPSOL.cc Tue Apr 11 16:35:23 1995 +0000 @@ -40,18 +40,18 @@ extern "C" { - int F77_FCN (npoptn) (const char*, long); + int F77_FCN (npoptn, NPOPTN) (const char*, long); - int F77_FCN (npsol) (int&, int&, int&, int&, int&, int&, double*, - double*, double*, - int (*)(int&, const int&, const int&, const - int&, int*, double*, double*, double*, - int*), - int (*)(int&, const int&, double*, double*, - double*, int*), - int&, int&, int*, double*, double*, double*, - double&, double*, double*, double*, int*, int&, - double*, int&); + int F77_FCN (npsol, NPSOL) (int&, int&, int&, int&, int&, int&, + double*, double*, double*, + int (*)(int&, const int&, const int&, + const int&, int*, double*, + double*, double*, int*), + int (*)(int&, const int&, double*, + double*, double*, int*), + int&, int&, int*, double*, double*, + double*, double&, double*, double*, + double*, int*, int&, double*, int&); } // XXX FIXME XXX -- would be nice to not have to have this global @@ -288,22 +288,23 @@ pass_options_to_npsol (); if (! user_jac && ! user_grad) - F77_FCN (npoptn) ("Derivative Level 0", 18L); + F77_FCN (npoptn, NPOPTN) ("Derivative Level 0", 18L); else if (! user_jac && user_grad) - F77_FCN (npoptn) ("Derivative Level 1", 18L); + F77_FCN (npoptn, NPOPTN) ("Derivative Level 1", 18L); else if (user_jac && ! user_grad) - F77_FCN (npoptn) ("Derivative Level 2", 18L); + F77_FCN (npoptn, NPOPTN) ("Derivative Level 2", 18L); else if (user_jac && user_grad) - F77_FCN (npoptn) ("Derivative Level 3", 18L); + F77_FCN (npoptn, NPOPTN) ("Derivative Level 3", 18L); int attempt = 0; while (attempt++ < 5) { - F77_FCN (npsol) (n, nclin, ncnln, nrowa, nrowj, nrowr, pclin, - clow, cup, npsol_confun, npsol_objfun, inform, - iter, istate, c, cjac, pclambda, objf, objgrd, r, - px, iw, leniw, w, lenw); + F77_FCN (npsol, NPSOL) (n, nclin, ncnln, nrowa, nrowj, nrowr, + pclin, clow, cup, npsol_confun, + npsol_objfun, inform, iter, istate, c, + cjac, pclambda, objf, objgrd, r, px, iw, + leniw, w, lenw); if (inform == 6 || inform == 1) continue; @@ -692,8 +693,8 @@ void NPSOL_options::pass_options_to_npsol (void) { - F77_FCN (npoptn) ("Nolist", 6L); - F77_FCN (npoptn) ("Defaults", 8L); + F77_FCN (npoptn, NPOPTN) ("Nolist", 6L); + F77_FCN (npoptn, NPOPTN) ("Defaults", 8L); if (x_central_difference_interval > 0.0) set_option ("Central Difference", x_central_difference_interval); @@ -749,7 +750,7 @@ buf << key << " " << opt << ends; char *command = buf.str (); size_t len = strlen (command); - F77_FCN (npoptn) (command, (long) len); + F77_FCN (npoptn, NPOPTN) (command, (long) len); delete [] command; } @@ -760,7 +761,7 @@ buf << key << " " << opt << ends; char *command = buf.str (); size_t len = strlen (command); - F77_FCN (npoptn) (command, (long) len); + F77_FCN (npoptn, NPOPTN) (command, (long) len); delete [] command; } diff -r ccb22498f289 -r bb67a902760b liboctave/QLD.cc --- a/liboctave/QLD.cc Tue Apr 11 16:04:14 1995 +0000 +++ b/liboctave/QLD.cc Tue Apr 11 16:35:23 1995 +0000 @@ -36,10 +36,10 @@ extern "C" { - int F77_FCN (qld) (int&, int&, int&, int&, int&, double*, double*, - double*, double*, double*, double*, double*, - double*, int&, int&, int&, double*, int&, int*, - int&); + int F77_FCN (qld, QLD) (int&, int&, int&, int&, int&, double*, + double*, double*, double*, double*, double*, + double*, double*, int&, int&, int&, double*, + int&, int*, int&); } Vector @@ -107,8 +107,9 @@ int mmax = m > 0 ? m : 1; iprint = 1; - F77_FCN (qld) (m, me, mmax, n, n, ph, pc, pa, pb, pxl, pxu, px, - u, iout, inform, iprint, war, lwar, iwar, liwar); + F77_FCN (qld, QLD) (m, me, mmax, n, n, ph, pc, pa, pb, pxl, pxu, px, + u, iout, inform, iprint, war, lwar, iwar, + liwar); delete [] war; delete [] iwar; diff -r ccb22498f289 -r bb67a902760b liboctave/QPSOL.cc --- a/liboctave/QPSOL.cc Tue Apr 11 16:04:14 1995 +0000 +++ b/liboctave/QPSOL.cc Tue Apr 11 16:35:23 1995 +0000 @@ -35,18 +35,21 @@ extern "C" { - int F77_FCN (qpsol) (int&, int&, int&, int&, int&, int&, int&, int&, - double&, double*, double*, double*, double*, - double*, double*, - int (*)(const int&, const int&, const int&, - const int&, double*, double*, double*), - int&, int&, int&, int*, double*, int&, int&, - double&, double*, int*, int&, double*, int&); + int F77_FCN (qpsol, QPSOL) (int&, int&, int&, int&, int&, int&, + int&, int&, double&, double*, double*, + double*, double*, double*, double*, + int (*)(const int&, const int&, + const int&, const int&, double*, + double*, double*), + int&, int&, int&, int*, double*, int&, + int&, double&, double*, int*, int&, + double*, int&); - int F77_FCN (dgemv) (const char*, const int&, const int&, - const double&, const double*, const int&, - const double*, const int&, const double&, - double*, const int&, long); + int F77_FCN (dgemv, DGEMV) (const char*, const int&, const int&, + const double&, const double*, + const int&, const double*, const int&, + const double&, double*, const int&, + long); } int @@ -61,7 +64,8 @@ } else { - F77_FCN (dgemv) ("N", n, n, 1.0, hess, n, x, 1, 0.0, hx, 1, 1L); + F77_FCN (dgemv, DGEMV) ("N", n, n, 1.0, hess, n, x, 1, 0.0, hx, + 1, 1L); } return 0; @@ -149,10 +153,11 @@ int *iw = new int [leniw]; double *w = new double [lenw]; - F77_FCN (qpsol) (itmax, msglvl, n, nclin, nctotl, ncon, n, - n, bigbnd, pa, pbl, pbu, pc, featol, ph, qphess, - cold, lp, orthog, istate, px, inform, iter, - objf, pclambda, iw, leniw, w, lenw); + F77_FCN (qpsol, QPSOL) (itmax, msglvl, n, nclin, nctotl, ncon, n, + n, bigbnd, pa, pbl, pbu, pc, featol, ph, + qphess, cold, lp, orthog, istate, px, + inform, iter, objf, pclambda, iw, leniw, w, + lenw); delete [] pbl; delete [] pbu; diff -r ccb22498f289 -r bb67a902760b liboctave/Quad.cc --- a/liboctave/Quad.cc Tue Apr 11 16:04:14 1995 +0000 +++ b/liboctave/Quad.cc Tue Apr 11 16:35:23 1995 +0000 @@ -42,16 +42,18 @@ extern "C" { - int F77_FCN (dqagp) (const double (*)(double*, int&), - const double&, const double&, const int&, - const double*, const double&, const double&, - double&, double&, int&, int&, const int&, - const int&, int&, int*, double*); + int F77_FCN (dqagp, DQAGP) (const double (*)(double*, int&), + const double&, const double&, + const int&, const double*, + const double&, const double&, double&, + double&, int&, int&, const int&, + const int&, int&, int*, double*); - int F77_FCN (dqagi) (const double (*)(double*, int&), const double&, - const int&, const double&, const double&, - double&, double&, int&, int&, const int&, - const int&, int&, int*, double*); + int F77_FCN (dqagi, DQAGI) (const double (*)(double*, int&), + const double&, const int&, + const double&, const double&, double&, + double&, int&, int&, const int&, + const int&, int&, int*, double*); } Quad::Quad (integrand_fcn fcn) @@ -175,9 +177,10 @@ double abs_tol = absolute_tolerance (); double rel_tol = relative_tolerance (); - F77_FCN (dqagp) (user_function, lower_limit, upper_limit, npts, - points, abs_tol, rel_tol, result, abserr, - neval, ier, leniw, lenw, last, iwork, work); + F77_FCN (dqagp, DQAGP) (user_function, lower_limit, upper_limit, + npts, points, abs_tol, rel_tol, result, + abserr, neval, ier, leniw, lenw, last, + iwork, work); delete [] iwork; delete [] work; @@ -243,9 +246,9 @@ double abs_tol = absolute_tolerance (); double rel_tol = relative_tolerance (); - F77_FCN (dqagi) (user_function, bound, inf, abs_tol, rel_tol, - result, abserr, neval, ier, leniw, lenw, - last, iwork, work); + F77_FCN (dqagi, DQAGI) (user_function, bound, inf, abs_tol, rel_tol, + result, abserr, neval, ier, leniw, lenw, + last, iwork, work); delete [] iwork; delete [] work; diff -r ccb22498f289 -r bb67a902760b liboctave/dColVector.cc --- a/liboctave/dColVector.cc Tue Apr 11 16:04:14 1995 +0000 +++ b/liboctave/dColVector.cc Tue Apr 11 16:35:23 1995 +0000 @@ -38,10 +38,11 @@ extern "C" { - int F77_FCN (dgemv) (const char*, const int&, const int&, - const double&, const double*, const int&, - const double*, const int&, const double&, - double*, const int&, long); + int F77_FCN (dgemv, DGEMV) (const char*, const int&, const int&, + const double&, const double*, + const int&, const double*, const int&, + const double&, double*, const int&, + long); } /* @@ -225,8 +226,8 @@ double *y = new double [nr]; - F77_FCN (dgemv) ("N", nr, nc, 1.0, m.data (), ld, a.data (), 1, 0.0, - y, 1, 1L); + F77_FCN (dgemv, DGEMV) ("N", nr, nc, 1.0, m.data (), ld, a.data (), + 1, 0.0, y, 1, 1L); return ColumnVector (y, nr); } diff -r ccb22498f289 -r bb67a902760b liboctave/dMatrix.cc --- a/liboctave/dMatrix.cc Tue Apr 11 16:04:14 1995 +0000 +++ b/liboctave/dMatrix.cc Tue Apr 11 16:35:23 1995 +0000 @@ -43,35 +43,38 @@ extern "C" { - int F77_FCN (dgemm) (const char*, const char*, const int&, - const int&, const int&, const double&, - const double*, const int&, const double*, - const int&, const double&, double*, const int&, - long, long); + int F77_FCN (dgemm, DGEMM) (const char*, const char*, const int&, + const int&, const int&, const double&, + const double*, const int&, + const double*, const int&, + const double&, double*, const int&, + long, long); - int F77_FCN (dgeco) (double*, const int&, const int&, int*, double&, - double*); + int F77_FCN (dgeco, DGECO) (double*, const int&, const int&, int*, + double&, double*); - int F77_FCN (dgesl) (const double*, const int&, const int&, - const int*, double*, const int&); + int F77_FCN (dgesl, DGESL) (const double*, const int&, const int&, + const int*, double*, const int&); - int F77_FCN (dgedi) (double*, const int&, const int&, const int*, - double*, double*, const int&); + int F77_FCN (dgedi, DGEDI) (double*, const int&, const int&, + const int*, double*, double*, + const int&); - int F77_FCN (dgelss) (const int&, const int&, const int&, double*, - const int&, double*, const int&, double*, - double&, int&, double*, const int&, int&); + int F77_FCN (dgelss, DGELSS) (const int&, const int&, const int&, + double*, const int&, double*, + const int&, double*, double&, int&, + double*, const int&, int&); // Note that the original complex fft routines were not written for // double complex arguments. They have been modified by adding an // implicit double precision (a-h,o-z) statement at the beginning of // each subroutine. - int F77_FCN (cffti) (const int&, Complex*); + int F77_FCN (cffti, CFFTI) (const int&, Complex*); - int F77_FCN (cfftf) (const int&, Complex*, Complex*); + int F77_FCN (cfftf, CFFTF) (const int&, Complex*, Complex*); - int F77_FCN (cfftb) (const int&, Complex*, Complex*); + int F77_FCN (cfftb, CFFTB) (const int&, Complex*, Complex*); } /* @@ -514,7 +517,7 @@ double *z = new double [nr]; double *tmp_data = dup (data (), len); - F77_FCN (dgeco) (tmp_data, nr, nc, ipvt, rcond, z); + F77_FCN (dgeco, DGECO) (tmp_data, nr, nc, ipvt, rcond, z); volatile double rcond_plus_one = rcond + 1.0; if (rcond_plus_one == 1.0) @@ -526,7 +529,7 @@ { double *dummy; - F77_FCN (dgedi) (tmp_data, nr, nc, ipvt, dummy, z, 1); + F77_FCN (dgedi, DGEDI) (tmp_data, nr, nc, ipvt, dummy, z, 1); } delete [] ipvt; @@ -593,10 +596,10 @@ Complex *wsave = new Complex [nn]; Complex *tmp_data = make_complex (data (), length ()); - F77_FCN (cffti) (npts, wsave); + F77_FCN (cffti, CFFTI) (npts, wsave); for (int j = 0; j < nsamples; j++) - F77_FCN (cfftf) (npts, &tmp_data[npts*j], wsave); + F77_FCN (cfftf, CFFTF) (npts, &tmp_data[npts*j], wsave); delete [] wsave; @@ -624,10 +627,10 @@ Complex *wsave = new Complex [nn]; Complex *tmp_data = make_complex (data (), length ()); - F77_FCN (cffti) (npts, wsave); + F77_FCN (cffti, CFFTI) (npts, wsave); for (int j = 0; j < nsamples; j++) - F77_FCN (cfftb) (npts, &tmp_data[npts*j], wsave); + F77_FCN (cfftb, CFFTB) (npts, &tmp_data[npts*j], wsave); for (j = 0; j < npts*nsamples; j++) tmp_data[j] = tmp_data[j] / (double) npts; @@ -658,10 +661,10 @@ Complex *wsave = new Complex [nn]; Complex *tmp_data = make_complex (data (), length ()); - F77_FCN (cffti) (npts, wsave); + F77_FCN (cffti, CFFTI) (npts, wsave); for (int j = 0; j < nsamples; j++) - F77_FCN (cfftf) (npts, &tmp_data[npts*j], wsave); + F77_FCN (cfftf, CFFTF) (npts, &tmp_data[npts*j], wsave); delete [] wsave; @@ -671,14 +674,14 @@ wsave = new Complex [nn]; Complex *row = new Complex[npts]; - F77_FCN (cffti) (npts, wsave); + F77_FCN (cffti, CFFTI) (npts, wsave); for (j = 0; j < nsamples; j++) { for (int i = 0; i < npts; i++) row[i] = tmp_data[i*nr + j]; - F77_FCN (cfftf) (npts, row, wsave); + F77_FCN (cfftf, CFFTF) (npts, row, wsave); for (i = 0; i < npts; i++) tmp_data[i*nr + j] = row[i]; @@ -711,10 +714,10 @@ Complex *wsave = new Complex [nn]; Complex *tmp_data = make_complex (data (), length ()); - F77_FCN (cffti) (npts, wsave); + F77_FCN (cffti, CFFTI) (npts, wsave); for (int j = 0; j < nsamples; j++) - F77_FCN (cfftb) (npts, &tmp_data[npts*j], wsave); + F77_FCN (cfftb, CFFTB) (npts, &tmp_data[npts*j], wsave); delete [] wsave; @@ -727,14 +730,14 @@ wsave = new Complex [nn]; Complex *row = new Complex[npts]; - F77_FCN (cffti) (npts, wsave); + F77_FCN (cffti, CFFTI) (npts, wsave); for (j = 0; j < nsamples; j++) { for (int i = 0; i < npts; i++) row[i] = tmp_data[i*nr + j]; - F77_FCN (cfftb) (npts, row, wsave); + F77_FCN (cfftb, CFFTB) (npts, row, wsave); for (i = 0; i < npts; i++) tmp_data[i*nr + j] = row[i] / (double) npts; @@ -784,7 +787,7 @@ double *z = new double [nr]; double *tmp_data = dup (data (), length ()); - F77_FCN (dgeco) (tmp_data, nr, nr, ipvt, rcond, z); + F77_FCN (dgeco, DGECO) (tmp_data, nr, nr, ipvt, rcond, z); volatile double rcond_plus_one = rcond + 1.0; if (rcond_plus_one == 1.0) @@ -795,7 +798,7 @@ else { double d[2]; - F77_FCN (dgedi) (tmp_data, nr, nr, ipvt, d, z, 10); + F77_FCN (dgedi, DGEDI) (tmp_data, nr, nr, ipvt, d, z, 10); retval = DET (d); } @@ -842,7 +845,7 @@ double *z = new double [nr]; double *tmp_data = dup (data (), length ()); - F77_FCN (dgeco) (tmp_data, nr, nr, ipvt, rcond, z); + F77_FCN (dgeco, DGECO) (tmp_data, nr, nr, ipvt, rcond, z); volatile double rcond_plus_one = rcond + 1.0; if (rcond_plus_one == 1.0) @@ -855,7 +858,7 @@ int b_nc = b.cols (); for (int j = 0; j < b_nc; j++) - F77_FCN (dgesl) (tmp_data, nr, nr, ipvt, &result[nr*j], 0); + F77_FCN (dgesl, DGESL) (tmp_data, nr, nr, ipvt, &result[nr*j], 0); retval = Matrix (result, b.rows (), b_nc); } @@ -922,7 +925,7 @@ double *z = new double [nr]; double *tmp_data = dup (data (), length ()); - F77_FCN (dgeco) (tmp_data, nr, nr, ipvt, rcond, z); + F77_FCN (dgeco, DGECO) (tmp_data, nr, nr, ipvt, rcond, z); volatile double rcond_plus_one = rcond + 1.0; if (rcond_plus_one == 1.0) @@ -935,7 +938,7 @@ double *result = dup (b.data (), b_len); - F77_FCN (dgesl) (tmp_data, nr, nr, ipvt, result, 0); + F77_FCN (dgesl, DGESL) (tmp_data, nr, nr, ipvt, result, 0); retval = ColumnVector (result, b_len); } @@ -1021,8 +1024,8 @@ double *work = new double [lwork]; - F77_FCN (dgelss) (m, n, nrhs, tmp_data, m, presult, nrr, s, rcond, - rank, work, lwork, info); + F77_FCN (dgelss, DGELSS) (m, n, nrhs, tmp_data, m, presult, nrr, s, + rcond, rank, work, lwork, info); Matrix retval (n, nrhs); for (j = 0; j < nrhs; j++) @@ -1108,8 +1111,8 @@ double *work = new double [lwork]; - F77_FCN (dgelss) (m, n, nrhs, tmp_data, m, presult, nrr, s, rcond, - rank, work, lwork, info); + F77_FCN (dgelss, DGELSS) (m, n, nrhs, tmp_data, m, presult, nrr, s, + rcond, rank, work, lwork, info); ColumnVector retval (n); for (i = 0; i < n; i++) @@ -1255,8 +1258,8 @@ double *c = new double [len * a_len]; - F77_FCN (dgemm) ("N", "N", len, a_len, 1, 1.0, v.data (), - len, a.data (), 1, 0.0, c, len, 1L, 1L); + F77_FCN (dgemm, DGEMM) ("N", "N", len, a_len, 1, 1.0, v.data (), + len, a.data (), 1, 0.0, c, len, 1L, 1L); return Matrix (c, len, a_len); } @@ -1510,8 +1513,8 @@ double *c = new double [nr*a_nc]; - F77_FCN (dgemm) ("N", "N", nr, a_nc, nc, 1.0, m.data (), - ld, a.data (), lda, 0.0, c, nr, 1L, 1L); + F77_FCN (dgemm, DGEMM) ("N", "N", nr, a_nc, nc, 1.0, m.data (), + ld, a.data (), lda, 0.0, c, nr, 1L, 1L); return Matrix (c, nr, a_nc); } diff -r ccb22498f289 -r bb67a902760b liboctave/dRowVector.cc --- a/liboctave/dRowVector.cc Tue Apr 11 16:04:14 1995 +0000 +++ b/liboctave/dRowVector.cc Tue Apr 11 16:35:23 1995 +0000 @@ -38,13 +38,14 @@ extern "C" { - int F77_FCN (dgemv) (const char*, const int&, const int&, - const double&, const double*, const int&, - const double*, const int&, const double&, - double*, const int&, long); + int F77_FCN (dgemv, DGEMV) (const char*, const int&, const int&, + const double&, const double*, + const int&, const double*, const int&, + const double&, double*, const int&, + long); - double F77_FCN (ddot) (const int&, const double*, const int&, - const double*, const int&); + double F77_FCN (ddot, DDOT) (const int&, const double*, const int&, + const double*, const int&); } /* @@ -230,8 +231,8 @@ double *y = new double [len]; - F77_FCN (dgemv) ("T", a_nc, a_nr, 1.0, a.data (), ld, v.data (), - 1, 0.0, y, 1, 1L); + F77_FCN (dgemv, DGEMV) ("T", a_nc, a_nr, 1.0, a.data (), ld, + v.data (), 1, 0.0, y, 1, 1L); return RowVector (y, len); } @@ -359,7 +360,7 @@ return 0.0; } - return F77_FCN (ddot) (len, v.data (), 1, a.data (), 1); + return F77_FCN (ddot, DDOT) (len, v.data (), 1, a.data (), 1); } Complex diff -r ccb22498f289 -r bb67a902760b liboctave/dbleAEPBAL.cc --- a/liboctave/dbleAEPBAL.cc Tue Apr 11 16:04:14 1995 +0000 +++ b/liboctave/dbleAEPBAL.cc Tue Apr 11 16:35:23 1995 +0000 @@ -30,13 +30,14 @@ extern "C" { - int F77_FCN (dgebal) (const char*, const int&, double*, - const int&, int&, int&, double*, - int&, long, long); + int F77_FCN (dgebal, DGEBAL) (const char*, const int&, double*, + const int&, int&, int&, double*, + int&, long, long); - int F77_FCN (dgebak) (const char*, const char*, const int&, const int&, - const int&, double*, const int&, double*, const int&, - int&, long, long); + int F77_FCN (dgebak, DGEBAK) (const char*, const char*, const int&, + const int&, const int&, double*, + const int&, double*, const int&, + int&, long, long); } int @@ -62,8 +63,9 @@ balanced_mat = a; - F77_FCN (dgebal) (balance_job, n, balanced_mat.fortran_vec (), - n, ilo, ihi, scale, info, 1L, 1L); + F77_FCN (dgebal, DGEBAL) (balance_job, n, + balanced_mat.fortran_vec (), n, ilo, ihi, + scale, info, 1L, 1L); // Initialize balancing matrix to identity. @@ -71,8 +73,9 @@ for (int i = 0; i < n; i++) balancing_mat.elem (i ,i) = 1.0; - F77_FCN (dgebak) (balance_job, "R", n, ilo, ihi, scale, n, - balancing_mat.fortran_vec (), n, info, 1L, 1L); + F77_FCN (dgebak, DGEBAK) (balance_job, "R", n, ilo, ihi, scale, n, + balancing_mat.fortran_vec (), n, info, 1L, + 1L); delete [] scale; diff -r ccb22498f289 -r bb67a902760b liboctave/dbleCHOL.cc --- a/liboctave/dbleCHOL.cc Tue Apr 11 16:04:14 1995 +0000 +++ b/liboctave/dbleCHOL.cc Tue Apr 11 16:35:23 1995 +0000 @@ -32,8 +32,8 @@ extern "C" { - int F77_FCN (dpotrf) (const char*, const int&, double*, const int&, - int&, long); + int F77_FCN (dpotrf, DPOTRF) (const char*, const int&, double*, + const int&, int&, long); } int @@ -52,7 +52,7 @@ double *h = dup (a.data (), a.length ()); - F77_FCN (dpotrf) ("U", n, h, n, info, 1L); + F77_FCN (dpotrf, DPOTRF) ("U", n, h, n, info, 1L); chol_mat = Matrix (h, n, n); diff -r ccb22498f289 -r bb67a902760b liboctave/dbleGEPBAL.cc --- a/liboctave/dbleGEPBAL.cc Tue Apr 11 16:04:14 1995 +0000 +++ b/liboctave/dbleGEPBAL.cc Tue Apr 11 16:35:23 1995 +0000 @@ -32,21 +32,23 @@ extern "C" { - int F77_FCN (dgebak) (const char*, const char*, const int&, const int&, - const int&, double*, const int&, double*, const int&, - int&, long, long); + int F77_FCN (dgebak, DGEBAK) (const char*, const char*, const int&, + const int&, const int&, double*, + const int&, double*, const int&, int&, + long, long); - int F77_FCN (reduce) (const int&, const int&, double*, - const int&, double*, - int&, int&, double*, double*); + int F77_FCN (reduce, REDUCE) (const int&, const int&, double*, + const int&, double*, int&, int&, + double*, double*); - int F77_FCN (scaleg) (const int&, const int&, double*, - const int&, double*, - const int&, const int&, double*, double*, double*); + int F77_FCN (scaleg, SCALEG) (const int&, const int&, double*, + const int&, double*, const int&, + const int&, double*, double*, + double*); - int F77_FCN (gradeq) (const int&, const int&, double*, - const int&, double*, - int&, int&, double*, double*); + int F77_FCN (gradeq, GRADEQ) (const int&, const int&, double*, + const int&, double*, int&, int&, + double*, double*); } int @@ -105,9 +107,9 @@ if (*balance_job == 'P' || *balance_job == 'B') { - F77_FCN (reduce) (n, n, balanced_a_mat.fortran_vec (), - n, balanced_b_mat.fortran_vec (), ilo, ihi, - cscale, wk.fortran_vec ()); + F77_FCN (reduce, REDUCE) (n, n, balanced_a_mat.fortran_vec (), + n, balanced_b_mat.fortran_vec (), ilo, + ihi, cscale, wk.fortran_vec ()); } else { @@ -122,9 +124,9 @@ if ((*balance_job == 'S' || *balance_job == 'B') && ilo != ihi) { - F77_FCN (scaleg) (n, n, balanced_a_mat.fortran_vec (), - n, balanced_b_mat.fortran_vec (), ilo, ihi, - cscale, cperm, wk.fortran_vec ()); + F77_FCN (scaleg, SCALEG) (n, n, balanced_a_mat.fortran_vec (), + n, balanced_b_mat.fortran_vec (), ilo, + ihi, cscale, cperm, wk.fortran_vec ()); } else { @@ -148,14 +150,16 @@ // Column permutations/scaling. - F77_FCN (dgebak) (balance_job, "R", n, ilo, ihi, cscale, n, - right_balancing_mat.fortran_vec (), n, info, - 1L, 1L); + F77_FCN (dgebak, DGEBAK) (balance_job, "R", n, ilo, ihi, cscale, n, + right_balancing_mat.fortran_vec (), n, + info, 1L, 1L); // Row permutations/scaling. - F77_FCN (dgebak) (balance_job, "L", n, ilo, ihi, wk.fortran_vec (), n, - left_balancing_mat.fortran_vec (), n, info, 1L, 1L); + F77_FCN (dgebak, DGEBAK) (balance_job, "L", n, ilo, ihi, + wk.fortran_vec (), n, + left_balancing_mat.fortran_vec (), n, + info, 1L, 1L); // XXX FIXME XXX --- these four lines need to be added and debugged. // GEPBALANCE::init will work without them, though, so here they are. @@ -163,9 +167,9 @@ #if 0 if ((*balance_job == 'P' || *balance_job == 'B') && ilo != ihi) { - F77_FCN (gradeq) (n, n, balanced_a_mat.fortran_vec (), - n, balanced_b_mat.fortran_vec (), ilo, ihi, - cperm, wk.fortran_vec ()); + F77_FCN (gradeq, GRADEQ) (n, n, balanced_a_mat.fortran_vec (), + n, balanced_b_mat.fortran_vec (), ilo, + ihi, cperm, wk.fortran_vec ()); } #endif diff -r ccb22498f289 -r bb67a902760b liboctave/dbleHESS.cc --- a/liboctave/dbleHESS.cc Tue Apr 11 16:04:14 1995 +0000 +++ b/liboctave/dbleHESS.cc Tue Apr 11 16:35:23 1995 +0000 @@ -32,21 +32,22 @@ extern "C" { - int F77_FCN (dgebal) (const char*, const int&, double*, - const int&, int&, int&, double*, - int&, long, long); + int F77_FCN (dgebal, DGEBAL) (const char*, const int&, double*, + const int&, int&, int&, double*, + int&, long, long); - int F77_FCN (dgehrd) (const int&, const int&, const int&, - double*, const int&, double*, double*, - const int&, int&, long, long); + int F77_FCN (dgehrd, DGEHRD) (const int&, const int&, const int&, + double*, const int&, double*, double*, + const int&, int&, long, long); - int F77_FCN (dorghr) (const int&, const int&, const int&, - double*, const int&, double*, double*, - const int&, int&, long, long); + int F77_FCN (dorghr, DORGHR) (const int&, const int&, const int&, + double*, const int&, double*, double*, + const int&, int&, long, long); - int F77_FCN (dgebak) (const char*, const char*, const int&, const int&, - const int&, double*, const int&, double*, const int&, - int&, long, long); + int F77_FCN (dgebak, DGEBAK) (const char*, const char*, const int&, + const int&, const int&, double*, + const int&, double*, const int&, int&, + long, long); } int @@ -76,15 +77,19 @@ double *z = new double [n*n]; double *work = new double [lwork]; - F77_FCN (dgebal) (jobbal, n, h, n, ilo, ihi, scale, info, 1L, 1L); + F77_FCN (dgebal, DGEBAL) (jobbal, n, h, n, ilo, ihi, scale, info, + 1L, 1L); - F77_FCN (dgehrd) (n, ilo, ihi, h, n, tau, work, lwork, info, 1L, 1L); + F77_FCN (dgehrd, DGEHRD) (n, ilo, ihi, h, n, tau, work, lwork, info, + 1L, 1L); copy (z, h, n*n); - F77_FCN (dorghr) (n, ilo, ihi, z, n, tau, work, lwork, info, 1L, 1L); + F77_FCN (dorghr, DORGHR) (n, ilo, ihi, z, n, tau, work, lwork, info, + 1L, 1L); - F77_FCN (dgebak) (jobbal, side, n, ilo, ihi, scale, n, z, n, info, 1L, 1L); + F77_FCN (dgebak, DGEBAK) (jobbal, side, n, ilo, ihi, scale, n, z, n, + info, 1L, 1L); // We need to clear out all of the area below the sub-diagonal which was used // to store the unitary matrix. diff -r ccb22498f289 -r bb67a902760b liboctave/dbleLU.cc --- a/liboctave/dbleLU.cc Tue Apr 11 16:04:14 1995 +0000 +++ b/liboctave/dbleLU.cc Tue Apr 11 16:35:23 1995 +0000 @@ -32,8 +32,9 @@ extern "C" { - int F77_FCN (dgesv) (const int&, const int&, double*, const int&, - int*, double&, const int&, int&); + int F77_FCN (dgesv, DGESV) (const int&, const int&, double*, + const int&, int*, double&, const int&, + int&); } LU::LU (const Matrix& a) @@ -54,7 +55,7 @@ int info = 0; double b; - F77_FCN (dgesv) (n, 0, tmp_data, n, ipvt, b, n, info); + F77_FCN (dgesv, DGESV) (n, 0, tmp_data, n, ipvt, b, n, info); Matrix A_fact (tmp_data, n, n); diff -r ccb22498f289 -r bb67a902760b liboctave/dbleQR.cc --- a/liboctave/dbleQR.cc Tue Apr 11 16:04:14 1995 +0000 +++ b/liboctave/dbleQR.cc Tue Apr 11 16:35:23 1995 +0000 @@ -32,11 +32,13 @@ extern "C" { - int F77_FCN (dgeqrf) (const int&, const int&, double*, const int&, - double*, double*, const int&, int&); + int F77_FCN (dgeqrf, DGEQRF) (const int&, const int&, double*, + const int&, double*, double*, + const int&, int&); - int F77_FCN (dorgqr) (const int&, const int&, const int&, double*, - const int&, double*, double*, const int&, int&); + int F77_FCN (dorgqr, DORGQR) (const int&, const int&, const int&, + double*, const int&, double*, double*, + const int&, int&); } QR::QR (const Matrix& a, QR::type qr_type) @@ -65,7 +67,7 @@ else tmp_data = dup (a.data (), a.length ()); - F77_FCN (dgeqrf) (m, n, tmp_data, m, tau, work, lwork, info); + F77_FCN (dgeqrf, DGEQRF) (m, n, tmp_data, m, tau, work, lwork, info); delete [] work; @@ -102,7 +104,8 @@ lwork = 32*m; work = new double[lwork]; - F77_FCN (dorgqr) (m, m, min_mn, tmp_data, m, tau, work, lwork, info); + F77_FCN (dorgqr, DORGQR) (m, m, min_mn, tmp_data, m, tau, work, + lwork, info); q = Matrix (tmp_data, m, m); q.resize (m, n2); diff -r ccb22498f289 -r bb67a902760b liboctave/dbleQRP.cc --- a/liboctave/dbleQRP.cc Tue Apr 11 16:04:14 1995 +0000 +++ b/liboctave/dbleQRP.cc Tue Apr 11 16:35:23 1995 +0000 @@ -34,11 +34,13 @@ extern "C" { - int F77_FCN (dgeqpf) (const int&, const int&, double*, const int&, - int*, double*, double*, int&); + int F77_FCN (dgeqpf, DGEQPF) (const int&, const int&, double*, + const int&, int*, double*, double*, + int&); - int F77_FCN (dorgqr) (const int&, const int&, const int&, double*, - const int&, double*, double*, const int&, int&); + int F77_FCN (dorgqr, DORGQR) (const int&, const int&, const int&, + double*, const int&, double*, double*, + const int&, int&); } // It would be best to share some of this code with QR class... @@ -79,7 +81,7 @@ for (int i = 0; i < n; i++) jpvt[i] = 0; - F77_FCN (dgeqpf) (m, n, tmp_data, m, jpvt, tau, work, info); + F77_FCN (dgeqpf, DGEQPF) (m, n, tmp_data, m, jpvt, tau, work, info); // Form Permutation matrix (if economy is requested, return the // indices only!) @@ -122,7 +124,8 @@ lwork = 32*m; work = new double[lwork]; - F77_FCN (dorgqr) (m, m, min_mn, tmp_data, m, tau, work, lwork, info); + F77_FCN (dorgqr, DORGQR) (m, m, min_mn, tmp_data, m, tau, work, + lwork, info); q = Matrix (tmp_data, m, m); q.resize (m, n2); diff -r ccb22498f289 -r bb67a902760b liboctave/dbleSCHUR.cc --- a/liboctave/dbleSCHUR.cc Tue Apr 11 16:04:14 1995 +0000 +++ b/liboctave/dbleSCHUR.cc Tue Apr 11 16:35:23 1995 +0000 @@ -32,12 +32,13 @@ extern "C" { - int F77_FCN (dgeesx) (const char*, const char*, - int (*)(const double&, const double&), - const char*, const int&, double*, const int&, - int&, double*, double*, double*, const int&, - double&, double&, double*, const int&, int*, - const int&, int*, int&, long, long); + int F77_FCN (dgeesx, DGEESX) (const char*, const char*, + int (*)(const double&, const double&), + const char*, const int&, double*, + const int&, int&, double*, double*, + double*, const int&, double&, double&, + double*, const int&, int*, const int&, + int*, int&, long, long); } static int @@ -100,23 +101,25 @@ if (*ord == 'A' || *ord == 'a') { - F77_FCN (dgeesx) (jobvs, sort, select_ana, sense, n, s, n, - sdim, wr, wi, q, n, rconde, rcondv, work, - lwork, iwork, liwork, bwork, info, 1L, 1L); + F77_FCN (dgeesx, DGEESX) (jobvs, sort, select_ana, sense, n, s, + n, sdim, wr, wi, q, n, rconde, rcondv, + work, lwork, iwork, liwork, bwork, + info, 1L, 1L); } else if (*ord == 'D' || *ord == 'd') { - F77_FCN (dgeesx) (jobvs, sort, select_dig, sense, n, s, n, - sdim, wr, wi, q, n, rconde, rcondv, work, - lwork, iwork, liwork, bwork, info, 1L, 1L); + F77_FCN (dgeesx, DGEESX) (jobvs, sort, select_dig, sense, n, s, + n, sdim, wr, wi, q, n, rconde, rcondv, + work, lwork, iwork, liwork, bwork, + info, 1L, 1L); } else { - F77_FCN (dgeesx) (jobvs, sort, (void *) 0, sense, n, s, - n, sdim, wr, wi, q, n, rconde, rcondv, - work, lwork, iwork, liwork, bwork, info, - 1L, 1L); + F77_FCN (dgeesx, DGEESX) (jobvs, sort, (void *) 0, sense, n, s, + n, sdim, wr, wi, q, n, rconde, rcondv, + work, lwork, iwork, liwork, bwork, + info, 1L, 1L); } schur_mat = Matrix (s, n, n); diff -r ccb22498f289 -r bb67a902760b liboctave/dbleSVD.cc --- a/liboctave/dbleSVD.cc Tue Apr 11 16:04:14 1995 +0000 +++ b/liboctave/dbleSVD.cc Tue Apr 11 16:35:23 1995 +0000 @@ -31,10 +31,11 @@ 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, 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 @@ -73,8 +74,9 @@ 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, 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);