VTK-m  2.0
Public Types | Public Member Functions | Public Attributes | Private Member Functions | List of all members
vtkm::cont::openmp::sort::quick::QuickSorter< IterType, RawBinaryCompare > Struct Template Reference

#include <ParallelQuickSortOpenMP.h>

Public Types

using BinaryCompare = vtkm::cont::internal::WrappedBinaryOperator< bool, RawBinaryCompare >
 
using ValueType = typename std::iterator_traits< IterType >::value_type
 

Public Member Functions

 QuickSorter (IterType iter, RawBinaryCompare comp)
 
void Execute (const vtkm::Id2 range)
 

Public Attributes

IterType Data
 
BinaryCompare Compare
 
vtkm::Id SerialSize
 

Private Member Functions

void Prepare (const vtkm::Id2)
 
vtkm::Pair< vtkm::Id, ValueTypeMedianOf3 (const vtkm::Pair< vtkm::Id, ValueType > &v1, const vtkm::Pair< vtkm::Id, ValueType > &v2, const vtkm::Pair< vtkm::Id, ValueType > &v3) const
 
vtkm::Pair< vtkm::Id, ValueTypeMedianOf3 (const vtkm::Id ids[3]) const
 
vtkm::Pair< vtkm::Id, ValueTypePseudoMedianOf9 (const vtkm::Id ids[9]) const
 
vtkm::Pair< vtkm::Id, ValueTypeSelectPivot (const vtkm::Id2 range) const
 
vtkm::Id2 PartitionData (const vtkm::Id2 range)
 
void Sort (const vtkm::Id2 range)
 

Member Typedef Documentation

◆ BinaryCompare

template<typename IterType , typename RawBinaryCompare >
using vtkm::cont::openmp::sort::quick::QuickSorter< IterType, RawBinaryCompare >::BinaryCompare = vtkm::cont::internal::WrappedBinaryOperator<bool, RawBinaryCompare>

◆ ValueType

template<typename IterType , typename RawBinaryCompare >
using vtkm::cont::openmp::sort::quick::QuickSorter< IterType, RawBinaryCompare >::ValueType = typename std::iterator_traits<IterType>::value_type

Constructor & Destructor Documentation

◆ QuickSorter()

template<typename IterType , typename RawBinaryCompare >
vtkm::cont::openmp::sort::quick::QuickSorter< IterType, RawBinaryCompare >::QuickSorter ( IterType  iter,
RawBinaryCompare  comp 
)
inline

Member Function Documentation

◆ Execute()

template<typename IterType , typename RawBinaryCompare >
void vtkm::cont::openmp::sort::quick::QuickSorter< IterType, RawBinaryCompare >::Execute ( const vtkm::Id2  range)
inline

◆ MedianOf3() [1/2]

template<typename IterType , typename RawBinaryCompare >
vtkm::Pair<vtkm::Id, ValueType> vtkm::cont::openmp::sort::quick::QuickSorter< IterType, RawBinaryCompare >::MedianOf3 ( const vtkm::Id  ids[3]) const
inlineprivate

◆ MedianOf3() [2/2]

template<typename IterType , typename RawBinaryCompare >
vtkm::Pair<vtkm::Id, ValueType> vtkm::cont::openmp::sort::quick::QuickSorter< IterType, RawBinaryCompare >::MedianOf3 ( const vtkm::Pair< vtkm::Id, ValueType > &  v1,
const vtkm::Pair< vtkm::Id, ValueType > &  v2,
const vtkm::Pair< vtkm::Id, ValueType > &  v3 
) const
inlineprivate

◆ PartitionData()

template<typename IterType , typename RawBinaryCompare >
vtkm::Id2 vtkm::cont::openmp::sort::quick::QuickSorter< IterType, RawBinaryCompare >::PartitionData ( const vtkm::Id2  range)
inlineprivate

◆ Prepare()

template<typename IterType , typename RawBinaryCompare >
void vtkm::cont::openmp::sort::quick::QuickSorter< IterType, RawBinaryCompare >::Prepare ( const vtkm::Id2  )
inlineprivate

◆ PseudoMedianOf9()

template<typename IterType , typename RawBinaryCompare >
vtkm::Pair<vtkm::Id, ValueType> vtkm::cont::openmp::sort::quick::QuickSorter< IterType, RawBinaryCompare >::PseudoMedianOf9 ( const vtkm::Id  ids[9]) const
inlineprivate

◆ SelectPivot()

template<typename IterType , typename RawBinaryCompare >
vtkm::Pair<vtkm::Id, ValueType> vtkm::cont::openmp::sort::quick::QuickSorter< IterType, RawBinaryCompare >::SelectPivot ( const vtkm::Id2  range) const
inlineprivate

◆ Sort()

template<typename IterType , typename RawBinaryCompare >
void vtkm::cont::openmp::sort::quick::QuickSorter< IterType, RawBinaryCompare >::Sort ( const vtkm::Id2  range)
inlineprivate

Member Data Documentation

◆ Compare

template<typename IterType , typename RawBinaryCompare >
BinaryCompare vtkm::cont::openmp::sort::quick::QuickSorter< IterType, RawBinaryCompare >::Compare

◆ Data

template<typename IterType , typename RawBinaryCompare >
IterType vtkm::cont::openmp::sort::quick::QuickSorter< IterType, RawBinaryCompare >::Data

◆ SerialSize

template<typename IterType , typename RawBinaryCompare >
vtkm::Id vtkm::cont::openmp::sort::quick::QuickSorter< IterType, RawBinaryCompare >::SerialSize

The documentation for this struct was generated from the following file: