Функции работы с числами

Частное и остаток от деления

(floor number &optional divisor) => quotient, modulus
(ceiling number &optional divisor) => quotient, remainder
(truncate number &optional divisor) => quotient, remainder
(round number &optional divisor) => quotient, remainder
(mod number divisor) => modulus
(rem number divisor) => remainder

(mod n d) => второе значение (floor n d)
(rem n d) => второе значение (truncate n d)

Делитель divisor - ненулевое число, по умолчанию целое 1.

Частное quotient представляет математически целое число. Точнее:

Остаток modulus или remainder является

Примеры
(floor 3/2) =>  1, 1/2
(floor 3 2) =>  1, 1
(ceiling 3 2) =>  2, -1
(truncate 3 2) =>  1, 1
(truncate .5) =>  0, 0.5
(round .5) =>  0, 0.5
Тонкое отличие (floor (/ x y)) и (floor x y)

Дословная интерпретация первого:

  1. создание рационального числа (выделение памяти в стеке или из кучи, нормализация),
  2. передача его в качестве аргумента floor.

Второе же передаёт оба аргумента через стек, не требует конструирования рационального числа.