![]() |
OpenPFC
0.1.4
Phase Field Crystal simulation framework
|
Operations on SparseVector: gather and scatter. More...
#include <initializer_list>#include <vector>#include <openpfc/core/backend_tags.hpp>#include <openpfc/core/sparse_vector.hpp>

Go to the source code of this file.
Functions | |
| template<typename BackendTag , typename T > | |
| void | pfc::core::gather (SparseVector< BackendTag, T > &sparse_vector, const T *source, size_t source_size) |
| Gather: Collect values from dense array into SparseVector. | |
| template<typename T > | |
| void | pfc::core::gather (core::SparseVector< backend::CpuTag, T > &sparse_vector, const std::vector< T > &source) |
| Gather from std::vector (convenience overload for CPU) | |
| template<typename T > | |
| void | pfc::core::gather (core::SparseVector< backend::CpuTag, T > &sparse_vector, std::initializer_list< T > source) |
| Gather from initializer list (convenience overload for CPU) | |
| template<typename BackendTag , typename T > | |
| void | pfc::core::scatter (const SparseVector< BackendTag, T > &sparse_vector, T *dest, size_t dest_size) |
| Scatter: Write values from SparseVector into dense array. | |
| template<typename T > | |
| void | pfc::core::scatter (const core::SparseVector< backend::CpuTag, T > &sparse_vector, std::vector< T > &dest) |
| Scatter to std::vector (convenience overload for CPU) | |
Operations on SparseVector: gather and scatter.
Provides gather and scatter operations for SparseVector:
| void pfc::core::gather | ( | SparseVector< BackendTag, T > & | sparse_vector, |
| const T * | source, | ||
| size_t | source_size | ||
| ) |
Gather: Collect values from dense array into SparseVector.
Reads values from dense array at sparse_vector.indices and writes to sparse_vector.data.
Direction: DenseArray → SparseVector
| sparse_vector | SparseVector to fill |
| source | Pointer to dense array |
| source_size | Size of dense array |


| void pfc::core::scatter | ( | const SparseVector< BackendTag, T > & | sparse_vector, |
| T * | dest, | ||
| size_t | dest_size | ||
| ) |
Scatter: Write values from SparseVector into dense array.
Writes values from sparse_vector.data into dense array at sparse_vector.indices.
Direction: SparseVector → DenseArray
| sparse_vector | SparseVector to read from |
| dest | Pointer to dense array |
| dest_size | Size of dense array |

