1 个不稳定版本
0.2.2 | 2020年2月28日 |
---|
#1052 在 嵌入式开发
85KB
1.5K SLoC
numX
非标准整数类型如
u122
,u9
,i67
,u10
,u63
,i7
,i9
等
struct Packet {
header: u3,
timestamp: u5,
hash: u4,
mode: u2,
}
这是由 uX 的 kjetilkjeka 的分支
我只是合并了这个分支上的pull请求,并添加了一些功能,否则这些功能将是我对他的pull请求。
我还是一个Rust初学者。在使用它之前,请亲自检查!
特性
在应用程序中需要非标准宽度的整数时,常规做法是使用更大的容器,并在操作后确保值在范围内。numX旨在一劳永逸地解决这个问题,通过
- 提供
u1
-u127
和i1
-i127
类型,这些类型的行为应尽可能与内置的Rust类型相似- 定义的类型的 方法与内置类型的方法相同(目前远非全部实现,如果缺少您认为必要的功能,请填写问题或创建PR)
- 在调试模式下溢出会引发panic,在发布模式下会进行包装。
- 使用
From
可实现所有可能的无损转换。 - 使用
TryFrom
可实现所有可能的损失性转换。 - 支持
serde
,通过将其序列化到下一个更大的容器中。 - 对于目标架构,所有可能的转换到
isize
和usize
都是可能的。 - 实现了一些
num-traits
。
感谢
感谢来自原始项目的所有贡献者,以及向我发送合并请求的人们
许可证
许可协议为以下之一
-
Apache License, Version 2.0 (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
-
MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
由您选择。
贡献
除非您明确声明,否则您提交的任何有意包含在作品中的贡献,根据Apache-2.0许可证定义,将双重许可,如上所述,没有其他附加条款或条件。
依赖关系
~220KB