|
SpECTRE
2021.08.02
|
A class for storing spectral coefficients on a spectral grid. More...
#include <ModalVector.hpp>
Public Member Functions | |
| ModalVector (const ModalVector &)=default | |
| ModalVector (ModalVector &&)=default | |
| ModalVector & | operator= (const ModalVector &)=default |
| ModalVector & | operator= (ModalVector &&)=default |
Public Member Functions inherited from VectorImpl< double, ModalVector > | |
| VectorImpl (size_t set_size) noexcept | |
| Create with the given size. In debug mode, the vector is initialized to 'NaN' by default. If not initialized to 'NaN', the memory is allocated but not initialized. More... | |
| VectorImpl (size_t set_size, double value) noexcept | |
| Create with the given size and value. More... | |
| VectorImpl (double *start, size_t set_size) noexcept | |
Create a non-owning VectorImpl that points to start | |
| VectorImpl (std::initializer_list< U > list) noexcept | |
Create from an initializer list of T. | |
| VectorImpl ()=default | |
| Empty VectorImpl. | |
| VectorImpl (const VectorImpl< double, ModalVector > &rhs) noexcept | |
| VectorImpl (VectorImpl< double, ModalVector > &&rhs) noexcept | |
| VectorImpl & | operator= (const double &rhs) noexcept |
| void | destructive_resize (const size_t new_size) noexcept |
| A common operation for checking the size and resizing a memory buffer if needed to ensure that it has the desired size. This operation is not permitted on a non-owning vector. More... | |
| bool | is_owning () const noexcept |
| Returns true if the class owns the data. | |
| void | pup (PUP::er &p) noexcept |
| Serialization for Charm++. | |
| const BaseType & | operator* () const noexcept |
Upcast to BaseType More... | |
| BaseType & | operator* () noexcept |
Upcast to BaseType More... | |
| void | set_data_ref (gsl::not_null< ModalVector * > rhs) noexcept |
| Set the VectorImpl to be a reference to another VectorImpl object. | |
| void | set_data_ref (double *const start, const size_t set_size) noexcept |
| Set the VectorImpl to be a reference to another VectorImpl object. | |
Additional Inherited Members | |
Public Types inherited from VectorImpl< double, ModalVector > | |
| using | value_type = double |
| using | size_type = size_t |
| using | difference_type = std::ptrdiff_t |
| using | BaseType = blaze::CustomVector< double, blaze::AlignmentFlag::unaligned, blaze::PaddingFlag::unpadded, blaze::defaultTransposeFlag, blaze_default_group, ModalVector > |
| using | ElementType = double |
| using | TransposeType = VectorImpl< double, ModalVector > |
| using | CompositeType = const VectorImpl< double, ModalVector > & |
| using | iterator = typename BaseType::Iterator |
| using | const_iterator = typename BaseType::ConstIterator |
Static Public Attributes inherited from VectorImpl< double, ModalVector > | |
| static constexpr bool | transpose_flag |
Protected Member Functions inherited from VectorImpl< double, ModalVector > | |
| void | reset_pointer_vector (const size_t set_size) noexcept |
Protected Attributes inherited from VectorImpl< double, ModalVector > | |
| std::unique_ptr< value_type[]> | owned_data_ |
| bool | owning_ |
A class for storing spectral coefficients on a spectral grid.
A ModalVector holds an array of spectral coefficients, and can be either owning (the array is deleted when the ModalVector goes out of scope) or non-owning, meaning it just has a pointer to an array.
Only basic mathematical operations are supported with ModalVectors. ModalVectors may be added or subtracted, and the following unary operations are supported:
Also multiplication is supported with doubles and ModalVectors, and ModalVectors can be divided by doubles. Multiplication is supported with DiagonalModalOperators and ModalVectors.