![]() |
alpaka
Abstraction Library for Parallel Kernel Acceleration
|
Classes | |
| class | PhiloxBaseCommon |
| Common class for Philox family engines. More... | |
| class | PhiloxConstants |
| Constants used in the Philox algorithm. More... | |
| struct | PhiloxParams |
| Philox algorithm parameters. More... | |
| class | PhiloxSingle |
| Philox engine generating a single number. More... | |
| struct | PhiloxState |
| Philox state. More... | |
| struct | PhiloxState< T_Counter, T_Key, PhiloxSingle< T_Params > > |
| Philox state specialization for single value engine. More... | |
| struct | PhiloxState< T_Counter, T_Key, PhiloxVector< T_Params > > |
| Philox state specialization for vector engine more memory/register efficient. More... | |
| class | PhiloxStateless |
| Class basic Philox family counter-based PRNG. More... | |
| class | PhiloxVector |
| Philox engine generating a vector of numbers. More... | |
Functions | |
| constexpr auto | high32Bits (std::uint64_t const x) -> std::uint32_t |
| Get high 32 bits of a 64-bit number. | |
| constexpr auto | low32Bits (std::uint64_t const x) -> std::uint32_t |
| Get low 32 bits of a 64-bit number. | |
| constexpr void | multiplyAndSplit64to32 (std::uint64_t const a, std::uint64_t const b, std::uint32_t &resultHigh, std::uint32_t &resultLow) |
| Multiply two 64-bit numbers and split the result into high and low 32 bits, also known as "mulhilo32". | |
|
constexpr |
Get high 32 bits of a 64-bit number.
Definition at line 14 of file multiplyAndSplit64to32.hpp.
|
constexpr |
Get low 32 bits of a 64-bit number.
Definition at line 20 of file multiplyAndSplit64to32.hpp.
|
constexpr |
Multiply two 64-bit numbers and split the result into high and low 32 bits, also known as "mulhilo32".
| a | first 64-bit multiplier |
| b | second 64-bit multiplier |
| resultHigh | high 32 bits of the product a*b |
| resultLow | low 32 bits of the product a*b |
Definition at line 33 of file multiplyAndSplit64to32.hpp.