CoDiPack  3.1.0
A Code Differentiation Package
SciComp TU Kaiserslautern
Loading...
Searching...
No Matches
std::complex< codi::ActiveType< T_Tape > > Class Template Reference

#include <stdComplex.hpp>

Inheritance diagram for std::complex< codi::ActiveType< T_Tape > >:

Public Types

using Base = codi::ActiveComplex<codi::ActiveType<Tape>, complex<codi::ActiveType<T_Tape>>>
 Base class abbreviation.
 
using InnerActive = codi::ActiveType<Tape>
 See ActiveComplex::InnerActive.
 
using InnerReal = typename InnerActive::Real
 See ActiveComplex::InnerReal.
 
using Real = complex<typename Tape::Real>
 See ActiveComplex::Real.
 
using Tape = T_Tape
 See complex.
 
- Public Types inherited from codi::ActiveComplex< codi::ActiveType< T_Tape >, complex< codi::ActiveType< T_Tape > > >
using AssignComplex
 
using AssignReal
 
using Base
 Abbreviation for the base class.
 
using Impl
 See ActiveComplex.
 
using InnerActive
 See ActiveComplex.
 
using InnerReal
 Inner real value.
 
using PassiveInnerReal
 Passive inner value.
 
using Real
 Complex value with the inner real.
 
using value_type
 std::complex interface.
 
- Public Types inherited from codi::AggregatedActiveType< std::complex< codi::ActiveType< T_Tape >::Real >, codi::ActiveType< T_Tape >, ResolveSelf< complex< codi::ActiveType< T_Tape > >, ActiveComplex< codi::ActiveType< T_Tape >, complex< codi::ActiveType< T_Tape > > > > >
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.
 
- Public Types inherited from codi::AggregatedActiveTypeBase< std::complex< codi::ActiveType< T_Tape >::Real >, codi::ActiveType< T_Tape >, ResolveSelf< complex< codi::ActiveType< T_Tape > >, ActiveComplex< codi::ActiveType< T_Tape >, complex< codi::ActiveType< T_Tape > > > >, false >
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.
 
- Public Types inherited from codi::ExpressionInterface< std::complex< codi::ActiveType< T_Tape >::Real >, ResolveSelf< complex< codi::ActiveType< T_Tape > >, ActiveComplex< codi::ActiveType< T_Tape >, complex< codi::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< ResolveSelf< complex< codi::ActiveType< T_Tape > >, ActiveComplex< codi::ActiveType< T_Tape >, complex< codi::ActiveType< T_Tape > > > > >
using Impl
 See NodeInterface.
 
- Public Types inherited from codi::ExpressionMemberOperations< std::complex< codi::ActiveType< T_Tape >::Real >, ResolveSelf< complex< codi::ActiveType< T_Tape > >, ActiveComplex< codi::ActiveType< T_Tape >, complex< codi::ActiveType< T_Tape > > > > >
using Impl
 See ExpressionMemberOperations.
 
using Real
 See ExpressionMemberOperations.
 
- Public Types inherited from codi::AssignmentOperators< codi::ActiveType< T_Tape >::Real, false, ResolveSelf< complex< codi::ActiveType< T_Tape > >, ActiveComplex< codi::ActiveType< T_Tape >, complex< codi::ActiveType< T_Tape > > > > >
using Base
 
using Impl
 See AssignmentOperators.
 
using PassiveReal
 Basic computation type.
 
using Real
 See AssignmentOperators.
 
- Public Types inherited from codi::AssignmentOperatorsPassiveJacobianOptimization< codi::ActiveType< T_Tape >::Real, T_JacobianOptimization, ResolveSelf< complex< codi::ActiveType< T_Tape > >, ActiveComplex< codi::ActiveType< T_Tape >, complex< codi::ActiveType< T_Tape > > > > >
using Impl
 See AssignmentOperators.
 
using PassiveReal
 Basic computation type.
 
using Real
 See AssignmentOperators.
 
- Public Types inherited from codi::AssignmentOperators< std::complex< codi::ActiveType< T_Tape >::Real >, false, ResolveSelf< complex< codi::ActiveType< T_Tape > >, ActiveComplex< codi::ActiveType< T_Tape >, complex< codi::ActiveType< T_Tape > > > > >
using Base
 
using Impl
 See AssignmentOperators.
 
using PassiveReal
 Basic computation type.
 
using Real
 See AssignmentOperators.
 
- Public Types inherited from codi::AssignmentOperatorsPassiveJacobianOptimization< std::complex< codi::ActiveType< T_Tape >::Real >, T_JacobianOptimization, ResolveSelf< complex< codi::ActiveType< T_Tape > >, ActiveComplex< codi::ActiveType< T_Tape >, complex< codi::ActiveType< T_Tape > > > > >
using Impl
 See AssignmentOperators.
 
using PassiveReal
 Basic computation type.
 
using Real
 See AssignmentOperators.
 

Public Member Functions

 inlinecomplex (complex const &value)
 < Use Base constructors.
 
inlineActiveComplexoperator= (ActiveComplex const &arg)
 Assign operation for copy operations.
 
inlineImpl & operator= (AggregatedActiveType const &expr)
 < Use Base constructors.
 
inlinecomplexoperator= (complex const &value)
 < Use Base assign operators.
 
inlineActiveComplexoperator= (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.
 
inlineActiveComplexoperator= (PassiveInnerReal const &argR)
 Assign operation for the inner passive type.
 
inlineImpl & operator= (PassiveReal const &expr)
 < Use Base constructors.
 
inline ~complex ()=default
 Destructor.
 
- Public Member Functions inherited from codi::ActiveComplex< codi::ActiveType< T_Tape >, complex< codi::ActiveType< T_Tape > > >
void imag (ExpressionInterface< InnerReal, Arg > const &arg)
 Update the imaginary part of the complex number.
 
void imag (InnerReal const &arg)
 Update the imaginary part of the complex number.
 
 inlineActiveComplex (ActiveComplex const &arg)
 < Use complex operator /=
 
 inlineActiveComplex (ExpressionInterface< InnerReal, ArgR > const &argR)
 Constructor.
 
 inlineActiveComplex (ExpressionInterface< InnerReal, ArgR > const &argR, ExpressionInterface< InnerReal, ArgI > const &argI)
 Constructor.
 
 inlineActiveComplex (ExpressionInterface< InnerReal, ArgR > const &argR, PassiveInnerReal const &argI)
 Constructor.
 
 inlineActiveComplex (PassiveInnerReal const &argR)
 Constructor.
 
 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 complex operator -=
 
inlineImpl & operator*= (ExpressionInterface< Real, Rhs > const &rhs)
 < Use real operator *=
 
inlineImpl & operator*= (ExpressionInterface< Real, Rhs > const &rhs)
 < Use real operator *=
 
inlineImpl & operator*= (PassiveReal const &rhs)
 < Use complex 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 Base assign operators.
 
inlineImpl & operator+= (ExpressionInterface< Real, Rhs > const &rhs)
 < Use real operator +=
 
inlineImpl & operator+= (ExpressionInterface< Real, Rhs > const &rhs)
 < Use real operator +=
 
inlineImpl & operator+= (PassiveReal const &rhs)
 < Use Base assign operators.
 
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 complex operator +=
 
inlineImpl & operator-= (ExpressionInterface< Real, Rhs > const &rhs)
 < Use real operator -=
 
inlineImpl & operator-= (ExpressionInterface< Real, Rhs > const &rhs)
 < Use real operator -=
 
inlineImpl & operator-= (PassiveReal const &rhs)
 < Use complex 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 complex operator *=
 
inlineImpl & operator/= (ExpressionInterface< Real, Rhs > const &rhs)
 < Use real operator /=
 
inlineImpl & operator/= (ExpressionInterface< Real, Rhs > const &rhs)
 < Use real operator /=
 
inlineImpl & operator/= (PassiveReal const &rhs)
 < Use complex operator *=
 
inlineImpl & operator/= (PassiveReal const &rhs)
 < Use complex operator *=
 
inlineActiveComplexoperator= (ActiveComplex const &arg)
 Assign operation for copy operations.
 
inlineImpl & operator= (AggregatedActiveType const &expr)
 < Use Base constructors.
 
inlineImpl & operator= (AggregatedActiveType const &expr)
 < Use Base constructors.
 
inlineActiveComplexoperator= (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.
 
inlineImpl & operator= (ExpressionInterface< Real, Expr > const &expr)
 < Use Base constructors.
 
inlineActiveComplexoperator= (PassiveInnerReal const &argR)
 Assign operation for the inner passive type.
 
inlineImpl & operator= (PassiveReal const &expr)
 < Use Base constructors.
 
inlineImpl & operator= (PassiveReal const &expr)
 < Use Base constructors.
 
void real (ExpressionInterface< InnerReal, Arg > const &arg)
 Update the real part of the complex number.
 
void real (InnerReal const &arg)
 Update the real part of the complex number.
 
inline ~ActiveComplex ()=default
 Destructor.
 
- Public Member Functions inherited from codi::AggregatedActiveType< std::complex< codi::ActiveType< T_Tape >::Real >, codi::ActiveType< T_Tape >, ResolveSelf< complex< codi::ActiveType< T_Tape > >, ActiveComplex< codi::ActiveType< T_Tape >, complex< codi::ActiveType< T_Tape > > > > >
 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.
 
- Public Member Functions inherited from codi::AggregatedActiveTypeBase< std::complex< codi::ActiveType< T_Tape >::Real >, codi::ActiveType< T_Tape >, ResolveSelf< complex< codi::ActiveType< T_Tape > >, ActiveComplex< codi::ActiveType< T_Tape >, complex< codi::ActiveType< T_Tape > > > >, false >
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.
 
- Public Member Functions inherited from codi::ExpressionInterface< std::complex< codi::ActiveType< T_Tape >::Real >, ResolveSelf< complex< codi::ActiveType< T_Tape > >, ActiveComplex< codi::ActiveType< T_Tape >, complex< codi::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< ResolveSelf< complex< codi::ActiveType< T_Tape > >, ActiveComplex< codi::ActiveType< T_Tape >, complex< codi::ActiveType< T_Tape > > > > >
inlineImpl const & cast () const
 Cast to the implementation.
 
char const & getLink () const
 an expression.
 
- Public Member Functions inherited from codi::AssignmentOperators< codi::ActiveType< T_Tape >::Real, false, ResolveSelf< complex< codi::ActiveType< T_Tape > >, ActiveComplex< codi::ActiveType< T_Tape >, complex< codi::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< codi::ActiveType< T_Tape >::Real, T_JacobianOptimization, ResolveSelf< complex< codi::ActiveType< T_Tape > >, ActiveComplex< codi::ActiveType< T_Tape >, complex< codi::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::AssignmentOperators< std::complex< codi::ActiveType< T_Tape >::Real >, false, ResolveSelf< complex< codi::ActiveType< T_Tape > >, ActiveComplex< codi::ActiveType< T_Tape >, complex< codi::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< std::complex< codi::ActiveType< T_Tape >::Real >, T_JacobianOptimization, ResolveSelf< complex< codi::ActiveType< T_Tape > >, ActiveComplex< codi::ActiveType< T_Tape >, complex< codi::ActiveType< T_Tape > > > > >
inlineImpl & operator+= (PassiveReal const &rhs)
 Operator += for passive values.
 
inlineImpl & operator-= (PassiveReal const &rhs)
 Operator -= for passive values.
 

Additional Inherited Members

- Static Public Member Functions inherited from codi::AggregatedActiveTypeBase< std::complex< codi::ActiveType< T_Tape >::Real >, codi::ActiveType< T_Tape >, ResolveSelf< complex< codi::ActiveType< T_Tape > >, ActiveComplex< codi::ActiveType< T_Tape >, complex< codi::ActiveType< T_Tape > > > >, false >
static inlinestd::string getMathRep ()
 Get the math symbol of the operation. E.g. + for operators and pow() for functions.
 
- Public Attributes inherited from codi::AggregatedActiveTypeBase< std::complex< codi::ActiveType< T_Tape >::Real >, codi::ActiveType< T_Tape >, ResolveSelf< complex< codi::ActiveType< T_Tape > >, ActiveComplex< codi::ActiveType< T_Tape >, complex< codi::ActiveType< T_Tape > > > >, false >
InnerActiveType values [Elements]
 Array representation.
 
- Static Public Attributes inherited from codi::AggregatedActiveTypeBase< std::complex< codi::ActiveType< T_Tape >::Real >, codi::ActiveType< T_Tape >, ResolveSelf< complex< codi::ActiveType< T_Tape > >, ActiveComplex< codi::ActiveType< T_Tape >, complex< codi::ActiveType< T_Tape > > > >, false >
static int constexpr Elements
 The number of elements in the aggregated type.
 
static bool constexpr isStatic
 See AggregatedActiveTypeBase.
 
static size_t constexpr LinkCount
 Implementation of NodeInterface.
 
static size_t constexpr LinkCount
 handle the expression as a leaf node.
 
- Static Public Attributes inherited from codi::AssignmentOperators< codi::ActiveType< T_Tape >::Real, false, ResolveSelf< complex< codi::ActiveType< T_Tape > >, ActiveComplex< codi::ActiveType< T_Tape >, complex< codi::ActiveType< T_Tape > > > > >
static bool constexpr JacobianOptimization
 See AssignmentOperators.
 
- Static Public Attributes inherited from codi::AssignmentOperatorsPassiveJacobianOptimization< codi::ActiveType< T_Tape >::Real, T_JacobianOptimization, ResolveSelf< complex< codi::ActiveType< T_Tape > >, ActiveComplex< codi::ActiveType< T_Tape >, complex< codi::ActiveType< T_Tape > > > > >
static bool constexpr JacobianOptimization
 See AssignmentOperators.
 
- Static Public Attributes inherited from codi::AssignmentOperators< std::complex< codi::ActiveType< T_Tape >::Real >, false, ResolveSelf< complex< codi::ActiveType< T_Tape > >, ActiveComplex< codi::ActiveType< T_Tape >, complex< codi::ActiveType< T_Tape > > > > >
static bool constexpr JacobianOptimization
 See AssignmentOperators.
 
- Static Public Attributes inherited from codi::AssignmentOperatorsPassiveJacobianOptimization< std::complex< codi::ActiveType< T_Tape >::Real >, T_JacobianOptimization, ResolveSelf< complex< codi::ActiveType< T_Tape > >, ActiveComplex< codi::ActiveType< T_Tape >, complex< codi::ActiveType< T_Tape > > > > >
static bool constexpr JacobianOptimization
 See AssignmentOperators.
 
- Protected Member Functions inherited from codi::AggregatedActiveType< std::complex< codi::ActiveType< T_Tape >::Real >, codi::ActiveType< T_Tape >, ResolveSelf< complex< codi::ActiveType< T_Tape > >, ActiveComplex< codi::ActiveType< T_Tape >, complex< codi::ActiveType< T_Tape > > > > >
inlinevoid store (ExpressionInterface< Real, Rhs > const &rhs, EventHints::Statement const &eventType)
 Has to be called by an AD variable every time it is assigned.
 
- Protected Member Functions inherited from codi::AggregatedActiveTypeBase< std::complex< codi::ActiveType< T_Tape >::Real >, codi::ActiveType< T_Tape >, ResolveSelf< complex< codi::ActiveType< T_Tape > >, ActiveComplex< codi::ActiveType< T_Tape >, complex< codi::ActiveType< T_Tape > > > >, false >
inlineImpl & cast ()
 Cast to implementation.
 
inlineImpl const & cast () const
 Cast to implementation.
 
- Protected Member Functions inherited from codi::ExpressionMemberOperations< std::complex< codi::ActiveType< T_Tape >::Real >, ResolveSelf< complex< codi::ActiveType< T_Tape > >, ActiveComplex< codi::ActiveType< T_Tape >, complex< codi::ActiveType< T_Tape > > > > >
inlineImpl const & cast () const
 Cast to implementation.
 

Detailed Description

template<typename T_Tape>
class std::complex< codi::ActiveType< T_Tape > >

Specialization of std::complex for CoDiPack types.

The full interface is already implemented in ActiveComplex. This implementation just forwards the necessary operators.

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

Member Function Documentation

◆ inlinecomplex()

template<typename T_Tape>
std::complex< codi::ActiveType< T_Tape > >::inlinecomplex ( complex< codi::ActiveType< T_Tape > > const & value)
inline

< Use Base constructors.

Constructor.

◆ operator=()

template<typename T_Tape>
inlinecomplex & std::complex< codi::ActiveType< T_Tape > >::operator= ( complex< codi::ActiveType< T_Tape > > const & value)
inline

< Use Base assign operators.

Assign operator.


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