discmath

package
v1.9.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 15, 2024 License: Apache-2.0 Imports: 4 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrNotSolvable = errors.New("not solvable")

Functions

func InversePermutation

func InversePermutation(mut []uint32) []uint32

func OctExp

func OctExp(x uint32) uint8

func OctInverse

func OctInverse(x uint8) uint8

func OctVecAdd added in v1.9.0

func OctVecAdd(x, y []byte)

func OctVecMul added in v1.9.0

func OctVecMul(vector []byte, multiplier uint8)

func OctVecMulAdd added in v1.9.0

func OctVecMulAdd(x, y []byte, multiplier uint8)

Types

type GF256

type GF256 struct {
	// contains filtered or unexported fields
}

func (*GF256) Add

func (g *GF256) Add(g2 *GF256)

func (*GF256) AddMul

func (g *GF256) AddMul(g2 *GF256, x uint8)

func (*GF256) Bytes

func (g *GF256) Bytes() []byte

func (*GF256) Mul

func (g *GF256) Mul(x uint8)

func (*GF256) String

func (g *GF256) String() string

type MatrixGF2

type MatrixGF2 struct {
	// contains filtered or unexported fields
}

func NewMatrixGF2

func NewMatrixGF2(rows, cols uint32) *MatrixGF2

func (*MatrixGF2) ColsNum

func (m *MatrixGF2) ColsNum() uint32

func (*MatrixGF2) Get

func (m *MatrixGF2) Get(row, col uint32) bool

func (*MatrixGF2) GetRow

func (m *MatrixGF2) GetRow(row uint32) []uint8

func (*MatrixGF2) Mul

func (m *MatrixGF2) Mul(s *MatrixGF256) *MatrixGF2

func (*MatrixGF2) RowAdd

func (m *MatrixGF2) RowAdd(row uint32, what []uint8)

func (*MatrixGF2) RowsNum

func (m *MatrixGF2) RowsNum() uint32

func (*MatrixGF2) Set

func (m *MatrixGF2) Set(row, col uint32)

func (*MatrixGF2) String

func (m *MatrixGF2) String() string

func (*MatrixGF2) ToGF256

func (m *MatrixGF2) ToGF256() *MatrixGF256

func (*MatrixGF2) Unset

func (m *MatrixGF2) Unset(row, col uint32)

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) RowAddMul

func (m *MatrixGF256) RowAddMul(i uint32, g2 *GF256, x uint8)

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 added in v1.9.0

type PlainMatrixGF2 struct {
	// contains filtered or unexported fields
}

func NewPlainMatrixGF2 added in v1.9.0

func NewPlainMatrixGF2(rows, cols uint32) *PlainMatrixGF2

func (*PlainMatrixGF2) ColsNum added in v1.9.0

func (m *PlainMatrixGF2) ColsNum() uint32

func (*PlainMatrixGF2) Get added in v1.9.0

func (m *PlainMatrixGF2) Get(row, col uint32) byte

func (*PlainMatrixGF2) GetRow added in v1.9.0

func (m *PlainMatrixGF2) GetRow(row uint32) []byte

func (*PlainMatrixGF2) Mul added in v1.9.0

func (*PlainMatrixGF2) RowAdd added in v1.9.0

func (m *PlainMatrixGF2) RowAdd(row uint32, what []byte)

func (*PlainMatrixGF2) RowsNum added in v1.9.0

func (m *PlainMatrixGF2) RowsNum() uint32

func (*PlainMatrixGF2) Set added in v1.9.0

func (m *PlainMatrixGF2) Set(row, col uint32)

func (*PlainMatrixGF2) String added in v1.9.0

func (m *PlainMatrixGF2) String() string

func (*PlainMatrixGF2) ToGF256 added in v1.9.0

func (m *PlainMatrixGF2) ToGF256() *MatrixGF256

func (*PlainMatrixGF2) Unset added in v1.9.0

func (m *PlainMatrixGF2) Unset(row, col uint32)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL