0.2.0 |
|
---|
#12 in #misaligned
每月下载量32次
85KB
1.5K SLoC
numX
非标准整数类型,如
u122
,u9
,i67
,u10
,u63
,i7
,i9
等
struct Packet {
header: u3,
timestamp: u5,
hash: u4,
mode: u2,
}
这是由 uX 的 kjetilkjeka 的分支
我在此分支上合并了请求,并添加了一些其他的功能,否则这些功能将是我对他的请求。
我还是一个 Rust 新手。在使用之前请自行检查!
功能
当应用中需要非标准宽度的整数时,通常的做法是使用更大的容器,并在操作后确保值在范围内。numX旨在一次性解决这个问题,通过
- 提供
u1
-u127
和i1
-i127
类型,这些类型应尽可能类似于内置的Rust类型- 定义的类型的函数与内置类型相同(目前并非所有功能都已实现,如果缺少您认为重要的功能,请提交问题或创建PR)
- 在调试模式下,溢出会触发panic,在发布版本中会进行包装。
- 通过使用
From
,可以实现所有可能的无损转换。 - 通过使用
TryFrom
,可以实现所有可能的损失性转换。 - 支持
serde
,通过将数据序列化到下一个更大的容器中。 - 支持将所有可能的类型转换为针对目标架构的
isize
和usize
。 - 实现了一些
num-traits
。
感谢
感谢原项目中的所有贡献者以及向我发送合并请求的人
许可
许可协议为以下之一
-
Apache License,版本2.0(LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
-
MIT许可协议(LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非您明确声明,否则根据Apache-2.0许可协议定义,您提交的任何贡献,都应如上所述进行双重许可,无需任何额外条款或条件。
依赖项
~215KB