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 | Static Public Attributes | Protected Attributes | List of all members
Sacado::Fad::Exp::StaticFixedStorage< T, Num > Class Template Reference

Derivative array storage class using static, fixed memory allocation. More...

#include <Sacado_Fad_Exp_StaticFixedStorage.hpp>

Classes

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

Public Types

typedef std::remove_cv< T >::type value_type
 

Public Member Functions

 StaticFixedStorage ()=default
 Default constructor. More...
 
KOKKOS_INLINE_FUNCTION StaticFixedStorage (const T &x)
 Constructor with value. More...
 
KOKKOS_INLINE_FUNCTION StaticFixedStorage (const int sz, const T &x, const DerivInit zero_out)
 Constructor with size sz. More...
 
KOKKOS_INLINE_FUNCTION StaticFixedStorage (const StaticFixedStorage &x)
 Copy constructor. More...
 
 ~StaticFixedStorage ()=default
 Destructor. More...
 
KOKKOS_INLINE_FUNCTION
StaticFixedStorage
operator= (const StaticFixedStorage &x)
 Assignment. More...
 
KOKKOS_INLINE_FUNCTION
constexpr int 
size () const
 Returns number of derivative components. More...
 
KOKKOS_INLINE_FUNCTION
constexpr int 
length () const
 Returns array length. More...
 
KOKKOS_INLINE_FUNCTION void resize (int sz)
 Resize the derivative array to sz. More...
 
KOKKOS_INLINE_FUNCTION void resizeAndZero (int sz)
 Resize the derivative array to sz. More...
 
KOKKOS_INLINE_FUNCTION void expand (int sz)
 Expand derivative array to size sz. More...
 
KOKKOS_INLINE_FUNCTION void zero ()
 Zero out derivative array. More...
 
KOKKOS_INLINE_FUNCTION const Tval () const
 Returns value. More...
 
KOKKOS_INLINE_FUNCTION Tval ()
 Returns value. More...
 
KOKKOS_INLINE_FUNCTION const Tdx () const
 Returns derivative array. More...
 
KOKKOS_INLINE_FUNCTION T dx (int i) const
 Returns derivative component i with bounds checking. More...
 
KOKKOS_INLINE_FUNCTION TfastAccessDx (int i)
 Returns derivative component i without bounds checking. More...
 
KOKKOS_INLINE_FUNCTION const TfastAccessDx (int i) const
 Returns derivative component i without bounds checking. More...
 

Static Public Attributes

static constexpr bool is_statically_sized = true
 
static constexpr int static_size = Num
 

Protected Attributes

T val_
 Value. More...
 
T dx_ [Num]
 Derivative array. More...
 

Detailed Description

template<typename T, int Num>
class Sacado::Fad::Exp::StaticFixedStorage< T, Num >

Derivative array storage class using static, fixed memory allocation.

This class uses a statically allocated array whose dimension is fixed by the template parameter Num. The dimension cannot be resized.

Definition at line 49 of file Sacado_Fad_Exp_StaticFixedStorage.hpp.

Member Typedef Documentation

template<typename T , int Num>
typedef std::remove_cv<T>::type Sacado::Fad::Exp::StaticFixedStorage< T, Num >::value_type

Definition at line 53 of file Sacado_Fad_Exp_StaticFixedStorage.hpp.

Constructor & Destructor Documentation

template<typename T , int Num>
Sacado::Fad::Exp::StaticFixedStorage< T, Num >::StaticFixedStorage ( )
default

Default constructor.

template<typename T , int Num>
KOKKOS_INLINE_FUNCTION Sacado::Fad::Exp::StaticFixedStorage< T, Num >::StaticFixedStorage ( const T x)
inline

Constructor with value.

Definition at line 74 of file Sacado_Fad_Exp_StaticFixedStorage.hpp.

template<typename T , int Num>
KOKKOS_INLINE_FUNCTION Sacado::Fad::Exp::StaticFixedStorage< T, Num >::StaticFixedStorage ( const int  sz,
const T x,
const DerivInit  zero_out 
)
inline

Constructor with size sz.

Initializes derivative array 0 of length sz

Definition at line 84 of file Sacado_Fad_Exp_StaticFixedStorage.hpp.

template<typename T , int Num>
KOKKOS_INLINE_FUNCTION Sacado::Fad::Exp::StaticFixedStorage< T, Num >::StaticFixedStorage ( const StaticFixedStorage< T, Num > &  x)
inline

Copy constructor.

Can't make this " = default" because of scalar types that don't define a const copy consturctor (like Rad). We also can't leave it and let it be implicitly generated because of KOKKOS_INLINE_FUNCTION.

Definition at line 101 of file Sacado_Fad_Exp_StaticFixedStorage.hpp.

template<typename T , int Num>
Sacado::Fad::Exp::StaticFixedStorage< T, Num >::~StaticFixedStorage ( )
default

Destructor.

Member Function Documentation

template<typename T , int Num>
KOKKOS_INLINE_FUNCTION StaticFixedStorage& Sacado::Fad::Exp::StaticFixedStorage< T, Num >::operator= ( const StaticFixedStorage< T, Num > &  x)
inline

Assignment.

Can't make this " = default" because of scalar types that don't define a const operator= (like Rad). We also can't leave it and let it be implicitly generated because of KOKKOS_INLINE_FUNCTION.

Definition at line 117 of file Sacado_Fad_Exp_StaticFixedStorage.hpp.

template<typename T , int Num>
KOKKOS_INLINE_FUNCTION constexpr int Sacado::Fad::Exp::StaticFixedStorage< T, Num >::size ( ) const
inline

Returns number of derivative components.

Definition at line 128 of file Sacado_Fad_Exp_StaticFixedStorage.hpp.

template<typename T , int Num>
KOKKOS_INLINE_FUNCTION constexpr int Sacado::Fad::Exp::StaticFixedStorage< T, Num >::length ( ) const
inline

Returns array length.

Definition at line 132 of file Sacado_Fad_Exp_StaticFixedStorage.hpp.

template<typename T , int Num>
KOKKOS_INLINE_FUNCTION void Sacado::Fad::Exp::StaticFixedStorage< T, Num >::resize ( int  sz)
inline

Resize the derivative array to sz.

Definition at line 136 of file Sacado_Fad_Exp_StaticFixedStorage.hpp.

template<typename T , int Num>
KOKKOS_INLINE_FUNCTION void Sacado::Fad::Exp::StaticFixedStorage< T, Num >::resizeAndZero ( int  sz)
inline

Resize the derivative array to sz.

Definition at line 150 of file Sacado_Fad_Exp_StaticFixedStorage.hpp.

template<typename T , int Num>
KOKKOS_INLINE_FUNCTION void Sacado::Fad::Exp::StaticFixedStorage< T, Num >::expand ( int  sz)
inline

Expand derivative array to size sz.

Definition at line 160 of file Sacado_Fad_Exp_StaticFixedStorage.hpp.

template<typename T , int Num>
KOKKOS_INLINE_FUNCTION void Sacado::Fad::Exp::StaticFixedStorage< T, Num >::zero ( )
inline

Zero out derivative array.

Definition at line 170 of file Sacado_Fad_Exp_StaticFixedStorage.hpp.

template<typename T , int Num>
KOKKOS_INLINE_FUNCTION const T& Sacado::Fad::Exp::StaticFixedStorage< T, Num >::val ( ) const
inline

Returns value.

Definition at line 174 of file Sacado_Fad_Exp_StaticFixedStorage.hpp.

template<typename T , int Num>
KOKKOS_INLINE_FUNCTION T& Sacado::Fad::Exp::StaticFixedStorage< T, Num >::val ( )
inline

Returns value.

Definition at line 178 of file Sacado_Fad_Exp_StaticFixedStorage.hpp.

template<typename T , int Num>
KOKKOS_INLINE_FUNCTION const T* Sacado::Fad::Exp::StaticFixedStorage< T, Num >::dx ( ) const
inline

Returns derivative array.

Definition at line 182 of file Sacado_Fad_Exp_StaticFixedStorage.hpp.

template<typename T , int Num>
KOKKOS_INLINE_FUNCTION T Sacado::Fad::Exp::StaticFixedStorage< T, Num >::dx ( int  i) const
inline

Returns derivative component i with bounds checking.

Definition at line 186 of file Sacado_Fad_Exp_StaticFixedStorage.hpp.

template<typename T , int Num>
KOKKOS_INLINE_FUNCTION T& Sacado::Fad::Exp::StaticFixedStorage< T, Num >::fastAccessDx ( int  i)
inline

Returns derivative component i without bounds checking.

Definition at line 190 of file Sacado_Fad_Exp_StaticFixedStorage.hpp.

template<typename T , int Num>
KOKKOS_INLINE_FUNCTION const T& Sacado::Fad::Exp::StaticFixedStorage< T, Num >::fastAccessDx ( int  i) const
inline

Returns derivative component i without bounds checking.

Definition at line 194 of file Sacado_Fad_Exp_StaticFixedStorage.hpp.

Member Data Documentation

template<typename T , int Num>
constexpr bool Sacado::Fad::Exp::StaticFixedStorage< T, Num >::is_statically_sized = true
static

Definition at line 54 of file Sacado_Fad_Exp_StaticFixedStorage.hpp.

template<typename T , int Num>
constexpr int Sacado::Fad::Exp::StaticFixedStorage< T, Num >::static_size = Num
static

Definition at line 55 of file Sacado_Fad_Exp_StaticFixedStorage.hpp.

template<typename T , int Num>
T Sacado::Fad::Exp::StaticFixedStorage< T, Num >::val_
protected

Value.

Definition at line 199 of file Sacado_Fad_Exp_StaticFixedStorage.hpp.

template<typename T , int Num>
T Sacado::Fad::Exp::StaticFixedStorage< T, Num >::dx_[Num]
protected

Derivative array.

Definition at line 202 of file Sacado_Fad_Exp_StaticFixedStorage.hpp.


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