RFR: 8302987: Add uniform and spatially equidistributed bounded double streams to RandomGenerator [v11]

Raffaello Giulietti rgiulietti at openjdk.org
Tue Jul 18 09:16:14 UTC 2023


> The `default` method `nextDouble(double origin, double bound)` in `java.util.random.RandomGenerator` aims at generating a uniformly and spatially equidistributed random `double` in the left-closed and right-open range [`origin`, `bound`). It does so by applying the affine transform `origin + (bound - origin) * r` to a uniformly and spatially equidistributed random `double` `r` in the range [0, 1).
> 
> Since floating-point arithmetic suffers from small but noticeable rounding errors, this ends up slightly deforming the distribution of `r` when applying the affine transform.

Raffaello Giulietti has updated the pull request incrementally with one additional commit since the last revision:

  Added the reason for not using Math.ulp() to compute delta.

-------------

Changes:
  - all: https://git.openjdk.org/jdk/pull/12719/files
  - new: https://git.openjdk.org/jdk/pull/12719/files/80e49d41..390ad6b1

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=12719&range=10
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=12719&range=09-10

  Stats: 5 lines in 1 file changed: 5 ins; 0 del; 0 mod
  Patch: https://git.openjdk.org/jdk/pull/12719.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/12719/head:pull/12719

PR: https://git.openjdk.org/jdk/pull/12719


More information about the core-libs-dev mailing list