Class TempLat::SU2UnaryOperator
template <typename R>
ClassList > TempLat > SU2UnaryOperator
A class which implements basic features of su2 unary operators. More...
#include <su2unaryoperator.h>
Inherited by the following classes: TempLat::SU2Dagger, TempLat::SU2ExpMap, TempLat::SU2ExpMapInv, TempLat::SU2Shifter, TempLat::SU2ShifterByOne
Public Types
| Type | Name |
|---|---|
| typedef SU2Getter | Getter |
Public Static Attributes
| Type | Name |
|---|---|
| constexpr size_t | size = 4 |
Public Functions
| Type | Name |
|---|---|
| SU2UnaryOperator (const R & pR) |
|
| device::Idx | confirmGhostsUpToDate () const |
| void | confirmSpace (const LayoutStruct< NDim > & newLayout, const SpaceStateType & spaceType) const |
| void | doWeNeedGhosts () const Space/ghost confirmation by walking the operand's structure (see SU2BinaryOperator ). Note: shifters (SU2Shifter/SU2ShifterByOne) OVERRIDE doWeNeedGhosts to trigger the actual ghost exchange for the shifted read. |
| DEVICE_INLINE_FUNCTION auto | eval (const IDX &... idx) const |
| auto | getDx () const |
| auto | getKIR () const |
| const R & | getOperand () const Access the single operand. Used by the algebraic simplification rules (e.g. dagger involution / shift, see su2dagger.h ). |
| auto | getToolBox () 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
| Type | Name |
|---|---|
| consteval size_t | getNDim () |
Protected Attributes
| Type | Name |
|---|---|
| R | mR |
Detailed Description
Unit test: ctest -R test-su2unaryoperator
Public Types Documentation
typedef Getter
Public Static Attributes Documentation
variable size
Public Functions Documentation
function SU2UnaryOperator
function confirmGhostsUpToDate
function confirmSpace
template<size_t NDim>
inline void TempLat::SU2UnaryOperator::confirmSpace (
const LayoutStruct < NDim > & newLayout,
const SpaceStateType & spaceType
) const
function doWeNeedGhosts
Space/ghost confirmation by walking the operand's structure (see SU2BinaryOperator ). Note: shifters (SU2Shifter/SU2ShifterByOne) OVERRIDE doWeNeedGhosts to trigger the actual ghost exchange for the shifted read.
function eval
template<typename... IDX>
inline DEVICE_INLINE_FUNCTION auto TempLat::SU2UnaryOperator::eval (
const IDX &... idx
) const
function getDx
function getKIR
function getOperand
Access the single operand. Used by the algebraic simplification rules (e.g. dagger involution / shift, see su2dagger.h ).
function getToolBox
function operatorString
Override this method in your derived class, to have an easy implementation of your toString method.
function postGet
function preGet
function toString
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 Documentation
function getNDim
Protected Attributes Documentation
variable mR
The documentation for this class was generated from the following file cosmolatticeweb/tmp/code_source/templat/include/TempLat/lattice/algebra/su2algebra/su2unaryoperator.h