eosim::dist::NumberGenerator               EoSimulator Programmer's Manual

 

NAME

      NumberGenerator: Random Number Generator Interface

 

SYNOPSIS

      #include <eosim/dist/numbergenerator.hpp>

 

      namespace eosim {

      namespace dist {

 

enum GenType;

     

class NumberGenerator {

public:

NumberGenerator ();

virtual ~NumberGenerator ();

virtual void setSeed (unsigned long seed_) = 0;

virtual double nextDouble () = 0;

virtual unsigned long nextLong() = 0;

};

 

      }

      }

 

DESCRIPTION

This is the interface for all random number generator in EoSimulator. The enum GenType defines a label for each type of number generator implemented in EoSimulator. This label is used by the NumberGeneratorFactory to create an specific number generator. In order to add a new generator, GenType has to be updated by adding a new label for the generator. The code of NumberGeneratorFactory has to be changed too.

 

 

CLASS OPERATIONS

NumberGenerator ():

      The constructor of NumberGenerator.

     

~NumberGenerator ():

      The destructor of NumberGenerator.

     

void setSeed (unsigned long seed_):

            This abstract operation assign seed_ to the generator’s seed.

     

double nextDouble ():

This abstract operation returns double between 0 and 1 generated by the generator.

 

unsigned long nextLong():

This abstract operation returns unsigned long generated by the generator.

 

 

SEE ALSO

eosim::dist::DistManager

eosim::dist::Distribution

eosim::dist::Mt19937

eosim::dist::NumberGeneratorFactory