Module: Bang::NumericMixin
- Included in:
- Numeric
- Defined in:
- lib/bang.rb
Overview
Mixin for Numeric class that adds #within? and #close?.
Instance Method Summary collapse
-
#close?(other, epsilon) ⇒ true, false
Is this value within a given relative
epsilonof another?. -
#within?(other, delta) ⇒ true, false
Is this value within a given absolute
deltaof another?.
Instance Method Details
#close?(other, epsilon) ⇒ true, false
Is this value within a given relative epsilon of another?
238 239 240 241 242 243 244 |
# File 'lib/bang.rb', line 238 def close?(other, epsilon) a, b, e = self.to_f, other.to_f, epsilon.to_f d = b * e (b - d) <= a && (b + d) >= a end |
#within?(other, delta) ⇒ true, false
Is this value within a given absolute delta of another?
227 228 229 230 231 |
# File 'lib/bang.rb', line 227 def within?(other, delta) a, b, d = self.to_f, other.to_f, delta.to_f (b - d) <= a && (b + d) >= a end |