oneapi::mkl::rng::device::philox4x32x10
Description
A Philox4x32-10 counter-based pseudorandom number generator [Salmon11].
API
Syntax
template<std::int32_t VecSize = 1>
class philox4x32x10 {
public:
static constexpr std::uint64_t default_seed = 1;
static constexpr std::int32_t vec_size = VecSize;
philox4x32x10() : philox4x32x10(default_seed) {}
philox4x32x10(std::uint64_t seed, std::uint64_t offset = 0);
philox4x32x10(std::initializer_list<std::uint64_t> seed, std::uint64_t offset = 0); philox4x32x10(std::uint64_t seed, std::initializer_list<std::uint64_t> offset);
philox4x32x10(std::initializer_list<std::uint64_t> seed, std::initializer_list<std::uint64_t> offset);
};
Include Files
- oneapi/mkl/rng/device.hpp
Template Parameters
Name | Type | Description |
---|---|---|
VecSize | std::int32_t | Describes the size of vector which will be produced by generate function by this engine. VecSize values may be 1, 2, 3, 4, 8, 16 as sycl::vec class size. By default VecSize = 1, for this case single random number is returned by the oneapi::mkl::rng::device::generate function. |
Constructors Input Parameters
Name | Type | Description |
---|---|---|
seed | std::uint64_t std::initializer_list<std::uint64_t> | Initial conditions of the engine state. |
offset | std::uint64_t std::initializer_list<std::uint64_t> | Number of skipped elements, for initializer_list offset is calculated as: num_to_skip [0]+ num_to_skip [1]*264 + num_to_skip [2] * 2128 + … +num_to_skip [n -1]*264 * (n -1). |
See VS Notes for detailed descriptions.