Documentation ¶
Overview ¶
Package pcg implements a 32 bit PRNG with a 64 bit period: pcg xsh rr 64 32. See https://www.pcg-random.org/ for more information. This implementation is geared specifically towards go-fuzz's needs: Simple creation and use, no reproducibility, no concurrency safety, just the methods go-fuzz needs, optimized for speed.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Rand ¶
type Rand struct {
// contains filtered or unexported fields
}
Rand is a PRNG. It should not be copied or shared. No Rand methods are concurrency safe. They are small, and cheap to create. If in doubt: Just make another one.
func (*Rand) Uint32n ¶
Uint32n returns a pseudo-random number in [0, n).
For implementation details, see: https://lemire.me/blog/2016/06/27/a-fast-alternative-to-the-modulo-reduction https://lemire.me/blog/2016/06/30/fast-random-shuffling