Mercurial > hg > octave-nkf
diff liboctave/array/CMatrix.cc @ 15383:2137f5638521
maint: periodic merge of stable to default
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Thu, 13 Sep 2012 15:20:16 -0400 |
parents | liboctave/CMatrix.cc@197774b411ec liboctave/CMatrix.cc@648dabbb4c6b |
children | 0a0912a9ab6e |
line wrap: on
line diff
--- a/liboctave/array/CMatrix.cc +++ b/liboctave/array/CMatrix.cc @@ -1786,15 +1786,17 @@ else if (typ == MatrixType::Full || typ == MatrixType::Hermitian) { double anorm = -1.0; - ComplexMatrix atmp = *this; - Complex *tmp_data = atmp.fortran_vec (); if (typ == MatrixType::Hermitian) { octave_idx_type info = 0; char job = 'L'; - anorm = atmp.abs ().sum (). - row(static_cast<octave_idx_type>(0)).max (); + + ComplexMatrix atmp = *this; + Complex *tmp_data = atmp.fortran_vec (); + + anorm = atmp.abs().sum(). + row(static_cast<octave_idx_type>(0)).max(); F77_XFCN (zpotrf, ZPOTRF, (F77_CONST_CHAR_ARG2 (&job, 1), nr, tmp_data, nr, info @@ -1829,6 +1831,9 @@ { octave_idx_type info = 0; + ComplexMatrix atmp = *this; + Complex *tmp_data = atmp.fortran_vec (); + Array<octave_idx_type> ipvt (dim_vector (nr, 1)); octave_idx_type *pipvt = ipvt.fortran_vec (); @@ -2098,9 +2103,11 @@ { info = 0; char job = 'L'; + ComplexMatrix atmp = *this; Complex *tmp_data = atmp.fortran_vec (); - anorm = atmp.abs ().sum ().row (static_cast<octave_idx_type>(0)).max (); + + anorm = atmp.abs().sum().row(static_cast<octave_idx_type>(0)).max(); F77_XFCN (zpotrf, ZPOTRF, (F77_CONST_CHAR_ARG2 (&job, 1), nr, tmp_data, nr, info