12 个版本
0.5.3 | 2024 年 2 月 22 日 |
---|---|
0.5.1 | 2023 年 8 月 18 日 |
0.5.0 | 2022 年 12 月 16 日 |
0.4.0 | 2022 年 11 月 23 日 |
0.2.2 | 2022 年 3 月 18 日 |
#694 in 算法
每月 58 次下载
在 7 个包中使用(通过 cervo-core)
28KB
331 行
🎲 perchance
一个轻量级、快速、易于使用的随机数生成库,适用于游戏中和几何中最常见的用例。
请注意,perchance
并非加密安全,不应 在需要安全性的环境中使用。
使用方法
perchance
是一个简单的随机数生成库,针对易用性进行了调整:创建一个 PerchanceContext
实例并开始。
let mut rng = perchance::PerchanceContext::new(seed);
let between_0_and_1 = rng.uniform_f32();
let dice_roll = rng.uniform_range_i32(1..=6);
let random_direction = rng.uniform_sphere_surface_vec3();
let thing_should_happen = rng.get_bool();
enum Event {
Thing1,
Thing2,
Thing3,
}
let which_should_happen = rng.choose(&[Event::Thing1, Event::Thing2, Event::Thing3]);
如果您已启用 std
功能,也可以使用全局的 perchance::global()
// Seed the global context first. You may do so manually, or, on platforms that support it,
// obtain a seed to pass into it by calling `perchance::gen_time_seed()`.
perchance::seed_global(0x5F3759DF); // ;)
let mut rng = perchance::global();
let between_0_and_1 = rng.uniform_f32();
贡献
我们欢迎社区为此项目做出贡献。
请阅读我们的 贡献指南 了解如何开始。
许可证
许可协议为以下之一:
- Apache 许可证 2.0 版,(LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非您明确声明,否则根据 Apache-2.0 许可证定义的,您提交的任何有意包含在工作中的贡献都将如上所述双重许可,而不附加任何额外条款或条件。
依赖项
~3.5MB
~98K SLoC