#rational-numbers #iterator #fixed #fixed-size #linear-time #no-std

no-std bin+lib iter-rationals

固定大小、线性时间、不使用std的整数迭代器

3个不稳定版本

0.2.1 2023年3月8日
0.2.0 2022年8月30日
0.1.0 2022年8月30日

#1076 in 数学

MPL-2.0 许可证

9KB
100

iter-rationals

crate documentation main

这个crate实现了一个关于有理数的迭代器,它

  • 每次只产生每个数字一次,
  • 只需要固定数量的内存,并且
  • 以固定数量的算术运算产生后续值。

该算法在Gibbons、Lester和Bird的《功能珍珠:枚举有理数》中描述;请参阅该论文了解其工作原理。

用法

use iter_rationals::Rationals;

fn main() {
    let rs = Rationals::<u32>::new();

    for r in rs.take(20) {
        println!("{r}");
    }
}

安装

将此依赖项添加到您的Cargo.toml

iter-rationals = "0.1"

或命令行中

cargo add iter-rationals

许可证

依赖项

~595KB
~13K SLoC