chore: move from tools/dsa
All checks were successful
CI / lint (pull_request) Successful in 51s
CI / unit-test (pull_request) Successful in 25s
CI / mutation-test (pull_request) Successful in 2m44s
CI / fuzz-test (pull_request) Successful in 1m2s

Moved the implementation of this hash table from `tools/dsa` #1.
This commit is contained in:
2026-03-16 21:10:08 -04:00
parent 553117cb30
commit b762417b80
18 changed files with 1022 additions and 0 deletions

17
compare.go Normal file
View File

@@ -0,0 +1,17 @@
package cuckoo
// An EqualFunc determines whethers two keys are 'equal'. Keys that are 'equal'
// are teated as the same by the [Table]. A good EqualFunc is pure,
// deterministic, and fast. By default, [NewTable] uses [DefaultEqualFunc].
//
// This function MUST NOT return true if the [Hash] digest of two keys
// are different: the [Table] will not work.
type EqualFunc[K any] = func(a, b K) bool
// DefaultEqualFunc compares two keys by strict equality. Returns true if the
// keys have [equal values].
//
// [equal values]: https://go.dev/ref/spec#Comparison_operators
func DefaultEqualFunc[K comparable](a, b K) bool {
return a == b
}