CHROMA
enum_quda_io.h
Go to the documentation of this file.
1 #ifndef enum_quda_io_h
2 #define enum_quda_io_h
3 
4 #include "chromabase.h"
5 #include <string>
6 #include "singleton.h"
8 #include <quda.h>
9 #include <map>
10 namespace Chroma
11 {
12  /*!
13  * Types and structures
14  *
15  * \ingroup io
16  *
17  * @{
18  */
19 
20  //! Quda Solver type
22  CG,
23  BICGSTAB,
24  GCR,
26  MR
27  };
28 
29 
30  namespace QudaSolverTypeEnv {
31  extern const std::string typeIDString;
32  extern bool registered;
33  bool registerAll(void); // Forward declaration
34  }
35 
36  // A singleton to hold the typemap
39 
40  // Reader and writer
41 
42  //! Read an QudaSolverType enum
43  void read(XMLReader& r, const std::string& path, QudaSolverType& t);
44 
45  //! Write an QudaSolverType enum
46  void write(XMLWriter& w, const std::string& path, const QudaSolverType& t);
47 
48 
49  //! Quda Precision type
55  DOUBLE
56  };
57 
58  namespace QudaPrecisionTypeEnv {
59  extern const std::string typeIDString;
60  extern bool registered;
61  bool registerAll(void); // Forward declaration
62  }
63 
64  // A singleton to hold the typemap
67  // Reader and writer
68 
69  //! Read an QudaSolverType enum
70  void read(XMLReader& r, const std::string& path, QudaPrecisionType& t);
71 
72  //! Write an QudaSolverType enum
73  void write(XMLWriter& w, const std::string& path, const QudaPrecisionType& t);
74 
75 
76  //! Quda Gauge Reconstruct type
80  RECONS_12
81  };
82 
83  namespace QudaReconsTypeEnv {
84  extern const std::string typeIDString;
85  extern bool registered;
86  bool registerAll(void); // Forward declaration
87  }
88 
89  // A singleton to hold the typemap
92  // Reader and writer
93 
94  //! Read an QudaReconsType enum
95  void read(XMLReader& r, const std::string& path, QudaReconsType& t);
96 
97  //! Write an QudaReconsType enum
98  void write(XMLWriter& w, const std::string& path, const QudaReconsType& t);
99 
100 
105  };
106 
107  namespace QudaSchwarzMethodEnv {
108  extern const std::string typeIDString;
109  extern bool registered;
110  bool registerAll(void); // Forward declaration
111  }
112 
113  // A singleton to hold the typemap
116  // Reader and writer
117 
118  //! Read an QudaSchwarzMethod enum
119  void read(XMLReader& r, const std::string& path, QudaSchwarzMethod& t);
120 
121  //! Write an QudaSchwarzMethod enum
122  void write(XMLWriter& w, const std::string& path, const QudaSchwarzMethod& t);
123 
124 
125 
126 }
127 #endif
Primary include file for CHROMA library code.
Enum std::map.
void read(XMLReader &xml, const std::string &path, AsqtadFermActParams &param)
Read parameters.
void write(XMLWriter &xml, const std::string &path, const AsqtadFermActParams &param)
Writer parameters.
SingletonHolder< EnumTypeMap< QudaPrecisionType > > theQudaPrecisionTypeMap
Definition: enum_quda_io.h:65
QudaSolverType
Quda Solver type.
Definition: enum_quda_io.h:21
QudaSchwarzMethod
Definition: enum_quda_io.h:101
SingletonHolder< EnumTypeMap< QudaSolverType > > theQudaSolverTypeMap
Definition: enum_quda_io.h:37
QudaReconsType
Quda Gauge Reconstruct type.
Definition: enum_quda_io.h:77
QudaPrecisionType
Quda Precision type.
Definition: enum_quda_io.h:50
SingletonHolder< EnumTypeMap< QudaSchwarzMethod > > theQudaSchwarzMethodMap
Definition: enum_quda_io.h:114
SingletonHolder< std::map< QudaSolverType, QudaInverterType > > theChromaToQudaSolverTypeMap
Definition: enum_quda_io.h:38
SingletonHolder< std::map< QudaSchwarzMethod, QudaSchwarzType > > theChromaToQudaSchwarzTypeMap
Definition: enum_quda_io.h:115
SingletonHolder< std::map< QudaPrecisionType, QudaPrecision > > theChromaToQudaPrecisionTypeMap
Definition: enum_quda_io.h:66
SingletonHolder< EnumTypeMap< QudaReconsType > > theQudaReconsTypeMap
Definition: enum_quda_io.h:90
SingletonHolder< std::map< QudaReconsType, QudaReconstructType > > theChromaToQudaReconsTypeMap
Definition: enum_quda_io.h:91
int t
Definition: meslate.cc:37
const std::string typeIDString
Definition: enum_quda_io.cc:61
const std::string typeIDString
Definition: enum_quda_io.cc:93
const std::string typeIDString
const std::string typeIDString
Definition: enum_quda_io.cc:28
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
@ ADDITIVE_SCHWARZ
Definition: enum_quda_io.h:103
@ INVALID_SCHWARZ
Definition: enum_quda_io.h:102
@ MULTIPLICATIVE_SCHWARZ
Definition: enum_quda_io.h:104
@ RECONS_12
Definition: enum_quda_io.h:80
@ RECONS_NONE
Definition: enum_quda_io.h:78
@ RECONS_8
Definition: enum_quda_io.h:79
::std::string string
Definition: gtest.h:1979
Singleton support.