a41f938cec
As we have seen, dependencies version can prevent the build. We should user lock versions on dependencies that we know work: * Packages are vendored * Add Godep support * Added addtional install step in readme * Fix travis build error
41 lignes
587 o
Go
41 lignes
587 o
Go
package dht
|
|
|
|
import "math"
|
|
|
|
type int160 struct {
|
|
bits [20]uint8
|
|
}
|
|
|
|
func (me *int160) SetBytes(b []byte) {
|
|
n := copy(me.bits[:], b)
|
|
if n != 20 {
|
|
panic(n)
|
|
}
|
|
}
|
|
|
|
func (me int160) Bytes() []byte {
|
|
return me.bits[:]
|
|
}
|
|
|
|
func (l int160) Cmp(r int160) int {
|
|
for i := range l.bits {
|
|
if l.bits[i] < r.bits[i] {
|
|
return -1
|
|
} else if l.bits[i] > r.bits[i] {
|
|
return 1
|
|
}
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (me *int160) SetMax() {
|
|
for i := range me.bits {
|
|
me.bits[i] = math.MaxUint8
|
|
}
|
|
}
|
|
|
|
func (me *int160) Xor(a, b *int160) {
|
|
for i := range me.bits {
|
|
me.bits[i] = a.bits[i] ^ b.bits[i]
|
|
}
|
|
}
|