Go to the documentation of this file.
10 #ifndef vtk_m_cont_ArrayRangeComputeTemplate_h
11 #define vtk_m_cont_ArrayRangeComputeTemplate_h
30 struct ArrayRangeComputeFunctor
32 template <
typename Device,
typename T,
typename S>
45 template <
typename T,
typename S>
73 initial[0] = T(std::numeric_limits<CT>::max());
74 initial[1] = T(std::numeric_limits<CT>::lowest());
77 device, detail::ArrayRangeComputeFunctor{}, input, initial, result);
99 template <
typename ArrayHandleType>
101 const ArrayHandleType& input,
105 return detail::ArrayRangeComputeImpl(input, device);
110 #endif //vtk_m_cont_ArrayRangeComputeTemplate_h
#define VTKM_LOG_SCOPE(level,...)
Definition: Logging.h:265
VTKM_CONT vtkm::Id GetNumberOfValues() const
Returns the number of entries in the array.
Definition: ArrayHandle.h:448
Groups connected points that have the same field value.
Definition: Atomic.h:19
Binary Predicate that takes two arguments argument x, and y and returns a vtkm::Vec<T,...
Definition: BinaryOperators.h:112
VTKM_CONT void Allocate(vtkm::Id numberOfValues, vtkm::CopyFlag preserve, vtkm::cont::Token &token) const
Allocates an array large enough to hold the given number of values.
Definition: ArrayHandle.h:465
vtkm::Int32 IdComponent
Represents a component ID (index of component in a vector).
Definition: Types.h:168
VTKM_CONT bool TryExecuteOnDevice(vtkm::cont::DeviceAdapterId devId, Functor &&functor)
Try to execute a functor on a specific device selected at runtime.
Definition: TryExecute.h:178
static const VTKM_EXEC_CONT ComponentType & GetComponent(const typename std::remove_const< VecType >::type &vector, vtkm::IdComponent component)
Returns the value in a given component of the vector.
#define VTKM_IS_ARRAY_HANDLE(T)
Definition: ArrayHandle.h:132
VTKM_CONT_EXPORT void ThrowArrayRangeComputeFailed()
#define VTKM_CONT
Definition: ExportMacros.h:57
VTKM_CONT WritePortalType WritePortal() const
Get an array portal that can be used in the control environment.
Definition: ArrayHandle.h:435
Struct containing device adapter algorithms.
Definition: DeviceAdapterAlgorithm.h:41
Definition: DeviceAdapterTag.h:52
static VTKM_CONT U Reduce(vtkm::cont::DeviceAdapterId devId, const vtkm::cont::ArrayHandle< T, CIn > &input, U initialValue)
Definition: Algorithm.h:656
typename VecType::ComponentType ComponentType
Type of the components in the vector.
Definition: VecTraits.h:73
VTKM_CONT_EXPORT vtkm::cont::ArrayHandle< vtkm::Range > ArrayRangeCompute(const vtkm::cont::UnknownArrayHandle &array, vtkm::cont::DeviceAdapterId device=vtkm::cont::DeviceAdapterTagAny{})
Compute the range of the data in an array handle.
@ Perf
General timing data and algorithm flow information, such as filter execution, worklet dispatches,...
static constexpr vtkm::IdComponent NUM_COMPONENTS
Number of components in the vector.
Definition: VecTraits.h:86
#define VTKM_IS_DEVICE_ADAPTER_TAG(tag)
Checks that the argument is a proper device adapter tag.
Definition: DeviceAdapterTag.h:164
Represent a continuous scalar range of values.
Definition: Range.h:31