QDP++
qdp_iogauge.h
Go to the documentation of this file.
1// -*- C++ -*-
2
11
12#ifndef QDP_IOGAUGE_H
13#define QDP_IOGAUGE_H
14
15
16namespace QDP {
17
19
25{
26
28
47
50
53
54 /* assume matrix size is 12 (matrix is compressed)
55 and change if we find out otherwise */
56 size_t mat_size;
61
62 /* Our Columbia friends have sneakily defined IEEE64BIG */
63 size_t float_size;
64
65 n_uint32_t checksum;
67 std::string ensemble_id;
68 std::string ensemble_label;
69 std::string creator;
70 std::string creator_hardware;
71 std::string creation_date;
72 std::string archive_date;
73};
74
75
77
97void read(XMLReader& xml, const std::string& path, ArchivGauge_t& header);
98
100
120void write(XMLWriter& xml, const std::string& path, const ArchivGauge_t& header);
121
122
124/*
125 \ingroup io
126 Compute the checksum of a gauge field
127
128 \param u gauge configuration ( Read )
129 \return checksum
130*/
131n_uint32_t computeChecksum(const multi1d<LatticeColorMatrix>& u, int mat_size);
132
133
135
152void readArchiv(ArchivGauge_t& header, multi1d<LatticeColorMatrix>& u, const std::string& file);
153
155
172void readArchiv(XMLReader& xml, multi1d<LatticeColorMatrix>& u, const std::string& cfg_file);
173
174
176
190
191void readArchiv(multi1d<LatticeColorMatrix>& u, const std::string& cfg_file);
192
193
195
208void writeArchiv(ArchivGauge_t& header, const multi1d<LatticeColorMatrix>& u, const std::string& file);
209
210
212
227 const std::string& cfg_file);
228
230
241
243 const std::string& cfg_file);
244
245
246} // namespace QDP
247
248#endif
Writes XML metadata to a buffer.
Definition qdp_xmlio.h:1024
XML reader class.
Definition qdp_xmlio.h:44
Metadata output class.
Definition qdp_xmlio.h:506
Container for a multi-dimensional 1D array.
Definition qdp_multi.h:25
OScalar< PScalar< PScalar< RScalar< REAL > > > > Real
void readArchiv(BinaryReader &cfg_in, multi1d< LatticeColorMatrix > &u, n_uint32_t &checksum, int mat_size, int float_size)
Read a NERSC Gauge Connection Archive file.
ArchivGauge_t()
Initializes a NERSC Archive header with default values.
void write(BinaryWriter &bin, const std::string &output)
Definition qdp_io.cc:1204
void writeArchiv(BinaryWriter &cfg_out, const multi1d< LatticeColorMatrix > &u, int mat_size)
Writes a NERSC Gauge Connection Archive gauge configuration file.
void read(BinaryReader &bin, std::string &input, size_t maxBytes)
Definition qdp_io.cc:778
Yet another random number generator.
n_uint32_t computeChecksum(const multi1d< LatticeColorMatrix > &u, int mat_size)
Compute simple NERSC-like checksum of a gauge field.
NERSC Archive gauge field header.
Definition qdp_iogauge.h:25
multi1d< int > boundary
Definition qdp_iogauge.h:49
std::string ensemble_id
Definition qdp_iogauge.h:67
std::string ensemble_label
Definition qdp_iogauge.h:68
std::string creator
Definition qdp_iogauge.h:69
std::string creation_date
Definition qdp_iogauge.h:71
std::string creator_hardware
Definition qdp_iogauge.h:70
n_uint32_t checksum
Definition qdp_iogauge.h:65
std::string archive_date
Definition qdp_iogauge.h:72
multi1d< int > nrow
Definition qdp_iogauge.h:48