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; } }
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); } } }
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); } } }
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); }