Mercurial > hg > octave-nkf
diff liboctave/CmplxSVD.cc @ 10185:455759a5fcbe
fix norm and svd on empty matrices
author | Jaroslav Hajek <highegg@gmail.com> |
---|---|
date | Fri, 22 Jan 2010 12:37:03 +0100 |
parents | 4c0cdbe0acca |
children | e317791645c4 |
line wrap: on
line diff
--- a/liboctave/CmplxSVD.cc +++ b/liboctave/CmplxSVD.cc @@ -141,10 +141,12 @@ Array<Complex> work (1); + octave_idx_type m1 = std::max (m, 1), nrow_vt1 = std::max (nrow_vt, 1); + F77_XFCN (zgesvd, ZGESVD, (F77_CONST_CHAR_ARG2 (&jobu, 1), F77_CONST_CHAR_ARG2 (&jobv, 1), - m, n, tmp_data, m, s_vec, u, m, vt, - nrow_vt, work.fortran_vec (), lwork, + m, n, tmp_data, m1, s_vec, u, m1, vt, + nrow_vt1, work.fortran_vec (), lwork, rwork.fortran_vec (), info F77_CHAR_ARG_LEN (1) F77_CHAR_ARG_LEN (1))); @@ -154,8 +156,8 @@ F77_XFCN (zgesvd, ZGESVD, (F77_CONST_CHAR_ARG2 (&jobu, 1), F77_CONST_CHAR_ARG2 (&jobv, 1), - m, n, tmp_data, m, s_vec, u, m, vt, - nrow_vt, work.fortran_vec (), lwork, + m, n, tmp_data, m1, s_vec, u, m1, vt, + nrow_vt1, work.fortran_vec (), lwork, rwork.fortran_vec (), info F77_CHAR_ARG_LEN (1) F77_CHAR_ARG_LEN (1)));