Sacado
Development
|
Forward-mode AD class using dynamic memory allocation and expression templates. More...
#include <Sacado_Fad_DVFad.hpp>
Classes | |
struct | apply |
Turn DVFad into a meta-function class usable with mpl::apply. More... | |
Public Types | |
typedef VectorDynamicStorage < ValueT > | StorageType |
Base classes. | |
typedef GeneralFad< ValueT, StorageType > | GeneralFadType |
typedef Expr< GeneralFadType > | ExprType |
typedef ExprType::value_type | value_type |
Typename of values. | |
typedef ExprType::scalar_type | scalar_type |
Typename of scalar's (which may be different from T) | |
typedef ScalarType< ValueT >::type | ScalarT |
Typename of scalar's (which may be different from ValueT) | |
Public Types inherited from Sacado::Fad::Expr< GeneralFad< ValueT, VectorDynamicStorage< ValueT > > > | |
typedef GeneralFad< ValueT, VectorDynamicStorage< ValueT > > | value_type |
Public Member Functions | |
~DVFad () | |
Destructor. | |
template<typename S > | |
Sacado::mpl::enable_if < std::is_convertible< S, value_type >, DVFad & >::type | operator= (const S &v) |
Assignment operator with constant right-hand-side. | |
DVFad & | operator= (const DVFad &x) |
Assignment operator with DVFad right-hand-side. | |
template<typename S > | |
mpl::enable_if_c < std::is_convertible < typename Expr< S > ::value_type, value_type > ::value &&ExprLevel< typename Expr< S >::value_type >::value==ExprLevel < value_type >::value, DVFad & > ::type | operator= (const Expr< S > &x) |
Assignment operator with any expression right-hand-side. | |
template<typename S > | |
Sacado::mpl::enable_if < std::is_convertible< S, value_type >, DVFad & >::type | operator+= (const S &x) |
Addition-assignment operator with constant right-hand-side. | |
template<typename S > | |
Sacado::mpl::enable_if < std::is_convertible< S, value_type >, DVFad & >::type | operator-= (const S &x) |
Subtraction-assignment operator with constant right-hand-side. | |
template<typename S > | |
Sacado::mpl::enable_if < std::is_convertible< S, value_type >, DVFad & >::type | operator*= (const S &x) |
Multiplication-assignment operator with constant right-hand-side. | |
template<typename S > | |
Sacado::mpl::enable_if < std::is_convertible< S, value_type >, DVFad & >::type | operator/= (const S &x) |
Division-assignment operator with constant right-hand-side. | |
DVFad & | operator+= (const DVFad &x) |
Addition-assignment operator with DVFad right-hand-side. | |
DVFad & | operator-= (const DVFad &x) |
Subtraction-assignment operator with DVFad right-hand-side. | |
DVFad & | operator*= (const DVFad &x) |
Multiplication-assignment operator with DVFad right-hand-side. | |
DVFad & | operator/= (const DVFad &x) |
Division-assignment operator with DVFad right-hand-side. | |
template<typename S > | |
mpl::enable_if_c < std::is_convertible < typename Expr< S > ::value_type, value_type > ::value &&ExprLevel< typename Expr< S >::value_type >::value==ExprLevel < value_type >::value, DVFad & > ::type | operator+= (const Expr< S > &x) |
Addition-assignment operator with Expr right-hand-side. | |
template<typename S > | |
mpl::enable_if_c < std::is_convertible < typename Expr< S > ::value_type, value_type > ::value &&ExprLevel< typename Expr< S >::value_type >::value==ExprLevel < value_type >::value, DVFad & > ::type | operator-= (const Expr< S > &x) |
Subtraction-assignment operator with Expr right-hand-side. | |
template<typename S > | |
mpl::enable_if_c < std::is_convertible < typename Expr< S > ::value_type, value_type > ::value &&ExprLevel< typename Expr< S >::value_type >::value==ExprLevel < value_type >::value, DVFad & > ::type | operator*= (const Expr< S > &x) |
Multiplication-assignment operator with Expr right-hand-side. | |
template<typename S > | |
mpl::enable_if_c < std::is_convertible < typename Expr< S > ::value_type, value_type > ::value &&ExprLevel< typename Expr< S >::value_type >::value==ExprLevel < value_type >::value, DVFad & > ::type | operator/= (const Expr< S > &x) |
Division-assignment operator with Expr right-hand-side. | |
Initialization methods | |
DVFad () | |
Default constructor. More... | |
template<typename S > | |
DVFad (const S &x, typename Sacado::mpl::enable_if< std::is_convertible< S, value_type >, void * >::type=0) | |
Constructor with supplied value x convertible to ValueT. More... | |
DVFad (const int sz, const ValueT &x, const DerivInit zero_out=InitDerivArray) | |
Constructor with size sz and value x . More... | |
DVFad (const int sz, const int i, const ValueT &x) | |
Constructor with size sz , index i , and value x . More... | |
DVFad (const int sz, ValueT *x, ValueT *dx, bool zero_out=false) | |
Constructor with supplied memory. More... | |
DVFad (const int sz, const int i, ValueT *x, ValueT *dx) | |
Constructor with supplied memory and index i . More... | |
DVFad (const DVFad &x) | |
Copy constructor. | |
template<typename S > | |
DVFad (const Expr< S > &x, typename mpl::enable_if_c< std::is_convertible< typename Expr< S >::value_type, value_type >::value &&ExprLevel< typename Expr< S >::value_type >::value==ExprLevel< value_type >::value, void * >::type=0) | |
Copy constructor from any Expression object. | |
Forward-mode AD class using dynamic memory allocation and expression templates.
This is the user-level class for forward mode AD with dynamic memory allocation, and is appropriate for whenever the number of derivative components is not known at compile time. The user interface is provided by Sacado::Fad::GeneralVFad.
|
inline |
Default constructor.
Initializes value to 0 and derivative array is empty
|
inline |
Constructor with supplied value x
convertible to ValueT.
Initializes value to ValueT(x)
and derivative array is empty.
|
inline |
Constructor with size sz
and value x
.
Initializes value to x
and derivative array 0 of length sz
|
inline |
Constructor with size sz
, index i
, and value x
.
Initializes value to x
and derivative array of length sz
as row i
of the identity matrix, i.e., sets derivative component i
to 1 and all other's to zero.
|
inline |
Constructor with supplied memory.
Initializes value to point to x
and derivative array to point todx
. Derivative array is zero'd out if zero_out
is true.
|
inline |
Constructor with supplied memory and index i
.
Initializes value to point to x
and derivative array to point todx
. Initializes derivative array row i
of the identity matrix, i.e., sets derivative component i
to 1 and all other's to zero.