rkiss05_generator Derived Type

type, public, extends(random_generator_base) :: rkiss05_generator

Class to represent a random number generator that implements the rkiss method


Inherits

type~~rkiss05_generator~~InheritsGraph type~rkiss05_generator rkiss05_generator type~random_generator_base random_generator_base type~rkiss05_generator->type~random_generator_base

Inherited by

type~~rkiss05_generator~~InheritedByGraph type~rkiss05_generator rkiss05_generator type~self_organizing_map self_organizing_map type~self_organizing_map->type~rkiss05_generator rnumber_grator type~two_level_self_organizing_map two_level_self_organizing_map type~two_level_self_organizing_map->type~rkiss05_generator rnumber_grator

Type-Bound Procedures

procedure, public :: create => create_rkiss05_generator

  • private subroutine create_rkiss05_generator(generator, iseed)

    Constructor of the rkiss05_generator class. In this class random seed is assigned to the random number generator and the internal state of the corresponding generator is initialized.

    Arguments

    Type IntentOptional Attributes Name
    class(rkiss05_generator) :: generator

    generator: A rkiss05_generator object

    integer, intent(in), optional :: iseed

    iseed: An integer with the seed of the random number generator

procedure, public :: destroy => destroy_rkiss05_generator

  • private subroutine destroy_rkiss05_generator(generator)

    Destructor of the rkiss05_generator class. In this class, the random seed is set to 0

    Arguments

    Type IntentOptional Attributes Name
    class(rkiss05_generator) :: generator

    generator: A rkiss05_generator object

procedure, public :: generate => generate_rkiss05_generator

  • private function generate_rkiss05_generator(generator) result(r)

    Function used to generate realizations of the random numbers with the rkiss05_generator class.

    Arguments

    Type IntentOptional Attributes Name
    class(rkiss05_generator) :: generator

    generator: A rkiss05_generator object

    Return Value real(kind=wp)

    r: A real variable with the generated random number

Source Code

    type,extends(random_generator_base) :: rkiss05_generator
      private
!! Class to represent a random number generator that implements the rkiss method
        integer :: seed
        integer :: x,y,w,z
      contains
    !  * constructor  
        procedure,public :: create => create_rkiss05_generator
    !  * destructor    
        procedure,public :: destroy => destroy_rkiss05_generator
    !  * generate    
        procedure,public :: generate => generate_rkiss05_generator
    !
    end type rkiss05_generator