diff options
author | 2024-08-19 10:13:46 +0000 | |
---|---|---|
committer | 2024-08-19 10:13:46 +0000 | |
commit | 6ff8376d96f094daacf62decf2ee7ff602c2d531 (patch) | |
tree | 0b0ad45951ef1aae841384fd550e01b44f4cba76 /vendor/github.com/klauspost/compress/zstd/matchlen_generic.go | |
parent | [bugfix] permit unspecified orientation data (#3205) (diff) | |
download | gotosocial-6ff8376d96f094daacf62decf2ee7ff602c2d531.tar.xz |
[chore]: Bump github.com/prometheus/client_golang from 1.19.1 to 1.20.0 (#3210)
Diffstat (limited to 'vendor/github.com/klauspost/compress/zstd/matchlen_generic.go')
-rw-r--r-- | vendor/github.com/klauspost/compress/zstd/matchlen_generic.go | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/vendor/github.com/klauspost/compress/zstd/matchlen_generic.go b/vendor/github.com/klauspost/compress/zstd/matchlen_generic.go new file mode 100644 index 000000000..57b9c31c0 --- /dev/null +++ b/vendor/github.com/klauspost/compress/zstd/matchlen_generic.go @@ -0,0 +1,33 @@ +//go:build !amd64 || appengine || !gc || noasm +// +build !amd64 appengine !gc noasm + +// Copyright 2019+ Klaus Post. All rights reserved. +// License information can be found in the LICENSE file. + +package zstd + +import ( + "encoding/binary" + "math/bits" +) + +// matchLen returns the maximum common prefix length of a and b. +// a must be the shortest of the two. +func matchLen(a, b []byte) (n int) { + for ; len(a) >= 8 && len(b) >= 8; a, b = a[8:], b[8:] { + diff := binary.LittleEndian.Uint64(a) ^ binary.LittleEndian.Uint64(b) + if diff != 0 { + return n + bits.TrailingZeros64(diff)>>3 + } + n += 8 + } + + for i := range a { + if a[i] != b[i] { + break + } + n++ + } + return n + +} |