Here you can find the source of hashInt(final int v)
public static int hashInt(final int v)
//package com.java2s; /*/*w ww . j a va 2 s . c o m*/ * Copyright (c) 2016 SnappyData, Inc. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); you * may not use this file except in compliance with the License. You * may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or * implied. See the License for the specific language governing * permissions and limitations under the License. See accompanying * LICENSE file. */ public class Main { /** 2<sup>32</sup> · φ, φ = (√5 − 1)/2. */ private static final int INT_PHI = 0x9E3779B9; /** Quickly mixes the bits of an integer. * * <p>This method mixes the bits of the argument by multiplying by the * golden ratio and XORshifting the result. It is borrowed from * <a href="https://github.com/OpenHFT/Koloboke">Koloboke</a>, and * it has slightly worse behaviour than MurmurHash3 (in open-addressed * hash tables the average number of probes is slightly larger), * but it's much faster. */ public static int hashInt(final int v) { final int h = v * INT_PHI; return h ^ (h >>> 16); } }