Unified · Split
| @@ -5,26 +5,10 @@ · 4 unmodified lines | ||
| 5 | 5 | |
| 6 | 6 | #include "slpriv.h" |
| 7 | 7 | |
| 8 | −static sl_v | |
| 8 | +static inline sl_v | |
| 9 | 9 | ptrhash(sl_v a) |
| 10 | 10 | { |
| 11 | −#if defined(BITS64) | |
| 12 | − a = (~a) + (a << 21); // a = (a << 21) - a - 1; | |
| 13 | − a = a ^ (a >> 24); | |
| 14 | − a = (a + (a << 3)) + (a << 8); // a * 265 | |
| 15 | − a = a ^ (a >> 14); | |
| 16 | − a = (a + (a << 2)) + (a << 4); // a * 21 | |
| 17 | − a = a ^ (a >> 28); | |
| 18 | − a = a + (a << 31); | |
| 19 | −#else | |
| 20 | − a = (a+0x7ed55d16) + (a<<12); | |
| 21 | − a = (a^0xc761c23c) ^ (a>>19); | |
| 22 | − a = (a+0x165667b1) + (a<<5); | |
| 23 | − a = (a+0xd3a2646c) ^ (a<<9); | |
| 24 | − a = (a+0xfd7046c5) + (a<<3); | |
| 25 | − a = (a^0xb55a4f09) ^ (a>>16); | |
| 26 | −#endif | |
| 27 | − return a; | |
| 11 | + return (a >> 4) ^ (a >> 9); | |
| 28 | 12 | } |
| 29 | 13 | |
| 30 | 14 | #define HTNAME(suffix) ptrhash##suffix |