public static Vec1024 <T> CpuVec1024 <T>(this IPolyrand random, Interval <T>?domain = null, Func <T, bool> filter = null) where T : unmanaged { var v1 = random.CpuVec256(domain, filter); var v2 = random.CpuVec256(domain, filter); var v3 = random.CpuVec256(domain, filter); var v4 = random.CpuVec256(domain, filter); return(Vec1024.Define(v1, v2, v3, v4)); }
public static Span256 <T> ToSpan256 <T>(this Vec1024 <T> src) where T : struct { var dst = Span256.AllocBlocks <T>(4); vstore(src.v00, ref dst[0]); vstore(src.v01, ref dst[32]); vstore(src.v10, ref dst[64]); vstore(src.v10, ref dst[96]); return(dst); }
public static ReadOnlySpan <T> ToReadOnlySpan <T>(this Vec1024 <T> src) where T : struct => src.ToSpan();
public static Span <T> ToSpan <T>(this Vec1024 <T> src) where T : struct => src.ToSpan256();
public static string FormatHex <T>(this Vec1024 <T> src, bool vectorize = true, char?sep = null) where T : struct => src.ToSpan().FormatHex(vectorize, sep);
public static string FormatBits <T>(this Vec1024 <T> src, bool tlz = false, bool specifier = false, int?blockWidth = null) where T : struct => src.ToReadOnlySpan().FormatBits(tlz, specifier, blockWidth);