20 int i, a, collision=0;
21 for (i=0; i<
SIZE; i++) {
23 a = (a+0x7ed55d16) + (a<<12);
24 a = (a^0xc761c23c) ^ (a>>19);
25 a = (a+0x165667b1) + (a<<5);
26 a = (a+0xd3a2646c) ^ (a<<9);
27 a = (a+0xfd7046c5) + (a<<3);
28 a = (a^0xb55a4f09) ^ (a>>16);
31 int temp = result[hash]++;
32 collision = (temp!=0) ? collision+1 : collision;
40 int i, a, collision=0;
41 for (i=0; i<
SIZE; i++) {
52 int temp = result[hash]++;
53 collision = (temp!=0) ? collision+1 : collision;
60 int i, a, collision=0;
61 for (i=0; i<
SIZE; i++) {
63 a = (a ^ 61) ^ (a >> 16);
70 int temp = result[hash]++;
71 collision = (temp!=0) ? collision+1 : collision;
79 int i, a, collision=0;
80 for (i=0; i<
SIZE; i++) {
82 a = (a+0x479ab41d) + (a<<8);
83 a = (a^0xe4aa10ce) ^ (a>>5);
84 a = (a+0x9942f0a6) - (a<<14);
85 a = (a^0x5aedd67d) ^ (a>>3);
86 a = (a+0x17bea992) + (a<<7);
89 int temp = result[hash]++;
90 collision = (temp!=0) ? collision+1 : collision;
96 int main(
int argc,
char ** argv) {
98 int collisions[4] = {0};
100 #pragma omp parallel for 101 for (i = 0; i < 4; i++)
102 collisions[i] = hash[i]();
104 count += (collisions[0] == 178);
105 count += (collisions[1] == 182);
106 count += (collisions[2] == 196);
107 count += (collisions[3] == 179);
108 printf(
"result = %d\n", count);
int main(int argc, char **argv)