CoDiPack  2.2.0
A Code Differentiation Package
SciComp TU Kaiserslautern
Loading...
Searching...
No Matches
codi::JacobianBaseTape< T_TapeTypes, T_Impl >::PushJacobianLogic Struct Reference

Pushes Jacobians and indices to the tape. More...

#include <jacobianBaseTape.hpp>

Inheritance diagram for codi::JacobianBaseTape< T_TapeTypes, T_Impl >::PushJacobianLogic:

Public Member Functions

template<typename Node , typename Jacobian , typename DataVector >
void handleJacobianOnActive (Node const &node, Jacobian jacobianExpr, DataVector &dataVector)
 General implementation. Checks for invalid and passive values/Jacobians.
 
template<typename Type , typename Jacobian , typename DataVector >
void handleJacobianOnActive (ReferenceActiveType< Type > const &node, Jacobian jacobianExpr, DataVector &dataVector)
 Specialization for ReferenceActiveType nodes. Delays Jacobian push.
 
- Public Member Functions inherited from codi::JacobianComputationLogic< PushJacobianLogic >
void handleJacobianOnActive (Node const &node, Jacobian jacobian, Args &&... args)
 Called for leaf nodes which implement LhsExpressionInterface.
 
ExpressionTraits::EnableIfLhsExpression< Node > leaf (Node const &node, Jacobian jacobian, Args &&... args)
 Called for all leaf nodes in the expression.
 
void link (Child const &child, Root const &root, Jacobian const &jacobian, Args &&... args)
 
- Public Member Functions inherited from codi::TraversalLogic< T_Impl >
Implcast ()
 Cast to the implementation.
 
template<typename Node , typename... Args>
void eval (NodeInterface< Node > const &node, Args &&... args)
 Start the evaluation of the logic on the given expression.
 
template<typename Node , typename... Args>
void node (Node const &node, Args &&... args)
 Called for each node in the expression.
 
template<typename Node , typename... Args>
void leaf (Node const &node, Args &&... args)
 Called for all leaf nodes in the expression.
 
template<size_t ChildNumber, typename Child , typename Root , typename... Args>
void link (Child const &child, Root const &root, Args &&... args)
 Called for all links in the expression.
 

Additional Inherited Members

- Public Types inherited from codi::JacobianComputationLogic< PushJacobianLogic >
using Impl = PushJacobianLogic
 See JacobianComputationLogic.
 
- Public Types inherited from codi::TraversalLogic< T_Impl >
using Impl = T_Impl
 See TraversalLogic.
 
- Protected Member Functions inherited from codi::TraversalLogic< T_Impl >
template<typename Node , typename... Args>
void toLinks (Node const &node, Args &&... args)
 Helper method which calls forEachLink on the node.
 
template<typename Node , typename... Args>
void toNode (Node const &node, Args &&... args)
 Helper method to distinguish between leaf nodes and normal nodes.
 

Detailed Description

template<typename T_TapeTypes, typename T_Impl>
struct codi::JacobianBaseTape< T_TapeTypes, T_Impl >::PushJacobianLogic

Pushes Jacobians and indices to the tape.


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