Bridge++  Version 1.5.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
FieldIO_Binary Class Reference

FieldIO_Binary class for file I/O of Field data in binary format. More...

#include <fieldIO_Binary.h>

Inheritance diagram for FieldIO_Binary:
FieldIO FieldIO_Binary_Parallel

Public Member Functions

 FieldIO_Binary (const IO_Format::Format *format)
 
void read_file (Field *v, const std::string filename)
 read data from file. More...
 
void write_file (Field *v, const std::string filename)
 write data to file. More...
 
- Public Member Functions inherited from FieldIO
 FieldIO (const IO_Format::Format *format)
 < constructor. format specifies data layout on file. More...
 
virtual ~FieldIO ()
 
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 Attributes

static const std::string class_name = "FieldIO_Binary"
 
- Static Public Attributes inherited from FieldIO
static const std::string class_name = "FieldIO"
 

Additional Inherited Members

- Static Public Member Functions inherited from FieldIO
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 ()
 
- Protected Attributes inherited from FieldIO
const IO_Format::Formatm_format
 
Bridge::VerboseLevel m_vl
 

Detailed Description

FieldIO_Binary class for file I/O of Field data in binary format.

Main ingredients of this class were implemented by T.Yoshie: cinput, coutput, big_endian, and byte_swap. Incorporated to GaugeConfig_Binary class family by H.Matsufuru.

The file format treated in this class is the same as ILDG file format, while not packed to LIME file. The endian is big as the definition of ILDG file. [28 Dec 2011 H.Matsufuru]

FieldIO_Binary class provides file I/O of Field data in binary format. The inferface is defined in the FieldIO base class, and this class defines concrete realisation.

File I/O is performed on the primary node (rank 0 usually), and the field data is gathered from/scattered to parallel nodes. Extra memory of global field size is temporarily allocated internally as workspace, which may restrict operativity for huge lattice.

Definition at line 47 of file fieldIO_Binary.h.

Constructor & Destructor Documentation

FieldIO_Binary::FieldIO_Binary ( const IO_Format::Format format)
inline

Definition at line 53 of file fieldIO_Binary.h.

Member Function Documentation

void FieldIO_Binary::read_file ( Field v,
const std::string   
)
virtual

read data from file.

Implements FieldIO.

Definition at line 29 of file fieldIO_Binary.cpp.

void FieldIO_Binary::write_file ( Field v,
const std::string   
)
virtual

write data to file.

Implements FieldIO.

Definition at line 105 of file fieldIO_Binary.cpp.

Member Data Documentation

const std::string FieldIO_Binary::class_name = "FieldIO_Binary"
static

Definition at line 50 of file fieldIO_Binary.h.


The documentation for this class was generated from the following files: