Grid 0.7.0
Lattice_ET.h File Reference
#include <iostream>
#include <tuple>
#include <typeinfo>
#include <vector>

Go to the source code of this file.

Data Structures

struct  getVectorType< Lattice< T > >

Macros

#define GridUnopClass(name, ret)
#define GridBinOpClass(name, combination)
#define GridTrinOpClass(name, combination)
#define GRID_UNOP(name)
#define GRID_BINOP(name)
#define GRID_TRINOP(name)
#define GRID_DEF_UNOP(op, name)
#define GRID_BINOP_LEFT(op, name)
#define GRID_BINOP_RIGHT(op, name)
#define GRID_DEF_BINOP(op, name)
#define GRID_DEF_TRINOP(op, name)
#define EXPRESSION_CLOSURE(function)

Functions

 NAMESPACE_BEGIN (Grid)
template<class iobj, class vobj, class robj>
accelerator_inline vobj predicatedWhere (const iobj &predicate, const vobj &iftrue, const robj &iffalse)
template<class sobj, typename std::enable_if<!is_lattice< sobj >::value &&!is_lattice_expr< sobj >::value, sobj >::type * = nullptr>
accelerator_inline sobj eval (const uint64_t ss, const sobj &arg)
template<class lobj>
accelerator_inline auto eval (const uint64_t ss, const LatticeView< lobj > &arg) -> decltype(arg(ss))
template<class sobj>
accelerator_inline sobj vecEval (const uint64_t ss, const sobj &arg)
template<class lobj>
accelerator_inline const lobj & vecEval (const uint64_t ss, const LatticeView< lobj > &arg)
template<typename Op, typename T1>
accelerator_inline auto vecEval (const uint64_t ss, const LatticeUnaryExpression< Op, T1 > &expr) -> decltype(expr.op.func(vecEval(ss, expr.arg1)))
template<typename Op, typename T1, typename T2>
accelerator_inline auto vecEval (const uint64_t ss, const LatticeBinaryExpression< Op, T1, T2 > &expr) -> decltype(expr.op.func(vecEval(ss, expr.arg1), vecEval(ss, expr.arg2)))
template<typename Op, typename T1, typename T2, typename T3>
accelerator_inline auto vecEval (const uint64_t ss, const LatticeTrinaryExpression< Op, T1, T2, T3 > &expr) -> decltype(expr.op.func(vecEval(ss, expr.arg1), vecEval(ss, expr.arg2), vecEval(ss, expr.arg3)))
template<typename Op, typename T1>
accelerator_inline auto eval (const uint64_t ss, const LatticeUnaryExpression< Op, T1 > &expr) -> decltype(expr.op.func(eval(ss, expr.arg1)))
template<typename Op, typename T1, typename T2>
accelerator_inline auto eval (const uint64_t ss, const LatticeBinaryExpression< Op, T1, T2 > &expr) -> decltype(expr.op.func(eval(ss, expr.arg1), eval(ss, expr.arg2)))
template<typename Op, typename T1, typename T2, typename T3>
accelerator_inline auto eval (const uint64_t ss, const LatticeTrinaryExpression< Op, T1, T2, T3 > &expr) -> decltype(expr.op.func(eval(ss, expr.arg1), eval(ss, expr.arg2), eval(ss, expr.arg3)))
template<class T1, typename std::enable_if< is_lattice< T1 >::value, T1 >::type * = nullptr>
accelerator_inline void GridFromExpression (GridBase *&grid, const T1 &lat)
template<typename Op, typename T1>
accelerator_inline void GridFromExpression (GridBase *&grid, const LatticeUnaryExpression< Op, T1 > &expr)
template<typename Op, typename T1, typename T2>
accelerator_inline void GridFromExpression (GridBase *&grid, const LatticeBinaryExpression< Op, T1, T2 > &expr)
template<typename Op, typename T1, typename T2, typename T3>
accelerator_inline void GridFromExpression (GridBase *&grid, const LatticeTrinaryExpression< Op, T1, T2, T3 > &expr)
template<class T1, typename std::enable_if< is_lattice< T1 >::value, T1 >::type * = nullptr>
void CBFromExpression (int &cb, const T1 &lat)
template<typename Op, typename T1>
void CBFromExpression (int &cb, const LatticeUnaryExpression< Op, T1 > &expr)
template<typename Op, typename T1, typename T2>
void CBFromExpression (int &cb, const LatticeBinaryExpression< Op, T1, T2 > &expr)
template<typename Op, typename T1, typename T2, typename T3>
void CBFromExpression (int &cb, const LatticeTrinaryExpression< Op, T1, T2, T3 > &expr)
template<class T1, typename std::enable_if< is_lattice< T1 >::value, T1 >::type * = nullptr>
void ExpressionViewOpen (T1 &lat)
template<typename Op, typename T1>
void ExpressionViewOpen (LatticeUnaryExpression< Op, T1 > &expr)
template<typename Op, typename T1, typename T2>
void ExpressionViewOpen (LatticeBinaryExpression< Op, T1, T2 > &expr)
template<typename Op, typename T1, typename T2, typename T3>
void ExpressionViewOpen (LatticeTrinaryExpression< Op, T1, T2, T3 > &expr)
template<class T1, typename std::enable_if< is_lattice< T1 >::value, T1 >::type * = nullptr>
void ExpressionViewClose (T1 &lat)
template<typename Op, typename T1>
void ExpressionViewClose (LatticeUnaryExpression< Op, T1 > &expr)
template<typename Op, typename T1, typename T2>
void ExpressionViewClose (LatticeBinaryExpression< Op, T1, T2 > &expr)
template<typename Op, typename T1, typename T2, typename T3>
void ExpressionViewClose (LatticeTrinaryExpression< Op, T1, T2, T3 > &expr)
 GridUnopClass (UnarySub, -a)
 GridUnopClass (UnaryNot, Not(a))
 GridUnopClass (UnaryTrace, trace(a))
 GridUnopClass (UnaryTranspose, transpose(a))
 GridUnopClass (UnaryTa, Ta(a))
 GridUnopClass (UnarySpTa, SpTa(a))
 GridUnopClass (UnaryProjectOnGroup, ProjectOnGroup(a))
 GridUnopClass (UnaryProjectOnSpGroup, ProjectOnSpGroup(a))
 GridUnopClass (UnaryTimesI, timesI(a))
 GridUnopClass (UnaryTimesMinusI, timesMinusI(a))
 GridUnopClass (UnaryAbs, abs(a))
 GridUnopClass (UnarySqrt, sqrt(a))
 GridUnopClass (UnarySin, sin(a))
 GridUnopClass (UnaryCos, cos(a))
 GridUnopClass (UnaryAsin, asin(a))
 GridUnopClass (UnaryAcos, acos(a))
 GridUnopClass (UnaryLog, log(a))
 GridUnopClass (UnaryExp, exp(a))
 GridBinOpClass (BinaryAdd, lhs+rhs)
 GridBinOpClass (BinarySub, lhs - rhs)
 GridBinOpClass (BinaryMul, lhs *rhs)
 GridBinOpClass (BinaryDiv, lhs/rhs)
 GridBinOpClass (BinaryAnd, lhs &rhs)
 GridBinOpClass (BinaryOr, lhs|rhs)
 GridBinOpClass (BinaryAndAnd, lhs &&rhs)
 GridBinOpClass (BinaryOrOr, lhs||rhs)
 GridTrinOpClass (TrinaryWhere,(predicatedWhere< typename std::remove_reference< _predicate >::type, typename std::remove_reference< _left >::type, typename std::remove_reference< _right >::type >(pred, lhs, rhs)))
 GRID_DEF_UNOP (operator-, UnarySub)
 GRID_DEF_UNOP (Not, UnaryNot)
 GRID_DEF_UNOP (operator!, UnaryNot)
 GRID_DEF_UNOP (trace, UnaryTrace)
 GRID_DEF_UNOP (transpose, UnaryTranspose)
 GRID_DEF_UNOP (Ta, UnaryTa)
 GRID_DEF_UNOP (SpTa, UnarySpTa)
 GRID_DEF_UNOP (ProjectOnGroup, UnaryProjectOnGroup)
 GRID_DEF_UNOP (ProjectOnSpGroup, UnaryProjectOnSpGroup)
 GRID_DEF_UNOP (timesI, UnaryTimesI)
 GRID_DEF_UNOP (timesMinusI, UnaryTimesMinusI)
 GRID_DEF_UNOP (abs, UnaryAbs)
 GRID_DEF_UNOP (sqrt, UnarySqrt)
 GRID_DEF_UNOP (sin, UnarySin)
 GRID_DEF_UNOP (cos, UnaryCos)
 GRID_DEF_UNOP (asin, UnaryAsin)
 GRID_DEF_UNOP (acos, UnaryAcos)
 GRID_DEF_UNOP (log, UnaryLog)
 GRID_DEF_UNOP (exp, UnaryExp)
 GRID_DEF_BINOP (operator+, BinaryAdd)
 GRID_DEF_BINOP (operator-, BinarySub)
 GRID_DEF_BINOP (operator*, BinaryMul)
 GRID_DEF_BINOP (operator/, BinaryDiv)
 GRID_DEF_BINOP (operator&, BinaryAnd)
 GRID_DEF_BINOP (operator|, BinaryOr)
 GRID_DEF_BINOP (operator&&, BinaryAndAnd)
 GRID_DEF_BINOP (operator||, BinaryOrOr)
 GRID_DEF_TRINOP (where, TrinaryWhere)
template<class Op, class T1>
auto closure (const LatticeUnaryExpression< Op, T1 > &expr) -> Lattice< typename std::remove_const< decltype(expr.op.func(vecEval(0, expr.arg1)))>::type >
template<class Op, class T1, class T2>
auto closure (const LatticeBinaryExpression< Op, T1, T2 > &expr) -> Lattice< typename std::remove_const< decltype(expr.op.func(vecEval(0, expr.arg1), vecEval(0, expr.arg2)))>::type >
template<class Op, class T1, class T2, class T3>
auto closure (const LatticeTrinaryExpression< Op, T1, T2, T3 > &expr) -> Lattice< typename std::remove_const< decltype(expr.op.func(vecEval(0, expr.arg1), vecEval(0, expr.arg2), vecEval(0, expr.arg3)))>::type >
 NAMESPACE_END (Grid)

Macro Definition Documentation

◆ GridUnopClass

#define GridUnopClass ( name,
ret )

Definition at line 338 of file Lattice_ET.h.

◆ GridBinOpClass

#define GridBinOpClass ( name,
combination )

Definition at line 365 of file Lattice_ET.h.

◆ GridTrinOpClass

#define GridTrinOpClass ( name,
combination )

Definition at line 388 of file Lattice_ET.h.

◆ GRID_UNOP

#define GRID_UNOP ( name)

Definition at line 408 of file Lattice_ET.h.

◆ GRID_BINOP

#define GRID_BINOP ( name)

Definition at line 409 of file Lattice_ET.h.

◆ GRID_TRINOP

#define GRID_TRINOP ( name)

Definition at line 410 of file Lattice_ET.h.

◆ GRID_DEF_UNOP

#define GRID_DEF_UNOP ( op,
name )

Definition at line 412 of file Lattice_ET.h.

◆ GRID_BINOP_LEFT

#define GRID_BINOP_LEFT ( op,
name )

Definition at line 419 of file Lattice_ET.h.

◆ GRID_BINOP_RIGHT

#define GRID_BINOP_RIGHT ( op,
name )

Definition at line 428 of file Lattice_ET.h.

◆ GRID_DEF_BINOP

#define GRID_DEF_BINOP ( op,
name )

Definition at line 438 of file Lattice_ET.h.

◆ GRID_DEF_TRINOP

#define GRID_DEF_TRINOP ( op,
name )

Definition at line 442 of file Lattice_ET.h.

◆ EXPRESSION_CLOSURE

#define EXPRESSION_CLOSURE ( function)

Definition at line 516 of file Lattice_ET.h.

Function Documentation

◆ NAMESPACE_BEGIN()

NAMESPACE_BEGIN ( Grid )

References accelerator_inline.

◆ predicatedWhere()

template<class iobj, class vobj, class robj>
accelerator_inline vobj predicatedWhere ( const iobj & predicate,
const vobj & iftrue,
const robj & iffalse )

Definition at line 59 of file Lattice_ET.h.

References accelerator_inline, extract(), merge(), and TensorRemove().

Referenced by GridTrinOpClass().

◆ eval() [1/5]

◆ eval() [2/5]

template<class lobj>
accelerator_inline auto eval ( const uint64_t ss,
const LatticeView< lobj > & arg ) -> decltype(arg(ss))

Definition at line 108 of file Lattice_ET.h.

◆ vecEval() [1/5]

template<class sobj>
accelerator_inline sobj vecEval ( const uint64_t ss,
const sobj & arg )

Definition at line 118 of file Lattice_ET.h.

Referenced by closure(), closure(), closure(), eval(), vecEval(), vecEval(), and vecEval().

◆ vecEval() [2/5]

template<class lobj>
accelerator_inline const lobj & vecEval ( const uint64_t ss,
const LatticeView< lobj > & arg )

Definition at line 123 of file Lattice_ET.h.

◆ vecEval() [3/5]

template<typename Op, typename T1>
accelerator_inline auto vecEval ( const uint64_t ss,
const LatticeUnaryExpression< Op, T1 > & expr ) -> decltype(expr.op.func(vecEval(ss, expr.arg1)))

Definition at line 134 of file Lattice_ET.h.

References vecEval().

◆ vecEval() [4/5]

template<typename Op, typename T1, typename T2>
accelerator_inline auto vecEval ( const uint64_t ss,
const LatticeBinaryExpression< Op, T1, T2 > & expr ) -> decltype(expr.op.func(vecEval(ss, expr.arg1), vecEval(ss, expr.arg2)))

Definition at line 141 of file Lattice_ET.h.

References vecEval().

◆ vecEval() [5/5]

template<typename Op, typename T1, typename T2, typename T3>
accelerator_inline auto vecEval ( const uint64_t ss,
const LatticeTrinaryExpression< Op, T1, T2, T3 > & expr ) -> decltype(expr.op.func(vecEval(ss, expr.arg1), vecEval(ss, expr.arg2), vecEval(ss, expr.arg3)))

Definition at line 148 of file Lattice_ET.h.

References vecEval().

◆ eval() [3/5]

template<typename Op, typename T1>
accelerator_inline auto eval ( const uint64_t ss,
const LatticeUnaryExpression< Op, T1 > & expr ) -> decltype(expr.op.func(eval(ss, expr.arg1)))

Definition at line 158 of file Lattice_ET.h.

References eval().

◆ eval() [4/5]

template<typename Op, typename T1, typename T2>
accelerator_inline auto eval ( const uint64_t ss,
const LatticeBinaryExpression< Op, T1, T2 > & expr ) -> decltype(expr.op.func(eval(ss, expr.arg1), eval(ss, expr.arg2)))

Definition at line 165 of file Lattice_ET.h.

References eval().

◆ eval() [5/5]

template<typename Op, typename T1, typename T2, typename T3>
accelerator_inline auto eval ( const uint64_t ss,
const LatticeTrinaryExpression< Op, T1, T2, T3 > & expr ) -> decltype(expr.op.func(eval(ss, expr.arg1), eval(ss, expr.arg2), eval(ss, expr.arg3)))

Definition at line 172 of file Lattice_ET.h.

References acceleratorSIMTlane(), eval(), extract(), TensorRemove(), and vecEval().

◆ GridFromExpression() [1/4]

◆ GridFromExpression() [2/4]

template<typename Op, typename T1>
accelerator_inline void GridFromExpression ( GridBase *& grid,
const LatticeUnaryExpression< Op, T1 > & expr )

Definition at line 219 of file Lattice_ET.h.

References LatticeUnaryExpression< Op, _T1 >::arg1, and GridFromExpression().

◆ GridFromExpression() [3/4]

template<typename Op, typename T1, typename T2>
accelerator_inline void GridFromExpression ( GridBase *& grid,
const LatticeBinaryExpression< Op, T1, T2 > & expr )

◆ GridFromExpression() [4/4]

template<typename Op, typename T1, typename T2, typename T3>
accelerator_inline void GridFromExpression ( GridBase *& grid,
const LatticeTrinaryExpression< Op, T1, T2, T3 > & expr )

◆ CBFromExpression() [1/4]

◆ CBFromExpression() [2/4]

template<typename Op, typename T1>
void CBFromExpression ( int & cb,
const LatticeUnaryExpression< Op, T1 > & expr )
inline

Definition at line 255 of file Lattice_ET.h.

References LatticeUnaryExpression< Op, _T1 >::arg1, and CBFromExpression().

◆ CBFromExpression() [3/4]

template<typename Op, typename T1, typename T2>
void CBFromExpression ( int & cb,
const LatticeBinaryExpression< Op, T1, T2 > & expr )
inline

◆ CBFromExpression() [4/4]

template<typename Op, typename T1, typename T2, typename T3>
void CBFromExpression ( int & cb,
const LatticeTrinaryExpression< Op, T1, T2, T3 > & expr )
inline

◆ ExpressionViewOpen() [1/4]

template<class T1, typename std::enable_if< is_lattice< T1 >::value, T1 >::type * = nullptr>
void ExpressionViewOpen ( T1 & lat)
inline

◆ ExpressionViewOpen() [2/4]

template<typename Op, typename T1>
void ExpressionViewOpen ( LatticeUnaryExpression< Op, T1 > & expr)
inline

Definition at line 286 of file Lattice_ET.h.

References LatticeUnaryExpression< Op, _T1 >::arg1, and ExpressionViewOpen().

◆ ExpressionViewOpen() [3/4]

template<typename Op, typename T1, typename T2>
void ExpressionViewOpen ( LatticeBinaryExpression< Op, T1, T2 > & expr)
inline

◆ ExpressionViewOpen() [4/4]

template<typename Op, typename T1, typename T2, typename T3>
void ExpressionViewOpen ( LatticeTrinaryExpression< Op, T1, T2, T3 > & expr)
inline

◆ ExpressionViewClose() [1/4]

template<class T1, typename std::enable_if< is_lattice< T1 >::value, T1 >::type * = nullptr>
void ExpressionViewClose ( T1 & lat)
inline

◆ ExpressionViewClose() [2/4]

template<typename Op, typename T1>
void ExpressionViewClose ( LatticeUnaryExpression< Op, T1 > & expr)
inline

Definition at line 317 of file Lattice_ET.h.

References LatticeUnaryExpression< Op, _T1 >::arg1, and ExpressionViewClose().

◆ ExpressionViewClose() [3/4]

template<typename Op, typename T1, typename T2>
void ExpressionViewClose ( LatticeBinaryExpression< Op, T1, T2 > & expr)
inline

◆ ExpressionViewClose() [4/4]

template<typename Op, typename T1, typename T2, typename T3>
void ExpressionViewClose ( LatticeTrinaryExpression< Op, T1, T2, T3 > & expr)
inline

◆ GridUnopClass() [1/18]

GridUnopClass ( UnarySub ,
- a )

◆ GridUnopClass() [2/18]

GridUnopClass ( UnaryNot ,
Not(a)  )

◆ GridUnopClass() [3/18]

GridUnopClass ( UnaryTrace ,
trace(a)  )

◆ GridUnopClass() [4/18]

GridUnopClass ( UnaryTranspose ,
transpose(a)  )

◆ GridUnopClass() [5/18]

GridUnopClass ( UnaryTa ,
Ta(a)  )

◆ GridUnopClass() [6/18]

GridUnopClass ( UnarySpTa ,
SpTa(a)  )

◆ GridUnopClass() [7/18]

GridUnopClass ( UnaryProjectOnGroup ,
ProjectOnGroup(a)  )

◆ GridUnopClass() [8/18]

GridUnopClass ( UnaryProjectOnSpGroup ,
ProjectOnSpGroup(a)  )

◆ GridUnopClass() [9/18]

GridUnopClass ( UnaryTimesI ,
timesI(a)  )

◆ GridUnopClass() [10/18]

GridUnopClass ( UnaryTimesMinusI ,
timesMinusI(a)  )

◆ GridUnopClass() [11/18]

GridUnopClass ( UnaryAbs ,
abs(a)  )

◆ GridUnopClass() [12/18]

GridUnopClass ( UnarySqrt ,
sqrt(a)  )

◆ GridUnopClass() [13/18]

GridUnopClass ( UnarySin ,
sin(a)  )

◆ GridUnopClass() [14/18]

GridUnopClass ( UnaryCos ,
cos(a)  )

◆ GridUnopClass() [15/18]

GridUnopClass ( UnaryAsin ,
asin(a)  )

◆ GridUnopClass() [16/18]

GridUnopClass ( UnaryAcos ,
acos(a)  )

◆ GridUnopClass() [17/18]

GridUnopClass ( UnaryLog ,
log(a)  )

◆ GridUnopClass() [18/18]

GridUnopClass ( UnaryExp ,
exp(a)  )

◆ GridBinOpClass() [1/8]

GridBinOpClass ( BinaryAdd ,
lhs+ rhs )

◆ GridBinOpClass() [2/8]

GridBinOpClass ( BinarySub ,
lhs - rhs )

◆ GridBinOpClass() [3/8]

GridBinOpClass ( BinaryMul ,
lhs * rhs )

◆ GridBinOpClass() [4/8]

GridBinOpClass ( BinaryDiv ,
lhs/ rhs )

◆ GridBinOpClass() [5/8]

GridBinOpClass ( BinaryAnd ,
lhs & rhs )

◆ GridBinOpClass() [6/8]

GridBinOpClass ( BinaryOr ,
lhs| rhs )

◆ GridBinOpClass() [7/8]

GridBinOpClass ( BinaryAndAnd ,
lhs && rhs )

◆ GridBinOpClass() [8/8]

GridBinOpClass ( BinaryOrOr ,
lhs|| rhs )

◆ GridTrinOpClass()

GridTrinOpClass ( TrinaryWhere ,
(predicatedWhere< typename std::remove_reference< _predicate >::type, typename std::remove_reference< _left >::type, typename std::remove_reference< _right >::type >(pred, lhs, rhs))  )

References predicatedWhere().

◆ GRID_DEF_UNOP() [1/19]

GRID_DEF_UNOP ( operator- ,
UnarySub  )

◆ GRID_DEF_UNOP() [2/19]

GRID_DEF_UNOP ( Not ,
UnaryNot  )

References Not().

◆ GRID_DEF_UNOP() [3/19]

GRID_DEF_UNOP ( operator! ,
UnaryNot  )

◆ GRID_DEF_UNOP() [4/19]

GRID_DEF_UNOP ( trace ,
UnaryTrace  )

References trace().

◆ GRID_DEF_UNOP() [5/19]

GRID_DEF_UNOP ( transpose ,
UnaryTranspose  )

References transpose().

◆ GRID_DEF_UNOP() [6/19]

GRID_DEF_UNOP ( Ta ,
UnaryTa  )

References Ta().

◆ GRID_DEF_UNOP() [7/19]

GRID_DEF_UNOP ( SpTa ,
UnarySpTa  )

References SpTa().

◆ GRID_DEF_UNOP() [8/19]

GRID_DEF_UNOP ( ProjectOnGroup ,
UnaryProjectOnGroup  )

References ProjectOnGroup().

◆ GRID_DEF_UNOP() [9/19]

GRID_DEF_UNOP ( ProjectOnSpGroup ,
UnaryProjectOnSpGroup  )

References ProjectOnSpGroup().

◆ GRID_DEF_UNOP() [10/19]

GRID_DEF_UNOP ( timesI ,
UnaryTimesI  )

References timesI().

◆ GRID_DEF_UNOP() [11/19]

GRID_DEF_UNOP ( timesMinusI ,
UnaryTimesMinusI  )

References timesMinusI().

◆ GRID_DEF_UNOP() [12/19]

GRID_DEF_UNOP ( abs ,
UnaryAbs  )

References abs().

◆ GRID_DEF_UNOP() [13/19]

GRID_DEF_UNOP ( sqrt ,
UnarySqrt  )

References sqrt().

◆ GRID_DEF_UNOP() [14/19]

GRID_DEF_UNOP ( sin ,
UnarySin  )

References sin().

◆ GRID_DEF_UNOP() [15/19]

GRID_DEF_UNOP ( cos ,
UnaryCos  )

References cos().

◆ GRID_DEF_UNOP() [16/19]

GRID_DEF_UNOP ( asin ,
UnaryAsin  )

References asin().

◆ GRID_DEF_UNOP() [17/19]

GRID_DEF_UNOP ( acos ,
UnaryAcos  )

References acos().

◆ GRID_DEF_UNOP() [18/19]

GRID_DEF_UNOP ( log ,
UnaryLog  )

References log().

◆ GRID_DEF_UNOP() [19/19]

GRID_DEF_UNOP ( exp ,
UnaryExp  )

References exp().

◆ GRID_DEF_BINOP() [1/8]

GRID_DEF_BINOP ( operator+ ,
BinaryAdd  )

◆ GRID_DEF_BINOP() [2/8]

GRID_DEF_BINOP ( operator- ,
BinarySub  )

◆ GRID_DEF_BINOP() [3/8]

GRID_DEF_BINOP ( operator* ,
BinaryMul  )

◆ GRID_DEF_BINOP() [4/8]

GRID_DEF_BINOP ( operator/ ,
BinaryDiv  )

◆ GRID_DEF_BINOP() [5/8]

GRID_DEF_BINOP ( operator& ,
BinaryAnd  )

◆ GRID_DEF_BINOP() [6/8]

GRID_DEF_BINOP ( operator| ,
BinaryOr  )

◆ GRID_DEF_BINOP() [7/8]

GRID_DEF_BINOP ( operator&& ,
BinaryAndAnd  )

◆ GRID_DEF_BINOP() [8/8]

GRID_DEF_BINOP ( operator|| ,
BinaryOrOr  )

◆ GRID_DEF_TRINOP()

GRID_DEF_TRINOP ( where ,
TrinaryWhere  )

◆ closure() [1/3]

template<class Op, class T1>
auto closure ( const LatticeUnaryExpression< Op, T1 > & expr) -> Lattice< typename std::remove_const< decltype(expr.op.func(vecEval(0, expr.arg1)))>::type >

◆ closure() [2/3]

template<class Op, class T1, class T2>
auto closure ( const LatticeBinaryExpression< Op, T1, T2 > & expr) -> Lattice< typename std::remove_const< decltype(expr.op.func(vecEval(0, expr.arg1), vecEval(0, expr.arg2)))>::type >

Definition at line 499 of file Lattice_ET.h.

References vecEval().

◆ closure() [3/3]

template<class Op, class T1, class T2, class T3>
auto closure ( const LatticeTrinaryExpression< Op, T1, T2, T3 > & expr) -> Lattice< typename std::remove_const< decltype(expr.op.func(vecEval(0, expr.arg1), vecEval(0, expr.arg2), vecEval(0, expr.arg3)))>::type >

Definition at line 506 of file Lattice_ET.h.

References vecEval().

◆ NAMESPACE_END()

NAMESPACE_END ( Grid )