38#include "../../misc/compileTimeLoop.hpp"
40#include "../../traits/realTraits.hpp"
41#include "../aggregate/aggregatedActiveType.hpp"
42#include "../logic/constructStaticContext.hpp"
55 template<
typename T_Real,
typename T_InnerActiveType>
58 StaticAggregatedActiveType<T_Real, T_InnerActiveType>, true> {
75#ifndef DOXYGEN_DISABLE
77 template<
typename T_Rhs,
typename T_Tape,
size_t T_primalValueOffset,
size_t T_constantValueOffset>
79 RealTraits::EnableIfAggregatedActiveType<T_Rhs>> {
87 using Real =
typename Rhs::Real;
88 using InnerActiveType =
typename Rhs::InnerActiveType;
89 static int constexpr Elements = Rhs::Elements;
92 using StaticInnerType =
typename InnerConstructor::ResultType;
94 using InnerReal =
typename Tape::Real;
95 using InnerIdentifier =
typename Tape::Identifier;
96 using PasiverInnerReal =
typename Tape::PassiveReal;
102 PasiverInnerReal
const*
const constantData) {
108 new (&value.values[i.value]) StaticInnerType(InnerConstructor::construct(
#define CODI_LAMBDA_INLINE
See codi::Config::ForcedInlines.
Definition config.h:473
#define CODI_INLINE
See codi::Config::ForcedInlines.
Definition config.h:469
#define CODI_DD(Type, Default)
Abbreviation for CODI_DECLARE_DEFAULT.
Definition macros.hpp:97
#define CODI_ANY
Used in default declarations of expression templates.
Definition macros.hpp:101
#define CODI_T(...)
Abbreviation for CODI_TEMPLATE.
Definition macros.hpp:117
Traits for values that can be used as real values, e.g. double, float, codi::RealReverse etc....
Definition stdComplex.hpp:242
CoDiPack - Code Differentiation Package.
Definition codi.hpp:97
inlinevoid static_for(F func, Args &&... args)
Static for with i = 0 .. (N - 1). See CompileTimeLoop for details.
Definition compileTimeLoop.hpp:110
inlinevoid CODI_UNUSED(Args const &...)
Disable unused warnings for an arbitrary number of arguments.
Definition macros.hpp:55
Represents a concrete lvalue in the CoDiPack expression tree.
Definition activeType.hpp:52
Defines an aggregated type via an array and implements the ExpressionInterface.
Definition aggregatedActiveType.hpp:59
Represents a concrete aggregated lvalue int the CoDiPack expression tree.
Definition aggregatedActiveType.hpp:164
Helper class for the construction of an expression in a different context.
Definition constructStaticContext.hpp:70
T_Rhs ResultType
The resulting expression type after all nodes are replaced.
Definition constructStaticContext.hpp:86
static ResultType construct(Real *primalVector, Identifier const *const identifiers, PassiveReal const *const constantData)
Perform the construction.
T_Rhs Rhs
See ConstructStaticContextLogic.
Definition constructStaticContext.hpp:73
static constexpr size_t constantValueOffset
See ConstructStaticContextLogic.
Definition constructStaticContext.hpp:78
static constexpr size_t primalValueOffset
See ConstructStaticContextLogic.
Definition constructStaticContext.hpp:76
Static context implementation of the aggregated active type.
Definition staticContextAggregatedActiveType.hpp:58
typename InnerActiveType::Real InnerReal
Inner real type of the active type.
Definition staticContextAggregatedActiveType.hpp:63
typename InnerActiveType::Identifier InnerIdentifier
Inner real type of the active type.
Definition staticContextAggregatedActiveType.hpp:64
AggregatedActiveTypeBase< Real, InnerActiveType, StaticAggregatedActiveType, true > Base
Definition staticContextAggregatedActiveType.hpp:66
T_Real Real
See StaticAggregatedActiveType.
Definition staticContextAggregatedActiveType.hpp:59
T_InnerActiveType InnerActiveType
See StaticAggregatedActiveType.
Definition staticContextAggregatedActiveType.hpp:60