#random #sun #depend #gamedev

无 std sungod

0-依赖随机数,让你的日子变得明亮

7 个版本

0.3.1 2021 年 4 月 7 日
0.3.0 2021 年 4 月 7 日
0.2.2 2021 年 4 月 4 日
0.2.1 2021 年 3 月 31 日
0.1.2 2021 年 3 月 31 日

游戏开发 中排名第 1275

Download history 28/week @ 2024-04-05 36/week @ 2024-04-12 32/week @ 2024-04-19 25/week @ 2024-04-26 24/week @ 2024-05-03 24/week @ 2024-05-10 23/week @ 2024-05-17 27/week @ 2024-05-24 26/week @ 2024-05-31 18/week @ 2024-06-07 26/week @ 2024-06-14 22/week @ 2024-06-21 11/week @ 2024-06-28 20/week @ 2024-07-05 19/week @ 2024-07-12 14/week @ 2024-07-19

每月下载量 65
4 个包中 使用(直接使用 3 个)

MIT/Apache 许可

10KB
197 代码行

Sungod Ra

一个简单且极简的随机数包,由太阳神赠送!

如果你需要快速生成合适的随机数,并且讨厌编译时间,这个包就是为你准备的!无依赖,无烦恼!

基本用法如下

use sungod::Ra;
fn main() {
    let mut ra = Ra::default();
    assert_ne!(ra.sample::<u64>(), ra.sample::<u64>());
}

如果你想在 no_std 环境中运行,你需要构建不带默认功能的包。例如,在你的 Cargo.toml 中

sungod = { version = "x.y", default-features = false }

这是一个 xorwow 的实现,包装得很好,增加了一些类型安全性。如果你想支持更多奇特的类型,你必须自己实现它。这个包中没有复杂的特性和其他内容。

注意:这个包完全不适用于加密用途。


lib.rs:

一个简单且极简的随机数包,由太阳神赠送!

如果你需要快速生成合适的随机数,并且讨厌编译时间,这个包就是为你准备的!无依赖,无烦恼!

基本用法如下

use sungod::Ra;
fn main() {
    let mut ra = Ra::default();
    assert_ne!(ra.sample::<u64>(), ra.sample::<u64>());
}

我个人喜欢这样做

use sungod::Ra;
fn main() {
    assert_ne!(Ra::ggen::<u64>(), Ra::ggen::<u64>());
}

这使用了线程局部随机数生成器,可以配置为随机。

这是一个 xorwow 的实现,包装得很好,增加了一些类型安全性。如果你想支持更多奇特的类型,你必须自己实现它。这个包中没有复杂的特性和其他内容。

注意:这个包完全不适用于加密用途。

特性标志

神光仁慈,因此允许微不足道的人类为自己选择一些东西。

# No standard library
sungod = { version = "x.y", default-features = false }
# Make the default constructor random
sungod = { version = "x.y", features = ["default_is_random"] }

无运行时依赖

特性