CoDiPack  3.0.0
A Code Differentiation Package
SciComp TU Kaiserslautern
Loading...
Searching...
No Matches
codi::PrimalValueTapeTypes< T_Real, T_Gradient, T_IndexManager, T_StatementEvaluator, T_Data > Struct Template Reference

Type definitions for the primal value tapes. More...

#include <primalValueBaseTape.hpp>

Inheritance diagram for codi::PrimalValueTapeTypes< T_Real, T_Gradient, T_IndexManager, T_StatementEvaluator, T_Data >:

Public Types

template<typename Chunk, typename Nested>
using Data
 See PrimalValueTapeTypes.
 
using EvalHandle = typename StatementEvaluator::Handle
 Handle type returned by the statement generator.
 
using Gradient = T_Gradient
 See PrimalValueTapeTypes.
 
using Identifier = typename IndexManager::Index
 See IndexManagerInterface.
 
using IndexManager = T_IndexManager
 See PrimalValueTapeTypes.
 
using NestedData = StatementByteData
 See TapeTypesInterface.
 
using PassiveReal = RealTraits::PassiveReal<Real>
 Basic computation type.
 
using Real = T_Real
 See PrimalValueTapeTypes.
 
using StatementByteChunk = Chunk1<char>
 Binary data for the statements.
 
using StatementByteData = Data<StatementByteChunk, StatementData>
 Statement byte data vector.
 
using StatementChunk = Chunk3<Config::ArgumentSize, EvalHandle, Config::LowLevelFunctionDataSize>
 Statement chunk contains <argument size, eval handle, data size of statement in bytes>.
 
using StatementData = Data<StatementChunk, IndexManager>
 Statement data vector.
 
using StatementEvaluator
 See PrimalValueTapeTypes.
 
- Public Types inherited from codi::TapeTypesInterface
template<typename Chunk, typename Nested>
using Data = DataInterface<Nested>
 
using Gradient = int
 Gradient computation type, e.g. double or Direction.
 
using Identifier = int
 Identifier for the internal management, e.g. int.
 
using NestedData = DataInterface<>
 
using Real = int
 Primal computation type, e.g. double.
 

Static Public Attributes

static constexpr bool IsLinearIndexHandler = IndexManager::IsLinear
 True if the index manager is linear.
 
static constexpr bool IsStaticIndexHandler
 True if the index manager must be stored statically in the tape.
 

Detailed Description

template<typename T_Real, typename T_Gradient, typename T_IndexManager, typename T_StatementEvaluator, template< typename, typename > class T_Data>
struct codi::PrimalValueTapeTypes< T_Real, T_Gradient, T_IndexManager, T_StatementEvaluator, T_Data >

Type definitions for the primal value tapes.

Template Parameters
T_RealSee TapeTypesInterface.
T_GradientSee TapeTypesInterface.
T_IndexManagerIndex manager for the tape. Needs to implement IndexManagerInterface.
T_StatementEvaluatorStatement handle generator. Needs to implement StatementEvaluatorInterface and StatementEvaluatorInnerTapeInterface.
T_DataSee TapeTypesInterface.

Member Typedef Documentation

◆ Data

template<typename T_Real, typename T_Gradient, typename T_IndexManager, typename T_StatementEvaluator, template< typename, typename > class T_Data>
template<typename Chunk, typename Nested>
using codi::PrimalValueTapeTypes< T_Real, T_Gradient, T_IndexManager, T_StatementEvaluator, T_Data >::Data
Initial value:
T_Data<Chunk, Nested>

See PrimalValueTapeTypes.

◆ StatementEvaluator

template<typename T_Real, typename T_Gradient, typename T_IndexManager, typename T_StatementEvaluator, template< typename, typename > class T_Data>
using codi::PrimalValueTapeTypes< T_Real, T_Gradient, T_IndexManager, T_StatementEvaluator, T_Data >::StatementEvaluator
Initial value:
T_StatementEvaluator

See PrimalValueTapeTypes.

Member Data Documentation

◆ IsStaticIndexHandler

template<typename T_Real, typename T_Gradient, typename T_IndexManager, typename T_StatementEvaluator, template< typename, typename > class T_Data>
bool codi::PrimalValueTapeTypes< T_Real, T_Gradient, T_IndexManager, T_StatementEvaluator, T_Data >::IsStaticIndexHandler
staticconstexpr
Initial value:
=
IndexManager::NeedsStaticStorage

True if the index manager must be stored statically in the tape.


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