uint hashElement(Element *element);
bool compareElement(Element *e1, Element *e2);
-typedef HashTable<Boolean *, Boolean *, uintptr_t, 4, hashBoolean, compareBoolean> BooleanMatchMap;
+typedef Hashtable<Boolean *, Boolean *, uintptr_t, 4, hashBoolean, compareBoolean> BooleanMatchMap;
-typedef HashTable<Element *, Element *, uintptr_t, 4, hashElement, compareElement> ElementMatchMap;
+typedef Hashtable<Element *, Element *, uintptr_t, 4, hashElement, compareElement> ElementMatchMap;
#endif
{
}
-void Order::initializeOrderHashTable() {
- orderPairTable = new HashTableOrderPair();
+void Order::initializeOrderHashtable() {
+ orderPairTable = new HashtableOrderPair();
}
~Order();
OrderType type;
Set *set;
- HashTableOrderPair *orderPairTable;
+ HashtableOrderPair *orderPairTable;
OrderGraph *graph;
Order *clone(CSolver *solver, CloneMap *map);
Vector<BooleanOrder *> constraints;
OrderEncoding order;
- void initializeOrderHashTable();
- void initializeOrderElementsHashTable();
+ void initializeOrderHashtable();
+ void initializeOrderElementsHashtable();
void addOrderConstraint(BooleanOrder *constraint);
void setOrderEncodingType(OrderEncodingType type);
CMEMALLOC;
Table::Table(Set **_domains, uint numDomain, Set *_range) :
domains(_domains, numDomain),
range(_range) {
- entries = new HashSetTableEntry();
+ entries = new HashsetTableEntry();
}
void Table::addNewTableEntry(uint64_t *inputs, uint inputSize, uint64_t result) {
~Table();
Array<Set *> domains;
Set *range;
- HashSetTableEntry *entries;
+ HashsetTableEntry *entries;
CMEMALLOC;
};
Vector<OrderNode *> finishNodes;
DFS(graph, &finishNodes);
resetNodeInfoStatusSCC(graph);
- HashTableNodeToNodeSet *table = new HashTableNodeToNodeSet(128, 0.25);
+ HashtableNodeToNodeSet *table = new HashtableNodeToNodeSet(128, 0.25);
Vector<OrderNode *> sccNodes;
uint sccNum = 1;
for (int i = size - 1; i >= 0; i--) {
OrderNode *node = finishNodes.get(i);
- HashSetOrderNode *sources = new HashSetOrderNode(4, 0.25);
+ HashsetOrderNode *sources = new HashsetOrderNode(4, 0.25);
table->put(node, sources);
if (node->status == NOTVISITED) {
OrderNode *parent = edge->source;
if (edge->polPos) {
sources->add(parent);
- HashSetOrderNode *parent_srcs = (HashSetOrderNode *)table->get(parent);
+ HashsetOrderNode *parent_srcs = (HashsetOrderNode *)table->get(parent);
sources->addAll(parent_srcs);
}
}
for (uint j = 0; j < rSize; j++) {
//Copy in set of entire SCC
OrderNode *rnode = sccNodes.get(j);
- HashSetOrderNode *set = (j == 0) ? sources : sources->copy();
+ HashsetOrderNode *set = (j == 0) ? sources : sources->copy();
table->put(rnode, set);
//Use source sets to compute pseudoPos edges
void DFSClearContradictions(CSolver *solver, OrderGraph *graph, Vector<OrderNode *> *finishNodes, bool computeTransitiveClosure) {
uint size = finishNodes->getSize();
- HashTableNodeToNodeSet *table = new HashTableNodeToNodeSet(128, 0.25);
+ HashtableNodeToNodeSet *table = new HashtableNodeToNodeSet(128, 0.25);
for (int i = size - 1; i >= 0; i--) {
OrderNode *node = finishNodes->get(i);
- HashSetOrderNode *sources = new HashSetOrderNode(4, 0.25);
+ HashsetOrderNode *sources = new HashsetOrderNode(4, 0.25);
table->put(node, sources);
{
OrderNode *parent = edge->source;
if (edge->mustPos) {
sources->add(parent);
- HashSetOrderNode *parent_srcs = (HashSetOrderNode *) table->get(parent);
+ HashsetOrderNode *parent_srcs = (HashsetOrderNode *) table->get(parent);
sources->addAll(parent_srcs);
}
}
#include "order.h"
OrderGraph::OrderGraph(Order *_order) :
- nodes(new HashSetOrderNode()),
- edges(new HashSetOrderEdge()),
+ nodes(new HashsetOrderNode()),
+ edges(new HashsetOrderEdge()),
order(_order) {
}
CMEMALLOC;
private:
- HashSetOrderNode *nodes;
- HashSetOrderEdge *edges;
+ HashsetOrderNode *nodes;
+ HashsetOrderEdge *edges;
Order *order;
};
uint64_t id;
NodeStatus status;
uint sccNum;
- HashSetOrderEdge inEdges;
- HashSetOrderEdge outEdges;
+ HashsetOrderEdge inEdges;
+ HashsetOrderEdge outEdges;
CMEMALLOC;
};
#endif/* ORDERNODE_H */
#include "csolver.h"
#include "integerencodingrecord.h"
-HashTableOrderIntegerEncoding* IntegerEncodingTransform::orderIntegerEncoding = new HashTableOrderIntegerEncoding();
+HashtableOrderIntegerEncoding* IntegerEncodingTransform::orderIntegerEncoding = new HashtableOrderIntegerEncoding();
IntegerEncodingTransform::IntegerEncodingTransform(CSolver* _solver, Order* _order)
:Transform(_solver),
Order* order;
// In future we can use a singleton class instead of static variable for keeping data that needed
// for translating back result
- static HashTableOrderIntegerEncoding* orderIntegerEncoding;
+ static HashtableOrderIntegerEncoding* orderIntegerEncoding;
};
IntegerEncodingRecord::IntegerEncodingRecord(Set* _set):
set(_set)
{
- elementTable = new HashSetOrderElement();
+ elementTable = new HashsetOrderElement();
}
IntegerEncodingRecord::~IntegerEncodingRecord(){
CMEMALLOC;
private:
- HashSetOrderElement *elementTable;
+ HashsetOrderElement *elementTable;
};
#endif /* INTEGERENCODINGRECORD_H */
#include "inc_solver.h"
#include "constraint.h"
-typedef HashTable<Boolean *, Node *, uintptr_t, 4> BooleanToEdgeMap;
+typedef Hashtable<Boolean *, Node *, uintptr_t, 4> BooleanToEdgeMap;
class SATEncoder {
public:
Edge encodeTotalOrderSATEncoder(BooleanOrder *constraint);
Edge encodePartialOrderSATEncoder(BooleanOrder *constraint);
void createAllTotalOrderConstraintsSATEncoder(Order *order);
- Edge getOrderConstraint(HashTableOrderPair *table, OrderPair *pair);
+ Edge getOrderConstraint(HashtableOrderPair *table, OrderPair *pair);
Edge generateTransOrderConstraintSATEncoder(Edge constIJ, Edge constJK, Edge constIK);
Edge encodeEnumEntriesTablePredicateSATEncoder(BooleanPredicate *constraint);
Edge encodeEnumTablePredicateSATEncoder(BooleanPredicate *constraint);
};
void allocElementConstraintVariables(ElementEncoding *ee, uint numVars);
-Edge getOrderConstraint(HashTableOrderPair *table, OrderPair *pair);
+Edge getOrderConstraint(HashtableOrderPair *table, OrderPair *pair);
#endif
if (!edgeIsNull(gvalue))
return gvalue;
- HashTableOrderPair *table = order->orderPairTable;
+ HashtableOrderPair *table = order->orderPairTable;
bool negate = false;
OrderPair flipped;
if (pair->first < pair->second) {
Edge SATEncoder::encodeTotalOrderSATEncoder(BooleanOrder *boolOrder) {
ASSERT(boolOrder->order->type == SATC_TOTAL);
if (boolOrder->order->orderPairTable == NULL) {
- boolOrder->order->initializeOrderHashTable();
+ boolOrder->order->initializeOrderHashtable();
bool doOptOrderStructure = GETVARTUNABLE(solver->getTuner(), boolOrder->order->type, OPTIMIZEORDERSTRUCTURE, &onoff);
if (doOptOrderStructure) {
boolOrder->order->graph = buildMustOrderGraph(boolOrder->order);
}
}
-Edge getOrderConstraint(HashTableOrderPair *table, OrderPair *pair) {
+Edge getOrderConstraint(HashtableOrderPair *table, OrderPair *pair) {
ASSERT(pair->first != pair->second);
bool negate = false;
OrderPair flipped;
#include "cppvector.h"
#include "hashset.h"
-typedef HashSet<Boolean *, uintptr_t, 4> HashSetBoolean;
+typedef Hashset<Boolean *, uintptr_t, 4> HashsetBoolean;
typedef SetIterator<Boolean *, uintptr_t, 4> SetIteratorBoolean;
#endif
* version 2 as published by the Free Software Foundation.
*/
-#ifndef HASH_SET_H
-#define HASH_SET_H
+#ifndef HASHSET_H
+#define HASHSET_H
#include "hashtable.h"
template<typename _Key>
-struct LinkNode {
+struct Linknode {
_Key key;
- LinkNode<_Key> *prev;
- LinkNode<_Key> *next;
+ Linknode<_Key> *prev;
+ Linknode<_Key> *next;
};
template<typename _Key, typename _KeyInt, int _Shift, unsigned int (*hash_function)(_Key), bool (*equals)(_Key, _Key)>
-class HashSet;
+class Hashset;
-template<typename _Key, typename _KeyInt, int _Shift, unsigned int (*hash_function)(_Key) = default_hash_function<_Key, _Shift, _KeyInt>, bool (*equals)(_Key, _Key) = default_equals<_Key> >
+template<typename _Key, typename _KeyInt, int _Shift, unsigned int (*hash_function)(_Key) = defaultHashFunction<_Key, _Shift, _KeyInt>, bool (*equals)(_Key, _Key) = defaultEquals<_Key> >
class SetIterator {
public:
- SetIterator(LinkNode<_Key> *_curr, HashSet <_Key, _KeyInt, _Shift, hash_function, equals> *_set) :
+ SetIterator(Linknode<_Key> *_curr, Hashset <_Key, _KeyInt, _Shift, hash_function, equals> *_set) :
curr(_curr),
set(_set)
{
}
private:
- LinkNode<_Key> *curr;
- LinkNode<_Key> *last;
- HashSet <_Key, _KeyInt, _Shift, hash_function, equals> *set;
+ Linknode<_Key> *curr;
+ Linknode<_Key> *last;
+ Hashset <_Key, _KeyInt, _Shift, hash_function, equals> *set;
};
-template<typename _Key, typename _KeyInt, int _Shift = 0, unsigned int (*hash_function)(_Key) = default_hash_function<_Key, _Shift, _KeyInt>, bool (*equals)(_Key, _Key) = default_equals<_Key> >
-class HashSet {
+template<typename _Key, typename _KeyInt, int _Shift = 0, unsigned int (*hash_function)(_Key) = defaultHashFunction<_Key, _Shift, _KeyInt>, bool (*equals)(_Key, _Key) = defaultEquals<_Key> >
+class Hashset {
public:
- HashSet(unsigned int initialcapacity = 16, double factor = 0.5) :
- table(new HashTable<_Key, LinkNode<_Key> *, _KeyInt, _Shift, hash_function, equals>(initialcapacity, factor)),
+ Hashset(unsigned int initialcapacity = 16, double factor = 0.5) :
+ table(new Hashtable<_Key, Linknode<_Key> *, _KeyInt, _Shift, hash_function, equals>(initialcapacity, factor)),
list(NULL),
tail(NULL)
{
}
/** @brief Hashset destructor */
- ~HashSet() {
- LinkNode<_Key> *tmp = list;
+ ~Hashset() {
+ Linknode<_Key> *tmp = list;
while (tmp != NULL) {
- LinkNode<_Key> *tmpnext = tmp->next;
+ Linknode<_Key> *tmpnext = tmp->next;
ourfree(tmp);
tmp = tmpnext;
}
delete table;
}
- HashSet<_Key, _KeyInt, _Shift, hash_function, equals> *copy() {
- HashSet<_Key, _KeyInt, _Shift, hash_function, equals> *copy = new HashSet<_Key, _KeyInt, _Shift, hash_function, equals>(table->getCapacity(), table->getLoadFactor());
+ Hashset<_Key, _KeyInt, _Shift, hash_function, equals> *copy() {
+ Hashset<_Key, _KeyInt, _Shift, hash_function, equals> *copy = new Hashset<_Key, _KeyInt, _Shift, hash_function, equals>(table->getCapacity(), table->getLoadFactor());
SetIterator<_Key, _KeyInt, _Shift, hash_function, equals> *it = iterator();
while (it->hasNext())
copy->add(it->next());
}
void reset() {
- LinkNode<_Key> *tmp = list;
+ Linknode<_Key> *tmp = list;
while (tmp != NULL) {
- LinkNode<_Key> *tmpnext = tmp->next;
+ Linknode<_Key> *tmpnext = tmp->next;
ourfree(tmp);
tmp = tmpnext;
}
/** @brief Adds a new key to the hashset. Returns false if the key
* is already present. */
- void addAll(HashSet<_Key, _KeyInt, _Shift, hash_function, equals> *table) {
+ void addAll(Hashset<_Key, _KeyInt, _Shift, hash_function, equals> *table) {
SetIterator<_Key, _KeyInt, _Shift, hash_function, equals> *it = iterator();
while (it->hasNext())
add(it->next());
* is already present. */
bool add(_Key key) {
- LinkNode<_Key> *val = table->get(key);
+ Linknode<_Key> *val = table->get(key);
if (val == NULL) {
- LinkNode<_Key> *newnode = (LinkNode<_Key> *)ourmalloc(sizeof(struct LinkNode<_Key>));
+ Linknode<_Key> *newnode = (Linknode<_Key> *)ourmalloc(sizeof(struct Linknode<_Key>));
newnode->prev = tail;
newnode->next = NULL;
newnode->key = key;
return NULL;
else if (getSize() < 6) {
uint count = random() % getSize();
- LinkNode<_Key> *ptr=list;
+ Linknode<_Key> *ptr=list;
while(count > 0) {
ptr = ptr->next;
count--;
* hashset. Returns NULL if not present. */
_Key get(_Key key) {
- LinkNode<_Key> *val = table->get(key);
+ Linknode<_Key> *val = table->get(key);
if (val != NULL)
return val->key;
else
}
bool remove(_Key key) {
- LinkNode<_Key> *oldlinknode;
+ Linknode<_Key> *oldlinknode;
oldlinknode = table->get(key);
if (oldlinknode == NULL) {
return false;
ourfree(p);
}
private:
- HashTable<_Key, LinkNode<_Key> *, _KeyInt, _Shift, hash_function, equals> *table;
- LinkNode<_Key> *list;
- LinkNode<_Key> *tail;
+ Hashtable<_Key, Linknode<_Key> *, _KeyInt, _Shift, hash_function, equals> *table;
+ Linknode<_Key> *list;
+ Linknode<_Key> *tail;
};
#endif
* @brief Hashtable. Standard chained bucket variety.
*/
-#ifndef __HASHTABLE_H__
-#define __HASHTABLE_H__
+#ifndef HASHTABLE_H__
+#define HASHTABLE_H__
#include <stdlib.h>
#include <stdio.h>
#include "common.h"
/**
- * @brief HashTable node
+ * @brief Hashtable node
*
* @tparam _Key Type name for the key
* @tparam _Val Type name for the values to be stored
*/
template<typename _Key, typename _Val>
-struct hashlistnode {
+struct Hashlistnode {
_Key key;
_Val val;
};
template<typename _Key, int _Shift, typename _KeyInt>
-inline unsigned int default_hash_function(_Key hash) {
+inline unsigned int defaultHashFunction(_Key hash) {
return (unsigned int)(((_KeyInt)hash) >> _Shift);
}
template<typename _Key>
-inline bool default_equals(_Key key1, _Key key2) {
+inline bool defaultEquals(_Key key1, _Key key2) {
return key1 == key2;
}
* manipulation and storage.
* @tparam _Shift Logical shift to apply to all keys. Default 0.
*/
-template<typename _Key, typename _Val, typename _KeyInt, int _Shift = 0, unsigned int (*hash_function)(_Key) = default_hash_function<_Key, _Shift, _KeyInt>, bool (*equals)(_Key, _Key) = default_equals<_Key> >
-class HashTable {
+template<typename _Key, typename _Val, typename _KeyInt, int _Shift = 0, unsigned int (*hash_function)(_Key) = defaultHashFunction<_Key, _Shift, _KeyInt>, bool (*equals)(_Key, _Key) = defaultEquals<_Key> >
+class Hashtable {
public:
/**
* @brief Hash table constructor
* @param factor Sets the percentage full before the hashtable is
* resized. Default ratio 0.5.
*/
- HashTable(unsigned int initialcapacity = 1024, double factor = 0.5) {
+ Hashtable(unsigned int initialcapacity = 1024, double factor = 0.5) {
// Allocate space for the hash table
- table = (struct hashlistnode<_Key, _Val> *)ourcalloc(initialcapacity, sizeof(struct hashlistnode<_Key, _Val>));
+ table = (struct Hashlistnode<_Key, _Val> *)ourcalloc(initialcapacity, sizeof(struct Hashlistnode<_Key, _Val>));
zero = NULL;
loadfactor = factor;
capacity = initialcapacity;
}
/** @brief Hash table destructor */
- ~HashTable() {
+ ~Hashtable() {
ourfree(table);
if (zero)
ourfree(zero);
/** @brief Reset the table to its initial state. */
void reset() {
- memset(table, 0, capacity * sizeof(struct hashlistnode<_Key, _Val>));
+ memset(table, 0, capacity * sizeof(struct Hashlistnode<_Key, _Val>));
if (zero) {
ourfree(zero);
zero = NULL;
_Val getRandomValue() {
while(true) {
unsigned int index=random() & capacitymask;
- struct hashlistnode<_Key, _Val> *bin = &table[index];
+ struct Hashlistnode<_Key, _Val> *bin = &table[index];
if (bin->key != NULL && bin->val != NULL) {
return bin->val;
}
void resetanddelete() {
for (unsigned int i = 0; i < capacity; i++) {
- struct hashlistnode<_Key, _Val> *bin = &table[i];
+ struct Hashlistnode<_Key, _Val> *bin = &table[i];
if (bin->key != NULL) {
bin->key = NULL;
if (bin->val != NULL) {
void resetandfree() {
for (unsigned int i = 0; i < capacity; i++) {
- struct hashlistnode<_Key, _Val> *bin = &table[i];
+ struct Hashlistnode<_Key, _Val> *bin = &table[i];
if (bin->key != NULL) {
bin->key = NULL;
if (bin->val != NULL) {
* @param val The value to store in the table
*/
void put(_Key key, _Val val) {
- /* HashTable cannot handle 0 as a key */
+ /* Hashtable cannot handle 0 as a key */
if (!key) {
if (!zero) {
- zero = (struct hashlistnode<_Key, _Val> *)ourmalloc(sizeof(struct hashlistnode<_Key, _Val>));
+ zero = (struct Hashlistnode<_Key, _Val> *)ourmalloc(sizeof(struct Hashlistnode<_Key, _Val>));
size++;
}
zero->key = key;
if (size > threshold)
resize(capacity << 1);
- struct hashlistnode<_Key, _Val> *search;
+ struct Hashlistnode<_Key, _Val> *search;
unsigned int index = hash_function(key);
do {
* @return The value in the table, if the key is found; otherwise 0
*/
_Val get(_Key key) const {
- struct hashlistnode<_Key, _Val> *search;
+ struct Hashlistnode<_Key, _Val> *search;
- /* HashTable cannot handle 0 as a key */
+ /* Hashtable cannot handle 0 as a key */
if (!key) {
if (zero)
return zero->val;
* @return The value in the table, if the key is found; otherwise 0
*/
_Val remove(_Key key) {
- struct hashlistnode<_Key, _Val> *search;
+ struct Hashlistnode<_Key, _Val> *search;
- /* HashTable cannot handle 0 as a key */
+ /* Hashtable cannot handle 0 as a key */
if (!key) {
if (!zero) {
return (_Val)0;
* @return True, if the key is found; false otherwise
*/
bool contains(_Key key) const {
- struct hashlistnode<_Key, _Val> *search;
+ struct Hashlistnode<_Key, _Val> *search;
- /* HashTable cannot handle 0 as a key */
+ /* Hashtable cannot handle 0 as a key */
if (!key) {
return zero != NULL;
}
* @param newsize The new size of the table
*/
void resize(unsigned int newsize) {
- struct hashlistnode<_Key, _Val> *oldtable = table;
- struct hashlistnode<_Key, _Val> *newtable;
+ struct Hashlistnode<_Key, _Val> *oldtable = table;
+ struct Hashlistnode<_Key, _Val> *newtable;
unsigned int oldcapacity = capacity;
- if ((newtable = (struct hashlistnode<_Key, _Val> *)ourcalloc(newsize, sizeof(struct hashlistnode<_Key, _Val>))) == NULL) {
+ if ((newtable = (struct Hashlistnode<_Key, _Val> *)ourcalloc(newsize, sizeof(struct Hashlistnode<_Key, _Val>))) == NULL) {
model_print("calloc error %s %d\n", __FILE__, __LINE__);
exit(EXIT_FAILURE);
}
threshold = (unsigned int)(newsize * loadfactor);
- struct hashlistnode<_Key, _Val> *bin = &oldtable[0];
- struct hashlistnode<_Key, _Val> *lastbin = &oldtable[oldcapacity];
+ struct Hashlistnode<_Key, _Val> *bin = &oldtable[0];
+ struct Hashlistnode<_Key, _Val> *lastbin = &oldtable[oldcapacity];
for (; bin < lastbin; bin++) {
_Key key = bin->key;
- struct hashlistnode<_Key, _Val> *search;
+ struct Hashlistnode<_Key, _Val> *search;
if (!key)
continue;
}
double getLoadFactor() {return loadfactor;}
unsigned int getCapacity() {return capacity;}
- struct hashlistnode<_Key, _Val> *table;
- struct hashlistnode<_Key, _Val> *zero;
+ struct Hashlistnode<_Key, _Val> *table;
+ struct Hashlistnode<_Key, _Val> *zero;
unsigned int capacity;
unsigned int size;
private:
-typedef HashSet<TableEntry *, uintptr_t, 4, table_entry_hash_function, table_entry_equals> HashSetTableEntry;
-typedef HashSet<OrderNode *, uintptr_t, 4, order_node_hash_function, order_node_equals> HashSetOrderNode;
-typedef HashSet<OrderEdge *, uintptr_t, 4, order_edge_hash_function, order_edge_equals> HashSetOrderEdge;
-typedef HashSet<OrderElement *, uintptr_t, 4, order_element_hash_function, order_element_equals> HashSetOrderElement;
-typedef HashTable<OrderNode *, HashSetOrderNode *, uintptr_t, 4> HashTableNodeToNodeSet;
-typedef HashTable<OrderPair *, OrderPair *, uintptr_t, 4, order_pair_hash_function, order_pair_equals> HashTableOrderPair;
-typedef HashTable<void *, void *, uintptr_t, 4> CloneMap;
-typedef HashTable<Order* , IntegerEncodingRecord*, uintptr_t, 4> HashTableOrderIntegerEncoding;
+typedef Hashset<TableEntry *, uintptr_t, 4, table_entry_hash_function, table_entry_equals> HashsetTableEntry;
+typedef Hashset<OrderNode *, uintptr_t, 4, order_node_hash_function, order_node_equals> HashsetOrderNode;
+typedef Hashset<OrderEdge *, uintptr_t, 4, order_edge_hash_function, order_edge_equals> HashsetOrderEdge;
+typedef Hashset<OrderElement *, uintptr_t, 4, order_element_hash_function, order_element_equals> HashsetOrderElement;
+typedef Hashtable<OrderNode *, HashsetOrderNode *, uintptr_t, 4> HashtableNodeToNodeSet;
+typedef Hashtable<OrderPair *, OrderPair *, uintptr_t, 4, order_pair_hash_function, order_pair_equals> HashtableOrderPair;
+typedef Hashtable<void *, void *, uintptr_t, 4> CloneMap;
+typedef Hashtable<Order* , IntegerEncodingRecord*, uintptr_t, 4> HashtableOrderIntegerEncoding;
typedef SetIterator<TableEntry *, uintptr_t, 4, table_entry_hash_function, table_entry_equals> SetIteratorTableEntry;
typedef SetIterator<OrderEdge *, uintptr_t, 4, order_edge_hash_function, order_edge_equals> SetIteratorOrderEdge;
unsigned int tunableSettingHash(TunableSetting *setting);
bool tunableSettingEquals(TunableSetting *setting1, TunableSetting *setting2);
-typedef HashSet<TunableSetting *, uintptr_t, 4, tunableSettingHash, tunableSettingEquals> HashSetTunableSetting;
+typedef Hashset<TunableSetting *, uintptr_t, 4, tunableSettingHash, tunableSettingEquals> HashsetTunableSetting;
typedef SetIterator<TunableSetting *, uintptr_t, 4, tunableSettingHash, tunableSettingEquals> SetIteratorTunableSetting;
class SearchTuner : public Tuner {
/** Used Settings keeps track of settings that were actually used by
the example. Mutating settings may cause the Constraint Compiler
not to query other settings.*/
- HashSetTunableSetting usedSettings;
+ HashsetTunableSetting usedSettings;
/** Settings contains all settings. */
- HashSetTunableSetting settings;
+ HashsetTunableSetting settings;
};
#endif
class Set;
class BooleanLogic;
typedef uint64_t VarType;
+typedef unsigned int uint;
#endif
struct IncrementalSolver;
typedef struct IncrementalSolver IncrementalSolver;
-
struct TableEntry;
typedef struct TableEntry TableEntry;
-
typedef int TunableParam;
-typedef unsigned int uint;
-typedef long int int64;
#endif
void handleORFalse(BooleanLogic *bexpr, Boolean *child);
/** This is a vector of constraints that must be satisfied. */
- HashSetBoolean constraints;
+ HashsetBoolean constraints;
/** This is a vector of all boolean structs that we have allocated. */
Vector<Boolean *> allBooleans;