README.md
March 18, 2023 ยท View on GitHub
Name
M_random(3f) - a module of pseudo random procedures (LICENSE: See procedures, primarily MIT)
Synopsis
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
Description
The M_random(3fm) module contains routines to support pseudorandom number generation. This includes supplements for the Fortran intrinsic random_seed(3f).
Building the Module using Make(1)
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.
Build and Test with FPM
Alternatively, download the github repository and build it with fpm ( as described at Fortran Package Manager )
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" }
Documentation
User
-
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


