random

package
v0.0.25 Latest Latest
Warning

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

Go to latest
Published: Feb 18, 2024 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FairFlip

func FairFlip[T any](rng IntnGenerator, tVal, fVal T) T

func Flip

func Flip(rng IntnGenerator, tWeight, fWeight int) bool

Types

type Gen

type Gen[T any] func(p IntnGenerator) T

func Aggregate

func Aggregate[G Gen[T], T any](agg func(T, T) T, gens ...Gen[T]) Gen[T]

func Generate

func Generate[R Gen[T], T any](gen R, pipe utils.Pipe[T]) Gen[T]

func OneOf

func OneOf[T any](gens ...Gen[T]) Gen[T]

type Int63Generator

type Int63Generator interface {
	Int63() int64
}

type IntnGenerator

type IntnGenerator interface {
	Intn(n int) int
}

type NumGen32

type NumGen32 struct {
	Source Source32
	Index  uint64
}

func NewNumGen32

func NewNumGen32(source32 Source32) *NumGen32

func NewNumGen32FromGoSource32

func NewNumGen32FromGoSource32(source rand.Source) *NumGen32

func NewNumGen32FromIndex

func NewNumGen32FromIndex(source32 Source32, index uint64) *NumGen32

func (*NumGen32) GetState

func (r *NumGen32) GetState() []byte

func (*NumGen32) Intn

func (r *NumGen32) Intn(n int) int

func (*NumGen32) RestoreState

func (r *NumGen32) RestoreState(state []byte)

func (*NumGen32) Roll

func (r *NumGen32) Roll(range_ Range[uint32]) uint32

func (*NumGen32) Rolls

func (r *NumGen32) Rolls(ranges ...Range[uint32]) []uint32

func (*NumGen32) Seed

func (r *NumGen32) Seed(seed uint32)

func (*NumGen32) SeedFrom

func (r *NumGen32) SeedFrom(seed uint32, index uint64)

func (*NumGen32) Uint32

func (r *NumGen32) Uint32() uint32

type Range

type Range[TNum maths.Number] struct{ Min, Max TNum }

func NewRange

func NewRange[TNum maths.Number](min, max TNum) Range[TNum]

func NewZeroRange

func NewZeroRange[TNum maths.Number](max TNum) Range[TNum]

func (Range[TNum]) Gen

func (r Range[TNum]) Gen() Gen[TNum]

func (Range[TNum]) Match

func (r Range[TNum]) Match(val TNum) bool

func (Range[TNum]) Roll

func (r Range[TNum]) Roll(rng IntnGenerator) TNum

type Source32

type Source32 interface {
	Uint32() uint32
	Seed(seed int64)
}

type Uint32Generator

type Uint32Generator interface {
	Uint32() uint32
}

type Uint64Generator

type Uint64Generator interface {
	Uint64() uint64
}

type WordGen

type WordGen = Gen[string]

func ConcatStr

func ConcatStr(gens ...WordGen) WordGen

func FromString

func FromString(set string) WordGen

func FromStrings

func FromStrings(opts ...string) WordGen

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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