Uniform_real não aceita numeric_limits :: lower ()
Eu tenho uma linha:
std::uniform_real_distribution<T> distribution(std::numeric_limits<T>::lowest(),
std::numeric_limits<T>::max());
Ele compila, mas trava no Debug (VS 2017CE). Meu palpite é que, de acordo com a documentação destd::uniform_real_distribution
:
Requer quea ≤ b
eb-a ≤ std::numeric_limits<RealType>::max()
quando meub
é::max()
ea
é::lowest()
, condição:
b-a ≤ std::numeric_limits<RealType>::max()
não é cumprido comob-a
basicamente dobra o valor demax
. Existe alguma solução para isso, para que eu mantenha um número tão grande de números?::min()
funciona perfeitamente, mas omite valores negativos. Problema ocorre apenas para números flutuantes.