Пример #1
0
        static void AssertDiv0Mod0(int x1, int x2)
        {
            var nd = SchemeImpl.Div0(x1, x2);
            var xm = SchemeImpl.Mod0(x1, x2);

            AssertDiv0Mod0(x1, x2, nd, xm);
        }
Пример #2
0
        static void AssertDiv0Mod0(int x1, int x2)
        {
            var nd = SchemeImpl.Div0(x1, x2);
            var xm = SchemeImpl.Mod0(x1, x2);

            var r = SchemeImpl.Div0Mod0(x1, x2);

            Assert.AreEqual(nd, r.Item1);
            Assert.AreEqual(xm, r.Item2);

            AssertDiv0Mod0(x1, x2, nd, xm);
        }
Пример #3
0
 public void TestDivPP()
 {
     Assert.AreEqual(12, SchemeImpl.Div(123, 10));
 }
Пример #4
0
 public void TestModNN()
 {
     Assert.AreEqual(7, SchemeImpl.Mod(-123, -10));
 }
Пример #5
0
 public void TestMod0PN()
 {
     Assert.AreEqual(3, SchemeImpl.Mod0(123, -10));
 }
Пример #6
0
 public void TestDivNP()
 {
     Assert.AreEqual(-13, SchemeImpl.Div(-123, 10));
 }
Пример #7
0
 public void TestDivNN()
 {
     Assert.AreEqual(13, SchemeImpl.Div(-123, -10));
 }
Пример #8
0
        static void Main(string[] args)
        {
            var sw = new Stopwatch();

            var r = SchemeImpl.Div(123, 10);

            for (int i = 0; i < 500000; i++)
            {
                r = SchemeImpl.Div(123, 10);
                //r = SchemeImpl.DivSlow(123, 10);
                r = SchemeImpl.Div0(123, 10);
                //r = SchemeImpl.Div0Slow(123, 10);
            }

            const int MAX = 500000000;

            sw.Start();

            for (int i = 1; i < MAX; i++)
            {
                r = SchemeImpl.Div(i, MAX - i);
                r = SchemeImpl.Div(i, 0 - i);
                r = SchemeImpl.Div(MAX - i, i);
                r = SchemeImpl.Div(0 - i, i);
            }

            sw.Stop();

            Console.WriteLine("Div: {0:f3}s", sw.Elapsed.TotalSeconds);

            /*
             * sw.Restart();
             *
             * for (int i = 1; i < MAX; i++)
             * {
             * r = SchemeImpl.DivSlow(i, 0 - i);
             * }
             *
             * sw.Stop();
             *
             * Console.WriteLine("DivSlow: {0:f3}s", sw.Elapsed.TotalSeconds);
             */
            sw.Restart();

            for (int i = 1; i < MAX; i++)
            {
                r = SchemeImpl.Div0(i, MAX - i);
                r = SchemeImpl.Div0(i, 0 - i);
                r = SchemeImpl.Div0(MAX - i, i);
                r = SchemeImpl.Div0(0 - i, i);
            }

            sw.Stop();

            Console.WriteLine("Div0: {0:f3}s", sw.Elapsed.TotalSeconds);

            /*
             * sw.Restart();
             *
             * for (int i = 1; i < MAX; i++)
             * {
             * r = SchemeImpl.Div0Slow(i, 0 - i);
             * }
             *
             * sw.Stop();
             *
             * Console.WriteLine("Div0Slow: {0:f3}s", sw.Elapsed.TotalSeconds);
             */
            Console.WriteLine(r);
        }
Пример #9
0
 public void TestModPN()
 {
     Assert.AreEqual(6, SchemeImpl.Mod(17, -11));
 }
Пример #10
0
 public void TestDivPP()
 {
     Assert.AreEqual(1, SchemeImpl.Div(17, 11));
 }
Пример #11
0
 public void TestDiv0NN()
 {
     Assert.AreEqual(2, SchemeImpl.Div0(-17, -11));
 }
Пример #12
0
 public void TestMod0PN()
 {
     Assert.AreEqual(-5, SchemeImpl.Mod0(17, -11));
 }
Пример #13
0
 public void TestDiv0NP()
 {
     Assert.AreEqual(-2, SchemeImpl.Div0(-17, 11));
 }
Пример #14
0
 public void TestDiv0PN()
 {
     Assert.AreEqual(-2, SchemeImpl.Div0(17, -11));
 }
Пример #15
0
 public void TestDiv0PP()
 {
     Assert.AreEqual(2, SchemeImpl.Div0(17, 11));
 }
Пример #16
0
 public void TestModNP()
 {
     Assert.AreEqual(5, SchemeImpl.Mod(-17, 11));
 }
Пример #17
0
 public void TestDiv0NN()
 {
     Assert.AreEqual(12, SchemeImpl.Div0(-123, -10));
 }
Пример #18
0
        static void AssertDiv0Mod0Tuple(int x1, int x2)
        {
            var dm = SchemeImpl.Div0Mod0(x1, x2);

            AssertDiv0Mod0(x1, x2, dm.Item1, dm.Item2);
        }
Пример #19
0
 public void TestMod0NN()
 {
     Assert.AreEqual(-3, SchemeImpl.Mod0(-123, -10));
 }
Пример #20
0
 public void TestModPP()
 {
     Assert.AreEqual(3, SchemeImpl.Mod(123, 10));
 }
Пример #21
0
 public void TestMod0NN()
 {
     Assert.AreEqual(5, SchemeImpl.Mod0(-17, -11));
 }
Пример #22
0
 public void TestDivPN()
 {
     Assert.AreEqual(-1, SchemeImpl.Div(17, -11));
 }