LatticeYangMills
Public Member Functions | Public Attributes | Friends | List of all members
Lattice< T > Class Template Reference

Template class to store an array with 4 dimensional indices of a given datatype. Includes functionalities for parallel shifts. More...

#include <lattice.h>

Collaboration diagram for Lattice< T >:
Collaboration graph
[legend]

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
 
Latticeoperator= (const Lattice &other) noexcept
 
Latticeoperator= (Lattice &&other) noexcept
 
Latticeoperator+= (const Lattice &other) noexcept
 
Latticeoperator+= (Lattice &&other) noexcept
 
Latticeoperator-= (const Lattice &other) noexcept
 
Latticeoperator-= (Lattice &&other) noexcept
 
Latticeoperator*= (const Lattice &other) noexcept
 
Latticeoperator*= (Lattice &&other) noexcept
 
Latticeoperator+= (double scalar) noexcept
 
Latticeoperator-= (double scalar) noexcept
 
Latticeoperator*= (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
 

Detailed Description

template<typename T>
class Lattice< T >

Template class to store an array with 4 dimensional indices of a given datatype. Includes functionalities for parallel shifts.

Author
Giovanni Pederiva
Version
1.0
Date
2017-2018

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.

Definition at line 38 of file action.h.


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