CoDiPack  3.0.0
A Code Differentiation Package
SciComp TU Kaiserslautern
Loading...
Searching...
No Matches
codi::ActiveType< T_Tape > Struct Template Reference

Represents a concrete lvalue in the CoDiPack expression tree. More...

#include <activeType.hpp>

Inheritance diagram for codi::ActiveType< T_Tape >:

Public Types

using ADLogic
 AD logic that governs the expression. Needs to be the same for all inputs of the expression.
 
using Base = ActiveTypeBase<T_Tape, ActiveType>
 Base class abbreviation.
 
using Gradient
 See LhsExpressionInterface.
 
using Identifier
 See LhsExpressionInterface.
 
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 ActiveType.
 
- Public Types inherited from codi::ActiveTypeBase< T_Tape, ActiveType< T_Tape > >
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 ADLogic
 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, ActiveType< 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, ActiveType< 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< ActiveType< T_Tape > >
using Impl
 See NodeInterface.
 
- Public Types inherited from codi::ExpressionMemberOperations< T_Tape::Real, ActiveType< T_Tape > >
using Impl
 See ExpressionMemberOperations.
 
using Real
 See ExpressionMemberOperations.
 
- Public Types inherited from codi::AssignmentOperators< T_Tape::Real, T_Tape::AllowJacobianOptimization, ActiveType< 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, ActiveType< T_Tape > >
using Impl
 See AssignmentOperators.
 
using PassiveReal
 Basic computation type.
 
using Real
 See AssignmentOperators.
 
- Public Types inherited from codi::IncrementOperators< T_Tape, ActiveType< T_Tape > >
using Impl
 See IncrementOperators.
 
using PassiveReal
 Basic computation type.
 
using Real
 See InternalStatementRecordingTapeInterface.
 
using Tape
 See IncrementOperators.
 

Public Member Functions

 inlineActiveType (ActiveType< Tape > const &v)
 Constructor.
 
inline ~ActiveType ()
 Destructor.
 
Assignment operators (all forwarding to the base class)
inlineActiveTypeoperator= (ActiveType const &v)
 See ActiveTypeBase::operator=(ActiveTypeBase const&).
 
inlineImpl & operator= (ActiveTypeBase const &v)
 See LhsExpressionInterface::operator=(LhsExpressionInterface const&).
 
- Public Member Functions inherited from codi::ActiveTypeBase< T_Tape, ActiveType< T_Tape > >
inlineImpl & cast ()
 Cast to the implementation.
 
 inlineActiveTypeBase ()
 Constructor.
 
 inlineActiveTypeBase (ActiveTypeBase const &v)
 Constructor.
 
 inlineActiveTypeBase (ExpressionInterface< Real, Rhs > const &rhs)
 Constructor.
 
 inlineActiveTypeBase (ExpressionInterface< typename U::Real, Rhs > const &rhs)
 Constructor.
 
 inlineActiveTypeBase (PassiveReal const &value)
 Constructor.
 
 inlineActiveTypeBase (Real const &value)
 Constructor.
 
inlineImpl & operator= (ActiveTypeBase const &v)
 See LhsExpressionInterface::operator=(LhsExpressionInterface const&).
 
inlineImpl & operator= (ExpressionInterface< Real, Rhs > const &rhs)
 Assignment operator for expressions. 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= (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 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.
 
inlineImpl & operator= (LhsExpressionInterface< Real, Gradient, Tape, Rhs > const &rhs)
 Assignment operator for lhs expressions. Calls store on the InternalStatementRecordingTapeInterface.
 
inlineImpl & operator= (PassiveReal 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= (Real const &rhs)
 Assignment operator for passive values. Calls store on the InternalStatementRecordingTapeInterface.
 
inlineImpl & operator= (Real const &rhs)
 Assignment operator for passive values. Calls store on the InternalStatementRecordingTapeInterface.
 
inline ~ActiveTypeBase ()
 Destructor.
 
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.
 
- Public Member Functions inherited from codi::LhsExpressionInterface< T_Tape::Real, T_Tape::Gradient, T_Tape, ActiveType< 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.
 
Realvalue ()
 Get a reference to the lvalue represented by the expression.
 
Identifier const & getIdentifier () const
 
IdentifiergetIdentifier ()
 
- Public Member Functions inherited from codi::ExpressionInterface< T_Tape::Real, ActiveType< 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< ActiveType< 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, ActiveType< 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, ActiveType< 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, ActiveType< 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--.
 

Static Public Member Functions

Implementation of LhsExpressionInterface
static inlineTape & getTape ()
 Get a reference to the tape which manages this expression.
 
static TapegetTape ()
 Get a reference to the tape which manages this expression.
 

Additional Inherited Members

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, ActiveType< T_Tape > >
static bool constexpr JacobianOptimization
 See AssignmentOperators.
 
- Static Public Attributes inherited from codi::AssignmentOperatorsPassiveJacobianOptimization< T_Tape::Real, T_JacobianOptimization, ActiveType< 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, ActiveType< T_Tape > >
inlineImpl const & cast () const
 Cast to implementation.
 

Detailed Description

template<typename T_Tape>
struct codi::ActiveType< T_Tape >

Represents a concrete lvalue in the CoDiPack expression tree.

See ActiveTypeBase.

This active type implements a static tape.

Template Parameters
T_TapeThe tape that manages all expressions created with this type.

Member Typedef Documentation

◆ ADLogic

template<typename T_Tape>
using codi::ActiveTypeBase< T_Tape, ActiveType >::ADLogic

AD logic that governs the expression. Needs to be the same for all inputs of the expression.

◆ StoreAs

template<typename T_Tape>
using codi::ActiveTypeBase< T_Tape, ActiveType >::StoreAs

Defines how this expression is stored in an expression tree.

Member Function Documentation

◆ getTape()

template<typename T_Tape>
static inlineTape & codi::ActiveType< T_Tape >::getTape ( )
inlinestatic

Get a reference to the tape which manages this expression.


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