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.

Classes

struct  LocalAccumOp

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).

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.

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.

Definition at line 72 of file Sacado_ELRFad_GeneralFad.hpp.


Member Typedef Documentation

template<typename T, typename Storage>
typedef T Sacado::ELRFad::GeneralFad< T, Storage >::value_type

Typename of values.

Reimplemented in Sacado::ELRFad::Expr< GeneralFad< T, Storage > >.

Definition at line 77 of file Sacado_ELRFad_GeneralFad.hpp.

template<typename T, typename Storage>
typedef ScalarType<T>::type Sacado::ELRFad::GeneralFad< T, Storage >::scalar_type

Typename of scalar's (which may be different from T).

Definition at line 80 of file Sacado_ELRFad_GeneralFad.hpp.


Constructor & Destructor Documentation

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

Default constructor.

Definition at line 88 of file Sacado_ELRFad_GeneralFad.hpp.

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

Definition at line 94 of file Sacado_ELRFad_GeneralFad.hpp.

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

Definition at line 100 of file Sacado_ELRFad_GeneralFad.hpp.

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.

Definition at line 108 of file Sacado_ELRFad_GeneralFad.hpp.

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

Copy constructor.

Definition at line 114 of file Sacado_ELRFad_GeneralFad.hpp.

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

Copy constructor from any Expression object.

Definition at line 100 of file Sacado_ELRFad_GeneralFadImp.hpp.

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

Destructor.

Definition at line 121 of file Sacado_ELRFad_GeneralFad.hpp.


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.

Definition at line 137 of file Sacado_ELRFad_GeneralFadImp.hpp.

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

Returns number of derivative components that can be stored without reallocation.

Definition at line 143 of file Sacado_ELRFad_GeneralFad.hpp.

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

Returns true if derivative array is not empty.

Definition at line 146 of file Sacado_ELRFad_GeneralFad.hpp.

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

Returns true if derivative array is empty.

Definition at line 149 of file Sacado_ELRFad_GeneralFad.hpp.

template<typename T, typename Storage>
void Sacado::ELRFad::GeneralFad< T, Storage >::setIsConstant ( bool  is_const  )  [inline]

Set whether variable is constant.

Definition at line 152 of file Sacado_ELRFad_GeneralFad.hpp.

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

Assignment operator with constant right-hand-side.

Definition at line 149 of file Sacado_ELRFad_GeneralFadImp.hpp.

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

Assignment with Expr right-hand-side.

Definition at line 163 of file Sacado_ELRFad_GeneralFadImp.hpp.

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

Assignment operator with any expression right-hand-side.

Definition at line 175 of file Sacado_ELRFad_GeneralFadImp.hpp.

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

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

Definition at line 213 of file Sacado_ELRFad_GeneralFadImp.hpp.

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

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

Definition at line 222 of file Sacado_ELRFad_GeneralFadImp.hpp.

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

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

Definition at line 231 of file Sacado_ELRFad_GeneralFadImp.hpp.

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

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

Definition at line 244 of file Sacado_ELRFad_GeneralFadImp.hpp.

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.

Definition at line 258 of file Sacado_ELRFad_GeneralFadImp.hpp.

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.

Definition at line 268 of file Sacado_ELRFad_GeneralFadImp.hpp.

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.

Definition at line 278 of file Sacado_ELRFad_GeneralFadImp.hpp.

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.

Definition at line 292 of file Sacado_ELRFad_GeneralFadImp.hpp.

template<typename T , typename Storage >
template<typename S >
Sacado::ELRFad::GeneralFad< T, Storage > & Sacado::ELRFad::GeneralFad< T, Storage >::operator+= ( const Expr< S > &  x  )  [inline]

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

Definition at line 306 of file Sacado_ELRFad_GeneralFadImp.hpp.

template<typename T , typename Storage >
template<typename S >
Sacado::ELRFad::GeneralFad< T, Storage > & Sacado::ELRFad::GeneralFad< T, Storage >::operator-= ( const Expr< S > &  x  )  [inline]

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

Definition at line 371 of file Sacado_ELRFad_GeneralFadImp.hpp.

template<typename T , typename Storage >
template<typename S >
Sacado::ELRFad::GeneralFad< T, Storage > & Sacado::ELRFad::GeneralFad< T, Storage >::operator*= ( const Expr< S > &  x  )  [inline]

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

Definition at line 435 of file Sacado_ELRFad_GeneralFadImp.hpp.

template<typename T , typename Storage >
template<typename S >
Sacado::ELRFad::GeneralFad< T, Storage > & Sacado::ELRFad::GeneralFad< T, Storage >::operator/= ( const Expr< S > &  x  )  [inline]

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

Definition at line 509 of file Sacado_ELRFad_GeneralFadImp.hpp.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Generated on Wed Apr 13 10:19:44 2011 for Sacado Package Browser (Single Doxygen Collection) by  doxygen 1.6.3