Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/urbanjost/m_random
A collection of routines related to pseudo-random numbers
https://github.com/urbanjost/m_random
fortran-package-manager fpm pseudorandom random random-number-generator rng
Last synced: about 6 hours ago
JSON representation
A collection of routines related to pseudo-random numbers
- Host: GitHub
- URL: https://github.com/urbanjost/m_random
- Owner: urbanjost
- Created: 2021-11-19T04:06:55.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-04-30T00:08:16.000Z (6 months ago)
- Last Synced: 2024-04-30T01:27:36.844Z (6 months ago)
- Topics: fortran-package-manager, fpm, pseudorandom, random, random-number-generator, rng
- Language: Fortran
- Homepage:
- Size: 1.71 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Name
M_random(3f) - a module of pseudo random procedures
(LICENSE: See procedures, primarily MIT)
## Synopsis
```text
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).---
![gmake](docs/images/gnu.gif)
---## 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 nvfortranThis will compile the Fortran module and basic example
program that exercise the routine.---
![-](docs/images/fpm_logo.gif)
---## Build and Test with FPM
Alternatively, download the github repository and build it with
fpm ( as described at [Fortran Package Manager](https://github.com/fortran-lang/fpm) )```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.
```toml
[dependencies]
M_random = { git = "https://github.com/urbanjost/M_random.git" }
```
---
![docs](docs/images/docs.gif)
---## Documentation
### User
- A single page that uses javascript to combine all the HTML
descriptions of the man-pages is at
[BOOK_M_random](https://urbanjost.github.io/M_random/BOOK_M_random.html).- a simple index to the man-pages in HTML form for the
[routines](https://urbanjost.github.io/M_random/man3.html)
and [programs](https://urbanjost.github.io/M_random/man1.html)- ![man-pages](docs/images/manpages.gif)
There are man-pages in the repository download in the docs/ directory
that may be installed on ULS (Unix-Like Systems).+ [manpages.zip](https://urbanjost.github.io/M_random/manpages.zip)
+ [manpages.tgz](https://urbanjost.github.io/M_random/manpages.tgz)- [CHANGELOG](docs/CHANGELOG.md) provides a history of significant changes
### Developer
- [ford(1) output](https://urbanjost.github.io/M_random/fpm-ford/index.html).- [github action status](docs/STATUS.md)
---