package hashprobe
Import Path
github.com/parquet-go/parquet-go/hashprobe (on go.dev)
Dependency Relation
imports 11 packages, and imported by one package
Involved Source Files
Package hashprobe provides implementations of probing tables for various
data types.
Probing tables are specialized hash tables supporting only a single
"probing" operation which behave like a "lookup or insert". When a key
is probed, either its value is retrieved if it already existed in the table,
or it is inserted and assigned its index in the insert sequence as value.
Values are represented as signed 32 bits integers, which means that probing
tables defined in this package may contain at most 2^31-1 entries.
Probing tables have a method named Probe with the following signature:
func (t *Int64Table) Probe(keys []int64, values []int32) int {
...
}
The method takes an array of keys to probe as first argument, an array of
values where the indexes of each key will be written as second argument, and
returns the number of keys that were inserted during the call.
Applications that need to determine which keys were inserted can capture the
length of the probing table prior to the call, and scan the list of values
looking for indexes greater or equal to the length of the table before the
call.
hashprobe_amd64.go
hashprobe_amd64.s
Package-Level Type Names (total 7)
(*Float32Table) Cap() int
(*Float32Table) Len() int
(*Float32Table) Probe(keys []float32, values []int32) int
(*Float32Table) ProbeArray(keys sparse.Float32Array, values []int32) int
(*Float32Table) Reset()
func NewFloat32Table(cap int, maxLoad float64) *Float32Table
(*Float64Table) Cap() int
(*Float64Table) Len() int
(*Float64Table) Probe(keys []float64, values []int32) int
(*Float64Table) ProbeArray(keys sparse.Float64Array, values []int32) int
(*Float64Table) Reset()
func NewFloat64Table(cap int, maxLoad float64) *Float64Table
(*Int32Table) Cap() int
(*Int32Table) Len() int
(*Int32Table) Probe(keys, values []int32) int
(*Int32Table) ProbeArray(keys sparse.Int32Array, values []int32) int
(*Int32Table) Reset()
func NewInt32Table(cap int, maxLoad float64) *Int32Table
(*Int64Table) Cap() int
(*Int64Table) Len() int
(*Int64Table) Probe(keys []int64, values []int32) int
(*Int64Table) ProbeArray(keys sparse.Int64Array, values []int32) int
(*Int64Table) Reset()
func NewInt64Table(cap int, maxLoad float64) *Int64Table
(*Uint128Table) Cap() int
(*Uint128Table) Len() int
(*Uint128Table) Probe(keys [][16]byte, values []int32) int
(*Uint128Table) ProbeArray(keys sparse.Uint128Array, values []int32) int
(*Uint128Table) Reset()
func NewUint128Table(cap int, maxLoad float64) *Uint128Table
Package-Level Functions (total 7)
func NewFloat32Table(cap int, maxLoad float64) *Float32Table func NewFloat64Table(cap int, maxLoad float64) *Float64Table func NewInt32Table(cap int, maxLoad float64) *Int32Table func NewInt64Table(cap int, maxLoad float64) *Int64Table func NewUint128Table(cap int, maxLoad float64) *Uint128Table func NewUint32Table(cap int, maxLoad float64) *Uint32Table func NewUint64Table(cap int, maxLoad float64) *Uint64Table
![]() |
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. |