1.0.5 • Published 2 years ago

nv-number-rational v1.0.5

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

nv-number-rational

  • nv-number-rational
  • change to bigint only
  • its slow, for nvlang test

install

  • npm install nv-number-rational

usage

example

const {R} = require("nv-number-rational");

  var r0 = new R(2n,3n)
  var r1 = new R(4n,6n)
  
  /*
  > r0
  R [2/3] {}
  > r1
  R [2/3] {}
  >
  > r0.eq(r1)
  true
  >
  */
  
  var r2 = new R(1n,4n)
  /*
  > r1.add(r2)
  R [11/12] {}
  >
  */
  
  > r1.sub(r2)
  R [5/12] {}
  >
  
  > r1.mul(r2)
  R [1/6] {}
  >
  
  > r1.div(r2)
  R [8/3] {}
  >
  
  > r1.inv()
  R [3/2] {}
  >
  > r1.pow(3)
  R [8/27] {}
  >



    > r = new R(4n,1n)
    R [4/1] {}
    > r.fac()
    R [24/1] {}
    >

    // if expo is not Interger
    // it is slow, coz use generator ,and create many Object,  just for test
    var expo = new R(1n,2n)
    R [1/2] {}
    > r.pow(expo)
    R [369605/262144] {}
    > 369605/262144
    1.4099311828613281


    > r.pow(expo,20n)
    R [9047671586969002/6404673143616437] {}
    > 9047671586969002/6404673143616437
    1.412667185988539
    >
    > r.pow(expo,30n)
    R [1027024547004035/726651436273238] {}
    >
    > 1027024547004035/726651436273238
    1.413366155678869
    >
    > 1.413 **2
    1.996569

    > r.pow(expo,100n)
    R [9689389663632316/6852113954983295] {}
    > 9689389663632316/6852113954983295
    1.4140730477177152
    >

    > 1.4140730477177152 **2
    1.9996025842816678

APIS

    {
      rq: [Function: rq],
      inrng: [Function: inrng],
      interval: [Function: interval],
      get_rng: [Function: get_rng],
      _gcd: [Function: _gcd],
      gcd: [Function: gcd],
      _lcm: [Function: _lcm],
      lcm: [Function: lcm],
      R: [class R],
      ZERO: R [0/1] {},
      ONE: R [1/1] {},
      _pow: [Function: _pow],
      add: [Function: add],
      sub: [Function: sub],
      mul: [Function: mul],
      div: [Function: div],
      lt: [Function: lt],
      le: [Function: le],
      eq: [Function: eq],
      gt: [Function: gt],
      ge: [Function: ge],
      gen_fac: [GeneratorFunction: gen_fac],
      gen_pow: [GeneratorFunction: gen_pow]
    }

LICENSE

  • ISC
1.0.2

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.1

2 years ago

1.0.0

3 years ago