コード例 #1
0
ファイル: tasm_add.cs プロジェクト: 0xCM/arrows
        void add_check <T>()
            where T : unmanaged
        {
            var asmop = AsmOps.Add <T>();

            for (var i = 0; i < SampleSize; i++)
            {
                var a      = Random.Next <T>();
                var b      = Random.Next <T>();
                var expect = gmath.add(a, b);
                var actual = asmop(a, b);
                Claim.eq(expect, actual);
            }
        }
コード例 #2
0
ファイル: tasm_add.cs プロジェクト: 0xCM/arrows
        void add_bench <T>(SystemCounter subject = default, SystemCounter compare = default)
            where T : unmanaged
        {
            var last  = default(T);
            var asmop = AsmOps.Add <T>();

            for (var i = 0; i < OpCount; i++)
            {
                var a = Random.Next <T>();
                var b = Random.Next <T>();
                subject.Start();
                last = asmop(a, b);
                subject.Stop();

                compare.Start();
                last = gmath.add(a, b);
                compare.Stop();
            }

            Benchmark($"add{moniker<T>()}_asm", subject);
            Benchmark($"add{moniker<T>()}", compare);
        }
コード例 #3
0
ファイル: tasm_add.cs プロジェクト: 0xCM/arrows
 public void add64f_check()
 => VerifyOp(AsmOps.Add <double>(), fmath.add);
コード例 #4
0
ファイル: tasm_add.cs プロジェクト: 0xCM/arrows
 public void add64u_check()
 => VerifyOp(AsmOps.Add <ulong>(), math.add);
コード例 #5
0
ファイル: tasm_add.cs プロジェクト: 0xCM/arrows
 public void add32u_check()
 => VerifyOp(AsmOps.Add <uint>(), math.add);
コード例 #6
0
ファイル: tasm_add.cs プロジェクト: 0xCM/arrows
 public void add16u_check()
 => VerifyOp(AsmOps.Add <ushort>(), math.add);
コード例 #7
0
ファイル: tasm_add.cs プロジェクト: 0xCM/arrows
 public void add8u_check()
 => VerifyOp(AsmOps.Add <byte>(), math.add);