MeDiPack  1.3.0
A Message Differentiation Package
SciComp TU Kaiserslautern
Loading...
Searching...
No Matches
medi::FunctionHelper< Type, ModifiedType, PrimalType, IndexType, AdjointType, Tool > Struct Template Reference

The provides all methods required for the creation of operators for AD types. More...

#include <indexTypeHelper.hpp>

Classes

struct  ModTypeInt
 
struct  TypeInt
 

Static Public Member Functions

static void modifiedAdd (ModifiedType *invec, ModifiedType *inoutvec, int *len, MPI_Datatype *datatype)
 
static void modifiedMax (ModifiedType *invec, ModifiedType *inoutvec, int *len, MPI_Datatype *datatype)
 
static void modifiedMaxLoc (ModTypeInt *invec, ModTypeInt *inoutvec, int *len, MPI_Datatype *datatype)
 
static void modifiedMin (ModifiedType *invec, ModifiedType *inoutvec, int *len, MPI_Datatype *datatype)
 
static void modifiedMinLoc (ModTypeInt *invec, ModTypeInt *inoutvec, int *len, MPI_Datatype *datatype)
 
static void modifiedMul (ModifiedType *invec, ModifiedType *inoutvec, int *len, MPI_Datatype *datatype)
 
static void postAdjMinMax (AdjointType *adjoints, PrimalType *primals, PrimalType *rootPrimals, int count, int vecSize)
 
static void unmodifiedAdd (Type *invec, Type *inoutvec, int *len, MPI_Datatype *datatype)
 
static void unmodifiedMax (Type *invec, Type *inoutvec, int *len, MPI_Datatype *datatype)
 
static void unmodifiedMaxLoc (TypeInt *invec, TypeInt *inoutvec, int *len, MPI_Datatype *datatype)
 
static void unmodifiedMin (Type *invec, Type *inoutvec, int *len, MPI_Datatype *datatype)
 
static void unmodifiedMinLoc (TypeInt *invec, TypeInt *inoutvec, int *len, MPI_Datatype *datatype)
 
static void unmodifiedMul (Type *invec, Type *inoutvec, int *len, MPI_Datatype *datatype)
 

Detailed Description

template<typename Type, typename ModifiedType, typename PrimalType, typename IndexType, typename AdjointType, typename Tool>
struct medi::FunctionHelper< Type, ModifiedType, PrimalType, IndexType, AdjointType, Tool >

The provides all methods required for the creation of operators for AD types.

Template Parameters
TypeThe floating point type of the AD tool
ModifiedTypeThe type that is send over the network.
PrimalTypeThe primal floating point type which is replaced by the AD type.
IndexTypeThe identifier used by the AD tool for the AD types.
ToolThe interface to the AD tool required by this class. The type needs to implement the ToolInterface class.

Member Function Documentation

◆ modifiedAdd()

template<typename Type , typename ModifiedType , typename PrimalType , typename IndexType , typename AdjointType , typename Tool >
static void medi::FunctionHelper< Type, ModifiedType, PrimalType, IndexType, AdjointType, Tool >::modifiedAdd ( ModifiedType * invec,
ModifiedType * inoutvec,
int * len,
MPI_Datatype * datatype )
inlinestatic

◆ modifiedMax()

template<typename Type , typename ModifiedType , typename PrimalType , typename IndexType , typename AdjointType , typename Tool >
static void medi::FunctionHelper< Type, ModifiedType, PrimalType, IndexType, AdjointType, Tool >::modifiedMax ( ModifiedType * invec,
ModifiedType * inoutvec,
int * len,
MPI_Datatype * datatype )
inlinestatic

◆ modifiedMaxLoc()

template<typename Type , typename ModifiedType , typename PrimalType , typename IndexType , typename AdjointType , typename Tool >
static void medi::FunctionHelper< Type, ModifiedType, PrimalType, IndexType, AdjointType, Tool >::modifiedMaxLoc ( ModTypeInt * invec,
ModTypeInt * inoutvec,
int * len,
MPI_Datatype * datatype )
inlinestatic

◆ modifiedMin()

template<typename Type , typename ModifiedType , typename PrimalType , typename IndexType , typename AdjointType , typename Tool >
static void medi::FunctionHelper< Type, ModifiedType, PrimalType, IndexType, AdjointType, Tool >::modifiedMin ( ModifiedType * invec,
ModifiedType * inoutvec,
int * len,
MPI_Datatype * datatype )
inlinestatic

◆ modifiedMinLoc()

template<typename Type , typename ModifiedType , typename PrimalType , typename IndexType , typename AdjointType , typename Tool >
static void medi::FunctionHelper< Type, ModifiedType, PrimalType, IndexType, AdjointType, Tool >::modifiedMinLoc ( ModTypeInt * invec,
ModTypeInt * inoutvec,
int * len,
MPI_Datatype * datatype )
inlinestatic

◆ modifiedMul()

template<typename Type , typename ModifiedType , typename PrimalType , typename IndexType , typename AdjointType , typename Tool >
static void medi::FunctionHelper< Type, ModifiedType, PrimalType, IndexType, AdjointType, Tool >::modifiedMul ( ModifiedType * invec,
ModifiedType * inoutvec,
int * len,
MPI_Datatype * datatype )
inlinestatic

◆ postAdjMinMax()

template<typename Type , typename ModifiedType , typename PrimalType , typename IndexType , typename AdjointType , typename Tool >
static void medi::FunctionHelper< Type, ModifiedType, PrimalType, IndexType, AdjointType, Tool >::postAdjMinMax ( AdjointType * adjoints,
PrimalType * primals,
PrimalType * rootPrimals,
int count,
int vecSize )
inlinestatic

◆ unmodifiedAdd()

template<typename Type , typename ModifiedType , typename PrimalType , typename IndexType , typename AdjointType , typename Tool >
static void medi::FunctionHelper< Type, ModifiedType, PrimalType, IndexType, AdjointType, Tool >::unmodifiedAdd ( Type * invec,
Type * inoutvec,
int * len,
MPI_Datatype * datatype )
inlinestatic

◆ unmodifiedMax()

template<typename Type , typename ModifiedType , typename PrimalType , typename IndexType , typename AdjointType , typename Tool >
static void medi::FunctionHelper< Type, ModifiedType, PrimalType, IndexType, AdjointType, Tool >::unmodifiedMax ( Type * invec,
Type * inoutvec,
int * len,
MPI_Datatype * datatype )
inlinestatic

◆ unmodifiedMaxLoc()

template<typename Type , typename ModifiedType , typename PrimalType , typename IndexType , typename AdjointType , typename Tool >
static void medi::FunctionHelper< Type, ModifiedType, PrimalType, IndexType, AdjointType, Tool >::unmodifiedMaxLoc ( TypeInt * invec,
TypeInt * inoutvec,
int * len,
MPI_Datatype * datatype )
inlinestatic

◆ unmodifiedMin()

template<typename Type , typename ModifiedType , typename PrimalType , typename IndexType , typename AdjointType , typename Tool >
static void medi::FunctionHelper< Type, ModifiedType, PrimalType, IndexType, AdjointType, Tool >::unmodifiedMin ( Type * invec,
Type * inoutvec,
int * len,
MPI_Datatype * datatype )
inlinestatic

◆ unmodifiedMinLoc()

template<typename Type , typename ModifiedType , typename PrimalType , typename IndexType , typename AdjointType , typename Tool >
static void medi::FunctionHelper< Type, ModifiedType, PrimalType, IndexType, AdjointType, Tool >::unmodifiedMinLoc ( TypeInt * invec,
TypeInt * inoutvec,
int * len,
MPI_Datatype * datatype )
inlinestatic

◆ unmodifiedMul()

template<typename Type , typename ModifiedType , typename PrimalType , typename IndexType , typename AdjointType , typename Tool >
static void medi::FunctionHelper< Type, ModifiedType, PrimalType, IndexType, AdjointType, Tool >::unmodifiedMul ( Type * invec,
Type * inoutvec,
int * len,
MPI_Datatype * datatype )
inlinestatic

The documentation for this struct was generated from the following file: