HILA
|
This files containts definitions for the Field class and the classes required to define it such as field_struct. More...
#include <sstream>
#include <iostream>
#include <string>
#include <cstring>
#include <math.h>
#include <type_traits>
#include "plumbing/defs.h"
#include "plumbing/coordinates.h"
#include "plumbing/lattice.h"
#include "plumbing/field_storage.h"
#include "plumbing/backend_vector/vector_types.h"
#include "plumbing/com_mpi.h"
#include "plumbing/ensure_loop_functions.h"
#include "field_comm.h"
Go to the source code of this file.
Classes | |
class | Field< T > |
The field class implements the standard methods for accessing Fields. Hilapp replaces the parity access patterns, Field[par] with a loop over the appropriate sites. Since the Field class is one of the more important functionalities of HILA, extensive general instructions on the Field class can be read at HILA Functionality documentation. More... | |
Namespaces | |
namespace | hila |
Implement hila::swap for gauge fields. | |
Functions | |
template<typename A , typename B , std::enable_if_t<!std::is_same< hila::type_plus< A, B >, A >::value &&!std::is_same< hila::type_plus< A, B >, B >::value, int > = 0> | |
auto | operator+ (const Field< A > &lhs, const Field< B > &rhs) -> Field< hila::type_plus< A, B > > |
operator + (Field + Field) -generic | |
template<typename A , typename B , std::enable_if_t<!std::is_same< hila::type_plus< A, B >, A >::value, int > = 0> | |
auto | operator+ (const Field< A > &lhs, const B &rhs) -> Field< hila::type_plus< A, B > > |
operator + (Field + scalar) | |
template<typename A , typename B , std::enable_if_t<!std::is_same< hila::type_plus< A, B >, B >::value, int > = 0> | |
auto | operator+ (const A &lhs, const Field< B > &rhs) -> Field< hila::type_plus< A, B > > |
operator + (scalar + Field) | |
template<typename A , typename B , std::enable_if_t<!std::is_same< hila::type_minus< A, B >, A >::value &&!std::is_same< hila::type_minus< A, B >, B >::value, int > = 0> | |
auto | operator- (const Field< A > &lhs, const Field< B > &rhs) -> Field< hila::type_minus< A, B > > |
operator - Field - Field -generic | |
template<typename A , typename B , std::enable_if_t<!std::is_same< hila::type_minus< A, B >, A >::value, int > = 0> | |
auto | operator- (const Field< A > &lhs, const B &rhs) -> Field< hila::type_minus< A, B > > |
operator - (Field - scalar) | |
template<typename A , typename B , std::enable_if_t<!std::is_same< hila::type_minus< A, B >, B >::value, int > = 0> | |
auto | operator- (const A &lhs, const Field< B > &rhs) -> Field< hila::type_minus< A, B > > |
operator - (scalar - Field) | |
template<typename A , typename B , std::enable_if_t<!std::is_same< hila::type_mul< A, B >, A >::value &&!std::is_same< hila::type_mul< A, B >, B >::value, int > = 0> | |
auto | operator* (const Field< A > &lhs, const Field< B > &rhs) -> Field< hila::type_mul< A, B > > |
template<typename A , typename B , std::enable_if_t< std::is_same< hila::type_mul< A, B >, A >::value, int > = 0> | |
Field< A > | operator* (Field< A > lhs, const Field< B > &rhs) |
reuse 1st | |
template<typename A , typename B , std::enable_if_t<!std::is_same< hila::type_mul< A, B >, A >::value &&std::is_same< hila::type_mul< A, B >, B >::value, int > = 0> | |
Field< B > | operator* (const Field< A > &lhs, Field< B > rhs) |
reuse 2nd | |
template<typename A , typename B , std::enable_if_t<!std::is_same< hila::type_mul< A, B >, B >::value, int > = 0> | |
auto | operator* (const A &lhs, const Field< B > &rhs) -> Field< hila::type_mul< A, B > > |
operator * (scalar * field) | |
template<typename A , typename B , std::enable_if_t<!std::is_same< hila::type_mul< A, B >, A >::value, int > = 0> | |
auto | operator* (const Field< A > &lhs, const B &rhs) -> Field< hila::type_mul< A, B > > |
operator * (field * scalar) | |
template<typename A , typename B , std::enable_if_t<!std::is_same< hila::type_div< A, B >, A >::value &&!std::is_same< hila::type_div< A, B >, B >::value, int > = 0> | |
auto | operator/ (const Field< A > &l, const Field< B > &r) -> Field< hila::type_div< A, B > > |
template<typename A , typename B , std::enable_if_t< std::is_same< hila::type_div< A, B >, A >::value, int > = 0> | |
Field< A > | operator/ (Field< A > l, const Field< B > &r) |
reuse 1st | |
template<typename A , typename B , std::enable_if_t<!std::is_same< hila::type_div< A, B >, A >::value &&std::is_same< hila::type_div< A, B >, B >::value, int > = 0> | |
Field< B > | operator/ (const Field< A > &l, Field< B > r) |
reuse 2nd | |
template<typename A , typename B , std::enable_if_t<!std::is_same< hila::type_div< A, B >, B >::value, int > = 0> | |
auto | operator/ (const A &lhs, const Field< B > &rhs) -> Field< hila::type_div< A, B > > |
operator / (scalar/Field) | |
template<typename A , typename B , std::enable_if_t<!std::is_same< hila::type_div< A, B >, A >::value, int > = 0> | |
auto | operator/ (const Field< A > &lhs, const B &rhs) -> Field< hila::type_div< A, B > > |
operator / (Field/scalar) | |
template<typename T > | |
void | hila::swap (Field< T > &A, Field< T > &B) |
Implement hila::swap() for Fields too, equivalent to std::swap() | |
This files containts definitions for the Field class and the classes required to define it such as field_struct.
Definition in file field.h.