Elektra  0.8.21
Functions
rand.c File Reference

Rand for Elektra. More...

#include "kdbrand.h"
#include <kdbassert.h>
Include dependency graph for rand.c:

Functions

void elektraRand (int32_t *seed)
 Non cryptographic pseudo random number generator By Ray Gardner www8.cs.umu.se/~isak/snippets/rg_rand.c. More...
 

Detailed Description

Rand for Elektra.

Function Documentation

◆ elektraRand()

void elektraRand ( int32_t *  seed)

Non cryptographic pseudo random number generator By Ray Gardner www8.cs.umu.se/~isak/snippets/rg_rand.c.

based on "Random Number Generators: Good Ones Are Hard to Find", S.K. Park and K.W. Miller, Communications of the ACM 31:10 (Oct 1988), and "Two Fast Implementations of the 'Minimal Standard' Random Number Generator", David G. Carta, Comm. ACM 33, 1 (Jan 1990), p. 87-88

linear congruential generator f(z) = 16807 z mod (2 ** 31 - 1)

uses L. Schrage's method to avoid overflow problems

Make sure the initial seed is: 0 < seed < ELEKTRARANDMAX

Parameters
seeda pointer to the seed