I've got a line:
std::uniform_real_distribution<T> distribution(std::numeric_limits<T>::lowest(), std::numeric_limits<T>::max());
It compiles but crashes on Debug(VS 2017CE). My guess is that, according to documentation of uniform_real:
Requires that a ≤ b and b-a ≤ std::numeric_limits::max()
when my b is ::max()
and a is ::lowest()
, condition :
b-a ≤ std::numeric_limits::max()
is not fulfilled as b-a it basically doubles value of max. Is there any work around for this so that I will keep such a wide numbers range? ::min()
works perfectly but omits negative values. Problem occurs for floating numbers only.
Aucun commentaire:
Enregistrer un commentaire