xorwow

package
v0.0.0-...-17533aa Latest Latest
Warning

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

Go to latest
Published: Nov 24, 2025 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Source

type Source struct {
	// contains filtered or unexported fields
}

Source is a random source using xorwow algorithm. https://en.wikipedia.org/wiki/Xorshift#xorwow Marsaglia, George (July 2003). "Xorshift RNGs". Journal of Statistical Software. 8 (14).

Example
package main

import (
	"fmt"
	"math/rand"

	"github.com/shogo82148/randsrc/xorwow"
)

func main() {
	src := xorwow.New(1, 2, 3, 4, 5)
	r := rand.New(src)
	for i := 0; i < 10; i++ {
		fmt.Println(r.Int63())
	}
}
Output:
778389808318630
2351421580898642
8110742959145109
1082860069128670816
9036705998592723489
3665118328779020088
7795853119066626177
4643274536627381931
8126316206436346437
8596184533766059526

func New

func New(a, b, c, d, e uint32) *Source

New create a new source.

func (*Source) Int63

func (s *Source) Int63() int64

Int63 implements math/rand.Source.

func (*Source) Seed

func (s *Source) Seed(seed int64)

Seed implements math/rand.Source.

func (*Source) Uint32

func (s *Source) Uint32() uint32

Uint32 returns pseudo-random uint32 values in the range [0, 1<<32).

func (*Source) Uint64

func (s *Source) Uint64() uint64

Uint64 implements math/rand.Source64

Jump to

Keyboard shortcuts

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