This file documents notable changes to the project.
- Complete rewrite --- lot of the changes were inspired by the Rust version of the library:
gf2_rs. - Renamed the library from
bittogf2(someone had already taken the namebiton crates.io). - Classes and functions have been moved into the
gf2namespace. - Added
gf2::BitStoreas a common concept interface for the vector-like classes:gf2::BitArrayfor fixed-size vectors of bits (backed bystd::array).gf2::BitVectorfor dynamically-sized vectors of bits (backed bystd::vector).gf2::BitSpanfor non-owning views into any bit-store.
- Added iterators for bits, set bits, unset bits, and store words for all bit-stores.
gf2::BitRefallows references to individual bits.gf2::BitMatrixand associated algorithms for matrices over GF(2).gf2::BitPolynomialand associated algorithms for polynomials over GF(2).- Documentation now uses Doxygen and published via GitHub Actions to GitHub Pages.
- The project uses
Doxytestto extract and run tests from code examples in header comments.
- Moved the repo to github.
- The documentation/site-builder was moved from AsciiDoc/Antora to Markdown/Quarto.
- Added the
bit::polynomialclass for polynomials over GF(2). - Incorporated various fixes and speed-ups from @jason.
- The library started as
GF2which evolved to thebitlibrary hosted on GitLab.