arrow: github.com/apache/arrow/go/arrow/decimal128 Index | Files

package decimal128

import "github.com/apache/arrow/go/arrow/decimal128"

Index

Package Files

decimal128.go

Variables

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

type Num Uses

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 Uses

func FromI64(v int64) Num

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

func FromU64 Uses

func FromU64(v uint64) Num

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

func New Uses

func New(hi int64, lo uint64) Num

New returns a new signed 128-bit integer value.

func (Num) HighBits Uses

func (n Num) HighBits() int64

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

func (Num) LowBits Uses

func (n Num) LowBits() uint64

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

func (Num) Sign Uses

func (n Num) Sign() int

Sign returns:

-1 if x < 0

0 if x == 0

+1 if x > 0

Package decimal128 is imported by 8 packages. Updated 2019-06-27. Refresh now. Tools for package owners.