tough-rational
Version:
Rational class using BigInt with fallback to bignumber.js
10 lines (7 loc) • 411 B
JavaScript
;
const util = require('../util');
const parse = require('./parse');
const compat = require('../compat');
const isFloatingPoint = require('./is-floating-point');
const addOneToFloor = util.flow(require('./floor'), util.partialRight(require('./plus'), compat.testForBigInt() ? parse.parseFromBigInt(BigInt(1)) : [ 1, 1 ]));
module.exports = (n) => isFloatingPoint(n) ? addOneToFloor(n) : floor(n);