![]() |
alpaka
Abstraction Library for Parallel Kernel Acceleration
|
Most common Philox engine variant, outputs a 4-vector of floats. More...
#include <philox.hpp>
Public Types | |
| using | EngineParams = internal::PhiloxParams<4, 32, 10> |
| using | EngineVariant = internal::PhiloxVector<EngineParams> |
| template<typename TScalar> | |
| using | ResultContainer = EngineVariant::ResultContainer<TScalar> |
| using | ResultInt = std::uint32_t |
| using | ResultVec = decltype(std::declval<EngineVariant>()()) |
Public Member Functions | |
| constexpr | Philox4x32x10Vector (std::uint32_t const seed=0, std::uint32_t const subsequence=0, std::uint32_t const offset=0) |
| Initialize a new Philox engine. | |
| constexpr auto | operator() () -> ResultVec |
Static Public Member Functions | |
| static constexpr auto | max () -> ResultInt |
| static constexpr auto | min () -> ResultInt |
Most common Philox engine variant, outputs a 4-vector of floats.
This is a variant of the Philox engine generator which outputs a vector containing 4 floats. 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 88 of file philox.hpp.
| using alpaka::rand::engine::Philox4x32x10Vector::EngineParams = internal::PhiloxParams<4, 32, 10> |
Definition at line 91 of file philox.hpp.
| using alpaka::rand::engine::Philox4x32x10Vector::EngineVariant = internal::PhiloxVector<EngineParams> |
Definition at line 92 of file philox.hpp.
| using alpaka::rand::engine::Philox4x32x10Vector::ResultContainer = EngineVariant::ResultContainer<TScalar> |
Definition at line 109 of file philox.hpp.
| using alpaka::rand::engine::Philox4x32x10Vector::ResultInt = std::uint32_t |
Definition at line 111 of file philox.hpp.
| using alpaka::rand::engine::Philox4x32x10Vector::ResultVec = decltype(std::declval<EngineVariant>()()) |
Definition at line 112 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 | Number of numbers to skip from the start of the subsequence. |
Definition at line 100 of file philox.hpp.
|
inlinestaticconstexpr |
Definition at line 119 of file philox.hpp.
|
inlinestaticconstexpr |
Definition at line 114 of file philox.hpp.
|
inlineconstexpr |
Definition at line 124 of file philox.hpp.