Bridge++
Ver.2.1.3
afopr.cpp
Go to the documentation of this file.
1
10
#include "
lib/Fopr/afopr.h
"
11
#include "
lib_alt_Accel/inline/define_available.h
"
12
#include "
lib_alt_Accel/Field/afield.h
"
13
14
#ifdef USE_FACTORY
15
16
#ifdef USE_FACTORY_AUTOREGISTER
17
#else
18
19
#include "
lib_alt_Accel/Fopr/afopr_Wilson.h
"
20
#include "
lib_alt_Accel/Fopr/afopr_Wilson_eo.h
"
21
#include "
lib_alt_Accel/Fopr/afopr_Clover.h
"
22
#include "
lib_alt_Accel/Fopr/afopr_Clover_eo.h
"
23
#include "
lib_alt_Accel/Fopr/afopr_Staggered.h
"
24
#include "
lib_alt_Accel/Fopr/afopr_Staggered_eo.h
"
25
#include "
lib_alt_Accel/Fopr/afopr_Domainwall_5din.h
"
26
#include "
lib_alt_Accel/Fopr/afopr_Domainwall_5din_eo.h
"
27
#include "
lib/Fopr/afopr_Domainwall.h
"
28
#include "
lib/Fopr/afopr_Domainwall_eo.h
"
29
//#include "lib/Fopr/afopr_OptimalDomainwall.h"
30
#include "
lib/Fopr/afopr_Smeared.h
"
31
#include "
lib/Fopr/afopr_Rational.h
"
32
33
34
template
<>
35
bool
AFopr<AField<double,ACCEL>
>::init_factory()
36
{
37
typedef
AField<double,ACCEL>
AFIELD
;
38
bool
result =
true
;
39
40
#ifdef ACCEL_FOPR_WILSON_AVAILABLE
41
result &=
AFopr_Wilson<AFIELD>::register_factory
();
42
#endif
43
#ifdef ACCEL_FOPR_WILSON_EO_AVAILABLE
44
result &=
AFopr_Wilson_eo<AFIELD>::register_factory
();
45
#endif
46
#ifdef ACCEL_FOPR_CLOVER_AVAILABLE
47
result &=
AFopr_Clover<AFIELD>::register_factory
();
48
#endif
49
#ifdef ACCEL_FOPR_CLOVER_EO_AVAILABLE
50
result &=
AFopr_Clover_eo<AFIELD>::register_factory
();
51
#endif
52
#ifdef ACCEL_FOPR_STAGGERED_AVAILABLE
53
result &=
AFopr_Staggered<AFIELD>::register_factory
();
54
#endif
55
#ifdef ACCEL_FOPR_STAGGERED_EO_AVAILABLE
56
result &=
AFopr_Staggered_eo<AFIELD>::register_factory
();
57
#endif
58
#ifdef ACCEL_FOPR_DOMAINWALL_AVAILABLE
59
result &=
AFopr_Domainwall<AFIELD>::register_factory
();
60
#endif
61
#ifdef ACCEL_FOPR_DOMAINWALL_EO_AVAILABLE
62
result &=
AFopr_Domainwall_eo<AFIELD>::register_factory
();
63
#endif
64
#ifdef ACCEL_FOPR_DOMAINWALL_5DIN_AVAILABLE
65
result &=
AFopr_Domainwall_5din<AFIELD>::register_factory
();
66
#endif
67
#ifdef ACCEL_FOPR_DOMAINWALL_5DIN_EO_AVAILABLE
68
result &=
AFopr_Domainwall_5din_eo<AFIELD>::register_factory
();
69
#endif
70
71
result &=
AFopr_Smeared<AFIELD>::register_factory
();
72
result &=
AFopr_Rational<AFIELD>::register_factory
();
73
// result &= AFopr_OptimalDomainwall<AFIELD>::register_factory();
74
75
return
result;
76
}
77
78
template
<>
79
bool
AFopr<AField<float,ACCEL>
>::init_factory()
80
{
81
typedef
AField<float,ACCEL>
AFIELD
;
82
bool
result =
true
;
83
84
#ifdef ACCEL_FOPR_WILSON_AVAILABLE
85
result &=
AFopr_Wilson<AFIELD>::register_factory
();
86
#endif
87
#ifdef ACCEL_FOPR_WILSON_EO_AVAILABLE
88
result &=
AFopr_Wilson_eo<AFIELD>::register_factory
();
89
#endif
90
#ifdef ACCEL_FOPR_CLOVER_AVAILABLE
91
result &=
AFopr_Clover<AFIELD>::register_factory
();
92
#endif
93
#ifdef ACCEL_FOPR_CLOVER_EO_AVAILABLE
94
result &=
AFopr_Clover_eo<AFIELD>::register_factory
();
95
#endif
96
#ifdef ACCEL_FOPR_STAGGERED_AVAILABLE
97
result &=
AFopr_Staggered<AFIELD>::register_factory
();
98
#endif
99
#ifdef ACCEL_FOPR_STAGGERED_EO_AVAILABLE
100
result &=
AFopr_Staggered_eo<AFIELD>::register_factory
();
101
#endif
102
#ifdef ACCEL_FOPR_DOMAINWALL_AVAILABLE
103
result &=
AFopr_Domainwall<AFIELD>::register_factory
();
104
#endif
105
#ifdef ACCEL_FOPR_DOMAINWALL_EO_AVAILABLE
106
result &=
AFopr_Domainwall_eo<AFIELD>::register_factory
();
107
#endif
108
#ifdef ACCEL_FOPR_DOMAINWALL_5DIN_AVAILABLE
109
result &=
AFopr_Domainwall_5din<AFIELD>::register_factory
();
110
#endif
111
#ifdef ACCEL_FOPR_DOMAINWALL_5DIN_EO_AVAILABLE
112
result &=
AFopr_Domainwall_5din_eo<AFIELD>::register_factory
();
113
#endif
114
115
result &=
AFopr_Smeared<AFIELD>::register_factory
();
116
// result &= AFopr_Rational<AFIELD>::register_factory();
117
// result &= AFopr_OptimalDomainwall<AFIELD>::register_factory();
118
119
return
result;
120
}
121
122
#endif
/* USE_FACTORY_AUTOREGISTER */
123
124
#endif
/* USE_FACTORY */
125
126
127
// explicit instanciation.
128
template
class
AFopr<AField<double,ACCEL>
>;
129
template
class
AFopr<AField<float,ACCEL>
>;
130
131
//============================================================END=====
AFopr_Staggered_eo
Staggered fermion operator.
Definition:
afopr_Staggered_eo.h:40
AFopr
Definition:
afopr.h:48
afopr_Staggered.h
AField
Definition:
afield_base.h:16
AFIELD
Field AFIELD
Definition:
eigensolver.cpp:18
AFopr_Domainwall_5din_eo
Domain-wall fermion operator with even-odd site index.
Definition:
afopr_Domainwall_5din_eo.h:41
AFopr_Staggered
Staggered fermion operator.
Definition:
afopr_Staggered.h:34
AFopr_Domainwall
Domain-wall fermion operator.
Definition:
afopr_Domainwall.h:38
afopr_Smeared.h
AFopr_Domainwall_eo
Domain-wall fermion operator with even-odd site index.
Definition:
afopr_Domainwall_eo.h:41
afopr_Rational.h
AFopr_Domainwall_5din
Domain-wall fermion operator.
Definition:
afopr_Domainwall_5din.h:42
afopr_Clover_eo.h
afopr_Domainwall.h
AFopr_Wilson
Wilson fermion operator for Accel branch.
Definition:
afopr_Wilson.h:33
afopr_Domainwall_5din_eo.h
AFopr_Smeared
smeared fermion operator: alternative version.
Definition:
afopr_Smeared.h:41
AFopr_Rational
Fermion operator for rational approximation.
Definition:
afopr_Rational.h:42
afopr_Wilson_eo.h
afopr_Wilson.h
afopr_Staggered_eo.h
afopr_Domainwall_eo.h
AFopr_Clover_eo
Definition:
afopr_Clover_eo.h:38
afopr_Domainwall_5din.h
AFopr_Clover
Definition:
afopr_Clover.h:31
afield.h
afopr.h
define_available.h
afopr_Clover.h
AFopr_Wilson_eo
Wilson fermion operator (even-odd) for Accel branch.
Definition:
afopr_Wilson_eo.h:34
src
lib_alt_Accel
Fopr
afopr.cpp
Generated on Thu Apr 16 2026 22:04:18 for Bridge++ by
1.8.17