PermutedCongruentialEngine
@safe nothrow @nogc
struct PermutedCongruentialEngine (
bool output_previous
mult_...
)
if (
mult_.length <= 1
) {
static if(mult_.length == 0)
enum mult;
static if(!(mult_.length == 0))
enum mult;
}
- this
this(Uint seed, Uint stream_)
- this
this(Uint seed)
A postblit is present on this object, but not explicitly documented in the source.
- Uint
alias Uint = TemplateArgsOf!output[1]
- opCall
ReturnType!output opCall()
- popFront
void popFront()
- seed
void seed(Uint seed)
Compatibility with Phobos library methods. Presents this RNG as an InputRange.
Only available if output_previous == true.
- skip
void skip(Uint delta)
Skip forward in the random sequence in O(log n) time.
Even though delta is an unsigned integer, we can pass a
signed integer to go backwards, it just goes "the long way round".
- isRandomEngine
enum isRandomEngine;
- max
enum max;
- period_pow2
enum period_pow2;
- front
ReturnType!output front [@property getter]
- save
typeof(this) save [@property getter]
- empty
enum bool empty;
Compatibility with Phobos library methods. Presents this RNG as an InputRange.
Only available if output_previous == true.
- isUniformRandom
enum bool isUniformRandom;
- min
enum ReturnType!output min;
Compatibility with Phobos library methods. Presents this RNG as an InputRange.
Only available if output_previous == true.
- state
Uint state;
From mixin no_stream!Uint
- is_mcg
enum is_mcg;
- increment
enum Uint increment;
- can_specify_stream
enum can_specify_stream;
- streams_pow2
enum size_t streams_pow2;
From mixin unique_stream!Uint
- is_mcg
enum is_mcg;
- increment
Uint increment [@property getter]
- stream
Uint stream()
- can_specify_stream
enum can_specify_stream;
- streams_pow2
enum size_t streams_pow2;
From mixin specific_stream!Uint
- is_mcg
enum is_mcg;
- inc_
Uint inc_;
- increment
alias increment = inc_
- can_specify_stream
enum can_specify_stream;
- set_stream
void set_stream(Uint u)
- streams_pow2
enum size_t streams_pow2;
From mixin oneseq_stream!Uint
- is_mcg
enum is_mcg;
- increment
enum Uint increment;
- can_specify_stream
enum can_specify_stream;
- streams_pow2
enum size_t streams_pow2;
The PermutedCongruentialEngine: