Чтение онлайн

ЖАНРЫ

Julia. Язык программирования. Быстрый старт
Шрифт:

–0.0

julia> -1/-Inf

0.0

julia> 500 + Inf

Inf

julia> 500 – Inf

–Inf

julia> Inf + Inf

Inf

julia> -Inf -Inf

–Inf

julia> Inf – Inf

NaN

julia> Inf * Inf

Inf

julia> Inf*-Inf

–Inf

julia> -Inf * -Inf

Inf

julia> Inf / Inf

NaN

julia> Inf /-Inf

NaN

julia> -Inf /Inf

NaN

julia> -Inf /-Inf

NaN

julia> 0 * Inf

NaN

julia> 0 *-Inf

NaN

Тип NaN

NaN

не равно, не меньше и не больше чего-либо, включая самого себя:

julia> NaN == NaN

false

julia> NaN != NaN

true

julia> NaN < NaN

false

julia> NaN > NaN

false

Это может вызвать проблемы, например

при работе с массивами:

julia> [1 NaN] == [1 NaN]

false

Функции Julia для работы со специальными значениями:

Функция isequal считает NaNs равными друг другу:

julia> isequal(NaN, NaN)

true

julia> isequal([1 NaN], [1 NaN])

true

julia> isequal(NaN, NaN32)

true

Функцию isequal можно также использовать для различения знаковых нулей:

julia> -0.0 == 0.0

true

julia> isequal(-0.0, 0.0)

false

Машинный эпсилон

Большинство реальных чисел не могут быть точно представлены числами с плавающей точкой, поэтому для многих целей важно знать расстояние между двумя соседними представляемыми числами с плавающей точкой, которое часто называют машинным эпсилоном.

Функция eps в Julia дает расстояние между 1.0 и следующим большим значением с плавающей точкой, при использовании в качестве аргумента типа числа с плавающей точкой:

Конец ознакомительного фрагмента.

Поделиться с друзьями: