#define MaxHashSize 32 typedef unsigned int HashVal; // extracts i'th bit from hash value #define bit(i,h) (((h) & (1 << (i))) >> (i)) // choice vector elems typedef struct { int attr, int bit } CVelem; typedef CVelem ChoiceVec[MaxHashSize]; // hash function for individual attributes HashVal hash1(Tuple t, int i) { ... }