Функция ulp
Функция ulp возвращает величину единицы в последнем разряде (Unit in the Last Place) для числа с плавающей точкой. Это расстояние между переданным числом и следующим ближайшим числом того же типа. Применяется к числам типа Float или Double.
Импорт
import kotlin.math.ulp
Синтаксис
fun Double.ulp(): Double
fun Float.ulp(): Float
Пример
Получим ULP для числа 1.0 типа Double:
val num: Double = 1.0
val res: Double = num.ulp()
println(res)
Результат выполнения кода:
Double 2.220446049250313E-16
Пример
Получим ULP для числа 1.0F типа Float:
val num: Float = 1.0F
val res: Float = num.ulp()
println(res)
Результат выполнения кода:
Float 1.1920929E-7
Пример
Получим ULP для специальных значений типа Double:
println(Double.POSITIVE_INFINITY.ulp())
println(Double.NaN.ulp())
println(0.0.ulp())
Результат выполнения кода:
Double Infinity
Double NaN
Double 4.9E-324