Mercurial > octave
diff libinterp/corefcn/qz.cc @ 26001:acb4689aa5f2
* qz.cc: Use octave_stdout instead of std::cout for debugging messages.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Thu, 01 Nov 2018 13:52:23 -0400 |
parents | c7095a755185 |
children | 00f796120a6d |
line wrap: on
line diff
--- a/libinterp/corefcn/qz.cc Thu Nov 01 10:07:19 2018 -0400 +++ b/libinterp/corefcn/qz.cc Thu Nov 01 13:52:23 2018 -0400 @@ -36,11 +36,8 @@ #include <cctype> #include <cmath> -#if defined (DEBUG) || defined (DEBUG_SORT) || defined (DEBUG_EIG) -# include <iostream> -# if defined (DEBUG_EIG) -# include <iomanip> -# endif +#if defined (DEBUG_EIG) +# include <iomanip> #endif #include "f77-fcn.h" @@ -53,6 +50,7 @@ #include "errwarn.h" #include "ovl.h" #if defined (DEBUG) || defined (DEBUG_SORT) +# include "pager.h" # include "pr-output.h" #endif @@ -170,8 +168,8 @@ int nargin = args.length (); #if defined (DEBUG) - std::cout << "qz: nargin = " << nargin - << ", nargout = " << nargout << std::endl; + octave_stdout << "qz: nargin = " << nargin + << ", nargout = " << nargout << std::endl; #endif if (nargin < 2 || nargin > 3 || nargout > 7) @@ -181,7 +179,7 @@ error ("qz: invalid number of output arguments for form 3 call"); #if defined (DEBUG) - std::cout << "qz: determine ordering option" << std::endl; + octave_stdout << "qz: determine ordering option" << std::endl; #endif // Determine ordering option. @@ -209,9 +207,9 @@ F77_CHAR_ARG_LEN (1)); #if defined (DEBUG_EIG) - std::cout << "qz: initial value of safmin=" - << setiosflags (std::ios::scientific) - << safmin << std::endl; + octave_stdout << "qz: initial value of safmin=" + << setiosflags (std::ios::scientific) + << safmin << std::endl; #endif // Some machines (e.g., DEC alpha) get safmin = 0; @@ -219,7 +217,8 @@ if (safmin == 0) { #if defined (DEBUG_EIG) - std::cout << "qz: DANGER WILL ROBINSON: safmin is 0!" << std::endl; + octave_stdout << "qz: DANGER WILL ROBINSON: safmin is 0!" + << std::endl; #endif F77_FUNC (xdlamch, XDLAMCH) (F77_CONST_CHAR_ARG2 ("E", 1), @@ -227,15 +226,15 @@ F77_CHAR_ARG_LEN (1)); #if defined (DEBUG_EIG) - std::cout << "qz: safmin set to " - << setiosflags (std::ios::scientific) - << safmin << std::endl; + octave_stdout << "qz: safmin set to " + << setiosflags (std::ios::scientific) + << safmin << std::endl; #endif } } #if defined (DEBUG) - std::cout << "qz: check matrix A" << std::endl; + octave_stdout << "qz: check matrix A" << std::endl; #endif // Matrix A: check dimensions. @@ -243,7 +242,8 @@ F77_INT nc = octave::to_f77_int (args(0).columns ()); #if defined (DEBUG) - std::cout << "Matrix A dimensions: (" << nn << ',' << nc << ')' << std::endl; + octave_stdout << "Matrix A dimensions: (" << nn << ',' << nc << ')' + << std::endl; #endif if (args(0).isempty ()) @@ -264,7 +264,7 @@ aa = args(0).matrix_value (); #if defined (DEBUG) - std::cout << "qz: check matrix B" << std::endl; + octave_stdout << "qz: check matrix B" << std::endl; #endif // Extract argument 2 (bb, or cbb if complex). @@ -322,8 +322,7 @@ { #if defined (DEBUG) if (comp_q == 'V') - std::cout << "qz: performing balancing; CQ=" << std::endl - << CQ << std::endl; + octave_stdout << "qz: performing balancing; CQ =\n" << CQ << std::endl; #endif if (args(0).isreal ()) caa = ComplexMatrix (aa); @@ -349,8 +348,7 @@ { #if defined (DEBUG) if (comp_q == 'V') - std::cout << "qz: performing balancing; QQ=" << std::endl - << QQ << std::endl; + octave_stdout << "qz: performing balancing; QQ =\n" << QQ << std::endl; #endif F77_XFCN (dggbal, DGGBAL, @@ -379,7 +377,7 @@ #if defined (DEBUG) if (comp_q == 'V') - std::cout << "qz: balancing done; QQ=" << std::endl << QQ << std::endl; + octave_stdout << "qz: balancing done; QQ =\n" << QQ << std::endl; #endif } @@ -396,7 +394,7 @@ #if defined (DEBUG) if (comp_z == 'V') - std::cout << "qz: balancing done; ZZ=" << std::endl << ZZ << std::endl; + octave_stdout << "qz: balancing done; ZZ=\n" << ZZ << std::endl; #endif } #endif @@ -472,43 +470,43 @@ else { #if defined (DEBUG) - std::cout << "qz: performing qr decomposition of bb" << std::endl; + octave_stdout << "qz: performing qr decomposition of bb" << std::endl; #endif // Compute the QR factorization of bb. octave::math::qr<Matrix> bqr (bb); #if defined (DEBUG) - std::cout << "qz: qr (bb) done; now performing qz decomposition" - << std::endl; + octave_stdout << "qz: qr (bb) done; now performing qz decomposition" + << std::endl; #endif bb = bqr.R (); #if defined (DEBUG) - std::cout << "qz: extracted bb" << std::endl; + octave_stdout << "qz: extracted bb" << std::endl; #endif aa = (bqr.Q ()).transpose () * aa; #if defined (DEBUG) - std::cout << "qz: updated aa " << std::endl; - std::cout << "bqr.Q () = " << std::endl << bqr.Q () << std::endl; + octave_stdout << "qz: updated aa " << std::endl; + octave_stdout << "bqr.Q () =\n" << bqr.Q () << std::endl; if (comp_q == 'V') - std::cout << "QQ =" << QQ << std::endl; + octave_stdout << "QQ =" << QQ << std::endl; #endif if (comp_q == 'V') QQ = QQ * bqr.Q (); #if defined (DEBUG) - std::cout << "qz: precursors done..." << std::endl; + octave_stdout << "qz: precursors done..." << std::endl; #endif #if defined (DEBUG) - std::cout << "qz: comp_q = " << comp_q << ", comp_z = " << comp_z - << std::endl; + octave_stdout << "qz: comp_q = " << comp_q << ", comp_z = " << comp_z + << std::endl; #endif // Reduce to generalized Hessenberg form. @@ -549,8 +547,7 @@ #if defined (DEBUG) if (comp_q == 'V') - std::cout << "qz: balancing done; QQ=" << std::endl - << QQ << std::endl; + octave_stdout << "qz: balancing done; QQ=\n" << QQ << std::endl; #endif } @@ -567,8 +564,7 @@ #if defined (DEBUG) if (comp_z == 'V') - std::cout << "qz: balancing done; ZZ=" << std::endl - << ZZ << std::endl; + octave_stdout << "qz: balancing done; ZZ=\n" << ZZ << std::endl; #endif } @@ -582,8 +578,8 @@ error ("qz: cannot re-order complex QZ decomposition"); #if defined (DEBUG_SORT) - std::cout << "qz: ordering eigenvalues: ord_job = " - << ord_job << std::endl; + octave_stdout << "qz: ordering eigenvalues: ord_job = " + << ord_job << std::endl; #endif Array<F77_LOGICAL> select (dim_vector (nn, 1)); @@ -640,24 +636,23 @@ info)); #if defined (DEBUG_SORT) - std::cout << "qz: back from dtgsen: aa=" << std::endl; - octave_print_internal (std::cout, aa, 0); - std::cout << std::endl << "bb=" << std::endl; - octave_print_internal (std::cout, bb, 0); - + octave_stdout << "qz: back from dtgsen: aa =\n"; + octave_print_internal (octave_stdout, aa); + octave_stdout << "\nbb =\n"; + octave_print_internal (octave_stdout, bb); if (comp_z == 'V') { - std::cout << std::endl << "ZZ=" << std::endl; - octave_print_internal (std::cout, ZZ, 0); + octave_stdout << "\nZZ =\n"; + octave_print_internal (octave_stdout, ZZ); } - std::cout << std::endl << "qz: info=" << info << std::endl; - std::cout << "alphar = " << std::endl; - octave_print_internal (std::cout, (Matrix) alphar, 0); - std::cout << std::endl << "alphai = " << std::endl; - octave_print_internal (std::cout, (Matrix) alphai, 0); - std::cout << std::endl << "beta = " << std::endl; - octave_print_internal (std::cout, (Matrix) betar, 0); - std::cout << std::endl; + octave_stdout << "\nqz: info=" << info; + octave_stdout << "\nalphar =\n"; + octave_print_internal (octave_stdout, Matrix (alphar)); + octave_stdout << "\nalphai =\n"; + octave_print_internal (octave_stdout, Matrix (alphai)); + octave_stdout << "\nbeta =\n"; + octave_print_internal (octave_stdout, Matrix (betar)); + octave_stdout << std::endl; #endif } @@ -678,7 +673,7 @@ else { #if defined (DEBUG) - std::cout << "qz: computing generalized eigenvalues" << std::endl; + octave_stdout << "qz: computing generalized eigenvalues" << std::endl; #endif // Return finite generalized eigenvalues. @@ -728,7 +723,7 @@ else { #if defined (DEBUG) - std::cout << "qz: computing generalized eigenvectors" << std::endl; + octave_stdout << "qz: computing generalized eigenvectors" << std::endl; #endif VL = QQ; @@ -818,9 +813,9 @@ if (nargin == 3) { #if defined (DEBUG) - std::cout << "qz: sort: retval(3) = gev = " << std::endl; - octave_print_internal (std::cout, ComplexMatrix (gev)); - std::cout << std::endl; + octave_stdout << "qz: sort: retval(3) = gev =\n"; + octave_print_internal (octave_stdout, ComplexMatrix (gev)); + octave_stdout << std::endl; #endif retval(3) = gev; } @@ -855,11 +850,11 @@ if (complex_case) { #if defined (DEBUG) - std::cout << "qz: retval(1) = cbb = " << std::endl; - octave_print_internal (std::cout, cbb, 0); - std::cout << std::endl << "qz: retval(0) = caa = " <<std::endl; - octave_print_internal (std::cout, caa, 0); - std::cout << std::endl; + octave_stdout << "qz: retval(1) = cbb =\n"; + octave_print_internal (octave_stdout, cbb); + octave_stdout << "\nqz: retval(0) = caa =\n"; + octave_print_internal (octave_stdout, caa); + octave_stdout << std::endl; #endif retval(1) = cbb; retval(0) = caa; @@ -867,11 +862,11 @@ else { #if defined (DEBUG) - std::cout << "qz: retval(1) = bb = " << std::endl; - octave_print_internal (std::cout, bb, 0); - std::cout << std::endl << "qz: retval(0) = aa = " <<std::endl; - octave_print_internal (std::cout, aa, 0); - std::cout << std::endl; + octave_stdout << "qz: retval(1) = bb =\n"; + octave_print_internal (octave_stdout, bb); + octave_stdout << "\nqz: retval(0) = aa =\n"; + octave_print_internal (octave_stdout, aa); + octave_stdout << std::endl; #endif retval(1) = bb; retval(0) = aa; @@ -882,7 +877,7 @@ case 1: case 0: #if defined (DEBUG) - std::cout << "qz: retval(0) = gev = " << gev << std::endl; + octave_stdout << "qz: retval(0) = gev = " << gev << std::endl; #endif retval(0) = gev; break; @@ -893,7 +888,7 @@ } #if defined (DEBUG) - std::cout << "qz: exiting (at long last)" << std::endl; + octave_stdout << "qz: exiting (at long last)" << std::endl; #endif return retval;