StreamableGenerator
interface StreamableGenerator : RandomGenerator
java.util.random.RandomGenerator.StreamableGenerator |
The StreamableGenerator
interface augments the RandomGenerator
interface to provide methods that return streams of RandomGenerator
objects. Ideally, such a stream of objects would have the property that the behavior of each object is statistically independent of all the others. In practice, one may have to settle for some approximation to this property.
A generator that implements interface SplittableGenerator
may choose to use its java.util.random.RandomGenerator.SplittableGenerator#splits() method to implement the java.util.random.RandomGenerator.StreamableGenerator#rngs() method required by this interface.
A generator that implements interface JumpableGenerator
may choose to use its jumps
() method to implement the rngs
() method required by this interface.
A generator that implements interface LeapableGenerator
may choose to use its leaps
() method to implement the rngs
() method required by this interface.
Objects that implement StreamableGenerator
are typically not cryptographically secure. Consider instead using SecureRandom
to get a cryptographically secure pseudo-random number generator for use by security-sensitive applications.
Summary
Public methods | |
---|---|
open static RandomGenerator.StreamableGenerator! |
Returns an instance of |
abstract Stream<RandomGenerator!>! |
rngs() Returns an effectively unlimited stream of objects, each of which implements the |
open Stream<RandomGenerator!>! |
Returns an effectively unlimited stream of objects, each of which implements the |
Inherited functions | |
---|---|
Public methods
of
open static fun of(name: String!): RandomGenerator.StreamableGenerator!
Returns an instance of StreamableGenerator
that utilizes the name
algorithm.
Parameters | |
---|---|
name |
String!: Name of random number generator algorithm |
Return | |
---|---|
RandomGenerator.StreamableGenerator! |
An instance of StreamableGenerator |
Exceptions | |
---|---|
java.lang.NullPointerException |
if name is null |
java.lang.IllegalArgumentException |
if the named algorithm is not found |
rngs
abstract fun rngs(): Stream<RandomGenerator!>!
Returns an effectively unlimited stream of objects, each of which implements the RandomGenerator
interface. Ideally the generators in the stream will appear to be statistically independent. The new generators are of the same algorithm as this generator.
Return | |
---|---|
Stream<RandomGenerator!>! |
a stream of objects that implement the RandomGenerator interface |
rngs
open fun rngs(streamSize: Long): Stream<RandomGenerator!>!
Returns an effectively unlimited stream of objects, each of which implements the RandomGenerator
interface. Ideally the generators in the stream will appear to be statistically independent. The new generators are of the same algorithm as this generator.
Parameters | |
---|---|
streamSize |
Long: the number of generators to generate |
Return | |
---|---|
Stream<RandomGenerator!>! |
a stream of objects that implement the RandomGenerator interface |
Exceptions | |
---|---|
java.lang.IllegalArgumentException |
if streamSize is less than zero |