CAM
mt95 Module Reference

Data Types

interface  assignment(=)
 
interface  genrand_init
 
interface  genrand_int31
 
interface  genrand_int32
 
interface  genrand_real1
 
interface  genrand_real2
 
interface  genrand_real3
 
interface  genrand_res53
 
type  genrand_srepr
 
type  genrand_state
 

Functions/Subroutines

elemental integer(kind=wi) function, private uiadd (a, b)
 
elemental integer(kind=wi) function, private uisub (a, b)
 
elemental integer(kind=wi) function, private uimlt (a, b)
 
elemental integer(kind=wi) function, private uidiv (a, b)
 
elemental integer(kind=wi) function, private uimod (a, b)
 
subroutine, private init_by_type (put, get)
 
subroutine, private init_by_scalar (put)
 
subroutine, private init_by_array (put)
 
subroutine, private next_state ()
 
elemental subroutine, private genrand_encode (chr, val)
 
elemental subroutine, private genrand_decode (val, chr)
 
elemental subroutine, private genrand_load_state (stt, rpr)
 
elemental subroutine, private genrand_dump_state (rpr, stt)
 
subroutine, private genrand_int32_0d (y)
 
subroutine, private genrand_int32_1d (y)
 
subroutine, private genrand_int32_2d (y)
 
subroutine, private genrand_int32_3d (y)
 
subroutine, private genrand_int32_4d (y)
 
subroutine, private genrand_int32_5d (y)
 
subroutine, private genrand_int32_6d (y)
 
subroutine, private genrand_int32_7d (y)
 
subroutine, private genrand_int31_0d (y)
 
subroutine, private genrand_int31_1d (y)
 
subroutine, private genrand_int31_2d (y)
 
subroutine, private genrand_int31_3d (y)
 
subroutine, private genrand_int31_4d (y)
 
subroutine, private genrand_int31_5d (y)
 
subroutine, private genrand_int31_6d (y)
 
subroutine, private genrand_int31_7d (y)
 
subroutine, private genrand_real1_0d (r)
 
subroutine, private genrand_real1_1d (r)
 
subroutine, private genrand_real1_2d (r)
 
subroutine, private genrand_real1_3d (r)
 
subroutine, private genrand_real1_4d (r)
 
subroutine, private genrand_real1_5d (r)
 
subroutine, private genrand_real1_6d (r)
 
subroutine, private genrand_real1_7d (r)
 
subroutine, private genrand_real2_0d (r)
 
subroutine, private genrand_real2_1d (r)
 
subroutine, private genrand_real2_2d (r)
 
subroutine, private genrand_real2_3d (r)
 
subroutine, private genrand_real2_4d (r)
 
subroutine, private genrand_real2_5d (r)
 
subroutine, private genrand_real2_6d (r)
 
subroutine, private genrand_real2_7d (r)
 
subroutine, private genrand_real3_0d (r)
 
subroutine, private genrand_real3_1d (r)
 
subroutine, private genrand_real3_2d (r)
 
subroutine, private genrand_real3_3d (r)
 
subroutine, private genrand_real3_4d (r)
 
subroutine, private genrand_real3_5d (r)
 
subroutine, private genrand_real3_6d (r)
 
subroutine, private genrand_real3_7d (r)
 
subroutine, private genrand_res53_0d (r)
 
subroutine, private genrand_res53_1d (r)
 
subroutine, private genrand_res53_2d (r)
 
subroutine, private genrand_res53_3d (r)
 
subroutine, private genrand_res53_4d (r)
 
subroutine, private genrand_res53_5d (r)
 
subroutine, private genrand_res53_6d (r)
 
subroutine, private genrand_res53_7d (r)
 

Variables

integer, parameter, public genrand_intg = selected_int_kind( 9 )
 
integer, parameter, public genrand_real = selected_real_kind( 15 )
 
integer, parameter, private wi = genrand_intg
 
integer, parameter, private wr = genrand_real
 
integer(kind=wi), parameter, private n = 624_wi
 
integer(kind=wi), parameter, private m = 397_wi
 
integer(kind=wi), parameter, private default_seed = 5489_wi
 
integer(kind=wi), parameter, private fbs = 32_wi
 
integer(kind=wi), parameter, private hbs = fbs / 2_wi
 
integer(kind=wi), parameter, private qbs = hbs / 2_wi
 
integer(kind=wi), parameter, private tbs = 3_wi * qbs
 
real(kind=wr), parameter, private p231 = 2147483648.0_wr
 
real(kind=wr), parameter, private p232 = 4294967296.0_wr
 
real(kind=wr), parameter, private p232_1 = p232 - 1.0_wr
 
real(kind=wr), parameter, private pi232 = 1.0_wr / p232
 
real(kind=wr), parameter, private pi232_1 = 1.0_wr / p232_1
 
real(kind=wr), parameter, private pi227 = 1.0_wr / 134217728.0_wr
 
real(kind=wr), parameter, private pi253 = 1.0_wr / 9007199254740992.0_wr
 
real(kind=wr), parameter, private p231d232_1 = p231 / p232_1
 
real(kind=wr), parameter, private p231_5d232 = ( p231 + 0.5_wr ) / p232
 
character(len= *), parameter, private alph = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
 
character(len= *), parameter, private sepr = "&"
 
integer(kind=wi), parameter, private alps = 62_wi
 
integer(kind=wi), parameter, private clen = ( n + 1_wi ) * 7_wi
 
type(genrand_state), save, private state
 

Function/Subroutine Documentation

◆ genrand_decode()

elemental subroutine, private mt95::genrand_decode ( integer(kind=wi), intent(out)  val,
character(len=*), intent(in)  chr 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ genrand_dump_state()

elemental subroutine, private mt95::genrand_dump_state ( type(genrand_srepr), intent(out)  rpr,
type(genrand_state), intent(in)  stt 
)
private
Here is the call graph for this function:

◆ genrand_encode()

elemental subroutine, private mt95::genrand_encode ( character(len=*), intent(out)  chr,
integer(kind=wi), intent(in)  val 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ genrand_int31_0d()

subroutine, private mt95::genrand_int31_0d ( integer(kind=wi), intent(out)  y)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ genrand_int31_1d()

subroutine, private mt95::genrand_int31_1d ( integer(kind=wi), dimension(:), intent(out)  y)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ genrand_int31_2d()

subroutine, private mt95::genrand_int31_2d ( integer(kind=wi), dimension(:,:), intent(out)  y)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ genrand_int31_3d()

subroutine, private mt95::genrand_int31_3d ( integer(kind=wi), dimension(:,:,:), intent(out)  y)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ genrand_int31_4d()

subroutine, private mt95::genrand_int31_4d ( integer(kind=wi), dimension(:,:,:,:), intent(out)  y)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ genrand_int31_5d()

subroutine, private mt95::genrand_int31_5d ( integer(kind=wi), dimension(:,:,:,:,:), intent(out)  y)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ genrand_int31_6d()

subroutine, private mt95::genrand_int31_6d ( integer(kind=wi), dimension(:,:,:,:,:,:), intent(out)  y)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ genrand_int31_7d()

subroutine, private mt95::genrand_int31_7d ( integer(kind=wi), dimension(:,:,:,:,:,:,:), intent(out)  y)
private
Here is the call graph for this function:

◆ genrand_int32_0d()

subroutine, private mt95::genrand_int32_0d ( integer(kind=wi), intent(out)  y)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ genrand_int32_1d()

subroutine, private mt95::genrand_int32_1d ( integer(kind=wi), dimension(:), intent(out)  y)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ genrand_int32_2d()

subroutine, private mt95::genrand_int32_2d ( integer(kind=wi), dimension(:,:), intent(out)  y)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ genrand_int32_3d()

subroutine, private mt95::genrand_int32_3d ( integer(kind=wi), dimension(:,:,:), intent(out)  y)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ genrand_int32_4d()

subroutine, private mt95::genrand_int32_4d ( integer(kind=wi), dimension(:,:,:,:), intent(out)  y)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ genrand_int32_5d()

subroutine, private mt95::genrand_int32_5d ( integer(kind=wi), dimension(:,:,:,:,:), intent(out)  y)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ genrand_int32_6d()

subroutine, private mt95::genrand_int32_6d ( integer(kind=wi), dimension(:,:,:,:,:,:), intent(out)  y)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ genrand_int32_7d()

subroutine, private mt95::genrand_int32_7d ( integer(kind=wi), dimension(:,:,:,:,:,:,:), intent(out)  y)
private
Here is the call graph for this function:

◆ genrand_load_state()

elemental subroutine, private mt95::genrand_load_state ( type(genrand_state), intent(out)  stt,
type(genrand_srepr), intent(in)  rpr 
)
private
Here is the call graph for this function:

◆ genrand_real1_0d()

subroutine, private mt95::genrand_real1_0d ( real(kind=wr), intent(out)  r)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ genrand_real1_1d()

subroutine, private mt95::genrand_real1_1d ( real(kind=wr), dimension(:), intent(out)  r)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ genrand_real1_2d()

subroutine, private mt95::genrand_real1_2d ( real(kind=wr), dimension(:,:), intent(out)  r)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ genrand_real1_3d()

subroutine, private mt95::genrand_real1_3d ( real(kind=wr), dimension(:,:,:), intent(out)  r)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ genrand_real1_4d()

subroutine, private mt95::genrand_real1_4d ( real(kind=wr), dimension(:,:,:,:), intent(out)  r)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ genrand_real1_5d()

subroutine, private mt95::genrand_real1_5d ( real(kind=wr), dimension(:,:,:,:,:), intent(out)  r)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ genrand_real1_6d()

subroutine, private mt95::genrand_real1_6d ( real(kind=wr), dimension(:,:,:,:,:,:), intent(out)  r)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ genrand_real1_7d()

subroutine, private mt95::genrand_real1_7d ( real(kind=wr), dimension(:,:,:,:,:,:,:), intent(out)  r)
private
Here is the call graph for this function:

◆ genrand_real2_0d()

subroutine, private mt95::genrand_real2_0d ( real(kind=wr), intent(out)  r)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ genrand_real2_1d()

subroutine, private mt95::genrand_real2_1d ( real(kind=wr), dimension(:), intent(out)  r)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ genrand_real2_2d()

subroutine, private mt95::genrand_real2_2d ( real(kind=wr), dimension(:,:), intent(out)  r)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ genrand_real2_3d()

subroutine, private mt95::genrand_real2_3d ( real(kind=wr), dimension(:,:,:), intent(out)  r)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ genrand_real2_4d()

subroutine, private mt95::genrand_real2_4d ( real(kind=wr), dimension(:,:,:,:), intent(out)  r)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ genrand_real2_5d()

subroutine, private mt95::genrand_real2_5d ( real(kind=wr), dimension(:,:,:,:,:), intent(out)  r)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ genrand_real2_6d()

subroutine, private mt95::genrand_real2_6d ( real(kind=wr), dimension(:,:,:,:,:,:), intent(out)  r)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ genrand_real2_7d()

subroutine, private mt95::genrand_real2_7d ( real(kind=wr), dimension(:,:,:,:,:,:,:), intent(out)  r)
private
Here is the call graph for this function:

◆ genrand_real3_0d()

subroutine, private mt95::genrand_real3_0d ( real(kind=wr), intent(out)  r)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ genrand_real3_1d()

subroutine, private mt95::genrand_real3_1d ( real(kind=wr), dimension(:), intent(out)  r)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ genrand_real3_2d()

subroutine, private mt95::genrand_real3_2d ( real(kind=wr), dimension(:,:), intent(out)  r)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ genrand_real3_3d()

subroutine, private mt95::genrand_real3_3d ( real(kind=wr), dimension(:,:,:), intent(out)  r)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ genrand_real3_4d()

subroutine, private mt95::genrand_real3_4d ( real(kind=wr), dimension(:,:,:,:), intent(out)  r)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ genrand_real3_5d()

subroutine, private mt95::genrand_real3_5d ( real(kind=wr), dimension(:,:,:,:,:), intent(out)  r)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ genrand_real3_6d()

subroutine, private mt95::genrand_real3_6d ( real(kind=wr), dimension(:,:,:,:,:,:), intent(out)  r)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ genrand_real3_7d()

subroutine, private mt95::genrand_real3_7d ( real(kind=wr), dimension(:,:,:,:,:,:,:), intent(out)  r)
private
Here is the call graph for this function:

◆ genrand_res53_0d()

subroutine, private mt95::genrand_res53_0d ( real(kind=wr), intent(out)  r)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ genrand_res53_1d()

subroutine, private mt95::genrand_res53_1d ( real(kind=wr), dimension(:), intent(out)  r)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ genrand_res53_2d()

subroutine, private mt95::genrand_res53_2d ( real(kind=wr), dimension(:,:), intent(out)  r)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ genrand_res53_3d()

subroutine, private mt95::genrand_res53_3d ( real(kind=wr), dimension(:,:,:), intent(out)  r)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ genrand_res53_4d()

subroutine, private mt95::genrand_res53_4d ( real(kind=wr), dimension(:,:,:,:), intent(out)  r)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ genrand_res53_5d()

subroutine, private mt95::genrand_res53_5d ( real(kind=wr), dimension(:,:,:,:,:), intent(out)  r)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ genrand_res53_6d()

subroutine, private mt95::genrand_res53_6d ( real(kind=wr), dimension(:,:,:,:,:,:), intent(out)  r)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ genrand_res53_7d()

subroutine, private mt95::genrand_res53_7d ( real(kind=wr), dimension(:,:,:,:,:,:,:), intent(out)  r)
private
Here is the call graph for this function:

◆ init_by_array()

subroutine, private mt95::init_by_array ( integer(kind=wi), dimension(:), intent(in)  put)
private
Here is the call graph for this function:

◆ init_by_scalar()

subroutine, private mt95::init_by_scalar ( integer(kind=wi), intent(in)  put)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ init_by_type()

subroutine, private mt95::init_by_type ( type(genrand_state), intent(in), optional  put,
type(genrand_state), intent(out), optional  get 
)
private
Here is the call graph for this function:

◆ next_state()

subroutine, private mt95::next_state ( )
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ uiadd()

elemental integer( kind = wi ) function, private mt95::uiadd ( integer( kind = wi ), intent(in)  a,
integer( kind = wi ), intent(in)  b 
)
private
Here is the caller graph for this function:

◆ uidiv()

elemental integer(kind=wi) function, private mt95::uidiv ( integer(kind=wi), intent(in)  a,
integer(kind=wi), intent(in)  b 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ uimlt()

elemental integer(kind=wi) function, private mt95::uimlt ( integer(kind=wi), intent(in)  a,
integer(kind=wi), intent(in)  b 
)
private
Here is the caller graph for this function:

◆ uimod()

elemental integer(kind=wi) function, private mt95::uimod ( integer(kind=wi), intent(in)  a,
integer(kind=wi), intent(in)  b 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ uisub()

elemental integer( kind = wi ) function, private mt95::uisub ( integer( kind = wi ), intent(in)  a,
integer( kind = wi ), intent(in)  b 
)
private
Here is the caller graph for this function:

Variable Documentation

◆ alph

character(len=*), parameter, private mt95::alph = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
private

◆ alps

integer(kind=wi), parameter, private mt95::alps = 62_wi
private

◆ clen

integer(kind=wi), parameter, private mt95::clen = ( n + 1_wi ) * 7_wi
private

◆ default_seed

integer(kind=wi), parameter, private mt95::default_seed = 5489_wi
private

◆ fbs

integer(kind=wi), parameter, private mt95::fbs = 32_wi
private

◆ genrand_intg

integer, parameter, public mt95::genrand_intg = selected_int_kind( 9 )

◆ genrand_real

integer, parameter, public mt95::genrand_real = selected_real_kind( 15 )

◆ hbs

integer(kind=wi), parameter, private mt95::hbs = fbs / 2_wi
private

◆ m

integer(kind=wi), parameter, private mt95::m = 397_wi
private

◆ n

integer(kind=wi), parameter, private mt95::n = 624_wi
private

◆ p231

real(kind=wr), parameter, private mt95::p231 = 2147483648.0_wr
private

◆ p231_5d232

real(kind=wr), parameter, private mt95::p231_5d232 = ( p231 + 0.5_wr ) / p232
private

◆ p231d232_1

real(kind=wr), parameter, private mt95::p231d232_1 = p231 / p232_1
private

◆ p232

real(kind=wr), parameter, private mt95::p232 = 4294967296.0_wr
private

◆ p232_1

real(kind=wr), parameter, private mt95::p232_1 = p232 - 1.0_wr
private

◆ pi227

real(kind=wr), parameter, private mt95::pi227 = 1.0_wr / 134217728.0_wr
private

◆ pi232

real(kind=wr), parameter, private mt95::pi232 = 1.0_wr / p232
private

◆ pi232_1

real(kind=wr), parameter, private mt95::pi232_1 = 1.0_wr / p232_1
private

◆ pi253

real(kind=wr), parameter, private mt95::pi253 = 1.0_wr / 9007199254740992.0_wr
private

◆ qbs

integer(kind=wi), parameter, private mt95::qbs = hbs / 2_wi
private

◆ sepr

character(len=*), parameter, private mt95::sepr = "&"
private

◆ state

type(genrand_state), save, private mt95::state
private

◆ tbs

integer(kind=wi), parameter, private mt95::tbs = 3_wi * qbs
private

◆ wi

integer, parameter, private mt95::wi = genrand_intg
private

◆ wr

integer, parameter, private mt95::wr = genrand_real
private