Class: Invariant::SingleTarget

Inherits:
Invariant show all
Defined in:
lib/quantile_estimator/invariant.rb

Instance Method Summary collapse

Constructor Details

#initialize(phi, epsilon) ⇒ SingleTarget

Returns a new instance of SingleTarget.



19
20
21
22
# File 'lib/quantile_estimator/invariant.rb', line 19

def initialize(phi, epsilon)
  @phi = phi
  @epsilon = epsilon
end

Instance Method Details

#upper_bound(rank, n) ⇒ Object



24
25
26
27
28
29
30
# 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