big-rat
    DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/big-rat package

    1.0.4 • Public • Published

    big-rat

    Arbitrary precision rational number arithmetic

    build status

    Example

    Program

    var rat = require('big-rat')
     
    //Construct a pair of rational numbers;
    //   a = 1/10
    //   b = 2/10
    var a = rat(1, 10)
    var b = rat(2, 10)
     
    //Compute their sum
    var add = require('big-rat/add')
    var c = add(a, b)
     
    //Print out sum
    var toString = require('big-rat/to-string')
    console.log('a+b=', toString(c))
     
    //And also convert to a number
    var toFloat = require('big-rat/to-float')
    console.log('exact rational result:', toFloat(c))
     
    //For comparison, here is the same computation performed with floats
    var x = 0.1
    var y = 0.2
    console.log('approximate float result:', x + y)

    Output

    a+b= 3/10
    exact rational result: 0.3
    approximate float result: 0.30000000000000004
    

    Install

    npm i big-rat
    

    API

    var r = require('big-rat')(n[, d])

    Constructs a rational number as the quotient n/d

    • n is the numerator. Can be a float, string, bignum or rational
    • d is the denominator (optional, default 1)

    Returns A rational number

    var f = require('big-rat/to-float')(r)

    Returns The closest floating point number to r

    var s = require('big-rat/to-string')(r)

    Returns A string representing the big rat r

    var b = require('big-rat/is-rat')(r)

    Returns true if r is a big rat

    var c = require('big-rat/add')(a, b)

    Returns a+b

    var c = require('big-rat/sub')(a, b)

    Returns a-b

    var c = require('big-rat/mul')(a, b)

    Returns a*b

    var c = require('big-rat/div')(a, b)

    Returns a/b

    var c = require('big-rat/neg')(a)

    Returns -a

    var c = require('big-rat/recip')(a)

    Returns 1/a

    var c = require('big-rat/sign')(a)

    Returns One of the following values:

    • -1 if a<0
    • 0 if a=0
    • +1 if a>0

    var c = require('big-rat/abs')(a)

    Returns |a|

    var c = require('big-rat/min')(a, b)

    Returns min(a,b)

    var c = require('big-rat/max')(a, b)

    Returns max(a,b)

    var c = require('big-rat/equals')(a, b)

    Returns true if a=b, false otherwise

    var c = require('big-rat/cmp')(a, b)

    Returns

    • -1 if a<b
    • 0 if a=b
    • +1 if a>b

    License

    (c) 2015 MIT License

    Install

    npm i big-rat

    DownloadsWeekly Downloads

    121,595

    Version

    1.0.4

    License

    MIT

    Last publish

    Collaborators

    • mikolalysenko
    • tmpvar