private def beCloseTo()

in algebird-test/src/main/scala/com/twitter/algebird/MetricProperties.scala [28:38]


  private def beCloseTo(a: Double, b: Double, eps: Double = 1e-10): Boolean =
    a == b || (math.abs(a - b) / math.abs(a)) < eps || (a.isInfinite && b.isInfinite)

  private def beGreaterThan(a: Double, b: Double, eps: Double = 1e-10): Boolean =
    a > b - eps || (a.isInfinite && b.isInfinite)

  def isNonNegative[T: Metric: Arbitrary]: Prop =
    forAll { (a: T, b: T) =>
      val m = Metric(a, b)
      beGreaterThan(m, 0.0) || beCloseTo(m, 0.0)
    }