You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Alex Herbert (Jira)" <ji...@apache.org> on 2021/04/05 09:11:00 UTC
[jira] [Commented] (RNG-127) Assess future compatibility with JEP
356: Enhanced Pseudo-Random Number Generators
[ https://issues.apache.org/jira/browse/RNG-127?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17314726#comment-17314726 ]
Alex Herbert commented on RNG-127:
----------------------------------
Implementation details including API documentation are available in the JDK bug tracking system:
[JDK-8255395: Implement Enhanced Pseudo-Random Number Generators|https://bugs.openjdk.java.net/browse/JDK-8255395]
> Assess future compatibility with JEP 356: Enhanced Pseudo-Random Number Generators
> -----------------------------------------------------------------------------------
>
> Key: RNG-127
> URL: https://issues.apache.org/jira/browse/RNG-127
> Project: Commons RNG
> Issue Type: Task
> Components: client-api
> Affects Versions: 1.3
> Reporter: Alex Herbert
> Priority: Minor
>
> JEP 356 specifies an enhancement to the random number generators. This is targeted to JDK 17.
> [JEP 356: Enhanced Pseudo-Random Number Generators|https://openjdk.java.net/jeps/356]
> The enhancement will add interfaces to the JDK for random number generation:
> * SplittableRandomGenerator extends RandomGenerator and also provides
> methods named split and splits. Splittability allows the user to spawn a new RandomGenerator from an existing RandomGenerator that will generally produce statistically independent results.
> * JumpableRandomGenerator extends RandomGenerator and also provides
> methods named jump and jumps. Jumpability allows a user to jump ahead a moderate number of draws.
> * LeapableRandomGenerator extends RandomGenerator and also provides
> methods named leap and leaps. Leapability allows a user to jump ahead a large number of draws.
> * ArbitrarilyJumpableRandomGenerator extends LeapableRandomGenerator and also provides additional variations of jump and jumps that allow an arbitrary jump distance to be specified.
> The specification describes the development of abstract classes that would allow different algorithms to be easily implemented by developers and used with a Java application through a common interface. This would replicate the functionality of the Common RNG API and core modules within the JDK.
> The JDK interfaces should be compared with the current client API in Commons RNG with the aim to assess:
> # Compatibility
> # Potential to back-port functionality
> JEP 356 also mentions the implementation of the LXM family of RNGs and a change to the algorithm used by SplittableRandom to address two weaknesses identified in 2016. These could be included in the current codebase pending license compatibility checks.
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)