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

Raffaello Giulietti rgiulietti at openjdk.org
Tue Apr 25 13:12:21 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 an @implNote.

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/12719/files
  - new: https://git.openjdk.org/jdk/pull/12719/files/7d313c97..ef47d1a4

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

  Stats: 18 lines in 1 file changed: 11 ins; 2 del; 5 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