Next: random generators cmrg, Previous: random generators bbs, Up: random generators [Index]

This generator is called *Borosh–Niederreiter*. It was taken from:

Donald E. Knuth. “The Art of Computer Programming”. Volume 2. Third Edition. Addison-Wesley. Page 106-108.

the following bindings are exported by the ```
(vicare crypto
randomisations borosh)
```

library.

- Function:
**make-random-source/borosh** Build and return a new randomness source using the

*Borosh–Niederreiter*generator.The state returned by

`random-source-state-ref`

is a Scheme vector of length 2, whose first value is the symbol`random-source-state/borosh`

. The other value is a single integer representable with*32*bits.The

`random-source-seed!`

function for this generator, must be applied to a numbers maker returning integers representable with*32*bits.

The generator computes a new integer *N'* from an initial state
*N* with the following formulation:

M = 2^32 A = 1812433253 N' = (A * N) mod M

`(vicare crypto randomisations borosh)`

sets the initial state to
*N = 1*.