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

Only stores the function handle for the reverse evaluation. More...

#include <reverseStatementEvaluator.hpp>

Inheritance diagram for codi::ReverseStatementEvaluator< T_Real >:

Public Types

using Real = T_Real
 See ReverseStatementEvaluator.
 
- 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 HandleTyped = decltype(&Tape::template statementEvaluateReverse<ActiveType<Tape>>)
 Full reverse function type.
 

StatementEvaluatorInterface implementation

using Handle = void*
 Function pointer to the reverse evaluation.
 
template<typename Tape , typename... Args>
static Real callForward (Handle const &h, Args &&... args)
 Throws CODI_EXCEPTION on call.
 
template<typename Tape , typename... Args>
static Real callPrimal (Handle const &h, Args &&... args)
 Throws CODI_EXCEPTION on call.
 
template<typename Tape , typename... Args>
static void callReverse (Handle const &h, Args &&... args)
 
template<typename Tape , typename... Args>
static WriteInfo getWriteInformation (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... Args>
static WriteInfo getWriteInformation (Handle const &h, Args &&... args)
 
template<typename Tape , typename Generator , typename Expr >
static Handle createHandle ()
 

Detailed Description

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

Only stores the function handle for the reverse evaluation.

Uses the StatementEvaluatorTapeInterface.

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

Member Function Documentation

◆ callReverse()

template<typename T_Real >
template<typename Tape , typename... Args>
static void codi::ReverseStatementEvaluator< 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::ReverseStatementEvaluator< 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.

◆ getWriteInformation()

template<typename T_Real >
template<typename Tape , typename... Args>
static WriteInfo codi::ReverseStatementEvaluator< T_Real >::getWriteInformation ( Handle const & h,
Args &&... args )
inlinestatic

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

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