Skip to content

Struct TempLat::Operators::SafeDivision

template <typename R, typename T>

ClassList > TempLat > Operators > SafeDivision

Check if numerator if roughly zero, don't do the division. Useful for spectrum fluctuation, when normalising with a cutoff.

  • #include <divide.h>

Inherits the following classes: TempLat::BinaryOperator

Public Functions

Type Name
SafeDivision (const R & pR, const T & pT)
auto d (const U & other)
And passing on the automatic / symbolic derivatives. Having fun here, this is awesome.
DEVICE_INLINE_FUNCTION auto eval (const IDX &... idx) const
virtual std::string operatorString () override const
Override this method in your derived class, to have an easy implementation of your toString method.

Public Functions inherited from TempLat::BinaryOperator

See TempLat::BinaryOperator

Type Name
BinaryOperator (const R & pR, const T & pT)
device::Idx confirmGhostsUpToDate () const
void confirmSpace (const LayoutStruct< NDim > & newLayout, const SpaceStateType & spaceType) const
void doWeNeedGhosts () const
auto getDx () const
auto getKIR () const
auto getToolBox () const
virtual std::string operatorString () const = 0
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 "a OP b" (where OP is * or whatever), this toString method does all the work for you.

Public Static Functions inherited from TempLat::BinaryOperator

See TempLat::BinaryOperator

Type Name
consteval size_t getNDim ()

Protected Attributes inherited from TempLat::BinaryOperator

See TempLat::BinaryOperator

Type Name
R mR
T mT

Public Functions Documentation

function SafeDivision

inline TempLat::Operators::SafeDivision::SafeDivision (
    const R & pR,
    const T & pT
) 

function d

And passing on the automatic / symbolic derivatives. Having fun here, this is awesome.

template<typename U>
inline auto TempLat::Operators::SafeDivision::d (
    const U & other
) 


function eval

template<typename... IDX>
inline DEVICE_INLINE_FUNCTION auto TempLat::Operators::SafeDivision::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::Operators::SafeDivision::operatorString () override const

Implements TempLat::BinaryOperator::operatorString



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