UNPKG

tough-rational

Version:

Rational class using BigInt with fallback to bignumber.js

10 lines (7 loc) 411 B
'use strict'; 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);