math

package
v0.0.0-...-b78b3a4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 16, 2019 License: GPL-3.0 Imports: 3 Imported by: 0

Documentation

Overview

包数学提供整数数学实用程序。

Index

Constants

View Source
const (
	MaxInt8   = 1<<7 - 1
	MinInt8   = -1 << 7
	MaxInt16  = 1<<15 - 1
	MinInt16  = -1 << 15
	MaxInt32  = 1<<31 - 1
	MinInt32  = -1 << 31
	MaxInt64  = 1<<63 - 1
	MinInt64  = -1 << 63
	MaxUint8  = 1<<8 - 1
	MaxUint16 = 1<<16 - 1
	MaxUint32 = 1<<32 - 1
	MaxUint64 = 1<<64 - 1
)

整数限制值。

Variables

View Source
var (
	MaxBig256 = new(big.Int).Set(tt256m1)
	MaxBig63  = new(big.Int).Sub(tt63, big.NewInt(1))
)

各种大整数限制值。

Functions

func BigMax

func BigMax(x, y *big.Int) *big.Int

func BigMin

func BigMin(x, y *big.Int) *big.Int

bigmin返回x或y中的较小值。

func BigPow

func BigPow(a, b int64) *big.Int

bigpow返回一个**b作为大整数。

func Byte

func Byte(bigint *big.Int, padlength, n int) byte

byte返回位置n处的字节, 以小尾数编码提供的padLength。 n==0返回最高位 示例:Bigint“5”,PadLength 32,n=31=>5

func Exp

func Exp(base, exponent *big.Int) *big.Int

exp通过平方实现求幂。 exp返回新分配的大整数,不更改 基或指数。结果被截断为256位。

由@karalabe和@chfast提供

func FirstBitSet

func FirstBitSet(v *big.Int) int

firstbitset返回v中第一个1位的索引,从lsb开始计数。

func MustParseBig256

func MustParseBig256(s string) *big.Int

mustParseBig256解析为256位大整数,如果字符串无效,则会恐慌。

func MustParseUint64

func MustParseUint64(s string) uint64

mustParseUInt64作为整数进行分析,如果字符串无效,则会恐慌。

func PaddedBigBytes

func PaddedBigBytes(bigint *big.Int, n int) []byte

切片中至少有n个字节。

func ParseBig256

func ParseBig256(s string) (*big.Int, bool)

parseBig256以十进制或十六进制语法解析为256位整数。 可接受前导零。空字符串解析为零。

func ParseUint64

func ParseUint64(s string) (uint64, bool)

ParseUInt64以十进制或十六进制语法解析为整数。 可接受前导零。空字符串解析为零。

func ReadBits

func ReadBits(bigint *big.Int, buf []byte)

readbits将bigint的绝对值编码为big-endian字节。呼叫者必须确保 那个流浪汉有足够的空间。如果buf太短,结果将不完整。

func S256

func S256(x *big.Int) *big.Int

s256将x解释为2的补码。

s256(0)=0 s256(1)=1 S256(2**255)=-2**255 s256(2**256-1)=-1

func SafeAdd

func SafeAdd(x, y uint64) (uint64, bool)

safeadd返回结果以及是否发生溢出。

func SafeMul

func SafeMul(x, y uint64) (uint64, bool)

safemul返回乘法结果以及是否发生溢出。

func SafeSub

func SafeSub(x, y uint64) (uint64, bool)

SAFESUB返回减法结果以及是否发生溢出。

func U256

func U256(x *big.Int) *big.Int

U256编码为256位2的补码。这项行动具有破坏性。

Types

type HexOrDecimal256

type HexOrDecimal256 big.Int

hexordecimal256将big.int封送为十六进制或十进制。

func (*HexOrDecimal256) MarshalText

func (i *HexOrDecimal256) MarshalText() ([]byte, error)

MarshalText实现Encoding.TextMarshaler。

func (*HexOrDecimal256) UnmarshalText

func (i *HexOrDecimal256) UnmarshalText(input []byte) error

UnmarshalText实现encoding.textUnmarshaller。

type HexOrDecimal64

type HexOrDecimal64 uint64

hexordecimal64将uint64封送为十六进制或十进制。

func (HexOrDecimal64) MarshalText

func (i HexOrDecimal64) MarshalText() ([]byte, error)

MarshalText实现Encoding.TextMarshaler。

func (*HexOrDecimal64) UnmarshalText

func (i *HexOrDecimal64) UnmarshalText(input []byte) error

UnmarshalText实现encoding.textUnmarshaller。

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL