package
0.0.0-20200929032655-f6a69397212e
Repository: https://github.com/sea-project/sea-pkg.git
Documentation: pkg.go.dev
# README
常用的数学相关的工具类
目录
序号 | 名称 | 描述 |
---|---|---|
1 | big.go | big的一些常用方法 |
BigPow | 返回一个指向big.Int类型的指针地址的指针 | |
BigMax | 返回较大的一个指针 | |
BigMin | 返回较小的一个指针 | |
PaddedBigBytes | 将一个大整数编码为一个大端字节切片 | |
Byte | 返回位置n的字节 | |
U256 | U256编码为256位2的补码 | |
S256 | S256将x解释为一个2的补码 | |
2 | integer.go | integer的一些常用方法 |
SafeSub | 返回减法结果和是否发生溢出 | |
SafeAdd | 返回加法结果和是否发生溢出 | |
SafeMul | 返回乘法结果和是否发生溢出 |
# Functions
BigMax 返回较大的一个指针.
BigMin 返回较小的一个指针.
BigPow 返回一个指向big.Int类型的指针地址的指针.
BigUint64 返回已转换为uint64的整数,并返回它是否在进程中溢出.
Byte 返回位置n的字节 例:bigint '5', padlength 32, n=31 => 5.
CalcMemSize 计算某一步需要的内存大小.
Exp 通过平方实现求幂。 Exp返回一个新分配的大整数,并且不更改基数或指数。结果被截断为256位。.
GetDataBig 根据开始位置和大小从数据中返回一个切片,并使用零填充大小.此功能是溢出安全的.
PaddedBigBytes 将一个大整数编码为一个大端字节切片。 这个片长度至少有n个字节.
RandInt 随机数.
ReadBits 将bigint的绝对值编码为大端字节。调用者必须确保buf有足够的空间。如果buf太短,结果将是不完整的。.
S256 将x解释为一个2的补码。x不能超过256位(如果超过256位,结果是未定义的),也不能修改。 S256(0) = 0 S256(1) = 1 S256(2**255) = -2**255 S256(2**256-1) = -1.
SafeAdd 返回加法结果和是否发生溢出.
SafeMul 返回乘法结果和是否发生溢出。.
SafeSub 返回减法结果和是否发生溢出.
ToWordSize 返回内存扩展所需的word大小.一个word为32个字节.
U256 编码为256位2的补码。这种操作是破坏性的。.