![]() |
SG++-Doxygen-Documentation
|
Singleton class to facilitate debugging output. More...
#include <Printer.hpp>
Public Member Functions | |
| void | disableStatusPrinting () |
| Disable the printStatus... More... | |
| void | enableStatusPrinting () |
| Enable the printStatus... More... | |
| double | getLastDurationSecs () const |
| size_t | getLineLengthLimit () |
| MutexType & | getMutex () |
| std::ostream * | getStream () const |
| int | getVerbosity () const |
| bool | isStatusPrintingEnabled () |
| void | printIterativeGridGenerator (const IterativeGridGenerator &gridGen) const |
| Print a grid (grid points and function values). More... | |
| void | printSLE (SLE &system) const |
| Print a system of linear equations. More... | |
| void | printStatusBegin (const std::string &msg) |
| Call at the beginning of a time-consuming operation. More... | |
| void | printStatusEnd (const std::string &msg="") |
| Call at the end of a time-consuming operation. More... | |
| void | printStatusIdentation () |
| Internal function printing the indentation. More... | |
| void | printStatusNewLine () |
| End the last status update and place the cursor in a newline. More... | |
| void | printStatusUpdate (const std::string &msg) |
| Call for printing status updates on the operation. More... | |
| void | setLineLengthLimit (size_t lineLengthLimit) |
| void | setStream (std::ostream *stream) |
| void | setVerbosity (int level) |
Static Public Member Functions | |
| static Printer & | getInstance () |
Static Public Attributes | |
| static const int | DEFAULT_VERBOSITY = 0 |
| default verbosity More... | |
Protected Attributes | |
| bool | cursorInClearLine |
| is current line empty? (false if there's an old status update) More... | |
| std::string | indentation |
| indentation More... | |
| int | indentationLevel |
| current indentation level (can be less than statusLevel) More... | |
| double | lastDuration |
| length of last operation in seconds More... | |
| size_t | lastMsgLength |
| length of the last status message in characters More... | |
| size_t | lineLengthLimit |
| maximum length of lines, 0 if unbounded More... | |
| MutexType | mutex |
| internal mutex More... | |
| int | statusLevel |
| current status level More... | |
| bool | statusPrintingEnabled |
| whether status printing is enabled More... | |
| std::ostream * | stream |
| stream used for printing (default std::cout) More... | |
| int | verbose |
| verbosity level More... | |
| std::stack< base::SGppStopwatch > | watches |
| stack of stop watches (started at time of printStatusBegin() calls) More... | |
Static Protected Attributes | |
| static const char | INDENTATION_CHAR = ' ' |
| static const size_t | INDENTATION_LENGTH = 4 |
Singleton class to facilitate debugging output.
Use with the sgpp::printer instance.
The status printing functions won't print anything if
| void sgpp::optimization::Printer::disableStatusPrinting | ( | ) |
Disable the printStatus...
functions. (They're enabled by default.)
References sgpp::optimization::MutexType::lock().
Referenced by sgpp::datadriven::OperationInverseRosenblattTransformation1DBspline::doTransformation1D(), sgpp::datadriven::OperationInverseRosenblattTransformation1DModBspline::doTransformation1D(), sgpp::datadriven::OperationInverseRosenblattTransformation1DPoly::doTransformation1D(), sgpp::datadriven::OperationInverseRosenblattTransformation1DPolyBoundary::doTransformation1D(), sgpp::datadriven::OperationInverseRosenblattTransformation1DBsplineBoundary::doTransformation1D(), sgpp::datadriven::OperationInverseRosenblattTransformation1DModPoly::doTransformation1D(), sgpp::datadriven::OperationInverseRosenblattTransformation1DModPolyClenshawCurtis::doTransformation1D(), sgpp::datadriven::OperationInverseRosenblattTransformation1DBsplineClenshawCurtis::doTransformation1D(), sgpp::datadriven::OperationInverseRosenblattTransformation1DPolyClenshawCurtis::doTransformation1D(), sgpp::datadriven::OperationInverseRosenblattTransformation1DModBsplineClenshawCurtis::doTransformation1D(), sgpp::datadriven::OperationInverseRosenblattTransformation1DPolyClenshawCurtisBoundary::doTransformation1D(), sgpp::optimization::IterativeGridGeneratorLinearSurplus::generate(), sgpp::optimization::optimizer::MultiStart::optimize(), sgpp::optimization::optimizer::LevenbergMarquardt::optimize(), sgpp::optimization::optimizer::AdaptiveNewton::optimize(), sgpp::optimization::optimizer::Newton::optimize(), and sgpp::datadriven::BoHyperparameterOptimizer::run().
| void sgpp::optimization::Printer::enableStatusPrinting | ( | ) |
Enable the printStatus...
functions. (They're enabled by default.)
References sgpp::optimization::MutexType::lock().
Referenced by sgpp::optimization::IterativeGridGeneratorLinearSurplus::generate(), sgpp::optimization::optimizer::MultiStart::optimize(), sgpp::optimization::optimizer::LevenbergMarquardt::optimize(), sgpp::optimization::optimizer::AdaptiveNewton::optimize(), and sgpp::optimization::optimizer::Newton::optimize().
|
static |
Referenced by BSplineCoefficientGridFunction(), BSplineTensorCoefficientGridFunction(), sgpp::combigrid::calculateInterpolationCoefficientsForConvertedExpUniformBoundaryCombigird(), sgpp::optimization::OperationMultipleHierarchisationFundamentalSpline::doDehierarchisation(), sgpp::optimization::OperationMultipleHierarchisationModFundamentalSpline::doDehierarchisation(), sgpp::optimization::OperationMultipleHierarchisationFundamentalSpline::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationModFundamentalSpline::doHierarchisation(), sgpp::datadriven::OperationInverseRosenblattTransformation1DModBspline::doTransformation1D(), sgpp::datadriven::OperationInverseRosenblattTransformation1DModPoly::doTransformation1D(), sgpp::datadriven::OperationInverseRosenblattTransformation1DBspline::doTransformation1D(), sgpp::datadriven::OperationInverseRosenblattTransformation1DPoly::doTransformation1D(), sgpp::datadriven::OperationInverseRosenblattTransformation1DBsplineBoundary::doTransformation1D(), sgpp::datadriven::OperationInverseRosenblattTransformation1DPolyBoundary::doTransformation1D(), sgpp::datadriven::OperationInverseRosenblattTransformation1DPolyClenshawCurtisBoundary::doTransformation1D(), sgpp::datadriven::OperationInverseRosenblattTransformation1DBsplineClenshawCurtis::doTransformation1D(), sgpp::datadriven::OperationInverseRosenblattTransformation1DModBsplineClenshawCurtis::doTransformation1D(), sgpp::datadriven::OperationInverseRosenblattTransformation1DModPolyClenshawCurtis::doTransformation1D(), sgpp::datadriven::OperationInverseRosenblattTransformation1DPolyClenshawCurtis::doTransformation1D(), sgpp::combigrid::FullGridPCESummationStrategy< V >::eval(), sgpp::optimization::IterativeGridGeneratorSOO::generate(), sgpp::optimization::IterativeGridGeneratorLinearSurplus::generate(), sgpp::optimization::IterativeGridGeneratorRitterNovak::generate(), sgpp::optimization::optimizer::CMAES::optimize(), sgpp::optimization::optimizer::Rprop::optimize(), sgpp::optimization::optimizer::AdaptiveGradientDescent::optimize(), sgpp::optimization::optimizer::BFGS::optimize(), sgpp::optimization::optimizer::GradientDescent::optimize(), sgpp::optimization::optimizer::NelderMead::optimize(), sgpp::optimization::optimizer::LogBarrier::optimize(), sgpp::optimization::optimizer::DifferentialEvolution::optimize(), sgpp::optimization::optimizer::NLCG::optimize(), sgpp::optimization::optimizer::MultiStart::optimize(), sgpp::optimization::optimizer::SquaredPenalty::optimize(), sgpp::optimization::optimizer::AugmentedLagrangian::optimize(), sgpp::optimization::optimizer::LevenbergMarquardt::optimize(), sgpp::optimization::optimizer::AdaptiveNewton::optimize(), sgpp::optimization::optimizer::Newton::optimize(), sgpp::datadriven::BoHyperparameterOptimizer::run(), sgpp::optimization::sle_solver::GaussianElimination::solve(), sgpp::optimization::sle_solver::Gmmpp::solve(), sgpp::optimization::sle_solver::Eigen::solve(), sgpp::optimization::sle_solver::Armadillo::solve(), sgpp::optimization::sle_solver::UMFPACK::solve(), sgpp::optimization::sle_solver::Auto::solve(), and sgpp::optimization::sle_solver::BiCGStab::solve().
| double sgpp::optimization::Printer::getLastDurationSecs | ( | ) | const |
Referenced by setVerbosity().
| size_t sgpp::optimization::Printer::getLineLengthLimit | ( | ) |
Referenced by setVerbosity().
| MutexType & sgpp::optimization::Printer::getMutex | ( | ) |
Referenced by sgpp::optimization::optimizer::MultiStart::optimize(), and setVerbosity().
| std::ostream * sgpp::optimization::Printer::getStream | ( | ) | const |
Referenced by setVerbosity().
|
inline |
References verbose.
| bool sgpp::optimization::Printer::isStatusPrintingEnabled | ( | ) |
References sgpp::optimization::MutexType::lock().
Referenced by sgpp::optimization::optimizer::MultiStart::optimize(), sgpp::optimization::optimizer::LevenbergMarquardt::optimize(), sgpp::optimization::optimizer::AdaptiveNewton::optimize(), and sgpp::optimization::optimizer::Newton::optimize().
| void sgpp::optimization::Printer::printIterativeGridGenerator | ( | const IterativeGridGenerator & | gridGen | ) | const |
Print a grid (grid points and function values).
| gridGen | grid to be printed |
References sgpp::optimization::IterativeGridGenerator::getFunctionValues(), sgpp::optimization::IterativeGridGenerator::getGrid(), sgpp::base::HashGridStorage::getSize(), sgpp::base::Grid::getStorage(), python.utils.sg_projections::gridStorage, and python.statsfileInfo::i.
Referenced by setVerbosity().
| void sgpp::optimization::Printer::printSLE | ( | SLE & | system | ) | const |
Print a system of linear equations.
| system | system to be printed |
References sgpp::optimization::SLE::getDimension(), sgpp::optimization::SLE::getMatrixEntry(), python.statsfileInfo::i, and python.utils.statsfile2gnuplot::j.
Referenced by setVerbosity().
| void sgpp::optimization::Printer::printStatusBegin | ( | const std::string & | msg | ) |
Call at the beginning of a time-consuming operation.
Locks and unlocks an OpenMP mutex.
| msg | short description of the operation |
References sgpp::optimization::MutexType::lock().
Referenced by sgpp::optimization::OperationMultipleHierarchisationFundamentalSpline::doDehierarchisation(), sgpp::optimization::OperationMultipleHierarchisationModFundamentalSpline::doDehierarchisation(), sgpp::optimization::OperationMultipleHierarchisationFundamentalSpline::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationModFundamentalSpline::doHierarchisation(), sgpp::optimization::IterativeGridGeneratorSOO::generate(), sgpp::optimization::IterativeGridGeneratorLinearSurplus::generate(), sgpp::optimization::IterativeGridGeneratorRitterNovak::generate(), sgpp::optimization::optimizer::CMAES::optimize(), sgpp::optimization::optimizer::Rprop::optimize(), sgpp::optimization::optimizer::AdaptiveGradientDescent::optimize(), sgpp::optimization::optimizer::BFGS::optimize(), sgpp::optimization::optimizer::GradientDescent::optimize(), sgpp::optimization::optimizer::NelderMead::optimize(), sgpp::optimization::optimizer::LogBarrier::optimize(), sgpp::optimization::optimizer::DifferentialEvolution::optimize(), sgpp::optimization::optimizer::NLCG::optimize(), sgpp::optimization::optimizer::MultiStart::optimize(), sgpp::optimization::optimizer::AugmentedLagrangian::optimize(), sgpp::optimization::optimizer::SquaredPenalty::optimize(), sgpp::optimization::optimizer::LevenbergMarquardt::optimize(), sgpp::optimization::optimizer::AdaptiveNewton::optimize(), sgpp::optimization::optimizer::Newton::optimize(), sgpp::optimization::sle_solver::GaussianElimination::solve(), sgpp::optimization::sle_solver::Gmmpp::solve(), sgpp::optimization::sle_solver::Eigen::solve(), sgpp::optimization::sle_solver::Armadillo::solve(), sgpp::optimization::sle_solver::UMFPACK::solve(), sgpp::optimization::sle_solver::Auto::solve(), and sgpp::optimization::sle_solver::BiCGStab::solve().
| void sgpp::optimization::Printer::printStatusEnd | ( | const std::string & | msg = "" | ) |
Call at the end of a time-consuming operation.
Locks and unlocks an OpenMP mutex.
Retrieve the running time of the operation with getLastDurationSecs() (also works with nested calls of printStatusBegin()).
| msg | short description of the result, e.g. "success" or "error" (optional) |
References sgpp::optimization::MutexType::lock(), and sgpp::base::SGppStopwatch::stop().
Referenced by sgpp::optimization::OperationMultipleHierarchisationFundamentalSpline::doDehierarchisation(), sgpp::optimization::OperationMultipleHierarchisationModFundamentalSpline::doDehierarchisation(), sgpp::optimization::OperationMultipleHierarchisationFundamentalSpline::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationModFundamentalSpline::doHierarchisation(), sgpp::optimization::IterativeGridGeneratorSOO::generate(), sgpp::optimization::IterativeGridGeneratorLinearSurplus::generate(), sgpp::optimization::IterativeGridGeneratorRitterNovak::generate(), sgpp::optimization::optimizer::CMAES::optimize(), sgpp::optimization::optimizer::Rprop::optimize(), sgpp::optimization::optimizer::AdaptiveGradientDescent::optimize(), sgpp::optimization::optimizer::BFGS::optimize(), sgpp::optimization::optimizer::GradientDescent::optimize(), sgpp::optimization::optimizer::NelderMead::optimize(), sgpp::optimization::optimizer::LogBarrier::optimize(), sgpp::optimization::optimizer::DifferentialEvolution::optimize(), sgpp::optimization::optimizer::NLCG::optimize(), sgpp::optimization::optimizer::MultiStart::optimize(), sgpp::optimization::optimizer::AugmentedLagrangian::optimize(), sgpp::optimization::optimizer::SquaredPenalty::optimize(), sgpp::optimization::optimizer::LevenbergMarquardt::optimize(), sgpp::optimization::optimizer::AdaptiveNewton::optimize(), sgpp::optimization::optimizer::Newton::optimize(), sgpp::optimization::sle_solver::GaussianElimination::solve(), sgpp::optimization::sle_solver::Armadillo::solve(), sgpp::optimization::sle_solver::Eigen::solve(), sgpp::optimization::sle_solver::UMFPACK::solve(), sgpp::optimization::sle_solver::Auto::solve(), and sgpp::optimization::sle_solver::BiCGStab::solve().
| void sgpp::optimization::Printer::printStatusIdentation | ( | ) |
Internal function printing the indentation.
References python.statsfileInfo::i.
| void sgpp::optimization::Printer::printStatusNewLine | ( | ) |
End the last status update and place the cursor in a newline.
Referenced by sgpp::optimization::sle_solver::Gmmpp::solve(), sgpp::optimization::sle_solver::Armadillo::solve(), sgpp::optimization::sle_solver::Eigen::solve(), sgpp::optimization::sle_solver::UMFPACK::solve(), and sgpp::optimization::sle_solver::Auto::solve().
| void sgpp::optimization::Printer::printStatusUpdate | ( | const std::string & | msg | ) |
Call for printing status updates on the operation.
The last status is erased, if printStatusNewLine has not been called before. Locks and unlocks an OpenMP mutex.
| msg | status message |
References sgpp::optimization::MutexType::lock().
Referenced by sgpp::optimization::IterativeGridGeneratorSOO::generate(), sgpp::optimization::IterativeGridGeneratorLinearSurplus::generate(), sgpp::optimization::IterativeGridGeneratorRitterNovak::generate(), sgpp::optimization::optimizer::CMAES::optimize(), sgpp::optimization::optimizer::AdaptiveGradientDescent::optimize(), sgpp::optimization::optimizer::Rprop::optimize(), sgpp::optimization::optimizer::BFGS::optimize(), sgpp::optimization::optimizer::GradientDescent::optimize(), sgpp::optimization::optimizer::NelderMead::optimize(), sgpp::optimization::optimizer::LogBarrier::optimize(), sgpp::optimization::optimizer::DifferentialEvolution::optimize(), sgpp::optimization::optimizer::NLCG::optimize(), sgpp::optimization::optimizer::MultiStart::optimize(), sgpp::optimization::optimizer::AugmentedLagrangian::optimize(), sgpp::optimization::optimizer::SquaredPenalty::optimize(), sgpp::optimization::optimizer::LevenbergMarquardt::optimize(), sgpp::optimization::optimizer::AdaptiveNewton::optimize(), sgpp::optimization::optimizer::Newton::optimize(), sgpp::optimization::sle_solver::Gmmpp::solve(), sgpp::optimization::sle_solver::GaussianElimination::solve(), sgpp::optimization::sle_solver::Armadillo::solve(), sgpp::optimization::sle_solver::Eigen::solve(), sgpp::optimization::sle_solver::UMFPACK::solve(), sgpp::optimization::sle_solver::Auto::solve(), and sgpp::optimization::sle_solver::BiCGStab::solve().
| void sgpp::optimization::Printer::setLineLengthLimit | ( | size_t | lineLengthLimit | ) |
| lineLengthLimit | maximum length of lines, 0 if unbounded |
Referenced by setVerbosity().
| void sgpp::optimization::Printer::setStream | ( | std::ostream * | stream | ) |
| stream | stream used for printing (default std::cout) |
Referenced by setVerbosity().
|
inline |
| level | new verbosity level |
References getLastDurationSecs(), getLineLengthLimit(), getMutex(), getStream(), level, lineLengthLimit, printIterativeGridGenerator(), printSLE(), setLineLengthLimit(), setStream(), stream, and verbose.
Referenced by BSplineCoefficientGridFunction(), BSplineTensorCoefficientGridFunction(), sgpp::combigrid::calculateInterpolationCoefficientsForConvertedExpUniformBoundaryCombigird(), and sgpp::combigrid::FullGridPCESummationStrategy< V >::eval().
|
protected |
is current line empty? (false if there's an old status update)
|
static |
default verbosity
|
protected |
indentation
|
staticprotected |
|
staticprotected |
|
protected |
current indentation level (can be less than statusLevel)
|
protected |
length of last operation in seconds
|
protected |
length of the last status message in characters
|
protected |
maximum length of lines, 0 if unbounded
Referenced by setVerbosity().
|
protected |
internal mutex
|
protected |
current status level
|
protected |
whether status printing is enabled
|
protected |
stream used for printing (default std::cout)
Referenced by setVerbosity().
|
protected |
verbosity level
Referenced by python.uq.operations.forcePositivity.findIntersections.IntersectionCandidates::findIntersections(), getVerbosity(), and setVerbosity().
|
protected |
stack of stop watches (started at time of printStatusBegin() calls)