digit-layout
这个库提供了一个统一的数据类型定义,可以高效地编码类型信息,避免重复定义数据类型。
特性
- 支持无符号整数类型;
- 支持浮点数类型;
- 支持自定义命名类型;
- 紧凑的内存布局;
- 无标准库依赖(no_std);
- 可选的 half 浮点数支持;
使用示例
基本用法
use ;
// 创建无符号整数类型布局
let u8_layout = unsigned;
assert_eq!;
// 创建浮点数类型布局
let f32_layout = real;
assert_eq!;
// 创建自定义类型布局
let custom_layout = named;
assert_eq!;
数组类型
use DigitLayout;
// 创建无符号整数数组布局
let u8_array = unsigned;
assert_eq!;
// 创建浮点数数组布局
let f32_array = real;
assert_eq!;
解码布局
use ;
// 解码无符号整数布局
let u8_layout = unsigned;
match u8_layout.decode
// 解码浮点数布局
let f32_layout = real;
match f32_layout.decode
性能测试
项目包含一个性能测试示例,可以测量各种操作的执行时间。运行性能测试:
性能测试会测量以下操作的执行时间:
-
创建布局
- 创建无符号整数布局;
- 创建浮点数布局;
- 创建自定义布局;
-
解码布局
- 解码无符号整数布局;
- 解码浮点数布局;
- 解码自定义布局;
测试结果会显示每个操作的平均执行时间。
文档
完整的 API 文档可以在 docs.rs 上找到。
贡献
欢迎提交 Issue 和 Pull Request!
许可证
本项目采用 MIT 许可证 - 详见 LICENSE 文件。