Documentation
¶
Index ¶
- func Abs[T Number](x T) T
- func Dim[T Number](x, y T) T
- func F32to64(f uint32) uint64
- func F32toint32(x uint32) int32
- func F32toint64(x uint32) int64
- func F32touint64(x float32) uint64
- func F64to32(f uint64) uint32
- func F64toInt(f uint64) (val int64, ok bool)
- func F64toint32(x uint64) int32
- func F64toint64(x uint64) int64
- func F64touint64(x float64) uint64
- func Fadd32(x, y uint32) uint32
- func Fadd64(f, g uint64) uint64
- func Fcmp64(f, g uint64) (cmp int32, isnan bool)
- func Fdiv32(x, y uint32) uint32
- func Fdiv64(f, g uint64) uint64
- func Feq32(x, y uint32) bool
- func Feq64(x, y uint64) bool
- func Fge32(x, y uint32) bool
- func Fge64(x, y uint64) bool
- func Fgt32(x, y uint32) bool
- func Fgt64(x, y uint64) bool
- func Fint32to32(x int32) uint32
- func Fint32to64(x int32) uint64
- func Fint64to32(x int64) uint32
- func Fint64to64(x int64) uint64
- func Fintto64(val int64) (f uint64)
- func Fmul32(x, y uint32) uint32
- func Fmul64(f, g uint64) uint64
- func Fneg64(f uint64) uint64
- func Fpack32(sign, mant uint32, exp int, trunc uint32) uint32
- func Fpack64(sign, mant uint64, exp int, trunc uint64) uint64
- func Fsub64(f, g uint64) uint64
- func Fuint64to32(x uint64) float32
- func Fuint64to64(x uint64) float64
- func Funpack32(f uint32) (sign, mant uint32, exp int, inf, nan bool)
- func Funpack64(f uint64) (sign, mant uint64, exp int, inf, nan bool)
- func IsAlmostEqualFloat32(a, b float32) bool
- func IsAlmostEqualFloat64(a, b float64) bool
- func Max[T Number](x, y T) T
- func Min[T Number](x, y T) T
- func RandFloat(min, max float64) float64
- func RandInt(min, max int) int
- func RangePerm(min, max int) []int
- func RoundFloat(x float64, places int) float64
- func RoundHalf(v float64) int
- func SafeDiv[T Number](x, y T) T
- func SafeMulInt64(a, b int64) (product int64, overflow bool)
- func SafeMulUint64(a, b uint64) (product uint64, overflow bool)
- func SignAndMagnitudeToBiasedFloat32(sam uint32) uint32
- func SignAndMagnitudeToBiasedFloat64(sam uint64) uint64
- func Truncate(f float64, n int) float64
- type Float
- type Integer
- type LCGRand32
- type LCGRand64
- type Number
- type Signed
- type Uint128
- func (u Uint128) Add(v Uint128) Uint128
- func (u Uint128) Add64(v uint64) Uint128
- func (u Uint128) AddWrap(v Uint128) Uint128
- func (u Uint128) AddWrap64(v uint64) Uint128
- func (u Uint128) And(v Uint128) Uint128
- func (u Uint128) And64(v uint64) Uint128
- func (u Uint128) Big() *big.Int
- func (u Uint128) Compare64(v uint64) int
- func (u Uint128) CompareTo(v Uint128) int
- func (u Uint128) Div(v Uint128) Uint128
- func (u Uint128) Div64(v uint64) Uint128
- func (u Uint128) Equals(v Uint128) bool
- func (u Uint128) Equals64(v uint64) bool
- func (u Uint128) IsZero() bool
- func (u Uint128) LeadingZeros() int
- func (u Uint128) Len() int
- func (u Uint128) Lsh(n uint) (s Uint128)
- func (u Uint128) Mod(v Uint128) (r Uint128)
- func (u Uint128) Mod64(v uint64) (r uint64)
- func (u Uint128) Mul(v Uint128) Uint128
- func (u Uint128) Mul64(v uint64) Uint128
- func (u Uint128) MulWrap(v Uint128) Uint128
- func (u Uint128) MulWrap64(v uint64) Uint128
- func (u Uint128) OnesCount() int
- func (u Uint128) Or(v Uint128) Uint128
- func (u Uint128) Or64(v uint64) Uint128
- func (u Uint128) PutBytes(b []byte)
- func (u Uint128) PutBytesBE(b []byte)
- func (u Uint128) QuoRem(v Uint128) (q, r Uint128)
- func (u Uint128) QuoRem64(v uint64) (q Uint128, r uint64)
- func (u Uint128) Reverse() Uint128
- func (u Uint128) ReverseBytes() Uint128
- func (u Uint128) RotateLeft(k int) Uint128
- func (u Uint128) RotateRight(k int) Uint128
- func (u Uint128) Rsh(n uint) (s Uint128)
- func (u *Uint128) Scan(s fmt.ScanState, ch rune) error
- func (u Uint128) String() string
- func (u Uint128) Sub(v Uint128) Uint128
- func (u Uint128) Sub64(v uint64) Uint128
- func (u Uint128) SubWrap(v Uint128) Uint128
- func (u Uint128) SubWrap64(v uint64) Uint128
- func (u Uint128) TrailingZeros() int
- func (u Uint128) Xor(v Uint128) Uint128
- func (u Uint128) Xor64(v uint64) Uint128
- type Unsigned
- type WyRand
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func F32toint32 ¶
func F32toint64 ¶
func F32touint64 ¶
func F64toint32 ¶
func F64toint64 ¶
func F64touint64 ¶
func Fint32to32 ¶
func Fint32to64 ¶
func Fint64to32 ¶
func Fint64to64 ¶
func Fuint64to32 ¶
func Fuint64to64 ¶
func IsAlmostEqualFloat32 ¶
func IsAlmostEqualFloat64 ¶
IsAlmostEqualFloat64 returns true if this number is at most kMaxUlps ULP's away from rhs. In particular, this function:
- returns false if either number is (or both are) NAN.
- treats really large numbers as almost equal to infinity.
- thinks +0.0 and -0.0 are 0 DLP's apart.
func RoundFloat ¶
RoundFloat round a float to a specific decimal place or precision see https://github.com/montanaflynn/stats/blob/master/round.go
func SafeMulInt64 ¶
func SafeMulUint64 ¶
func SignAndMagnitudeToBiasedFloat64 ¶
SignAndMagnitudeToBiasedFloat64 converts an integer from the sign-and-magnitude representation to the biased representation. More precisely, let N be 2 to the power of (kBitCount - 1), an integer x is represented by the unsigned number x + N.
For instance,
-N + 1 (the most negative number representable using sign-and-magnitude) is represented by 1; 0 is represented by N; and N - 1 (the biggest number representable using sign-and-magnitude) is represented by 2N - 1.
Read http://en.wikipedia.org/wiki/Signed_number_representations for more details on signed number representations.
Types ¶
type Uint128 ¶
type Uint128 struct {
Lo, Hi uint64
}
An Uint128 is an unsigned 128-bit number.
func NewUint128 ¶
NewUint128 returns the Uint128 value (lo,hi).
func Uint128From64 ¶
Uint128From64 converts v to a Uint128 value.
func Uint128FromBig ¶
Uint128FromBig converts i to a Uint128 value. It panics if i is negative or overflows 128 bits.
func Uint128FromBytes ¶
Uint128FromBytes converts b to a Uint128 value.
func Uint128FromBytesBE ¶
Uint128FromBytesBE converts big-endian b to a Uint128 value.
func Uint128FromString ¶
Uint128FromString parses s as a Uint128 value.
func (Uint128) AddWrap ¶
AddWrap returns u+v with wraparound semantics; for example, Max.AddWrap(Uint128From64(1)) == Zero.
func (Uint128) AddWrap64 ¶
AddWrap64 returns u+v with wraparound semantics; for example, Max.AddWrap64(1) == Zero.
func (Uint128) Compare64 ¶
Compare64 compares u and v and returns:
-1 if u < v 0 if u == v +1 if u > v
func (Uint128) CompareTo ¶
CompareTo compares u and v and returns:
-1 if u < v 0 if u == v +1 if u > v
func (Uint128) LeadingZeros ¶
LeadingZeros returns the number of leading zero bits in u; the result is 128 for u == 0.
func (Uint128) Len ¶
Len returns the minimum number of bits required to represent u; the result is 0 for u == 0.
func (Uint128) MulWrap ¶
MulWrap returns u*v with wraparound semantics; for example, Max.MulWrap(Max) == 1.
func (Uint128) MulWrap64 ¶
MulWrap64 returns u*v with wraparound semantics; for example, Max.MulWrap64(2) == Max.Sub64(1).
func (Uint128) PutBytesBE ¶
PutBytesBE stores u in b in big-endian order. It panics if len(ip) < 16.
func (Uint128) ReverseBytes ¶
ReverseBytes returns the value of u with its bytes in reversed order.
func (Uint128) RotateLeft ¶
RotateLeft returns the value of u rotated left by (k mod 128) bits.
func (Uint128) RotateRight ¶
RotateRight returns the value of u rotated left by (k mod 128) bits.
func (Uint128) SubWrap ¶
SubWrap returns u-v with wraparound semantics; for example, Zero.SubWrap(Uint128From64(1)) == Max.
func (Uint128) SubWrap64 ¶
SubWrap64 returns u-v with wraparound semantics; for example, Zero.SubWrap64(1) == Max.
func (Uint128) TrailingZeros ¶
TrailingZeros returns the number of trailing zero bits in u; the result is 128 for u == 0.