added dsmdebug file for debugging using macros and setting flags in buildscript
[IRC.git] / Robust / src / Runtime / DSTM / interface / clookup.h
index b71abfd5f443c1275be6290beed8dbd0a751fc46..475a66f00fc473b2965d810fbfbfa96fce44da59 100644 (file)
@@ -4,8 +4,8 @@
 #include <stdlib.h>
 #include <stdio.h>
 
-#define LOADFACTOR 0.75
-#define HASH_SIZE 100
+#define CLOADFACTOR 0.25
+#define CHASH_SIZE 1024
 
 typedef struct chashlistnode {
        unsigned int key;
@@ -14,15 +14,16 @@ typedef struct chashlistnode {
 } chashlistnode_t;
 
 typedef struct chashtable {
-       chashlistnode_t *table; // points to beginning of hash table
-       unsigned int size;
-       unsigned int numelements;
-       float loadfactor;
+  chashlistnode_t *table;      // points to beginning of hash table
+  unsigned int size;
+  unsigned int mask;
+  unsigned int numelements;
+  float loadfactor;
 } chashtable_t;
 
 /* Prototypes for hash*/
 chashtable_t *chashCreate(unsigned int size, float loadfactor);
-unsigned int chashFunction(chashtable_t *table, unsigned int key);
+static unsigned int chashFunction(chashtable_t *table, unsigned int key);
 unsigned int chashInsert(chashtable_t *table, unsigned int key, void *val);
 void *chashSearch(chashtable_t *table, unsigned int key); //returns val, NULL if not found
 unsigned int chashRemove(chashtable_t *table, unsigned int key); //returns -1 if not found