func (p *PermEncoding) pack(in [tagsPerPTable]uint8) uint16 {
	var in1, in2 uint16
	in1 = binary.LittleEndian.Uint16([]byte{in[0], in[1]}) & 0x0f0f
	in2 = binary.LittleEndian.Uint16([]byte{in[2], in[3]}) << 4
	return in1 | in2
}
/* pack four 4-bit numbers to one 2-byte number
package cuckoo
import (
	"encoding/binary"
)
type PermEncoding struct {
	nEnts    uint
	DecTable []uint16
	EncTable []uint16
}
func (p *PermEncoding) Init() {
	p.nEnts = 3876
	p.DecTable = make([]uint16, p.nEnts)
	p.EncTable = make([]uint16, 1<<16)
	dst := [tagsPerPTable]uint8{}
	var idx uint16
	p.genTables(0, 0, dst, &idx)
}
func (p *PermEncoding) unpack(in uint16, out *[tagsPerPTable]uint8) {
	out[0] = uint8(in & 0x000f)
	out[2] = uint8((in >> 4) & 0x000f)
	out[1] = uint8((in >> 8) & 0x000f)
	out[3] = uint8((in >> 12) & 0x000f)
}