version 1.34, 2003/07/16 21:39:06 |
version 1.35, 2003/07/17 21:54:28 |
|
|
} |
} |
} |
} |
|
|
#define POW2 /* define only if HALFLONG is 2**n */ |
#define HASHMASK (16 - 1) /* for masking out 16 bytes */ |
#define HALFLONG 16 |
|
#define low(x) (x&((1L<<HALFLONG)-1)) |
|
#define high(x) (x>>HALFLONG) |
|
|
|
/* |
/* |
* hashing has the effect of |
* hashing has the effect of |
|
|
return (0); |
return (0); |
break; |
break; |
} |
} |
sum += (long)chrtran[t] << (shift |
sum += (long)chrtran[t] << (shift &= HASHMASK); |
#ifdef POW2 |
|
&= HALFLONG - 1); |
|
#else |
|
%= HALFLONG); |
|
#endif |
|
} |
} |
else |
else |
for (shift = 0; (t = getc(f)) != '\n'; shift += 7) { |
for (shift = 0; (t = getc(f)) != '\n'; shift += 7) { |
|
|
return (0); |
return (0); |
break; |
break; |
} |
} |
sum += (long)t << (shift |
sum += (long)t << (shift &= HASHMASK); |
#ifdef POW2 |
|
&= HALFLONG - 1); |
|
#else |
|
%= HALFLONG); |
|
#endif |
|
} |
} |
} else { |
} else { |
for (shift = 0;;) { |
for (shift = 0;;) { |
|
|
shift += 7; |
shift += 7; |
space = 0; |
space = 0; |
} |
} |
sum += (long)chrtran[t] << (shift |
sum += (long)chrtran[t] << (shift &= HASHMASK); |
#ifdef POW2 |
|
&= HALFLONG - 1); |
|
#else |
|
%= HALFLONG); |
|
#endif |
|
shift += 7; |
shift += 7; |
continue; |
continue; |
case EOF: |
case EOF: |
|
|
break; |
break; |
} |
} |
} |
} |
sum = low(sum) + high(sum); |
return (sum); |
return ((short) low(sum) + (short) high(sum)); |
|
} |
} |
|
|
int |
int |