#counter #system #mixed #limit #radix #counting #overflow

mixed_radix_counter

一个用于在混合基数系统中计数的无_std 包

1 个不稳定版本

0.1.0 2024年1月31日

6#mixed

MIT 许可证

8KB
173

混合基数计数器

用于混合基数系统的计数器。

计数器由 valueslimits 组成。
values 在其 limit (排除) 时溢出。

给定 values[0, 1, 4]limits[3, 4, 5],将 1 添加到计数器会导致 values 变为 [0, 2, 0]

用法

let mut mrc = MixedRadixCounter::try_from_limits([u64::MAX, 365, 24, 60, 60]).expect("default values don't fit the limits");
assert_eq!(*mrc, [0, 0, 0, 0, 0]);

mrc.add(69_413_798); // or call `mrc.increment()` in a loop 69_413_798 times, but beware, that's a lot slower
assert_eq!(*mrc, [2, 73, 9, 36, 38]);

尽管数字是最明显的元素类型,但这并不限于数字。如果您想了解更多,请查看泛型界限。

如何贡献

请随意发送您想到的任何内容的 PR。

依赖

~155KB