randu 0.9.0

RANDU MCG65539 random number generator
Documentation
# RANDU


[![Crates.io License](https://img.shields.io/crates/l/randu)](https://unlicense.org)
[![Crates.io Version](https://img.shields.io/crates/v/randu.svg)](https://crates.io/crates/randu)
[![Crates.io MSRV](https://img.shields.io/crates/msrv/randu?logo=rust&label=MSRV&labelColor=orange)](https://blog.rust-lang.org/2021/10/21/Rust-1.56.0.html)
[![Safe Rust](https://img.shields.io/badge/Rust-safe-brightgreen.svg)](https://www.rust-lang.org/policies/safety.html)
[![dependency status](https://deps.rs/repo/gitlab/hsn10/randu/status.svg)](https://deps.rs/repo/gitlab/hsn10/randu)
[![Documentation](https://docs.rs/randu/badge.svg)](https://docs.rs/randu)
[![Downloads](https://img.shields.io/crates/d/randu)](https://crates.io/crates/randu/versions)
[![](https://tokei.rs/b1/gitlab/hsn10/randu?category=code)](https://github.com/XAMPPRocky/tokei)

Pseudorandom multiplicative congruential generator (MCG) used in 1960's and 1970's in
the IBM Scientific Subroutine Library for IBM System/360 computers.

RANDU uses MCG coeficients a = 65539 ( 2^16 + 3 ) and m = 2^31. It can be implemented
very quickly on 32-bit hardware in just 2 operations: wrapped multiplication by _a_ and bit
masking result using AND 0x7fffffff.

Returns non negative 31 bit integer. It fails the spectral test for dimensions greater than 2.
RANDU produces very strong banding when used in 3 dimensions which can be used in GPU
programming for visual effects.

### References


https://en.wikipedia.org/wiki/RANDU

https://oeis.org/A096555

## License


This is free and unencumbered software released into the public domain.

This code can be used under terms of [CC0](https://creativecommons.org/publicdomain/zero/1.0/) or
the [Unlicense](https://unlicense.org).

![Unlicense logo](https://unlicense.org/pd-icon.png)