fightingdreamer / npm-math-modulo

Several variants of modulo operation

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

math-modulo

Description

Several variants of modulo operation.

Install

bun add @fightingdreamer/math-modulo

Usage

import {flooredModulo} from '@fightingdreamer/math-modulo';

const result = flooredModulo(-1, 4)
const expect = 3
console.assert(result == expect)

Usage (node / commonjs)

const {flooredModulo} = require('@fightingdreamer/math-modulo');

const result = flooredModulo(-1, 4)
const expect = 3
assert(result == expect)

Functions

function truncatedModulo(value: number, divisor: number): number

Based on truncated division, result have the same sign as the value.

function euclideanModulo(value: number, divisor: number): number

Based on euclidean division, result is always non negative.

function flooredModulo(value: number, divisor: number): number

Based on floored division, result have the same sign as the divisor.

function roundedModulo(value: number, divisor: number): number

Based on rounded division, result have sign and falls between divisor/-2 and divisor/+2.

function ceiledModulo(value: number, divisor: number): number

Based on ceiled division, result have the opposite sign as the divisor.

About

Several variants of modulo operation


Languages

Language:TypeScript 96.4%Language:JavaScript 3.6%