Axiom Справочник языка

Справочник языка

Числа и математика

Числовые значения в Axiom различаются диапазоном и точностью, поэтому выбранный тип определяет, какие результаты представимы без потерь. Глава собирает числовые типы и встроенные функции: модуль и знак, корни и степени, логарифмы, округление, преобразования и псевдослучайные числа. Общие правила вычислений собраны ниже, устройство каждой группы описано на отдельной странице.

Числовые значения

Целые числа хранит INTEGER — от −2147483648 до 2147483647; для более широкого диапазона служит LONG — от −9223372036854775808 до 9223372036854775807. DOUBLE хранит приближённые двоичные числа, DECIMAL — десятичные числа в пределах своего диапазона. Тип результата не всегда совпадает с типом аргумента: INT возвращает INTEGER, а математические функции вроде SIN — DOUBLE, поэтому в длинном вычислении полезно заранее решить, где нужна целая арифметика, а где допустима приближённая.

Числа передаются выражениями. Строка с цифрами числом не является: чтобы использовать её в вычислении, нужно явное преобразование, и выбирать его следует по требуемому результату. Точность типов и допустимые преобразования описаны на страницах диапазонов типов и преобразований.

Группы функций

Функции сгруппированы по задаче, а не по алфавиту: рядом стоят те, что решают один круг вопросов.

Выбор правила округления

INT округляет вниз, а FIX и CINT отбрасывают дробную часть к нулю. На положительном числе разницы не видно, на отрицательном она проявляется сразу:

PRINT INT(-2.8)
PRINT FIX(-2.8)
PRINT CINT(-2.8)

Ожидаемый вывод:

-3
-2
-2

Для −2.8 INT уходит к меньшему целому −3, тогда как FIX и CINT сохраняют целую часть −2.