Sacado
Development
|
GeneralFad expression template specialization. More...
#include <Sacado_ELRCacheFad_GeneralFadExpr.hpp>
Public Types | |
typedef GeneralFad< T, Storage > ::value_type | value_type |
typedef GeneralFad< T, Storage > ::scalar_type | scalar_type |
typedef BaseExpr< GeneralFad < T, Storage > >::type | base_expr_type |
Typename of base-expressions. | |
Public Types inherited from Sacado::ELRCacheFad::GeneralFad< T, Storage > | |
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 | |
Expr () | |
Default constructor. | |
template<typename S > | |
Expr (const S &x, typename Sacado::mpl::enable_if< Sacado::mpl::is_convertible< S, value_type >, void * >::type=0) | |
Constructor with supplied value x . More... | |
Expr (const int sz, const T &x, const DerivInit zero_out=InitDerivArray) | |
Constructor with size sz and value x . More... | |
Expr (const int sz, const int i, const T &x) | |
Constructor with size sz , index i , and value x . More... | |
Expr (const Storage &s) | |
Constructor with supplied storage s . | |
Expr (const Expr &x) | |
Copy constructor. | |
template<typename S > | |
Expr (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. | |
~Expr () | |
Destructor. | |
void | computePartials (const T &bar, value_type partials[]) const |
Return partials w.r.t. arguments. | |
void | getTangents (int i, value_type dots[]) const |
Return tangent component i of arguments. | |
template<int Arg> | |
bool | isActive () const |
Return whether argument is active. | |
bool | isLinear () const |
Return whether expression is linear. | |
template<int Arg> | |
T | getTangent (int i) const |
Return tangent component i of argument Arg . | |
const value_type * | getDx (int j) const |
Get dx array. | |
Public Member Functions inherited from Sacado::ELRCacheFad::GeneralFad< T, Storage > | |
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. | |
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. | |
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. | |
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. | |
Static Public Attributes | |
static const int | num_args = 1 |
Number of arguments. | |
static const bool | is_linear = true |
Is expression linear. | |
GeneralFad expression template specialization.
This template class represents a simple GeneralFad expression and mixes-in the GeneralFad interface and the expression template interface using the caching expression-level-revese-mode 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.