Represents a concrete lvalue in the CoDiPack expression tree. More...
#include <parallelActiveType.hpp>
Public Types | |
using | ActiveResult |
Type into which the expression can be converted. Usually also the type from which it is constructed. | |
using | Base = ActiveTypeBase<Tape, ParallelActiveType> |
Base class abbreviation. | |
using | Base |
Base class abbreviation. | |
using | Gradient |
See LhsExpressionInterface. | |
using | Identifier |
See LhsExpressionInterface. | |
using | ParallelToolbox = T_ParallelToolbox |
See ParallelActiveType. | |
using | PassiveReal |
Basic computation type. | |
using | Real |
See LhsExpressionInterface. | |
using | StoreAs |
Defines how this expression is stored in an expression tree. | |
using | Tape = T_Tape |
See ParallelActiveType. | |
using | ThreadLocalTapePointer |
< See ActiveTypeBase. | |
Public Types inherited from codi::ActiveTypeBase< T_Tape, ParallelActiveType< T_Tape, T_ParallelToolbox > > | |
using | Base |
Base class abbreviation. | |
using | Gradient |
See LhsExpressionInterface. | |
using | Identifier |
See LhsExpressionInterface. | |
using | Impl |
Abbreviation for the implementing class. | |
using | PassiveReal |
Basic computation type. | |
using | Real |
See LhsExpressionInterface. | |
using | Tape |
using | StoreAs |
Defines how this expression is stored in an expression tree. | |
using | ActiveResult |
Type into which the expression can be converted. Usually also the type from which it is constructed. | |
Public Types inherited from codi::LhsExpressionInterface< T_Real, T_Gradient, T_Tape, T_Impl > | |
using | Base = ExpressionInterface<T_Real, T_Impl> |
Base class abbreviation. | |
using | Gradient = T_Gradient |
See LhsExpressionInterface. | |
using | Identifier = typename Tape::Identifier |
See GradientAccessTapeInterface. | |
using | Impl = T_Impl |
See LhsExpressionInterface. | |
using | PassiveReal = RealTraits::PassiveReal<Real> |
Basic computation type. | |
using | Real = T_Real |
See LhsExpressionInterface. | |
using | Tape = T_Tape |
See LhsExpressionInterface. | |
Public Types inherited from codi::ExpressionInterface< T_Real, T_Impl > | |
using | ActiveResult = void |
Type into which the expression can be converted. Usually also the type from which it is constructed. | |
using | Impl = T_Impl |
See ExpressionInterface. | |
using | Real = T_Real |
See ExpressionInterface. | |
using | StoreAs = ExpressionInterface |
Defines how this expression is stored in an expression tree. | |
Public Types inherited from codi::NodeInterface< T_Impl > | |
using | Impl = T_Impl |
See NodeInterface. | |
Public Types inherited from codi::AssignmentOperators< T_Tape, T_Impl > | |
using | Impl |
See AssignmentOperators. | |
using | PassiveReal = RealTraits::PassiveReal<Real> |
Basic computation type. | |
using | Real = typename Tape::Real |
See InternalStatementRecordingTapeInterface. | |
using | Tape = T_Tape |
See AssignmentOperators. | |
Public Types inherited from codi::IncrementOperators< T_Tape, T_Impl > | |
using | Impl |
See IncrementOperators. | |
using | PassiveReal = RealTraits::PassiveReal<Real> |
Basic computation type. | |
using | Real = typename Tape::Real |
See InternalStatementRecordingTapeInterface. | |
using | Tape = T_Tape |
See IncrementOperators. | |
Public Member Functions | |
ParallelActiveType (ParallelActiveType const &v) | |
Constructor. | |
~ParallelActiveType () | |
Destructor. | |
Assignment operators (all forwarding to the base class) | |
ParallelActiveType & | operator= (ParallelActiveType const &v) |
See ActiveTypeBase::operator=(ActiveTypeBase const&). | |
Impl & | operator= (ActiveTypeBase const &v) |
See LhsExpressionInterface::operator=(LhsExpressionInterface const&). | |
Impl & | operator= (Real const &rhs) |
Assignment operator for passive values. Calls store on the InternalStatementRecordingTapeInterface. | |
template<typename U = Real, typename = RealTraits::EnableIfNotPassiveReal<U>> | |
Impl & | operator= (PassiveReal const &rhs) |
Assignment operator for passive values. Calls store on the InternalStatementRecordingTapeInterface. | |
template<typename Rhs > | |
Impl & | operator= (ExpressionInterface< Real, Rhs > const &rhs) |
Assignment operator for expressions. Calls store on the InternalStatementRecordingTapeInterface. | |
template<typename Rhs , typename U = Real, typename = RealTraits::EnableIfNotPassiveReal<U>> | |
Impl & | operator= (ExpressionInterface< typename U::Real, Rhs > const &rhs) |
Assignment operator for expressions. Calls store on the InternalStatementRecordingTapeInterface. | |
Impl & | operator= (LhsExpressionInterface const &rhs) |
Assignment operator for lhs expressions. Calls store on the InternalStatementRecordingTapeInterface. | |
template<typename Rhs > | |
Impl & | operator= (LhsExpressionInterface< Real, Gradient, Tape, Rhs > const &rhs) |
Assignment operator for lhs expressions. Calls store on the InternalStatementRecordingTapeInterface. | |
Public Member Functions inherited from codi::ActiveTypeBase< T_Tape, ParallelActiveType< T_Tape, T_ParallelToolbox > > | |
ActiveTypeBase () | |
Constructor. | |
ActiveTypeBase (ActiveTypeBase const &v) | |
Constructor. | |
ActiveTypeBase (ExpressionInterface< Real, Rhs > const &rhs) | |
Constructor. | |
ActiveTypeBase (ExpressionInterface< typename U::Real, Rhs > const &rhs) | |
Constructor. | |
ActiveTypeBase (PassiveReal const &value) | |
Constructor. | |
ActiveTypeBase (Real const &value) | |
Constructor. | |
Impl & | cast () |
Cast to the implementation. | |
Impl & | operator= (ActiveTypeBase const &v) |
See LhsExpressionInterface::operator=(LhsExpressionInterface const&). | |
Impl & | operator= (ExpressionInterface< Real, Rhs > const &rhs) |
Assignment operator for expressions. Calls store on the InternalStatementRecordingTapeInterface. | |
Impl & | operator= (ExpressionInterface< typename U::Real, Rhs > const &rhs) |
Assignment operator for expressions. Calls store on the InternalStatementRecordingTapeInterface. | |
Impl & | operator= (LhsExpressionInterface const &rhs) |
Assignment operator for lhs expressions. Calls store on the InternalStatementRecordingTapeInterface. | |
Impl & | operator= (LhsExpressionInterface< Real, Gradient, Tape, Rhs > const &rhs) |
Assignment operator for lhs expressions. Calls store on the InternalStatementRecordingTapeInterface. | |
Impl & | operator= (PassiveReal const &rhs) |
Assignment operator for passive values. Calls store on the InternalStatementRecordingTapeInterface. | |
Impl & | operator= (Real const &rhs) |
Assignment operator for passive values. Calls store on the InternalStatementRecordingTapeInterface. | |
~ActiveTypeBase () | |
Destructor. | |
Identifier & | getIdentifier () |
Identifier const & | getIdentifier () const |
Real & | value () |
Get a reference to the lvalue represented by the expression. | |
Real const & | value () const |
Get a constant reference to the lvalue represented by the expression. | |
Public Member Functions inherited from codi::LhsExpressionInterface< T_Real, T_Gradient, T_Tape, T_Impl > | |
LhsExpressionInterface ()=default | |
Constructor. | |
LhsExpressionInterface (LhsExpressionInterface const &other)=default | |
Constructor. | |
Impl & | cast () |
Cast to the implementation. | |
Gradient & | gradient () |
Get the gradient of this lvalue from the tape. | |
Gradient const & | gradient () const |
Get the gradient of this lvalue from the tape. | |
Gradient | getGradient () const |
Get the gradient of this lvalue from the tape. | |
void | setGradient (Gradient const &g) |
Set the gradient of this lvalue in the tape. | |
Real const & | getValue () const |
Get the primal value of this lvalue. | |
void | setValue (Real const &v) |
Set the primal value of this lvalue. | |
Impl & | operator= (Real const &rhs) |
Assignment operator for passive values. Calls store on the InternalStatementRecordingTapeInterface. | |
template<typename U = Real, typename = RealTraits::EnableIfNotPassiveReal<U>> | |
Impl & | operator= (PassiveReal const &rhs) |
Assignment operator for passive values. Calls store on the InternalStatementRecordingTapeInterface. | |
template<typename Rhs > | |
Impl & | operator= (ExpressionInterface< Real, Rhs > const &rhs) |
Assignment operator for expressions. Calls store on the InternalStatementRecordingTapeInterface. | |
template<typename Rhs , typename U = Real, typename = RealTraits::EnableIfNotPassiveReal<U>> | |
Impl & | operator= (ExpressionInterface< typename U::Real, Rhs > const &rhs) |
Assignment operator for expressions. Calls store on the InternalStatementRecordingTapeInterface. | |
Impl & | operator= (LhsExpressionInterface const &rhs) |
Assignment operator for lhs expressions. Calls store on the InternalStatementRecordingTapeInterface. | |
template<typename Rhs > | |
Impl & | operator= (LhsExpressionInterface< Real, Gradient, Tape, Rhs > const &rhs) |
Assignment operator for lhs expressions. Calls store on the InternalStatementRecordingTapeInterface. | |
Impl const & | cast () const |
Cast to the implementation. | |
template<typename Logic , typename... Args> | |
void | forEachLink (TraversalLogic< Logic > &logic, Args &&... args) const |
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_Real, T_Impl > | |
Impl const & | cast () const |
Cast to the implementation. | |
ExpressionInterface ()=default | |
Constructor. | |
ExpressionInterface (ExpressionInterface const &)=default | |
Constructor. | |
Real const | getValue () const |
Compute the primal value that is usually evaluated by the statement/expression. | |
template<size_t argNumber> | |
Real | getJacobian () const |
Public Member Functions inherited from codi::NodeInterface< T_Impl > | |
Impl const & | cast () const |
Cast to the implementation. | |
template<typename Logic , typename... Args> | |
void | forEachLink (TraversalLogic< Logic > &logic, Args &&... args) const |
Public Member Functions inherited from codi::AssignmentOperators< T_Tape, T_Impl > | |
Impl & | cast () |
Cast to the implementation. | |
template<typename Rhs > | |
Impl & | operator*= (ExpressionInterface< Real, Rhs > const &rhs) |
Operator *= for expressions. | |
Impl & | operator*= (PassiveReal const &rhs) |
Operator *= for passive values. | |
template<typename Rhs > | |
Impl & | operator+= (ExpressionInterface< Real, Rhs > const &rhs) |
Operator += for expressions. | |
Impl & | operator+= (PassiveReal const &rhs) |
Operator += for passive values. | |
template<typename Rhs > | |
Impl & | operator-= (ExpressionInterface< Real, Rhs > const &rhs) |
Operator -= for expressions. | |
Impl & | operator-= (PassiveReal const &rhs) |
Operator -= for passive values. | |
template<typename Rhs > | |
Impl & | operator/= (ExpressionInterface< Real, Rhs > const &rhs) |
Operator /= for expressions. | |
Impl & | operator/= (PassiveReal const &rhs) |
Operator /= for passive values. | |
Public Member Functions inherited from codi::IncrementOperators< T_Tape, T_Impl > | |
Impl & | cast () |
Cast to the implementation. | |
Impl & | operator++ () |
Prefix operator++. | |
Impl | operator++ (int u) |
Postfix operator++. | |
Impl & | operator-- () |
Prefix operator--. | |
Impl | operator-- (int u) |
Postfix operator--. | |
Static Public Member Functions | |
Implementation of LhsExpressionInterface | |
static Tape & | getTape () |
Get a reference to the tape which manages this expression. | |
Additional functions used for parallel taping. | |
static Tape * | getTapePtr () |
Get the thread-local tape pointer. | |
static void | setTapePtr (Tape *other) |
Set the thread-local tape pointer. | |
Static Public Member Functions inherited from codi::LhsExpressionInterface< T_Real, T_Gradient, T_Tape, T_Impl > | |
template<typename Logic , typename... Args> | |
static Logic::ResultType constexpr | forEachLinkConstExpr (Args &&...) |
static Tape & | getTape () |
Get a reference to the tape which manages this expression. | |
Static Public Member Functions inherited from codi::NodeInterface< T_Impl > | |
template<typename Logic , typename... Args> | |
static Logic::ResultType constexpr | forEachLinkConstExpr (Args &&... args) |
Additional Inherited Members | |
Static Public Attributes inherited from codi::LhsExpressionInterface< T_Real, T_Gradient, T_Tape, T_Impl > | |
static bool constexpr | EndPoint = true |
If this expression is handled as a leaf in the tree. | |
Static Public Attributes inherited from codi::NodeInterface< T_Impl > | |
static bool constexpr | EndPoint = false |
If this expression is handled as a leaf in the tree. | |
Protected Member Functions inherited from codi::LhsExpressionInterface< T_Real, T_Gradient, T_Tape, T_Impl > | |
void | init (Real const &newValue, EventHints::Statement statementType) |
void | destroy () |
Represents a concrete lvalue in the CoDiPack expression tree.
This active type implements a static thread-local tape, as suitable for parallel taping.
T_Tape | The tape that manages all expressions created with this type. |
T_ParallelToolbox | Toolbox used to parallelize this type. |
using codi::ActiveTypeBase< T_Tape, T_Impl >::ActiveResult |
Type into which the expression can be converted. Usually also the type from which it is constructed.
using codi::ActiveTypeBase< T_Tape, T_Impl >::StoreAs |
Defines how this expression is stored in an expression tree.
using codi::ParallelActiveType< T_Tape, T_ParallelToolbox >::ThreadLocalTapePointer |
< See ActiveTypeBase.
See ParallelToolbox.
|
inlinestatic |
Get a reference to the tape which manages this expression.