Skip to content

Latest commit

 

History

History
30 lines (23 loc) · 1.48 KB

File metadata and controls

30 lines (23 loc) · 1.48 KB

Changelog

This file documents notable changes to the project.

Jan-2026

  • Complete rewrite --- lot of the changes were inspired by the Rust version of the library: gf2_rs.
  • Renamed the library from bit to gf2 (someone had already taken the name bit on crates.io).
  • Classes and functions have been moved into the gf2 namespace.
  • Added gf2::BitStore as a common concept interface for the vector-like classes:
    • gf2::BitArray for fixed-size vectors of bits (backed by std::array).
    • gf2::BitVector for dynamically-sized vectors of bits (backed by std::vector).
    • gf2::BitSpan for non-owning views into any bit-store.
  • Added iterators for bits, set bits, unset bits, and store words for all bit-stores.
  • gf2::BitRef allows references to individual bits.
  • gf2::BitMatrix and associated algorithms for matrices over GF(2).
  • gf2::BitPolynomial and associated algorithms for polynomials over GF(2).
  • Documentation now uses Doxygen and published via GitHub Actions to GitHub Pages.
  • The project uses Doxytest to extract and run tests from code examples in header comments.

Apr-2024

  • Moved the repo to github.
  • The documentation/site-builder was moved from AsciiDoc/Antora to Markdown/Quarto.
  • Added the bit::polynomial class for polynomials over GF(2).
  • Incorporated various fixes and speed-ups from @jason.

Earlier (2022-23)

  • The library started as GF2 which evolved to the bit library hosted on GitLab.