30 #ifndef SACADO_FAD_DVFAD_HPP
31 #define SACADO_FAD_DVFAD_HPP
35 #ifdef SACADO_NEW_FAD_DESIGN_IS_DEFAULT
42 using DVFad = Exp::GeneralFad< Exp::VectorDynamicStorage<T> >;
66 template <
typename ValueT>
68 public Expr< GeneralFad<ValueT,VectorDynamicStorage<ValueT> > > {
108 template <
typename S>
125 DVFad(
const int sz,
const int i,
const ValueT & x) :
133 DVFad(
const int sz, ValueT* x, ValueT*
dx,
bool zero_out =
false) :
142 DVFad(
const int sz,
const int i, ValueT* x, ValueT*
dx) :
150 template <
typename S>
160 template <
typename S>
162 GeneralFadType::operator=(v);
168 GeneralFadType::operator=(static_cast<const GeneralFadType&>(x));
173 template <
typename S>
176 GeneralFadType::operator=(x);
181 template <
typename S>
184 GeneralFadType::operator+=(x);
189 template <
typename S>
192 GeneralFadType::operator-=(x);
197 template <
typename S>
200 GeneralFadType::operator*=(x);
205 template <
typename S>
208 GeneralFadType::operator/=(x);
214 GeneralFadType::operator+=(static_cast<const GeneralFadType&>(x));
220 GeneralFadType::operator-=(static_cast<const GeneralFadType&>(x));
226 GeneralFadType::operator*=(static_cast<const GeneralFadType&>(x));
232 GeneralFadType::operator/=(static_cast<const GeneralFadType&>(x));
237 template <
typename S>
240 GeneralFadType::operator+=(x);
245 template <
typename S>
248 GeneralFadType::operator-=(x);
253 template <
typename S>
256 GeneralFadType::operator*=(x);
261 template <
typename S>
264 GeneralFadType::operator/=(x);
270 template <
typename T>
275 template <
typename T>
281 template <
typename T>
288 template <
typename T>
293 template <
typename T>
299 template<
class ValueType,
unsigned length,
unsigned str
ide >
305 template<
class ValueType,
unsigned length,
unsigned str
ide >
312 #endif // SACADO_NEW_FAD_DESIGN_IS_DEFAULT
314 #endif // SACADO_FAD_DFAD_HPP
Wrapper for a generic expression template.
DVFad< typename GeneralFad< T, Fad::VectorDynamicStorage< T > >::value_type > type
#define SACADO_ENABLE_VALUE_CTOR_DECL
ExprType::value_type value_type
Typename of values.
GeneralFad< ValueT, StorageType > GeneralFadType
Sacado::Fad::ViewFad< const ValueType, length, stride, Sacado::Fad::DVFad< const ValueType > > type
#define SACADO_ENABLE_EXPR_CTOR_DECL
DVFad(const Expr< S > &x, SACADO_ENABLE_EXPR_CTOR_DECL)
Copy constructor from any Expression object.
DVFad(const int sz, const int i, ValueT *x, ValueT *dx)
Constructor with supplied memory and index i.
ExprType::scalar_type scalar_type
Typename of scalar's (which may be different from T)
#define KOKKOS_INLINE_FUNCTION
#define SACADO_ENABLE_VALUE_FUNC(RETURN_TYPE)
Determine whether a given type is an expression.
Sacado::Fad::ViewFad< ValueType, length, stride, Sacado::Fad::DVFad< ValueType > > type
Meta-function for determining concrete base expression.
Fad::DVFad< T >::base_expr_type type
Get the base Fad type from a view/expression.
GeneralFad< VectorDynamicStorage< T > > DVFad
VectorDynamicStorage< ValueT > StorageType
Base classes.
#define SACADO_ENABLE_EXPR_FUNC(RETURN_TYPE)
Forward-mode AD class using dynamic memory allocation and expression templates.
Meta-function for determining nesting with an expression.
DerivInit
Enum use to signal whether the derivative array should be initialized in AD object constructors...
DVFad()
Default constructor.
DVFad(const DVFad &x)
Copy constructor.
Turn DVFad into a meta-function class usable with mpl::apply.
DVFad(const int sz, const ValueT &x, const DerivInit zero_out=InitDerivArray)
Constructor with size sz and value x.
ScalarType< ValueT >::type ScalarT
Typename of scalar's (which may be different from ValueT)
Derivative array storage class using dynamic memory allocation.
static const unsigned value
DVFad(const S &x, SACADO_ENABLE_VALUE_CTOR_DECL)
Constructor with supplied value x convertible to ValueT.
DVFad(const int sz, ValueT *x, ValueT *dx, bool zero_out=false)
Constructor with supplied memory.
Initialize the derivative array.
Expr< GeneralFadType > ExprType
DVFad(const int sz, const int i, const ValueT &x)
Constructor with size sz, index i, and value x.
Forward-mode AD class templated on the storage for the derivative array.
Get view type for any Fad type.