Documentation ¶
Index ¶
- func BuildHash(msgType byte, bytes []byte) common.Hash
- func False(atm *int32) bool
- func MaxInt64(a, b int64) int64
- func MaxUInt(a, b uint32) uint32
- func MergeBytes(bts ...[]byte) []byte
- func MinInt(a, b int) int
- func MinInt64(a, b int64) int64
- func MinUInt(a, b uint32) uint32
- func Rand32Bytes(n uint32) []byte
- func RandBytes(n int) []byte
- func RandInt31n(n int32) uint32
- func RandIntn(n int) int
- func RandomOffset(n int) int
- func SetFalse(atm *int32)
- func SetTrue(atm *int32)
- func True(atm *int32) bool
- type BitArray
- func (bA *BitArray) And(o *BitArray) *BitArray
- func (bA *BitArray) Bytes() []byte
- func (bA *BitArray) Copy() *BitArray
- func (bA *BitArray) GetIndex(i uint32) bool
- func (bA *BitArray) IsEmpty() bool
- func (bA *BitArray) IsFull() bool
- func (bA *BitArray) MarshalJSON() ([]byte, error)
- func (bA *BitArray) Not() *BitArray
- func (bA *BitArray) Or(o *BitArray) *BitArray
- func (bA *BitArray) PickRandom() (uint32, bool)
- func (bA *BitArray) SetIndex(i uint32, v bool) bool
- func (bA *BitArray) Size() uint32
- func (bA *BitArray) String() string
- func (bA *BitArray) StringIndented(indent string) string
- func (bA *BitArray) Sub(o *BitArray) *BitArray
- func (bA *BitArray) UnmarshalJSON(bz []byte) error
- func (bA *BitArray) Update(o *BitArray)
- type KeyValuePair
- type KeyValuePairList
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BuildHash ¶
BuildHash converts byte array to hash. Use sha256 to generate a unique message hash.
func MergeBytes ¶
MergeBytes merges multiple bytes of data and returns the merged byte array.
func Rand32Bytes ¶
func RandInt31n ¶
func RandomOffset ¶
RandomOffset returns a random offset between 0 and n
Types ¶
type BitArray ¶
type BitArray struct { Bits uint32 `json:"bits"` // NOTE: persisted via reflect, must be exported Elems []uint64 `json:"elems"` // NOTE: persisted via reflect, must be exported }
BitArray is a thread-unsafe implementation of a bit array.
func NewBitArray ¶
NewBitArray returns a new bit array. It returns nil if the number of bits is zero.
func (*BitArray) And ¶
And returns a bit array resulting from a bitwise AND of the two bit arrays. If the two bit-arrys have different lengths, this truncates the larger of the two bit-arrays from the right. Thus the size of the return value is the minimum of the two provided bit arrays.
func (*BitArray) GetIndex ¶
GetIndex returns the bit at index i within the bit array. The behavior is undefined if i >= bA.Bits
func (*BitArray) MarshalJSON ¶
MarshalJSON implements json.Marshaler interface by marshaling bit array using a custom format: a string of '-' or 'x' where 'x' denotes the 1 bit.
func (*BitArray) Not ¶
Not returns a bit array resulting from a bitwise Not of the provided bit array.
func (*BitArray) Or ¶
Or returns a bit array resulting from a bitwise OR of the two bit arrays. If the two bit-arrys have different lengths, Or right-pads the smaller of the two bit-arrays with zeroes. Thus the size of the return value is the maximum of the two provided bit arrays.
func (*BitArray) PickRandom ¶
PickRandom returns a random index for a set bit in the bit array. If there is no such value, it returns 0, false. It uses the global randomness in `random.go` to get this index.
func (*BitArray) SetIndex ¶
SetIndex sets the bit at index i within the bit array. The behavior is undefined if i >= bA.Bits
func (*BitArray) String ¶
String returns a string representation of BitArray: BA{<bit-string>}, where <bit-string> is a sequence of 'x' (1) and '_' (0). The <bit-string> includes spaces and newlines to help people. For a simple sequence of 'x' and '_' characters with no spaces or newlines, see the MarshalJSON() method. Example: "BA{_x_}" or "nil-BitArray" for nil.
func (*BitArray) StringIndented ¶
StringIndented returns the same thing as String(), but applies the indent at every 10th bit, and twice at every 50th bit.
func (*BitArray) Sub ¶
Sub subtracts the two bit-arrays bitwise, without carrying the bits. Note that carryless subtraction of a - b is (a and not b). The output is the same as bA, regardless of o's size. If bA is longer than o, o is right padded with zeroes
func (*BitArray) UnmarshalJSON ¶
UnmarshalJSON implements json.Unmarshaler interface by unmarshaling a custom JSON description.
type KeyValuePair ¶
Represents a k-v key-value pair.
type KeyValuePairList ¶
type KeyValuePairList []KeyValuePair
KeyValuePairList is a slice of Pairs that implements sort.Interface to sort by Value.
func SortMap ¶
func SortMap(m map[string]int64) KeyValuePairList
Sort the Map according to the key, return the list of sorted key-value pairs.
func (KeyValuePairList) Len ¶
func (kvp KeyValuePairList) Len() int
func (KeyValuePairList) Less ¶
func (kvp KeyValuePairList) Less(i, j int) bool
func (KeyValuePairList) Swap ¶
func (kvp KeyValuePairList) Swap(i, j int)