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

Go to the source code of this file.

Classes

struct  PETE_Type2Index< Type >
struct  PETE_Type2Index< bool >
struct  PETE_Type2Index< char >
struct  PETE_Type2Index< short >
struct  PETE_Type2Index< int >
struct  PETE_Type2Index< long >
struct  PETE_Type2Index< float >
struct  PETE_Type2Index< double >
struct  PETE_ComputeUnaryType< T, Op, OpTag >
struct  PETE_ComputeUnaryType< T, Op, PETE_UnaryPassThruTag >
struct  PETEUnaryReturn< T, Op >
struct  PETE_ComputeBinaryType< T1, T2, Op, op >
struct  PETE_ComputeBinaryType< T1, T2, Op, PETE_BinaryUseLeftTag >
struct  PETE_ComputeBinaryType< T1, T2, Op, PETE_BinaryUseRightTag >
struct  PETE_ComputePromoteType< T1, T2, lr >
struct  PETE_ComputePromoteType< T1, T2, true >
struct  PETE_ComputePromoteType< T1, T2, false >
struct  PETE_ComputePromoteType2< T1, T2, t1, t2 >
struct  PETE_ComputeBinaryType< T1, T2, Op, PETE_BinaryPromoteTag >
struct  PETEBinaryReturn< T1, T2, Op >
struct  PETETrinaryReturn< T1, T2, T3, Op >
struct  OpIdentity
struct  OpUnaryMinus
struct  OpUnaryPlus
struct  OpBitwiseNot
struct  OpNot
struct  OpCast< T >
struct  FnArcCos
struct  FnArcSin
struct  FnArcTan
struct  FnCeil
struct  FnCos
struct  FnHypCos
struct  FnExp
struct  FnFabs
struct  FnFloor
struct  FnLog
struct  FnLog10
struct  FnSin
struct  FnHypSin
struct  FnSqrt
struct  FnTan
struct  FnHypTan
struct  FnErf
struct  OpAdd
struct  OpSubtract
struct  OpMultipply
struct  OpDivide
struct  OpMod
struct  OpLT
struct  OpGT
struct  OpLE
struct  OpGE
struct  OpEQ
struct  OpNE
struct  OpAnd
struct  OpOr
struct  OpBitwiseXor
struct  OpBitwiseAnd
struct  OpBitwiseOr
struct  OpLeftShift
struct  OpRightShift
struct  FnCopysign
struct  FnLdexp
struct  FnPow
struct  FnFmod
struct  FnArcTan2
struct  OpAssign
struct  OpAddAssign
struct  OpSubtractAssign
struct  OpMultipplyAssign
struct  OpDivideAssign
struct  OpModAssign
struct  OpBitwiseXorAssign
struct  OpBitwiseAndAssign
struct  OpBitwiseOrAssign
struct  OpLeftShiftAssign
struct  OpRightShiftAssign
struct  OpWhere

Variables

const int PETE_UnaryPassThruTag = 0
const int PETE_BinaryPromoteTag = -2
const int PETE_BinaryUseLeftTag = -1
const int PETE_BinaryUseRightTag = 0

Class Documentation

◆ PETE_ComputeUnaryType

struct PETE_ComputeUnaryType
template<class T, class Op, int OpTag>
struct PETE_ComputeUnaryType< T, Op, OpTag >

Definition at line 133 of file TypeComputations.h.

Inheritance diagram for PETE_ComputeUnaryType< T, Op, OpTag >:
Collaboration diagram for PETE_ComputeUnaryType< T, Op, OpTag >:
Class Members
typedef type type

◆ PETE_ComputeUnaryType< T, Op, PETE_UnaryPassThruTag >

struct PETE_ComputeUnaryType< T, Op, PETE_UnaryPassThruTag >
template<class T, class Op>
struct PETE_ComputeUnaryType< T, Op, PETE_UnaryPassThruTag >

Definition at line 139 of file TypeComputations.h.

Inheritance diagram for PETE_ComputeUnaryType< T, Op, PETE_UnaryPassThruTag >:
Collaboration diagram for PETE_ComputeUnaryType< T, Op, PETE_UnaryPassThruTag >:
Class Members
typedef T type

◆ PETEUnaryReturn

struct PETEUnaryReturn
template<class T, class Op>
struct PETEUnaryReturn< T, Op >

Definition at line 145 of file TypeComputations.h.

Inheritance diagram for PETEUnaryReturn< T, Op >:
Collaboration diagram for PETEUnaryReturn< T, Op >:
Class Members
typedef type type

◆ PETE_ComputeBinaryType

struct PETE_ComputeBinaryType
template<class T1, class T2, class Op, int op>
struct PETE_ComputeBinaryType< T1, T2, Op, op >

Definition at line 197 of file TypeComputations.h.

Inheritance diagram for PETE_ComputeBinaryType< T1, T2, Op, op >:
Collaboration diagram for PETE_ComputeBinaryType< T1, T2, Op, op >:
Class Members
typedef type type

◆ PETE_ComputeBinaryType< T1, T2, Op, PETE_BinaryUseLeftTag >

struct PETE_ComputeBinaryType< T1, T2, Op, PETE_BinaryUseLeftTag >
template<class T1, class T2, class Op>
struct PETE_ComputeBinaryType< T1, T2, Op, PETE_BinaryUseLeftTag >

Definition at line 203 of file TypeComputations.h.

Inheritance diagram for PETE_ComputeBinaryType< T1, T2, Op, PETE_BinaryUseLeftTag >:
Collaboration diagram for PETE_ComputeBinaryType< T1, T2, Op, PETE_BinaryUseLeftTag >:
Class Members
typedef T1 type

◆ PETE_ComputeBinaryType< T1, T2, Op, PETE_BinaryUseRightTag >

struct PETE_ComputeBinaryType< T1, T2, Op, PETE_BinaryUseRightTag >
template<class T1, class T2, class Op>
struct PETE_ComputeBinaryType< T1, T2, Op, PETE_BinaryUseRightTag >

Definition at line 209 of file TypeComputations.h.

Inheritance diagram for PETE_ComputeBinaryType< T1, T2, Op, PETE_BinaryUseRightTag >:
Collaboration diagram for PETE_ComputeBinaryType< T1, T2, Op, PETE_BinaryUseRightTag >:
Class Members
typedef T2 type

◆ PETE_ComputePromoteType

struct PETE_ComputePromoteType
template<class T1, class T2, bool lr>
struct PETE_ComputePromoteType< T1, T2, lr >

Definition at line 215 of file TypeComputations.h.

Inheritance diagram for PETE_ComputePromoteType< T1, T2, lr >:
Collaboration diagram for PETE_ComputePromoteType< T1, T2, lr >:

◆ PETE_ComputePromoteType< T1, T2, true >

struct PETE_ComputePromoteType< T1, T2, true >
template<class T1, class T2>
struct PETE_ComputePromoteType< T1, T2, true >

Definition at line 220 of file TypeComputations.h.

Inheritance diagram for PETE_ComputePromoteType< T1, T2, true >:
Collaboration diagram for PETE_ComputePromoteType< T1, T2, true >:
Class Members
typedef T1 type

◆ PETE_ComputePromoteType< T1, T2, false >

struct PETE_ComputePromoteType< T1, T2, false >
template<class T1, class T2>
struct PETE_ComputePromoteType< T1, T2, false >

Definition at line 226 of file TypeComputations.h.

Inheritance diagram for PETE_ComputePromoteType< T1, T2, false >:
Collaboration diagram for PETE_ComputePromoteType< T1, T2, false >:
Class Members
typedef T2 type

◆ PETE_ComputePromoteType2

struct PETE_ComputePromoteType2
template<class T1, class T2, int t1, int t2>
struct PETE_ComputePromoteType2< T1, T2, t1, t2 >

Definition at line 232 of file TypeComputations.h.

Inheritance diagram for PETE_ComputePromoteType2< T1, T2, t1, t2 >:
Collaboration diagram for PETE_ComputePromoteType2< T1, T2, t1, t2 >:
Class Members
typedef PETE_ComputePromoteType< T1, T2,(t1 >=t2)>::type type

◆ PETE_ComputeBinaryType< T1, T2, Op, PETE_BinaryPromoteTag >

struct PETE_ComputeBinaryType< T1, T2, Op, PETE_BinaryPromoteTag >
template<class T1, class T2, class Op>
struct PETE_ComputeBinaryType< T1, T2, Op, PETE_BinaryPromoteTag >

Definition at line 239 of file TypeComputations.h.

Inheritance diagram for PETE_ComputeBinaryType< T1, T2, Op, PETE_BinaryPromoteTag >:
Collaboration diagram for PETE_ComputeBinaryType< T1, T2, Op, PETE_BinaryPromoteTag >:
Class Members
typedef val, val >::type type

◆ PETEBinaryReturn

struct PETEBinaryReturn
template<class T1, class T2, class Op>
struct PETEBinaryReturn< T1, T2, Op >

Definition at line 246 of file TypeComputations.h.

Collaboration diagram for PETEBinaryReturn< T1, T2, Op >:
Class Members
typedef type type

◆ PETETrinaryReturn

struct PETETrinaryReturn
template<class T1, class T2, class T3, class Op>
struct PETETrinaryReturn< T1, T2, T3, Op >

Definition at line 270 of file TypeComputations.h.

Inheritance diagram for PETETrinaryReturn< T1, T2, T3, Op >:
Collaboration diagram for PETETrinaryReturn< T1, T2, T3, Op >:
Class Members
typedef type type

Variable Documentation

◆ PETE_BinaryPromoteTag

const int PETE_BinaryPromoteTag = -2

Definition at line 189 of file TypeComputations.h.

◆ PETE_BinaryUseLeftTag

const int PETE_BinaryUseLeftTag = -1

Definition at line 190 of file TypeComputations.h.

◆ PETE_BinaryUseRightTag

const int PETE_BinaryUseRightTag = 0

Definition at line 191 of file TypeComputations.h.

◆ PETE_UnaryPassThruTag

const int PETE_UnaryPassThruTag = 0

Definition at line 130 of file TypeComputations.h.