2个稳定版本
1.0.1 | 2024年7月31日 |
---|
#244 in 数学
228 每月下载量
22KB
384 行
i24:Rust的24位有符号整数类型
i24
为Rust提供了一个24位有符号整数类型,填补了i16
和i32
之间的空白。这种类型在音频处理、某些嵌入式系统和其他需要24位精度但32位过于冗余的场合特别有用。
特性
- 高效的24位有符号整数表示
- 与
i32
无缝转换 - 支持带有溢出检查的基本算术运算
- 位运算
- 从各种字节表示(小端、大端、本地)转换
- 实现了常见的特性,如
Debug
、Display
、PartialEq
、Eq
、PartialOrd
、Ord
和Hash
安装
将其添加到您的Cargo.toml
[dependencies]
i24 = "1.0.0"
用法
use i24::i24;
let a = i24::from_i32(1000);
let b = i24::from_i32(2000);
let c = a + b;
assert_eq!(c.to_i32(), 3000);
安全和限制
i24
的有效范围是[-8,388,608, 8,388,607]。- 算术运算中的溢出行为与
i32
相同。 - 位运算在24位表示上执行。处理不受信任的输入或当溢出/下溢是关注点时,始终使用带检查的算术运算。
可选功能
- pyo3:启用Python的PyO3绑定。
贡献
欢迎贡献!请随时提交拉取请求。该项目需要更多的测试和验证。
许可证
本项目采用MIT许可证 - 请参阅LICENSE文件以获取详细信息。
相关项目
本crate是作为Wavers项目的一部分开发的,该项目是一个Rust的Wav文件读取器和写入器。
依赖关系
~0.2–6MB
~28K SLoC