GF2++
Loading...
Searching...
No Matches
BitMat.h

Matrices over over GF(2) – bit-matrices.
See the BitMat page for more details. More...

Go to the source code of this file.

Classes

class  gf2::BitMat< Word >
 A dynamically-sized matrix over GF(2) stored as a vector of bit-vectors representing the rows of the matrix. The row elements are compactly stored in standard vectors of primitive unsigned words whose type is given by the template parameter Word. More...
struct  std::formatter< gf2::BitMat< Word > >
 Specialise std::formatter for the gf2::BitMat<Word> type. More...

Namespaces

namespace  gf2
 The namespace for the gf2 library.

Functions

template<unsigned_word Word, typename Rhs>
requires store_word_is<Rhs, Word>
constexpr auto gf2::dot (const BitMat< Word > &lhs, const BitStore< Rhs > &rhs)
 Bit-matrix, bit-store multiplication, M * v, returning a new bit-vector.
template<unsigned_word Word, typename Rhs>
requires store_word_is<Rhs, Word>
constexpr auto gf2::operator* (const BitMat< Word > &lhs, const BitStore< Rhs > &rhs)
 Operator form for bit-matrix, bit-vector multiplication, M * v, returning a new bit-vector.
template<unsigned_word Word, typename Lhs>
requires store_word_is<Lhs, Word>
constexpr auto gf2::dot (const BitStore< Word > &lhs, const BitMat< Word > &rhs)
 Bit-vector, bit-matrix multiplication, v * M`, returning a new bit-vector.
template<unsigned_word Word, typename Lhs>
requires store_word_is<Lhs, Word>
constexpr auto gf2::operator* (const BitStore< Lhs > &lhs, const BitMat< Word > &rhs)
 Operator form for bit-vector, bit-matrix multiplication, v * M, returning a new bit-vector.
template<unsigned_word Word>
constexpr auto gf2::dot (const BitMat< Word > &lhs, const BitMat< Word > &rhs)
 Bit-matrix, bit-matrix multiplication, M * N, returning a new bit-matrix.
template<unsigned_word Word>
constexpr auto gf2::operator* (const BitMat< Word > &lhs, const BitMat< Word > &rhs)
 Operator form for bit-matrix, bit-matrix multiplication, M * N, returning a new bit-matrix.
template<unsigned_word Word, typename Rhs>
requires store_word_is<Rhs, Word>
std::string gf2::string_for (const BitMat< Word > &A, const BitStore< Rhs > &b)
 Returns a string that shows a bit-matrix and a bit-vector side-by-side.
template<unsigned_word Word, typename Rhs>
requires store_word_is<Rhs, Word>
std::string gf2::string_for (const BitMat< Word > &A, const BitStore< Rhs > &b, const BitStore< Rhs > &c)
 Returns a string that shows a bit-matrix and two bit-vectors side-by-side.
template<unsigned_word Word, typename Rhs>
requires store_word_is<Rhs, Word>
std::string gf2::string_for (const BitMat< Word > &A, const BitStore< Rhs > &b, const BitStore< Rhs > &c, const BitStore< Rhs > &d)
 Returns a string that shows a bit-matrix and three bit-vectors side-by-side.
template<unsigned_word Word>
std::string gf2::string_for (const BitMat< Word > &A, const BitMat< Word > &B)
 Returns a string that shows two bit-matrices side-by-side.
template<unsigned_word Word>
std::string gf2::string_for (const BitMat< Word > &A, const BitMat< Word > &B, const BitMat< Word > &C)
 Returns a string that shows three bit-matrices side-by-side.

Detailed Description

Matrices over over GF(2) – bit-matrices.
See the BitMat page for more details.