11 #ifndef BELOS_STATUS_TEST_GENERAL_OUTPUT_HPP
12 #define BELOS_STATUS_TEST_GENERAL_OUTPUT_HPP
39 template <
class ScalarType,
class MV,
class OP>
67 stateTest_(printStates),
97 state_ = test_->checkStatus(solver);
99 if (numCalls_++ % modTest_ == 0) {
100 if ( (state_ & stateTest_) == state_) {
104 else if ( printer_->isVerbosity(
Debug) ) {
147 void setSolverDesc(
const std::string& solverDesc) { solverDesc_ = solverDesc; }
151 void setPrecondDesc(
const std::string& precondDesc) { precondDesc_ = precondDesc; }
178 void print(std::ostream& os,
int indent = 0)
const {
179 std::string ind(indent,
' ');
180 os << std::endl << ind <<
"Belos::StatusTestGeneralOutput: ";
183 os <<
"Passed" << std::endl;
186 os <<
"Failed" << std::endl;
189 os <<
"Undefined" << std::endl;
192 os << ind <<
" (Num calls,Mod test,State test): " <<
"(" << numCalls_ <<
", " << modTest_ <<
",";
193 if (stateTest_ == 0) {
194 os <<
" none)" << std::endl;
197 if ( stateTest_ &
Passed ) os <<
" Passed";
198 if ( stateTest_ &
Failed ) os <<
" Failed";
199 if ( stateTest_ &
Undefined ) os <<
" Undefined";
200 os <<
")" << std::endl;
203 test_->print(os,indent+3);
211 std::string solverDesc_;
212 std::string precondDesc_;
StatusTestGeneralOutput(const Teuchos::RCP< OutputManager< ScalarType > > &printer, Teuchos::RCP< StatusTest< ScalarType, MV, OP > > test, int mod=1, int printStates=Passed)
Constructor.
Collection of types and exceptions used within the Belos solvers.
Belos's basic output manager for sending information of select verbosity levels to the appropriate ou...
Class which manages the output and verbosity of the Belos solvers.
void setChild(Teuchos::RCP< StatusTest< ScalarType, MV, OP > > test)
Set child test.
Teuchos::RCP< StatusTest< ScalarType, MV, OP > > getChild() const
Get child test.
Exception thrown to signal error in a status test during Belos::StatusTest::checkStatus().
Virtual base class for StatusTest that printing status tests.
Pure virtual base class for defining the status testing capabilities of Belos.
#define TEUCHOS_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg)
void setOutputFrequency(int mod)
Set how often the child test is printed.
void setPrecondDesc(const std::string &precondDesc)
Set a short preconditioner description for output clarity.
Pure virtual base class which describes the basic interface to the linear solver iteration.
A pure virtual class for defining the status tests for the Belos iterative solvers.
StatusType
Whether the StatusTest wants iteration to stop.
void setSolverDesc(const std::string &solverDesc)
Set a short solver description for output clarity.
StatusType checkStatus(Iteration< ScalarType, MV, OP > *solver)
void reset()
Informs the status test that it should reset its internal configuration to the uninitialized state...
void setOutputManager(const Teuchos::RCP< OutputManager< ScalarType > > &printer)
Set the output manager.
A special StatusTest for printing other status tests.
virtual ~StatusTestGeneralOutput()
Destructor.
void print(std::ostream &os, int indent=0) const
Output formatted description of stopping test to output stream.
Belos header file which uses auto-configuration information to include necessary C++ headers...
void resetNumCalls()
Informs the outputting status test that it should reset the number of calls to zero.
A virtual base class for StatusTest that print other status tests.
StatusType getStatus() const
Return the result of the most recent checkStatus call, or undefined if it has not been run...