10 lines
209 B
Text
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
|