equivalence

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Jan 12, 2022 License: BSD-3-Clause Imports: 3 Imported by: 0

Documentation

Overview

Package equivalence implements the linear equivalence algorithm. TODO: The affine equivalence algorithm.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Additive

type Additive struct {
	A, B encoding.ByteAdditive
}

Additive is an additive equivalence--a pair of bytes, (A, B) such that f(x + a) = f(x) + b for all x.

func FindAdditive

func FindAdditive(f, g encoding.Byte, cap int) (out []Additive)

FindAdditive finds additive equivalences between f and g. cap is the maximum number of equivalences to return.

type Affine

type Affine struct {
	A, B encoding.ByteAffine
}

Affine is an affine equivalence--a part of affine transformations such that f(A(x)) = B(g(x)) for all x.

func FindAffine

func FindAffine(f, g encoding.Byte, cap int) []Affine

FindAffine finds affine equivalences between f and g. cap is the maximum number of equivalences to return. (Not Implemented.)

type Linear

type Linear struct {
	A, B encoding.ByteLinear
}

Linear is a linear equivalence--a pair of matrices, (A, B) such that f(A(x)) = B(g(x)) for all x.

func FindLinear

func FindLinear(f, g encoding.Byte, cap int) []Linear

FindLinear finds linear equivalences between f and g. cap is the maximum number of equivalences to return.

Jump to

Keyboard shortcuts

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