module SMF::SearchSegment

Public Instance Methods

search_segment(a) { |a) <= 0| ... } click to toggle source
# File lib/smf/toy/searchsegment.rb, line 8
def search_segment(a)
  l = 0
  u = a.size
  while l < u
    m = ((l + u) / 2).truncate
    if (yield a[m]) <= 0
      l = m + 1
    else
      u = m
    end
  end
  l - 1
end