Песочница

Числовые процедуры

Числовые процедуры охватывают точную арифметику, смешанную конечную real-арифметику, точное сравнение, целочисленное деление, округление, gcd/lcm, целую степень и exact integer sqrt.

Кратко

LISPEX
(call-with-values (lambda () (exact-integer-sqrt 20)) list)

Результат

OUTPUT
(4 4)

Текущие гарантии

  • + - * / вариативны по контракту; сравнения требуют минимум два аргумента; целочисленные операции отвергают нецелые.
  • floor/ и truncate/ возвращают частное и остаток двумя значениями.
  • expt принимает точный целый показатель; exact-integer-sqrt возвращает корень и остаток.

Числовые сигнатуры

СигнатураРезультатГраница ошибки
(+ number ...) / (* number ...)число; точное без неточных операндовE312 тип; E314 не конечное
(/ number number ...)точное рациональное или конечное realE313 нулевой делитель; E314 не конечное
(floor/ integer integer)два значения: частное, остатокE312 нецелое; E313 нулевой делитель
(expt number exact-integer)число с точностью основанияE313 точный ноль в отрицательной степени; E314 непредставимо
(exact-integer-sqrt точное неотрицательное целое)два точных значения: корень, остатокE312 домен

Границы

  • Общие трансцендентные функции и не конечные значения отсутствуют.