Se dovessi produrre valori in virgola mobile nel modo seguente:La distribuzione reale uniforme "da min a max" produce Inf, -Inf o NaN?
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>();
//...
E 'possibile che io mai tornare un NaN
, Inf
o -Inf
?
Dato che nessuno di quelli rientra nell'intervallo [min, max], quindi presumibilmente no. –