Anasazi
Version of the Day
|
Status test for forming logical combinations of other status tests. More...
#include <AnasaziStatusTestCombo.hpp>
Public Types | |
enum | ComboType { OR, AND, SEQOR, SEQAND } |
Enumerated type to list the types of StatusTestCombo combo types. More... | |
Public Member Functions | |
Constructors/destructors | |
StatusTestCombo () | |
Default constructor has no tests and initializes to StatusTestCombo::ComboType StatusTestCombo::OR. More... | |
StatusTestCombo (ComboType type, Teuchos::Array< Teuchos::RCP< StatusTest< ScalarType, MV, OP > > > tests) | |
Constructor specifying the StatusTestCombo::ComboType and the tests. More... | |
virtual | ~StatusTestCombo () |
Destructor. More... | |
Status methods | |
TestStatus | checkStatus (Eigensolver< ScalarType, MV, OP > *solver) |
TestStatus | getStatus () const |
Return the result of the most recent checkStatus call. More... | |
std::vector< int > | whichVecs () const |
Get the indices for the vectors that passed the test. More... | |
int | howMany () const |
Get the number of vectors that passed the test. More... | |
Accessor methods | |
void | setComboType (ComboType type) |
Set the maximum number of iterations. This also resets the test status to Undefined. More... | |
ComboType | getComboType () const |
Get the maximum number of iterations. More... | |
void | setTests (Teuchos::Array< Teuchos::RCP< StatusTest< ScalarType, MV, OP > > > tests) |
Set the tests This also resets the test status to Undefined. More... | |
Teuchos::Array< Teuchos::RCP < StatusTest< ScalarType, MV, OP > > > | getTests () const |
Get the tests. More... | |
void | addTest (Teuchos::RCP< StatusTest< ScalarType, MV, OP > > test) |
Add a test to the combination. More... | |
void | removeTest (const Teuchos::RCP< StatusTest< ScalarType, MV, OP > > &test) |
Removes a test from the combination, if it exists in the tester. More... | |
Reset methods | |
void | reset () |
Informs the status test that it should reset its internal configuration to the uninitialized state. More... | |
void | clearStatus () |
Clears the results of the last status test. More... | |
Print methods | |
std::ostream & | print (std::ostream &os, int indent=0) const |
Output formatted description of stopping test to output stream. More... | |
Public Member Functions inherited from Anasazi::StatusTest< ScalarType, MV, OP > | |
StatusTest () | |
Constructor. More... | |
virtual | ~StatusTest () |
Destructor. More... | |
Status test for forming logical combinations of other status tests.
Test types include StatusTestCombo::OR, StatusTestCombo::AND, StatusTestCombo::SEQOR and StatusTestCombo::SEQAND. The StatusTestCombo::OR and StatusTestCombo::AND tests evaluate all of the tests, in the order they were passed to the StatusTestCombo. The StatusTestCombo::SEQOR and StatusTestCombo::SEQAND run only the tests necessary to determine the final outcome, short-circuiting on the first test that conclusively decides the outcome. More formally, StatusTestCombo::SEQAND runs the tests in the order they were given to the StatusTestCombo class and stops after the first test that evaluates Failed. StatusTestCombo::SEQOR run the tests in the order they were given to the StatusTestCombo class and stops after the first test that evaluates Passed.
Definition at line 43 of file AnasaziStatusTestCombo.hpp.
enum Anasazi::StatusTestCombo::ComboType |
Enumerated type to list the types of StatusTestCombo combo types.
Enumerator | |
---|---|
OR |
Logical OR which evaluates all tests |
AND |
Logical AND which evaluates all tests |
SEQOR |
Short-circuited logical OR |
SEQAND |
Short-circuited logical AND |
Definition at line 51 of file AnasaziStatusTestCombo.hpp.
|
inline |
Default constructor has no tests and initializes to StatusTestCombo::ComboType StatusTestCombo::OR.
Constructor
Definition at line 74 of file AnasaziStatusTestCombo.hpp.
|
inline |
Constructor specifying the StatusTestCombo::ComboType and the tests.
Constructor
Definition at line 78 of file AnasaziStatusTestCombo.hpp.
|
inlinevirtual |
Destructor.
Definition at line 86 of file AnasaziStatusTestCombo.hpp.
|
virtual |
Check status as defined by test.
Implements Anasazi::StatusTest< ScalarType, MV, OP >.
Definition at line 218 of file AnasaziStatusTestCombo.hpp.
|
inlinevirtual |
Return the result of the most recent checkStatus call.
Implements Anasazi::StatusTest< ScalarType, MV, OP >.
Definition at line 98 of file AnasaziStatusTestCombo.hpp.
|
inlinevirtual |
Get the indices for the vectors that passed the test.
This returns some combination of the passing vectors from the tests comprising the StatusTestCombo. The nature of the combination depends on the StatusTestCombo::ComboType:
Implements Anasazi::StatusTest< ScalarType, MV, OP >.
Definition at line 110 of file AnasaziStatusTestCombo.hpp.
|
inlinevirtual |
Get the number of vectors that passed the test.
Implements Anasazi::StatusTest< ScalarType, MV, OP >.
Definition at line 117 of file AnasaziStatusTestCombo.hpp.
|
inline |
Set the maximum number of iterations. This also resets the test status to Undefined.
Definition at line 129 of file AnasaziStatusTestCombo.hpp.
|
inline |
Get the maximum number of iterations.
Definition at line 135 of file AnasaziStatusTestCombo.hpp.
|
inline |
Set the tests This also resets the test status to Undefined.
Definition at line 140 of file AnasaziStatusTestCombo.hpp.
|
inline |
Get the tests.
Definition at line 146 of file AnasaziStatusTestCombo.hpp.
|
inline |
Add a test to the combination.
This also resets the test status to Undefined.
Definition at line 152 of file AnasaziStatusTestCombo.hpp.
void Anasazi::StatusTestCombo< ScalarType, MV, OP >::removeTest | ( | const Teuchos::RCP< StatusTest< ScalarType, MV, OP > > & | test | ) |
Removes a test from the combination, if it exists in the tester.
This also resets the test status to Undefined, if a test was removed.
Definition at line 206 of file AnasaziStatusTestCombo.hpp.
|
virtual |
Informs the status test that it should reset its internal configuration to the uninitialized state.
The StatusTestCombo class has no internal state, but children classes might, so this method will call reset() on all child status tests. It also resets the test status to Undefined.
Implements Anasazi::StatusTest< ScalarType, MV, OP >.
Definition at line 239 of file AnasaziStatusTestCombo.hpp.
|
virtual |
Clears the results of the last status test.
This should be distinguished from the reset() method, as it only clears the cached result from the last status test, so that a call to getStatus() will return Undefined. This is necessary for the StatusTestCombo::SEQOR and StatusTestCombo::SEQAND tests in the StatusTestCombo class, which may short circuit and not evaluate all of the StatusTests contained in them.
Implements Anasazi::StatusTest< ScalarType, MV, OP >.
Definition at line 249 of file AnasaziStatusTestCombo.hpp.
|
virtual |
Output formatted description of stopping test to output stream.
Implements Anasazi::StatusTest< ScalarType, MV, OP >.
Definition at line 259 of file AnasaziStatusTestCombo.hpp.