Exemplo n.º 1
0
 public void Delete(long value1, long value2)
 {
     if (table.Contains((uint)value1, (uint)value2))
     {
         deleteList.Add(new Tuple((uint)value1, (uint)value2));
     }
 }
Exemplo n.º 2
0
 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();
     }
 }
Exemplo n.º 3
0
        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));
        }
Exemplo n.º 4
0
        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);
                }
            }
        }