sampler

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Jul 1, 2022 License: BSD-3-Clause Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Seed

func Seed(seed int64)

Types

type Uniform

type Uniform interface {
	Initialize(sampleRange uint64) error
	Sample(length int) ([]uint64, error)

	Seed(int64)
	ClearSeed()

	Reset()
	Next() (uint64, error)
}

Uniform samples values without replacement in the provided range

func NewBestUniform

func NewBestUniform(expectedSampleSize int) Uniform

NewBestUniform returns a new sampler

func NewUniform

func NewUniform() Uniform

NewUniform returns a new sampler

type Weighted

type Weighted interface {
	Initialize(weights []uint64) error
	Sample(sampleValue uint64) (int, error)
}

Weighted defines how to sample a specified valued based on a provided weighted distribution

func NewDeterministicWeighted

func NewDeterministicWeighted() Weighted

func NewWeighted

func NewWeighted() Weighted

NewWeighted returns a new sampler

type WeightedWithoutReplacement

type WeightedWithoutReplacement interface {
	Initialize(weights []uint64) error
	Sample(count int) ([]int, error)

	Seed(int64)
	ClearSeed()
}

WeightedWithoutReplacement defines how to sample weight without replacement. Note that the behavior is to sample the weight without replacement, not the indices. So duplicate indices can be returned.

func NewBestWeightedWithoutReplacement

func NewBestWeightedWithoutReplacement(
	expectedSampleSize int,
) WeightedWithoutReplacement

NewBestWeightedWithoutReplacement returns a new sampler

func NewDeterministicWeightedWithoutReplacement

func NewDeterministicWeightedWithoutReplacement() WeightedWithoutReplacement

NewWeightedWithoutReplacement returns a new sampler

func NewWeightedWithoutReplacement

func NewWeightedWithoutReplacement() WeightedWithoutReplacement

NewWeightedWithoutReplacement returns a new sampler

Jump to

Keyboard shortcuts

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