Documentation ¶
Index ¶
- Variables
- func InversePermutation(mut []uint32) []uint32
- func OctDiv(x, y uint8) uint8
- func OctExp(x uint32) uint8
- func OctInverse(x uint8) uint8
- func OctLog(x uint8) uint8
- func OctSub(x, y uint8) uint8
- type GF256
- type MatrixGF2
- func (m *MatrixGF2) ColsNum() uint32
- func (m *MatrixGF2) Get(row, col uint32) bool
- func (m *MatrixGF2) GetRow(row uint32) []uint8
- func (m *MatrixGF2) Mul(s *MatrixGF256) *MatrixGF2
- func (m *MatrixGF2) RowAdd(row uint32, what []uint8)
- func (m *MatrixGF2) RowsNum() uint32
- func (m *MatrixGF2) Set(row, col uint32)
- func (m *MatrixGF2) String() string
- func (m *MatrixGF2) ToGF256() *MatrixGF256
- func (m *MatrixGF2) Unset(row, col uint32)
- type MatrixGF256
- func (m *MatrixGF256) Add(s *MatrixGF256) *MatrixGF256
- func (m *MatrixGF256) ApplyPermutation(permutation []uint32) *MatrixGF256
- func (m *MatrixGF256) ColsNum() uint32
- func (m *MatrixGF256) Copy() *MatrixGF256
- func (m *MatrixGF256) Each(f func(row, col uint32))
- func (m *MatrixGF256) Get(row, col uint32) uint8
- func (m *MatrixGF256) GetBlock(rowOffset, colOffset, rowSize, colSize uint32) *MatrixGF256
- func (m *MatrixGF256) GetCols(col uint32) (cols []uint32)
- func (m *MatrixGF256) GetRow(row uint32) *GF256
- func (m *MatrixGF256) GetRows(row uint32) (rows []uint32)
- func (m *MatrixGF256) MulSparse(s *MatrixGF256) *MatrixGF256
- func (m *MatrixGF256) RowAdd(i uint32, g2 *GF256)
- func (m *MatrixGF256) RowAddMul(i uint32, g2 *GF256, x uint8)
- func (m *MatrixGF256) RowMul(i uint32, x uint8)
- func (m *MatrixGF256) RowSet(row uint32, r *GF256)
- func (m *MatrixGF256) RowsNum() uint32
- func (m *MatrixGF256) Set(row, col uint32, val uint8)
- func (m *MatrixGF256) SetFrom(g *MatrixGF256, rowOffset, colOffset uint32)
- func (m *MatrixGF256) String() string
- func (m *MatrixGF256) ToGF2(rowFrom, colFrom, rowSize, colSize uint32) *MatrixGF2
- type SparseMatrixGF2
- func (s *SparseMatrixGF2) ApplyColsPermutation(permutation []uint32) *SparseMatrixGF2
- func (s *SparseMatrixGF2) ApplyRowsPermutation(permutation []uint32) *SparseMatrixGF2
- func (s *SparseMatrixGF2) ColsNum() uint32
- func (s *SparseMatrixGF2) Each(f func(row, col uint32))
- func (s *SparseMatrixGF2) GetBlock(rowOffset, colOffset, rowSize, colSize uint32) *SparseMatrixGF2
- func (s *SparseMatrixGF2) GetCols(row uint32) (cols []uint32)
- func (s *SparseMatrixGF2) GetRows(col uint32) (rows []uint32)
- func (s *SparseMatrixGF2) NonZeroes() int
- func (s *SparseMatrixGF2) RowsNum() uint32
- func (s *SparseMatrixGF2) Set(row, col uint32)
- func (s *SparseMatrixGF2) ToDense(rowFrom, colFrom, rowSize, colSize uint32) *MatrixGF2
- func (s *SparseMatrixGF2) Transpose() *SparseMatrixGF2
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrNotSolvable = errors.New("not solvable")
Functions ¶
func InversePermutation ¶
func OctInverse ¶
Types ¶
type MatrixGF2 ¶
type MatrixGF2 struct {
// contains filtered or unexported fields
}
func NewMatrixGF2 ¶
func (*MatrixGF2) Mul ¶
func (m *MatrixGF2) Mul(s *MatrixGF256) *MatrixGF2
func (*MatrixGF2) ToGF256 ¶
func (m *MatrixGF2) ToGF256() *MatrixGF256
type MatrixGF256 ¶
type MatrixGF256 struct {
// contains filtered or unexported fields
}
func GaussianElimination ¶
func GaussianElimination(a, d *MatrixGF256) (*MatrixGF256, error)
func NewMatrixGF256 ¶
func NewMatrixGF256(rows, cols uint32) *MatrixGF256
func (*MatrixGF256) Add ¶
func (m *MatrixGF256) Add(s *MatrixGF256) *MatrixGF256
func (*MatrixGF256) ApplyPermutation ¶
func (m *MatrixGF256) ApplyPermutation(permutation []uint32) *MatrixGF256
func (*MatrixGF256) ColsNum ¶
func (m *MatrixGF256) ColsNum() uint32
func (*MatrixGF256) Copy ¶
func (m *MatrixGF256) Copy() *MatrixGF256
func (*MatrixGF256) Each ¶
func (m *MatrixGF256) Each(f func(row, col uint32))
func (*MatrixGF256) Get ¶
func (m *MatrixGF256) Get(row, col uint32) uint8
func (*MatrixGF256) GetBlock ¶
func (m *MatrixGF256) GetBlock(rowOffset, colOffset, rowSize, colSize uint32) *MatrixGF256
func (*MatrixGF256) GetCols ¶
func (m *MatrixGF256) GetCols(col uint32) (cols []uint32)
func (*MatrixGF256) GetRow ¶
func (m *MatrixGF256) GetRow(row uint32) *GF256
func (*MatrixGF256) GetRows ¶
func (m *MatrixGF256) GetRows(row uint32) (rows []uint32)
func (*MatrixGF256) MulSparse ¶
func (m *MatrixGF256) MulSparse(s *MatrixGF256) *MatrixGF256
func (*MatrixGF256) RowAdd ¶
func (m *MatrixGF256) RowAdd(i uint32, g2 *GF256)
func (*MatrixGF256) RowMul ¶
func (m *MatrixGF256) RowMul(i uint32, x uint8)
func (*MatrixGF256) RowSet ¶
func (m *MatrixGF256) RowSet(row uint32, r *GF256)
func (*MatrixGF256) RowsNum ¶
func (m *MatrixGF256) RowsNum() uint32
func (*MatrixGF256) Set ¶
func (m *MatrixGF256) Set(row, col uint32, val uint8)
func (*MatrixGF256) SetFrom ¶
func (m *MatrixGF256) SetFrom(g *MatrixGF256, rowOffset, colOffset uint32)
func (*MatrixGF256) String ¶
func (m *MatrixGF256) String() string
func (*MatrixGF256) ToGF2 ¶
func (m *MatrixGF256) ToGF2(rowFrom, colFrom, rowSize, colSize uint32) *MatrixGF2
type SparseMatrixGF2 ¶
type SparseMatrixGF2 struct {
// contains filtered or unexported fields
}
func NewSparseMatrixGF2 ¶
func NewSparseMatrixGF2(rows, cols uint32) *SparseMatrixGF2
func (*SparseMatrixGF2) ApplyColsPermutation ¶
func (s *SparseMatrixGF2) ApplyColsPermutation(permutation []uint32) *SparseMatrixGF2
func (*SparseMatrixGF2) ApplyRowsPermutation ¶
func (s *SparseMatrixGF2) ApplyRowsPermutation(permutation []uint32) *SparseMatrixGF2
func (*SparseMatrixGF2) ColsNum ¶
func (s *SparseMatrixGF2) ColsNum() uint32
func (*SparseMatrixGF2) Each ¶
func (s *SparseMatrixGF2) Each(f func(row, col uint32))
func (*SparseMatrixGF2) GetBlock ¶
func (s *SparseMatrixGF2) GetBlock(rowOffset, colOffset, rowSize, colSize uint32) *SparseMatrixGF2
func (*SparseMatrixGF2) GetCols ¶
func (s *SparseMatrixGF2) GetCols(row uint32) (cols []uint32)
func (*SparseMatrixGF2) GetRows ¶
func (s *SparseMatrixGF2) GetRows(col uint32) (rows []uint32)
func (*SparseMatrixGF2) NonZeroes ¶
func (s *SparseMatrixGF2) NonZeroes() int
func (*SparseMatrixGF2) RowsNum ¶
func (s *SparseMatrixGF2) RowsNum() uint32
func (*SparseMatrixGF2) Set ¶
func (s *SparseMatrixGF2) Set(row, col uint32)
func (*SparseMatrixGF2) ToDense ¶
func (s *SparseMatrixGF2) ToDense(rowFrom, colFrom, rowSize, colSize uint32) *MatrixGF2
func (*SparseMatrixGF2) Transpose ¶
func (s *SparseMatrixGF2) Transpose() *SparseMatrixGF2
Click to show internal directories.
Click to hide internal directories.