XoshiroEngine.save

Compatibility with Phobos library methods. Presents this RNG as an InputRange.

This struct disables its default copy constructor and so will only work with Phobos functions that "do the right thing" and take RNGs by reference and do not accidentally make implicit copies.

  1. enum bool isUniformRandom;
  2. enum typeof(this.max) min;
  3. enum bool empty;
  4. UIntType front [@property getter]
  5. void popFront()
  6. void seed(UIntType x0)
  7. typeof(this) save [@property getter]
    struct XoshiroEngine(UIntType, uint nbits, string scrambler, uint A, uint B, uint I, uint R, UIntType S, UIntType T)
    @property const
    typeof(this)
    save
    ()
    ()
    if (
    (
    is(UIntType == uint) ||
    is(UIntType == ulong)
    )
    &&
    "**" == scrambler
    &&
    (
    UIntType.sizeof * 8 * 4 == nbits ||
    UIntType.sizeof * 8 * 8 == nbits
    )
    )

Meta