Class EnhancedSplittableGenerator

All Implemented Interfaces:
RandomGenerator, RandomGenerator.SplittableGenerator, RandomGenerator.StreamableGenerator

public class EnhancedSplittableGenerator extends EnhancedStreamableGenerator implements RandomGenerator.SplittableGenerator

An EnhancedSplittableGenerator is used to wrap an object of any class that implements RandomGenerator.SplittableGenerator for the purpose of adding all of the functionality of the RandomIndexer and RandomVariates. See the superclass EnhancedRandomGenerator for documentation of the enhanced functionality that is added to the wrapped object.

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