1 个不稳定版本
0.1.0 | 2024年1月31日 |
---|
6 在 #mixed
8KB
173 行
混合基数计数器
用于混合基数系统的计数器。
计数器由 values
和 limits
组成。
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