Пример #1
0
        void FillRandomItems(int count)
        {
            JaggedTreeArray <int> arr = new JaggedTreeArray <int>();

            int rows = (int)arr.RowCapacity;
            int cols = (int)arr.ColCapacity;

            for (int i = 0; i < count; i++)
            {
                arr[rand.Next(rows), rand.Next(cols)] = i;
            }
        }
Пример #2
0
        void RWAccessValidate_100000x100()
        {
            JaggedTreeArray <int> arr = new JaggedTreeArray <int>();

            for (int r = 0; r < 100000; r++)
            {
                for (int c = 0; c < 100; c++)
                {
                    arr[r, c] = r * c;
                }
            }

            for (int r = 0; r < 100000; r++)
            {
                for (int c = 0; c < 100; c++)
                {
                    AssertEquals(arr[r, c], r * c);
                }
            }
        }
Пример #3
0
        void RWAccess_100000000_Elements_Skip()
        {
            JaggedTreeArray <int> arr = new JaggedTreeArray <int>();

            int t = 10000;

            for (int r = 0; r < t; r += 100)
            {
                for (int c = 0; c < t; c += 100)
                {
                    arr[r, c] = r * c;
                }
            }

            for (int r = 0; r < t; r += 100)
            {
                for (int c = 0; c < t; c += 100)
                {
                    AssertEquals(arr[r, c], r * c);
                }
            }
        }
Пример #4
0
        void BasicTest()
        {
            JaggedTreeArray <int> arr = new JaggedTreeArray <int>();

            arr[0, 0] = 1;

            arr[127, 0]  = 11;
            arr[128, 0]  = 12;
            arr[255, 0]  = 13;
            arr[256, 0]  = 14;
            arr[511, 0]  = 15;
            arr[512, 0]  = 16;
            arr[1023, 0] = 17;
            arr[1024, 0] = 18;
            arr[2047, 0] = 19;
            arr[2048, 0] = 20;
            arr[4095, 0] = 21;
            arr[4096, 0] = 22;

            arr[0, 127]  = 101;
            arr[0, 128]  = 102;
            arr[0, 255]  = 103;
            arr[0, 256]  = 104;
            arr[0, 511]  = 105;
            arr[0, 512]  = 106;
            arr[0, 1023] = 107;
            arr[0, 1024] = 108;
            arr[0, 2047] = 109;
            arr[0, 2048] = 110;
            arr[0, 4095] = 111;
            arr[0, 4096] = 112;

            arr[128, 32]        = 999;
            arr[2097151, 32767] = 9999999;

            AssertEquals(arr[0, 0], 1);

            AssertEquals(arr[127, 0], 11);
            AssertEquals(arr[128, 0], 12);
            AssertEquals(arr[255, 0], 13);
            AssertEquals(arr[256, 0], 14);
            AssertEquals(arr[511, 0], 15);
            AssertEquals(arr[512, 0], 16);
            AssertEquals(arr[1023, 0], 17);
            AssertEquals(arr[1024, 0], 18);
            AssertEquals(arr[2047, 0], 19);
            AssertEquals(arr[2048, 0], 20);
            AssertEquals(arr[4095, 0], 21);
            AssertEquals(arr[4096, 0], 22);

            AssertEquals(arr[0, 127], 101);
            AssertEquals(arr[0, 128], 102);
            AssertEquals(arr[0, 255], 103);
            AssertEquals(arr[0, 256], 104);
            AssertEquals(arr[0, 511], 105);
            AssertEquals(arr[0, 512], 106);
            AssertEquals(arr[0, 1023], 107);
            AssertEquals(arr[0, 1024], 108);
            AssertEquals(arr[0, 2047], 109);
            AssertEquals(arr[0, 2048], 110);
            AssertEquals(arr[0, 4095], 111);
            AssertEquals(arr[0, 4096], 112);

            AssertEquals(arr[128, 32], 999);
            AssertEquals(arr[2097151, 32767], 9999999);
        }