Given a random source (a generator of random bit stream), how do I generate a uniformly distributed random floating-point value in a given range?
Assume that my random source looks something like:
unsigned int GetRandomBits(char* pBuf, int nLen);
And I want to implement
double GetRandomVal(double fMin, double fMax);
Notes:
- I don't want the result precision to be limited (for example only 5 digits).
- Strict uniform distribution is a must
- I'm not asking for a reference to an existing library. I want to know how to implement it from scratch.
- For pseudo-code / code, C++ would be most appreciated