title: knuth multiplicative hash
body: <p>Is this a correct implementation of the Knuth multiplicative hash.</p>
  
  <pre><code>int hash(int v)
  {
      v *= 2654435761;
      return v &gt;&gt; 32;
  }
  </code></pre>
  
  <p>Does overflow in the multiplication affects the algorithm?</p>
  
  <p>How to improve the performance of this method?</p>