[][src]Crate crc32c

This crate provides the CRC-32-Castagnoli algorithm.

It provides both a software implementation, and a hardware-optimized one for SSE 4.2.

Example

let message = b"Hello world!";

let crc = crc32c::crc32c(message);

assert_eq!(crc, 0x7B_98_E7_51);

Enabling hardware acceleration

If you compile your code with -C target-features=+sse4.2, then the hardware-optimized version will be compiled into the code.

Otherwise, the crate will use cpuid at runtime to detect the running CPU's features, and enable the appropiate algorithm.

Functions

crc32c

Computes the CRC for the data payload.

crc32c_append

Computes the CRC for the data payload, starting with a previous CRC value.