Anasazi  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
AnasaziStatusTest.hpp
Go to the documentation of this file.
1 // @HEADER
2 // *****************************************************************************
3 // Anasazi: Block Eigensolvers Package
4 //
5 // Copyright 2004 NTESS and the Anasazi contributors.
6 // SPDX-License-Identifier: BSD-3-Clause
7 // *****************************************************************************
8 // @HEADER
9 //
10 
11 #ifndef ANASAZI_STATUS_TEST_HPP
12 #define ANASAZI_STATUS_TEST_HPP
13 
16 
17 #include "AnasaziTypes.hpp"
20 
21 namespace Anasazi {
22 
24 
25 
29  {public: StatusTestError(const std::string& what_arg) : AnasaziError(what_arg) {}};
30 
32 
41 
42 template <class ScalarType, class MV, class OP>
43 class StatusTest {
44 
45  public:
47 
48 
50  StatusTest() {};
51 
53  virtual ~StatusTest() {};
55 
57 
58 
63 
65  virtual TestStatus getStatus() const = 0;
66 
68  virtual std::vector<int> whichVecs() const = 0;
69 
71  virtual int howMany() const = 0;
72 
74 
76 
77 
83  virtual void reset() = 0;
84 
86 
91  virtual void clearStatus() = 0;
92 
94 
96 
97 
99  virtual std::ostream& print(std::ostream& os, int indent = 0) const = 0;
100 
102 
103 };
104 
105 } // end of Anasazi namespace
106 
107 #endif /* ANASAZI_STATUS_TEST_HPP */
virtual ~StatusTest()
Destructor.
virtual std::vector< int > whichVecs() const =0
Get the indices for the vectors that passed the test.
An exception class parent to all Anasazi exceptions.
Forward declaration of pure virtual base class Anasazi::StatusTest.
Exception thrown to signal error in a status test during Anasazi::StatusTest::checkStatus().
TestStatus
Enumerated type used to pass back information from a StatusTest.
Forward declaration of the virtual base class Anasazi::Eigensolver.
virtual int howMany() const =0
Get the number of vectors that passed the test.
virtual std::ostream & print(std::ostream &os, int indent=0) const =0
Output formatted description of stopping test to output stream.
virtual void clearStatus()=0
Clears the results of the last status test.
virtual TestStatus checkStatus(Eigensolver< ScalarType, MV, OP > *solver)=0
virtual TestStatus getStatus() const =0
Return the result of the most recent checkStatus call, or undefined if it has not been run...
Types and exceptions used within Anasazi solvers and interfaces.
StatusTest()
Constructor.
Common interface of stopping criteria for Anasazi&#39;s solvers.
virtual void reset()=0
Informs the status test that it should reset its internal configuration to the uninitialized state...
The Eigensolver is a templated virtual base class that defines the basic interface that any eigensolv...