4 #include "tableentry.h"
6 #include "mutableset.h"
8 Table::Table(Set **_domains, uint numDomain, Set *_range) : range(_range) {
9 initArrayInitSet(&domains, _domains, numDomain);
10 entries = allocHashSetTableEntry(HT_INITIAL_CAPACITY, HT_DEFAULT_FACTOR);
13 void Table::addNewTableEntry(uint64_t *inputs, uint inputSize, uint64_t result) {
16 ASSERT(result == true || result == false);
18 TableEntry *tb = allocTableEntry(inputs, inputSize, result);
19 bool status = addHashSetTableEntry(entries, tb);
23 TableEntry * Table::getTableEntry(uint64_t *inputs, uint inputSize) {
24 TableEntry *temp = allocTableEntry(inputs, inputSize, -1);
25 TableEntry *result = getHashSetTableEntry(entries, temp);
26 deleteTableEntry(temp);
31 deleteInlineArraySet(&domains);
32 HSIteratorTableEntry *iterator = iteratorTableEntry(entries);
33 while (hasNextTableEntry(iterator)) {
34 deleteTableEntry(nextTableEntry(iterator));
36 deleteIterTableEntry(iterator);
37 deleteHashSetTableEntry(entries);