Rosetta 3.3
Classes | Namespaces | Enumerations | Functions
src/numeric/random/random.hh File Reference

Random number generator system. More...

#include <numeric/random/random.fwd.hh>
#include <numeric/random/uniform.hh>
#include <utility/pointer/owning_ptr.hh>
#include <iostream>
#include <string>
#include <vector>
#include <utility/vector1.hh>

Classes

class  numeric::random::RandomGenerator
 Random number generator system. More...

Namespaces

namespace  numeric
 

A 1D histogram based upon a map structure.


namespace  numeric::random

Enumerations

enum  numeric::random::RND_RunType { numeric::random::_RND_NormalRun_, numeric::random::_RND_TestRun_ }
 Different type of initialization scheme: _RND_NormalRun_ - all instances of RandomGenerator will be pointing to just one generator. This is main production mode. We do not use multiple generators here because putting many generators will effectively produce long-range correlations between random numbers obtained from different places of program. (By using N generators instead of one we effectively reducing dimensionality of random generator by at least N. Now take in to account number of nodes in computer cluster and its look like we can quickly run in to trouble even with 600 dimensional Mersenne twister.) Somewhat helpful presentation on this topic: "Don't Trust Parallel Monte Carlo!" by Peter Hellekalek, available online at: http://random.mat.sbg.ac.at/~peter/pads98.ps. More...

Functions

double numeric::random::uniform (void)
double numeric::random::gaussian (void)
int numeric::random::random_range (int low, int high)
template<class T >
T const & numeric::random::random_element (utility::vector1< T > const &v)
 return a random element from a utility::vector1

Detailed Description

Random number generator system.

Author:
Sergey Lyskov (Sergey.Lyskov@jhu.edu)
Remarks:
  • -
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines