|
Sacado
Development
|
Forward-mode AD class templated on the storage for the derivative array. More...
#include <Sacado_ELRCacheFad_GeneralFad.hpp>


Classes | |
| struct | FastLocalAccumOp |
| struct | SlowLocalAccumOp |
Public Types | |
| typedef RemoveConst< T >::type | value_type |
| Typename of values. | |
|
typedef ScalarType< value_type > ::type | scalar_type |
| Typename of scalar's (which may be different from T) | |
Public Member Functions | |
Initialization methods | |
| GeneralFad () | |
| Default constructor. | |
| template<typename S > | |
| GeneralFad (const S &x, typename Sacado::mpl::enable_if< Sacado::mpl::is_convertible< S, value_type >, void * >::type=0) | |
Constructor with supplied value x. More... | |
| GeneralFad (const int sz, const T &x, const DerivInit zero_out=InitDerivArray) | |
Constructor with size sz and value x. More... | |
| GeneralFad (const int sz, const int i, const T &x) | |
Constructor with size sz, index i, and value x. More... | |
| GeneralFad (const Storage &s) | |
Constructor with supplied storage s. | |
| GeneralFad (const GeneralFad &x) | |
| Copy constructor. | |
| template<typename S > | |
| GeneralFad (const Expr< S > &x, typename mpl::enable_if_c< mpl::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. | |
| ~GeneralFad () | |
| Destructor. | |
| void | diff (const int ith, const int n) |
Set GeneralFad object as the ith independent variable. More... | |
| void | setUpdateValue (bool update_val) |
| Set whether this Fad object should update values. | |
| bool | updateValue () const |
| Return whether this Fad object has an updated value. | |
| void | cache () const |
| Cache values. | |
| template<typename S > | |
| mpl::enable_if_c < mpl::is_convertible < typename Expr< S > ::value_type, value_type > ::value &&ExprLevel< typename Expr< S >::value_type >::value==ExprLevel < value_type >::value, bool > ::type | isEqualTo (const Expr< S > &x) const |
| Returns whether two Fad objects have the same values. | |
Derivative accessor methods | |
| int | availableSize () const |
| Returns number of derivative components that can be stored without reallocation. | |
| bool | hasFastAccess () const |
| Returns true if derivative array is not empty. | |
| bool | isPassive () const |
| Returns true if derivative array is empty. | |
| void | setIsConstant (bool is_const) |
| Set whether variable is constant. | |
Assignment operators | |
| template<typename S > | |
| Sacado::mpl::enable_if < Sacado::mpl::is_convertible < S, value_type >, GeneralFad & > ::type | operator= (const S &v) |
| Assignment operator with constant right-hand-side. | |
| GeneralFad & | operator= (const GeneralFad &x) |
| Assignment with Expr right-hand-side. | |
| template<typename S > | |
| mpl::enable_if_c < mpl::is_convertible < typename Expr< S > ::value_type, value_type > ::value &&ExprLevel< typename Expr< S >::value_type >::value==ExprLevel < value_type >::value, GeneralFad & >::type | operator= (const Expr< S > &x) |
| Assignment operator with any expression right-hand-side. | |
Unary operators | |
| template<typename S > | |
| Sacado::mpl::enable_if < Sacado::mpl::is_convertible < S, value_type >, GeneralFad & > ::type | operator+= (const S &v) |
| Addition-assignment operator with constant right-hand-side. | |
| template<typename S > | |
| Sacado::mpl::enable_if < Sacado::mpl::is_convertible < S, value_type >, GeneralFad & > ::type | operator-= (const S &v) |
| Subtraction-assignment operator with constant right-hand-side. | |
| template<typename S > | |
| Sacado::mpl::enable_if < Sacado::mpl::is_convertible < S, value_type >, GeneralFad & > ::type | operator*= (const S &v) |
| Multiplication-assignment operator with constant right-hand-side. | |
| template<typename S > | |
| Sacado::mpl::enable_if < Sacado::mpl::is_convertible < S, value_type >, GeneralFad & > ::type | operator/= (const S &v) |
| Division-assignment operator with constant right-hand-side. | |
| GeneralFad & | operator+= (const GeneralFad &x) |
| Addition-assignment operator with GeneralFad right-hand-side. | |
| GeneralFad & | operator-= (const GeneralFad &x) |
| Subtraction-assignment operator with GeneralFad right-hand-side. | |
| GeneralFad & | operator*= (const GeneralFad &x) |
| Multiplication-assignment operator with GeneralFad right-hand-side. | |
| GeneralFad & | operator/= (const GeneralFad &x) |
| Division-assignment operator with GeneralFad right-hand-side. | |
| template<typename S > | |
| mpl::enable_if_c < mpl::is_convertible < typename Expr< S > ::value_type, value_type > ::value &&ExprLevel< typename Expr< S >::value_type >::value==ExprLevel < value_type >::value, GeneralFad & >::type | operator+= (const Expr< S > &x) |
| Addition-assignment operator with Expr right-hand-side. | |
| template<typename S > | |
| mpl::enable_if_c < mpl::is_convertible < typename Expr< S > ::value_type, value_type > ::value &&ExprLevel< typename Expr< S >::value_type >::value==ExprLevel < value_type >::value, GeneralFad & >::type | operator-= (const Expr< S > &x) |
| Subtraction-assignment operator with Expr right-hand-side. | |
| template<typename S > | |
| mpl::enable_if_c < mpl::is_convertible < typename Expr< S > ::value_type, value_type > ::value &&ExprLevel< typename Expr< S >::value_type >::value==ExprLevel < value_type >::value, GeneralFad & >::type | operator*= (const Expr< S > &x) |
| Multiplication-assignment operator with Expr right-hand-side. | |
| template<typename S > | |
| mpl::enable_if_c < mpl::is_convertible < typename Expr< S > ::value_type, value_type > ::value &&ExprLevel< typename Expr< S >::value_type >::value==ExprLevel < value_type >::value, GeneralFad & >::type | operator/= (const Expr< S > &x) |
| Division-assignment operator with Expr right-hand-side. | |
Forward-mode AD class templated on the storage for the derivative array.
This class provides a general forward mode AD implementation for any type of derivative array storage. It does not incorporate expression templates.
|
inline |
Constructor with supplied value x.
Initializes value to 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 |
Set GeneralFad object as the ith independent variable.
Sets the derivative array of length n to the ith row of the identity matrix and has the same affect as the Implementation(const int sz, const int i, const T & x) constructor.
1.8.5