mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-26 06:36:43 +00:00
Merge 81c76e07dc into c72f5459ac
This commit is contained in:
commit
6366c4a1b8
1 changed files with 10 additions and 5 deletions
|
|
@ -116,14 +116,19 @@ func FirstBitSet(v *big.Int) int {
|
|||
//
|
||||
// Returns the bytes of a big integer with the size specified by **base**
|
||||
// Attempts to pad the byte array with zeros.
|
||||
//
|
||||
// Note that input arg **num** is expected to be non-nil;
|
||||
// nil argument will result in runtime panic.
|
||||
func BigToBytes(num *big.Int, base int) []byte {
|
||||
ret := make([]byte, base/8)
|
||||
bytes := num.Bytes()
|
||||
blen := len(bytes)
|
||||
bpb := base / 8
|
||||
|
||||
if len(num.Bytes()) > base/8 {
|
||||
return num.Bytes()
|
||||
if blen > bpb {
|
||||
return bytes
|
||||
}
|
||||
|
||||
return append(ret[:len(ret)-len(num.Bytes())], num.Bytes()...)
|
||||
padBuf := make([]byte, bpb)
|
||||
return append(padBuf[:bpb-blen], bytes...)
|
||||
}
|
||||
|
||||
// Big copy
|
||||
|
|
|
|||
Loading…
Reference in a new issue