modulo

import { modulo } from "jsr:@ende/math";

function

function modulo(num: number, modulus: number): number

Computes the floored modulo of a number.

num: number

The number to be reduced

modulus: number

The modulus

Returns

The reduced number

Example: Usage

import { modulo } from "@ende/math/modulo";
import { assertEquals } from "@ende/assert";

for (let n = -3; n <= 3; ++n) {
 const val = n * 12 + 5;
 // 5 o'clock is always 5 o'clock, no matter how many twelve-hour cycles you add or remove
 assertEquals(modulo(val, 12), 5);
}

Source