CoDiPack  2.2.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 ActiveResult = Impl
 Type into which the expression can be converted. Usually also the type from which it is constructed.
 
using Base = ActiveTypeBase< T_Tape, ActiveType >
 Base class abbreviation.
 
using Base = LhsExpressionInterface< Real, Gradient, T_Tape, T_Impl >
 Base class abbreviation.
 
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 StoreAs = Impl const &
 " 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 = LhsExpressionInterface< Real, Gradient, T_Tape, ActiveType< T_Tape > >
 Base class abbreviation.
 
using Gradient = typename Tape::Gradient
 See LhsExpressionInterface.
 
using Identifier = typename Tape::Identifier
 See LhsExpressionInterface.
 
using Impl = ActiveType< T_Tape >
 Abbreviation for the implementing class.
 
using PassiveReal = RealTraits::PassiveReal< Real >
 Basic computation type.
 
using Real = typename Tape::Real
 See LhsExpressionInterface.
 
using Tape = T_Tape
 
using StoreAs = Impl const &
 " Defines how this expression is stored in an expression tree. "
 
using ActiveResult = Impl
 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 = T_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 = T_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

 ActiveType (ActiveType< Tape > const &v)
 Constructor.
 
 ~ActiveType ()
 Destructor.
 
Assignment operators (all forwarding to the base class)
ActiveTypeoperator= (ActiveType const &v)
 See ActiveTypeBase::operator=(ActiveTypeBase const&).
 
Imploperator= (ActiveTypeBase const &v)
 See LhsExpressionInterface::operator=(LhsExpressionInterface const&).
 
- Public Member Functions inherited from codi::ActiveTypeBase< T_Tape, ActiveType< T_Tape > >
 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.
 
Implcast ()
 Cast to the implementation.
 
Imploperator= (ActiveTypeBase const &v)
 See LhsExpressionInterface::operator=(LhsExpressionInterface const&).
 
Imploperator= (ExpressionInterface< Real, Rhs > const &rhs)
 Assignment operator for expressions. Calls store on the InternalStatementRecordingTapeInterface.
 
Imploperator= (ExpressionInterface< typename U::Real, Rhs > const &rhs)
 Assignment operator for expressions. Calls store on the InternalStatementRecordingTapeInterface.
 
Imploperator= (LhsExpressionInterface const &rhs)
 Assignment operator for lhs expressions. Calls store on the InternalStatementRecordingTapeInterface.
 
Imploperator= (LhsExpressionInterface< Real, Gradient, Tape, Rhs > const &rhs)
 Assignment operator for lhs expressions. Calls store on the InternalStatementRecordingTapeInterface.
 
Imploperator= (PassiveReal const &rhs)
 Assignment operator for passive values. Calls store on the InternalStatementRecordingTapeInterface.
 
Imploperator= (Real const &rhs)
 Assignment operator for passive values. Calls store on the InternalStatementRecordingTapeInterface.
 
 ~ActiveTypeBase ()
 Destructor.
 
IdentifiergetIdentifier ()
 
Identifier const & getIdentifier () const
 
Realvalue ()
 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.
 
Implcast ()
 Cast to the implementation.
 
Gradientgradient ()
 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.
 
Imploperator= (Real const &rhs)
 Assignment operator for passive values. Calls store on the InternalStatementRecordingTapeInterface.
 
template<typename U = Real, typename = RealTraits::EnableIfNotPassiveReal<U>>
Imploperator= (PassiveReal const &rhs)
 Assignment operator for passive values. Calls store on the InternalStatementRecordingTapeInterface.
 
template<typename Rhs >
Imploperator= (ExpressionInterface< Real, Rhs > const &rhs)
 Assignment operator for expressions. Calls store on the InternalStatementRecordingTapeInterface.
 
template<typename Rhs , typename U = Real, typename = RealTraits::EnableIfNotPassiveReal<U>>
Imploperator= (ExpressionInterface< typename U::Real, Rhs > const &rhs)
 Assignment operator for expressions. Calls store on the InternalStatementRecordingTapeInterface.
 
Imploperator= (LhsExpressionInterface const &rhs)
 Assignment operator for lhs expressions. Calls store on the InternalStatementRecordingTapeInterface.
 
template<typename Rhs >
Imploperator= (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.
 
Realvalue ()
 Get a reference to the lvalue represented by the expression.
 
Identifier const & getIdentifier () const
 
IdentifiergetIdentifier ()
 
- 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 >
Implcast ()
 Cast to the implementation.
 
template<typename Rhs >
Imploperator*= (ExpressionInterface< Real, Rhs > const &rhs)
 Operator *= for expressions.
 
Imploperator*= (PassiveReal const &rhs)
 Operator *= for passive values.
 
template<typename Rhs >
Imploperator+= (ExpressionInterface< Real, Rhs > const &rhs)
 Operator += for expressions.
 
Imploperator+= (PassiveReal const &rhs)
 Operator += for passive values.
 
template<typename Rhs >
Imploperator-= (ExpressionInterface< Real, Rhs > const &rhs)
 Operator -= for expressions.
 
Imploperator-= (PassiveReal const &rhs)
 Operator -= for passive values.
 
template<typename Rhs >
Imploperator/= (ExpressionInterface< Real, Rhs > const &rhs)
 Operator /= for expressions.
 
Imploperator/= (PassiveReal const &rhs)
 Operator /= for passive values.
 
- Public Member Functions inherited from codi::IncrementOperators< T_Tape, T_Impl >
Implcast ()
 Cast to the implementation.
 
Imploperator++ ()
 Prefix operator++.
 
Impl operator++ (int u)
 Postfix operator++.
 
Imploperator-- ()
 Prefix operator--.
 
Impl operator-- (int u)
 Postfix operator--.
 

Static Public Member Functions

Implementation of LhsExpressionInterface
static TapegetTape ()
 Get a reference to the tape which manages this expression.
 
- 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 TapegetTape ()
 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 ()
 

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

◆ ActiveResult

template<typename T_Tape >
using codi::ActiveTypeBase< T_Tape, T_Impl >::ActiveResult = Impl

Type into which the expression can be converted. Usually also the type from which it is constructed.

◆ StoreAs

template<typename T_Tape >
using codi::ActiveTypeBase< T_Tape, T_Impl >::StoreAs = Impl const&

" Defines how this expression is stored in an expression tree. "

" "

Member Function Documentation

◆ getTape()

template<typename T_Tape >
static Tape & 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: