CoDiPack  2.2.0
A Code Differentiation Package
SciComp TU Kaiserslautern
Loading...
Searching...
No Matches
codi::ConstructStaticContextLogic< T_Rhs, T_Tape, T_primalValueOffset, T_constantValueOffset, typename > Struct Template Reference

Helper class for the construction of an expression in a different context. More...

#include <constructStaticContext.hpp>

Public Types

using Identifier = typename Tape::Identifier
 See TapeTypesInterface.
 
using PassiveReal = typename Tape::PassiveReal
 Basic computation type.
 
using Real = typename Tape::Real
 See TapeTypesInterface.
 
using ResultType = T_Rhs
 The resulting expression type after all nodes are replaced.
 
using Rhs = T_Rhs
 See ConstructStaticContextLogic.
 
using Tape
 See ConstructStaticContextLogic.
 

Static Public Member Functions

static ResultType construct (Real *primalVector, Identifier const *const identifiers, PassiveReal const *const constantData)
 Perform the construction.
 

Static Public Attributes

static constexpr size_t constantValueOffset
 See ConstructStaticContextLogic.
 
static constexpr size_t primalValueOffset
 See ConstructStaticContextLogic.
 

Detailed Description

template<typename T_Rhs, typename T_Tape, size_t T_primalValueOffset, size_t T_constantValueOffset, typename = void>
struct codi::ConstructStaticContextLogic< T_Rhs, T_Tape, T_primalValueOffset, T_constantValueOffset, typename >

Helper class for the construction of an expression in a different context.

Converts the leaf nodes of the expression into the static context replacements. The initialization is performed via three arrays.

Conversion and initialization is done for:

The offsets are computed from the corresponding expression traits NumberOfActiveTypeArguments and NumberOfConstantTypeArguments. They are evaluated on each sub graph.

Template Parameters
T_RhsThe expression type. Needs to implement ExpressionInterface.
T_TapeThe tape which stored the expression.

Member Typedef Documentation

◆ Tape

template<typename T_Rhs , typename T_Tape , size_t T_primalValueOffset, size_t T_constantValueOffset, typename = void>
using codi::ConstructStaticContextLogic< T_Rhs, T_Tape, T_primalValueOffset, T_constantValueOffset, typename >::Tape
Initial value:
T_Tape

See ConstructStaticContextLogic.

Member Function Documentation

◆ construct()

template<typename T_Rhs , typename T_Tape , size_t T_primalValueOffset, size_t T_constantValueOffset, typename = void>
static ResultType codi::ConstructStaticContextLogic< T_Rhs, T_Tape, T_primalValueOffset, T_constantValueOffset, typename >::construct ( Real * primalVector,
Identifier const *const identifiers,
PassiveReal const *const constantData )
static

Perform the construction.

See ConstructStaticContextLogic on how the arguments are used and which conversion are performed.

Member Data Documentation

◆ constantValueOffset

template<typename T_Rhs , typename T_Tape , size_t T_primalValueOffset, size_t T_constantValueOffset, typename = void>
constexpr size_t codi::ConstructStaticContextLogic< T_Rhs, T_Tape, T_primalValueOffset, T_constantValueOffset, typename >::constantValueOffset
staticconstexpr
Initial value:
=
T_constantValueOffset

See ConstructStaticContextLogic.

◆ primalValueOffset

template<typename T_Rhs , typename T_Tape , size_t T_primalValueOffset, size_t T_constantValueOffset, typename = void>
constexpr size_t codi::ConstructStaticContextLogic< T_Rhs, T_Tape, T_primalValueOffset, T_constantValueOffset, typename >::primalValueOffset
staticconstexpr
Initial value:
=
T_primalValueOffset

See ConstructStaticContextLogic.


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