LatticeYangMills
|
Template class to store an array with 4 dimensional indices of a given datatype. Includes functionalities for parallel shifts. More...
#include <lattice.h>
Public Member Functions | |
Lattice (const Lattice &other) noexcept | |
Lattice (Lattice &&other) noexcept | |
Lattice (std::array< int, 4 > sizeArray) | |
void | allocate (std::array< int, 4 > sizeArray) |
T & | at (int x, int y, int z, int t) |
T & | at (const std::vector< int > &site) |
T & | at (const std::array< int, 4 > &site) |
T & | at (int i) |
const T & | at (int x, int y, int z, int t) const |
const T & | at (const std::vector< int > &site) const |
const T & | at (const std::array< int, 4 > &site) const |
const T & | at (int i) const |
Lattice & | operator= (const Lattice &other) noexcept |
Lattice & | operator= (Lattice &&other) noexcept |
Lattice & | operator+= (const Lattice &other) noexcept |
Lattice & | operator+= (Lattice &&other) noexcept |
Lattice & | operator-= (const Lattice &other) noexcept |
Lattice & | operator-= (Lattice &&other) noexcept |
Lattice & | operator*= (const Lattice &other) noexcept |
Lattice & | operator*= (Lattice &&other) noexcept |
Lattice & | operator+= (double scalar) noexcept |
Lattice & | operator-= (double scalar) noexcept |
Lattice & | operator*= (double scalar) noexcept |
Public Attributes | |
std::vector< T > | lattice |
std::array< int, 4 > | size |
int | sites |
Friends | |
Lattice | operator+ (Lattice lhs, const Lattice &rhs) noexcept |
Lattice | operator+ (Lattice lhs, Lattice &&rhs) noexcept |
Lattice | operator- (Lattice lhs, const Lattice &rhs) noexcept |
Lattice | operator- (Lattice lhs, Lattice &&rhs) noexcept |
Lattice | operator* (Lattice lhs, const Lattice &rhs) noexcept |
Lattice | operator* (Lattice lhs, Lattice &&rhs) noexcept |
Lattice | operator+ (Lattice lhs, double scalar) noexcept |
Lattice | operator- (Lattice lhs, double scalar) noexcept |
Lattice | operator* (Lattice lhs, double scalar) noexcept |
Template class to store an array with 4 dimensional indices of a given datatype. Includes functionalities for parallel shifts.
The Lattice Template is an object to store an array of a given datatype that is accessible through 4 dimensional indices, mimicking the 4D euclidean indices. Operators for element wise arithmetic are implemented. Lattice shifts are defined to allow parallel execution.