Represents a concrete lvalue in the CoDiPack expression tree. More...
#include <activeTypeStatelessTape.hpp>

Public Types | |
| using | Base = LhsExpressionInterface<Real, Gradient, T_Tape, ActiveTypeStatelessTape<T_Tape>> |
| using | Gradient = typename Tape::Gradient |
| See LhsExpressionInterface. | |
| using | Identifier = typename Tape::Identifier |
| See LhsExpressionInterface. | |
| using | PassiveReal = RealTraits::PassiveReal<Real> |
| Basic computation type. | |
| using | Real = typename Tape::Real |
| See LhsExpressionInterface. | |
| using | Tape = T_Tape |
| See ActiveTypeStatelessTape. | |
Implementation of ExpressionInterface | |
| using | StoreAs = ActiveTypeStatelessTape const& |
| Defines how this expression is stored in an expression tree. | |
| using | ADLogic = Tape |
| AD logic that governs the expression. Needs to be the same for all inputs of the expression. | |
Public Types inherited from codi::LhsExpressionInterface< T_Tape::Real, T_Tape::Gradient, T_Tape, ActiveTypeStatelessTape< T_Tape > > | |
| using | Base |
| Base class abbreviation. | |
| using | Gradient |
| See LhsExpressionInterface. | |
| using | Identifier |
| See GradientAccessTapeInterface. | |
| using | Impl |
| See LhsExpressionInterface. | |
| using | PassiveReal |
| Basic computation type. | |
| using | Real |
| See LhsExpressionInterface. | |
| using | Tape |
| See LhsExpressionInterface. | |
Public Types inherited from codi::ExpressionInterface< T_Tape::Real, ActiveTypeStatelessTape< T_Tape > > | |
| using | ADLogic |
| AD logic that governs the expression. Needs to be the same for all inputs of the expression. | |
| using | Impl |
| See ExpressionInterface. | |
| using | Real |
| See ExpressionInterface. | |
| using | StoreAs |
| Defines how this expression is stored in an expression tree. | |
Public Types inherited from codi::NodeInterface< ActiveTypeStatelessTape< T_Tape > > | |
| using | Impl |
| See NodeInterface. | |
Public Types inherited from codi::ExpressionMemberOperations< T_Tape::Real, ActiveTypeStatelessTape< T_Tape > > | |
| using | Impl |
| See ExpressionMemberOperations. | |
| using | Real |
| See ExpressionMemberOperations. | |
Public Types inherited from codi::AssignmentOperators< T_Tape::Real, T_Tape::AllowJacobianOptimization, ActiveTypeStatelessTape< T_Tape > > | |
| using | Base |
| using | Impl |
| See AssignmentOperators. | |
| using | PassiveReal |
| Basic computation type. | |
| using | Real |
| See AssignmentOperators. | |
Public Types inherited from codi::AssignmentOperatorsPassiveJacobianOptimization< T_Tape::Real, T_JacobianOptimization, ActiveTypeStatelessTape< T_Tape > > | |
| using | Impl |
| See AssignmentOperators. | |
| using | PassiveReal |
| Basic computation type. | |
| using | Real |
| See AssignmentOperators. | |
Public Types inherited from codi::IncrementOperators< T_Tape, ActiveTypeStatelessTape< T_Tape > > | |
| using | Impl |
| See IncrementOperators. | |
| using | PassiveReal |
| Basic computation type. | |
| using | Real |
| See InternalStatementRecordingTapeInterface. | |
| using | Tape |
| See IncrementOperators. | |
Public Member Functions | |
| constexpr | ActiveTypeStatelessTape ()=default |
| Constructor. | |
| inlineActiveTypeStatelessTape (ActiveTypeStatelessTape const &v) | |
| Constructor. | |
| template<typename Rhs> | |
| inlineActiveTypeStatelessTape (ExpressionInterface< Real, Rhs > const &rhs) | |
| Constructor. | |
| constexpr | inlineActiveTypeStatelessTape (PassiveReal const &value) |
| Constructor. | |
Assignment operators (all forwarding to the base class) | |
| inlineActiveTypeStatelessTape & | operator= (ActiveTypeStatelessTape const &v) |
| See ActiveTypeStatelessTape::operator=(ActiveTypeStatelessTape const&). | |
| inlineImpl & | operator= (Real const &rhs) |
| Assignment operator for passive values. Calls store on the InternalStatementRecordingTapeInterface. | |
| inlineImpl & | operator= (PassiveReal const &rhs) |
| Assignment operator for passive values. Calls store on the InternalStatementRecordingTapeInterface. | |
| inlineImpl & | operator= (ExpressionInterface< Real, Rhs > const &rhs) |
| Assignment operator for expressions. Calls store on the InternalStatementRecordingTapeInterface. | |
| inlineImpl & | operator= (ExpressionInterface< typename U::Real, Rhs > const &rhs) |
| Assignment operator for expressions. Calls store on the InternalStatementRecordingTapeInterface. | |
| inlineImpl & | operator= (LhsExpressionInterface const &rhs) |
| Assignment operator for lhs expressions. Calls store on the InternalStatementRecordingTapeInterface. | |
| inlineImpl & | operator= (LhsExpressionInterface< Real, Gradient, Tape, Rhs > const &rhs) |
| Assignment operator for lhs expressions. Calls store on the InternalStatementRecordingTapeInterface. | |
Public Member Functions inherited from codi::LhsExpressionInterface< T_Tape::Real, T_Tape::Gradient, T_Tape, ActiveTypeStatelessTape< T_Tape > > | |
| inlineImpl const & | cast () const |
| Cast to the implementation. | |
| LhsExpressionInterface ()=default | |
| Constructor. | |
| LhsExpressionInterface (LhsExpressionInterface const &other)=default | |
| Constructor. | |
| inlineImpl & | cast () |
| Cast to the implementation. | |
| inlineImpl const & | cast () const |
| Cast to the implementation. | |
| inlineGradient & | gradient () |
| Get the gradient of this lvalue from the tape. | |
| inlineGradient const & | gradient () const |
| Get the gradient of this lvalue from the tape. | |
| inlineGradient | getGradient () const |
| Get the gradient of this lvalue from the tape. | |
| inlinevoid | setGradient (Gradient const &g) |
| Set the gradient of this lvalue in the tape. | |
| inlineReal const & | getValue () const |
| Get the primal value of this lvalue. | |
| inlinevoid | setValue (Real const &v) |
| Set the primal value of this lvalue. | |
| inlineImpl & | operator= (Real const &rhs) |
| Assignment operator for passive values. Calls store on the InternalStatementRecordingTapeInterface. | |
| inlineImpl & | operator= (PassiveReal const &rhs) |
| Assignment operator for passive values. Calls store on the InternalStatementRecordingTapeInterface. | |
| inlineImpl & | operator= (ExpressionInterface< Real, Rhs > const &rhs) |
| Assignment operator for expressions. Calls store on the InternalStatementRecordingTapeInterface. | |
| inlineImpl & | operator= (ExpressionInterface< typename U::Real, Rhs > const &rhs) |
| Assignment operator for expressions. Calls store on the InternalStatementRecordingTapeInterface. | |
| inlineImpl & | operator= (LhsExpressionInterface const &rhs) |
| Assignment operator for lhs expressions. Calls store on the InternalStatementRecordingTapeInterface. | |
| inlineImpl & | operator= (LhsExpressionInterface< Real, Gradient, Tape, Rhs > const &rhs) |
| Assignment operator for lhs expressions. Calls store on the InternalStatementRecordingTapeInterface. | |
| Real const & | value () const |
| Get a constant reference to the lvalue represented by the expression. | |
| Real & | value () |
| Get a reference to the lvalue represented by the expression. | |
| Identifier const & | getIdentifier () const |
| Identifier & | getIdentifier () |
Public Member Functions inherited from codi::ExpressionInterface< T_Tape::Real, ActiveTypeStatelessTape< T_Tape > > | |
| inlineImpl const & | cast () const |
| Cast to the implementation. | |
| ExpressionInterface ()=default | |
| Constructor. | |
| ExpressionInterface (ExpressionInterface const &)=default | |
| Constructor. | |
| inlineReal const | getValue () const |
| Compute the primal value that is usually evaluated by the statement/expression. | |
| inlineauto | applyTangent (Tangent const &tangent) const |
| inlineauto | applyAdjoint (Adjoint const &adjoint) const |
Public Member Functions inherited from codi::NodeInterface< ActiveTypeStatelessTape< T_Tape > > | |
| inlineImpl const & | cast () const |
| Cast to the implementation. | |
| char const & | getLink () const |
| an expression. | |
Public Member Functions inherited from codi::AssignmentOperators< T_Tape::Real, T_Tape::AllowJacobianOptimization, ActiveTypeStatelessTape< T_Tape > > | |
| inlineImpl & | operator*= (ExpressionInterface< Real, Rhs > const &rhs) |
| Operator *= for expressions. | |
| inlineImpl & | operator*= (PassiveReal const &rhs) |
| Operator *= for passive values. | |
| inlineImpl & | operator+= (ExpressionInterface< Real, Rhs > const &rhs) |
| Operator += for expressions. | |
| inlineImpl & | operator+= (PassiveReal const &rhs) |
| Operator += for passive values. | |
| inlineImpl & | operator+= (PassiveReal const &rhs) |
| Operator += for passive values. | |
| inlineImpl & | operator-= (ExpressionInterface< Real, Rhs > const &rhs) |
| Operator -= for expressions. | |
| inlineImpl & | operator-= (PassiveReal const &rhs) |
| Operator -= for passive values. | |
| inlineImpl & | operator-= (PassiveReal const &rhs) |
| Operator -= for passive values. | |
| inlineImpl & | operator/= (ExpressionInterface< Real, Rhs > const &rhs) |
| Operator /= for expressions. | |
| inlineImpl & | operator/= (PassiveReal const &rhs) |
| Operator /= for passive values. | |
Public Member Functions inherited from codi::AssignmentOperatorsPassiveJacobianOptimization< T_Tape::Real, T_JacobianOptimization, ActiveTypeStatelessTape< T_Tape > > | |
| inlineImpl & | operator+= (PassiveReal const &rhs) |
| Operator += for passive values. | |
| inlineImpl & | operator-= (PassiveReal const &rhs) |
| Operator -= for passive values. | |
Public Member Functions inherited from codi::IncrementOperators< T_Tape, ActiveTypeStatelessTape< T_Tape > > | |
| inlineImpl & | cast () |
| Cast to the implementation. | |
| inlineImpl & | operator++ () |
| Prefix operator++. | |
| inlineImpl | operator++ (int u) |
| Postfix operator++. | |
| inlineImpl & | operator-- () |
| Prefix operator--. | |
| inlineImpl | operator-- (int u) |
| Postfix operator--. | |
Implementation of LhsExpressionInterface | |
| inlineIdentifier & | getIdentifier () |
| inlineIdentifier const & | getIdentifier () const |
| inlineReal & | value () |
| Get a reference to the lvalue represented by the expression. | |
| inlineReal const & | value () const |
| Get a constant reference to the lvalue represented by the expression. | |
| static inlineTape | getTape () |
| Get a reference to the tape which manages this expression. | |
Additional Inherited Members | |
| static Tape & | getTape () |
| Get a reference to the tape which manages this expression. | |
| static size_t constexpr | LinkCount |
| handle the expression as a leaf node. | |
| static size_t constexpr | LinkCount |
| handle the expression as a leaf node. | |
Static Public Attributes inherited from codi::AssignmentOperators< T_Tape::Real, T_Tape::AllowJacobianOptimization, ActiveTypeStatelessTape< T_Tape > > | |
| static bool constexpr | JacobianOptimization |
| See AssignmentOperators. | |
Static Public Attributes inherited from codi::AssignmentOperatorsPassiveJacobianOptimization< T_Tape::Real, T_JacobianOptimization, ActiveTypeStatelessTape< T_Tape > > | |
| static bool constexpr | JacobianOptimization |
| See AssignmentOperators. | |
| inlinevoid | init (Real const &newValue, EventHints::Statement statementType) |
| inlinevoid | destroy () |
Protected Member Functions inherited from codi::ExpressionMemberOperations< T_Tape::Real, ActiveTypeStatelessTape< T_Tape > > | |
| inlineImpl const & | cast () const |
| Cast to implementation. | |
Represents a concrete lvalue in the CoDiPack expression tree.
See also LhsExpressionInterface.
This active type does not work with a fixed tape. Instead, getTape() constructs a new temporary tape on every call. In particular, tapes for this active type can not have a persistent state.
| T_Tape | The tape that manages all expressions created with this type. |
| using codi::ActiveTypeStatelessTape< T_Tape >::ADLogic = Tape |
AD logic that governs the expression. Needs to be the same for all inputs of the expression.
| using codi::ActiveTypeStatelessTape< T_Tape >::Base = LhsExpressionInterface<Real, Gradient, T_Tape, ActiveTypeStatelessTape<T_Tape>> |
Base class abbreviation.
| using codi::ActiveTypeStatelessTape< T_Tape >::StoreAs = ActiveTypeStatelessTape const& |
Defines how this expression is stored in an expression tree.
|
inlineconstexprdefault |
Constructor.
CUDA compiler has problems when this function is annotated with __device__.
|
inline |
Get a reference to the identifier of the tape for this expression. See also Direct data access (Identifier management)
|
inline |
Get a constant reference to the identifier of the tape for this expression. See also Direct data access (Identifier management)
|
inlinestatic |
Get a reference to the tape which manages this expression.
|
inline |
Get a reference to the lvalue represented by the expression.
|
inline |
Get a constant reference to the lvalue represented by the expression.