๐Ÿ’พmodulo(a, b)

modulo

JS โŸฉ operator โŸฉ arithmetic โŸฉ modulo

modulo(a, b) returns the modulo of a / b. (b decides the sign of the modulo)

(๐Ÿ‘‰ see remainder vs. modulo vs. mod for more info)

// โญ๏ธ modulo: r = a - b*q
// ------------------------
// โ€ข r has same sign as b.
//   (that is, `b` decides the "sign" of the result)
function modulo(a, b) {
    return ((a % b) + b) % b
}

๐Ÿ’ˆ็ฏ„ไพ‹๏ผš

// remainder (a % b)
//โ”Œโ”€โ”€โ”€ `a` decides the "sign" โญ๏ธ
//โ”‚
  5 %  3,    //  2
  5 % -3,    //  2
 -5 %  3,    // -2
 -5 % -3,    // -2

// โญ๏ธ modulo(a, b)
//          โ”Œโ”€โ”€โ”€ `b` decides the "sign" โญ๏ธ
//          โ”‚ 
modulo( 5,  3),    //  2
modulo( 5, -3),    // -1
modulo(-5,  3),    //  1
modulo(-5, -3),    // -2

modulo(6.4, 2.3),     //  1.8000000000000007

// mod(a, b) (in math)
//                    โ”Œโ”€โ”€โ”€ always >= 0 โญ๏ธ
//                    โ”‚ 
mod( 5,  3),       // 2
mod( 5, -3),       // 2
mod(-5,  3),       // 1
mod(-5, -3),       // 1

Last updated