8 VectorDef(Int, uint64_t, 4);
9 VectorDef(Boolean, Boolean *, 4);
10 VectorDef(Constraint, Constraint *, 4);
11 VectorDef(Set, Set *, 4);
12 VectorDef(Element, Element *, 4);
13 VectorDef(TableEntry, TableEntry *, 4);
14 VectorDef(Predicate, Predicate *, 4);
15 VectorDef(Table, Table *, 4);
16 VectorDef(Order, Order *, 4);
17 VectorDef(Function, Function *, 4);
18 VectorDef(ASTNode, ASTNode *, 4);
19 VectorDef(FunctionEncoding, FunctionEncoding *, 4);
20 VectorDef(ElementEncoding, ElementEncoding *, 4);
22 inline unsigned int Ptr_hash_function(void * hash) {
23 return (unsigned int)((uint64_t)hash >> 4);
26 inline bool Ptr_equals(void * key1, void * key2) {
30 HashTableDef(Void, void *, void *, Ptr_hash_function, Ptr_equals);
31 HashTableDef(ElemToEncod, Element *, ElementEncoding *, Ptr_hash_function, Ptr_equals);
32 HashTableDef(VoidToFuncEncod, void *, FunctionEncoding *, Ptr_hash_function, Ptr_equals);
34 HashSetDef(Void, void *, Ptr_hash_function, Ptr_equals);