41#include "../../expressions/activeType.hpp"
43#include "statementEvaluatorInterface.hpp"
67 template<
typename Generator,
typename Expr>
76 template<
typename Generator,
typename Expr>
92 template<
typename T_Real>
105 template<
typename Tape,
typename... Args>
111 template<
typename Tape,
typename... Args>
117 template<
typename Tape,
typename... Args>
123 template<
typename Tape,
typename Generator,
typename Expr>
133 template<
typename Tape>
134 using FunctionForward =
decltype(&Tape::template statementEvaluateForward<ActiveType<Tape>>);
137 template<
typename Tape>
138 using FunctionPrimal =
decltype(&Tape::template statementEvaluatePrimal<ActiveType<Tape>>);
141 template<
typename Tape>
142 using FunctionReverse =
decltype(&Tape::template statementEvaluateReverse<ActiveType<Tape>>);
#define CODI_DD(Type, Default)
Abbreviation for CODI_DECLARE_DEFAULT.
Definition macros.hpp:94
CoDiPack - Code Differentiation Package.
Definition codi.hpp:90
Definition directStatementEvaluator.hpp:68
static PrimalTapeStatementFunctions const staticStore
Definition directStatementEvaluator.hpp:73
Full evaluation of the expression in the function handle. Storing in static context.
Definition directStatementEvaluator.hpp:93
T_Real Real
See DirectStatementEvaluator.
Definition directStatementEvaluator.hpp:96
decltype(&Tape::template statementEvaluateReverse< ActiveType< Tape > >) FunctionReverse
Full reverse function type.
Definition directStatementEvaluator.hpp:142
static Real callForward(Handle const &h, Args &&... args)
Definition directStatementEvaluator.hpp:106
static Real callPrimal(Handle const &h, Args &&... args)
Definition directStatementEvaluator.hpp:112
decltype(&Tape::template statementEvaluatePrimal< ActiveType< Tape > >) FunctionPrimal
Full primal function type.
Definition directStatementEvaluator.hpp:138
static Handle createHandle()
Definition directStatementEvaluator.hpp:124
PrimalTapeStatementFunctions const * Handle
Pointer to static storage location.
Definition directStatementEvaluator.hpp:102
static void callReverse(Handle const &h, Args &&... args)
Definition directStatementEvaluator.hpp:118
decltype(&Tape::template statementEvaluateForward< ActiveType< Tape > >) FunctionForward
Full forward function type.
Definition directStatementEvaluator.hpp:134
Data required for all possible handle calls.
Definition directStatementEvaluator.hpp:51
Handle forward
Forward function handle.
Definition directStatementEvaluator.hpp:56
PrimalTapeStatementFunctions(Handle forward, Handle primal, Handle reverse)
Constructor.
Definition directStatementEvaluator.hpp:61
void * Handle
Function pointer.
Definition directStatementEvaluator.hpp:54
Handle primal
Primal function handle.
Definition directStatementEvaluator.hpp:57
Handle reverse
Reverse function handle.
Definition directStatementEvaluator.hpp:58
Creation of handles for the evaluation of expressions in a context where the expression type is not a...
Definition statementEvaluatorInterface.hpp:103