Main Page | Class Hierarchy | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals

random.c File Reference

A portable random number generator. More...

Go to the source code of this file.

Data Structures

struct  prandom_t
 A pseudo-random number generator. More...

Defines

#define PRANDOM_SLOTS   16
#define PRANDOM_MASK   0x3fc91ab4
#define PRANDOM_A   16807
#define PRANDOM_M   2147483647
#define PRANDOM_Q   127773
#define PRANDOM_R   2836

Functions

void randstep (long *val)
 a primitive randomizing step, using a linear congruential generator.
void srandom (unsigned _seed)
 Initialize pseudo-random number generator from seed.
long random ()
 generate a random number

Variables

prandom_t generator
 the generator used.


Detailed Description

A portable random number generator.

Author:
Copyright (c) 2000 Markus L. Noga <markus@noga.de>
See Numerical Recipes in C 2nd Edition, p. 279-281 for inspiration.

Definition in file random.c.


Define Documentation

#define PRANDOM_A   16807
 

Definition at line 19 of file random.c.

Referenced by randstep().

#define PRANDOM_M   2147483647
 

Definition at line 20 of file random.c.

#define PRANDOM_MASK   0x3fc91ab4
 

Definition at line 17 of file random.c.

#define PRANDOM_Q   127773
 

Definition at line 21 of file random.c.

#define PRANDOM_R   2836
 

Definition at line 22 of file random.c.

Referenced by randstep().

#define PRANDOM_SLOTS   16
 

Definition at line 16 of file random.c.

Referenced by random(), and srandom().


Function Documentation

long random void   ) 
 

generate a random number

The random() function returns successive pseudo-random numbers

Returns:
a random number in the range from 0 to RAND_MAX

Definition at line 77 of file random.c.

References prandom_t::entry, generator, PRANDOM_SLOTS, randstep(), prandom_t::select, and prandom_t::state.

void randstep long *  val  ) 
 

a primitive randomizing step, using a linear congruential generator.

Definition at line 49 of file random.c.

References PRANDOM_A, and PRANDOM_R.

Referenced by random(), and srandom().

void srandom unsigned  _seed  ) 
 

Initialize pseudo-random number generator from seed.

Definition at line 58 of file random.c.

References prandom_t::entry, generator, PRANDOM_SLOTS, randstep(), prandom_t::select, and prandom_t::state.


Variable Documentation

prandom_t generator [static]
 

the generator used.

Definition at line 39 of file random.c.

Referenced by random(), and srandom().


Generated on Fri Feb 25 08:02:44 2005 for brickos by  doxygen 1.3.9.1