|
| constexpr std::uint64_t | RandX::detail::RotL (const std::uint64_t x, const int s) noexcept |
| constexpr std::uint32_t | RandX::detail::RotL (const std::uint32_t x, const int s) noexcept |
| template<std::size_t N> |
| constexpr bool | RandX::detail::IsAllZero (const std::array< std::uint64_t, N > &state) noexcept |
| template<std::size_t N> |
| constexpr bool | RandX::detail::IsAllZero (const std::array< std::uint32_t, N > &state) noexcept |
| template<typename State> |
| constexpr bool | RandX::detail::IsValidState (const State &state) noexcept |
| constexpr | RandX::SplitMix64::SplitMix64 (state_type state=DefaultSeed) noexcept |
| | 以指定状态构造引擎
|
template<class SeedSeq>
requires (!std::same_as<std::remove_cvref_t<SeedSeq>, SplitMix64>) |
| constexpr | RandX::SplitMix64::SplitMix64 (SeedSeq &seq) |
| | 从 std::seed_seq 播种
|
| constexpr result_type | RandX::SplitMix64::operator() () noexcept |
| | 生成下一个 64 位随机数
|
| constexpr void | RandX::SplitMix64::discard (unsigned long long n) noexcept |
| | 跳过 n 个输出
|
| template<std::size_t N> |
| constexpr std::array< std::uint64_t, N > | RandX::SplitMix64::generateSeedSequence () noexcept |
| | 生成 N 个高质量的 64 位种子序列
|
| static constexpr result_type | RandX::SplitMix64::min () noexcept |
| | 输出范围下界
|
| static constexpr result_type | RandX::SplitMix64::max () noexcept |
| | 输出范围上界
|
| constexpr state_type | RandX::SplitMix64::serialize () const noexcept |
| | 序列化引擎状态
|
| constexpr void | RandX::SplitMix64::deserialize (state_type state) noexcept |
| | 从状态恢复引擎
|
| static constexpr result_type | RandX::detail::EngineBase< Derived, ResultType, N >::min () noexcept |
| static constexpr result_type | RandX::detail::EngineBase< Derived, ResultType, N >::max () noexcept |
| constexpr void | RandX::detail::EngineBase< Derived, ResultType, N >::discard (unsigned long long z) noexcept |
| constexpr state_type | RandX::detail::EngineBase< Derived, ResultType, N >::serialize () const noexcept |
| constexpr void | RandX::detail::EngineBase< Derived, ResultType, N >::deserialize (const state_type &s) noexcept |
| | RandX::detail::EngineBase< Derived, ResultType, N >::EngineBase ()=default |
| constexpr | RandX::detail::EngineBase< Derived, ResultType, N >::EngineBase (const state_type &state) noexcept |
template<class SeedSeq>
requires (!std::same_as<std::remove_cvref_t<SeedSeq>, state_type> && !std::same_as<std::remove_cvref_t<SeedSeq>, Derived>) |
| constexpr | RandX::detail::EngineBase< Derived, ResultType, N >::EngineBase (SeedSeq &seq) |
| constexpr | RandX::detail::EngineBase< Derived, ResultType, N >::EngineBase (std::uint64_t seed) noexcept |
| template<std::size_t K> |
| constexpr void | RandX::detail::EngineBase< Derived, ResultType, N >::jumpPoly (const ResultType(&poly)[K]) noexcept |
| constexpr | RandX::Xoshiro256StarStar::Xoshiro256StarStar () noexcept |
| | < 状态类型(4×uint64)
|
| constexpr | RandX::Xoshiro256StarStar::Xoshiro256StarStar (std::uint64_t seed) noexcept |
| | 以指定种子构造引擎
|
template<class SeedSeq>
requires (!std::same_as<std::remove_cvref_t<SeedSeq>, Xoshiro256StarStar>) |
| constexpr | RandX::Xoshiro256StarStar::Xoshiro256StarStar (SeedSeq &seq) |
| | 从 std::seed_seq 播种
|
| constexpr | RandX::Xoshiro256StarStar::Xoshiro256StarStar (state_type state) noexcept |
| | 从状态数组直接构造
|
| constexpr result_type | RandX::Xoshiro256StarStar::operator() () noexcept |
| | 生成下一个 64 位随机数
|
| constexpr void | RandX::Xoshiro256StarStar::jump () noexcept |
| | 前进 2^128 步,用于创建并行子序列
|
| constexpr void | RandX::Xoshiro256StarStar::longJump () noexcept |
| | 前进 2^192 步,用于创建更稀疏的并行子序列
|
| constexpr | RandX::Xoroshiro128StarStar::Xoroshiro128StarStar () noexcept |
| | < 状态类型(2×uint64)
|
| constexpr | RandX::Xoroshiro128StarStar::Xoroshiro128StarStar (std::uint64_t seed) noexcept |
| | 以指定种子构造引擎
|
template<class SeedSeq>
requires (!std::same_as<std::remove_cvref_t<SeedSeq>, Xoroshiro128StarStar>) |
| constexpr | RandX::Xoroshiro128StarStar::Xoroshiro128StarStar (SeedSeq &seq) |
| | 从 std::seed_seq 播种
|
| constexpr | RandX::Xoroshiro128StarStar::Xoroshiro128StarStar (state_type state) noexcept |
| | 从状态数组直接构造
|
| constexpr result_type | RandX::Xoroshiro128StarStar::operator() () noexcept |
| | 生成下一个 64 位随机数
|
| constexpr void | RandX::Xoroshiro128StarStar::jump () noexcept |
| | 前进 2^64 步,用于创建并行子序列
|
| constexpr void | RandX::Xoroshiro128StarStar::longJump () noexcept |
| | 前进 2^96 步,用于创建更稀疏的并行子序列
|
| constexpr | RandX::Xoshiro128StarStar::Xoshiro128StarStar () noexcept |
| | < 状态类型(4×uint32)
|
| constexpr | RandX::Xoshiro128StarStar::Xoshiro128StarStar (std::uint64_t seed) noexcept |
| | 以指定种子构造引擎
|
template<class SeedSeq>
requires (!std::same_as<std::remove_cvref_t<SeedSeq>, Xoshiro128StarStar>) |
| constexpr | RandX::Xoshiro128StarStar::Xoshiro128StarStar (SeedSeq &seq) |
| | 从 std::seed_seq 播种
|
| constexpr | RandX::Xoshiro128StarStar::Xoshiro128StarStar (state_type state) noexcept |
| | 从状态数组直接构造
|
| constexpr result_type | RandX::Xoshiro128StarStar::operator() () noexcept |
| | 生成下一个 32 位随机数
|
| constexpr void | RandX::Xoshiro128StarStar::jump () noexcept |
| | 前进 2^64 步,用于创建并行子序列
|
| constexpr void | RandX::Xoshiro128StarStar::longJump () noexcept |
| | 前进 2^96 步,用于创建更稀疏的并行子序列
|
| constexpr | RandX::Xoroshiro64StarStar::Xoroshiro64StarStar () noexcept |
| | < 状态类型(2×uint32)
|
| constexpr | RandX::Xoroshiro64StarStar::Xoroshiro64StarStar (std::uint64_t seed) noexcept |
| | 以指定种子构造引擎
|
template<class SeedSeq>
requires (!std::same_as<std::remove_cvref_t<SeedSeq>, Xoroshiro64StarStar>) |
| constexpr | RandX::Xoroshiro64StarStar::Xoroshiro64StarStar (SeedSeq &seq) |
| | 从 std::seed_seq 播种
|
| constexpr | RandX::Xoroshiro64StarStar::Xoroshiro64StarStar (state_type state) noexcept |
| | 从状态数组直接构造
|
| constexpr result_type | RandX::Xoroshiro64StarStar::operator() () noexcept |
| | 生成下一个 32 位随机数
|
| constexpr | RandX::SFC64::SFC64 () noexcept |
| | < 状态类型(4×uint64)
|
| constexpr | RandX::SFC64::SFC64 (std::uint64_t seed) noexcept |
| | 以指定种子构造引擎(SplitMix64 填充 3 状态字 + counter=1 + 12 轮预热)
|
template<class SeedSeq>
requires (!std::same_as<std::remove_cvref_t<SeedSeq>, SFC64>) |
| constexpr | RandX::SFC64::SFC64 (SeedSeq &seq) |
| | 从 std::seed_seq 播种(填充 3 状态字 + counter=1 + 12 轮预热)
|
| constexpr | RandX::SFC64::SFC64 (state_type state) noexcept |
| | 从状态数组直接构造
|
| constexpr result_type | RandX::SFC64::operator() () noexcept |
| | 生成下一个 64 位随机数
|
| constexpr | RandX::RomuDuoJr::RomuDuoJr () noexcept |
| | < 状态类型(2×uint64)
|
| constexpr | RandX::RomuDuoJr::RomuDuoJr (std::uint64_t seed) noexcept |
| | 以指定种子构造引擎
|
template<class SeedSeq>
requires (!std::same_as<std::remove_cvref_t<SeedSeq>, RomuDuoJr>) |
| constexpr | RandX::RomuDuoJr::RomuDuoJr (SeedSeq &seq) |
| | 从 std::seed_seq 播种
|
| constexpr | RandX::RomuDuoJr::RomuDuoJr (state_type state) noexcept |
| | 从状态数组直接构造
|
| constexpr result_type | RandX::RomuDuoJr::operator() () noexcept |
| | 生成下一个 64 位随机数
|
| | RandX::ChaCha20::ChaCha20 (const ChaCha20 &)=delete |
| ChaCha20 & | RandX::ChaCha20::operator= (const ChaCha20 &)=delete |
| | RandX::ChaCha20::ChaCha20 (ChaCha20 &&other) noexcept |
| ChaCha20 & | RandX::ChaCha20::operator= (ChaCha20 &&other) noexcept |
| | RandX::ChaCha20::~ChaCha20 () noexcept |
| | RandX::ChaCha20::ChaCha20 () |
| | 构造方式 1:从 OS 熵自动播种(密码学安全,默认)
|
| | RandX::ChaCha20::ChaCha20 (std::uint64_t seed) |
| | 构造方式 2:以显式 64 位种子构造
|
| | RandX::ChaCha20::ChaCha20 (const std::uint8_t *key, std::size_t keyLen, const std::uint8_t *nonce, std::size_t nonceLen, std::uint32_t counter=0) |
| | 构造方式 3:直接指定 key + nonce + counter(高级用法/测试复现)
|
| result_type | RandX::ChaCha20::operator() () |
| | 生成下一个 64 位随机数
|
| void | RandX::ChaCha20::discard (unsigned long long n) |
| | 跳过 n 个输出
|
| void | RandX::ChaCha20::reseed () |
| | 从 OS 熵重新播种
|
| static constexpr result_type | RandX::ChaCha20::min () noexcept |
| | 输出范围下界
|
| static constexpr result_type | RandX::ChaCha20::max () noexcept |
| | 输出范围上界
|
| template<std::same_as< std::uint32_t > Uint32> |
| constexpr float | RandX::FloatFromBits (Uint32 i) noexcept |
| template<std::same_as< std::uint64_t > Uint64> |
| constexpr double | RandX::DoubleFromBits (Uint64 i) noexcept |
| template<class CharT, class Traits, detail::SerializableEngine Engine> |
| std::basic_ostream< CharT, Traits > & | RandX::operator<< (std::basic_ostream< CharT, Traits > &os, const Engine &engine) |
| template<class CharT, class Traits, detail::SerializableEngine Engine> |
| std::basic_istream< CharT, Traits > & | RandX::operator>> (std::basic_istream< CharT, Traits > &is, Engine &engine) |
| std::uint64_t | RandX::RandomSeed () |
| | 生成非确定性的 64 位种子
|
| Xoshiro256StarStar & | RandX::DefaultEngine () |
| void | RandX::ResetThreadLocalEngine () |
| | 重新播种当前线程的默认引擎(用于 POSIX fork() 产生子进程后重置引擎状态)
|
8 个伪随机数生成引擎(7 非 CSPRNG + 1 ChaCha20 CSPRNG)