public void Delete(long value1, long value2) { if (table.Contains((uint)value1, (uint)value2)) { deleteList.Add(new Tuple((uint)value1, (uint)value2)); } }
static void PrintDiffs(BinaryTable table, bool[,] bitMap, int size) { for (int i = 0; i < size; i++) { for (int j = 0; j < size; j++) { int actual = table.Contains(i, j) ? 1 : 0; int expected = bitMap[i, j] ? 1 : 0; Console.Write("{0}/{1} ", actual, expected); } Console.WriteLine(); } }
public static bool TableContains(BinaryTable table, Obj field1, Obj field2) { int surr1 = table.store1.LookupValue(field1); if (surr1 == -1) { return(false); } int surr2 = table.store2.LookupValue(field2); if (surr2 == -1) { return(false); } return(table.Contains((uint)surr1, (uint)surr2)); }
static void CheckTable(BinaryTable table, bool[,] bitMap, int size) { table.Check(); for (int i = 0; i < size; i++) { for (int j = 0; j < size; j++) { if (table.Contains(i, j) != bitMap[i, j]) { Console.Error.WriteLine("ERROR (1)!\n"); PrintDiffs(table, bitMap, size); //throw new Exception(); Environment.Exit(1); } } } for (uint i = 0; i < size; i++) { List <uint> list = new List <uint>(); for (uint j = 0; j < size; j++) { if (bitMap[i, j]) { list.Add(j); } } uint[] expValues = list.ToArray(); if (table.ContainsField1(i) != (expValues.Length > 0)) { Console.Error.WriteLine("ERROR (2)!\n"); for (int k = 0; k < expValues.Length; k++) { Console.Error.Write("{0} ", expValues[k]); } Console.Error.WriteLine(); Console.Error.WriteLine("{0}", table.ContainsField1(i)); Environment.Exit(1); } uint[] actualValues = table.LookupByCol1(i); Array.Sort(actualValues); if (!Eq(actualValues, expValues)) { Console.Error.WriteLine("ERROR (3)!\n"); Environment.Exit(1); } list = new List <uint>(); BinaryTable.Iter it = table.GetIter1(i); while (!it.Done()) { list.Add(it.GetField2()); it.Next(); } actualValues = list.ToArray(); Array.Sort(actualValues); if (!Eq(actualValues, expValues)) { Console.Error.WriteLine("ERROR (4)!\n"); Environment.Exit(1); } } for (uint j = 0; j < size; j++) { List <uint> list = new List <uint>(); for (uint i = 0; i < size; i++) { if (bitMap[i, j]) { list.Add(i); } } uint[] expValues = list.ToArray(); if (table.ContainsField2(j) != (expValues.Length > 0)) { Console.Error.WriteLine("ERROR (5)!\n"); Environment.Exit(1); } uint[] actualValues = table.LookupByCol2(j); Array.Sort(actualValues); if (!Eq(actualValues, expValues)) { Console.Error.WriteLine("ERROR (6)!\n"); Environment.Exit(1); } list = new List <uint>(); BinaryTable.Iter it = table.GetIter2(j); while (!it.Done()) { list.Add(it.GetField1()); it.Next(); } actualValues = list.ToArray(); Array.Sort(actualValues); if (!Eq(actualValues, expValues)) { Console.Error.WriteLine("ERROR (4)!\n"); Environment.Exit(1); } } }