Class EnhancedJumpableGenerator

All Implemented Interfaces:
RandomGenerator, RandomGenerator.JumpableGenerator, RandomGenerator.StreamableGenerator
Direct Known Subclasses:
EnhancedLeapableGenerator

public class EnhancedJumpableGenerator extends EnhancedStreamableGenerator implements RandomGenerator.JumpableGenerator
An EnhancedJumpableGenerator is used to wrap an object of any class that implements RandomGenerator.JumpableGenerator for the purpose of adding all of the functionality of the RandomIndexer, RandomSampler, and RandomVariates. See the superclass EnhancedRandomGenerator for documentation of the enhanced functionality that is added to the wrapped object.

The methods of the RandomGenerator.JumpableGenerator interface, such as jumps(), that return streams of RandomGenerator are implemented to return streams of EnhancedRandomGenerator objects that wrap the RandomGenerator objects in the streams returned by the enclosed RandomGenerator.JumpableGenerator. However, additionally this class provides a counterpart, such as ejumps(), for each of these methods whose return type is explicitly a stream of EnhancedRandomGenerator objects to simplify usage without the need to cast the objects of the stream in order to utilize the enhancements.