Package squidpony.squidmath
Interface SkippingRandomness
- All Superinterfaces:
RandomnessSource,Serializable
- All Known Implementing Classes:
LightRNG,MoonwalkRNG,PermutedRNG,PulleyRNG,TangleRNG,ThrustAltRNG
public interface SkippingRandomness extends RandomnessSource
A simple interface for RandomnessSources that have the additional capability to skip forward or backward in their
generated number stream.
Created by Tommy Ettinger on 9/15/2015.
-
Method Summary
Modifier and Type Method Description longskip(long advance)Advances or rolls back the SkippingRandomness' state without actually generating each number.
-
Method Details
-
skip
Advances or rolls back the SkippingRandomness' state without actually generating each number. Skips forward or backward a number of steps specified by advance, where a step is equal to one call toRandomnessSource.nextLong(), and returns the random number produced at that step. Negative numbers can be used to step backward, or 0 can be given to get the most-recently-generated long fromRandomnessSource.nextLong().- Parameters:
advance- Number of future generations to skip over; can be negative to backtrack, 0 gets the most-recently-generated number- Returns:
- the random long generated after skipping forward or backwards by
advancenumbers
-