OPAL (Object Oriented Parallel Accelerator Library)  2021.1.99
OPAL
Classes | Macros | Functions
SIndexAssign.h File Reference
#include "PETE/IpplExpressions.h"
#include "Index/SIndexAssign.hpp"
Include dependency graph for SIndexAssign.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  SIExprTag< IsExpr >
 

Macros

#define SI_ASSIGNMENT_FUNCTIONS(FUNC, OP)
 
#define SI_ASSIGNMENT_OPERATORS(FUNC, OP)
 

Functions

template<unsigned Dim, class RHS , class OP , bool IsExpr>
void assign (SIndex< Dim > &, RHS, OP, const NDIndex< Dim > &, SIExprTag< IsExpr >)
 
template<unsigned Dim, class RHS >
void assign (SIndex< Dim > &lhs, const PETE_Expr< RHS > &rhs)
 
template<unsigned Dim, class RHS >
void assign (SIndex< Dim > &lhs, const PETE_Expr< RHS > &rhs, const NDIndex< Dim > &domain)
 
template<unsigned Dim, class RHS >
void operator<< (SIndex< Dim > &lhs, const PETE_Expr< RHS > &rhs)
 
template<unsigned Dim, class RHS >
void operator|= (SIndex< Dim > &lhs, const PETE_Expr< RHS > &rhs)
 
template<unsigned Dim, class RHS >
void operator&= (SIndex< Dim > &lhs, const PETE_Expr< RHS > &rhs)
 

Macro Definition Documentation

◆ SI_ASSIGNMENT_FUNCTIONS

#define SI_ASSIGNMENT_FUNCTIONS (   FUNC,
  OP 
)
Value:
\
template<unsigned Dim, class RHS> \
inline void \
FUNC(SIndex<Dim>& lhs, const PETE_Expr<RHS>& rhs) \
{ \
assign(lhs, rhs.PETE_unwrap().MakeExpression(), OP(), \
lhs.getFieldLayout().getDomain(), SIExprTag<false>()); \
} \
\
template<unsigned Dim, class RHS> \
inline void \
FUNC(SIndex<Dim>& lhs, const PETE_Expr<RHS>& rhs, \
const NDIndex<Dim>& domain) \
{ \
assign(lhs, rhs.PETE_unwrap().MakeExpression(), OP(), \
domain, SIExprTag<true>()); \
}
Definition: SIndex.h:64
Definition: PETE.h:77

Definition at line 39 of file SIndexAssign.h.

◆ SI_ASSIGNMENT_OPERATORS

#define SI_ASSIGNMENT_OPERATORS (   FUNC,
  OP 
)
Value:
\
template<unsigned Dim, class RHS> \
inline void \
FUNC(SIndex<Dim>& lhs, const PETE_Expr<RHS>& rhs) \
{ \
assign(lhs, rhs.PETE_unwrap().MakeExpression(), OP(), \
lhs.getFieldLayout().getDomain(), SIExprTag<false>()); \
}

Definition at line 58 of file SIndexAssign.h.

Function Documentation

◆ assign() [1/3]

template<unsigned Dim, class RHS , class OP , bool IsExpr>
void assign ( SIndex< Dim > &  ,
RHS  ,
OP  ,
const NDIndex< Dim > &  ,
SIExprTag< IsExpr >   
)

◆ assign() [2/3]

template<unsigned Dim, class RHS >
void assign ( SIndex< Dim > &  lhs,
const PETE_Expr< RHS > &  rhs 
)
inline

Definition at line 72 of file SIndexAssign.h.

◆ assign() [3/3]

template<unsigned Dim, class RHS >
void assign ( SIndex< Dim > &  lhs,
const PETE_Expr< RHS > &  rhs,
const NDIndex< Dim > &  domain 
)
inline

Definition at line 72 of file SIndexAssign.h.

◆ operator&=()

template<unsigned Dim, class RHS >
void operator&= ( SIndex< Dim > &  lhs,
const PETE_Expr< RHS > &  rhs 
)
inline

Definition at line 75 of file SIndexAssign.h.

◆ operator<<()

template<unsigned Dim, class RHS >
void operator<< ( SIndex< Dim > &  lhs,
const PETE_Expr< RHS > &  rhs 
)
inline

Definition at line 73 of file SIndexAssign.h.

◆ operator|=()

template<unsigned Dim, class RHS >
void operator|= ( SIndex< Dim > &  lhs,
const PETE_Expr< RHS > &  rhs 
)
inline

Definition at line 74 of file SIndexAssign.h.