Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrOutOfRange = errors.New("out of range")
Functions ¶
This section is empty.
Types ¶
type Source ¶
type Source interface { // Uint64 returns a random number in [0, MaxUint64] and advances the // generator's state. Uint64() uint64 }
type Uniform ¶
type Uniform interface { Initialize(sampleRange uint64) // Sample returns length numbers in the range [0,sampleRange). If there // aren't enough numbers in the range, an error is returned. If length is // negative the implementation may panic. Sample(length int) ([]uint64, error) Reset() Next() (uint64, error) }
Uniform samples values without replacement in the provided range
func NewBestUniform ¶
NewBestUniform returns a new sampler
func NewDeterministicUniform ¶
NewDeterministicUniform 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
type WeightedWithoutReplacement ¶
type WeightedWithoutReplacement interface { Initialize(weights []uint64) error Sample(count int) ([]int, error) }
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(source Source) WeightedWithoutReplacement
NewWeightedWithoutReplacement returns a new sampler
func NewWeightedWithoutReplacement ¶
func NewWeightedWithoutReplacement() WeightedWithoutReplacement
NewWeightedWithoutReplacement returns a new sampler
Click to show internal directories.
Click to hide internal directories.