librand is an implementation of a GPL version of the Mersenne Twister. It is usable in your projects and is a great a fast psuedo random number generator. The APG project uses librand to get its randomness.
librand provides the following functions:
/* initializes mt[N] with a seed */
void init_genrand(unsigned long s);
/* initialize by an array with array-length */
/* init_key is the array for initializing keys */
/* key_length is its length */
void init_by_array(unsigned long init_key[], unsigned long key_length);
/* generates a random number on [0,0xffffffff]-interval */
unsigned long genrand_int32(void);
/* generates a random number on [0,0x7fffffff]-interval */
long genrand_int31(void);
/* generates a random number on [0,1]-real-interval */
double genrand_real1(void);
/* generates a random number on [0,1)-real-interval */
double genrand_real2(void);
/* generates a random number on (0,1)-real-interval */
double genrand_real3(void);
/* generates a random number on [0,1) with 53-bit resolution*/
double genrand_res53(void);
What's New in This Release:
· aclocal.m4, config.guess, config.sub, configure, depcomp, install-sh, librand.pws, ltmain.sh, missing, mkinstalldirs:
· Added automake files and updated configure scripts
· autogen.sh: automake --copy
· include/Makefile.am, include/Makefile.in, include/rand.h: New file.
· include/Makefile.am, include/Makefile.in, include/rand.h: import of librand for APG.
· src/Makefile.in, src/rand.c: New file.
· src/Makefile.in, src/rand.c: import of librand for APG.
· AUTHORS, ChangeLog, Makefile.am, Makefile.in, acconfig.h, acinclude.m4, config.h.in, config.sub, src/Makefile.am, stamp-h.in: New file.
· AUTHORS, ChangeLog, Makefile.am, Makefile.in, acconfig.h, acinclude.m4, config.h.in, config.sub, src/Makefile.am, stamp-h.in: import of librand for APG.
· autogen.sh, config.guess: New file.
· autogen.sh, config.guess: import of librand for APG.
· configure, configure.in: New file.
· configure, configure.in: import of librand for APG.
· ltmain.sh: New file.
· ltmain.sh: import of librand for APG.
· README: New file.
· README: import of librand for APG.
· aclocal.m4, librand.prj, librand.pws, setup-gettext: New file.
· aclocal.m4, librand.prj, librand.pws, setup-gettext: import of librand for APG.
· .tm_project.cache, NEWS, TODO: New file.
· .tm_project.cache, NEWS, TODO: import of librand for APG.
Product's homepage