Skip to content
EntityQ2576999· pop 9· linked from 18 articles

Also known as xorshift128, xorshift128+, xorshift1024+, xorshift1024*, xoshiro256**, xoshiro, xoroshiro, xoshiro256+

thumb|right|Example random distribution of Xorshift128 Xorshift random number generators, also called shift-register generators, are a class of pseudorandom number generators that were invented by George Marsaglia. They are a subset of linear-feedback shift registers (LFSRs) which allow a particularly efficient implementation in software without the excessive use of sparse polynomials. They generate the next number in their sequence by repeatedly taking the exclusive or of a number with a bit-shifted version of itself. This makes execution extremely efficient on modern computer architectures,

Wikidata facts

Image
Xorshift.png
Show 1 more fact
time of discovery or invention
2003-00-00

via Wikidata · CC0

~17 min read

Article

18 sections
Contents
  • Example implementation
  • Non-linear variations
  • xorwow
  • xorshift*
  • xorshift+
  • xorshiftr+
  • xoshiro
  • xoshiro256++
  • xoshiro256**
  • xoshiro256+
  • xoroshiro
  • Statistical quality
  • Initialization
  • See also
  • Notes
  • References
  • Further reading
  • External links

thumb|right|Example random distribution of Xorshift128 Xorshift random number generators, also called shift-register generators, are a class of pseudorandom number generators that were invented by George Marsaglia. They are a subset of linear-feedback shift registers (LFSRs) which allow a particularly efficient implementation in software without the excessive use of sparse polynomials. They generate the next number in their sequence by repeatedly taking the exclusive or of a number with a bit-shifted version of itself. This makes execution extremely efficient on modern computer architectures, but it does not benefit efficiency in a hardware implementation. Like all LFSRs, the parameters have to be chosen very carefully in order to achieve a long period.

For execution in software, xorshift generators are among the fastest PRNGs, requiring very small code and state. However, they do not pass every statistical test without further refinement. This weakness is amended by combining them with a non-linear function, as described in the original paper. Because plain xorshift generators (without a non-linear step) fail some statistical tests, they have been accused of being unreliable.

Available in 8 languages

via Wikidata sitelinks · CC0

Connections

Categories