CCPP Scientific Documentation
v5.0.0
mersenne_twister.f File Reference

This file contains the module that calculates random numbers using the Mersenne twister. More...

Data Types

type  mersenne_twister::random_stat
 Generator state. More...
 
interface  mersenne_twister::random_setseed
 
interface  mersenne_twister::random_number
 
interface  mersenne_twister::random_gauss
 
interface  mersenne_twister::random_index
 

Modules

module  mersenne_twister
 

Functions/Subroutines

subroutine, public mersenne_twister::random_seed (size, put, get, stat)
 This subroutine sets and gets state; overloads Fortran 90 standard. More...
 
subroutine mersenne_twister::random_setseed_s (inseed)
 This subroutine sets seed in saved mode. More...
 
subroutine mersenne_twister::random_setseed_t (inseed, stat)
 This subroutine sets seed in thread-safe mode. More...
 
real function, public mersenne_twister::random_number_f ()
 This function generates random numbers in functional mode. More...
 
subroutine mersenne_twister::random_number_i (harvest, inseed)
 This subroutine generates random numbers in interactive mode. More...
 
subroutine mersenne_twister::random_number_s (harvest)
 This subroutine generates random numbers in saved mode; overloads Fortran 90 standard. More...
 
subroutine mersenne_twister::random_number_t (harvest, stat)
 This subroutine generates random numbers in thread-safe mode. More...
 
real function, public mersenne_twister::random_gauss_f ()
 This subrouitne generates Gaussian random numbers in functional mode. More...
 
subroutine mersenne_twister::random_gauss_i (harvest, inseed)
 This subrouitne generates Gaussian random numbers in interactive mode. More...
 
subroutine mersenne_twister::random_gauss_s (harvest)
 This subroutine generates Gaussian random numbers in saved mode. More...
 
subroutine mersenne_twister::random_gauss_t (harvest, stat)
 This subroutine generates Gaussian random numbers in thread-safe mode. More...
 
subroutine rgauss (r1, r2, r, g1, g2)
 This subroutine contains numerical Recipes algorithm to generate Gaussian random numbers. More...
 
integer function, public mersenne_twister::random_index_f (imax)
 This subroutine generates random indices in functional mode. More...
 
subroutine mersenne_twister::random_index_i (imax, iharvest, inseed)
 This subroutine generates random indices in interactive mode. More...
 
subroutine mersenne_twister::random_index_s (imax, iharvest)
 This subroutine generates random indices in saved mode. More...
 
subroutine mersenne_twister::random_index_t (imax, iharvest, stat)
 This subroutine generates random indices in thread-safe mode. More...
 

Variables

integer, parameter mersenne_twister::n =624
 
integer, parameter mersenne_twister::m =397
 
integer, parameter mersenne_twister::mata =-1727483681
 constant vector a More...
 
integer, parameter mersenne_twister::umask =-2147483648
 most significant w-r bits More...
 
integer, parameter mersenne_twister::lmask =2147483647
 least significant r bits More...
 
integer, parameter mersenne_twister::tmaskb =-1658038656
 tempering parameter More...
 
integer, parameter mersenne_twister::tmaskc =-272236544
 tempering parameter More...
 
integer, dimension(0:1), parameter mersenne_twister::mag01 =(/0,mata/)
 
integer, parameter mersenne_twister::iseed =4357
 
integer, parameter mersenne_twister::nrest =n+6
 
type(random_stat), save mersenne_twister::sstat