VTK-m  2.2
Classes | Public Types | Public Member Functions | Public Attributes | List of all members
vtkm::cont::openmp::scan::ScanExclusiveBody< InPortalT, OutPortalT, RawFunctorT > Struct Template Reference

#include <ParallelScanOpenMP.h>

Classes

struct  Node
 

Public Types

using ValueType = typename InPortalT::ValueType
 
using FunctorType = internal::WrappedBinaryOperator< ValueType, RawFunctorT >
 

Public Member Functions

 ScanExclusiveBody (const InPortalT &inPortal, const OutPortalT &outPortal, const RawFunctorT &functor, const ValueType &init)
 
void InitializeRootNode (Node *)
 
void InitializeChildNode (Node *, const Node *, ChildType, bool)
 
void ComputeSummary (Node *node, const vtkm::Id2 &range, bool leftEdge)
 
void CombineSummaries (Node *parent, const Node *left, const Node *right)
 
void PropagateSummaries (const Node *parent, Node *left, Node *right, bool leftEdge)
 
void UpdateOutput (const Node *node, const vtkm::Id2 &range, bool leftEdge)
 
ValueType UpdateOutputImpl (const Node *node, const vtkm::Id2 &range, bool skip, bool useInit)
 
ValueType GetFinalResult (const Node *node) const
 

Public Attributes

InPortalT InPortal
 
OutPortalT OutPortal
 
FunctorType Functor
 
ValueType InitialValue
 

Member Typedef Documentation

◆ FunctorType

template<typename InPortalT , typename OutPortalT , typename RawFunctorT >
using vtkm::cont::openmp::scan::ScanExclusiveBody< InPortalT, OutPortalT, RawFunctorT >::FunctorType = internal::WrappedBinaryOperator<ValueType, RawFunctorT>

◆ ValueType

template<typename InPortalT , typename OutPortalT , typename RawFunctorT >
using vtkm::cont::openmp::scan::ScanExclusiveBody< InPortalT, OutPortalT, RawFunctorT >::ValueType = typename InPortalT::ValueType

Constructor & Destructor Documentation

◆ ScanExclusiveBody()

template<typename InPortalT , typename OutPortalT , typename RawFunctorT >
vtkm::cont::openmp::scan::ScanExclusiveBody< InPortalT, OutPortalT, RawFunctorT >::ScanExclusiveBody ( const InPortalT &  inPortal,
const OutPortalT &  outPortal,
const RawFunctorT &  functor,
const ValueType init 
)
inline

Member Function Documentation

◆ CombineSummaries()

template<typename InPortalT , typename OutPortalT , typename RawFunctorT >
void vtkm::cont::openmp::scan::ScanExclusiveBody< InPortalT, OutPortalT, RawFunctorT >::CombineSummaries ( Node parent,
const Node left,
const Node right 
)
inline

◆ ComputeSummary()

template<typename InPortalT , typename OutPortalT , typename RawFunctorT >
void vtkm::cont::openmp::scan::ScanExclusiveBody< InPortalT, OutPortalT, RawFunctorT >::ComputeSummary ( Node node,
const vtkm::Id2 range,
bool  leftEdge 
)
inline

◆ GetFinalResult()

template<typename InPortalT , typename OutPortalT , typename RawFunctorT >
ValueType vtkm::cont::openmp::scan::ScanExclusiveBody< InPortalT, OutPortalT, RawFunctorT >::GetFinalResult ( const Node node) const
inline

◆ InitializeChildNode()

template<typename InPortalT , typename OutPortalT , typename RawFunctorT >
void vtkm::cont::openmp::scan::ScanExclusiveBody< InPortalT, OutPortalT, RawFunctorT >::InitializeChildNode ( Node ,
const Node ,
ChildType  ,
bool   
)
inline

◆ InitializeRootNode()

template<typename InPortalT , typename OutPortalT , typename RawFunctorT >
void vtkm::cont::openmp::scan::ScanExclusiveBody< InPortalT, OutPortalT, RawFunctorT >::InitializeRootNode ( Node )
inline

◆ PropagateSummaries()

template<typename InPortalT , typename OutPortalT , typename RawFunctorT >
void vtkm::cont::openmp::scan::ScanExclusiveBody< InPortalT, OutPortalT, RawFunctorT >::PropagateSummaries ( const Node parent,
Node left,
Node right,
bool  leftEdge 
)
inline

◆ UpdateOutput()

template<typename InPortalT , typename OutPortalT , typename RawFunctorT >
void vtkm::cont::openmp::scan::ScanExclusiveBody< InPortalT, OutPortalT, RawFunctorT >::UpdateOutput ( const Node node,
const vtkm::Id2 range,
bool  leftEdge 
)
inline

◆ UpdateOutputImpl()

template<typename InPortalT , typename OutPortalT , typename RawFunctorT >
ValueType vtkm::cont::openmp::scan::ScanExclusiveBody< InPortalT, OutPortalT, RawFunctorT >::UpdateOutputImpl ( const Node node,
const vtkm::Id2 range,
bool  skip,
bool  useInit 
)
inline

Member Data Documentation

◆ Functor

template<typename InPortalT , typename OutPortalT , typename RawFunctorT >
FunctorType vtkm::cont::openmp::scan::ScanExclusiveBody< InPortalT, OutPortalT, RawFunctorT >::Functor

◆ InitialValue

template<typename InPortalT , typename OutPortalT , typename RawFunctorT >
ValueType vtkm::cont::openmp::scan::ScanExclusiveBody< InPortalT, OutPortalT, RawFunctorT >::InitialValue

◆ InPortal

template<typename InPortalT , typename OutPortalT , typename RawFunctorT >
InPortalT vtkm::cont::openmp::scan::ScanExclusiveBody< InPortalT, OutPortalT, RawFunctorT >::InPortal

◆ OutPortal

template<typename InPortalT , typename OutPortalT , typename RawFunctorT >
OutPortalT vtkm::cont::openmp::scan::ScanExclusiveBody< InPortalT, OutPortalT, RawFunctorT >::OutPortal

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