|
bool | operator!= (const ThreefryGenerator< T, K, Rounds > &gen1, const ThreefryGenerator< T, K, Rounds > &gen2) |
|
template<typename CharT , typename Traits > |
std::basic_ostream< CharT, Traits > & | operator<< (std::basic_ostream< CharT, Traits > &os, const ThreefryGenerator< T, K, Rounds > &gen) |
|
bool | operator== (const ThreefryGenerator< T, K, Rounds > &gen1, const ThreefryGenerator< T, K, Rounds > &gen2) |
|
template<typename CharT , typename Traits > |
std::basic_istream< CharT, Traits > & | operator>> (std::basic_istream< CharT, Traits > &is, ThreefryGenerator< T, K, Rounds > &gen) |
|
template<typename T, std::size_t K = 4, std::size_t Rounds = 20, typename Constants = ThreefryConstants<T, K>>
class vsmc::ThreefryGenerator< T, K, Rounds, Constants >
Threefry 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) or 8 or 16 (64-bit state) |
Rounds | Number of SP rounds |
Constants | A trait class that defines algorithm constants, see ThreefryConstants |
This generator implement the Threefry algorithm in Random123, developed John K. Salmon, Mark A. Moraes, Ron O. Dror, and David E. Shaw.
Definition at line 454 of file threefry.hpp.
template<typename T, std::size_t K = 4, std::size_t Rounds = 20, typename Constants = ThreefryConstants<T, K>>
template<typename CharT , typename Traits >
std::basic_ostream<CharT, Traits>& operator<< |
( |
std::basic_ostream< CharT, Traits > & |
os, |
|
|
const ThreefryGenerator< T, K, Rounds > & |
gen |
|
) |
| |
|
friend |
template<typename T, std::size_t K = 4, std::size_t Rounds = 20, typename Constants = ThreefryConstants<T, K>>
template<typename CharT , typename Traits >
std::basic_istream<CharT, Traits>& operator>> |
( |
std::basic_istream< CharT, Traits > & |
is, |
|
|
ThreefryGenerator< T, K, Rounds > & |
gen |
|
) |
| |
|
friend |