CoDiPack  3.0.0
A Code Differentiation Package
SciComp TU Kaiserslautern
Loading...
Searching...
No Matches
codi::DirectStatementEvaluator Struct Reference

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

#include <directStatementEvaluator.hpp>

Inheritance diagram for codi::DirectStatementEvaluator:

StatementEvaluatorInterface implementation

using Handle = PrimalTapeStatementFunctions const*
 Pointer to static storage location.
 
template<StatementCall type, typename Tape, typename... Args>
static void call (Handle const &h, Args &&... args)
 
template<typename Tape, typename Generator, typename Stmt>
static Handle createHandle ()
 

Additional Inherited Members

using Handle = int
 Type of the handle.
 
template<StatementCall type, typename Tape, typename... Args>
static void call (Handle const &h, Args &&... args)
 
template<typename Tape, typename Generator, typename Expr>
static Handle createHandle ()
 

Detailed Description

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.

Member Function Documentation

◆ call()

template<StatementCall type, typename Tape, typename... Args>
static void codi::DirectStatementEvaluator::call ( Handle const & h,
Args &&... args )
inlinestatic

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

◆ createHandle()

template<typename Tape, typename Generator, typename Stmt>
static Handle codi::DirectStatementEvaluator::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: