Double in [lo, hi): lo + (hi − lo)·u, deterministic.
[lo, hi)
lo + (hi − lo)·u
double range(double lo, double hi) => lo + (hi - lo) * nextDouble();