6个版本 (稳定)

1.3.0 2023年9月6日
1.3.0-rc.12023年6月23日
1.2.0 2022年11月2日
1.1.0 2022年10月5日
1.0.1 2022年10月5日

算法 中排名第 352

Download history · Rust 包仓库 1141/week @ 2024-03-14 · Rust 包仓库 1642/week @ 2024-03-21 · Rust 包仓库 1374/week @ 2024-03-28 · Rust 包仓库 1891/week @ 2024-04-04 · Rust 包仓库 1717/week @ 2024-04-11 · Rust 包仓库 1272/week @ 2024-04-18 · Rust 包仓库 1337/week @ 2024-04-25 · Rust 包仓库 1446/week @ 2024-05-02 · Rust 包仓库 1111/week @ 2024-05-09 · Rust 包仓库 1198/week @ 2024-05-16 · Rust 包仓库 1142/week @ 2024-05-23 · Rust 包仓库 1557/week @ 2024-05-30 · Rust 包仓库 1600/week @ 2024-06-06 · Rust 包仓库 2402/week @ 2024-06-13 · Rust 包仓库 2263/week @ 2024-06-20 · Rust 包仓库 1827/week @ 2024-06-27 · Rust 包仓库

每月下载量 8,359
11 个crate中使用(通过 frost-core

MIT 协议

8KB
99

const-crc32

const crc32校验和实现的函数。

示例

const BYTES: &[u8] = "The quick brown fox jumps over the lazy dog".as_bytes();
const CKSUM: u32 = const_crc32::crc32(BYTES);
assert_eq!(CKSUM, 0x414fa339_u32);

用法

这是一个原始实现,如果用于运行时动态数据,预期性能较差。使用通常应限制在基于构建时提供的静态或const数据声明的const变量。

#[const_eval_limit]

您可能需要增加crate范围的const_eval_limit设置以使用const_crc32处理更大的字节切片。

增加const_eval_limit需要nightly-only #![feature(const_eval_limit)]

之前,这个crate自行设置了限制,但截至2022-10-30的nightly,const_crc32中设置的值不会增加使用库的crate的限制。

构建时const数据大约100k的编译时间小于1秒。


lib.rs:

const crc32校验和实现的函数。

示例

const BYTES: &[u8] = "The quick brown fox jumps over the lazy dog".as_bytes();
const CKSUM: u32 = const_crc32::crc32(BYTES);
assert_eq!(CKSUM, 0x414fa339_u32);

没有运行时依赖