#integer #non-standard #misaligned #unaligned

no-std ux

实现以下非标准整数类型:u2, u3, u4, u5, u6, u7, u9, u10, u11, u12, u13, u14, u15, u17, u18, u19, u20, u21, u22, u23, u24, u25, u26, u27, u28, u29, u30, u31, u33, u34, u35, u36, u37, u38, u39, u40, u41, u42, u43, u44, u45, u46, u47, u48, u49, u50, u51, u52, u53, u54, u55, u56, u57, u58, u59, u60, u61, u62, u63, i2, i3, i4, i5, i6, i7, i9, i10, i11, i12, i13, i14, i15, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i28, i29, i30, i31, i33, i34, i35, i36, i37, i38, i39, i40, i41, i42, i43, i44, i45, i46, i47, i48, i49, i50, i51, i52, i53, i54, i55, i56, i57, i58, i59, i60, i61, i62, i63

8个版本

0.1.6 2024年4月10日
0.1.5 2022年8月8日
0.1.4 2022年3月3日
0.1.3 2018年11月29日
0.0.1 2017年10月21日

#44 in 嵌入式开发

Download history 3486/week @ 2024-04-28 2669/week @ 2024-05-05 3309/week @ 2024-05-12 2134/week @ 2024-05-19 2037/week @ 2024-05-26 2243/week @ 2024-06-02 2062/week @ 2024-06-09 2702/week @ 2024-06-16 3113/week @ 2024-06-23 1993/week @ 2024-06-30 2766/week @ 2024-07-07 1868/week @ 2024-07-14 3143/week @ 2024-07-21 3031/week @ 2024-07-28 2937/week @ 2024-08-04 3327/week @ 2024-08-11

12,648 每月下载量
用于 36 个包 (17 个直接使用)

Apache-2.0/MIT

105KB
2.5K SLoC

uX Crates.io 维护状态

非标准整数类型如 u7u9u10u63i7i9

当应用程序需要非标准宽度的整数时,通常的做法是使用更大的容器,并确保在操作后值在范围内。uX旨在通过以下方式一次性解决这个问题:

  • 提供 u1-u127i1-i127 类型,这些类型应该尽可能与内置Rust类型的行为相似
    • 定义的类型的函数与内置类型相同(目前并非所有函数都已实现,但如果有缺失的必要功能,请提交问题或创建PR)
    • 在调试模式下溢出会引发恐慌,在发布模式下会回绕。
  • 可以通过使用 From 来实现所有无损不可靠转换。
  • 可以通过使用 TryFrom 来实现所有无损可能失败的转换。

uX类型占用与可以容纳它们的最小整数类型一样多的空间。

许可证

许可协议为以下之一:

由您选择。

贡献

除非您明确表示,否则根据Apache-2.0许可证定义,您有意提交以包含在作品中的任何贡献,将按照上述方式双许可,不附加任何额外条款或条件。

无运行时依赖

特性