// Path: src/main/java/io/mycat/jcache/hash/Hash.java
// public interface Hash {
//     long hash(final String key , long ... length);
// }


import io.mycat.jcache.hash.Hash;

package io.mycat.jcache.hash.impl.algorithm;


public interface Murmur3_hash extends Hash {

	static final int DEFAULT_SEED = 0;

	default long fmix64(long h) {
		h ^= (h >>> 33);
		h *= 0xff51afd7ed558ccdL;
		h ^= (h >>> 33);

// Path: src/main/java/io/mycat/jcache/hash/Hash.java
// public interface Hash {
//     long hash(final String key , long ... length);
// }


// Path: src/main/java/io/mycat/jcache/hash/impl/algorithm/Murmur3_hash.java
import io.mycat.jcache.hash.Hash;

package io.mycat.jcache.hash.impl.algorithm;


public interface Murmur3_hash extends Hash {

	static final int DEFAULT_SEED = 0;

	default long fmix64(long h) {
		h ^= (h >>> 33);
		h *= 0xff51afd7ed558ccdL;
		h ^= (h >>> 33);

		h *= 0xc4ceb9fe1a85ec53L;
