A newer version of this document is available. Customers should click here to go to the newest version.
mcg59
Description
The 59-bit multiplicative congruential pseudorandom number generator MCG(1313, 259) from NAG Numerical Libraries [NAG].
API
Syntax
namespace oneapi::mkl::rng::device {
template<std::int32_t VecSize = 1>
class mcg59 {
public:
static constexpr std::uint32_t default_seed = 1;
static constexpr std::int32_t vec_size = VecSize;
mcg59() : mcg59(default_seed) {}
mcg59(std::uint32_t seed, std::uint64_t offset = 0);
mcg59(std::initializer_list<std::uint32_t> seed, std::uint64_t offset = 0);
};
}
Include Files
oneapi/mkl/rng/device.hpp
Template Parameters
Name |
Type |
Description |
|---|---|---|
VecSize |
std::int32_t |
Describes the size of the vector that will be produced by the generate function with this engine. VecSize values can be 1, 2, 3, 4, 8, or 16 as the sycl:vec class size. By default, VecSize = 1; for this case, the generate function returns a single random number. |
Constructors Input Parameters
Name |
Type |
Description |
|---|---|---|
seed |
std::uint32_tstd::initializer_list<std::uint32_t> |
Initial conditions of the engine state. |
offset |
std::uint64_t |
Number of skipped elements. |
See VS Notes for detailed descriptions.