func Pearson16(x []byte) uint16 {
	var h1 uint8
	var h2 uint8
	for i := range x {
		if i == 0 {
			h1 = pearsonTable[x[0]]
			h2 = pearsonTable[(x[0]+1)%255]
		} else {
			h1 = pearsonTable[h1^x[i]]
			h2 = pearsonTable[h2^x[i]]
		}
	}
	return (uint16(h1) << 8) | uint16(h2)
}
Pearson16 implements a 16 bit version of the Pearson hash
package hash
var pearsonTable = []uint8{81, 3, 174, 126, 85, 29, 162, 236, 212, 175, 185,
	194, 172, 25, 133, 234, 60, 73, 100, 50, 237, 117, 254, 41, 74, 178, 70, 62,
	31, 177, 57, 180, 121, 181, 35, 69, 155, 233, 28, 26, 221, 55, 158, 218, 79,
	90, 199, 251, 54, 250, 65, 97, 10, 34, 231, 163, 211, 77, 192, 213, 215, 113,
	219, 255, 6, 84, 249, 7, 152, 98, 47, 123, 107, 122, 116, 102, 186, 235, 112,
	66, 248, 141, 101, 166, 203, 190, 96, 46, 53, 151, 111, 179, 89, 13, 68, 114,
	196, 243, 137, 83, 244, 61, 207, 143, 33, 217, 127, 238, 22, 135, 153, 165,
	30, 18, 145, 58, 169, 140, 43, 19, 204, 198, 232, 214, 51, 220, 23, 108, 104,
	103, 202, 64, 247, 223, 245, 193, 21, 59, 15, 222, 170, 148, 82, 242, 130,
	171, 246, 176, 88, 206, 132, 94, 229, 4, 11, 48, 91, 139, 1, 197, 157, 129,
	230, 241, 184, 0, 161, 154, 119, 95, 17, 76, 208, 110, 9, 67, 32, 124, 200,
	187, 164, 56, 227, 12, 226, 160, 253, 210, 173, 239, 52, 20, 224, 92, 42, 44,
	2, 150, 99, 183, 120, 228, 115, 138, 146, 125, 182, 71, 118, 14, 205, 216,
	86, 168, 209, 147, 87, 36, 191, 39, 63, 72, 156, 189, 240, 38, 149, 75, 109,
	144, 105, 78, 106, 93, 49, 195, 134, 45, 131, 188, 225, 80, 27, 8, 201, 5,
	167, 16, 24, 159, 136, 252, 142, 37, 40, 128}
func Pearson(x []byte) uint8 {
	var h uint8
	for i := range x {
		h = pearsonTable[h^x[i]]
	}
	return h
}