package sparse
Import Path
github.com/parquet-go/parquet-go/sparse (on go.dev)
Dependency Relation
imports 4 packages, and imported by 4 packages
Involved Source Files
array.go
gather.go
gather_amd64.go
Package sparse contains abstractions to help work on arrays of values in
sparse memory locations.
Conversion between array types is supported when converting integers to a
lower size (e.g. int32 to int16, or uint64 to uint8), or converting from
signed integers to unsigned. Float types can also be converted to unsigned
integers of the same size, in which case the conversion is similar to using
the standard library's math.Float32bits and math.Float64bits functions.
All array types can be converted to a generic Array type that can be used to erase
type information and bypass type conversion rules. This conversion is similar
to using Go's unsafe package to bypass Go's type system and should usually be
avoided and a sign that the application is attempting to break type safety
boundaries.
The package provides Gather* functions which retrieve values from sparse
arrays into contiguous memory buffers. On platforms that support it, these
operations are implemented using SIMD gather instructions (e.g. VPGATHER on
Intel CPUs).
gather_amd64.s
Package-Level Type Names (total 15)
( Array) BoolArray() BoolArray
( Array) Float32Array() Float32Array
( Array) Float64Array() Float64Array
( Array) Index(i int) unsafe.Pointer
( Array) Int16Array() Int16Array
( Array) Int32Array() Int32Array
( Array) Int64Array() Int64Array
( Array) Int8Array() Int8Array
( Array) Len() int
( Array) Offset(off uintptr) Array
( Array) Slice(i, j int) Array
( Array) StringArray() StringArray
( Array) TimeArray() TimeArray
( Array) Uint128Array() Uint128Array
( Array) Uint16Array() Uint16Array
( Array) Uint32Array() Uint32Array
( Array) Uint64Array() Uint64Array
( Array) Uint8Array() Uint8Array
func UnsafeArray(base unsafe.Pointer, length int, offset uintptr) Array
func Array.Offset(off uintptr) Array
func Array.Slice(i, j int) Array
func BoolArray.UnsafeArray() Array
func Float32Array.Array() Array
func Float32Array.UnsafeArray() Array
func Float64Array.UnsafeArray() Array
func Int16Array.UnsafeArray() Array
func Int32Array.UnsafeArray() Array
func Int64Array.UnsafeArray() Array
func Int8Array.UnsafeArray() Array
func StringArray.UnsafeArray() Array
func TimeArray.UnsafeArray() Array
func Uint128Array.UnsafeArray() Array
func Uint16Array.UnsafeArray() Array
func Uint32Array.UnsafeArray() Array
func Uint64Array.UnsafeArray() Array
func Uint8Array.UnsafeArray() Array
( BoolArray) Index(i int) bool
( BoolArray) Len() int
( BoolArray) Slice(i, j int) BoolArray
( BoolArray) Uint8Array() Uint8Array
( BoolArray) UnsafeArray() Array
func MakeBoolArray(values []bool) BoolArray
func UnsafeBoolArray(base unsafe.Pointer, length int, offset uintptr) BoolArray
func Array.BoolArray() BoolArray
func BoolArray.Slice(i, j int) BoolArray
( Float32Array) Array() Array
( Float32Array) Index(i int) float32
( Float32Array) Len() int
( Float32Array) Slice(i, j int) Float32Array
( Float32Array) Uint32Array() Uint32Array
( Float32Array) UnsafeArray() Array
func MakeFloat32Array(values []float32) Float32Array
func UnsafeFloat32Array(base unsafe.Pointer, length int, offset uintptr) Float32Array
func Array.Float32Array() Float32Array
func Float32Array.Slice(i, j int) Float32Array
func GatherFloat32(dst []float32, src Float32Array) int
func github.com/parquet-go/parquet-go/hashprobe.(*Float32Table).ProbeArray(keys Float32Array, values []int32) int
( Float64Array) Index(i int) float64
( Float64Array) Len() int
( Float64Array) Slice(i, j int) Float64Array
( Float64Array) Uint64Array() Uint64Array
( Float64Array) UnsafeArray() Array
func MakeFloat64Array(values []float64) Float64Array
func UnsafeFloat64Array(base unsafe.Pointer, length int, offset uintptr) Float64Array
func Array.Float64Array() Float64Array
func Float64Array.Slice(i, j int) Float64Array
func GatherFloat64(dst []float64, src Float64Array) int
func github.com/parquet-go/parquet-go/hashprobe.(*Float64Table).ProbeArray(keys Float64Array, values []int32) int
( Int16Array) Index(i int) int16
( Int16Array) Int8Array() Int8Array
( Int16Array) Len() int
( Int16Array) Slice(i, j int) Int16Array
( Int16Array) Uint16Array() Uint16Array
( Int16Array) Uint8Array() Uint8Array
( Int16Array) UnsafeArray() Array
func MakeInt16Array(values []int16) Int16Array
func UnsafeInt16Array(base unsafe.Pointer, length int, offset uintptr) Int16Array
func Array.Int16Array() Int16Array
func Int16Array.Slice(i, j int) Int16Array
func Int32Array.Int16Array() Int16Array
func Int64Array.Int16Array() Int16Array
( Int32Array) Index(i int) int32
( Int32Array) Int16Array() Int16Array
( Int32Array) Int8Array() Int8Array
( Int32Array) Len() int
( Int32Array) Slice(i, j int) Int32Array
( Int32Array) Uint16Array() Uint16Array
( Int32Array) Uint32Array() Uint32Array
( Int32Array) Uint8Array() Uint8Array
( Int32Array) UnsafeArray() Array
func MakeInt32Array(values []int32) Int32Array
func UnsafeInt32Array(base unsafe.Pointer, length int, offset uintptr) Int32Array
func Array.Int32Array() Int32Array
func Int32Array.Slice(i, j int) Int32Array
func Int64Array.Int32Array() Int32Array
func GatherInt32(dst []int32, src Int32Array) int
func github.com/parquet-go/parquet-go/hashprobe.(*Int32Table).ProbeArray(keys Int32Array, values []int32) int
( Int64Array) Index(i int) int64
( Int64Array) Int16Array() Int16Array
( Int64Array) Int32Array() Int32Array
( Int64Array) Int8Array() Int8Array
( Int64Array) Len() int
( Int64Array) Slice(i, j int) Int64Array
( Int64Array) Uint16Array() Uint16Array
( Int64Array) Uint32Array() Uint32Array
( Int64Array) Uint64Array() Uint64Array
( Int64Array) Uint8Array() Uint8Array
( Int64Array) UnsafeArray() Array
func MakeInt64Array(values []int64) Int64Array
func UnsafeInt64Array(base unsafe.Pointer, length int, offset uintptr) Int64Array
func Array.Int64Array() Int64Array
func Int64Array.Slice(i, j int) Int64Array
func GatherInt64(dst []int64, src Int64Array) int
func github.com/parquet-go/parquet-go/hashprobe.(*Int64Table).ProbeArray(keys Int64Array, values []int32) int
( Int8Array) Index(i int) int8
( Int8Array) Len() int
( Int8Array) Slice(i, j int) Int8Array
( Int8Array) Uint8Array() Uint8Array
( Int8Array) UnsafeArray() Array
func MakeInt8Array(values []int8) Int8Array
func UnsafeInt8Array(base unsafe.Pointer, length int, offset uintptr) Int8Array
func Array.Int8Array() Int8Array
func Int16Array.Int8Array() Int8Array
func Int32Array.Int8Array() Int8Array
func Int64Array.Int8Array() Int8Array
func Int8Array.Slice(i, j int) Int8Array
( StringArray) Index(i int) string
( StringArray) Len() int
( StringArray) Slice(i, j int) StringArray
( StringArray) UnsafeArray() Array
func MakeStringArray(values []string) StringArray
func UnsafeStringArray(base unsafe.Pointer, length int, offset uintptr) StringArray
func Array.StringArray() StringArray
func StringArray.Slice(i, j int) StringArray
func GatherString(dst []string, src StringArray) int
( TimeArray) Index(i int) time.Time
( TimeArray) Len() int
( TimeArray) Slice(i, j int) TimeArray
( TimeArray) UnsafeArray() Array
func MakeTimeArray(values []time.Time) TimeArray
func UnsafeTimeArray(base unsafe.Pointer, length int, offset uintptr) TimeArray
func Array.TimeArray() TimeArray
func TimeArray.Slice(i, j int) TimeArray
( Uint128Array) Index(i int) [16]byte
( Uint128Array) Len() int
( Uint128Array) Slice(i, j int) Uint128Array
( Uint128Array) Uint16Array() Uint16Array
( Uint128Array) Uint32Array() Uint32Array
( Uint128Array) Uint64Array() Uint64Array
( Uint128Array) Uint8Array() Uint8Array
( Uint128Array) UnsafeArray() Array
func MakeUint128Array(values [][16]byte) Uint128Array
func UnsafeUint128Array(base unsafe.Pointer, length int, offset uintptr) Uint128Array
func Array.Uint128Array() Uint128Array
func Uint128Array.Slice(i, j int) Uint128Array
func GatherUint128(dst [][16]byte, src Uint128Array) int
func github.com/parquet-go/parquet-go/hashprobe.(*Uint128Table).ProbeArray(keys Uint128Array, values []int32) int
func github.com/parquet-go/parquet-go/hashprobe/aeshash.MultiHashUint128Array(hashes []uintptr, values Uint128Array, seed uintptr)
func github.com/parquet-go/parquet-go/hashprobe/wyhash.MultiHashUint128Array(hashes []uintptr, values Uint128Array, seed uintptr)
( Uint16Array) Index(i int) uint16
( Uint16Array) Len() int
( Uint16Array) Slice(i, j int) Uint16Array
( Uint16Array) Uint8Array() Uint8Array
( Uint16Array) UnsafeArray() Array
func MakeUint16Array(values []uint16) Uint16Array
func UnsafeUint16Array(base unsafe.Pointer, length int, offset uintptr) Uint16Array
func Array.Uint16Array() Uint16Array
func Int16Array.Uint16Array() Uint16Array
func Int32Array.Uint16Array() Uint16Array
func Int64Array.Uint16Array() Uint16Array
func Uint128Array.Uint16Array() Uint16Array
func Uint16Array.Slice(i, j int) Uint16Array
func Uint32Array.Uint16Array() Uint16Array
func Uint64Array.Uint16Array() Uint16Array
( Uint32Array) Index(i int) uint32
( Uint32Array) Len() int
( Uint32Array) Slice(i, j int) Uint32Array
( Uint32Array) Uint16Array() Uint16Array
( Uint32Array) Uint8Array() Uint8Array
( Uint32Array) UnsafeArray() Array
func MakeUint32Array(values []uint32) Uint32Array
func UnsafeUint32Array(base unsafe.Pointer, length int, offset uintptr) Uint32Array
func Array.Uint32Array() Uint32Array
func Float32Array.Uint32Array() Uint32Array
func Int32Array.Uint32Array() Uint32Array
func Int64Array.Uint32Array() Uint32Array
func Uint128Array.Uint32Array() Uint32Array
func Uint32Array.Slice(i, j int) Uint32Array
func Uint64Array.Uint32Array() Uint32Array
func GatherUint32(dst []uint32, src Uint32Array) int
func github.com/parquet-go/parquet-go/hashprobe.(*Uint32Table).ProbeArray(keys Uint32Array, values []int32) int
func github.com/parquet-go/parquet-go/hashprobe/aeshash.MultiHashUint32Array(hashes []uintptr, values Uint32Array, seed uintptr)
func github.com/parquet-go/parquet-go/hashprobe/wyhash.MultiHashUint32Array(hashes []uintptr, values Uint32Array, seed uintptr)
( Uint64Array) Index(i int) uint64
( Uint64Array) Len() int
( Uint64Array) Slice(i, j int) Uint64Array
( Uint64Array) Uint16Array() Uint16Array
( Uint64Array) Uint32Array() Uint32Array
( Uint64Array) Uint8Array() Uint8Array
( Uint64Array) UnsafeArray() Array
func MakeUint64Array(values []uint64) Uint64Array
func UnsafeUint64Array(base unsafe.Pointer, length int, offset uintptr) Uint64Array
func Array.Uint64Array() Uint64Array
func Float64Array.Uint64Array() Uint64Array
func Int64Array.Uint64Array() Uint64Array
func Uint128Array.Uint64Array() Uint64Array
func Uint64Array.Slice(i, j int) Uint64Array
func GatherUint64(dst []uint64, src Uint64Array) int
func github.com/parquet-go/parquet-go/hashprobe.(*Uint64Table).ProbeArray(keys Uint64Array, values []int32) int
func github.com/parquet-go/parquet-go/hashprobe/aeshash.MultiHashUint64Array(hashes []uintptr, values Uint64Array, seed uintptr)
func github.com/parquet-go/parquet-go/hashprobe/wyhash.MultiHashUint64Array(hashes []uintptr, values Uint64Array, seed uintptr)
( Uint8Array) Index(i int) uint8
( Uint8Array) Len() int
( Uint8Array) Slice(i, j int) Uint8Array
( Uint8Array) UnsafeArray() Array
func MakeUint8Array(values []uint8) Uint8Array
func UnsafeUint8Array(base unsafe.Pointer, length int, offset uintptr) Uint8Array
func Array.Uint8Array() Uint8Array
func BoolArray.Uint8Array() Uint8Array
func Int16Array.Uint8Array() Uint8Array
func Int32Array.Uint8Array() Uint8Array
func Int64Array.Uint8Array() Uint8Array
func Int8Array.Uint8Array() Uint8Array
func Uint128Array.Uint8Array() Uint8Array
func Uint16Array.Uint8Array() Uint8Array
func Uint32Array.Uint8Array() Uint8Array
func Uint64Array.Uint8Array() Uint8Array
func Uint8Array.Slice(i, j int) Uint8Array
func GatherBits(dst []byte, src Uint8Array) int
Package-Level Functions (total 38)
func GatherBits(dst []byte, src Uint8Array) int func GatherFloat32(dst []float32, src Float32Array) int func GatherFloat64(dst []float64, src Float64Array) int func GatherInt32(dst []int32, src Int32Array) int func GatherInt64(dst []int64, src Int64Array) int func GatherString(dst []string, src StringArray) int func GatherUint128(dst [][16]byte, src Uint128Array) int func GatherUint32(dst []uint32, src Uint32Array) int func GatherUint64(dst []uint64, src Uint64Array) int func MakeBoolArray(values []bool) BoolArray func MakeFloat32Array(values []float32) Float32Array func MakeFloat64Array(values []float64) Float64Array func MakeInt16Array(values []int16) Int16Array func MakeInt32Array(values []int32) Int32Array func MakeInt64Array(values []int64) Int64Array func MakeInt8Array(values []int8) Int8Array func MakeStringArray(values []string) StringArray func MakeTimeArray(values []time.Time) TimeArray func MakeUint128Array(values [][16]byte) Uint128Array func MakeUint16Array(values []uint16) Uint16Array func MakeUint32Array(values []uint32) Uint32Array func MakeUint64Array(values []uint64) Uint64Array func MakeUint8Array(values []uint8) Uint8Array func UnsafeFloat32Array(base unsafe.Pointer, length int, offset uintptr) Float32Array func UnsafeFloat64Array(base unsafe.Pointer, length int, offset uintptr) Float64Array func UnsafeInt16Array(base unsafe.Pointer, length int, offset uintptr) Int16Array func UnsafeInt32Array(base unsafe.Pointer, length int, offset uintptr) Int32Array func UnsafeInt64Array(base unsafe.Pointer, length int, offset uintptr) Int64Array func UnsafeStringArray(base unsafe.Pointer, length int, offset uintptr) StringArray func UnsafeUint128Array(base unsafe.Pointer, length int, offset uintptr) Uint128Array func UnsafeUint16Array(base unsafe.Pointer, length int, offset uintptr) Uint16Array func UnsafeUint32Array(base unsafe.Pointer, length int, offset uintptr) Uint32Array func UnsafeUint64Array(base unsafe.Pointer, length int, offset uintptr) Uint64Array func UnsafeUint8Array(base unsafe.Pointer, length int, offset uintptr) Uint8Array
![]() |
The pages are generated with Golds v0.8.2. (GOOS=linux GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds. |