Bridge++  Ver.2.1.3
afopr_Domainwall_eo.cpp
Go to the documentation of this file.
1 
10 #ifdef ACCEL_FOPR_DOMAINWALL_EO_AVAILABLE
11 
13 
14 #include <stdio.h>
15 #include <stdlib.h>
16 #include <assert.h>
17 #include <vector>
18 using namespace std;
19 
22 
27 
28 #ifdef USE_FACTORY_AUTOREGISTER
29 namespace {
30  bool init1 = AFopr<AField<double,ACCEL> >::Factory_params::Register(
31  "Domainwall_eo", create_object_with_params);
32 
33  bool init2 = AFopr<AField<float,ACCEL> >::Factory_params::Register(
34  "Domainwall_eo", create_object_with_params);
35 }
36 #endif
37 
38 template<>
39 class Index_eo_Domainwall<AField<double, ACCEL> > {
41 public:
42  void split(AFIELD &xe, AFIELD &xo, const AFIELD &x){
43  m_idx.split(xe, xo, x);
44  }
45  void merge(AFIELD &x, const AFIELD &xe, const AFIELD &xo){
46  m_idx.merge(x, xe, xo);
47  }
48 private:
50 };
51 
52 template<>
53 class Index_eo_Domainwall<AField<float, ACCEL> > {
55 public:
56  void split(AFIELD &xe, AFIELD &xo, const AFIELD &x){
57  m_idx.split(xe, xo, x);
58  }
59  void merge(AFIELD &x, const AFIELD &xe, const AFIELD &xo){
60  m_idx.merge(x, xe, xo);
61  }
62 private:
64 };
65 
66 template<>
67 const std::string AFopr_Domainwall_eo<AField<double,ACCEL> >::
68 class_name = "AFopr_Domainwall_eo<AField<double> >";
69 
70 template<>
71 const std::string AFopr_Domainwall_eo<AField<float,ACCEL> >::
72 class_name = "AFopr_Domainwall_eo<AField<float> >";
73 
75 
76 // class instanciation.
79 
80 #endif // ACCEL_FOPR_DOMAINWALL_EO_AVAILABLE
81 //============================================================END=====
merge
void merge(real_t *RESTRICT v, real_t *RESTRICT we, real_t *RESTRICT wo, int ieo_origin, int nin, int *Nsize)
Definition: index_eo_alt_openacc-inc.h:74
AFopr
Definition: afopr.h:48
AField
Definition: afield_base.h:16
AFIELD
Field AFIELD
Definition: eigensolver.cpp:18
aindex_eo.h
AFopr_Domainwall_eo
Domain-wall fermion operator with even-odd site index.
Definition: afopr_Domainwall_eo.h:41
split
void split(real_t *RESTRICT ve, real_t *RESTRICT vo, real_t *RESTRICT w, int ieo_origin, int nin, int *Nsize)
Definition: index_eo_alt_openacc-inc.h:14
afield-inc.h
ACCEL
@ ACCEL
Definition: alt_impl.h:15
aindex_eo-inc.h
afopr_Domainwall_eo.h
commonParameters.h
afield.h
Field
Container of Field-type object.
Definition: field.h:46
communicator.h
define_available.h
afopr_Domainwall_eo-tmpl.h
AIndex_eo< AFIELD::real_t, AFIELD::IMPL >
Index_eo_Domainwall
Definition: afopr_Domainwall_eo.h:28