Sacado Package Browser (Single Doxygen Collection) Version of the Day
Classes | Public Types | Public Member Functions
Sacado::Fad::SimpleFad< ValueT > Class Template Reference

Forward-mode AD class using dynamic memory allocation but no expression templates. More...

#include <Sacado_Fad_SimpleFad.hpp>

Inheritance diagram for Sacado::Fad::SimpleFad< ValueT >:
Inheritance graph
[legend]

List of all members.

Classes

struct  apply
 Turn SimpleFad into a meta-function class usable with mpl::apply. More...

Public Types

typedef ScalarType< ValueT >::type ScalarT
 Typename of scalar's (which may be different from ValueT)

Public Member Functions

 ~SimpleFad ()
 Destructor.
SimpleFadoperator= (const ValueT &v)
 Assignment operator with constant right-hand-side.
SimpleFadoperator= (const typename dummy< ValueT, ScalarT >::type &v)
 Assignment operator with constant right-hand-side.
SimpleFadoperator= (const SimpleFad &x)
 Assignment operator with SimpleFad right-hand-side.
SimpleFadoperator+= (const SimpleFad &x)
 Addition-assignment operator with Expr right-hand-side.
SimpleFadoperator-= (const SimpleFad &x)
 Subtraction-assignment operator with Expr right-hand-side.
SimpleFadoperator*= (const SimpleFad &x)
 Multiplication-assignment operator with Expr right-hand-side.
SimpleFadoperator/= (const SimpleFad &x)
 Division-assignment operator with Expr right-hand-side.

Initialization methods

 SimpleFad ()
 Default constructor.
 SimpleFad (const ValueT &x)
 Constructor with supplied value x of type ValueT.
 SimpleFad (const typename dummy< ValueT, ScalarT >::type &x)
 Constructor with supplied value x of type ScalarT.
 SimpleFad (const int sz, const ValueT &x)
 Constructor with size sz and value x.
 SimpleFad (const int sz, const int i, const ValueT &x)
 Constructor with size sz, index i, and value x.
 SimpleFad (const SimpleFad &x)
 Copy constructor.
 SimpleFad (const SimpleFad &x, const ValueT &v, const ValueT &partial)
 Tangent copy constructor.

Detailed Description

template<typename ValueT>
class Sacado::Fad::SimpleFad< ValueT >

Forward-mode AD class using dynamic memory allocation but no 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::GeneralFad.

Definition at line 54 of file Sacado_Fad_SimpleFad.hpp.


Member Typedef Documentation

template<typename ValueT>
typedef ScalarType<ValueT>::type Sacado::Fad::SimpleFad< ValueT >::ScalarT

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

Definition at line 59 of file Sacado_Fad_SimpleFad.hpp.


Constructor & Destructor Documentation

template<typename ValueT>
Sacado::Fad::SimpleFad< ValueT >::SimpleFad ( ) [inline]

Default constructor.

Initializes value to 0 and derivative array is empty

Definition at line 76 of file Sacado_Fad_SimpleFad.hpp.

template<typename ValueT>
Sacado::Fad::SimpleFad< ValueT >::SimpleFad ( const ValueT &  x) [inline]

Constructor with supplied value x of type ValueT.

Initializes value to x and derivative array is empty

Definition at line 83 of file Sacado_Fad_SimpleFad.hpp.

template<typename ValueT>
Sacado::Fad::SimpleFad< ValueT >::SimpleFad ( const typename dummy< ValueT, ScalarT >::type &  x) [inline]

Constructor with supplied value x of type ScalarT.

Initializes value to ValueT(x) and derivative array is empty. Creates a dummy overload when ValueT and ScalarT are the same type.

Definition at line 91 of file Sacado_Fad_SimpleFad.hpp.

template<typename ValueT>
Sacado::Fad::SimpleFad< ValueT >::SimpleFad ( const int  sz,
const ValueT &  x 
) [inline]

Constructor with size sz and value x.

Initializes value to x and derivative array 0 of length sz

Definition at line 98 of file Sacado_Fad_SimpleFad.hpp.

template<typename ValueT>
Sacado::Fad::SimpleFad< ValueT >::SimpleFad ( const int  sz,
const int  i,
const ValueT &  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 107 of file Sacado_Fad_SimpleFad.hpp.

template<typename ValueT>
Sacado::Fad::SimpleFad< ValueT >::SimpleFad ( const SimpleFad< ValueT > &  x) [inline]

Copy constructor.

Definition at line 111 of file Sacado_Fad_SimpleFad.hpp.

template<typename ValueT>
Sacado::Fad::SimpleFad< ValueT >::SimpleFad ( const SimpleFad< ValueT > &  x,
const ValueT &  v,
const ValueT &  partial 
) [inline]

Tangent copy constructor.

Definition at line 115 of file Sacado_Fad_SimpleFad.hpp.

template<typename ValueT>
Sacado::Fad::SimpleFad< ValueT >::~SimpleFad ( ) [inline]

Destructor.

Definition at line 124 of file Sacado_Fad_SimpleFad.hpp.


Member Function Documentation

template<typename ValueT>
SimpleFad& Sacado::Fad::SimpleFad< ValueT >::operator= ( const ValueT &  v) [inline]

Assignment operator with constant right-hand-side.

Reimplemented from Sacado::Fad::GeneralFad< ValueT, DynamicStorage< ValueT > >.

Definition at line 127 of file Sacado_Fad_SimpleFad.hpp.

template<typename ValueT>
SimpleFad& Sacado::Fad::SimpleFad< ValueT >::operator= ( const typename dummy< ValueT, ScalarT >::type &  v) [inline]

Assignment operator with constant right-hand-side.

Creates a dummy overload when ValueT and ScalarT are the same type.

Definition at line 136 of file Sacado_Fad_SimpleFad.hpp.

template<typename ValueT>
SimpleFad& Sacado::Fad::SimpleFad< ValueT >::operator= ( const SimpleFad< ValueT > &  x) [inline]

Assignment operator with SimpleFad right-hand-side.

Definition at line 142 of file Sacado_Fad_SimpleFad.hpp.

template<typename ValueT >
Sacado::Fad::SimpleFad< ValueT > & Sacado::Fad::SimpleFad< ValueT >::operator+= ( const SimpleFad< ValueT > &  x) [inline]

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

Definition at line 37 of file Sacado_Fad_SimpleFadImp.hpp.

template<typename ValueT >
Sacado::Fad::SimpleFad< ValueT > & Sacado::Fad::SimpleFad< ValueT >::operator-= ( const SimpleFad< ValueT > &  x) [inline]

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

Definition at line 74 of file Sacado_Fad_SimpleFadImp.hpp.

template<typename ValueT >
Sacado::Fad::SimpleFad< ValueT > & Sacado::Fad::SimpleFad< ValueT >::operator*= ( const SimpleFad< ValueT > &  x) [inline]

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

Definition at line 112 of file Sacado_Fad_SimpleFadImp.hpp.

template<typename ValueT >
Sacado::Fad::SimpleFad< ValueT > & Sacado::Fad::SimpleFad< ValueT >::operator/= ( const SimpleFad< ValueT > &  x) [inline]

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

Definition at line 156 of file Sacado_Fad_SimpleFadImp.hpp.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines