Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	MaxDecimal128 = New(542101086242752217, 687399551400673280-1)
)

Functions

This section is empty.

Types

type Num

type Num struct {
	// contains filtered or unexported fields
}

    Num represents a signed 128-bit integer in two's complement. Calculations wrap around and overflow is ignored.

    For a discussion of the algorithms, look at Knuth's volume 2, Semi-numerical Algorithms section 4.3.1.

    Adapted from the Apache ORC C++ implementation

    func FromI64

    func FromI64(v int64) Num

      FromI64 returns a new signed 128-bit integer value from the provided int64 one.

      func FromU64

      func FromU64(v uint64) Num

        FromU64 returns a new signed 128-bit integer value from the provided uint64 one.

        func New

        func New(hi int64, lo uint64) Num

          New returns a new signed 128-bit integer value.

          func (Num) HighBits

          func (n Num) HighBits() int64

            HighBits returns the high bits of the two's complement representation of the number.

            func (Num) LowBits

            func (n Num) LowBits() uint64

              LowBits returns the low bits of the two's complement representation of the number.

              func (Num) Sign

              func (n Num) Sign() int

                Sign returns:

                -1 if x < 0

                0 if x == 0
                

                +1 if x > 0

                Source Files