Module: Drip::ArrayBsearch
- Included in:
- FakeRBTree, ImmutableDrip, SortedArray
- Defined in:
- lib/drip.rb
Class Method Summary collapse
Class Method Details
.lower_boundary(ary, key) ⇒ Object
398 399 400 401 402 403 404 405 406 407 408 409 410 |
# File 'lib/drip.rb', line 398 def lower_boundary(ary, key) lower = -1 upper = ary.size while lower + 1 != upper mid = (lower + upper).div(2) if (ary[mid][0] <=> key) < 0 lower = mid else upper = mid end end return upper end |
.upper_boundary(ary, key) ⇒ Object
412 413 414 415 416 417 418 419 420 421 422 423 424 |
# File 'lib/drip.rb', line 412 def upper_boundary(ary, key) lower = -1 upper = ary.size while lower + 1 != upper mid = (lower + upper).div(2) if (ary[mid][0] <=> key) <= 0 lower = mid else upper = mid end end return lower + 1 end |