def METHOD_NAME(self, value: float) -> int:
    """
    Maps positive floating point values to indexes corresponding to scale.
    """
    # value is subnormal
    if value <= MIN_NORMAL_VALUE:
        return self._min_normal_lower_boundary_index - 1
    # value is an exact power of two.
    if get_ieee_754_mantissa(value) == 0:
        exponent = get_ieee_754_exponent(value)
        return (exponent << self._scale) - 1
    return min(
        floor(log(value) * self._scale_factor),
        self._max_normal_lower_boundary_index,
    )