asmt/util.go
util.goRaw
1/**
2 * @file
3 * @copyright defined in aergo/LICENSE.txt
4 */
5
6package trie
7
8import (
9 "bytes"
10)
11
12var (
13 // Trie default value : [byte(0)]
14 DefaultLeaf = []byte{0}
15)
16
17const (
18 HashLength = 32
19 maxPastTries = 300
20)
21
22type Hash [HashLength]byte
23
24func bitIsSet(bits []byte, i int) bool {
25 return bits[i/8]&(1<<uint(7-i%8)) != 0
26}
27func bitSet(bits []byte, i int) {
28 bits[i/8] |= 1 << uint(7-i%8)
29}
30
31// for sorting test data
32type DataArray [][]byte
33
34func (d DataArray) Len() int {
35 return len(d)
36}
37func (d DataArray) Swap(i, j int) {
38 d[i], d[j] = d[j], d[i]
39}
40func (d DataArray) Less(i, j int) bool {
41 return bytes.Compare(d[i], d[j]) == -1
42}