Sacado::ELRFad::GeneralFad< T, Storage > Class Template Reference

Forward-mode AD class templated on the storage for the derivative array. More...

#include <Sacado_ELRFad_GeneralFad.hpp>

Inheritance diagram for Sacado::ELRFad::GeneralFad< T, Storage >:

Inheritance graph
[legend]
List of all members.

Public Types

typedef T value_type
 Typename of values.
typedef ScalarType< T >::type scalar_type
 Typename of scalar's (which may be different from T).

Public Member Functions

Initialization methods
 GeneralFad ()
 Default constructor.
 GeneralFad (const T &x)
 Constructor with supplied value x.
 GeneralFad (const int sz, const T &x)
 Constructor with size sz and value x.
 GeneralFad (const int sz, const int i, const T &x)
 Constructor with size sz, index i, and value x.
 GeneralFad (const GeneralFad &x)
 Copy constructor.
template<typename S>
 GeneralFad (const Expr< S > &x)
 Copy constructor from any Expression object.
 ~GeneralFad ()
 Destructor.
void diff (const int ith, const int n)
 Set GeneralFad object as the ith independent variable.
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
GeneralFadoperator= (const T &val)
 Assignment operator with constant right-hand-side.
GeneralFadoperator= (const GeneralFad &x)
 Assignment with Expr right-hand-side.
template<typename S>
GeneralFadoperator= (const Expr< S > &x)
 Assignment operator with any expression right-hand-side.
Unary operators
GeneralFadoperator+= (const T &x)
 Addition-assignment operator with constant right-hand-side.
GeneralFadoperator-= (const T &x)
 Subtraction-assignment operator with constant right-hand-side.
GeneralFadoperator *= (const T &x)
 Multiplication-assignment operator with constant right-hand-side.
GeneralFadoperator/= (const T &x)
 Division-assignment operator with constant right-hand-side.
GeneralFadoperator+= (const typename dummy< value_type, scalar_type >::type &x)
 Addition-assignment operator with constant right-hand-side.
GeneralFadoperator-= (const typename dummy< value_type, scalar_type >::type &x)
 Subtraction-assignment operator with constant right-hand-side.
GeneralFadoperator *= (const typename dummy< value_type, scalar_type >::type &x)
 Multiplication-assignment operator with constant right-hand-side.
GeneralFadoperator/= (const typename dummy< value_type, scalar_type >::type &x)
 Division-assignment operator with constant right-hand-side.
template<typename S>
GeneralFadoperator+= (const Expr< S > &x)
 Addition-assignment operator with Expr right-hand-side.
template<typename S>
GeneralFadoperator-= (const Expr< S > &x)
 Subtraction-assignment operator with Expr right-hand-side.
template<typename S>
GeneralFadoperator *= (const Expr< S > &x)
 Multiplication-assignment operator with Expr right-hand-side.
template<typename S>
GeneralFadoperator/= (const Expr< S > &x)
 Division-assignment operator with Expr right-hand-side.

Classes

struct  LocalAccumOp

Detailed Description

template<typename T, typename Storage>
class Sacado::ELRFad::GeneralFad< T, Storage >

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.


Constructor & Destructor Documentation

template<typename T, typename Storage>
Sacado::ELRFad::GeneralFad< T, Storage >::GeneralFad ( const T &  x  )  [inline]

Constructor with supplied value x.

Initializes value to x and derivative array is empty

template<typename T, typename Storage>
Sacado::ELRFad::GeneralFad< T, Storage >::GeneralFad ( const int  sz,
const T &  x 
) [inline]

Constructor with size sz and value x.

Initializes value to x and derivative array 0 of length sz

template<typename T, typename Storage>
Sacado::ELRFad::GeneralFad< T, Storage >::GeneralFad ( const int  sz,
const int  i,
const T &  x 
) [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.


Member Function Documentation

template<typename T, typename Storage>
void Sacado::ELRFad::GeneralFad< T, Storage >::diff ( const int  ith,
const int  n 
) [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.

template<typename T, typename Storage>
Sacado::ELRFad::GeneralFad< T, Storage > & Sacado::ELRFad::GeneralFad< T, Storage >::operator *= ( const typename dummy< value_type, scalar_type >::type &  x  )  [inline]

Multiplication-assignment operator with constant right-hand-side.

Creates a dummy overload when value_type and scalar_type are the same type.

template<typename T, typename Storage>
Sacado::ELRFad::GeneralFad< T, Storage > & Sacado::ELRFad::GeneralFad< T, Storage >::operator+= ( const typename dummy< value_type, scalar_type >::type &  x  )  [inline]

Addition-assignment operator with constant right-hand-side.

Creates a dummy overload when value_type and scalar_type are the same type.

template<typename T, typename Storage>
Sacado::ELRFad::GeneralFad< T, Storage > & Sacado::ELRFad::GeneralFad< T, Storage >::operator-= ( const typename dummy< value_type, scalar_type >::type &  x  )  [inline]

Subtraction-assignment operator with constant right-hand-side.

Creates a dummy overload when value_type and scalar_type are the same type.

template<typename T, typename Storage>
Sacado::ELRFad::GeneralFad< T, Storage > & Sacado::ELRFad::GeneralFad< T, Storage >::operator/= ( const typename dummy< value_type, scalar_type >::type &  x  )  [inline]

Division-assignment operator with constant right-hand-side.

Creates a dummy overload when value_type and scalar_type are the same type.


The documentation for this class was generated from the following files:
Generated on Tue Jul 13 09:38:11 2010 for Sacado by  doxygen 1.4.7