|
bool | operator!= (const PhiloxGenerator< T, K, Rounds > &gen1, const PhiloxGenerator< T, K, Rounds > &gen2) |
|
template<typename CharT , typename Traits > |
std::basic_ostream< CharT, Traits > & | operator<< (std::basic_ostream< CharT, Traits > &os, const PhiloxGenerator< T, K, Rounds > &gen) |
|
bool | operator== (const PhiloxGenerator< T, K, Rounds > &gen1, const PhiloxGenerator< T, K, Rounds > &gen2) |
|
template<typename CharT , typename Traits > |
std::basic_istream< CharT, Traits > & | operator>> (std::basic_istream< CharT, Traits > &is, PhiloxGenerator< T, K, Rounds > &gen) |
|
template<typename T, std::size_t K = 4, std::size_t Rounds = 10, typename Constants = PhiloxConstants<T, K>>
class vsmc::PhiloxGenerator< T, K, Rounds, Constants >
Philox RNG generator.
- Template Parameters
-
T | State type, must be 32- or 64-bit unsigned integers |
K | State vector length, must be 2 or 4 (for 32- or 64-bit states) |
Rounds | Number of SP rounds |
Constants | A trait class that defines algorithm constants, see PhiloxConstants |
This generator implement the Philox algorithm in Random123, developed John K. Salmon, Mark A. Moraes, Ron O. Dror, and David E. Shaw.
Definition at line 402 of file philox.hpp.
template<typename T, std::size_t K = 4, std::size_t Rounds = 10, typename Constants = PhiloxConstants<T, K>>
template<typename CharT , typename Traits >
std::basic_ostream<CharT, Traits>& operator<< |
( |
std::basic_ostream< CharT, Traits > & |
os, |
|
|
const PhiloxGenerator< T, K, Rounds > & |
gen |
|
) |
| |
|
friend |
template<typename T, std::size_t K = 4, std::size_t Rounds = 10, typename Constants = PhiloxConstants<T, K>>
template<typename CharT , typename Traits >
std::basic_istream<CharT, Traits>& operator>> |
( |
std::basic_istream< CharT, Traits > & |
is, |
|
|
PhiloxGenerator< T, K, Rounds > & |
gen |
|
) |
| |
|
friend |