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 D Herbert (Jira)" <ji...@apache.org> on 2019/09/25 12:15:00 UTC

[jira] [Resolved] (RNG-116) RandomSource to expose supported functionality and seed size

     [ https://issues.apache.org/jira/browse/RNG-116?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alex D Herbert resolved RNG-116.
--------------------------------
    Fix Version/s: 1.3
       Resolution: Implemented

In git master.

> RandomSource to expose supported functionality and seed size
> ------------------------------------------------------------
>
>                 Key: RNG-116
>                 URL: https://issues.apache.org/jira/browse/RNG-116
>             Project: Commons RNG
>          Issue Type: Improvement
>          Components: simple
>    Affects Versions: 1.3
>            Reporter: Alex D Herbert
>            Assignee: Alex D Herbert
>            Priority: Minor
>             Fix For: 1.3
>
>          Time Spent: 1h 10m
>  Remaining Estimate: 0h
>
> h2. Interface support
> The {{RandomSource}} can be used to created instances that may implement {{JumpableUniformRandomProvider}}. This requires casting the returned value from the {{create}} method. Add methods to expose the interfaces supported by the provider without instantiation.
> {code:java}
> public boolean isJumpable();
> public boolean isLongJumpable();
> {code}
> This will allow:
> {code:java}
> RandomSource source = ...;
> if (source.isJumpable()) {
>     JumpableUniformRandomProvider rng =
>         (JumpableUniformRandomProvider) RandomSource.create(source);
> }
> {code}
> h2. Seed size
> The internal components used to build the generators by RandomSource know the size of the seed required for the constructor. This can be exposed in a method:
> {code:java}
> public int getSeedByteSize();
> {code}
> This will allow:
> {code:java}
> RandomSource source = ...;
> SecureRandom sr = new SecureRandom();
> UniformRandomProvider rng = RandomSource.create(source,
>     sr.generateSeed(source.getSeedByteSize()));
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)