Versions in this module Expand all Collapse all v1 v1.0.1 Jun 30, 2026 v1.0.0 Jun 30, 2026 Changes in this version + const MaxPermutationSize + var ErrKnownHeadTooLong = errors.New("fisheryates: knownHead length exceeds size") + var ErrSizeExceedsMax = errors.New("fisheryates: size exceeds MaxPermutationSize") + var ErrSizeNegative = errors.New("fisheryates: size must be non-negative") + func GetLogger() logger.Logger + func GetSupportedLocales() []string + func RecoverDigits(sigma []int) ([]int, error) + func SetLogger(l logger.Logger) + func SetTranslator(translator TranslatorProvider) + func TailOf(sigma []int, k int) []int + type EarlyRejectResult struct + Rejected bool + StepsConsumed int + func EarlyRejectFromTail(sigmaTail []int, size int, random f5prng.RandomSource) EarlyRejectResult + type FisherYates struct + func (fy *FisherYates) CompleteFromKnownHead(size int, random f5prng.RandomSource, knownHead []int) (*PermPair, error) + func (fy *FisherYates) Generate(size int, random f5prng.RandomSource) ([]int, error) + func (fy *FisherYates) GenerateInto(buf []int, size int, random f5prng.RandomSource) ([]int, error) + func (fy *FisherYates) GenerateWithInverse(size int, random f5prng.RandomSource) (*PermPair, error) + type JavaCompat = FisherYates + type PermPair struct + Forward []int + HeadMatch bool + Inverse []int + MatchCount int + func CompleteFromKnownHead(size int, random f5prng.RandomSource, knownHead []int) (*PermPair, error) + func GenerateWithInverse(size int, random f5prng.RandomSource) (*PermPair, error) + type Permutator interface + Generate func(size int, random f5prng.RandomSource) ([]int, error) + GenerateInto func(buf []int, size int, random f5prng.RandomSource) ([]int, error) + func NewFisherYates() Permutator + func NewJavaCompat() Permutator + func NewUnbiased() Permutator + type ScanResult struct + Index int + Pair *PermPair + func ScanCandidates(ctx context.Context, size int, knownHead []int, ...) (ScanResult, bool) + type TranslatorProvider interface + GetLocale func() string + HasKey func(key string) bool + SetLocale func(locale string) + Translate func(key string) string + TranslateWithArgs func(key string, args ...interface{}) string + func GetTranslator() TranslatorProvider + func NewTranslator(locale string) (TranslatorProvider, error) + type Unbiased struct + func (u *Unbiased) Generate(size int, random f5prng.RandomSource) ([]int, error) + func (u *Unbiased) GenerateInto(buf []int, size int, random f5prng.RandomSource) ([]int, error) + func (u *Unbiased) Rejections() uint64