https://github.com/jirka-h/aprng
Raw File
Tip revision: 1f16c49b640727431a8b67997a3e01d4f7a1a45d authored by Jirka Hladky on 15 June 2022, 10:14:08 UTC
Deleted file a
Tip revision: 1f16c49
README.md
![C workflow](https://github.com/jirka-h/aprng/actions/workflows/c-cpp.yml/badge.svg)
![Code scanning](https://github.com/jirka-h/aprng/actions/workflows/codeql-analysis.yml/badge.svg)

aprng
=====

Random Number Generators Based on the Aperiodic Infinite Words

Release 0.01

This is a set of programs used for the article:

Infinite Words with Well Distributed Occurrences

tree.c/tree.h => Library to traverse an infinite word based on the mapping like 0->01, 1->0
aprng.c/aprng.h => Functions 
  create_Fibonacci
  create_Fibonacci_with2
  create_Tribonacci
  create_AR
  to create infinite aperiodic words. Main library.
CombGenAPRNG.[ch] => Library to implement aperiodic number generator based on the infinite words as defined in aprng.c 
                     and on the RNGs as defined in TestU01 http://www.iro.umontreal.ca/~simardr/testu01/tu01.html
                     very flexible thanks to a huge range of RNGs defined in TestU01
Fibonacci_LCG_mix.c
Fibonacci2_LCG_1.c
Tribonacci_LCG_mix.c
AR1_4.c
AR2_4.c		=> Programs to produce an infinite stream of random numbers based on the aperiodic infinite words and LCGs. 
		   Main purpose is to test the properties of APRNGs. Some versions still relies on TestU01 the newer one implements
		   LCGs on it's now in order
		      =>remove dependencies on the external programs/libraries
		      =>greater performance
		
		
Requirements:
TestU01 http://www.iro.umontreal.ca/~simardr/testu01/tu01.html (only when 
GSL library http://www.gnu.org/software/gsl/ (only for the test programs) 
PractRand http://pracrand.sourceforge.net/PractRand.txt (only to test the properties of the produced numbers)

See the header of each C file for the instruction how to compile it and use it.

TODO:
  * Make a standalone library with Autotools
  * Implement high quality APRNGs based on WELL generators, RanLux generators and MIXMAX generators
back to top