internal static VslStream NewStream(this BRNG brng, uint seed = 0, int index = 0) { IntPtr stream = IntPtr.Zero; VSL.vslNewStream(ref stream, brng + index, seed).ThrowOnError(); return(stream); }
public static MklRng stream(BRNG generator, uint seed = 0, int index = 0) => MklRng.Define(generator, seed, index);
/// <summary> /// Describes stream partitioning capabilies of an identifed generator /// </summary> /// <param name="sub">Indicates whether stream independed substream creation (Leapfrogging) is suppored</param> /// <param name="skip">Indicates whether elements can be skipped</param> public static (bool sub, bool skip) capabilities(BRNG brng) => brng switch
internal static RngKind ToRngKind(this BRNG src) => (RngKind)src;
internal MklRng(BRNG brng, uint seed = 0, int index = 0) { this.Source = brng.NewStream(seed, index); }
public static MklRng Define(BRNG brng, uint seed = 0, int index = 0) => new MklRng(brng, seed, index);
public static extern VslRngStatus vslNewStreamEx(ref IntPtr stream, BRNG brng, int argLen, ref uint args);
public static extern VslRngStatus vslNewStreamEx(ref IntPtr stream, BRNG brng, ref uint parameters);
public static extern VslRngStatus vslNewStream(ref IntPtr stream, BRNG brng, uint seed);