Anasazi
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
src
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
16
17
#include "
AnasaziConfigDefs.hpp
"
18
#include "
AnasaziTypes.hpp
"
19
20
21
namespace
Anasazi
{
22
23
25
class
OperatorError :
public
AnasaziError
26
{
public
: OperatorError(
const
std::string& what_arg) : AnasaziError(what_arg) {}};
27
28
32
template
<
class
ScalarType,
class
MV,
class
OP >
33
struct
UndefinedOperatorTraits
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>
52
class
OperatorTraits
53
{
54
public
:
55
57
58
60
static
void
Apply
(
const
OP& Op,
61
const
MV& x,
62
MV& y )
63
{
UndefinedOperatorTraits<ScalarType, MV, OP>::notDefined
(); };
64
66
67
};
68
69
}
// end Anasazi namespace
70
71
#endif
// ANASAZI_OPERATOR_TRAITS_HPP
72
73
// end of file AnasaziOperatorTraits.hpp
AnasaziConfigDefs.hpp
Anasazi header file which uses auto-configuration information to include necessary C++ headers.
AnasaziTypes.hpp
Types and exceptions used within Anasazi solvers and interfaces.
Anasazi::OperatorTraits
Virtual base class which defines basic traits for the operator type.
Definition
AnasaziOperatorTraits.hpp:53
Anasazi::OperatorTraits::Apply
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...
Definition
AnasaziOperatorTraits.hpp:60
Anasazi
Namespace Anasazi contains the classes, structs, enums and utilities used by the Anasazi package.
Anasazi::UndefinedOperatorTraits
This is the default struct used by OperatorTraits<ScalarType, MV, OP> class to produce a compile time...
Definition
AnasaziOperatorTraits.hpp:34
Anasazi::UndefinedOperatorTraits::notDefined
static void notDefined()
This function should not compile if there is an attempt to instantiate!
Definition
AnasaziOperatorTraits.hpp:40
Generated by
1.17.0