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

Type definitions for the Jacobian tapes. More...

#include <jacobianBaseTape.hpp>

Inheritance diagram for codi::JacobianTapeTypes< T_Real, T_Gradient, T_IndexManager, T_Data, T_Adjoints >:

Public Types

template<typename Impl >
using Adjoints = T_Adjoints< Gradient, Identifier, Impl >
 See JacobianTapeTypes.
 
template<typename Chunk , typename Nested >
using Data = T_Data< Chunk, Nested >
 See JacobianTapeTypes.
 
using Gradient = T_Gradient
 See JacobianTapeTypes.
 
using Identifier = typename IndexManager::Index
 See IndexManagerInterface.
 
using IndexManager = T_IndexManager
 See JacobianTapeTypes.
 
using JacobianChunk = Chunk2< Real, Identifier >
 Jacobian chunks is <Jacobian, rhs index>.
 
using JacobianData = Data< JacobianChunk, StatementData >
 Jacobian data vector.
 
using NestedData = JacobianData
 See TapeTypesInterface.
 
using Real = T_Real
 See JacobianTapeTypes.
 
using StatementChunk = typename std::conditional< IsLinearIndexHandler, Chunk1< Config::ArgumentSize >, Chunk2< Identifier, Config::ArgumentSize > >::type
 
using StatementData = Data< StatementChunk, IndexManager >
 Statement data vector.
 
- 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 bool constexpr IsLinearIndexHandler = IndexManager::IsLinear
 True if the index manager is linear.
 
static bool constexpr 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, template< typename, typename > class T_Data, template< typename, typename, typename > class T_Adjoints = LocalAdjoints>
struct codi::JacobianTapeTypes< T_Real, T_Gradient, T_IndexManager, T_Data, T_Adjoints >

Type definitions for the Jacobian tapes.

Template Parameters
T_RealSee TapeTypesInterface.
T_GradientSee TapeTypesInterface.
T_IndexManagerIndex manager for the tape. Has to implement IndexManagerInterface.
T_DataSee TapeTypesInterface.
T_AdjointsInternal implementation of the adjoint variables.

Member Typedef Documentation

◆ StatementChunk

template<typename T_Real , typename T_Gradient , typename T_IndexManager , template< typename, typename > class T_Data, template< typename, typename, typename > class T_Adjoints = LocalAdjoints>
using codi::JacobianTapeTypes< T_Real, T_Gradient, T_IndexManager, T_Data, T_Adjoints >::StatementChunk = typename std::conditional<IsLinearIndexHandler, Chunk1<Config::ArgumentSize>, Chunk2<Identifier, Config::ArgumentSize> >::type

Statement chunk is either <argument size> (linear management) or <lhs identifier, argument size> (reuse management).

Member Data Documentation

◆ IsStaticIndexHandler

template<typename T_Real , typename T_Gradient , typename T_IndexManager , template< typename, typename > class T_Data, template< typename, typename, typename > class T_Adjoints = LocalAdjoints>
bool constexpr codi::JacobianTapeTypes< T_Real, T_Gradient, T_IndexManager, T_Data, T_Adjoints >::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: