Package com.carrotsearch.hppc
Class BitMixer
- java.lang.Object
-
- com.carrotsearch.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.
-
-
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(byte key, int seed)static intmix(char key)static intmix(char key, int seed)static intmix(double key)static intmix(double key, int seed)static intmix(float key)static intmix(float key, int seed)static intmix(int key)static intmix(int key, int seed)static intmix(long key)static intmix(long key, int seed)static intmix(short key)static intmix(short key, int seed)static intmix(Object key)static intmix(Object key, int seed)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(byte key, int seed)
-
mix
public static int mix(short key)
-
mix
public static int mix(short key, int seed)
-
mix
public static int mix(char key)
-
mix
public static int mix(char key, int seed)
-
mix
public static int mix(int key)
-
mix
public static int mix(int key, int seed)
-
mix
public static int mix(float key)
-
mix
public static int mix(float key, int seed)
-
mix
public static int mix(double key)
-
mix
public static int mix(double key, int seed)
-
mix
public static int mix(long key)
-
mix
public static int mix(long key, int seed)
-
mix
public static int mix(Object key)
-
mix
public static int mix(Object key, int seed)
-
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)
-
-