Go to the documentation of this file.
10 #ifndef vtk_m_cont_ArrayHandleRandomUniformBits_h
11 #define vtk_m_cont_ArrayHandleRandomUniformBits_h
28 PhiloxFunctor() =
default;
30 explicit PhiloxFunctor(SeedType seed)
36 vtkm::UInt64 operator()(
vtkm::Id index)
const
39 using counters_type =
typename philox_functor::counters_type;
41 auto idx =
static_cast<vtkm::UInt64
>(index);
43 counters_type result = philox_functor{}(counters, Seed);
44 return static_cast<vtkm::UInt64
>(result[0]) |
static_cast<vtkm::UInt64
>(result[1]) << 32;
83 : Superclass(detail::PhiloxFunctor(seed), length)
101 #endif //vtk_m_cont_ArrayHandleRandomUniformBits_h
Groups connected points that have the same field value.
Definition: Atomic.h:19
#define VTKM_ARRAY_HANDLE_SUBCLASS_NT(classname, superclass)
Macro to make default methods in ArrayHandle subclasses.
Definition: ArrayHandle.h:249
#define VTKM_EXEC_CONT
Definition: ExportMacros.h:52
vtkm::Int32 Id
Represents an ID (index into arrays).
Definition: Types.h:191
detail::philox_functor< vtkm::UInt32, 2, 10, 0xD256D193, 0x9E3779B9 > PhiloxFunctor2x32x10
Definition: Philox.h:120
A short fixed-length array.
Definition: Types.h:767
uint32_t UInt32
Definition: Types.h:161
#define VTKM_ALWAYS_EXPORT
Definition: ExportMacros.h:92
An ArrayHandle that computes values on the fly.
Definition: ArrayHandleImplicit.h:174