put using eo::rng in top of file to help out gcc 2.91

This commit is contained in:
maartenkeijzer 2001-02-27 11:45:31 +00:00
commit 00c7a10cb0

View file

@ -33,6 +33,8 @@
#include <eoFunctor.h> #include <eoFunctor.h>
#include <stdexcept> #include <stdexcept>
using eo::rng;
/** /**
By popular demand re-introducing a base class for a family of By popular demand re-introducing a base class for a family of
random number generators. Derived members of this class are useful random number generators. Derived members of this class are useful
@ -66,9 +68,9 @@ template <class T = double> class eoUniformGenerator : public eoRndGenerator<T>
// added new ctor with 2 params, and modified the data to minim and range // added new ctor with 2 params, and modified the data to minim and range
// (was maxim only). MS 3/11/2000 // (was maxim only). MS 3/11/2000
public : public :
eoUniformGenerator(T _max = T(1.0), eoRng& _rng = eo::rng) : eoUniformGenerator(T _max = T(1.0), eoRng& _rng = rng) :
minim(T(0.0)), range(_max), uniform(_rng) {} minim(T(0.0)), range(_max), uniform(_rng) {}
eoUniformGenerator(T _min, T _max, eoRng& _rng = eo::rng) : eoUniformGenerator(T _min, T _max, eoRng& _rng = rng) :
minim(_min), range(_max-_min), uniform(_rng) minim(_min), range(_max-_min), uniform(_rng)
{ {
if (_min>_max) if (_min>_max)
@ -102,7 +104,7 @@ bool eoUniformGenerator<bool>::operator()(void)
class eoBooleanGenerator : public eoRndGenerator<bool> class eoBooleanGenerator : public eoRndGenerator<bool>
{ {
public : public :
eoBooleanGenerator(float _bias = 0.5, eoRng& _rng = eo::rng) : bias(_bias), gen(_rng) {} eoBooleanGenerator(float _bias = 0.5, eoRng& _rng = rng) : bias(_bias), gen(_rng) {}
bool operator()(void) { return gen.flip(bias); } bool operator()(void) { return gen.flip(bias); }
private : private :
@ -118,7 +120,7 @@ class eoBooleanGenerator : public eoRndGenerator<bool>
template <class T = double> class eoNormalGenerator : public eoRndGenerator<T> template <class T = double> class eoNormalGenerator : public eoRndGenerator<T>
{ {
public : public :
eoNormalGenerator(T _stdev = T(1.0), eoRng& _rng = eo::rng) : stdev(_stdev), normal(_rng) {} eoNormalGenerator(T _stdev = T(1.0), eoRng& _rng = rng) : stdev(_stdev), normal(_rng) {}
T operator()(void) { return (T) normal.normal(stdev); } T operator()(void) { return (T) normal.normal(stdev); }
@ -135,7 +137,7 @@ template <class T = double> class eoNormalGenerator : public eoRndGenerator<T>
template <class T = double> class eoNegExpGenerator : public eoRndGenerator<T> template <class T = double> class eoNegExpGenerator : public eoRndGenerator<T>
{ {
public : public :
eoNegExpGenerator(T _mean = 1.0, eoRng& _rng = eo::rng) : mean(_mean), negexp(_rng) {} eoNegExpGenerator(T _mean = 1.0, eoRng& _rng = rng) : mean(_mean), negexp(_rng) {}
T operator()(void) { return (T) negexp.negexp(mean); } T operator()(void) { return (T) negexp.negexp(mean); }