uniform_real::operator()
Returns a random value.
template<class Engine>
bool operator()(Engine& eng);
Parameters
Engine
The type of the random engine.eng
The random engine.
Remarks
The member function uses the engine eng as a source of uniformly distributed floating-point values and returns floating-point values with each value x in the half-open range [min(), max()) occurring with equal probability and values outside that range occuring with probability 0.
Example
// std_tr1__random__uniform_real_operator_fn.cpp
// compile with: /EHsc
#include <random>
#include <iostream>
typedef std::mt19937 Myeng;
typedef std::uniform_int<unsigned int> Myceng;
int main()
{
Myeng eng;
Myceng ceng(1, 1 << 15);
Myceng::input_type engval = eng();
Myceng::result_type compval = ceng(eng);
compval = compval; // to quiet "unused" warnings
engval = engval;
std::cout << "min == " << ceng.min() << std::endl;
std::cout << "max == " << ceng.max() << std::endl;
ceng.reset(); // discard any cached values
std::cout << "a random value == " << ceng(eng) << std::endl;
std::cout << "a random value == " << ceng(eng) << std::endl;
std::cout << "a random value == " << ceng(eng) << std::endl;
return (0);
}
min == 1 max == 32768 a random value == 29681 a random value == 27362 a random value == 4162
Requirements
Header: <random>
Namespace: std