6 #include <boost/random/mersenne_twister.hpp>
7 #include <boost/random/uniform_01.hpp>
8 #include <boost/noncopyable.hpp>
38 const double& sigma_arg =
double(1))
43 assert(
_sigma >=
double(0));
48 template<
class Engine>
59 const double pi = double(3.14159265358979323846);
61 cos(
double(2)*pi*
_r1) :
62 sin(
double(2)*pi*_r1))
78 static boost::mt11213b mt_random(MilliSeconds::now().
value());
79 static boost::uniform_01<boost::mt11213b> u0(mt_random);
82 for (
size_t i=0; i<
Length; ++i)
83 table[i] = static_cast<int>(n(u0))/2*2;