Abstract class to derive random number generator classes
Template of the constructor of the classes derived from the random_generator class. random_generator_base
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(random_generator_base) | :: | generator | 
                 generator: A random_generator_base object  | 
        |||
| integer, | intent(in), | optional | :: | iseed | 
                 iseed: An integer with the seed of the random generator.  | 
        
Template of the destructor of the classes derived from the random_generator class. random_generator_base
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(random_generator_base) | :: | generator | 
                 generator: A random_generator_base object  | 
        
Template of the function used to generate realizations of the random numbers in the classes derived from the random_generator class. random_generator_base
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(random_generator_base) | :: | generator | 
                 generator: A random_generator_base object  | 
        
r: A real number
type,abstract :: random_generator_base !! Abstract class to derive random number generator classes contains ! * constructor procedure(random_generator_constructor),deferred :: create ! * destructor procedure(random_generator_destructor),deferred :: destroy ! * generate procedure(random_generator_generate),deferred :: generate ! procedure(random_generator_initialize),deferred :: initialize end type random_generator_base