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

Full evaluation of the expression in the function handle. Storing in static context. More...

#include <directStatementEvaluator.hpp>

Inheritance diagram for codi::DirectStatementEvaluator< T_Real >:

Public Types

using Real = T_Real
 See DirectStatementEvaluator.
 
- 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 statementEvaluateForward< ActiveType< Tape > >)
 Full forward function type.
 
template<typename Tape >
using FunctionPrimal = decltype(&Tape::template statementEvaluatePrimal< ActiveType< Tape > >)
 Full primal function type.
 
template<typename Tape >
using FunctionReverse = decltype(&Tape::template statementEvaluateReverse< ActiveType< Tape > >)
 Full reverse function type.
 

StatementEvaluatorInterface implementation

using Handle = PrimalTapeStatementFunctions 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::DirectStatementEvaluator< T_Real >

Full evaluation of the expression in the function handle. Storing in static context.

Data loading and evaluation of the expression are all done in the handle. This evaluator will directly evaluate the full handle for the expression.

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::DirectStatementEvaluator< 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::DirectStatementEvaluator< 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::DirectStatementEvaluator< 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::DirectStatementEvaluator< 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: