Sacado
Development
|
Derivative array storage class using dynamic memory allocation. More...
#include <Sacado_Fad_MemPoolStorage.hpp>
Public Types | |
typedef T | value_type |
Public Member Functions | |
template<typename S > | |
MemPoolStorage (const S &x, SACADO_ENABLE_VALUE_CTOR_DECL) | |
Default constructor. | |
MemPoolStorage (const int sz, const T &x, const DerivInit zero_out=InitDerivArray) | |
Constructor with size sz . More... | |
MemPoolStorage (const MemPoolStorage &x) | |
Copy constructor. | |
~MemPoolStorage () | |
Destructor. | |
MemPoolStorage & | operator= (const MemPoolStorage &x) |
Assignment. | |
int | size () const |
Returns number of derivative components. | |
void | resize (int sz) |
Resize the derivative array to sz. More... | |
void | resizeAndZero (int sz) |
Resize the derivative array to sz. More... | |
void | expand (int sz) |
Expand derivative array to size sz. More... | |
void | zero () |
Zero out derivative array. | |
const T & | val () const |
Returns value. | |
T & | val () |
Returns value. | |
const T * | dx () const |
Returns derivative array. | |
T | dx (int i) const |
Returns derivative component i with bounds checking. | |
T & | fastAccessDx (int i) |
Returns derivative component i without bounds checking. | |
const T & | fastAccessDx (int i) const |
Returns derivative component i without bounds checking. | |
Static Public Attributes | |
static MemPool * | defaultPool_ |
Default memory pool. | |
Protected Attributes | |
MemPool * | myPool_ |
Memory pool. | |
Derivative array storage class using dynamic memory allocation.
|
inline |
Constructor with size sz
.
Initializes derivative array 0 of length sz
References Sacado::Fad::mp_array< T, isScalar >::get(), Sacado::Fad::mp_array< T, isScalar >::get_and_fill(), and Sacado::Fad::MemPoolStorage< T >::myPool_.
|
inline |
Expand derivative array to size sz.
This method preserves any existing derivative components and sets any that are added to zero.
References Sacado::Fad::mp_array< T, isScalar >::copy(), Sacado::Fad::mp_array< T, isScalar >::destroy_and_release(), Sacado::Fad::mp_array< T, isScalar >::get_and_fill(), Sacado::Fad::MemPoolStorage< T >::myPool_, and Sacado::Fad::mp_array< T, isScalar >::zero().
|
inline |
Resize the derivative array to sz.
Note: This does not necessarily preserve derivative components.
References Sacado::Fad::MemPoolStorage< T >::defaultPool_, Sacado::Fad::mp_array< T, isScalar >::destroy_and_release(), Sacado::Fad::mp_array< T, isScalar >::get_and_fill(), and Sacado::Fad::MemPoolStorage< T >::myPool_.
|
inline |
Resize the derivative array to sz.
This method doest not preserve any existing derivative components but sets any that are added to zero.
References Sacado::Fad::MemPoolStorage< T >::defaultPool_, Sacado::Fad::mp_array< T, isScalar >::destroy_and_release(), Sacado::Fad::mp_array< T, isScalar >::get_and_fill(), Sacado::Fad::MemPoolStorage< T >::myPool_, and Sacado::Fad::mp_array< T, isScalar >::zero().