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

Raffaello Giulietti rgiulietti at openjdk.org
Tue Jul 18 09:33:49 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:

  Made the comment about not using ulp a bit clearer.

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

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

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

  Stats: 3 lines in 1 file changed: 0 ins; 0 del; 3 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