#crc32c #crc #checksum #hash #crc32

crc32c-hw

Hardware-accelerated (SSE 4.2) implementation of CRC32C with software fallback

5 releases

Uses old Rust 2015

0.1.3 Jun 26, 2018
0.1.2 Nov 4, 2017
0.1.1 Oct 18, 2017
0.1.0 Oct 15, 2017
0.0.0 Oct 10, 2017

#2860 in Algorithms

Download history 1081/week @ 2024-09-25 1383/week @ 2024-10-02 1075/week @ 2024-10-09 1253/week @ 2024-10-16 949/week @ 2024-10-23 615/week @ 2024-10-30 572/week @ 2024-11-06 637/week @ 2024-11-13 674/week @ 2024-11-20 471/week @ 2024-11-27 900/week @ 2024-12-04 831/week @ 2024-12-11 503/week @ 2024-12-18 240/week @ 2024-12-25 445/week @ 2025-01-01 474/week @ 2025-01-08

1,792 downloads per month

MIT/Apache

34KB
561 lines

CRC32C implementation with support for CPU-specific acceleration instructions (SSE 4.2) and software fallback.

crates.io crc32c_hw Build Status

Usage

To use crc32c-hw, add this to your Cargo.toml:

[dependencies]
crc32c-hw = "0.1.3"

Example

extern crate crc32c_hw;

let mut crc = 0;
crc = crc32c_hw::update(crc, b"123");
crc = crc32c_hw::update(crc, b"456");
crc = crc32c_hw::update(crc, b"789");
assert_eq!(crc, 0xe3069283);

assert_eq!(crc32c_hw::compute(b"123456789"), 0xe3069283);

Licence

Distributed under the terms of both the MIT license and the Apache License (Version 2.0), with portions covered by various BSD-like licenses.

See LICENSE-APACHE, and LICENSE-MIT for details.


lib.rs:

CRC32C implementation with support for CPU-specific acceleration instructions (SSE 4.2) and software fallback

crates.io crc32c_hw Build Status

Usage

To use crc32c-hw, add this to your Cargo.toml:

[dependencies]
crc32c-hw = "0.1.2"

Example

extern crate crc32c_hw;

let mut crc = 0;
crc = crc32c_hw::update(crc, b"123");
crc = crc32c_hw::update(crc, b"456");
crc = crc32c_hw::update(crc, b"789");
assert_eq!(crc, 0xe3069283);

assert_eq!(crc32c_hw::compute(b"123456789"), 0xe3069283);

Dependencies

~115KB