bytesutil

package
v1.0.0-alpha Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 14, 2020 License: GPL-3.0 Imports: 3 Imported by: 223

Documentation

Overview

Package bytesutil defines helper methods for converting integers to byte slices.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Bytes1

func Bytes1(x uint64) []byte

Bytes1 returns integer x to bytes in little-endian format, x.to_bytes(1, 'big').

func Bytes2

func Bytes2(x uint64) []byte

Bytes2 returns integer x to bytes in little-endian format, x.to_bytes(2, 'big').

func Bytes3

func Bytes3(x uint64) []byte

Bytes3 returns integer x to bytes in little-endian format, x.to_bytes(3, 'big').

func Bytes32

func Bytes32(x uint64) []byte

Bytes32 returns integer x to bytes in little-endian format, x.to_bytes(8, 'little').

func Bytes4

func Bytes4(x uint64) []byte

Bytes4 returns integer x to bytes in little-endian format, x.to_bytes(4, 'little').

func Bytes8

func Bytes8(x uint64) []byte

Bytes8 returns integer x to bytes in little-endian format, x.to_bytes(8, 'little').

func ClearBit added in v0.3.8

func ClearBit(b []byte, i int) []byte

ClearBit clears the index `i` of bitlist `b`. Returns the original bitlist if the index `i` is out of range.

func Copy2dBytes added in v0.3.2

func Copy2dBytes(ary [][]byte) [][]byte

Copy2dBytes will copy and return a non-nil 2d byte array, otherwise it returns nil.

func FromBool added in v0.3.2

func FromBool(x bool) byte

FromBool is a convenience method for converting a bool to a byte. This method will use the first bit to generate the returned value.

func FromBytes2 added in v0.3.2

func FromBytes2(x []byte) uint16

FromBytes2 returns an integer which is stored in the little-endian format(2, 'little') from a byte array.

func FromBytes32 added in v0.3.0

func FromBytes32(x [32]byte) []byte

FromBytes32 is a convenience method for converting a fixed-size byte array to a byte slice.

func FromBytes4

func FromBytes4(x []byte) uint64

FromBytes4 returns an integer which is stored in the little-endian format(4, 'little') from a byte array.

func FromBytes48 added in v0.3.0

func FromBytes48(x [48]byte) []byte

FromBytes48 is a convenience method for converting a fixed-size byte array to a byte slice.

func FromBytes48Array added in v0.3.0

func FromBytes48Array(x [][48]byte) [][]byte

FromBytes48Array is a convenience method for converting an array of fixed-size byte arrays to an array of byte slices.

func FromBytes8

func FromBytes8(x []byte) uint64

FromBytes8 returns an integer which is stored in the little-endian format(8, 'little') from a byte array.

func HighestBitIndex added in v0.3.8

func HighestBitIndex(b []byte) (int, error)

HighestBitIndex returns the index of the highest bit set from bitlist `b`.

func HighestBitIndexAt added in v0.3.8

func HighestBitIndexAt(b []byte, index int) (int, error)

HighestBitIndexAt returns the index of the highest bit set from bitlist `b` that is at `index` (inclusive).

func LowerThan

func LowerThan(x []byte, y []byte) bool

LowerThan returns true if byte slice x is lower than byte slice y. (little-endian format) This is used in spec to compare winning block root hash. Mentioned in spec as "ties broken by favoring lower `shard_block_root` values".

func MakeEmptyBitlists added in v0.3.8

func MakeEmptyBitlists(i int) []byte

MakeEmptyBitlists returns an empty bitlist with input size `i`.

func PadTo added in v0.3.6

func PadTo(b []byte, size int) []byte

PadTo pads a byte slice to the given size. If the byte slice is larger than the given size, the original slice is returned.

func ReverseBytes32Slice added in v0.3.2

func ReverseBytes32Slice(arr [][32]byte) [][32]byte

ReverseBytes32Slice will reverse the provided slice's order.

func SafeCopyBytes added in v0.3.2

func SafeCopyBytes(cp []byte) []byte

SafeCopyBytes will copy and return a non-nil byte array, otherwise it returns nil.

func SetBit added in v0.3.8

func SetBit(b []byte, i int) []byte

SetBit sets the index `i` of bitlist `b` to 1. It grows and returns a longer bitlist with 1 set if index `i` is out of range.

func ToBool added in v0.3.2

func ToBool(x byte) bool

ToBool is a convenience method for converting a byte to a bool. This method will use the first bit of the 0 byte to generate the returned value.

func ToBytes

func ToBytes(x uint64, length int) []byte

ToBytes returns integer x to bytes in little-endian format at the specified length. Spec pseudocode definition:

def int_to_bytes(integer: int, length: int) -> bytes:
  return integer.to_bytes(length, 'little')

func ToBytes32

func ToBytes32(x []byte) [32]byte

ToBytes32 is a convenience method for converting a byte slice to a fix sized 32 byte array. This method will truncate the input if it is larger than 32 bytes.

func ToBytes4 added in v0.3.2

func ToBytes4(x []byte) [4]byte

ToBytes4 is a convenience method for converting a byte slice to a fix sized 4 byte array. This method will truncate the input if it is larger than 4 bytes.

func ToBytes48

func ToBytes48(x []byte) [48]byte

ToBytes48 is a convenience method for converting a byte slice to a fix sized 48 byte array. This method will truncate the input if it is larger than 48 bytes.

func ToBytes64 added in v1.0.0

func ToBytes64(x []byte) [64]byte

ToBytes64 is a convenience method for converting a byte slice to a fix sized 64 byte array. This method will truncate the input if it is larger than 64 bytes.

func ToBytes8

func ToBytes8(x []byte) [8]byte

ToBytes8 is a convenience method for converting a byte slice to a fix sized 8 byte array. This method will truncate the input if it is larger than 8 bytes.

func ToBytes96

func ToBytes96(x []byte) [96]byte

ToBytes96 is a convenience method for converting a byte slice to a fix sized 96 byte array. This method will truncate the input if it is larger than 96 bytes.

func ToLowInt64

func ToLowInt64(x []byte) int64

ToLowInt64 returns the lowest 8 bytes interpreted as little endian.

func Trunc

func Trunc(x []byte) []byte

Trunc truncates the byte slices to 6 bytes.

func Uint64ToBytes

func Uint64ToBytes(i uint64) []byte

Uint64ToBytes little endian conversion.

func Xor

func Xor(x []byte, y []byte) []byte

Xor xors the bytes in x and y and returns the result.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL