I'm trying to use boost for random number generation of a long double (on a 64bits machine).
At some point I use
rng = boost::mt19937();
However, compiler argues that on line 88 of boost/random/mersenne_twister.hpp,
x[i] = (1812433253UL * (x[i-1] ^ (x[i-1] >> (w-2))) + i) & mask;
there is an implicit conversion that shortens the 64-bit into a 32-bit value...
I didn't even specified if I want a long double or double... why is he arguing on that? Is because I'm using 64bits OS?
Is there any simple solution to this problem? I need a long double generator... xD
Thanks