コード例 #1
0
ファイル: CpuVectors.cs プロジェクト: 0xCM/arrows
        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));
        }
コード例 #2
0
        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);
        }
コード例 #3
0
 public static ReadOnlySpan <T> ToReadOnlySpan <T>(this Vec1024 <T> src)
     where T : struct
 => src.ToSpan();
コード例 #4
0
 public static Span <T> ToSpan <T>(this Vec1024 <T> src)
     where T : struct
 => src.ToSpan256();
コード例 #5
0
 public static string FormatHex <T>(this Vec1024 <T> src, bool vectorize = true, char?sep = null)
     where T : struct
 => src.ToSpan().FormatHex(vectorize, sep);
コード例 #6
0
ファイル: BitFormat.cs プロジェクト: 0xCM/arrows
 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);