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