From Thomas Wang, https://gist.github.com/badboy/6267743
| 25 | #ifdef DT_POLYREF64 |
| 26 | // From Thomas Wang, https://gist.github.com/badboy/6267743 |
| 27 | inline unsigned int dtHashRef(dtPolyRef a) |
| 28 | { |
| 29 | a = (~a) + (a << 18); // a = (a << 18) - a - 1; |
| 30 | a = a ^ (a >> 31); |
| 31 | a = a * 21; // a = (a + (a << 2)) + (a << 4); |
| 32 | a = a ^ (a >> 11); |
| 33 | a = a + (a << 6); |
| 34 | a = a ^ (a >> 22); |
| 35 | return (unsigned int)a; |
| 36 | } |
| 37 | #else |
| 38 | inline unsigned int dtHashRef(dtPolyRef a) |
| 39 | { |