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

Forward-mode AD class using static memory allocation with long arrays and caching expression templates. More...

#include <Sacado_CacheFad_SLFad.hpp>

Inheritance diagram for Sacado::CacheFad::SLFad< ValueT, Num >:
Inheritance graph
[legend]

List of all members.

Classes

struct  apply
 Turn SLFad 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

 ~SLFad ()
 Destructor.
SLFadoperator= (const ValueT &v)
 Assignment operator with constant right-hand-side.
SLFadoperator= (const typename dummy< ValueT, ScalarT >::type &v)
 Assignment operator with constant right-hand-side.
SLFadoperator= (const SLFad &x)
 Assignment operator with DFad right-hand-side.
template<typename S >
SLFadoperator= (const Expr< S > &x)
 Assignment operator with any expression right-hand-side.

Initialization methods

 SLFad ()
 Default constructor.
 SLFad (const ValueT &x)
 Constructor with supplied value x.
 SLFad (const typename dummy< ValueT, ScalarT >::type &x)
 Constructor with supplied value x of type ScalarT.
 SLFad (const int sz, const ValueT &x)
 Constructor with size sz and value x.
 SLFad (const int sz, const int i, const ValueT &x)
 Constructor with size sz, index i, and value x.
 SLFad (const SLFad &x)
 Copy constructor.
template<typename S >
 SLFad (const Expr< S > &x)
 Copy constructor from any Expression object.

Detailed Description

template<typename ValueT, int Num>
class Sacado::CacheFad::SLFad< ValueT, Num >

Forward-mode AD class using static memory allocation with long arrays and caching expression templates.

This is the user-level class for forward mode AD with static memory allocation, and is appropriate for whenever the number of derivative components is known at compile time. The largest size of the derivative array is fixed by the template parameter Num while the actual size used is set by the sz argument to the constructor or the n argument to diff(). The user interface is provided by Sacado::CacheFad::GeneralFad. It is similar to Sacado::Fad::SLFad, except it uses the caching expression templates that cache the results of val() calculations for later dx() calculations.

Definition at line 65 of file Sacado_CacheFad_SLFad.hpp.


Member Typedef Documentation

template<typename ValueT, int Num>
typedef ScalarType<ValueT>::type Sacado::CacheFad::SLFad< ValueT, Num >::ScalarT

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

Definition at line 71 of file Sacado_CacheFad_SLFad.hpp.


Constructor & Destructor Documentation

template<typename ValueT, int Num>
Sacado::CacheFad::SLFad< ValueT, Num >::SLFad ( ) [inline]

Default constructor.

Initializes value to 0 and derivative array is empty

Definition at line 88 of file Sacado_CacheFad_SLFad.hpp.

template<typename ValueT, int Num>
Sacado::CacheFad::SLFad< ValueT, Num >::SLFad ( const ValueT &  x) [inline]

Constructor with supplied value x.

Initializes value to x and derivative array is empty

Definition at line 95 of file Sacado_CacheFad_SLFad.hpp.

template<typename ValueT, int Num>
Sacado::CacheFad::SLFad< ValueT, Num >::SLFad ( 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 103 of file Sacado_CacheFad_SLFad.hpp.

template<typename ValueT, int Num>
Sacado::CacheFad::SLFad< ValueT, Num >::SLFad ( 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 110 of file Sacado_CacheFad_SLFad.hpp.

template<typename ValueT, int Num>
Sacado::CacheFad::SLFad< ValueT, Num >::SLFad ( 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 119 of file Sacado_CacheFad_SLFad.hpp.

template<typename ValueT, int Num>
Sacado::CacheFad::SLFad< ValueT, Num >::SLFad ( const SLFad< ValueT, Num > &  x) [inline]

Copy constructor.

Definition at line 123 of file Sacado_CacheFad_SLFad.hpp.

template<typename ValueT, int Num>
template<typename S >
Sacado::CacheFad::SLFad< ValueT, Num >::SLFad ( const Expr< S > &  x) [inline]

Copy constructor from any Expression object.

Definition at line 127 of file Sacado_CacheFad_SLFad.hpp.

template<typename ValueT, int Num>
Sacado::CacheFad::SLFad< ValueT, Num >::~SLFad ( ) [inline]

Destructor.

Definition at line 133 of file Sacado_CacheFad_SLFad.hpp.


Member Function Documentation

template<typename ValueT, int Num>
SLFad& Sacado::CacheFad::SLFad< ValueT, Num >::operator= ( const ValueT &  v) [inline]

Assignment operator with constant right-hand-side.

Definition at line 136 of file Sacado_CacheFad_SLFad.hpp.

template<typename ValueT, int Num>
SLFad& Sacado::CacheFad::SLFad< ValueT, Num >::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 145 of file Sacado_CacheFad_SLFad.hpp.

template<typename ValueT, int Num>
SLFad& Sacado::CacheFad::SLFad< ValueT, Num >::operator= ( const SLFad< ValueT, Num > &  x) [inline]

Assignment operator with DFad right-hand-side.

Definition at line 151 of file Sacado_CacheFad_SLFad.hpp.

template<typename ValueT, int Num>
template<typename S >
SLFad& Sacado::CacheFad::SLFad< ValueT, Num >::operator= ( const Expr< S > &  x) [inline]

Assignment operator with any expression right-hand-side.

Definition at line 157 of file Sacado_CacheFad_SLFad.hpp.


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