Bridge++
Version 1.5.4
|
FieldIO class for file I/O of space-time distributed data. More...
#include <fieldIO.h>
Public Member Functions | |
FieldIO (const IO_Format::Format *format) | |
< constructor. format specifies data layout on file. More... | |
virtual | ~FieldIO () |
virtual void | read_file (Field *v, std::string)=0 |
read data from file. More... | |
virtual void | write_file (Field *v, std::string)=0 |
write data to file. More... | |
virtual void | read_file (std::vector< Field * > &vv, const std::string &filename) |
virtual void | write_file (std::vector< Field * > &vv, const std::string &filename) |
void | deliver (Field *vlocal, Field *vglobal) |
distribute data on primary node over parallel nodes. More... | |
void | gather (Field *vglobal, Field *vlocal) |
gather data on parallel nodes to primary node. More... | |
Static Public Member Functions | |
static void | byte_swap (void *buf, size_t size, size_t nmemb) |
< convert byte order. alternative interface. More... | |
static void | convert_endian (void *buf, size_t size, size_t nmemb) |
check if machine byte order is big-endian. More... | |
static bool | is_bigendian () |
Static Public Attributes | |
static const std::string | class_name = "FieldIO" |
Protected Attributes | |
const IO_Format::Format * | m_format |
Bridge::VerboseLevel | m_vl |
Private Member Functions | |
FieldIO (const FieldIO &) | |
FieldIO & | operator= (const FieldIO &) |
Private Attributes | |
Index_lex | idx |
FieldIO class for file I/O of space-time distributed data.
This class family is used to setup and output the gauge configuration. This is the base class, which implements common functions, and read/write methods are implemented in subclasses. At present, cutting off the gauge field for each node and deliver it to the node is implemented in this class. It may be better to separate that to other class for general usage for other field objects. [28 Dec 2011 H.Matsufuru]
FieldIO class provides file I/O of Field data. Reading and writing gauge configuration from/to file is now implemented on top of this construct.
For scalar data (independent of space-time index), DataIO class hierarchy is provided.
FieldIO class is an abstract base class; various data format (text, binary, etc) and I/O scheme (single node or parallel I/O) are realised in the respective subclasses. This class also provides common utilities for gathering/distributing data over parallel nodes (if any), and converting byte order.
|
inline |
|
private |
|
inlinestatic |
|
static |
check if machine byte order is big-endian.
Definition at line 227 of file fieldIO.cpp.
distribute data on primary node over parallel nodes.
Definition at line 30 of file fieldIO.cpp.
gather data on parallel nodes to primary node.
Definition at line 119 of file fieldIO.cpp.
|
static |
Definition at line 206 of file fieldIO.cpp.
|
pure virtual |
read data from file.
Implemented in FieldIO_LIME, FieldIO_Fortran, FieldIO_Binary, FieldIO_Binary_Distributed, FieldIO_Text, FieldIO_None, and FieldIO_Text_4x4x4x8.
|
virtual |
Reimplemented in FieldIO_Fortran.
Definition at line 310 of file fieldIO.cpp.
|
pure virtual |
write data to file.
Implemented in FieldIO_LIME, FieldIO_Fortran, FieldIO_Binary, FieldIO_Binary_Distributed, FieldIO_Text, FieldIO_None, and FieldIO_Text_4x4x4x8.
|
virtual |
Reimplemented in FieldIO_Fortran.
Definition at line 321 of file fieldIO.cpp.
|
protected |
|
protected |