Skip to content

Class TempLat::SymTracelessFieldShifter

template <typename R, int... N>

ClassList > TempLat > SymTracelessFieldShifter

A class which implements spatial shifts for symmetric traceless algebra. More...

  • #include <symtracelessfieldshift.h>

Inherits the following classes: TempLat::SymTracelessUnaryOperator

Public Types inherited from TempLat::SymTracelessUnaryOperator

See TempLat::SymTracelessUnaryOperator

Type Name
typedef SymTracelessGetter Getter

Public Static Attributes

Type Name
constexpr size_t dim = sizeof...(N)
constexpr auto shifts = device::make\_tuple(N...)

Public Static Attributes inherited from TempLat::SymTracelessUnaryOperator

See TempLat::SymTracelessUnaryOperator

Type Name
constexpr size_t size = 5

Public Functions

Type Name
SymTracelessFieldShifter (const R & pR)
auto SymTracelessGet (Tag< M > t) const
auto SymTracelessGet (Tag< M1 > t1, Tag< M2 > t2) const
DEVICE_INLINE_FUNCTION auto eval (const IDX &... idx) const
virtual std::string operatorString () const
Override this method in your derived class, to have an easy implementation of your toString method.

Public Functions inherited from TempLat::SymTracelessUnaryOperator

See TempLat::SymTracelessUnaryOperator

Type Name
SymTracelessUnaryOperator (const R & pR)
auto getDx () const
auto getKIR () const
virtual std::string operatorString () const
Override this method in your derived class, to have an easy implementation of your toString method.
void postGet ()
void preGet ()
std::string toString () const
If your descending class implements operatorString() and your operator is of the type "OP b" (where OP is * or whatever), this toString method does all the work for you, only adding parentheses if b contains spaces.

Public Static Functions inherited from TempLat::SymTracelessUnaryOperator

See TempLat::SymTracelessUnaryOperator

Type Name
consteval size_t getNDim ()

Protected Attributes inherited from TempLat::SymTracelessUnaryOperator

See TempLat::SymTracelessUnaryOperator

Type Name
R mR

Detailed Description

Unit test: ctest -R test-complexfieldshift

Public Static Attributes Documentation

variable dim

constexpr size_t TempLat::SymTracelessFieldShifter< R, N >::dim;

variable shifts

constexpr auto TempLat::SymTracelessFieldShifter< R, N >::shifts;

Public Functions Documentation

function SymTracelessFieldShifter

inline TempLat::SymTracelessFieldShifter::SymTracelessFieldShifter (
    const R & pR
) 

function SymTracelessGet [1/2]

template<int M>
inline auto TempLat::SymTracelessFieldShifter::SymTracelessGet (
    Tag < M > t
) const

function SymTracelessGet [2/2]

template<int M1, int M2>
inline auto TempLat::SymTracelessFieldShifter::SymTracelessGet (
    Tag < M1 > t1,
    Tag < M2 > t2
) const

function eval

template<typename... IDX>
inline DEVICE_INLINE_FUNCTION auto TempLat::SymTracelessFieldShifter::eval (
    const IDX &... idx
) const

function operatorString

Override this method in your derived class, to have an easy implementation of your toString method.

inline virtual std::string TempLat::SymTracelessFieldShifter::operatorString () const

Implements TempLat::SymTracelessUnaryOperator::operatorString



The documentation for this class was generated from the following file cosmolatticeweb/tmp/code_source/templat/include/TempLat/lattice/algebra/matrix3x3algebra/symtracelessfieldshift.h