예제 #1
0
        public void Sign()
        {
            //Sign(int)
            const int ip1 = 1;
            const int in1 = -1;

            Cmpr(Fast.Sign(ip1), Def.Sign(ip1), "Sign(1)");
            Cmpr(Fast.Sign(in1), Def.Sign(in1), "Sign(-1)");
            Cmpr(Fast.Sign(int.MaxValue), Def.Sign(int.MaxValue), "Sign(int.max)");
            Cmpr(Fast.Sign(int.MaxValue - 1), Def.Sign(int.MaxValue - 1), "Sign(int.max-1)");
            Cmpr(Fast.Sign(int.MinValue), Def.Sign(int.MinValue), "Sign(int.min)");
            Cmpr(Fast.Sign(int.MinValue + 1), Def.Sign(int.MinValue + 1), "Sign(int.min+1)");

            //Sign(long)
            const long lp1 = 1;
            const long ln1 = -1;

            Cmpr(Fast.Sign(lp1), Def.Sign(lp1), "Sign(1L)");
            Cmpr(Fast.Sign(ln1), Def.Sign(ln1), "Sign(-1L)");
            Cmpr(Fast.Sign(long.MaxValue), Def.Sign(long.MaxValue), "Sign(long.max)");
            Cmpr(Fast.Sign(long.MaxValue - 1L), Def.Sign(long.MaxValue - 1L), "Sign(long.max-1)");
            Cmpr(Fast.Sign(long.MinValue), Def.Sign(long.MinValue), "Sign(long.min)");
            Cmpr(Fast.Sign(long.MinValue + 1L), Def.Sign(long.MinValue + 1L), "Sign(long.min+1)");

            //Sign(short)
            const short sp1 = 1;
            const short sn1 = -1;

            Cmpr(Fast.Sign(sp1), Def.Sign(sp1), "Sign(1s)");
            Cmpr(Fast.Sign(sn1), Def.Sign(sn1), "Sign(-1s)");
            Cmpr(Fast.Sign(short.MaxValue), Def.Sign(short.MaxValue), "Sign(short.max)");
            Cmpr(Fast.Sign((short)(short.MaxValue - 1)), Def.Sign((short)(short.MaxValue - 1)), "Sign(short.max-1)");
            Cmpr(Fast.Sign(short.MinValue), Def.Sign(short.MinValue), "Sign(short.min)");
            Cmpr(Fast.Sign((short)(short.MinValue + 1)), Def.Sign((short)(short.MinValue + 1)), "Sign(short.min+1)");

            //Sign(sbyte)
            const sbyte bp1 = 1;
            const sbyte bn1 = -1;

            Cmpr(Fast.Sign(bp1), Def.Sign(bp1), "Sign(1b)");
            Cmpr(Fast.Sign(bn1), Def.Sign(bn1), "Sign(-1b)");
            Cmpr(Fast.Sign(sbyte.MaxValue), Def.Sign(sbyte.MaxValue), "Sign(sbyte.max)");
            Cmpr(Fast.Sign((sbyte)(sbyte.MaxValue - 1)), Def.Sign((sbyte)(sbyte.MaxValue - 1)), "Sign(sbyte.max-1)");
            Cmpr(Fast.Sign(sbyte.MinValue), Def.Sign(sbyte.MinValue), "Sign(sbyte.min)");
            Cmpr(Fast.Sign((sbyte)(sbyte.MinValue + 1)), Def.Sign((sbyte)(sbyte.MinValue + 1)), "Sign(sbyte.min+1)");
        }