reed_solomon_simd

Module engine

Source
Expand description

Low-level building blocks for Reed-Solomon encoding/decoding.

This is an advanced module which is not needed for simple usage or basic usage.

This module is relevant if you want to

  • use rate module and need an Engine to use with it.
  • create your own Engine.
  • understand/benchmark/test at low level.

§Engines

An Engine is an implementation of basic low-level algorithms needed for Reed-Solomon encoding/decoding.

  • Naive
    • Simple reference implementation.
  • NoSimd
    • Basic optimized engine without SIMD so that it works on all CPUs.
  • Avx2
    • Optimized engine that takes advantage of the x86(-64) AVX2 SIMD instructions.
  • Ssse3
    • Optimized engine that takes advantage of the x86(-64) SSSE3 SIMD instructions.
  • [Neon]
    • Optimized engine that takes advantage of the AArch64 Neon SIMD instructions.
  • DefaultEngine
    • Default engine which is used when no specific engine is given.
    • Automatically selects best engine at runtime.

Modules§

  • Lookup-tables used by Engine:s.
  • A collection of utility functions and helpers to facilitate the implementation of the Engine trait.

Structs§

Constants§

Traits§

  • Trait for compute-intensive low-level algorithms needed for Reed-Solomon encoding/decoding.

Type Aliases§