OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
PAssign.h File Reference
Include dependency graph for PAssign.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define ASSIGNMENT_OPERATORS_PTCL(FUNC, OP)

Functions

template<class T, class RHS, class OP>
void assign (const ParticleAttrib< T > &a, RHS b, OP op)
template<class T, unsigned Dim, class RHS, class OP>
void assign (const ParticleAttribElem< T, Dim > &a, RHS b, OP op)
template<class T, class OP>
void assign (const ParticleAttrib< T > &a, const T &b, OP op)
template<class T, unsigned D, class OP>
void assign (const ParticleAttribElem< T, D > &a, const typename AppTypeTraits< T >::Element_t &b, OP op)
template<class T, unsigned D, class RHS>
void assign (const ParticleAttribElem< T, D > &lhs, const PETE_Expr< RHS > &rhs)
template<class T, unsigned D>
void assign (const ParticleAttribElem< T, D > &lhs, typename AppTypeTraits< T >::Element_t rhs)
template<class T, class RHS>
void assign (const ParticleAttrib< T > &lhs, const PETE_Expr< RHS > &rhs)
template<class T>
void assign (const ParticleAttrib< T > &lhs, T rhs)
template<class T, unsigned D, class RHS>
void operator<< (const ParticleAttribElem< T, D > &lhs, const PETE_Expr< RHS > &rhs)
template<class T, unsigned D>
void operator<< (const ParticleAttribElem< T, D > &lhs, typename AppTypeTraits< T >::Element_t rhs)
template<class T, class RHS>
void operator<< (const ParticleAttrib< T > &lhs, const PETE_Expr< RHS > &rhs)
template<class T>
void operator<< (const ParticleAttrib< T > &lhs, T rhs)
template<class T, unsigned D, class RHS>
void operator+= (const ParticleAttribElem< T, D > &lhs, const PETE_Expr< RHS > &rhs)
template<class T, unsigned D>
void operator+= (const ParticleAttribElem< T, D > &lhs, typename AppTypeTraits< T >::Element_t rhs)
template<class T, class RHS>
void operator+= (const ParticleAttrib< T > &lhs, const PETE_Expr< RHS > &rhs)
template<class T>
void operator+= (const ParticleAttrib< T > &lhs, T rhs)
template<class T, unsigned D, class RHS>
void operator-= (const ParticleAttribElem< T, D > &lhs, const PETE_Expr< RHS > &rhs)
template<class T, unsigned D>
void operator-= (const ParticleAttribElem< T, D > &lhs, typename AppTypeTraits< T >::Element_t rhs)
template<class T, class RHS>
void operator-= (const ParticleAttrib< T > &lhs, const PETE_Expr< RHS > &rhs)
template<class T>
void operator-= (const ParticleAttrib< T > &lhs, T rhs)
template<class T, unsigned D, class RHS>
void operator*= (const ParticleAttribElem< T, D > &lhs, const PETE_Expr< RHS > &rhs)
template<class T, unsigned D>
void operator*= (const ParticleAttribElem< T, D > &lhs, typename AppTypeTraits< T >::Element_t rhs)
template<class T, class RHS>
void operator*= (const ParticleAttrib< T > &lhs, const PETE_Expr< RHS > &rhs)
template<class T>
void operator*= (const ParticleAttrib< T > &lhs, T rhs)
template<class T, unsigned D, class RHS>
void operator/= (const ParticleAttribElem< T, D > &lhs, const PETE_Expr< RHS > &rhs)
template<class T, unsigned D>
void operator/= (const ParticleAttribElem< T, D > &lhs, typename AppTypeTraits< T >::Element_t rhs)
template<class T, class RHS>
void operator/= (const ParticleAttrib< T > &lhs, const PETE_Expr< RHS > &rhs)
template<class T>
void operator/= (const ParticleAttrib< T > &lhs, T rhs)
template<class T, unsigned D, class RHS>
void mineq (const ParticleAttribElem< T, D > &lhs, const PETE_Expr< RHS > &rhs)
template<class T, unsigned D>
void mineq (const ParticleAttribElem< T, D > &lhs, typename AppTypeTraits< T >::Element_t rhs)
template<class T, class RHS>
void mineq (const ParticleAttrib< T > &lhs, const PETE_Expr< RHS > &rhs)
template<class T>
void mineq (const ParticleAttrib< T > &lhs, T rhs)
template<class T, unsigned D, class RHS>
void maxeq (const ParticleAttribElem< T, D > &lhs, const PETE_Expr< RHS > &rhs)
template<class T, unsigned D>
void maxeq (const ParticleAttribElem< T, D > &lhs, typename AppTypeTraits< T >::Element_t rhs)
template<class T, class RHS>
void maxeq (const ParticleAttrib< T > &lhs, const PETE_Expr< RHS > &rhs)
template<class T>
void maxeq (const ParticleAttrib< T > &lhs, T rhs)

Macro Definition Documentation

◆ ASSIGNMENT_OPERATORS_PTCL

#define ASSIGNMENT_OPERATORS_PTCL ( FUNC,
OP )
Value:
\
template<class T, unsigned D, class RHS> \
inline void \
FUNC(const ParticleAttribElem<T,D>& lhs, const PETE_Expr<RHS>& rhs) \
{ \
assign(lhs,rhs.PETE_unwrap().MakeExpression(),OP()); \
} \
\
template<class T, unsigned D> \
inline void \
FUNC(const ParticleAttribElem<T,D>& lhs, \
{ \
assign(lhs,PETE_Scalar<typename AppTypeTraits<T>::Element_t>(rhs),OP()); \
} \
\
template<class T, class RHS> \
inline void \
FUNC(const ParticleAttrib<T>& lhs, const PETE_Expr<RHS>& rhs) \
{ \
assign(lhs,rhs.PETE_unwrap().MakeExpression(),OP()); \
} \
\
template<class T> \
inline void \
FUNC(const ParticleAttrib<T>& lhs, T rhs) \
{ \
assign(lhs,PETE_Scalar<T>(rhs),OP()); \
}
T::Element_t Element_t

Definition at line 56 of file PAssign.h.

Referenced by maxeq(), mineq(), operator*=(), operator+=(), operator-=(), operator/=(), and operator<<().

Function Documentation

◆ assign() [1/8]

template<class T, class OP>
void assign ( const ParticleAttrib< T > & a,
const T & b,
OP op )
inline

Definition at line 39 of file PAssign.h.

References a, and assign().

Here is the call graph for this function:

◆ assign() [2/8]

template<class T, class RHS, class OP>
void assign ( const ParticleAttrib< T > & a,
RHS b,
OP op )

Definition at line 58 of file PAssign.hpp.

References a, for_each(), INCIPPLSTAT, PETE_apply(), and PETE_Expr< WrappedExpr >::PETE_unwrap().

Referenced by assign(), and assign().

Here is the call graph for this function:

◆ assign() [3/8]

template<class T, class RHS>
void assign ( const ParticleAttrib< T > & lhs,
const PETE_Expr< RHS > & rhs )
inline

Definition at line 87 of file PAssign.h.

◆ assign() [4/8]

template<class T>
void assign ( const ParticleAttrib< T > & lhs,
T rhs )
inline

Definition at line 87 of file PAssign.h.

◆ assign() [5/8]

template<class T, unsigned D, class OP>
void assign ( const ParticleAttribElem< T, D > & a,
const typename AppTypeTraits< T >::Element_t & b,
OP op )
inline

Definition at line 47 of file PAssign.h.

References a, and assign().

Here is the call graph for this function:

◆ assign() [6/8]

template<class T, unsigned D, class RHS>
void assign ( const ParticleAttribElem< T, D > & lhs,
const PETE_Expr< RHS > & rhs )
inline

Definition at line 87 of file PAssign.h.

References assign().

Here is the call graph for this function:

◆ assign() [7/8]

template<class T, unsigned D>
void assign ( const ParticleAttribElem< T, D > & lhs,
typename AppTypeTraits< T >::Element_t rhs )
inline

Definition at line 87 of file PAssign.h.

◆ assign() [8/8]

template<class T, unsigned Dim, class RHS, class OP>
void assign ( const ParticleAttribElem< T, Dim > & a,
RHS b,
OP op )

Definition at line 40 of file PAssign.hpp.

References a, for_each(), INCIPPLSTAT, PETE_apply(), and PETE_Expr< WrappedExpr >::PETE_unwrap().

Here is the call graph for this function:

◆ maxeq() [1/4]

template<class T, class RHS>
void maxeq ( const ParticleAttrib< T > & lhs,
const PETE_Expr< RHS > & rhs )
inline

Definition at line 94 of file PAssign.h.

◆ maxeq() [2/4]

template<class T>
void maxeq ( const ParticleAttrib< T > & lhs,
T rhs )
inline

Definition at line 94 of file PAssign.h.

◆ maxeq() [3/4]

template<class T, unsigned D, class RHS>
void maxeq ( const ParticleAttribElem< T, D > & lhs,
const PETE_Expr< RHS > & rhs )
inline

Definition at line 94 of file PAssign.h.

References ASSIGNMENT_OPERATORS_PTCL, and maxeq().

Here is the call graph for this function:

◆ maxeq() [4/4]

template<class T, unsigned D>
void maxeq ( const ParticleAttribElem< T, D > & lhs,
typename AppTypeTraits< T >::Element_t rhs )
inline

Definition at line 94 of file PAssign.h.

◆ mineq() [1/4]

template<class T, class RHS>
void mineq ( const ParticleAttrib< T > & lhs,
const PETE_Expr< RHS > & rhs )
inline

Definition at line 93 of file PAssign.h.

◆ mineq() [2/4]

template<class T>
void mineq ( const ParticleAttrib< T > & lhs,
T rhs )
inline

Definition at line 93 of file PAssign.h.

◆ mineq() [3/4]

template<class T, unsigned D, class RHS>
void mineq ( const ParticleAttribElem< T, D > & lhs,
const PETE_Expr< RHS > & rhs )
inline

Definition at line 93 of file PAssign.h.

References ASSIGNMENT_OPERATORS_PTCL, and mineq().

Here is the call graph for this function:

◆ mineq() [4/4]

template<class T, unsigned D>
void mineq ( const ParticleAttribElem< T, D > & lhs,
typename AppTypeTraits< T >::Element_t rhs )
inline

Definition at line 93 of file PAssign.h.

◆ operator*=() [1/4]

template<class T, class RHS>
void operator*= ( const ParticleAttrib< T > & lhs,
const PETE_Expr< RHS > & rhs )
inline

Definition at line 91 of file PAssign.h.

◆ operator*=() [2/4]

template<class T>
void operator*= ( const ParticleAttrib< T > & lhs,
T rhs )
inline

Definition at line 91 of file PAssign.h.

◆ operator*=() [3/4]

template<class T, unsigned D, class RHS>
void operator*= ( const ParticleAttribElem< T, D > & lhs,
const PETE_Expr< RHS > & rhs )
inline

Definition at line 91 of file PAssign.h.

References ASSIGNMENT_OPERATORS_PTCL.

◆ operator*=() [4/4]

template<class T, unsigned D>
void operator*= ( const ParticleAttribElem< T, D > & lhs,
typename AppTypeTraits< T >::Element_t rhs )
inline

Definition at line 91 of file PAssign.h.

◆ operator+=() [1/4]

template<class T, class RHS>
void operator+= ( const ParticleAttrib< T > & lhs,
const PETE_Expr< RHS > & rhs )
inline

Definition at line 89 of file PAssign.h.

◆ operator+=() [2/4]

template<class T>
void operator+= ( const ParticleAttrib< T > & lhs,
T rhs )
inline

Definition at line 89 of file PAssign.h.

◆ operator+=() [3/4]

template<class T, unsigned D, class RHS>
void operator+= ( const ParticleAttribElem< T, D > & lhs,
const PETE_Expr< RHS > & rhs )
inline

Definition at line 89 of file PAssign.h.

References ASSIGNMENT_OPERATORS_PTCL.

◆ operator+=() [4/4]

template<class T, unsigned D>
void operator+= ( const ParticleAttribElem< T, D > & lhs,
typename AppTypeTraits< T >::Element_t rhs )
inline

Definition at line 89 of file PAssign.h.

◆ operator-=() [1/4]

template<class T, class RHS>
void operator-= ( const ParticleAttrib< T > & lhs,
const PETE_Expr< RHS > & rhs )
inline

Definition at line 90 of file PAssign.h.

◆ operator-=() [2/4]

template<class T>
void operator-= ( const ParticleAttrib< T > & lhs,
T rhs )
inline

Definition at line 90 of file PAssign.h.

◆ operator-=() [3/4]

template<class T, unsigned D, class RHS>
void operator-= ( const ParticleAttribElem< T, D > & lhs,
const PETE_Expr< RHS > & rhs )
inline

Definition at line 90 of file PAssign.h.

References ASSIGNMENT_OPERATORS_PTCL.

◆ operator-=() [4/4]

template<class T, unsigned D>
void operator-= ( const ParticleAttribElem< T, D > & lhs,
typename AppTypeTraits< T >::Element_t rhs )
inline

Definition at line 90 of file PAssign.h.

◆ operator/=() [1/4]

template<class T, class RHS>
void operator/= ( const ParticleAttrib< T > & lhs,
const PETE_Expr< RHS > & rhs )
inline

Definition at line 92 of file PAssign.h.

◆ operator/=() [2/4]

template<class T>
void operator/= ( const ParticleAttrib< T > & lhs,
T rhs )
inline

Definition at line 92 of file PAssign.h.

◆ operator/=() [3/4]

template<class T, unsigned D, class RHS>
void operator/= ( const ParticleAttribElem< T, D > & lhs,
const PETE_Expr< RHS > & rhs )
inline

Definition at line 92 of file PAssign.h.

References ASSIGNMENT_OPERATORS_PTCL.

◆ operator/=() [4/4]

template<class T, unsigned D>
void operator/= ( const ParticleAttribElem< T, D > & lhs,
typename AppTypeTraits< T >::Element_t rhs )
inline

Definition at line 92 of file PAssign.h.

◆ operator<<() [1/4]

template<class T, class RHS>
void operator<< ( const ParticleAttrib< T > & lhs,
const PETE_Expr< RHS > & rhs )
inline

Definition at line 88 of file PAssign.h.

◆ operator<<() [2/4]

template<class T>
void operator<< ( const ParticleAttrib< T > & lhs,
T rhs )
inline

Definition at line 88 of file PAssign.h.

◆ operator<<() [3/4]

template<class T, unsigned D, class RHS>
void operator<< ( const ParticleAttribElem< T, D > & lhs,
const PETE_Expr< RHS > & rhs )
inline

Definition at line 88 of file PAssign.h.

References ASSIGNMENT_OPERATORS_PTCL.

◆ operator<<() [4/4]

template<class T, unsigned D>
void operator<< ( const ParticleAttribElem< T, D > & lhs,
typename AppTypeTraits< T >::Element_t rhs )
inline

Definition at line 88 of file PAssign.h.