#include <stdComplex.hpp>
Public Types | |
using | AssignComplex |
using | AssignReal |
using | Base = AggregatedActiveType<Real, InnerActive, Impl> |
Abbreviation for the base class. | |
using | Impl = ResolveSelf<T_Impl, ActiveComplex> |
See ActiveComplex. | |
using | InnerActive = T_InnerActive |
See ActiveComplex. | |
using | InnerReal = typename InnerActive::Real |
Inner real value. | |
using | PassiveInnerReal = RealTraits::PassiveReal<InnerReal> |
Passive inner value. | |
using | Real = std::complex<InnerReal> |
Complex value with the inner real. | |
using | value_type = InnerActive |
std::complex interface. | |
![]() | |
using | Base |
Abbreviation for base class. | |
using | Impl |
See AggregatedActiveType. | |
using | InnerActiveType |
See AggregatedActiveType. | |
using | PassiveReal |
Passive value type of the real. | |
using | Real |
See AggregatedActiveType. | |
using | Traits |
The traits for the aggregated type. | |
![]() | |
using | ADLogic |
AD logic that governs the expression. Needs to be the same for all inputs of the expression. | |
using | Impl |
See AggregatedActiveTypeBase. | |
using | InnerActiveType |
See AggregatedActiveTypeBase. | |
using | InnerIdentifier |
Identifier of the underlying tape. | |
using | InnerReal |
Inner real type of the active type. | |
using | Real |
See AggregatedActiveTypeBase. | |
using | StoreAs |
Implementation of ExpressionInterface. | |
using | Tape |
The tape of the inner active type. | |
using | Traits |
The traits for the aggregated type. | |
![]() | |
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. | |
![]() | |
using | Impl = T_Impl |
See NodeInterface. | |
![]() | |
using | Impl |
See ExpressionMemberOperations. | |
using | Real |
See ExpressionMemberOperations. | |
![]() | |
using | Base |
using | Impl |
See AssignmentOperators. | |
using | PassiveReal |
Basic computation type. | |
using | Real |
See AssignmentOperators. | |
![]() | |
using | Impl |
See AssignmentOperators. | |
using | PassiveReal |
Basic computation type. | |
using | Real |
See AssignmentOperators. | |
![]() | |
using | Base |
using | Impl |
See AssignmentOperators. | |
using | PassiveReal |
Basic computation type. | |
using | Real |
See AssignmentOperators. | |
![]() | |
using | Impl |
See AssignmentOperators. | |
using | PassiveReal |
Basic computation type. | |
using | Real |
See AssignmentOperators. | |
Public Member Functions | |
template<typename ArgR> | |
inlineActiveComplex (ExpressionInterface< InnerReal, ArgR > const &argR) | |
< Use complex operator /= | |
template<typename ArgR, typename ArgI> | |
inlineActiveComplex (ExpressionInterface< InnerReal, ArgR > const &argR, ExpressionInterface< InnerReal, ArgI > const &argI) | |
Constructor. | |
template<typename ArgR> | |
inlineActiveComplex (ExpressionInterface< InnerReal, ArgR > const &argR, PassiveInnerReal const &argI) | |
Constructor. | |
inlineActiveComplex (PassiveInnerReal const &argR) | |
Constructor. | |
template<typename ArgI> | |
inlineActiveComplex (PassiveInnerReal const &argR, ExpressionInterface< InnerReal, ArgI > const &argI) | |
Constructor. | |
inlineActiveComplex (PassiveInnerReal const &argR, PassiveInnerReal const &argI) | |
Constructor. | |
inlineImpl & | operator*= (ExpressionInterface< Real, Rhs > const &rhs) |
< Use complex operator -= | |
inlineImpl & | operator*= (ExpressionInterface< Real, Rhs > const &rhs) |
< Use real operator *= | |
inlineImpl & | operator*= (PassiveReal const &rhs) |
< Use complex operator -= | |
inlineImpl & | operator+= (ExpressionInterface< Real, Rhs > const &rhs) |
< Use Base assign operators. | |
inlineImpl & | operator+= (ExpressionInterface< Real, Rhs > const &rhs) |
< Use real operator += | |
inlineImpl & | operator+= (PassiveReal const &rhs) |
< Use Base assign operators. | |
inlineImpl & | operator-= (ExpressionInterface< Real, Rhs > const &rhs) |
< Use complex operator += | |
inlineImpl & | operator-= (ExpressionInterface< Real, Rhs > const &rhs) |
< Use real operator -= | |
inlineImpl & | operator-= (PassiveReal const &rhs) |
< Use complex operator += | |
inlineImpl & | operator/= (ExpressionInterface< Real, Rhs > const &rhs) |
< Use complex operator *= | |
inlineImpl & | operator/= (ExpressionInterface< Real, Rhs > const &rhs) |
< Use real operator /= | |
inlineImpl & | operator/= (PassiveReal const &rhs) |
< Use complex operator *= | |
inlineImpl & | operator= (AggregatedActiveType const &expr) |
< Use Base constructors. | |
template<typename ArgR> | |
inlineActiveComplex & | operator= (ExpressionInterface< InnerReal, ArgR > const &argR) |
Assign operation for the inner type of the complex number. | |
inlineImpl & | operator= (ExpressionInterface< Real, Expr > const &expr) |
< Use Base constructors. | |
inlineActiveComplex & | operator= (PassiveInnerReal const &argR) |
Assign operation for the inner passive type. | |
inlineImpl & | operator= (PassiveReal const &expr) |
< Use Base constructors. | |
inline | ~ActiveComplex ()=default |
Destructor. | |
![]() | |
inlineAggregatedActiveType (AggregatedActiveType const &expr) | |
Constructor. | |
inlineAggregatedActiveType (ExpressionInterface< Real, Expr > const &expr) | |
Constructor. | |
inlineAggregatedActiveType (PassiveReal const &expr) | |
Constructor. | |
inlineImpl & | operator= (AggregatedActiveType const &expr) |
Assign operation. | |
inlineImpl & | operator= (ExpressionInterface< Real, Expr > const &expr) |
Assign operation. | |
inlineImpl & | operator= (PassiveReal const &expr) |
Assign operation. | |
inline | ~AggregatedActiveType ()=default |
< Use base constructors. | |
![]() | |
inlineInnerReal | applyAdjoint (Real const &adjoint) const |
inlineReal | applyTangent (InnerReal const &tangent) const |
inlineInnerActiveType const & | getLink () const |
an expression. | |
inlineReal const | getValue () const |
Compute the primal value that is usually evaluated by the statement/expression. | |
inlineAggregatedActiveTypeBase ()=default | |
Constructor. | |
inlineAggregatedActiveTypeBase (AggregatedActiveTypeBase const &)=default | |
Constructor. | |
inline | ~AggregatedActiveTypeBase ()=default |
Destructor. | |
![]() | |
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 |
![]() | |
inlineImpl const & | cast () const |
Cast to the implementation. | |
template<size_t argNumber> | |
char const & | getLink () const |
an expression. | |
![]() | |
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. | |
![]() | |
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+= (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. | |
![]() | |
inlineImpl & | operator+= (PassiveReal const &rhs) |
Operator += for passive values. | |
inlineImpl & | operator-= (PassiveReal const &rhs) |
Operator -= for passive values. | |
Implementation of AggregatedActiveType for complex types.
This class implements the full interface of std::complex. It does not specialize std::complex directly for active types. This makes it possible to avoid specializations in the std namespace and integrating complex numbers in the expression tree.
T_InnerActive | The active type which is used in the inner store. |
T_Impl | The implementation if it extends this class, otherwise nothing. |
using codi::ActiveComplex< T_InnerActive, T_Impl >::AssignComplex |
Abbreviations for complex assignments.
using codi::ActiveComplex< T_InnerActive, T_Impl >::AssignReal |
Abbreviation for real assignments.
|
inline |
< Use complex operator /=
Constructor.