class Invariant::SingleTarget

Public Class Methods

new(phi, epsilon) click to toggle source
# File lib/quantile_estimator/invariant.rb, line 19
def initialize(phi, epsilon)
  @phi = phi
  @epsilon = epsilon
end

Public Instance Methods

upper_bound(rank, n) click to toggle source
# File lib/quantile_estimator/invariant.rb, line 24
def upper_bound(rank, n)
  if @phi * n <= rank
    (2 * @epsilon * rank) / @phi
  else
    (2 * @epsilon * (n - rank)) / (1 - @phi)
  end
end