Website : rimsha.abasa.com
backdoor
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
var
/
canvas
/
node_modules
/
ramda
/
src
/
Filename :
mathMod.js
back
Copy
var _curry2 = /*#__PURE__*/ require("./internal/_curry2"); var _isInteger = /*#__PURE__*/ require("./internal/_isInteger"); /** * `mathMod` behaves like the modulo operator should mathematically, unlike the * `%` operator (and by extension, [`R.modulo`](#modulo)). So while * `-17 % 5` is `-2`, `mathMod(-17, 5)` is `3`. `mathMod` requires Integer * arguments, and returns NaN when the modulus is zero or negative. * * @func * @memberOf R * @since v0.3.0 * @category Math * @sig Number -> Number -> Number * @param {Number} m The dividend. * @param {Number} p the modulus. * @return {Number} The result of `b mod a`. * @see R.modulo * @example * * R.mathMod(-17, 5); //=> 3 * R.mathMod(17, 5); //=> 2 * R.mathMod(17, -5); //=> NaN * R.mathMod(17, 0); //=> NaN * R.mathMod(17.2, 5); //=> NaN * R.mathMod(17, 5.3); //=> NaN * * const clock = R.mathMod(R.__, 12); * clock(15); //=> 3 * clock(24); //=> 0 * * const seventeenMod = R.mathMod(17); * seventeenMod(3); //=> 2 * seventeenMod(4); //=> 1 * seventeenMod(10); //=> 7 */ var mathMod = /*#__PURE__*/ _curry2(function mathMod(m, p) { if (!_isInteger(m)) { return NaN; } if (!_isInteger(p) || p < 1) { return NaN; } return (m % p + p) % p; }); module.exports = mathMod;