Anasazi Version of the Day
Loading...
Searching...
No Matches
AnasaziOperatorTraits.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#ifndef ANASAZI_OPERATOR_TRAITS_HPP
11#define ANASAZI_OPERATOR_TRAITS_HPP
12
17#include "AnasaziConfigDefs.hpp"
18#include "AnasaziTypes.hpp"
19
20
21namespace Anasazi {
22
23
26 {public: OperatorError(const std::string& what_arg) : AnasaziError(what_arg) {}};
27
28
32 template< class ScalarType, class MV, class OP >
34 {
36
40 static inline void notDefined() { return OP::this_type_is_missing_a_specialization(); };
41 };
42
43
51 template <class ScalarType, class MV, class OP>
53 {
54 public:
55
57
58
60 static void Apply ( const OP& Op,
61 const MV& x,
62 MV& y )
64
66
67 };
68
69} // end Anasazi namespace
70
71#endif // ANASAZI_OPERATOR_TRAITS_HPP
72
73// end of file AnasaziOperatorTraits.hpp
Anasazi header file which uses auto-configuration information to include necessary C++ headers.
Types and exceptions used within Anasazi solvers and interfaces.
An exception class parent to all Anasazi exceptions.
Exceptions thrown to signal error in operator application.
Virtual base class which defines basic traits for the operator type.
static void Apply(const OP &Op, const MV &x, MV &y)
Application method which performs operation y = Op*x. An OperatorError exception is thrown if there i...
Namespace Anasazi contains the classes, structs, enums and utilities used by the Anasazi package.
This is the default struct used by OperatorTraits<ScalarType, MV, OP> class to produce a compile time...
static void notDefined()
This function should not compile if there is an attempt to instantiate!