![]() |
SG++-Doxygen-Documentation
|
Singleton class to facilitate debugging output. More...
#include <Printer.hpp>
Public Member Functions | |
void | disableStatusPrinting () |
Disable the printStatus... functions. | |
void | enableStatusPrinting () |
Enable the printStatus... functions. | |
double | getLastDurationSecs () const |
size_t | getLineLengthLimit () |
MutexType & | getMutex () |
std::ostream * | getStream () const |
int | getVerbosity () const |
bool | isStatusPrintingEnabled () |
void | printSLE (SLE &system) const |
Print a system of linear equations. | |
void | printStatusBegin (const std::string &msg) |
Call at the beginning of a time-consuming operation. | |
void | printStatusEnd (const std::string &msg="") |
Call at the end of a time-consuming operation. | |
void | printStatusIdentation () |
Internal function printing the indentation. | |
void | printStatusNewLine () |
End the last status update and place the cursor in a newline. | |
void | printStatusUpdate (const std::string &msg) |
Call for printing status updates on the operation. | |
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 | |
Protected Attributes | |
bool | cursorInClearLine |
is current line empty? (false if there's an old status update) | |
std::string | indentation |
indentation | |
int | indentationLevel |
current indentation level (can be less than statusLevel) | |
double | lastDuration |
length of last operation in seconds | |
size_t | lastMsgLength |
length of the last status message in characters | |
size_t | lineLengthLimit |
maximum length of lines, 0 if unbounded | |
MutexType | mutex |
internal mutex | |
int | statusLevel |
current status level | |
bool | statusPrintingEnabled |
whether status printing is enabled | |
std::ostream * | stream |
stream used for printing (default std::cout) | |
int | verbose |
verbosity level | |
std::stack< SGppStopwatch > | watches |
stack of stop watches (started at time of printStatusBegin() calls) | |
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::base::Printer::disableStatusPrinting | ( | ) |
Disable the printStatus... functions.
(They're enabled by default.)
Referenced by sgpp::optimization::FuzzyExtensionPrinciple::apply(), sgpp::datadriven::OperationInverseRosenblattTransformation1DBspline::doTransformation1D(), sgpp::datadriven::OperationInverseRosenblattTransformation1DBsplineBoundary::doTransformation1D(), sgpp::datadriven::OperationInverseRosenblattTransformation1DBsplineClenshawCurtis::doTransformation1D(), sgpp::datadriven::OperationInverseRosenblattTransformation1DModBspline::doTransformation1D(), sgpp::datadriven::OperationInverseRosenblattTransformation1DModBsplineClenshawCurtis::doTransformation1D(), sgpp::datadriven::OperationInverseRosenblattTransformation1DModPoly::doTransformation1D(), sgpp::datadriven::OperationInverseRosenblattTransformation1DModPolyClenshawCurtis::doTransformation1D(), sgpp::datadriven::OperationInverseRosenblattTransformation1DPoly::doTransformation1D(), sgpp::datadriven::OperationInverseRosenblattTransformation1DPolyBoundary::doTransformation1D(), sgpp::datadriven::OperationInverseRosenblattTransformation1DPolyClenshawCurtis::doTransformation1D(), sgpp::datadriven::OperationInverseRosenblattTransformation1DPolyClenshawCurtisBoundary::doTransformation1D(), sgpp::optimization::IterativeGridGeneratorLinearSurplus::generate(), sgpp::optimization::optimizer::LevenbergMarquardt::optimize(), sgpp::optimization::optimizer::AdaptiveNewton::optimize(), sgpp::optimization::optimizer::MultiStart::optimize(), sgpp::optimization::optimizer::Newton::optimize(), and sgpp::datadriven::BoHyperparameterOptimizer::run().
void sgpp::base::Printer::enableStatusPrinting | ( | ) |
Enable the printStatus... functions.
(They're enabled by default.)
Referenced by sgpp::optimization::FuzzyExtensionPrinciple::apply(), sgpp::optimization::IterativeGridGeneratorLinearSurplus::generate(), sgpp::optimization::optimizer::LevenbergMarquardt::optimize(), sgpp::optimization::optimizer::AdaptiveNewton::optimize(), sgpp::optimization::optimizer::MultiStart::optimize(), and sgpp::optimization::optimizer::Newton::optimize().
|
static |
Referenced by sgpp::optimization::FuzzyExtensionPrinciple::apply(), sgpp::base::sle_solver::callback(), sgpp::optimization::OperationMultipleHierarchisationFundamentalNakSplineBoundary::doDehierarchisation(), sgpp::optimization::OperationMultipleHierarchisationFundamentalSpline::doDehierarchisation(), sgpp::optimization::OperationMultipleHierarchisationFundamentalSplineBoundary::doDehierarchisation(), sgpp::optimization::OperationMultipleHierarchisationModFundamentalSpline::doDehierarchisation(), sgpp::optimization::OperationMultipleHierarchisationFundamentalNakSplineBoundary::doDehierarchisation(), sgpp::optimization::OperationMultipleHierarchisationFundamentalSpline::doDehierarchisation(), sgpp::optimization::OperationMultipleHierarchisationFundamentalSplineBoundary::doDehierarchisation(), sgpp::optimization::OperationMultipleHierarchisationModFundamentalSpline::doDehierarchisation(), sgpp::optimization::OperationMultipleHierarchisationFundamentalNakSplineBoundary::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationFundamentalSpline::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationFundamentalSplineBoundary::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationModFundamentalSpline::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationFundamentalNakSplineBoundary::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationFundamentalSpline::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationFundamentalSplineBoundary::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationModFundamentalSpline::doHierarchisation(), sgpp::datadriven::OperationInverseRosenblattTransformation1DBspline::doTransformation1D(), sgpp::datadriven::OperationInverseRosenblattTransformation1DBsplineBoundary::doTransformation1D(), sgpp::datadriven::OperationInverseRosenblattTransformation1DBsplineClenshawCurtis::doTransformation1D(), sgpp::datadriven::OperationInverseRosenblattTransformation1DModBspline::doTransformation1D(), sgpp::datadriven::OperationInverseRosenblattTransformation1DModBsplineClenshawCurtis::doTransformation1D(), sgpp::datadriven::OperationInverseRosenblattTransformation1DModPoly::doTransformation1D(), sgpp::datadriven::OperationInverseRosenblattTransformation1DModPolyClenshawCurtis::doTransformation1D(), sgpp::datadriven::OperationInverseRosenblattTransformation1DPoly::doTransformation1D(), sgpp::datadriven::OperationInverseRosenblattTransformation1DPolyBoundary::doTransformation1D(), sgpp::datadriven::OperationInverseRosenblattTransformation1DPolyClenshawCurtis::doTransformation1D(), sgpp::datadriven::OperationInverseRosenblattTransformation1DPolyClenshawCurtisBoundary::doTransformation1D(), sgpp::optimization::IterativeGridGeneratorFuzzyRitterNovak::generate(), sgpp::optimization::IterativeGridGeneratorLinearSurplus::generate(), sgpp::optimization::IterativeGridGeneratorRitterNovak::generate(), sgpp::optimization::IterativeGridGeneratorSOO::generate(), sgpp::optimization::optimizer::AugmentedLagrangian::optimize(), sgpp::optimization::optimizer::LogBarrier::optimize(), sgpp::optimization::optimizer::SquaredPenalty::optimize(), sgpp::optimization::optimizer::LevenbergMarquardt::optimize(), sgpp::optimization::optimizer::AdaptiveGradientDescent::optimize(), sgpp::optimization::optimizer::AdaptiveNewton::optimize(), sgpp::optimization::optimizer::BFGS::optimize(), sgpp::optimization::optimizer::CMAES::optimize(), sgpp::optimization::optimizer::DifferentialEvolution::optimize(), sgpp::optimization::optimizer::GradientDescent::optimize(), sgpp::optimization::optimizer::MultiStart::optimize(), sgpp::optimization::optimizer::NelderMead::optimize(), sgpp::optimization::optimizer::Newton::optimize(), sgpp::optimization::optimizer::NLCG::optimize(), sgpp::optimization::optimizer::Rprop::optimize(), sgpp::optimization::IterativeGridGenerator::printIterativeGridGenerator(), sgpp::datadriven::BoHyperparameterOptimizer::run(), sgpp::base::sle_solver::Armadillo::solve(), sgpp::base::sle_solver::Auto::solve(), sgpp::base::sle_solver::Eigen::solve(), sgpp::base::sle_solver::UMFPACK::solve(), sgpp::base::sle_solver::BiCGStab::solve(), sgpp::base::sle_solver::GaussianElimination::solve(), sgpp::base::sle_solver::Gmmpp::solve(), and sgpp::base::sle_solver::solveInternal().
double sgpp::base::Printer::getLastDurationSecs | ( | ) | const |
size_t sgpp::base::Printer::getLineLengthLimit | ( | ) |
MutexType & sgpp::base::Printer::getMutex | ( | ) |
Referenced by sgpp::optimization::FuzzyExtensionPrinciple::apply(), and sgpp::optimization::optimizer::MultiStart::optimize().
std::ostream * sgpp::base::Printer::getStream | ( | ) | const |
|
inline |
References verbose.
bool sgpp::base::Printer::isStatusPrintingEnabled | ( | ) |
Referenced by sgpp::optimization::FuzzyExtensionPrinciple::apply(), sgpp::optimization::optimizer::LevenbergMarquardt::optimize(), sgpp::optimization::optimizer::AdaptiveNewton::optimize(), sgpp::optimization::optimizer::MultiStart::optimize(), and sgpp::optimization::optimizer::Newton::optimize().
void sgpp::base::Printer::printSLE | ( | SLE & | system | ) | const |
Print a system of linear equations.
system | system to be printed |
References sgpp::base::SLE::getDimension(), and sgpp::base::SLE::getMatrixEntry().
void sgpp::base::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 |
Referenced by sgpp::optimization::FuzzyExtensionPrinciple::apply(), sgpp::optimization::OperationMultipleHierarchisationFundamentalNakSplineBoundary::doDehierarchisation(), sgpp::optimization::OperationMultipleHierarchisationFundamentalSpline::doDehierarchisation(), sgpp::optimization::OperationMultipleHierarchisationFundamentalSplineBoundary::doDehierarchisation(), sgpp::optimization::OperationMultipleHierarchisationModFundamentalSpline::doDehierarchisation(), sgpp::optimization::OperationMultipleHierarchisationFundamentalNakSplineBoundary::doDehierarchisation(), sgpp::optimization::OperationMultipleHierarchisationFundamentalSpline::doDehierarchisation(), sgpp::optimization::OperationMultipleHierarchisationFundamentalSplineBoundary::doDehierarchisation(), sgpp::optimization::OperationMultipleHierarchisationModFundamentalSpline::doDehierarchisation(), sgpp::optimization::OperationMultipleHierarchisationFundamentalNakSplineBoundary::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationFundamentalSpline::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationFundamentalSplineBoundary::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationModFundamentalSpline::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationFundamentalNakSplineBoundary::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationFundamentalSpline::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationFundamentalSplineBoundary::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationModFundamentalSpline::doHierarchisation(), sgpp::optimization::IterativeGridGeneratorFuzzyRitterNovak::generate(), sgpp::optimization::IterativeGridGeneratorLinearSurplus::generate(), sgpp::optimization::IterativeGridGeneratorRitterNovak::generate(), sgpp::optimization::IterativeGridGeneratorSOO::generate(), sgpp::optimization::optimizer::AugmentedLagrangian::optimize(), sgpp::optimization::optimizer::LogBarrier::optimize(), sgpp::optimization::optimizer::SquaredPenalty::optimize(), sgpp::optimization::optimizer::LevenbergMarquardt::optimize(), sgpp::optimization::optimizer::AdaptiveGradientDescent::optimize(), sgpp::optimization::optimizer::AdaptiveNewton::optimize(), sgpp::optimization::optimizer::BFGS::optimize(), sgpp::optimization::optimizer::CMAES::optimize(), sgpp::optimization::optimizer::DifferentialEvolution::optimize(), sgpp::optimization::optimizer::GradientDescent::optimize(), sgpp::optimization::optimizer::MultiStart::optimize(), sgpp::optimization::optimizer::NelderMead::optimize(), sgpp::optimization::optimizer::Newton::optimize(), sgpp::optimization::optimizer::NLCG::optimize(), sgpp::optimization::optimizer::Rprop::optimize(), sgpp::optimization::IterativeGridGenerator::printIterativeGridGenerator(), sgpp::base::sle_solver::Armadillo::solve(), sgpp::base::sle_solver::Auto::solve(), sgpp::base::sle_solver::Eigen::solve(), sgpp::base::sle_solver::UMFPACK::solve(), sgpp::base::sle_solver::BiCGStab::solve(), sgpp::base::sle_solver::GaussianElimination::solve(), and sgpp::base::sle_solver::Gmmpp::solve().
void sgpp::base::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::base::SGppStopwatch::stop().
Referenced by sgpp::optimization::FuzzyExtensionPrinciple::apply(), sgpp::optimization::OperationMultipleHierarchisationFundamentalNakSplineBoundary::doDehierarchisation(), sgpp::optimization::OperationMultipleHierarchisationFundamentalSpline::doDehierarchisation(), sgpp::optimization::OperationMultipleHierarchisationFundamentalSplineBoundary::doDehierarchisation(), sgpp::optimization::OperationMultipleHierarchisationModFundamentalSpline::doDehierarchisation(), sgpp::optimization::OperationMultipleHierarchisationFundamentalNakSplineBoundary::doDehierarchisation(), sgpp::optimization::OperationMultipleHierarchisationFundamentalSpline::doDehierarchisation(), sgpp::optimization::OperationMultipleHierarchisationFundamentalSplineBoundary::doDehierarchisation(), sgpp::optimization::OperationMultipleHierarchisationModFundamentalSpline::doDehierarchisation(), sgpp::optimization::OperationMultipleHierarchisationFundamentalNakSplineBoundary::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationFundamentalSpline::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationFundamentalSplineBoundary::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationModFundamentalSpline::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationFundamentalNakSplineBoundary::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationFundamentalSpline::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationFundamentalSplineBoundary::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationModFundamentalSpline::doHierarchisation(), sgpp::optimization::IterativeGridGeneratorFuzzyRitterNovak::generate(), sgpp::optimization::IterativeGridGeneratorLinearSurplus::generate(), sgpp::optimization::IterativeGridGeneratorRitterNovak::generate(), sgpp::optimization::IterativeGridGeneratorSOO::generate(), sgpp::optimization::optimizer::AugmentedLagrangian::optimize(), sgpp::optimization::optimizer::LogBarrier::optimize(), sgpp::optimization::optimizer::SquaredPenalty::optimize(), sgpp::optimization::optimizer::LevenbergMarquardt::optimize(), sgpp::optimization::optimizer::AdaptiveGradientDescent::optimize(), sgpp::optimization::optimizer::AdaptiveNewton::optimize(), sgpp::optimization::optimizer::BFGS::optimize(), sgpp::optimization::optimizer::CMAES::optimize(), sgpp::optimization::optimizer::DifferentialEvolution::optimize(), sgpp::optimization::optimizer::GradientDescent::optimize(), sgpp::optimization::optimizer::MultiStart::optimize(), sgpp::optimization::optimizer::NelderMead::optimize(), sgpp::optimization::optimizer::Newton::optimize(), sgpp::optimization::optimizer::NLCG::optimize(), sgpp::optimization::optimizer::Rprop::optimize(), sgpp::optimization::IterativeGridGenerator::printIterativeGridGenerator(), sgpp::base::sle_solver::Armadillo::solve(), sgpp::base::sle_solver::Auto::solve(), sgpp::base::sle_solver::Eigen::solve(), sgpp::base::sle_solver::UMFPACK::solve(), sgpp::base::sle_solver::BiCGStab::solve(), sgpp::base::sle_solver::GaussianElimination::solve(), and sgpp::base::sle_solver::solveInternal().
void sgpp::base::Printer::printStatusIdentation | ( | ) |
Internal function printing the indentation.
void sgpp::base::Printer::printStatusNewLine | ( | ) |
End the last status update and place the cursor in a newline.
Referenced by sgpp::optimization::FuzzyExtensionPrinciple::apply(), sgpp::optimization::IterativeGridGenerator::printIterativeGridGenerator(), sgpp::base::sle_solver::Armadillo::solve(), sgpp::base::sle_solver::Auto::solve(), sgpp::base::sle_solver::Eigen::solve(), sgpp::base::sle_solver::UMFPACK::solve(), sgpp::base::sle_solver::Gmmpp::solve(), and sgpp::base::sle_solver::solveInternal().
void sgpp::base::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 |
Referenced by sgpp::optimization::FuzzyExtensionPrinciple::apply(), sgpp::base::sle_solver::callback(), sgpp::optimization::IterativeGridGeneratorFuzzyRitterNovak::generate(), sgpp::optimization::IterativeGridGeneratorLinearSurplus::generate(), sgpp::optimization::IterativeGridGeneratorRitterNovak::generate(), sgpp::optimization::IterativeGridGeneratorSOO::generate(), sgpp::optimization::optimizer::AugmentedLagrangian::optimize(), sgpp::optimization::optimizer::LogBarrier::optimize(), sgpp::optimization::optimizer::SquaredPenalty::optimize(), sgpp::optimization::optimizer::LevenbergMarquardt::optimize(), sgpp::optimization::optimizer::AdaptiveGradientDescent::optimize(), sgpp::optimization::optimizer::AdaptiveNewton::optimize(), sgpp::optimization::optimizer::BFGS::optimize(), sgpp::optimization::optimizer::CMAES::optimize(), sgpp::optimization::optimizer::DifferentialEvolution::optimize(), sgpp::optimization::optimizer::GradientDescent::optimize(), sgpp::optimization::optimizer::MultiStart::optimize(), sgpp::optimization::optimizer::NelderMead::optimize(), sgpp::optimization::optimizer::Newton::optimize(), sgpp::optimization::optimizer::NLCG::optimize(), sgpp::optimization::optimizer::Rprop::optimize(), sgpp::optimization::IterativeGridGenerator::printIterativeGridGenerator(), sgpp::base::sle_solver::Armadillo::solve(), sgpp::base::sle_solver::Auto::solve(), sgpp::base::sle_solver::Eigen::solve(), sgpp::base::sle_solver::UMFPACK::solve(), sgpp::base::sle_solver::BiCGStab::solve(), sgpp::base::sle_solver::GaussianElimination::solve(), sgpp::base::sle_solver::Gmmpp::solve(), and sgpp::base::sle_solver::solveInternal().
void sgpp::base::Printer::setLineLengthLimit | ( | size_t | lineLengthLimit | ) |
lineLengthLimit | maximum length of lines, 0 if unbounded |
void sgpp::base::Printer::setStream | ( | std::ostream * | stream | ) |
stream | stream used for printing (default std::cout) |
|
inline |
|
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
|
protected |
internal mutex
|
protected |
current status level
|
protected |
whether status printing is enabled
|
protected |
stream used for printing (default std::cout)
|
protected |
verbosity level
Referenced by python.uq.operations.forcePositivity.operationMakePositiveFast.OperationMakePositiveFast::addFullGridPoints(), python.uq.refinement.RefinementManager.RefinementManager::candidates(), python.uq.operations.forcePositivity.localFullGridSearch.LocalFullGridCandidates::computeCandidates(), python.uq.operations.forcePositivity.findIntersections.IntersectionCandidates::findIntersections(), python.uq.operations.forcePositivity.localFullGridSearch.LocalFullGridCandidates::getLocalMaxLevel(), getVerbosity(), python.uq.manager.ASGCUQManager.ASGCUQManager::learnDataWithoutTest(), python.uq.manager.ASGCUQManager.ASGCUQManager::learnDataWithTest(), python.uq.operations.forcePositivity.operationMakePositive.OperationMakePositive::makeCurrentNodalValuesPositive(), python.uq.operations.forcePositivity.operationMakePositive.OperationMakePositive::makePositive(), python.uq.operations.forcePositivity.operationMakePositiveFast.OperationMakePositiveFast::makePositive(), python.uq.manager.ASGCUQManager.ASGCUQManager::recomputeStats(), python.uq.refinement.RefinementManager.RefinementManager::refineGrid(), setVerbosity(), and python.uq.operations.forcePositivity.localFullGridSearch.LocalFullGridCandidates::splitFullGrids().
|
protected |
stack of stop watches (started at time of printStatusBegin() calls)