github.com/parquet-go/parquet-go@v0.21.1-0.20240501160520-b3c3a0c3ed6f/bloom/block.go (about) 1 package bloom 2 3 import "unsafe" 4 5 // Word represents 32 bits words of bloom filter blocks. 6 type Word uint32 7 8 // Block represents bloom filter blocks which contain eight 32 bits words. 9 type Block [8]Word 10 11 // Bytes returns b as a byte slice. 12 func (b *Block) Bytes() []byte { 13 return unsafe.Slice((*byte)(unsafe.Pointer(b)), BlockSize) 14 } 15 16 const ( 17 // BlockSize is the size of bloom filter blocks in bytes. 18 BlockSize = 32 19 20 salt0 = 0x47b6137b 21 salt1 = 0x44974d91 22 salt2 = 0x8824ad5b 23 salt3 = 0xa2b7289d 24 salt4 = 0x705495c7 25 salt5 = 0x2df1424b 26 salt6 = 0x9efc4947 27 salt7 = 0x5c6bfb31 28 )