Crate fcrc[][src]

Expand description

FCRC

Fast-CRC is a generic CRC implementation using SIMD instructions when available and a fallback when not.

Feature List:

  • A reference implementation that operates bit-by-bit. Correct, concise, and readable.
  • A built in library of known CRC parameters, and the ability to easily use custom ones.
  • A slice_by implementation that uses lookup tables of size 256 * N for N >= 1. This is the ‘standard’ implementation.
  • Excellent test coverage for each implementation and each of the well known algorithms, against the reference implementation and against other rust CRC crates.
  • Benchmarks againts each implementation and against other rust CRC crates.
  • Comparable performance to other CRC crates.
  • An x86 implementation using sse4.1 and pclmulqdq intrinsics, base on the intel whitepaper on the topic.
  • An x86 implementation using sse4.1 crc intrinsics, when the selected algorithm is correct.
  • An aarch64 implementation using crc intrinsics, when the selected algorithm is correct.

Benchmarking results to be added to the README.

Re-exports

pub use models::Model;
pub use generic::Crc;

Modules

cbindgen:ignore Generic CRC trait

cbindgen:ignore Contains lists of models from Catalogue of parametrised CRC algorithms.

cbindgen:ignore The reference implementation, to which other implementations are checked.

cbindgen:ignore Contains a Slice-By-N crc implementation.