Documentation ¶
Index ¶
- Constants
- Variables
- type Uint128
- func NewUint128() *Uint128
- func NewUint128FromBigInt(Big *big.Int) (*Uint128, error)
- func NewUint128FromFixedSizeByteSlice(bytes []byte) (*Uint128, error)
- func NewUint128FromInt(i int64) (*Uint128, error)
- func NewUint128FromString(str string) (*Uint128, error)
- func NewUint128FromUint(i uint64) *Uint128
- func Uint128Zero() *Uint128
- func (u *Uint128) Add(x *Uint128) (*Uint128, error)
- func (u *Uint128) BigInt() *big.Int
- func (u *Uint128) Bytes() []byte
- func (u *Uint128) Cmp(x *Uint128) int
- func (u *Uint128) DeepCopy() *Uint128
- func (u *Uint128) Div(x *Uint128) (*Uint128, error)
- func (u *Uint128) Exp(x *Uint128) (*Uint128, error)
- func (u *Uint128) FromFixedSizeByteSlice(bytes []byte) error
- func (u *Uint128) FromFixedSizeBytes(bytes [16]byte) (*Uint128, error)
- func (u *Uint128) Mul(x *Uint128) (*Uint128, error)
- func (u *Uint128) MulWithRat(x *big.Rat) (*Uint128, error)
- func (u *Uint128) String() string
- func (u *Uint128) Sub(x *Uint128) (*Uint128, error)
- func (u *Uint128) ToFixedSizeByteSlice() ([]byte, error)
- func (u *Uint128) ToFixedSizeBytes() ([16]byte, error)
- func (u *Uint128) Uint64() uint64
- func (u *Uint128) Validate() error
Constants ¶
const ( // Uint128Bytes defines the number of bytes for Uint128 type. Uint128Bytes = 16 // Uint128Bits defines the number of bits for Uint128 type. Uint128Bits = 128 )
Variables ¶
var ( // ErrUint128Overflow indicates the value is greater than uint128 maximum value 2^128. ErrUint128Overflow = errors.New("uint128: overflow") // ErrUint128Underflow indicates the value is smaller then uint128 minimum value 0. ErrUint128Underflow = errors.New("uint128: underflow") // ErrUint128InvalidBytesSize indicates the bytes size is not equal to Uint128Bytes. ErrUint128InvalidBytesSize = errors.New("uint128: invalid bytes") // ErrUint128InvalidString indicates the string is not valid when converted to uin128. ErrUint128InvalidString = errors.New("uint128: invalid string to uint128") )
Functions ¶
This section is empty.
Types ¶
type Uint128 ¶
type Uint128 struct {
// contains filtered or unexported fields
}
Uint128 defines uint128 type, based on big.Int.
For arithmetic operations, use uint128.Int.Add()/Sub()/Mul()/Div()/etc. For example, u1.Add(u1.Int, u2.Int) sets u1 to u1 + u2.
func NewUint128 ¶
func NewUint128() *Uint128
NewUint128 returns a new Uint128 struct with default value.
func NewUint128FromBigInt ¶
NewUint128FromBigInt returns a new Uint128 struct with given value and have a check.
func NewUint128FromFixedSizeByteSlice ¶
NewUint128FromFixedSizeByteSlice returns a new Uint128 struct with given fixed size byte slice.
func NewUint128FromInt ¶
NewUint128FromInt returns a new Uint128 struct with given value and have a check.
func NewUint128FromString ¶
NewUint128FromString returns a new Uint128 struct with given value and have a check.
func NewUint128FromUint ¶
NewUint128FromUint returns a new Uint128 with given value
func (*Uint128) FromFixedSizeByteSlice ¶
FromFixedSizeByteSlice converts Big-Endian fixed size bytes to Uint128.
func (*Uint128) FromFixedSizeBytes ¶
FromFixedSizeBytes converts Big-Endian fixed size bytes to Uint128.
func (*Uint128) MulWithRat ¶
MulWithRat multiply uin128 with big.Rat
func (*Uint128) ToFixedSizeByteSlice ¶
ToFixedSizeByteSlice converts Uint128 to Big-Endian fixed size byte slice.
func (*Uint128) ToFixedSizeBytes ¶
ToFixedSizeBytes converts Uint128 to Big-Endian fixed size bytes.