CoDiPack  2.2.0
A Code Differentiation Package
SciComp TU Kaiserslautern
Loading...
Searching...
No Matches
codi::InnerStatementEvaluator< T_Real > Struct Template Reference

Expression evaluation in the inner function. Data loading in the compilation context of the tape. Storing in static context. More...

#include <innerStatementEvaluator.hpp>

Inheritance diagram for codi::InnerStatementEvaluator< T_Real >:

Public Types

using Real = T_Real
 See InnerStatementEvaluator.
 
- Public Types inherited from codi::StatementEvaluatorInterface< T_Real >
using Real = T_Real
 See StatementEvaluatorInterface.
 
using Handle = int
 Type of the handle.
 

Protected Types

template<typename Tape >
using FunctionForward = decltype(&Tape::template statementEvaluateForwardInner<ActiveType<Tape>>)
 Full forward function type.
 
template<typename Tape >
using FunctionPrimal = decltype(&Tape::template statementEvaluatePrimalInner<ActiveType<Tape>>)
 Full primal function type.
 
template<typename Tape >
using FunctionReverse = decltype(&Tape::template statementEvaluateReverseInner<ActiveType<Tape>>)
 Full reverse function type.
 

StatementEvaluatorInterface implementation

using Handle = InnerPrimalTapeStatementData const*
 Pointer to static storage location.
 
template<typename Tape , typename... Args>
static Real callForward (Handle const &h, Args &&... args)
 
template<typename Tape , typename... Args>
static Real callPrimal (Handle const &h, Args &&... args)
 
template<typename Tape , typename... Args>
static void callReverse (Handle const &h, Args &&... args)
 
template<typename Tape , typename Generator , typename Expr >
static Handle createHandle ()
 

Additional Inherited Members

- Static Public Member Functions inherited from codi::StatementEvaluatorInterface< T_Real >
template<typename Tape , typename... Args>
static Real callForward (Handle const &h, Args &&... args)
 
template<typename Tape , typename... Args>
static Real callPrimal (Handle const &h, Args &&... args)
 
template<typename Tape , typename... Args>
static void callReverse (Handle const &h, Args &&... args)
 
template<typename Tape , typename Generator , typename Expr >
static Handle createHandle ()
 

Detailed Description

template<typename T_Real>
struct codi::InnerStatementEvaluator< T_Real >

Expression evaluation in the inner function. Data loading in the compilation context of the tape. Storing in static context.

Data loading is performed in the compilation context of the tape. The tape will then call the handle for the evaluation of the expression after the data is loaded. This evaluator stores expression specific data and the inner function handles.

See StatementEvaluatorInterface for details.

Template Parameters
T_RealThe computation type of a tape, usually chosen as ActiveType::Real.

Member Function Documentation

◆ callForward()

template<typename T_Real >
template<typename Tape , typename... Args>
static Real codi::InnerStatementEvaluator< T_Real >::callForward ( Handle const & h,
Args &&... args )
inlinestatic

Template Parameters
TapeHas to implement StatementEvaluatorTapeInterface or StatementEvaluatorInnerTapeInterface, depending on the interface the implementation uses.

◆ callPrimal()

template<typename T_Real >
template<typename Tape , typename... Args>
static Real codi::InnerStatementEvaluator< T_Real >::callPrimal ( Handle const & h,
Args &&... args )
inlinestatic

Template Parameters
TapeHas to implement StatementEvaluatorTapeInterface or StatementEvaluatorInnerTapeInterface, depending on the interface the implementation uses.

◆ callReverse()

template<typename T_Real >
template<typename Tape , typename... Args>
static void codi::InnerStatementEvaluator< T_Real >::callReverse ( Handle const & h,
Args &&... args )
inlinestatic

Template Parameters
TapeHas to implement StatementEvaluatorTapeInterface or StatementEvaluatorInnerTapeInterface, depending on the interface the implementation uses.

◆ createHandle()

template<typename T_Real >
template<typename Tape , typename Generator , typename Expr >
static Handle codi::InnerStatementEvaluator< T_Real >::createHandle ( )
inlinestatic

Template Parameters
TapeUsually not required. Access tape specific configurations.
GeneratorHas to implement the StatementEvaluatorTapeInterface or StatementEvaluatorInnerTapeInterface. Usually the same as Tape.
ExprInstance of ExpressionInterface.

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