Source File
hash.go
Belonging Package
github.com/klauspost/compress/zstd
// 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 zstdconst (prime3bytes = 506832829prime4bytes = 2654435761prime5bytes = 889523592379prime6bytes = 227718039650203prime7bytes = 58295818150454627prime8bytes = 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( uint64, , uint8) uint32 {switch {case 3:return (uint32(<<8) * prime3bytes) >> (32 - )case 5:return uint32((( << (64 - 40)) * prime5bytes) >> (64 - ))case 6:return uint32((( << (64 - 48)) * prime6bytes) >> (64 - ))case 7:return uint32((( << (64 - 56)) * prime7bytes) >> (64 - ))case 8:return uint32(( * prime8bytes) >> (64 - ))default:return (uint32() * prime4bytes) >> (32 - )}}
![]() |
The pages are generated with Golds v0.8.2. (GOOS=linux GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds. |