CoDiPack  3.1.0
A Code Differentiation Package
SciComp TU Kaiserslautern
Loading...
Searching...
No Matches
codi::PrimalValueBaseTape< T_TapeTypes, T_Impl >::StatementCallGenerator< StatementCall::Forward, Stmt > Struct Template Reference

Forward implementation. More...

#include <primalValueBaseTape.hpp>

Inheritance diagram for codi::PrimalValueBaseTape< T_TapeTypes, T_Impl >::StatementCallGenerator< StatementCall::Forward, Stmt >:

Public Types

using Base = StatementCallGeneratorBase<Stmt, StatementCallGenerator<StatementCall::Forward, Stmt>>
 Base class abbreviation.
 
template<size_t pos>
using ExtractExpr = typename Base::template ExtractExpr<pos>
 See StatementCallGeneratorBase.
 
using StaticRhs = typename Base::StaticRhs
 See StatementCallGeneratorBase.
 
- Public Types inherited from codi::PrimalValueBaseTape< T_TapeTypes, T_Impl >::StatementCallGeneratorBase< Stmt, StatementCallGenerator< StatementCall::Forward, Stmt > >
using AggregateTraits
 Traits for aggregated type.
 
using Constructor
 Static construction context.
 
using ExtractExpr
 Extract expressions for aggregated types.
 
using Lhs
 See AssignStatement.
 
using LhsReal
 Primal value of lhs.
 
using Rhs
 See AssignStatement.
 
using StaticRhs
 Static right hand side.
 

Public Member Functions

inlinestatic void evaluate (Impl &tape, Real *lhsPrimals, Gradient *lhsTangents, Real *primalVector, Gradient *adjointVector, size_t &linearAdjointPos, Config::ArgumentSize numberOfPassiveArguments, char *byteData)
 Evaluate the full expression.
 
template<typename Func>
inlinestatic void evaluateFull (Func const &evalInner, size_t const &maxOutputArgs, size_t const &maxActiveArgs, size_t const &maxConstantArgs, Impl &tape, Real *lhsPrimals, Gradient *lhsTangents, Real *primalVector, Gradient *adjointVector, size_t &linearAdjointPos, Config::ArgumentSize numberOfPassiveArguments, char *byteData)
 Load the expression data and evaluate the expression.
 
inlinestatic void evaluateInner (Real *primalVector, Gradient *adjointVector, Real *lhsPrimals, Gradient *lhsTangents, PassiveReal const *const constantValues, Identifier const *const rhsIdentifiers)
 Evaluate expression in a forward mode.
 
- Public Member Functions inherited from codi::PrimalValueBaseTape< T_TapeTypes, T_Impl >::StatementCallGeneratorBase< Stmt, StatementCallGenerator< StatementCall::Forward, Stmt > >
inlinestatic StaticRhs constructStaticRhs (Real *primalVector, PassiveReal const *const constantValues, Identifier const *const identifiers)
 Construct the statement in the static context.
 
inlinestatic StaticRhs constructStaticRhs (Real *primalVector, PassiveReal const *const constantValues, Identifier const *const identifiers)
 Construct the statement in the static context.
 
inlinestatic void internalEvaluate (Args &&... args)
 Evaluate the full expression.
 
inlinestatic void internalEvaluate (Args &&... args)
 Evaluate the full expression.
 

Detailed Description

template<typename T_TapeTypes, typename T_Impl>
template<typename Stmt>
struct codi::PrimalValueBaseTape< T_TapeTypes, T_Impl >::StatementCallGenerator< StatementCall::Forward, Stmt >

Forward implementation.

Member Function Documentation

◆ evaluate()

template<typename T_TapeTypes, typename T_Impl>
template<typename Stmt>
inlinestatic void codi::PrimalValueBaseTape< T_TapeTypes, T_Impl >::StatementCallGenerator< StatementCall::Forward, Stmt >::evaluate ( Impl & tape,
Real * lhsPrimals,
Gradient * lhsTangents,
Real * primalVector,
Gradient * adjointVector,
size_t & linearAdjointPos,
Config::ArgumentSize numberOfPassiveArguments,
char * byteData )
inline

Evaluate the full expression.

◆ evaluateFull()

template<typename T_TapeTypes, typename T_Impl>
template<typename Stmt>
template<typename Func>
inlinestatic void codi::PrimalValueBaseTape< T_TapeTypes, T_Impl >::StatementCallGenerator< StatementCall::Forward, Stmt >::evaluateFull ( Func const & evalInner,
size_t const & maxOutputArgs,
size_t const & maxActiveArgs,
size_t const & maxConstantArgs,
Impl & tape,
Real * lhsPrimals,
Gradient * lhsTangents,
Real * primalVector,
Gradient * adjointVector,
size_t & linearAdjointPos,
Config::ArgumentSize numberOfPassiveArguments,
char * byteData )
inline

Load the expression data and evaluate the expression.

◆ evaluateInner()

template<typename T_TapeTypes, typename T_Impl>
template<typename Stmt>
inlinestatic void codi::PrimalValueBaseTape< T_TapeTypes, T_Impl >::StatementCallGenerator< StatementCall::Forward, Stmt >::evaluateInner ( Real * primalVector,
Gradient * adjointVector,
Real * lhsPrimals,
Gradient * lhsTangents,
PassiveReal const *const constantValues,
Identifier const *const rhsIdentifiers )
inline

Evaluate expression in a forward mode.


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