ax-int-ratio
路径:
components/int_ratio类型:库 crate 分层:组件层 / 整数比例基础件 版本:0.1.2文档依据:Cargo.toml、README.md、src/lib.rs、tests/test_int_ratio.rs
ax-int-ratio 提供一个面向内核/平台代码 的小型整数比例类型 Ratio。它把 numerator / denominator 预计算成 mult / (1 << shift) 形式,从而在运行时把“除法换乘移位”,减少高成本整数除法。它是纯数学叶子基础件:不是时间子系统、不是频率校准器,也不是通用数值库。
架构设计
设计定位
这个 crate 要解决的问题非常具体:很多平台代码反复做“ticks 和 nanoseconds 之间的比例换算”,但在 no_std 场景里频繁做 u128 除法不划算,于是 Ratio 在构造时先把比例离散成适合快速乘法的表示。
当前仓库里的真实使用场景也印证了这个定位:
ax-plat-x86-pc/src/time.rs用它把纳秒转换为 LAPIC ticks。ax-plat-aarch64-peripherals/src/generic_timer.rs用它在CNTPCTticks 与纳秒之间双向转换。
1.2 核心类型
Ratio:保存原始numerator、denominator,以及预计算后的mult和shift。