[ 
https://issues.apache.org/jira/browse/RNG-186?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17840414#comment-17840414
 ] 

Alex Herbert commented on RNG-186:
----------------------------------

In place of `Random`, at least consider `ThreadLocalRandom.current()` or a 
`SplittableRandom` instance with the default increment. Both of those RNGs will 
pass state-of-the-art tests for randomness (TestU01 BigCrush or PractRand for 
several TiB of output). Their limitation is a period of 2^64, which is 
sufficient for generating test data. They will also be faster for either true 
concurrent usage (`ThreadLocalRandom`), or single thread usage 
(`SplittableRandom`). Note that Random has a period of 2^48 and is effectively 
synchronized using an AtomicLong for its state.

I can look at the bundle plugin. It is important for our multi-module builds to 
ensure we do not get a repeat of this module issue again.

 

> Commons-RNG Simple imports package that Commons-RNG Core does not export
> ------------------------------------------------------------------------
>
>                 Key: RNG-186
>                 URL: https://issues.apache.org/jira/browse/RNG-186
>             Project: Commons RNG
>          Issue Type: Task
>          Components: core, simple
>    Affects Versions: 1.5
>            Reporter: Richard Eckart de Castilho
>            Priority: Major
>
> Commons RNG Simple imports the following packages:
> {noformat}
> Bundle-SymbolicName: org.apache.commons.rng.simple
> Implementation-Version: 1.5
> Import-Package: 
>   org.apache.commons.rng,org.apache.commons.rng.core,
>   org.apache.commons.rng.core.source32,
>   org.apache.commons.rng.core.source64,
>   org.apache.commons.rng.core.util
> {noformat}
> However, Commons RNG Core does not export the source packages:
> {noformat}
> Bundle-SymbolicName: org.apache.commons.rng.core
> Implementation-Version: 1.5
> Export-Package: 
>   
> org.apache.commons.rng.core;x-friends:="org.apache.commons.rng.simple";version="1.5.0"
> Private-Package: 
>   org.apache.commons.rng.core.source32,
>   org.apache.commons.rng.core.source64,
>   org.apache.commons.rng.core.util
> {noformat}
> Consequently, using Commons RNG simple fails in an OSGi environment as the 
> bundle cannot be resolved.
> {noformat}
> [ERROR] Resolution failed. Capabilities satisfying the following requirements 
> could not be found:
>     [<<INITIAL>>]
>         ...
>               ⇒ osgi.wiring.package: 
> (&(osgi.wiring.package=org.apache.commons.rng.simple)(version>=1.5.0)(!(version>=2.0.0)))
>                   ⇒ [org.apache.commons.rng.simple version=1.5.0]
>                       ⇒ osgi.wiring.package: 
> (osgi.wiring.package=org.apache.commons.rng.core.source32)
> {noformat}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to