aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/github.com/segmentio/asm/bswap/swap64.go
blob: 71be8818960b8cd412d2d160c196f493b6f42aa2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package bswap

import _ "github.com/segmentio/asm/cpu"

// Swap64 performs an in-place byte swap on each 64 bits elements in b.
//
// This function is useful when dealing with big-endian input; by converting it
// to little-endian, the data can then be compared using native CPU instructions
// instead of having to employ often slower byte comparison algorithms.
func Swap64(b []byte) {
	if len(b)%8 != 0 {
		panic("swap64 expects the input to contain full 64 bits elements")
	}
	swap64(b)
}