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)
/* sort by: | */
( 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 GatherInt32(dst []int32, src Int32Array) int
func GatherInt64(dst []int64, src Int64Array) int
func GatherUint128(dst [][16]byte, src Uint128Array) int
func MakeBoolArray(values []bool) BoolArray
func MakeInt8Array(values []int8) Int8Array
func MakeUint128Array(values [][16]byte) Uint128Array
func UnsafeArray(base unsafe.Pointer, length int, offset uintptr) Array
func UnsafeBoolArray(base unsafe.Pointer, length int, offset uintptr) BoolArray
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 UnsafeInt8Array(base unsafe.Pointer, length int, offset uintptr) Int8Array
func UnsafeTimeArray(base unsafe.Pointer, length int, offset uintptr) TimeArray
func UnsafeUint8Array(base unsafe.Pointer, length int, offset uintptr) Uint8Array