![]() |
alpaka
Abstraction Library for Parallel Kernel Acceleration
|
Most common Philox engine variant, outputs single number. More...
#include <philox.hpp>
Public Types | |
| using | EngineParams = internal::PhiloxParams<4, 32, 10> |
| Philox algorithm: 10 rounds, 4 numbers of size 32. | |
| using | EngineVariant = internal::PhiloxSingle<EngineParams> |
| Engine outputs a single number. | |
| using | result_type = std::uint32_t |
Public Member Functions | |
| constexpr | Philox4x32x10 (std::uint64_t const seed=0, std::uint64_t const subsequence=0, std::uint64_t const offset=0) |
| Initialize a new Philox engine. | |
| constexpr auto | operator() () -> result_type |
Static Public Member Functions | |
| static constexpr auto | max () -> result_type |
| static constexpr auto | min () -> result_type |
Private Attributes | |
| EngineVariant | engineVariant |
Most common Philox engine variant, outputs single number.
This is a variant of the Philox engine generator which outputs a single float. The counter size is 
Ref.: J. K. Salmon, M. A. Moraes, R. O. Dror and D. E. Shaw, "Parallel random numbers: As easy as 1, 2, 3," SC '11: Proceedings of 2011 International Conference for High Performance Computing, Networking, Storage and Analysis, 2011, pp. 1-12, doi: 10.1145/2063384.2063405.
Definition at line 31 of file philox.hpp.
| using alpaka::rand::engine::Philox4x32x10::EngineParams = internal::PhiloxParams<4, 32, 10> |
Philox algorithm: 10 rounds, 4 numbers of size 32.
Definition at line 35 of file philox.hpp.
Engine outputs a single number.
Definition at line 37 of file philox.hpp.
| using alpaka::rand::engine::Philox4x32x10::result_type = std::uint32_t |
Definition at line 56 of file philox.hpp.
|
inlineexplicitconstexpr |
Initialize a new Philox engine.
| seed | Set the Philox generator key |
| subsequence | Select a subsequence of size 2^64 |
| offset | Skip offset numbers from the start of the subsequence |
Definition at line 45 of file philox.hpp.
|
inlinestaticconstexpr |
Definition at line 63 of file philox.hpp.
|
inlinestaticconstexpr |
Definition at line 58 of file philox.hpp.
|
inlineconstexpr |
Definition at line 68 of file philox.hpp.
|
private |
Definition at line 74 of file philox.hpp.