Merge pull request #198 from dswarbrick/master

Use Go 1.9 math/bits funcs for counting leading / trailing zeros
This commit is contained in:
Fabian Reinartz 2017-11-08 23:31:49 +00:00 committed by GitHub
commit 1bacdf8e33
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 5 deletions

View File

@ -3,7 +3,7 @@ sudo: false
language: go language: go
go: go:
- 1.8.x - 1.9.x
go_import_path: github.com/prometheus/tsdb go_import_path: github.com/prometheus/tsdb

View File

@ -46,8 +46,7 @@ package chunks
import ( import (
"encoding/binary" "encoding/binary"
"math" "math"
"math/bits"
bits "github.com/dgryski/go-bits"
) )
// XORChunk holds XOR encoded sample data. // XORChunk holds XOR encoded sample data.
@ -197,8 +196,8 @@ func (a *xorAppender) writeVDelta(v float64) {
} }
a.b.writeBit(one) a.b.writeBit(one)
leading := uint8(bits.Clz(vDelta)) leading := uint8(bits.LeadingZeros64(vDelta))
trailing := uint8(bits.Ctz(vDelta)) trailing := uint8(bits.TrailingZeros64(vDelta))
// Clamp number of leading zeros to avoid overflow when encoding. // Clamp number of leading zeros to avoid overflow when encoding.
if leading >= 32 { if leading >= 32 {