Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var EnableAVX512 = true
EnableAVX512 may slow down CPU Clock (maybe not). TODO need more research: https://lemire.me/blog/2018/04/19/by-how-much-does-avx-512-slow-down-your-cpu-a-first-experiment/
Functions ¶
func Bytes ¶ added in v0.2.1
Bytes XORs the bytes in a and b into a destination slice. The source and destination may overlap.
Bytes returns the number of bytes encoded, which will be the minimum of len(dst), len(a), len(b).
func Bytes8 ¶ added in v0.2.1
func Bytes8(dst, a, b []byte)
Bytes8 XORs of word (8 Bytes). The slice arguments a, b, dst's lengths are assumed to be at least 8, if not, Bytes8 will panic.
func Bytes16 ¶ added in v0.2.1
func Bytes16(dst, a, b []byte)
Bytes16 XORs of packed doubleword (16 Bytes). The slice arguments a, b, dst's lengths are assumed to be at least 16, if not, Bytes16 will panic.
func BytesU ¶ added in v0.2.1
BytesU XORs the bytes in a and b into a destination slice. The source and destination may overlap.
BytesU returns the number of bytes encoded, which will be the minimum of len(dst), len(a), len(b).
It's used for encoding small bytes slices (< dozens bytes), and the slices may not be aligned to 8 bytes or 16 bytes. If the length is big, use 'func Bytes(dst, a, b []byte)' instead.
Types ¶
This section is empty.