Documentation ¶
Index ¶
- Constants
- Variables
- func CreateDirIfNotExist(dir string) error
- func FileExists(path string) (bool, error)
- func FileWrite(file string, content []byte, overwrite bool) error
- type Uint128
- func NewUint128() *Uint128
- func NewUint128FromBigInt(i *big.Int) (*Uint128, error)
- func NewUint128FromFixedSizeByteSlice(bytes []byte) (*Uint128, error)
- func NewUint128FromFixedSizeBytes(bytes [16]byte) *Uint128
- 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) 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) (*Uint128, error)
- func (u *Uint128) FromFixedSizeBytes(bytes [16]byte) *Uint128
- func (u *Uint128) Mul(x *Uint128) (*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") )
var ( // ErrFileExists file exists ErrFileExists = errors.New("file exists") )
Functions ¶
func CreateDirIfNotExist ¶
CreateDirIfNotExist create dir
func FileExists ¶ added in v1.0.0
FileExists check file exists
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 NewUint128FromFixedSizeBytes ¶
NewUint128FromFixedSizeBytes returns a new Uint128 struct with given fixed size byte array.
func NewUint128FromInt ¶
NewUint128FromInt returns a new Uint128 struct with given value and have a check.
func NewUint128FromString ¶ added in v1.0.0
NewUint128FromString returns a new Uint128 struct with given value and have a check.
func NewUint128FromUint ¶ added in v1.0.0
NewUint128FromUint returns a new Uint128 with given value
func (*Uint128) Cmp ¶ added in v1.0.0
Cmp compares u and x and returns:
-1 if u < x 0 if u == x +1 if u > x
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) ToFixedSizeByteSlice ¶
ToFixedSizeByteSlice converts Uint128 to Big-Endian fixed size byte slice.
func (*Uint128) ToFixedSizeBytes ¶
ToFixedSizeBytes converts Uint128 to Big-Endian fixed size bytes.