Wenn ich in der folgenden Art und Weise Gleitkomma-Werte erzeugen:Wird "min bis max" uniforme echte Verteilung Inf, -Inf oder NaN erzeugen?
template <typename T>
T RandomFromRange(T low, T high){
std::random_device random_device;
std::mt19937 engine{random_device()};
std::uniform_real_distribution<T> dist(low, high);
return dist(engine);
}
template <typename T>
T GetRandom(){
return RandomFromRange
(std::numeric_limits<T>::min(),std::numeric_limits<T>::max());
}
//produce floating point values:
auto num1 = GetRandom<float>();
auto num2 = GetRandom<float>();
auto num3 = GetRandom<float>();
//...
Ist es möglich, dass ich jemals ein NaN
zurück, Inf
oder -Inf
?
Da keiner von denen in den Bereich [min, max] fällt, dann vermutlich nicht. –