|
|
package arbo
import ( "math/big" )
// SwapEndianness swaps the order of the bytes in the byte slice.
func SwapEndianness(b []byte) []byte { o := make([]byte, len(b)) for i := range b { o[len(b)-1-i] = b[i] } return o }
// BigIntToBytes converts a *big.Int into a byte array in Little-Endian
func BigIntToBytes(blen int, bi *big.Int) []byte { // TODO make the length depending on the tree.hashFunction.Len()
b := make([]byte, blen) copy(b[:], SwapEndianness(bi.Bytes())) return b[:] }
// BytesToBigInt converts a byte array in Little-Endian representation into
// *big.Int
func BytesToBigInt(b []byte) *big.Int { return new(big.Int).SetBytes(SwapEndianness(b)) }
|