Да, эти функции действуют по-другому. Как определено в официальной документации :
quot
целочисленное деление, усеченное до нуля
rem
- целочисленный остаток, удовлетворяющий:
(x `quot` y)*y + (x `rem` y) == x
div
целочисленное деление, усеченное до отрицательной бесконечности
mod
является целочисленным модулем, удовлетворяющим:
(x `div` y)*y + (x `mod` y) == x
Вы действительно можете заметить разницу, если вы используете отрицательное число в качестве второго параметра, а результат не равен нулю:
5 `mod` 3 == 2
5 `rem` 3 == 2
5 `mod` (-3) == -1
5 `rem` (-3) == 2
(-5) `mod` 3 == 1
(-5) `rem` 3 == -2
(-5) `mod` (-3) == -2
(-5) `rem` (-3) == -2
mod
улус ==rem
айндер.