VTK-m  2.0
Static Public Member Functions | Private Types | Static Private Member Functions | List of all members
vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagSerial > Struct Reference

#include <DeviceAdapterAlgorithmSerial.h>

Inheritance diagram for vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagSerial >:

Static Public Member Functions

template<typename T , typename U , class CIn , class COut >
static VTKM_CONT void Copy (const vtkm::cont::ArrayHandle< T, CIn > &input, vtkm::cont::ArrayHandle< U, COut > &output)
 
template<typename T , typename U , class CIn , class CStencil , class COut >
static VTKM_CONT void CopyIf (const vtkm::cont::ArrayHandle< T, CIn > &input, const vtkm::cont::ArrayHandle< U, CStencil > &stencil, vtkm::cont::ArrayHandle< T, COut > &output)
 
template<typename T , typename U , class CIn , class CStencil , class COut , class UnaryPredicate >
static VTKM_CONT void CopyIf (const vtkm::cont::ArrayHandle< T, CIn > &input, const vtkm::cont::ArrayHandle< U, CStencil > &stencil, vtkm::cont::ArrayHandle< T, COut > &output, UnaryPredicate predicate)
 
template<typename T , typename U , class CIn , class COut >
static VTKM_CONT bool CopySubRange (const vtkm::cont::ArrayHandle< T, CIn > &input, vtkm::Id inputStartIndex, vtkm::Id numberOfElementsToCopy, vtkm::cont::ArrayHandle< U, COut > &output, vtkm::Id outputIndex=0)
 
template<typename T , typename U , class CIn >
static VTKM_CONT U Reduce (const vtkm::cont::ArrayHandle< T, CIn > &input, U initialValue)
 
template<typename T , typename U , class CIn , class BinaryFunctor >
static VTKM_CONT U Reduce (const vtkm::cont::ArrayHandle< T, CIn > &input, U initialValue, BinaryFunctor binary_functor)
 
template<typename T , typename U , class KIn , class VIn , class KOut , class VOut , class BinaryFunctor >
static VTKM_CONT void ReduceByKey (const vtkm::cont::ArrayHandle< T, KIn > &keys, const vtkm::cont::ArrayHandle< U, VIn > &values, vtkm::cont::ArrayHandle< T, KOut > &keys_output, vtkm::cont::ArrayHandle< U, VOut > &values_output, BinaryFunctor binary_functor)
 
template<typename T , class CIn , class COut , class BinaryFunctor >
static VTKM_CONTScanInclusive (const vtkm::cont::ArrayHandle< T, CIn > &input, vtkm::cont::ArrayHandle< T, COut > &output, BinaryFunctor binary_functor)
 
template<typename T , class CIn , class COut >
static VTKM_CONTScanInclusive (const vtkm::cont::ArrayHandle< T, CIn > &input, vtkm::cont::ArrayHandle< T, COut > &output)
 
template<typename T , class CIn , class COut , class BinaryFunctor >
static VTKM_CONTScanExclusive (const vtkm::cont::ArrayHandle< T, CIn > &input, vtkm::cont::ArrayHandle< T, COut > &output, BinaryFunctor binaryFunctor, const T &initialValue)
 
template<typename T , class CIn , class COut >
static VTKM_CONTScanExclusive (const vtkm::cont::ArrayHandle< T, CIn > &input, vtkm::cont::ArrayHandle< T, COut > &output)
 
static VTKM_CONT_EXPORT void ScheduleTask (vtkm::exec::serial::internal::TaskTiling1D &functor, vtkm::Id size)
 
static VTKM_CONT_EXPORT void ScheduleTask (vtkm::exec::serial::internal::TaskTiling3D &functor, vtkm::Id3 size)
 
template<class FunctorType >
static VTKM_CONT void Schedule (FunctorType functor, vtkm::Id size)
 
template<class FunctorType >
static VTKM_CONT void Schedule (FunctorType functor, vtkm::Id3 size)
 
template<typename T , typename U , class StorageT , class StorageU >
static VTKM_CONT void SortByKey (vtkm::cont::ArrayHandle< T, StorageT > &keys, vtkm::cont::ArrayHandle< U, StorageU > &values)
 
template<typename T , typename U , class StorageT , class StorageU , class BinaryCompare >
static VTKM_CONT void SortByKey (vtkm::cont::ArrayHandle< T, StorageT > &keys, vtkm::cont::ArrayHandle< U, StorageU > &values, const BinaryCompare &binary_compare)
 
template<typename T , class Storage >
static VTKM_CONT void Sort (vtkm::cont::ArrayHandle< T, Storage > &values)
 
template<typename T , class Storage , class BinaryCompare >
static VTKM_CONT void Sort (vtkm::cont::ArrayHandle< T, Storage > &values, BinaryCompare binary_compare)
 
template<typename T , class Storage >
static VTKM_CONT void Unique (vtkm::cont::ArrayHandle< T, Storage > &values)
 
template<typename T , class Storage , class BinaryCompare >
static VTKM_CONT void Unique (vtkm::cont::ArrayHandle< T, Storage > &values, BinaryCompare binary_compare)
 
static VTKM_CONT void Synchronize ()
 

Private Types

using Device = vtkm::cont::DeviceAdapterTagSerial
 

Static Private Member Functions

template<typename InPortal , typename OutPortal >
static void DoCopy (InPortal src, OutPortal dst, std::false_type, vtkm::Id startIndex, vtkm::Id numToCopy, vtkm::Id outIndex)
 
template<typename InPortal , typename OutPortal >
static void DoCopy (InPortal src, OutPortal dst, std::true_type, vtkm::Id startIndex, vtkm::Id numToCopy, vtkm::Id outIndex)
 
template<typename Vin , typename I , typename Vout , class StorageVin , class StorageI , class StorageVout >
static VTKM_CONT void Scatter (vtkm::cont::ArrayHandle< Vin, StorageVin > &values, vtkm::cont::ArrayHandle< I, StorageI > &index, vtkm::cont::ArrayHandle< Vout, StorageVout > &values_out)
 
template<typename T , typename U , class StorageT , class StorageU , class BinaryCompare >
static VTKM_CONT void SortByKeyDirect (vtkm::cont::ArrayHandle< T, StorageT > &keys, vtkm::cont::ArrayHandle< U, StorageU > &values, BinaryCompare binary_compare)
 Reorder the value array along with the sorting algorithm. More...
 

Member Typedef Documentation

◆ Device

using vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagSerial >::Device = vtkm::cont::DeviceAdapterTagSerial
private

Member Function Documentation

◆ Copy()

template<typename T , typename U , class CIn , class COut >
static VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagSerial >::Copy ( const vtkm::cont::ArrayHandle< T, CIn > &  input,
vtkm::cont::ArrayHandle< U, COut > &  output 
)
inlinestatic

◆ CopyIf() [1/2]

template<typename T , typename U , class CIn , class CStencil , class COut >
static VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagSerial >::CopyIf ( const vtkm::cont::ArrayHandle< T, CIn > &  input,
const vtkm::cont::ArrayHandle< U, CStencil > &  stencil,
vtkm::cont::ArrayHandle< T, COut > &  output 
)
inlinestatic

◆ CopyIf() [2/2]

template<typename T , typename U , class CIn , class CStencil , class COut , class UnaryPredicate >
static VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagSerial >::CopyIf ( const vtkm::cont::ArrayHandle< T, CIn > &  input,
const vtkm::cont::ArrayHandle< U, CStencil > &  stencil,
vtkm::cont::ArrayHandle< T, COut > &  output,
UnaryPredicate  predicate 
)
inlinestatic

◆ CopySubRange()

template<typename T , typename U , class CIn , class COut >
static VTKM_CONT bool vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagSerial >::CopySubRange ( const vtkm::cont::ArrayHandle< T, CIn > &  input,
vtkm::Id  inputStartIndex,
vtkm::Id  numberOfElementsToCopy,
vtkm::cont::ArrayHandle< U, COut > &  output,
vtkm::Id  outputIndex = 0 
)
inlinestatic

◆ DoCopy() [1/2]

template<typename InPortal , typename OutPortal >
static void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagSerial >::DoCopy ( InPortal  src,
OutPortal  dst,
std::false_type  ,
vtkm::Id  startIndex,
vtkm::Id  numToCopy,
vtkm::Id  outIndex 
)
inlinestaticprivate

◆ DoCopy() [2/2]

template<typename InPortal , typename OutPortal >
static void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagSerial >::DoCopy ( InPortal  src,
OutPortal  dst,
std::true_type  ,
vtkm::Id  startIndex,
vtkm::Id  numToCopy,
vtkm::Id  outIndex 
)
inlinestaticprivate

◆ Reduce() [1/2]

template<typename T , typename U , class CIn >
static VTKM_CONT U vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagSerial >::Reduce ( const vtkm::cont::ArrayHandle< T, CIn > &  input,
U  initialValue 
)
inlinestatic

◆ Reduce() [2/2]

template<typename T , typename U , class CIn , class BinaryFunctor >
static VTKM_CONT U vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagSerial >::Reduce ( const vtkm::cont::ArrayHandle< T, CIn > &  input,
U  initialValue,
BinaryFunctor  binary_functor 
)
inlinestatic

◆ ReduceByKey()

template<typename T , typename U , class KIn , class VIn , class KOut , class VOut , class BinaryFunctor >
static VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagSerial >::ReduceByKey ( const vtkm::cont::ArrayHandle< T, KIn > &  keys,
const vtkm::cont::ArrayHandle< U, VIn > &  values,
vtkm::cont::ArrayHandle< T, KOut > &  keys_output,
vtkm::cont::ArrayHandle< U, VOut > &  values_output,
BinaryFunctor  binary_functor 
)
inlinestatic

◆ ScanExclusive() [1/2]

template<typename T , class CIn , class COut >
static VTKM_CONT T vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagSerial >::ScanExclusive ( const vtkm::cont::ArrayHandle< T, CIn > &  input,
vtkm::cont::ArrayHandle< T, COut > &  output 
)
inlinestatic

◆ ScanExclusive() [2/2]

template<typename T , class CIn , class COut , class BinaryFunctor >
static VTKM_CONT T vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagSerial >::ScanExclusive ( const vtkm::cont::ArrayHandle< T, CIn > &  input,
vtkm::cont::ArrayHandle< T, COut > &  output,
BinaryFunctor  binaryFunctor,
const T &  initialValue 
)
inlinestatic

◆ ScanInclusive() [1/2]

template<typename T , class CIn , class COut >
static VTKM_CONT T vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagSerial >::ScanInclusive ( const vtkm::cont::ArrayHandle< T, CIn > &  input,
vtkm::cont::ArrayHandle< T, COut > &  output 
)
inlinestatic

◆ ScanInclusive() [2/2]

template<typename T , class CIn , class COut , class BinaryFunctor >
static VTKM_CONT T vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagSerial >::ScanInclusive ( const vtkm::cont::ArrayHandle< T, CIn > &  input,
vtkm::cont::ArrayHandle< T, COut > &  output,
BinaryFunctor  binary_functor 
)
inlinestatic

◆ Scatter()

template<typename Vin , typename I , typename Vout , class StorageVin , class StorageI , class StorageVout >
static VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagSerial >::Scatter ( vtkm::cont::ArrayHandle< Vin, StorageVin > &  values,
vtkm::cont::ArrayHandle< I, StorageI > &  index,
vtkm::cont::ArrayHandle< Vout, StorageVout > &  values_out 
)
inlinestaticprivate

◆ Schedule() [1/2]

template<class FunctorType >
static VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagSerial >::Schedule ( FunctorType  functor,
vtkm::Id  size 
)
inlinestatic

◆ Schedule() [2/2]

template<class FunctorType >
static VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagSerial >::Schedule ( FunctorType  functor,
vtkm::Id3  size 
)
inlinestatic

◆ ScheduleTask() [1/2]

static VTKM_CONT_EXPORT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagSerial >::ScheduleTask ( vtkm::exec::serial::internal::TaskTiling1D &  functor,
vtkm::Id  size 
)
static

◆ ScheduleTask() [2/2]

static VTKM_CONT_EXPORT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagSerial >::ScheduleTask ( vtkm::exec::serial::internal::TaskTiling3D &  functor,
vtkm::Id3  size 
)
static

◆ Sort() [1/2]

template<typename T , class Storage >
static VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagSerial >::Sort ( vtkm::cont::ArrayHandle< T, Storage > &  values)
inlinestatic

◆ Sort() [2/2]

template<typename T , class Storage , class BinaryCompare >
static VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagSerial >::Sort ( vtkm::cont::ArrayHandle< T, Storage > &  values,
BinaryCompare  binary_compare 
)
inlinestatic

◆ SortByKey() [1/2]

template<typename T , typename U , class StorageT , class StorageU >
static VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagSerial >::SortByKey ( vtkm::cont::ArrayHandle< T, StorageT > &  keys,
vtkm::cont::ArrayHandle< U, StorageU > &  values 
)
inlinestatic

◆ SortByKey() [2/2]

template<typename T , typename U , class StorageT , class StorageU , class BinaryCompare >
static VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagSerial >::SortByKey ( vtkm::cont::ArrayHandle< T, StorageT > &  keys,
vtkm::cont::ArrayHandle< U, StorageU > &  values,
const BinaryCompare &  binary_compare 
)
inlinestatic

More efficient sort: Move value indexes when sorting and reorder the value array at last

◆ SortByKeyDirect()

template<typename T , typename U , class StorageT , class StorageU , class BinaryCompare >
static VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagSerial >::SortByKeyDirect ( vtkm::cont::ArrayHandle< T, StorageT > &  keys,
vtkm::cont::ArrayHandle< U, StorageU > &  values,
BinaryCompare  binary_compare 
)
inlinestaticprivate

Reorder the value array along with the sorting algorithm.

◆ Synchronize()

static VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagSerial >::Synchronize ( )
inlinestatic

◆ Unique() [1/2]

template<typename T , class Storage >
static VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagSerial >::Unique ( vtkm::cont::ArrayHandle< T, Storage > &  values)
inlinestatic

◆ Unique() [2/2]

template<typename T , class Storage , class BinaryCompare >
static VTKM_CONT void vtkm::cont::DeviceAdapterAlgorithm< vtkm::cont::DeviceAdapterTagSerial >::Unique ( vtkm::cont::ArrayHandle< T, Storage > &  values,
BinaryCompare  binary_compare 
)
inlinestatic

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