-
Notifications
You must be signed in to change notification settings - Fork 1
A Testu01-based package that implements parallelism for the Crush tests
License
rski/testu01-parallel
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
*********************************************************** TestU01: Testing Random Number Generators *********************************************************** TestU01 is a package implemented in ANSI C. It is designed to make it reasonably simple to perform statistical tests on arbitrary random number generators (RNG). It is copyrighted by Pierre L'Ecuyer. e-mail: [email protected] http://www.iro.umontreal.ca/~lecuyer/ This is a modified version of the package, part of a BEng project. Use at your own risk. The files testu01/bbattery.{tex,c} have been edited. The directories build and parallel and their files are completely new and not associated with the original package. --------------------------------------------------------------------------- DIRECTORY STRUCTURE -- examples: program examples showing how to use TestU01. -- testu01: source files and user guide. Contains many random number generators (RNG), some specific, and others in a generic form. It contains also many well-known and not so well-known statistical tests for RNG and predefined batteries of tests for RNG. -- probdist: source files and user guide. Contains probability distributions and a few methods useful for statistics computations. -- mylib: source files and user guide. Miscelleanous useful tools. -- include: header files -- param: parameter files for family of generators (modules f*). --------------------------------------------------------------------------- DOCUMENTATION The main documentation of this package was written originally in Latex format; it has been used to create doc in PDF format. In each of the 3 source directories, there is a file named guide....pdf containing the documentation on the modules in this directory and giving a description of the public variables and functions. The *.pdf file may be viewed with a PDF reader like Acrobat. In directory testu01, there is a short and a long version of the user guide: guideshorttestu01.pdf and guidelongtestu01.pdf. The short version may be sufficient for the typical user. The longer version contains more details on functions and types and their possible uses. --------------------------------------------------------------------------- COMPILATION of the Package: - Before compiling the package, you may have to set some global constants in file mylib/gdef.tex to their appropriate values if the default values are not accepted by your platform (the mylib/gdef.h will be created automatically). - All the header files (*.h) of the package will be created automatically from the corresponding *.tex files when building the package libraries. ---------------- Note for Windows The packages MinGW32 and MSYS are required to make TestU01 work on Windows. And the configure command must be called with the option --disable-shared --------------------------------- - Call configure (or sh ./configure) to configure the package for your system. Give also the name of the directory where you want to install the libraries and binaries. It is advised to set the install directory completely separate from the package directory. ./configure --prefix=<install directory> For example, if you want to install it in the directory usr in the user's home directory, call (directory usr MUST EXIST) ./configure --prefix=$HOME/usr If no prefix is given in the configure command above, then the libraries will be installed in the standard directory /usr/local, but only the system administrator has the permissions to do that. - Call make to compile everything and build the libraries. - Call make install to install the libraries in the chosen directory. --------------------------------------------------------------------------- DOC If the installation process has worked without glitch, there will be a subdirectory share/TestU01/doc in the install directory containing the user guides in pdf format. These guides describe all the public functions and public identifiers of the package. --------------------------------------------------------------------------- USAGE If the installation process has worked without glitch, there will be a subdirectory share/TestU01/examples containing a few small example programs. In order to compile the small programs, the 3 following paths must be added to the environment variables. LD_LIBRARY_PATH <install directory>/lib LIBRARY_PATH <install directory>/lib C_INCLUDE_PATH <install directory>/include [ If the libraries have been installed in /usr/local, it may be necessary for some Unix/Linux systems to redefine these 3 paths. More specifically, the environment variables LD_LIBRARY_PATH and LIBRARY_PATH point to the /usr/local/lib (or /usr/local/lib64 for x86_64) directory. Use echo $LD_LIBRARY_PATH echo $LIBRARY_PATH to get the current library paths, and check that the appropriate directory is included. If it is not included, you need to redefine them as follows. ] In a c-shell, they can be added or set with setenv LD_LIBRARY_PATH <install directory>/lib:${LD_LIBRARY_PATH} setenv LIBRARY_PATH <install directory>/lib:${LIBRARY_PATH} setenv C_INCLUDE_PATH <install directory>/include:${C_INCLUDE_PATH} or perhaps simply setenv LD_LIBRARY_PATH <install directory>/lib setenv LIBRARY_PATH <install directory>/lib setenv C_INCLUDE_PATH <install directory>/include In a Bourne shell, they can be added or set with export LD_LIBRARY_PATH=<install directory>/lib:${LD_LIBRARY_PATH} export LIBRARY_PATH=<install directory>/lib:${LIBRARY_PATH} export C_INCLUDE_PATH=<install directory>/include:${C_INCLUDE_PATH} or perhaps simply export LD_LIBRARY_PATH=<install directory>/lib export LIBRARY_PATH=<install directory>/lib export C_INCLUDE_PATH=<install directory>/include Then the small example birth1.c in directory examples can be compiled with the C compiler gcc birth1.c -o birth1 -ltestu01 -lprobdist -lmylib -lm ---------------- Note for Windows users ----------------- For MinGW, the user may have to compile-link as gcc birth1.c -o birth1.exe -ltestu01 -lprobdist -lmylib -lwsock32 --------------------------------------------------------- For Cygwin, before running the program, the user may have to set export PATH=<install directory>/bin:${PATH} ---------------------------------------------------------
About
A Testu01-based package that implements parallelism for the Crush tests
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published