M_random(3f) - a module of pseudo random procedures (LICENSE: See procedures, primarily MIT)
use M_random, only: init_random_seed_by_system_clock
use M_random, only: init_random_seed_by_dat
use M_random, only: init_random_seed
use M_random, only: random_string
use M_random, only: random_hex
use M_random, only: random_int
use M_random, only: random_kiss64
use M_random, only: scramble
use M_random, only: mtprng_state, mtprng_init, mtprng_init_by_array, &
& mtprng_rand64, mtprng_rand
use M_random, only: mtprng_rand_range, mtprng_rand_real1, &
& mtprng_rand_real2, mtprng_rand_real3
The M_random(3fm) module contains routines to support pseudorandom number generation. This includes supplements for the Fortran intrinsic random_seed(3f).
git clone https://github.com/urbanjost/M_random.git
cd M_random/src
# change Makefile if not using one of the listed compilers
# for gfortran
make clean
make F90=gfortran gfortran
# for ifort
make clean
make F90=ifort ifort
# for nvfortran
make clean
make F90=nvfortran nvfortran
This will compile the Fortran module and basic example program that exercise the routine.
Alternatively, download the github repository and build it with fpm ( as described at Fortran Package Manager )
bash
git clone https://github.com/urbanjost/M_random.git
cd M_random
fpm run "*"
fpm run --example "*"
fpm test
or just list it as a dependency in your fpm.toml project file.
[dependencies]
M_random = { git = "https://github.com/urbanjost/M_random.git" }
A single page that uses javascript to combine all the HTML descriptions of the man-pages is at BOOK_M_random.
a simple index to the man-pages in HTML form for the routines and programs
There are man-pages in the repository download in the docs/ directory that may be installed on ULS (Unix-Like Systems).
CHANGELOG provides a history of significant changes