public static Span <N, T> Span <N, T>(this IPolyrand random, N length = default, Interval <T>?domain = null, Func <T, bool> filter = null) where T : struct where N : ITypeNat, new() => NatSpan.Load <N, T>(random.Span <T>((int)length.value, domain, filter));
public static Span <M, N, T> Span <M, N, T>(this IPolyrand random, M rows = default, N cols = default) where T : struct where M : ITypeNat, new() where N : ITypeNat, new() => NatSpan.Load <M, N, T>(random.Span <T>(nfunc.muli(rows, cols)), rows, cols);
public static Span <T> NonZeroSpan <T>(this IPolyrand random, int samples, Interval <T>?domain = null) where T : struct => random.Span <T>(samples, domain, gmath.nonzero);
public static ReadOnlySpan <T> ReadOnlySpan <T>(this IPolyrand random, int length, Interval <T>?domain = null, Func <T, bool> filter = null) where T : struct => random.Span <T>(length, domain, filter);
public static Span <T> Span <T>(this IPolyrand random, int length, Interval <T> domain) where T : struct => random.Span <T>(length, domain, null);
public static Span <M, N, T> Span <M, N, T>(this IPolyrand random, M rows, N cols, Interval <T> domain) where T : struct where M : ITypeNat, new() where N : ITypeNat, new() => NatSpan.Load <M, N, T>(random.Span <T>(nfunc.muli(rows, cols), domain), rows, cols);
public static BitString BitString(this IPolyrand random, BitSize len) { var bytes = random.Span <byte>(len.UpperByteCount); return(Z0.BitString.FromScalars(bytes, len)); }