func cCompressBound(srcSize int) int {
	return int(C.ZSTD_compressBound(C.size_t(srcSize)))
}
cCompressBound is a cgo call to check the go implementation above against the c code.
package zstd
import "C"
import (
	"bytes"
	"errors"
	"io/ioutil"
	"unsafe"
)
const (
	BestSpeed          = 1
	BestCompression    = 20
	DefaultCompression = 5
)
var (
	ErrEmptySlice = errors.New("Bytes slice is empty")
)
func CompressBound(srcSize int) int {
	lowLimit := 128 << 10  
	var margin int
	if srcSize < lowLimit {
		margin = (lowLimit - srcSize) >> 11
	}
	return srcSize + (srcSize >> 8) + margin
}