Top Description Fields Constructors Methods
org.lwjgl.util.meow

public Class Meow

extends Object
Class Inheritance
Imports
java.nio.*, org.lwjgl.*, org.lwjgl.system.*

Native bindings to Meow hash, an extremely fast non-cryptographic hash.

Q: What is it?
A: Meow is a 128-bit non-cryptographic hash that operates at high speeds on x64 and ARM processors that provide AES instructions. It is designed to be truncatable to 256, 128, 64, and 32-bit hash values and still retain good collision resistance.

Q: What is it GOOD for?
A: Quickly hashing any amount of data for comparison purposes such as block deduplication or change detection. It is extremely fast on all buffer sizes, from one byte to one gigabyte and up.

Q: What is it BAD for?
A: Anything security-related. It should be assumed that it provides no protection from adversaries whatsoever. It is also not particularly fast on processors that don't support AES instructions (eg., non-x64/ARM processors).

Q: Why is it called the "Meow hash"?
A: It is named after a character in Meow the Infinite.

Field Summary

Modifier and TypeField and Description
public static final int
public static final String

Constructor Summary

AccessConstructor and Description
protected
Meow()

Method Summary

Modifier and TypeMethod and Description
public static MeowHash
MeowHash_Accelerated(long Seed, ByteBuffer SourceInit, MeowHash __result)

public static MeowHash
MeowHash_Accelerated(long Seed, ShortBuffer SourceInit, MeowHash __result)

public static MeowHash
MeowHash_Accelerated(long Seed, IntBuffer SourceInit, MeowHash __result)

public static MeowHash
MeowHash_Accelerated(long Seed, LongBuffer SourceInit, MeowHash __result)

public static MeowHash
MeowHash_Accelerated(long Seed, FloatBuffer SourceInit, MeowHash __result)

public static MeowHash
MeowHash_Accelerated(long Seed, DoubleBuffer SourceInit, MeowHash __result)

public static MeowHash
MeowHash_Accelerated(long Seed, PointerBuffer SourceInit, MeowHash __result)

public static void
public static void
public static MeowHash
MeowHashEnd(MeowHashState State, long Seed, MeowHash __result)

public static boolean
public static int
public static long
public static native void
nMeowHash_Accelerated(long Seed, long TotalLengthInBytes, long SourceInit, long __result)

public static native void
nMeowHashAbsorb(long State, long Len, long SourceInit)

public static native void
nMeowHashBegin(long State)

public static native void
nMeowHashEnd(long State, long Seed, long __result)

public static native int
nMeowHashesAreEqual(long A, long B)

public static native int
nMeowU32From(long Hash)

public static native long
nMeowU64From(long Hash)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

MEOW_HASH_VERSIONback to summary
public static final int MEOW_HASH_VERSION
MEOW_HASH_VERSION_NAMEback to summary
public static final String MEOW_HASH_VERSION_NAME

Constructor Detail

Meowback to summary
protected Meow()

Method Detail

MeowHash_Acceleratedback to summary
public static MeowHash MeowHash_Accelerated(long Seed, ByteBuffer SourceInit, MeowHash __result)
Annotations
@NativeType:meow_hash
MeowHash_Acceleratedback to summary
public static MeowHash MeowHash_Accelerated(long Seed, ShortBuffer SourceInit, MeowHash __result)
Annotations
@NativeType:meow_hash
MeowHash_Acceleratedback to summary
public static MeowHash MeowHash_Accelerated(long Seed, IntBuffer SourceInit, MeowHash __result)
Annotations
@NativeType:meow_hash
MeowHash_Acceleratedback to summary
public static MeowHash MeowHash_Accelerated(long Seed, LongBuffer SourceInit, MeowHash __result)
Annotations
@NativeType:meow_hash
MeowHash_Acceleratedback to summary
public static MeowHash MeowHash_Accelerated(long Seed, FloatBuffer SourceInit, MeowHash __result)
Annotations
@NativeType:meow_hash
MeowHash_Acceleratedback to summary
public static MeowHash MeowHash_Accelerated(long Seed, DoubleBuffer SourceInit, MeowHash __result)
Annotations
@NativeType:meow_hash
MeowHash_Acceleratedback to summary
public static MeowHash MeowHash_Accelerated(long Seed, PointerBuffer SourceInit, MeowHash __result)
Annotations
@NativeType:meow_hash
MeowHashAbsorbback to summary
public static void MeowHashAbsorb(MeowHashState State, ByteBuffer SourceInit)
MeowHashBeginback to summary
public static void MeowHashBegin(MeowHashState State)
MeowHashEndback to summary
public static MeowHash MeowHashEnd(MeowHashState State, long Seed, MeowHash __result)
Annotations
@NativeType:meow_hash
MeowHashesAreEqualback to summary
public static boolean MeowHashesAreEqual(MeowHash A, MeowHash B)
Annotations
@NativeType:int
MeowU32Fromback to summary
public static int MeowU32From(MeowHash Hash)
Annotations
@NativeType:meow_u32
MeowU64Fromback to summary
public static long MeowU64From(MeowHash Hash)
Annotations
@NativeType:meow_u64
nMeowHash_Acceleratedback to summary
public static native void nMeowHash_Accelerated(long Seed, long TotalLengthInBytes, long SourceInit, long __result)
nMeowHashAbsorbback to summary
public static native void nMeowHashAbsorb(long State, long Len, long SourceInit)
nMeowHashBeginback to summary
public static native void nMeowHashBegin(long State)
nMeowHashEndback to summary
public static native void nMeowHashEnd(long State, long Seed, long __result)
nMeowHashesAreEqualback to summary
public static native int nMeowHashesAreEqual(long A, long B)
nMeowU32Fromback to summary
public static native int nMeowU32From(long Hash)
nMeowU64Fromback to summary
public static native long nMeowU64From(long Hash)