Sacado
Development
|
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 | |
KOKKOS_DEFAULTED_FUNCTION | StaticFixedStorage ()=default |
Default constructor. | |
KOKKOS_INLINE_FUNCTION | StaticFixedStorage (const T &x) |
Constructor with value. | |
KOKKOS_INLINE_FUNCTION | StaticFixedStorage (const int sz, const T &x, const DerivInit zero_out=InitDerivArray) |
Constructor with size sz . More... | |
KOKKOS_INLINE_FUNCTION | StaticFixedStorage (const int sz, const int i, const value_type &x) |
Constructor with size sz , index i , and value x . More... | |
KOKKOS_INLINE_FUNCTION | StaticFixedStorage (const StaticFixedStorage &x) |
Copy constructor. More... | |
KOKKOS_INLINE_FUNCTION | StaticFixedStorage (StaticFixedStorage &&x) |
Move constructor. | |
KOKKOS_DEFAULTED_FUNCTION | ~StaticFixedStorage ()=default |
Destructor. | |
KOKKOS_INLINE_FUNCTION StaticFixedStorage & | operator= (const StaticFixedStorage &x) |
Assignment. More... | |
KOKKOS_INLINE_FUNCTION StaticFixedStorage & | operator= (StaticFixedStorage &&x) |
Move assignment. | |
KOKKOS_INLINE_FUNCTION constexpr int | size () const |
Returns number of derivative components. | |
KOKKOS_INLINE_FUNCTION constexpr int | length () const |
Returns array length. | |
KOKKOS_INLINE_FUNCTION void | resize (int sz) |
Resize the derivative array to sz. | |
KOKKOS_INLINE_FUNCTION void | resizeAndZero (int sz) |
Resize the derivative array to sz. | |
KOKKOS_INLINE_FUNCTION void | expand (int sz) |
Expand derivative array to size sz. | |
KOKKOS_INLINE_FUNCTION void | zero () |
Zero out derivative array. | |
KOKKOS_INLINE_FUNCTION const T & | val () const |
Returns value. | |
KOKKOS_INLINE_FUNCTION T & | val () |
Returns value. | |
KOKKOS_INLINE_FUNCTION const T * | dx () const |
Returns derivative array. | |
KOKKOS_INLINE_FUNCTION T | dx (int i) const |
Returns derivative component i with bounds checking. | |
KOKKOS_INLINE_FUNCTION T & | fastAccessDx (int i) |
Returns derivative component i without bounds checking. | |
KOKKOS_INLINE_FUNCTION const T & | fastAccessDx (int i) const |
Returns derivative component i without bounds checking. | |
Static Public Attributes | |
static constexpr bool | is_statically_sized = true |
static constexpr int | static_size = Num |
static constexpr bool | is_view = false |
Protected Attributes | |
T | val_ |
Value. | |
T | dx_ [Num] |
Derivative array. | |
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.
|
inline |
Constructor with size sz
.
Initializes derivative array 0 of length sz
References Sacado::Fad::Exp::StaticFixedStorage< T, Num >::dx_, and Sacado::ss_array< T, isScalar >::zero().
|
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.
References Sacado::Fad::Exp::StaticFixedStorage< T, Num >::dx_.
|
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.
References Sacado::Fad::Exp::StaticFixedStorage< T, Num >::dx_.
|
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.
References Sacado::Fad::Exp::StaticFixedStorage< T, Num >::dx_, and Sacado::Fad::Exp::StaticFixedStorage< T, Num >::val_.