Skip to content

A collection of routines related to pseudo-random numbers

Notifications You must be signed in to change notification settings

urbanjost/M_random

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

  • man-pages

    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

Developer


Releases

No releases published

Packages

No packages published