Documentation ¶
Index ¶
- Variables
- func InversePermutation(mut []uint32) []uint32
- func OctExp(x uint32) uint8
- func OctInverse(x uint8) uint8
- func OctVecAdd(x, y []byte)
- func OctVecMul(vector []byte, multiplier uint8)
- func OctVecMulAdd(x, y []byte, multiplier 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) *PlainMatrixGF2
- type PlainMatrixGF2
- func (m *PlainMatrixGF2) ColsNum() uint32
- func (m *PlainMatrixGF2) Get(row, col uint32) byte
- func (m *PlainMatrixGF2) GetRow(row uint32) []byte
- func (m *PlainMatrixGF2) Mul(s *MatrixGF256) *PlainMatrixGF2
- func (m *PlainMatrixGF2) RowAdd(row uint32, what []byte)
- func (m *PlainMatrixGF2) RowsNum() uint32
- func (m *PlainMatrixGF2) Set(row, col uint32)
- func (m *PlainMatrixGF2) String() string
- func (m *PlainMatrixGF2) ToGF256() *MatrixGF256
- func (m *PlainMatrixGF2) Unset(row, col uint32)
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrNotSolvable = errors.New("not solvable")
Functions ¶
func InversePermutation ¶
func OctInverse ¶
func OctVecMulAdd ¶
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) *PlainMatrixGF2
type PlainMatrixGF2 ¶
type PlainMatrixGF2 struct {
// contains filtered or unexported fields
}
func NewPlainMatrixGF2 ¶
func NewPlainMatrixGF2(rows, cols uint32) *PlainMatrixGF2
func (*PlainMatrixGF2) ColsNum ¶
func (m *PlainMatrixGF2) ColsNum() uint32
func (*PlainMatrixGF2) Get ¶
func (m *PlainMatrixGF2) Get(row, col uint32) byte
func (*PlainMatrixGF2) GetRow ¶
func (m *PlainMatrixGF2) GetRow(row uint32) []byte
func (*PlainMatrixGF2) Mul ¶
func (m *PlainMatrixGF2) Mul(s *MatrixGF256) *PlainMatrixGF2
func (*PlainMatrixGF2) RowAdd ¶
func (m *PlainMatrixGF2) RowAdd(row uint32, what []byte)
func (*PlainMatrixGF2) RowsNum ¶
func (m *PlainMatrixGF2) RowsNum() uint32
func (*PlainMatrixGF2) Set ¶
func (m *PlainMatrixGF2) Set(row, col uint32)
func (*PlainMatrixGF2) String ¶
func (m *PlainMatrixGF2) String() string
func (*PlainMatrixGF2) ToGF256 ¶
func (m *PlainMatrixGF2) ToGF256() *MatrixGF256
func (*PlainMatrixGF2) Unset ¶
func (m *PlainMatrixGF2) Unset(row, col uint32)
Source Files ¶
Click to show internal directories.
Click to hide internal directories.