|
Boost Users : |
From: Bo Peng (bpeng_at_[hidden])
Date: 2004-06-13 19:19:10
Dear List,
I am using the following (typical) code to use boost::random
---------------------------------------------
typedef boost::mt19937 generator_type;
typedef boost::variate_generator<generator_type&,
boost::uniform_real<double> > rand01Generator;
generator_type random_gen;
boost::uniform_real<double> distrib(0.0, 1.0);
rand01Generator rand01(random_gen, distrib);
----------------------------------------------
I would like to give users the ability to choose random number generators
through something like:
// global generator that is being used everywhere
generator global_generator;
void setGenerator(string type)
{
if(type == "mt19937")
global_generator = ...
...
}
However, the generators are templates so the type of global generator
can not be specified. Is there any workaround? It seems that a wrapper
class with instances of all available generators and some if-else
code can do this but there should be better ideas.
Many thanks in advance.
Bo
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net