RosettaCodeData/Task/Binary-search/Hoon/binary-search.hoon
2023-07-01 13:44:08 -04:00

10 lines
209 B
Text

|= [arr=(list @ud) x=@ud]
=/ lo=@ud 0
=/ hi=@ud (dec (lent arr))
|-
?> (lte lo hi)
=/ mid (div (add lo hi) 2)
=/ val (snag mid arr)
?: (lth x val) $(hi (dec mid))
?: (gth x val) $(lo +(mid))
mid