Sacado Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Public Types | Public Member Functions | List of all members
Sacado::FAD_NS::SLFad< ValueT, Num > Class Template Reference

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

#include <Sacado_Fad_SLFad_tmpl.hpp>

Inherits Expr< GeneralFad< ValueT, Fad::StaticStorage< ValueT, Num > > >.

Classes

struct  apply
 Turn SLFad into a meta-function class usable with mpl::apply. More...
 
struct  apply_N
 Replace static derivative length. More...
 

Public Types

typedef Fad::StaticStorage
< ValueT, Num > 
StorageType
 Base classes. More...
 
typedef GeneralFad< ValueT,
StorageType
GeneralFadType
 
typedef Expr< GeneralFadTypeExprType
 
typedef ExprType::value_type value_type
 Typename of values. More...
 
typedef ExprType::scalar_type scalar_type
 Typename of scalar's (which may be different from value_type) More...
 
typedef ScalarType< ValueT >::type ScalarT
 Typename of scalar's (which may be different from ValueT) More...
 

Public Member Functions

SACADO_INLINE_FUNCTION ~SLFad ()
 Destructor. More...
 

Initialization methods

SACADO_INLINE_FUNCTION SLFad ()
 Default constructor. More...
 
template<typename S >
SACADO_INLINE_FUNCTION SLFad (const S &x, SACADO_ENABLE_VALUE_CTOR_DECL)
 Constructor with supplied value x convertible to ValueT. More...
 
SACADO_INLINE_FUNCTION SLFad (const int sz, const ValueT &x, const DerivInit zero_out=InitDerivArray)
 Constructor with size sz and value x. More...
 
SACADO_INLINE_FUNCTION SLFad (const int sz, const int i, const ValueT &x)
 Constructor with size sz, index i, and value x. More...
 
SACADO_INLINE_FUNCTION SLFad (const SLFad &x)
 Copy constructor. More...
 
template<typename S >
SACADO_INLINE_FUNCTION SLFad (const Expr< S > &x, SACADO_ENABLE_EXPR_CTOR_DECL)
 Copy constructor from any Expression object. More...
 

Detailed Description

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

Forward-mode AD class using static memory allocation with long arrays and 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::FAD_NS::GeneralFad.

Definition at line 37 of file Sacado_Fad_SLFad_tmpl.hpp.

Member Typedef Documentation

template<typename ValueT , int Num>
typedef Fad::StaticStorage<ValueT,Num> Sacado::FAD_NS::SLFad< ValueT, Num >::StorageType

Base classes.

Definition at line 43 of file Sacado_Fad_SLFad_tmpl.hpp.

template<typename ValueT , int Num>
typedef GeneralFad<ValueT,StorageType> Sacado::FAD_NS::SLFad< ValueT, Num >::GeneralFadType

Definition at line 44 of file Sacado_Fad_SLFad_tmpl.hpp.

template<typename ValueT , int Num>
typedef Expr<GeneralFadType> Sacado::FAD_NS::SLFad< ValueT, Num >::ExprType

Definition at line 45 of file Sacado_Fad_SLFad_tmpl.hpp.

template<typename ValueT , int Num>
typedef ExprType::value_type Sacado::FAD_NS::SLFad< ValueT, Num >::value_type

Typename of values.

Definition at line 48 of file Sacado_Fad_SLFad_tmpl.hpp.

template<typename ValueT , int Num>
typedef ExprType::scalar_type Sacado::FAD_NS::SLFad< ValueT, Num >::scalar_type

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

Definition at line 51 of file Sacado_Fad_SLFad_tmpl.hpp.

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

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

Definition at line 54 of file Sacado_Fad_SLFad_tmpl.hpp.

Constructor & Destructor Documentation

template<typename ValueT , int Num>
SACADO_INLINE_FUNCTION Sacado::FAD_NS::SLFad< ValueT, Num >::SLFad ( )
inline

Default constructor.

Initializes value to 0 and derivative array is empty

Definition at line 81 of file Sacado_Fad_SLFad_tmpl.hpp.

template<typename ValueT , int Num>
template<typename S >
SACADO_INLINE_FUNCTION Sacado::FAD_NS::SLFad< ValueT, Num >::SLFad ( const S &  x,
SACADO_ENABLE_VALUE_CTOR_DECL   
)
inline

Constructor with supplied value x convertible to ValueT.

Initializes value to ValueT(x) and derivative array is empty.

Definition at line 90 of file Sacado_Fad_SLFad_tmpl.hpp.

template<typename ValueT , int Num>
SACADO_INLINE_FUNCTION Sacado::FAD_NS::SLFad< ValueT, Num >::SLFad ( const int  sz,
const ValueT &  x,
const DerivInit  zero_out = InitDerivArray 
)
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_SLFad_tmpl.hpp.

template<typename ValueT , int Num>
SACADO_INLINE_FUNCTION Sacado::FAD_NS::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 108 of file Sacado_Fad_SLFad_tmpl.hpp.

template<typename ValueT , int Num>
SACADO_INLINE_FUNCTION Sacado::FAD_NS::SLFad< ValueT, Num >::SLFad ( const SLFad< ValueT, Num > &  x)
inline

Copy constructor.

Definition at line 113 of file Sacado_Fad_SLFad_tmpl.hpp.

template<typename ValueT , int Num>
template<typename S >
SACADO_INLINE_FUNCTION Sacado::FAD_NS::SLFad< ValueT, Num >::SLFad ( const Expr< S > &  x,
SACADO_ENABLE_EXPR_CTOR_DECL   
)
inline

Copy constructor from any Expression object.

Definition at line 119 of file Sacado_Fad_SLFad_tmpl.hpp.

template<typename ValueT , int Num>
SACADO_INLINE_FUNCTION Sacado::FAD_NS::SLFad< ValueT, Num >::~SLFad ( )
inline

Destructor.

Definition at line 126 of file Sacado_Fad_SLFad_tmpl.hpp.


The documentation for this class was generated from the following file: