39#include "../tapes/interfaces/fullTapeInterface.hpp"
40#include "../traits/realTraits.hpp"
41#include "assignmentOperators.hpp"
42#include "incrementOperators.hpp"
43#include "lhsExpressionInterface.hpp"
58 template<
typename T_Tape>
60 T_Tape, ActiveTypeStatelessTape<T_Tape>>,
62 ActiveTypeStatelessTape<T_Tape>>,
68 using Real =
typename Tape::Real;
97 template<
typename Rhs>
99 Base::init(rhs.
cast().getValue(), EventHints::Statement::Expression);
109 static_cast<Base&
>(*this) =
static_cast<Base const&
>(v);
113 using Base::operator=;
#define CODI_INLINE
See codi::Config::ForcedInlines.
Definition config.h:469
#define CODI_INLINE_NO_FA
See codi::Config::ForcedInlines.
Definition config.h:471
#define CODI_DD(Type, Default)
Abbreviation for CODI_DECLARE_DEFAULT.
Definition macros.hpp:96
typename TraitsImplementation< Type >::PassiveReal PassiveReal
The original computation type that was used in the application.
Definition realTraits.hpp:123
CoDiPack - Code Differentiation Package.
Definition codi.hpp:94
RealTraits::PassiveReal< Real > PassiveReal
Basic computation type.
Definition activeTypeStatelessTape.hpp:69
typename Tape::Real Real
See LhsExpressionInterface.
Definition activeTypeStatelessTape.hpp:68
T_Tape Tape
See ActiveTypeStatelessTape.
Definition activeTypeStatelessTape.hpp:66
static inlineTape getTape()
Get a reference to the tape which manages this expression.
Definition activeTypeStatelessTape.hpp:148
inlineIdentifier const & getIdentifier() const
Definition activeTypeStatelessTape.hpp:133
inlineActiveTypeStatelessTape & operator=(ActiveTypeStatelessTape const &v)
Definition activeTypeStatelessTape.hpp:108
typename Tape::Gradient Gradient
See LhsExpressionInterface.
Definition activeTypeStatelessTape.hpp:71
inlineReal const & value() const
Definition activeTypeStatelessTape.hpp:143
inlineIdentifier & getIdentifier()
Definition activeTypeStatelessTape.hpp:128
LhsExpressionInterface< Real, Gradient, T_Tape, ActiveTypeStatelessTape< T_Tape > > Base
Definition activeTypeStatelessTape.hpp:73
typename Tape::Identifier Identifier
See LhsExpressionInterface.
Definition activeTypeStatelessTape.hpp:70
inlineReal & value()
Definition activeTypeStatelessTape.hpp:138
constexpr ActiveTypeStatelessTape()=default
Constructor.
Tape ADLogic
AD logic that governs the expression. Needs to be the same for all inputs of the expression.
Definition activeTypeStatelessTape.hpp:120
ActiveTypeStatelessTape const & StoreAs
Defines how this expression is stored in an expression tree.
Definition activeTypeStatelessTape.hpp:119
Provides assignment operators for LhsExpressionInterface implementations.
Definition assignmentOperators.hpp:120
Base class for all CoDiPack expressions.
Definition expressionInterface.hpp:60
inlineImpl const & cast() const
Cast to the implementation.
Definition expressionInterface.hpp:76
Implementation of increment operators for LhsExpressionInterface implementations.
Definition incrementOperators.hpp:54
LhsExpressionInterface()=default
inlinevoid init(Real const &newValue, EventHints::Statement statementType)
Definition lhsExpressionInterface.hpp:198
inlineReal const & getValue() const
Get the primal value of this lvalue.
Definition lhsExpressionInterface.hpp:125