#random #pointers #rand #generator #value #address #addresses

randlib

无需依赖的随机值生成器,使用指针地址和时间

11 个版本

0.2.0 2022 年 8 月 16 日
0.1.9 2022 年 5 月 22 日

#38#addresses

MIT 许可证

12KB
109

randlib

无需依赖的随机值生成器,使用指针地址和时间。

生成器使用 LCG 算法,种子为指针地址乘以 UNIX_EPOCH。

特性

  • 返回随机类型的函数
    • u8, u16, u32, u64, u128
    • i8, i16, i32, i64, i128
    • usize
    • bool
  • 获取范围内的随机值
  • 打乱向量的元素
  • 获取向量的随机元素

用法

基本用法(查看 examples/usage.rs 文件以获取更多示例)

use randlib::Rand;

fn main() {
    let mut rng = Rand::new();
	println!("random usize: {}", rng.rand());
	println!("random u8: {}", rng.rand_u8());
	println!("random i8: {}", rng.rand_i8());
	println!("random u16: {}", rng.rand_u16());
	println!("random i16: {}", rng.rand_i16());
	println!("random u32: {}", rng.rand_u32());
	println!("random i32: {}", rng.rand_i32());
	println!("random u64: {}", rng.rand_u64());
	println!("random i64: {}", rng.rand_i64());
	println!("random u128: {}", rng.rand_u128());
	println!("random i128: {}", rng.rand_i128());
	println!("random usize: {}", rng.rand_usize());
	println!("random bool: {:?}", rng.rand_bool());
}

许可证

本项目遵循 MIT 许可证。

无运行时依赖