IFNDEF UTILS__ML__ THEN DEFINE UTILS__ML__ IFDEF WORDSIZE64 THEN INCLUDE "utils64.ml" ELSE INCLUDE "utils32.ml" END DEFINE HASHINT2 (x,y) = (((x)+HPARAM*(y)) land 0x3fffffff) DEFINE HASHINT3 (x,y,z) = (((x) + (y) * HPARAM + (z) * HPARAM2) land 0x3fffffff) DEFINE HASHINT4 (x,y,z,t) = (((x) + (y) * HPARAM + (z)*HPARAM2 + (t)* HPARAM3) land 0x3fffffff) DEFINE HASHINT5 (x,y,z,t,u) = (((x) + (y) * HPARAM + (z)*HPARAM2 + (t)* HPARAM3 + (u)*HPARAM4) land 0x3fffffff) (* Magic Constants used for hashing *) DEFINE PRIME1 = 7 DEFINE PRIME2 = 19 DEFINE PRIME3 = 83 DEFINE PRIME4 = 223 DEFINE PRIME5 = 491 DEFINE PRIME6 = 733 DEFINE PRIME7 = 1009 DEFINE PRIME8 = 4093 DEFINE PRIME9 = 65599 DEFINE SMALL_H_SIZE = PRIME2 DEFINE MED_H_SIZE = PRIME5 DEFINE BIG_H_SIZE = PRIME8 DEFINE SMALL_A_SIZE = 128 DEFINE MED_A_SIZE = 2048 DEFINE BIG_A_SIZE = 8192 END (* IFNDEF UTILS__ML__ *)