def binaryRange()

in atlas-core/src/main/scala/com/netflix/atlas/core/util/UnitPrefix.scala [157:172]


  def binaryRange(value: Double, digits: Double): UnitPrefix = {
    val f = math.pow(10.0, digits)

    def withinRange(prefix: UnitPrefix, v: Double): Boolean = {
      val a = math.abs(v)
      a >= prefix.factor / f && a < prefix.factor * f
    }
    math.abs(value) match {
      case v if isNearlyZero(v)      => one
      case v if !JDouble.isFinite(v) => one
      case v if withinRange(one, v)  => one
      case v if v >= kibi.factor / f => binaryPrefixes.find(withinRange(_, v)).getOrElse(yobi)
      case v if v < 1.0 / f => decimalSmallPrefixes.find(withinRange(_, v)).getOrElse(yocto)
      case _                => one
    }
  }