21 lines
396 B
Go
21 lines
396 B
Go
//go:build !go1.15
|
|
// +build !go1.15
|
|
|
|
package gmath
|
|
|
|
import (
|
|
"math/big"
|
|
)
|
|
|
|
// FillBytes fill the buf with the abs of a in big-endian with zero extention.
|
|
// if buf is two short, then return error, while Big.Int's FillBytes panic
|
|
func FillBytes(a *big.Int, buf []byte) error {
|
|
if (a.BitLen()+7)/8 > len(buf) {
|
|
return ErrBufTooShort
|
|
}
|
|
|
|
b := ToNBytes(a, len(buf))
|
|
copy(buf, b)
|
|
return nil
|
|
}
|