|
| std::string | RandX::RandString (std::size_t length, std::string_view charset="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789") |
| | 生成指定长度的随机字符串
|
| std::string | RandX::RandString (std::size_t n, CharSet cs) |
| | 从预设字符集生成随机字符串
|
| template<class Engine> |
| std::string | RandX::RandString (Engine &engine, std::size_t n, CharSet cs) |
| | 从预设字符集生成随机字符串(指定引擎重载)
|
| template<std::floating_point T = double> |
| T | RandX::RandExp (T lambda=T{1}) |
| | 生成指数分布随机数
|
| template<class Engine, std::floating_point T = double> |
| T | RandX::RandExp (Engine &engine, T lambda=T{1}) |
| | 生成指数分布随机数(指定引擎重载)
|
| template<std::integral T = int> |
| T | RandX::RandPoisson (double mean=1.0) |
| | 生成泊松分布随机数
|
| template<class Engine, std::integral T = int> |
| T | RandX::RandPoisson (Engine &engine, double mean=1.0) |
| | 生成泊松分布随机数(指定引擎重载)
|
| template<std::floating_point T = double> |
| T | RandX::RandGamma (T alpha=T{1}, T beta=T{1}) |
| | 生成伽马分布随机数
|
| template<class Engine, std::floating_point T = double> |
| T | RandX::RandGamma (Engine &engine, T alpha=T{1}, T beta=T{1}) |
| | 生成伽马分布随机数(指定引擎重载)
|
| template<std::integral T = int> |
| T | RandX::RandBinomial (T t=1, double p=0.5) |
| | 生成二项分布随机数
|
| template<std::integral T = int, class Engine> |
| T | RandX::RandBinomial (Engine &engine, T t=1, double p=0.5) |
| | 生成二项分布随机数(指定引擎重载)
|
| template<std::floating_point T = double> |
| T | RandX::RandLogNormal (T mean=T{0}, T stddev=T{1}) |
| | 生成对数正态分布随机数
|
| template<std::floating_point T = double, class Engine> |
| T | RandX::RandLogNormal (Engine &engine, T mean=T{0}, T stddev=T{1}) |
| | 生成对数正态分布随机数(指定引擎重载)
|
| template<std::integral T = int> |
| T | RandX::RandGeometric (double p=0.5) |
| | 生成几何分布随机数(首次成功前的失败次数)
|
| template<std::integral T = int, class Engine> |
| T | RandX::RandGeometric (Engine &engine, double p=0.5) |
| | 生成几何分布随机数(指定引擎重载)
|
| template<std::floating_point T = double> |
| T | RandX::RandCauchy (T a=T{0}, T b=T{1}) |
| | 生成柯西分布随机数
|
| template<std::floating_point T = double, class Engine> |
| T | RandX::RandCauchy (Engine &engine, T a=T{0}, T b=T{1}) |
| | 生成柯西分布随机数(指定引擎重载)
|
| template<std::floating_point T = double> |
| T | RandX::RandWeibull (T a=T{1}, T b=T{1}) |
| | 生成韦布尔分布随机数
|
| template<std::floating_point T = double, class Engine> |
| T | RandX::RandWeibull (Engine &engine, T a=T{1}, T b=T{1}) |
| | 生成韦布尔分布随机数(指定引擎重载)
|
| template<std::floating_point T = double> |
| T | RandX::RandExtremeValue (T a=T{0}, T b=T{1}) |
| | 生成极值分布(Gumbel)随机数
|
| template<std::floating_point T = double, class Engine> |
| T | RandX::RandExtremeValue (Engine &engine, T a=T{0}, T b=T{1}) |
| | 生成极值分布随机数(指定引擎重载)
|
| template<std::floating_point T = double> |
| T | RandX::RandChiSquared (T n=T{1}) |
| | 生成卡方分布随机数
|
| template<std::floating_point T = double, class Engine> |
| T | RandX::RandChiSquared (Engine &engine, T n=T{1}) |
| | 生成卡方分布随机数(指定引擎重载)
|
| template<std::floating_point T = double> |
| T | RandX::RandStudentT (T n=T{1}) |
| | 生成学生 t 分布随机数
|
| template<std::floating_point T = double, class Engine> |
| T | RandX::RandStudentT (Engine &engine, T n=T{1}) |
| | 生成学生 t 分布随机数(指定引擎重载)
|
| template<std::floating_point T = double> |
| T | RandX::RandFisherF (T m=T{1}, T n=T{1}) |
| | 生成 Fisher F 分布随机数
|
| template<std::floating_point T = double, class Engine> |
| T | RandX::RandFisherF (Engine &engine, T m=T{1}, T n=T{1}) |
| | 生成 Fisher F 分布随机数(指定引擎重载)
|
| template<std::floating_point T = double> |
| T | RandX::RandBeta (T a=T{1}, T b=T{1}) |
| | 生成 Beta 分布随机数
|
| template<std::floating_point T = double, class Engine> |
| T | RandX::RandBeta (Engine &engine, T a=T{1}, T b=T{1}) |
| | 生成 Beta 分布随机数(指定引擎重载)
|
template<int N, std::integral T = std::uint64_t>
requires (N > 0 && N <= 64 && N <= std::numeric_limits<T>::digits) |
| T | RandX::RandBits () noexcept |
| | 生成 N 位随机整数
|
| template<class Engine> |
| std::string | RandX::RandUUID (Engine &engine) |
| | 生成随机 UUID v4 字符串
|
| std::string | RandX::RandUUID () |
template<class Engine>
requires detail::StreamEngine<Engine> |
| constexpr Engine | RandX::MakeStreamEngine (std::uint64_t streamId, std::uint64_t seed=DefaultSeed) |
| | 从同一种子创建第 streamId 个不重叠子序列的引擎
|
| template<std::integral T = int, std::uint64_t Seed = DefaultSeed> |
| constexpr T | RandX::RandIntCE (T min, T max) |
| | 编译期生成 [min, max] 范围内的随机整数
|
| template<std::integral T = int, std::uint64_t Seed = DefaultSeed> |
| constexpr T | RandX::RandIntCE (T max) |
| | 编译期生成 [0, max] 范围内的随机整数
|
| template<std::random_access_iterator It, std::uint64_t Seed = DefaultSeed> |
| constexpr void | RandX::ShuffleCE (It first, It last) noexcept |
| | 编译期 Fisher-Yates 洗牌
|
| template<class T, std::size_t N, std::uint64_t Seed = DefaultSeed> |
| constexpr std::array< T, N > | RandX::ShuffledArray (std::array< T, N > arr) noexcept |
| | 编译期洗牌数组版本(返回打乱后的副本)
|