'use strict' var num2bn = require('./num-to-bn') var sign = require('./bn-sign') module.exports = rationalize function rationalize(numer, denom) { var snumer = sign(numer) var sdenom = sign(denom) if(snumer === 0) { return [num2bn(0), num2bn(1)] } if(sdenom === 0) { return [num2bn(0), num2bn(0)] } if(sdenom < 0) { numer = numer.neg() denom = denom.neg() } var d = numer.gcd(denom) if(d.cmpn(1)) { return [ numer.div(d), denom.div(d) ] } return [ numer, denom ] }