8281183: RandomGenerator:NextDouble() default behavior partially fixed by JDK-8280950
Reviewed-by: jlaskey
This commit is contained in:
parent
42e272e181
commit
77b0240d44
src/java.base/share/classes/jdk/internal/util/random
test/jdk/java/util/Random
@ -677,7 +677,7 @@ public class RandomSupport {
|
||||
double r = rng.nextDouble();
|
||||
r = r * bound;
|
||||
if (r >= bound) // may need to correct a rounding problem
|
||||
r = Math.nextDown(r);
|
||||
r = Math.nextDown(bound);
|
||||
return r;
|
||||
}
|
||||
|
||||
|
@ -24,7 +24,7 @@
|
||||
/*
|
||||
* @test
|
||||
* @summary Verify nextDouble stays within range
|
||||
* @bug 8280550 8280950
|
||||
* @bug 8280550 8280950 8281183
|
||||
*/
|
||||
|
||||
import java.util.SplittableRandom;
|
||||
@ -79,8 +79,11 @@ public class RandomNextDoubleBoundary {
|
||||
};
|
||||
double value = rg.nextDouble(origin, bound);
|
||||
|
||||
assertTrue(value >= origin);
|
||||
assertTrue(value < bound);
|
||||
if (bound > 0) {
|
||||
value = rg.nextDouble(bound); // Equivalent to nextDouble(0.0, bound)
|
||||
assertTrue(value >= 0.0);
|
||||
assertTrue(value < bound);
|
||||
}
|
||||
}
|
||||
|
||||
public static void assertTrue(boolean condition) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user