Package org.apache.lucene.internal.hppc
Class BitMixer
- java.lang.Object
-
- org.apache.lucene.internal.hppc.BitMixer
-
public final class BitMixer extends Object
Bit mixing utilities. The purpose of these methods is to evenly distribute key space over int32 range.Forked from com.carrotsearch.hppc.BitMixer
github: https://github.com/carrotsearch/hppc release: 0.10.0
- NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.
-
-
Constructor Summary
Constructors Constructor Description BitMixer()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static intmix(byte key)static intmix(char key)static intmix(double key)static intmix(float key)static intmix(int key)static intmix(long key)static intmix(short key)static intmix(Object key)static intmix32(int k)MH3's plain finalization step.static longmix64(long z)Computes David Stafford variant 9 of 64bit mix function (MH3 finalization step, with different shifts and constants).static intmixPhi(byte k)static intmixPhi(char k)static intmixPhi(double k)static intmixPhi(float k)static intmixPhi(int k)static intmixPhi(long k)static intmixPhi(short k)static intmixPhi(Object k)
-
-
-
Method Detail
-
mix
public static int mix(byte key)
-
mix
public static int mix(short key)
-
mix
public static int mix(char key)
-
mix
public static int mix(int key)
-
mix
public static int mix(float key)
-
mix
public static int mix(double key)
-
mix
public static int mix(long key)
-
mix
public static int mix(Object key)
-
mix32
public static int mix32(int k)
MH3's plain finalization step.
-
mix64
public static long mix64(long z)
Computes David Stafford variant 9 of 64bit mix function (MH3 finalization step, with different shifts and constants).Variant 9 is picked because it contains two 32-bit shifts which could be possibly optimized into better machine code.
- See Also:
- "http://zimbry.blogspot.com/2011/09/better-bit-mixing-improving-on.html"
-
mixPhi
public static int mixPhi(byte k)
-
mixPhi
public static int mixPhi(char k)
-
mixPhi
public static int mixPhi(short k)
-
mixPhi
public static int mixPhi(int k)
-
mixPhi
public static int mixPhi(float k)
-
mixPhi
public static int mixPhi(double k)
-
mixPhi
public static int mixPhi(long k)
-
mixPhi
public static int mixPhi(Object k)
-
-