/** * @return Random double from 0 (inclusive) to 1 (exclusive) */ public double nextDouble() { return (nextLong() & 0x7FFFFFFFFFFFFFFFL) / (Long.MAX_VALUE + 1.0); }
/** * @param min * @param max * @return Random long from min (inclusive) to max (inclusive) */ public long nextLong(long min, long max) { return min + nextLong(max - min + 1); }
/** * @param min * @param max * @return Random double from min (inclusive) to max (inclusive) */ public double nextDouble(double min, double max) { return min + (max - min) * (nextLong() & 0x7FFFFFFFFFFFFFFFL) / Long.MAX_VALUE; }