MCPcopy Create free account
hub / github.com/egonelbre/exp / SearchSentinel

Function SearchSentinel

sentinels/linear.go:25–36  ·  view source on GitHub ↗

requires -gcflags="-B" to be effective

(items []int, elem int)

Source from the content-addressed store, hash-verified

23
24// requires -gcflags="-B" to be effective
25func SearchSentinel(items []int, elem int) (i int) {
26 var last int
27 last, items[len(items)-1] = items[len(items)-1], elem
28 for items[i] != elem {
29 i++
30 }
31 if i+1 == len(items) && last != elem {
32 i++
33 }
34 items[len(items)-1] = last
35 return i
36}
37
38func SearchUnsafe(items []int, elem int) (i int) {
39 var last int

Callers 1

BenchmarkSearch_SentinelFunction · 0.85

Calls

no outgoing calls

Tested by 1

BenchmarkSearch_SentinelFunction · 0.68