mirror of
https://github.com/ceph/ceph-csi.git
synced 2024-11-30 02:00:19 +00:00
b044363a31
Bumps the github-dependencies group with 4 updates in the / directory: [github.com/aws/aws-sdk-go-v2/service/sts](https://github.com/aws/aws-sdk-go-v2), [github.com/kubernetes-csi/csi-lib-utils](https://github.com/kubernetes-csi/csi-lib-utils), [github.com/onsi/ginkgo/v2](https://github.com/onsi/ginkgo) and [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang). Updates `github.com/aws/aws-sdk-go-v2/service/sts` from 1.30.3 to 1.30.4 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.30.3...v1.30.4) Updates `github.com/kubernetes-csi/csi-lib-utils` from 0.18.1 to 0.19.0 - [Release notes](https://github.com/kubernetes-csi/csi-lib-utils/releases) - [Commits](https://github.com/kubernetes-csi/csi-lib-utils/compare/v0.18.1...v0.19.0) Updates `github.com/onsi/ginkgo/v2` from 2.19.1 to 2.20.0 - [Release notes](https://github.com/onsi/ginkgo/releases) - [Changelog](https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md) - [Commits](https://github.com/onsi/ginkgo/compare/v2.19.1...v2.20.0) Updates `github.com/prometheus/client_golang` from 1.19.1 to 1.20.1 - [Release notes](https://github.com/prometheus/client_golang/releases) - [Changelog](https://github.com/prometheus/client_golang/blob/v1.20.1/CHANGELOG.md) - [Commits](https://github.com/prometheus/client_golang/compare/v1.19.1...v1.20.1) --- updated-dependencies: - dependency-name: github.com/aws/aws-sdk-go-v2/service/sts dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-dependencies - dependency-name: github.com/kubernetes-csi/csi-lib-utils dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-dependencies - dependency-name: github.com/onsi/ginkgo/v2 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-dependencies - dependency-name: github.com/prometheus/client_golang dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-dependencies ... Signed-off-by: dependabot[bot] <support@github.com>
36 lines
1.1 KiB
Go
36 lines
1.1 KiB
Go
// Copyright 2019+ Klaus Post. All rights reserved.
|
|
// License information can be found in the LICENSE file.
|
|
// Based on work by Yann Collet, released under BSD License.
|
|
|
|
package zstd
|
|
|
|
const (
|
|
prime3bytes = 506832829
|
|
prime4bytes = 2654435761
|
|
prime5bytes = 889523592379
|
|
prime6bytes = 227718039650203
|
|
prime7bytes = 58295818150454627
|
|
prime8bytes = 0xcf1bbcdcb7a56463
|
|
)
|
|
|
|
// hashLen returns a hash of the lowest mls bytes of with length output bits.
|
|
// mls must be >=3 and <=8. Any other value will return hash for 4 bytes.
|
|
// length should always be < 32.
|
|
// Preferably length and mls should be a constant for inlining.
|
|
func hashLen(u uint64, length, mls uint8) uint32 {
|
|
switch mls {
|
|
case 3:
|
|
return (uint32(u<<8) * prime3bytes) >> (32 - length)
|
|
case 5:
|
|
return uint32(((u << (64 - 40)) * prime5bytes) >> (64 - length))
|
|
case 6:
|
|
return uint32(((u << (64 - 48)) * prime6bytes) >> (64 - length))
|
|
case 7:
|
|
return uint32(((u << (64 - 56)) * prime7bytes) >> (64 - length))
|
|
case 8:
|
|
return uint32((u * prime8bytes) >> (64 - length))
|
|
default:
|
|
return (uint32(u) * prime4bytes) >> (32 - length)
|
|
}
|
|
}
|