func ui32tob(b []byte, key Key) {
	b[0], b[1], b[2], b[3] = byte(key), byte(key>>8), byte(key>>16), byte(key>>24)
}
inlined functions
the following 5 functions/methods can be inlined.
package cuckoo
import "hash"
type Key uint64
type Value uint64
func (c *Cuckoo) _calcHash(hf hash.Hash64, seed uint64, key Key) (h uint64) {
	switch c.NumericKeySize {
	case 4:
		c.buf.b = c.buf.base[0:4]
		c.buf.b[0], c.buf.b[1], c.buf.b[2], c.buf.b[3] = byte(key), byte(key>>8), byte(key>>16), byte(key>>24)
	case 8:
		c.buf.b = c.buf.base[0:8]
		c.buf.b[0], c.buf.b[1], c.buf.b[2], c.buf.b[3], c.buf.b[4], c.buf.b[5], c.buf.b[6], c.buf.b[7] =
			byte(key), byte(key>>8), byte(key>>16), byte(key>>24), byte(key>>32), byte(key>>40), byte(key>>48), byte(key>>56)
	default:
		c.buf.Reset()
		if err := c.encoder.Encode(&key); err != nil {
			panic("Insert: binary.Write")
		}
		c.buf.b = c.buf.base[0:c.buf.i]
	}
	if c.hfb != nil {
		h = c.hfb(c.buf.b, seed) % uint64(c.Nbuckets)
	} else {
		hf.Reset()
		hf.Write(c.buf.b)
		h1 := uint64(hf.Sum64())
		h = h1 % uint64(c.Nbuckets)
	}
	return
}