VTK-m
2.0
|
Produces an ArrayHandle<vtkm::Id> index array that stable-sorts and optionally uniquifies an input array. More...
#include <StableSortIndices.h>
Classes | |
struct | IndirectSortPredicate |
struct | IndirectSortPredicateExecObject |
struct | IndirectUniquePredicate |
struct | IndirectUniquePredicateExecObject |
Public Types | |
using | IndexArrayType = vtkm::cont::ArrayHandle< vtkm::Id > |
Static Public Member Functions | |
template<typename KeyType , typename Storage > | |
static VTKM_CONT void | Sort (vtkm::cont::DeviceAdapterId device, const vtkm::cont::ArrayHandle< KeyType, Storage > &keys, IndexArrayType &indices) |
Permutes the indices array so that it will map keys into a stable sorted order. More... | |
template<typename KeyType , typename Storage > | |
static VTKM_CONT void | Sort (const vtkm::cont::ArrayHandle< KeyType, Storage > &keys, IndexArrayType &indices) |
Permutes the indices array so that it will map keys into a stable sorted order. More... | |
template<typename KeyType , typename Storage > | |
static VTKM_CONT IndexArrayType | Sort (vtkm::cont::DeviceAdapterId device, const vtkm::cont::ArrayHandle< KeyType, Storage > &keys) |
Returns an index array that maps the keys array into a stable sorted ordering. More... | |
template<typename KeyType , typename Storage > | |
static VTKM_CONT IndexArrayType | Sort (const vtkm::cont::ArrayHandle< KeyType, Storage > &keys) |
Returns an index array that maps the keys array into a stable sorted ordering. More... | |
template<typename KeyType , typename Storage > | |
static VTKM_CONT void | Unique (vtkm::cont::DeviceAdapterId device, const vtkm::cont::ArrayHandle< KeyType, Storage > &keys, IndexArrayType &indices) |
Reduces the array returned by Sort so that the mapped keys are unique. More... | |
template<typename KeyType , typename Storage > | |
static VTKM_CONT void | Unique (const vtkm::cont::ArrayHandle< KeyType, Storage > &keys, IndexArrayType &indices) |
Reduces the array returned by Sort so that the mapped keys are unique. More... | |
Produces an ArrayHandle<vtkm::Id> index array that stable-sorts and optionally uniquifies an input array.
|
inlinestatic |
Returns an index array that maps the keys array into a stable sorted ordering.
The keys array is not modified.
This is a convenience overload that generates the index array.
|
inlinestatic |
Permutes the indices array so that it will map keys into a stable sorted order.
The keys array is not modified.
keys | The ArrayHandle containing data to be sorted. |
indices | The ArrayHandle<vtkm::Id> containing the permutation indices. |
|
inlinestatic |
Returns an index array that maps the keys array into a stable sorted ordering.
The keys array is not modified.
This is a convenience overload that generates the index array.
|
inlinestatic |
Permutes the indices array so that it will map keys into a stable sorted order.
The keys array is not modified.
device | The Id for the device on which to compute the sort |
keys | The ArrayHandle containing data to be sorted. |
indices | The ArrayHandle<vtkm::Id> containing the permutation indices. |
|
inlinestatic |
Reduces the array returned by Sort so that the mapped keys are unique.
The indices array will be modified in-place and the keys array is not modified.
|
inlinestatic |
Reduces the array returned by Sort so that the mapped keys are unique.
The indices array will be modified in-place and the keys array is not modified.