{"_id":"fraction.js","_rev":"3943037","name":"fraction.js","description":"The RAW rational numbers library","dist-tags":{"latest":"5.3.4"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"time":{"modified":"2025-09-01T01:32:25.000Z","created":"2014-03-21T19:04:46.856Z","5.3.4":"2025-08-22T11:44:45.549Z","5.3.3":"2025-08-22T11:25:56.578Z","5.3.2":"2025-08-22T08:50:01.870Z","5.3.1":"2025-08-17T09:30:45.745Z","5.3.0":"2025-08-16T12:53:17.306Z","5.2.2":"2025-03-30T19:38:40.264Z","5.2.1":"2024-11-17T15:21:42.505Z","5.2.0":"2024-11-17T15:06:22.611Z","5.1.1":"2024-11-01T17:21:38.309Z","5.1.0":"2024-10-30T17:26:20.622Z","5.0.6":"2024-10-10T17:16:08.661Z","5.0.5":"2024-10-10T17:13:22.200Z","5.0.4":"2024-10-10T11:25:24.907Z","5.0.3":"2024-10-09T06:38:32.149Z","5.0.2":"2024-10-06T18:15:14.602Z","5.0.1":"2024-10-05T13:42:53.325Z","5.0.0":"2024-10-04T16:41:51.085Z","4.3.7":"2023-10-12T16:37:22.757Z","4.3.6":"2023-09-01T14:40:44.267Z","4.3.5":"2023-09-01T07:50:20.115Z","4.3.4":"2023-08-31T08:05:48.153Z","4.3.3":"2023-08-31T07:26:02.868Z","4.3.2":"2023-08-30T19:55:09.245Z","4.3.1":"2023-08-29T22:09:25.989Z","4.3.0":"2023-08-29T16:38:19.827Z","4.2.1":"2023-08-20T07:41:15.483Z","4.2.0":"2022-03-05T21:35:24.883Z","4.1.3":"2022-02-07T13:06:49.250Z","4.1.2":"2021-11-12T07:23:15.209Z","4.1.1":"2021-05-23T11:51:13.632Z","4.1.0":"2021-05-13T13:33:47.918Z","4.0.14":"2021-05-13T13:09:40.879Z","4.0.13":"2020-12-22T16:36:45.688Z","4.0.12":"2019-01-03T09:44:05.252Z","4.0.11":"2018-11-09T13:29:31.527Z","4.0.10":"2018-10-15T15:29:52.668Z","4.0.9":"2018-07-18T22:59:48.780Z","4.0.8":"2018-04-13T22:54:19.936Z","4.0.7":"2018-03-29T21:23:13.612Z","4.0.6":"2018-03-29T21:06:17.877Z","4.0.5":"2018-03-29T19:56:15.986Z","4.0.4":"2017-12-09T00:17:01.366Z","4.0.3":"2017-07-26T15:13:26.259Z","4.0.2":"2017-06-30T14:13:13.628Z","4.0.1":"2017-06-13T18:26:16.076Z","4.0.0":"2017-02-08T23:10:46.386Z","3.3.1":"2016-04-07T15:33:59.598Z","3.3.0":"2016-03-24T22:53:31.838Z","3.2.5":"2016-02-06T12:29:12.803Z","3.2.0":"2016-01-18T05:20:54.892Z","3.1.0":"2016-01-18T02:09:43.567Z","3.0.0":"2015-09-09T11:09:48.253Z","2.9.0":"2015-09-06T11:01:45.144Z","2.8.0":"2015-09-04T16:48:58.496Z","2.7.0":"2015-08-23T20:20:46.533Z","2.6.0":"2015-08-23T01:26:16.843Z","2.5.0":"2015-07-29T17:06:31.269Z","2.4.1":"2015-07-07T12:56:03.869Z","2.4.0":"2015-07-03T14:52:32.554Z","2.3.0":"2015-06-23T11:16:00.181Z","2.2.0":"2015-06-04T23:30:52.206Z","2.0.0":"2015-05-30T23:53:50.352Z","1.9.0":"2015-05-15T08:32:41.163Z","1.7.0":"2015-03-25T19:19:20.808Z","1.6.0":"2015-02-14T12:29:02.844Z","1.5.0":"2015-02-08T18:40:22.146Z","1.3.0":"2014-06-29T13:27:22.836Z","1.2.1":"2014-06-20T09:39:39.099Z","1.2.0":"2014-04-17T01:27:50.505Z","1.1.0":"2014-03-21T19:04:46.856Z"},"users":{"snowdream":true},"author":{"name":"Robert Eisele","email":"robert@raw.org","url":"https://raw.org/"},"repository":{"type":"git","url":"git+ssh://git@github.com/rawify/Fraction.js.git"},"versions":{"5.3.4":{"name":"fraction.js","title":"Fraction.js","version":"5.3.4","description":"The RAW rational numbers library","homepage":"https://raw.org/article/rational-numbers-in-javascript/","bugs":{"url":"https://github.com/rawify/Fraction.js/issues"},"keywords":["math","numbers","parser","ratio","fraction","fractions","rational","rationals","rational numbers","bigint","arbitrary precision","mixed numbers","decimal","numerator","denominator","simplification"],"private":false,"main":"./dist/fraction.js","module":"./dist/fraction.mjs","browser":"./dist/fraction.min.js","unpkg":"./dist/fraction.min.js","types":"./fraction.d.mts","exports":{".":{"types":{"import":"./fraction.d.mts","require":"./fraction.d.ts"},"import":"./dist/fraction.mjs","require":"./dist/fraction.js","browser":"./dist/fraction.min.js"},"./package.json":"./package.json"},"typesVersions":{"<4.7":{"*":["fraction.d.ts"]}},"sideEffects":false,"repository":{"type":"git","url":"git+ssh://git@github.com/rawify/Fraction.js.git"},"funding":{"type":"github","url":"https://github.com/sponsors/rawify"},"author":{"name":"Robert Eisele","email":"robert@raw.org","url":"https://raw.org/"},"license":"MIT","engines":{"node":"*"},"directories":{"example":"examples","test":"tests"},"scripts":{"build":"crude-build Fraction","test":"mocha tests/*.js"},"devDependencies":{"crude-build":"^0.1.2","mocha":"*"},"gitHead":"32737c93d0aa669efc51b326e40b07eb1b934afc","_id":"fraction.js@5.3.4","_nodeVersion":"16.20.1","_npmVersion":"8.19.4","dist":{"shasum":"8c0fcc6a9908262df4ed197427bdeef563e0699a","size":34715,"noattachment":false,"key":"/fraction.js/-/fraction.js-5.3.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-5.3.4.tgz"},"_npmUser":{"name":"infusion","email":"robert@raw.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/fraction.js_5.3.4_1755863085356_0.9758028844622426"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-08-22T11:44:45.549Z","publish_time":1755863085549,"_source_registry_name":"default","_cnpm_publish_time":1755863085549},"5.3.3":{"name":"fraction.js","title":"Fraction.js","version":"5.3.3","description":"The RAW rational numbers library","homepage":"https://raw.org/article/rational-numbers-in-javascript/","bugs":{"url":"https://github.com/rawify/Fraction.js/issues"},"keywords":["math","numbers","parser","ratio","fraction","fractions","rational","rationals","rational numbers","bigint","arbitrary precision","mixed numbers","decimal","numerator","denominator","simplification"],"private":false,"main":"./dist/fraction.js","module":"./dist/fraction.mjs","browser":"./dist/fraction.min.js","unpkg":"./dist/fraction.min.js","types":"./fraction.d.mts","exports":{".":{"types":"./fraction.d.mts","import":"./dist/fraction.mjs","require":"./dist/fraction.js","browser":"./dist/fraction.min.js"},"./package.json":"./package.json"},"typesVersions":{"<4.7":{"*":["fraction.d.ts"]}},"sideEffects":false,"repository":{"type":"git","url":"git+ssh://git@github.com/rawify/Fraction.js.git"},"funding":{"type":"github","url":"https://github.com/sponsors/rawify"},"author":{"name":"Robert Eisele","email":"robert@raw.org","url":"https://raw.org/"},"license":"MIT","engines":{"node":"*"},"directories":{"example":"examples","test":"tests"},"scripts":{"build":"crude-build Fraction","test":"mocha tests/*.js"},"devDependencies":{"crude-build":"^0.1.2","mocha":"*"},"gitHead":"1487ef8a53f34d4be5c3d7075ea4f64b9dd0761f","_id":"fraction.js@5.3.3","_nodeVersion":"16.20.1","_npmVersion":"8.19.4","dist":{"shasum":"fc226c4f2f8f0264ffd0659ffc19bbeb1bad8370","size":34672,"noattachment":false,"key":"/fraction.js/-/fraction.js-5.3.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-5.3.3.tgz"},"_npmUser":{"name":"infusion","email":"robert@raw.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/fraction.js_5.3.3_1755861956338_0.060757457361173994"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-08-22T11:25:56.578Z","publish_time":1755861956578,"_source_registry_name":"default","_cnpm_publish_time":1755861956578},"5.3.2":{"name":"fraction.js","title":"Fraction.js","version":"5.3.2","description":"The RAW rational numbers library","homepage":"https://raw.org/article/rational-numbers-in-javascript/","bugs":{"url":"https://github.com/rawify/Fraction.js/issues"},"keywords":["math","numbers","parser","ratio","fraction","fractions","rational","rationals","rational numbers","bigint","arbitrary precision","mixed numbers","decimal","numerator","denominator","simplification"],"private":false,"main":"./dist/fraction.js","module":"./dist/fraction.mjs","browser":"./dist/fraction.min.js","unpkg":"./dist/fraction.min.js","types":"./fraction.d.ts","exports":{".":{"import":{"types":"./fraction.d.mts","default":"./dist/fraction.mjs"},"require":{"types":"./fraction.d.ts","default":"./dist/fraction.js"},"browser":{"types":"./fraction.d.ts","default":"./dist/fraction.min.js"},"default":{"types":"./fraction.d.ts","default":"./dist/fraction.js"}},"./package.json":"./package.json"},"typesVersions":{"<4.7":{"*":["fraction.d.ts"]}},"sideEffects":false,"repository":{"type":"git","url":"git+ssh://git@github.com/rawify/Fraction.js.git"},"funding":{"type":"github","url":"https://github.com/sponsors/rawify"},"author":{"name":"Robert Eisele","email":"robert@raw.org","url":"https://raw.org/"},"license":"MIT","engines":{"node":"*"},"directories":{"example":"examples","test":"tests"},"scripts":{"build":"crude-build Fraction","test":"mocha tests/*.js"},"devDependencies":{"crude-build":"^0.1.2","mocha":"*"},"_id":"fraction.js@5.3.2","gitHead":"53dc57791ac9e967f0c1055f75b1fa7cf3c433c6","_nodeVersion":"22.18.0","_npmVersion":"10.9.3","dist":{"shasum":"eaab1b0dd41f459430845c4114a3c11b874ddff0","size":34933,"noattachment":false,"key":"/fraction.js/-/fraction.js-5.3.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-5.3.2.tgz"},"_npmUser":{"name":"infusion","email":"robert@raw.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/fraction.js_5.3.2_1755852601591_0.49530393542370943"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-08-22T08:50:01.870Z","publish_time":1755852601870,"_source_registry_name":"default","_cnpm_publish_time":1755852601870},"5.3.1":{"name":"fraction.js","title":"Fraction.js","version":"5.3.1","description":"The RAW rational numbers library","homepage":"https://raw.org/article/rational-numbers-in-javascript/","bugs":{"url":"https://github.com/rawify/Fraction.js/issues"},"keywords":["math","numbers","parser","ratio","fraction","fractions","rational","rationals","rational numbers","bigint","arbitrary precision","mixed numbers","decimal","numerator","denominator","simplification"],"private":false,"main":"./dist/fraction.js","module":"./dist/fraction.mjs","browser":"./dist/fraction.min.js","unpkg":"./dist/fraction.min.js","types":"./fraction.d.ts","exports":{".":{"import":{"types":"./fraction.d.mts","default":"./dist/fraction.mjs"},"require":{"types":"./fraction.d.ts","default":"./dist/fraction.js"},"browser":{"types":"./fraction.d.ts","default":"./dist/fraction.min.js"},"default":{"types":"./fraction.d.ts","default":"./dist/fraction.js"}},"./package.json":"./package.json"},"typesVersions":{"<4.7":{"*":["fraction.d.ts"]}},"sideEffects":false,"repository":{"type":"git","url":"git+ssh://git@github.com/rawify/Fraction.js.git"},"funding":{"type":"github","url":"https://github.com/sponsors/rawify"},"author":{"name":"Robert Eisele","email":"robert@raw.org","url":"https://raw.org/"},"license":"MIT","engines":{"node":"*"},"directories":{"example":"examples","test":"tests"},"scripts":{"build":"crude-build Fraction","test":"mocha tests/*.js"},"devDependencies":{"crude-build":"^0.1.2","mocha":"*"},"gitHead":"41e2ff9060e8082e772f4f97e33e4eac09c02af2","_id":"fraction.js@5.3.1","_nodeVersion":"16.20.1","_npmVersion":"8.19.4","dist":{"shasum":"4bfbb275a9d18627c497b608c64abcd620fcd537","size":34625,"noattachment":false,"key":"/fraction.js/-/fraction.js-5.3.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-5.3.1.tgz"},"_npmUser":{"name":"infusion","email":"robert@raw.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/fraction.js_5.3.1_1755423045546_0.8575935759354458"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-08-17T09:30:45.745Z","publish_time":1755423045745,"_source_registry_name":"default","_cnpm_publish_time":1755423045745},"5.3.0":{"name":"fraction.js","title":"Fraction.js","version":"5.3.0","description":"The RAW rational numbers library","homepage":"https://raw.org/article/rational-numbers-in-javascript/","bugs":{"url":"https://github.com/rawify/Fraction.js/issues"},"keywords":["math","numbers","parser","ratio","fraction","fractions","rational","rationals","rational numbers","bigint","arbitrary precision","mixed numbers","decimal","numerator","denominator","simplification"],"private":false,"main":"./dist/fraction.js","module":"./dist/fraction.mjs","browser":"./dist/fraction.min.js","unpkg":"./dist/fraction.min.js","types":"./fraction.d.ts","exports":{".":{"import":{"types":"./fraction.d.mts","default":"./dist/fraction.mjs"},"require":{"types":"./fraction.d.ts","default":"./dist/fraction.js"},"browser":{"types":"./fraction.d.ts","default":"./dist/fraction.min.js"},"default":{"types":"./fraction.d.ts","default":"./dist/fraction.js"}},"./package.json":"./package.json"},"typesVersions":{"<4.7":{"*":["fraction.d.ts"]}},"sideEffects":false,"repository":{"type":"git","url":"git+ssh://git@github.com/rawify/Fraction.js.git"},"funding":{"type":"github","url":"https://github.com/sponsors/rawify"},"author":{"name":"Robert Eisele","email":"robert@raw.org","url":"https://raw.org/"},"license":"MIT","engines":{"node":"*"},"directories":{"example":"examples","test":"tests"},"scripts":{"build":"crude-build Fraction","test":"mocha tests/*.js"},"devDependencies":{"crude-build":"^0.1.2","mocha":"*"},"_id":"fraction.js@5.3.0","gitHead":"93307c4fcf74c54f8a59fc307fb1eb6652e46c17","_nodeVersion":"22.18.0","_npmVersion":"10.9.3","dist":{"shasum":"ce9c8884cb9b7e3aafe080751fb24dc1e7d810c0","size":34955,"noattachment":false,"key":"/fraction.js/-/fraction.js-5.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-5.3.0.tgz"},"_npmUser":{"name":"infusion","email":"robert@raw.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/fraction.js_5.3.0_1755348797146_0.4019834634722155"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-08-16T12:53:17.306Z","publish_time":1755348797306,"_source_registry_name":"default","_cnpm_publish_time":1755348797306},"5.2.2":{"name":"fraction.js","title":"Fraction.js","version":"5.2.2","homepage":"https://raw.org/article/rational-numbers-in-javascript/","bugs":{"url":"https://github.com/rawify/Fraction.js/issues"},"description":"A rational numbers library","keywords":["math","numbers","parser","ratio","fraction","fractions","rational","rationals","rational numbers","bigint","arbitrary precision","mixed numbers","decimal","numerator","denominator","simplification"],"private":false,"main":"./dist/fraction.js","module":"./dist/fraction.mjs","types":"./fraction.d.ts","browser":"./dist/fraction.min.js","unpkg":"./dist/fraction.min.js","exports":{".":{"types":"./fraction.d.ts","require":"./dist/fraction.js","import":"./dist/fraction.mjs"}},"repository":{"type":"git","url":"git+ssh://git@github.com/rawify/Fraction.js.git"},"funding":{"type":"github","url":"https://github.com/sponsors/rawify"},"author":{"name":"Robert Eisele","email":"robert@raw.org","url":"https://raw.org/"},"license":"MIT","engines":{"node":">= 12"},"directories":{"example":"examples","test":"tests"},"scripts":{"build":"crude-build Fraction","test":"mocha tests/*.js"},"devDependencies":{"crude-build":"^0.1.2","mocha":"*"},"gitHead":"859b36ee3de85172343b1cee23f3fb5d018ed091","_id":"fraction.js@5.2.2","_nodeVersion":"16.20.1","_npmVersion":"8.19.4","dist":{"shasum":"c1295bc47307c5f93f75790859645fd74edaa195","size":34170,"noattachment":false,"key":"/fraction.js/-/fraction.js-5.2.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-5.2.2.tgz"},"_npmUser":{"name":"infusion","email":"robert@raw.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/fraction.js_5.2.2_1743363520027_0.904749352464834"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-03-30T19:38:40.264Z","publish_time":1743363520264,"_source_registry_name":"default","_cnpm_publish_time":1743363520264},"5.2.1":{"name":"fraction.js","title":"Fraction.js","version":"5.2.1","homepage":"https://raw.org/article/rational-numbers-in-javascript/","bugs":{"url":"https://github.com/rawify/Fraction.js/issues"},"description":"A rational numbers library","keywords":["math","numbers","parser","ratio","fraction","fractions","rational","rationals","rational numbers","bigint","arbitrary precision","mixed numbers","decimal","numerator","denominator","simplification"],"private":false,"main":"./dist/fraction.js","module":"./dist/fraction.mjs","types":"./fraction.d.ts","browser":"./dist/fraction.min.js","unpkg":"./dist/fraction.min.js","exports":{".":{"types":"./fraction.d.ts","require":"./dist/fraction.js","import":"./dist/fraction.mjs"}},"repository":{"type":"git","url":"git+ssh://git@github.com/rawify/Fraction.js.git"},"funding":{"type":"github","url":"https://github.com/sponsors/rawify"},"author":{"name":"Robert Eisele","email":"robert@raw.org","url":"https://raw.org/"},"license":"MIT","engines":{"node":">= 12"},"directories":{"example":"examples","test":"tests"},"scripts":{"build":"crude-build Fraction","test":"mocha tests/*.js"},"devDependencies":{"crude-build":"^0.1.2","mocha":"*"},"gitHead":"2bb7b050a8916b649ba08edfe23babdc0846ec3f","_id":"fraction.js@5.2.1","_nodeVersion":"16.20.1","_npmVersion":"8.19.4","dist":{"shasum":"93ffc9507b1a68a1271883aa28e98f58a1c0c6b3","size":23427,"noattachment":false,"key":"/fraction.js/-/fraction.js-5.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-5.2.1.tgz"},"_npmUser":{"name":"infusion","email":"robert@raw.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fraction.js_5.2.1_1731856902328_0.8971725221069871"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-11-17T15:21:42.505Z","publish_time":1731856902505,"_source_registry_name":"default","_cnpm_publish_time":1731856902505},"5.2.0":{"name":"fraction.js","title":"Fraction.js","version":"5.2.0","homepage":"https://raw.org/article/rational-numbers-in-javascript/","bugs":{"url":"https://github.com/rawify/Fraction.js/issues"},"description":"A rational numbers library","keywords":["math","numbers","parser","ratio","fraction","fractions","rational","rationals","rational numbers","bigint","arbitrary precision","mixed numbers","decimal","numerator","denominator","simplification"],"private":false,"main":"./dist/fraction.js","module":"./dist/fraction.mjs","types":"./fraction.d.ts","browser":"./dist/fraction.min.js","unpkg":"./dist/fraction.min.js","exports":{".":{"types":"./fraction.d.ts","require":"./dist/fraction.js","import":"./dist/fraction.mjs"}},"repository":{"type":"git","url":"git+ssh://git@github.com/rawify/Fraction.js.git"},"funding":{"type":"github","url":"https://github.com/sponsors/rawify"},"author":{"name":"Robert Eisele","email":"robert@raw.org","url":"https://raw.org/"},"license":"MIT","engines":{"node":">= 12"},"directories":{"example":"examples","test":"tests"},"scripts":{"build":"crude-build Fraction","test":"mocha tests/*.js"},"devDependencies":{"crude-build":"^0.1.2","mocha":"*"},"gitHead":"6f9d1240a7935bb03b5459c8af6eb84ad0601e0d","_id":"fraction.js@5.2.0","_nodeVersion":"16.20.1","_npmVersion":"8.19.4","dist":{"shasum":"beaec5444a9a008b0a946209eb046c0000e36a52","size":23386,"noattachment":false,"key":"/fraction.js/-/fraction.js-5.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-5.2.0.tgz"},"_npmUser":{"name":"infusion","email":"robert@raw.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fraction.js_5.2.0_1731855982328_0.6907883715744261"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-11-17T15:06:22.611Z","publish_time":1731855982611,"_source_registry_name":"default","_cnpm_publish_time":1731855982611},"5.1.1":{"name":"fraction.js","title":"Fraction.js","version":"5.1.1","homepage":"https://raw.org/article/rational-numbers-in-javascript/","bugs":{"url":"https://github.com/rawify/Fraction.js/issues"},"description":"A rational numbers library","keywords":["math","numbers","parser","ratio","fraction","fractions","rational","rationals","rational numbers","bigint","arbitrary precision","mixed numbers","decimal","numerator","denominator","simplification"],"private":false,"main":"./dist/fraction.js","module":"./dist/fraction.mjs","types":"./fraction.d.ts","browser":"./dist/fraction.min.js","unpkg":"./dist/fraction.min.js","exports":{".":{"types":"./fraction.d.ts","require":"./dist/fraction.js","import":"./dist/fraction.mjs"}},"repository":{"type":"git","url":"git+ssh://git@github.com/rawify/Fraction.js.git"},"funding":{"type":"github","url":"https://github.com/sponsors/rawify"},"author":{"name":"Robert Eisele","email":"robert@raw.org","url":"https://raw.org/"},"license":"MIT","engines":{"node":">= 12"},"directories":{"example":"examples","test":"tests"},"scripts":{"build":"crude-build Fraction","test":"mocha tests/*.js"},"devDependencies":{"crude-build":"^0.1.2","mocha":"*"},"gitHead":"b773e7ad0562ff131fddbb9bbc1b5a8de393d086","_id":"fraction.js@5.1.1","_nodeVersion":"16.20.1","_npmVersion":"8.19.4","dist":{"shasum":"5d190636d0af2bb681805bace128822bebf3d3f1","size":22036,"noattachment":false,"key":"/fraction.js/-/fraction.js-5.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-5.1.1.tgz"},"_npmUser":{"name":"infusion","email":"robert@raw.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fraction.js_5.1.1_1730481698060_0.25239498196263965"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-11-01T17:21:38.309Z","publish_time":1730481698309,"_source_registry_name":"default","_cnpm_publish_time":1730481698309},"5.1.0":{"name":"fraction.js","title":"Fraction.js","version":"5.1.0","homepage":"https://raw.org/article/rational-numbers-in-javascript/","bugs":{"url":"https://github.com/rawify/Fraction.js/issues"},"description":"A rational numbers library","keywords":["math","numbers","parser","ratio","fraction","fractions","rational","rationals","rational numbers","bigint","arbitrary precision","mixed numbers","decimal","numerator","denominator","simplification"],"private":false,"main":"./dist/fraction.js","module":"./dist/fraction.mjs","types":"./fraction.d.ts","browser":"./dist/fraction.min.js","unpkg":"./dist/fraction.min.js","exports":{".":{"types":"./fraction.d.ts","require":"./dist/fraction.js","import":"./dist/fraction.mjs"}},"repository":{"type":"git","url":"git+ssh://git@github.com/rawify/Fraction.js.git"},"funding":{"type":"github","url":"https://github.com/sponsors/rawify"},"author":{"name":"Robert Eisele","email":"robert@raw.org","url":"https://raw.org/"},"license":"MIT","engines":{"node":">= 12"},"directories":{"example":"examples","test":"tests"},"scripts":{"build":"crude-build Fraction","test":"mocha tests/*.js"},"devDependencies":{"crude-build":"^0.1.2","mocha":"*"},"gitHead":"70304f9ff6555bbbc4c0f3efae51e84531532603","_id":"fraction.js@5.1.0","_nodeVersion":"16.20.1","_npmVersion":"8.19.4","dist":{"shasum":"f79179e18a176cb56f1b38fa488d2d8a27b7513c","size":22029,"noattachment":false,"key":"/fraction.js/-/fraction.js-5.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-5.1.0.tgz"},"_npmUser":{"name":"infusion","email":"robert@raw.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fraction.js_5.1.0_1730309180439_0.7175748489998264"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-10-30T17:26:20.622Z","publish_time":1730309180622,"_source_registry_name":"default","_cnpm_publish_time":1730309180622},"5.0.6":{"name":"fraction.js","title":"Fraction.js","version":"5.0.6","homepage":"https://raw.org/article/rational-numbers-in-javascript/","bugs":{"url":"https://github.com/rawify/Fraction.js/issues"},"description":"A rational numbers library","keywords":["math","fraction","rational","rationals","number","parser","bigint","arbitrary precision","rational numbers"],"private":false,"main":"./dist/fraction.js","module":"./dist/fraction.mjs","types":"./fraction.d.ts","browser":"./dist/fraction.min.js","unpkg":"./dist/fraction.min.js","exports":{".":{"types":"./fraction.d.ts","require":"./dist/fraction.js","import":"./dist/fraction.mjs"}},"repository":{"type":"git","url":"git+ssh://git@github.com/rawify/Fraction.js.git"},"funding":{"type":"github","url":"https://github.com/sponsors/rawify"},"author":{"name":"Robert Eisele","email":"robert@raw.org","url":"https://raw.org/"},"license":"MIT","engines":{"node":">= 12"},"directories":{"example":"examples","test":"tests"},"scripts":{"build":"crude-build Fraction","test":"mocha tests/*.js"},"devDependencies":{"crude-build":"^0.1.0","mocha":"*"},"gitHead":"acabc396917cb4752b7df6dbe272b3fc149e35a9","_id":"fraction.js@5.0.6","_nodeVersion":"16.20.1","_npmVersion":"8.19.4","dist":{"shasum":"1cd227309a181a722720a5e65cdfd4f0265a1cc7","size":21586,"noattachment":false,"key":"/fraction.js/-/fraction.js-5.0.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-5.0.6.tgz"},"_npmUser":{"name":"infusion","email":"robert@raw.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fraction.js_5.0.6_1728580568425_0.5266140510077524"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-10-10T17:16:08.661Z","publish_time":1728580568661,"_source_registry_name":"default","_cnpm_publish_time":1728580568661},"5.0.5":{"name":"fraction.js","version":"5.0.5","keywords":["math","fraction","rational","rationals","number","parser","bigint","arbitrary precision","rational numbers"],"author":{"url":"https://raw.org/","name":"Robert Eisele","email":"robert@raw.org"},"license":"MIT","_id":"fraction.js@5.0.5","maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"homepage":"https://raw.org/article/rational-numbers-in-javascript/","bugs":{"url":"https://github.com/rawify/Fraction.js/issues"},"dist":{"shasum":"950ed67d98b64c1d764a6ccca79d507f6398d99e","size":21586,"noattachment":false,"key":"/fraction.js/-/fraction.js-5.0.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-5.0.5.tgz"},"main":"./dist/fraction.js","title":"Fraction.js","types":"./fraction.d.ts","unpkg":"./dist/fraction.min.js","module":"./dist/fraction.mjs","browser":"./dist/fraction.min.js","engines":{"node":">= 12"},"exports":{".":{"types":"./fraction.d.ts","import":"./dist/fraction.mjs","require":"./dist/fraction.js"}},"funding":{"url":"https://github.com/sponsors/rawify","type":"github"},"gitHead":"2c9d4c2d837a9685b8158e81a3408645ff615e99","private":false,"scripts":{"test":"mocha tests/*.js","build":"crude-build Fraction"},"_npmUser":{"name":"infusion","email":"robert@raw.org"},"repository":{"url":"git+ssh://git@github.com/rawify/Fraction.js.git","type":"git"},"_npmVersion":"8.19.4","description":"A rational numbers library","directories":{"test":"tests","example":"examples"},"_nodeVersion":"16.20.1","_hasShrinkwrap":false,"devDependencies":{"mocha":"*","crude-build":"^0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/fraction.js_5.0.5_1728580401957_0.14121053544315432","host":"s3://npm-registry-packages"},"_cnpmcore_publish_time":"2024-10-10T17:13:22.200Z","publish_time":1728580402200,"_source_registry_name":"default","_cnpm_publish_time":1728580402200},"5.0.4":{"name":"fraction.js","title":"Fraction.js","version":"5.0.4","homepage":"https://raw.org/article/rational-numbers-in-javascript/","bugs":{"url":"https://github.com/rawify/Fraction.js/issues"},"description":"A rational numbers library","keywords":["math","fraction","rational","rationals","number","parser","bigint","arbitrary precision","rational numbers"],"private":false,"main":"./dist/fraction.js","module":"./dist/fraction.mjs","types":"./fraction.d.ts","browser":"./dist/fraction.min.js","unpkg":"./dist/fraction.min.js","exports":{".":{"types":"./fraction.d.ts","require":"./dist/fraction.js","import":"./dist/fraction.mjs"}},"repository":{"type":"git","url":"git+ssh://git@github.com/rawify/Fraction.js.git"},"funding":{"type":"github","url":"https://github.com/sponsors/rawify"},"author":{"name":"Robert Eisele","email":"robert@raw.org","url":"https://raw.org/"},"license":"MIT","engines":{"node":">= 12"},"directories":{"example":"examples","test":"tests"},"scripts":{"build":"crude-build Fraction","test":"mocha tests/*.js"},"devDependencies":{"crude-build":"^0.1.0","mocha":"*"},"gitHead":"39e61e7fadda7f46c5094e8644876cf80d20b28f","_id":"fraction.js@5.0.4","_nodeVersion":"16.20.1","_npmVersion":"8.19.4","dist":{"shasum":"b37464fe97c8462c5d98b35d3704ee4e252642b3","size":21595,"noattachment":false,"key":"/fraction.js/-/fraction.js-5.0.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-5.0.4.tgz"},"_npmUser":{"name":"infusion","email":"robert@xarg.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fraction.js_5.0.4_1728559524665_0.6308106164638574"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-10-10T11:25:24.907Z","publish_time":1728559524907,"_source_registry_name":"default","_cnpm_publish_time":1728559524907},"5.0.3":{"name":"fraction.js","title":"Fraction.js","version":"5.0.3","homepage":"https://raw.org/article/rational-numbers-in-javascript/","bugs":{"url":"https://github.com/rawify/Fraction.js/issues"},"description":"A rational numbers library","keywords":["math","fraction","rational","rationals","number","parser","bigint","arbitrary precision","rational numbers"],"private":false,"main":"./dist/fraction.js","module":"./dist/fraction.mjs","types":"./fraction.d.ts","browser":"./dist/fraction.min.js","unpkg":"./dist/fraction.min.js","exports":{".":{"types":"./fraction.d.ts","require":"./dist/fraction.js","import":"./dist/fraction.mjs"}},"repository":{"type":"git","url":"git+ssh://git@github.com/rawify/Fraction.js.git"},"funding":{"type":"github","url":"https://github.com/sponsors/rawify"},"author":{"name":"Robert Eisele","email":"robert@raw.org","url":"https://raw.org/"},"license":"MIT","engines":{"node":">= 12"},"directories":{"example":"examples","test":"tests"},"scripts":{"build":"crude-build Fraction","test":"mocha tests/*.js"},"devDependencies":{"crude-build":"^0.1.0","mocha":"*"},"gitHead":"7d9a3ec86bc2127ef2c51716b77ea4f7fac1f5d9","_id":"fraction.js@5.0.3","_nodeVersion":"16.20.1","_npmVersion":"8.19.4","dist":{"shasum":"c3a83f69166eda52547b63bbb71472d9549237ba","size":21524,"noattachment":false,"key":"/fraction.js/-/fraction.js-5.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-5.0.3.tgz"},"_npmUser":{"name":"infusion","email":"robert@xarg.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fraction.js_5.0.3_1728455911945_0.7760132381982223"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-10-09T06:38:32.149Z","publish_time":1728455912149,"_source_registry_name":"default","_cnpm_publish_time":1728455912149},"5.0.2":{"name":"fraction.js","title":"Fraction.js","version":"5.0.2","homepage":"https://raw.org/article/rational-numbers-in-javascript/","bugs":{"url":"https://github.com/rawify/Fraction.js/issues"},"description":"A rational numbers library","keywords":["math","fraction","rational","rationals","number","parser","bigint","arbitrary precision","rational numbers"],"private":false,"main":"./dist/fraction.js","module":"./dist/fraction.mjs","types":"./fraction.d.ts","browser":"./dist/fraction.min.js","unpkg":"./dist/fraction.min.js","exports":{".":{"types":"./fraction.d.ts","require":"./dist/fraction.js","import":"./dist/fraction.mjs"}},"repository":{"type":"git","url":"git+ssh://git@github.com/rawify/Fraction.js.git"},"funding":{"type":"github","url":"https://github.com/sponsors/rawify"},"author":{"name":"Robert Eisele","email":"robert@raw.org","url":"https://raw.org/"},"license":"MIT","engines":{"node":">= 12"},"directories":{"example":"examples","test":"tests"},"scripts":{"build":"crude-build Fraction","test":"mocha tests/*.js"},"devDependencies":{"crude-build":"^0.0.4","mocha":"*"},"gitHead":"c64b1d6d738641dee01dfca6b66cf37de9989aca","_id":"fraction.js@5.0.2","_nodeVersion":"16.20.1","_npmVersion":"8.19.4","dist":{"shasum":"cbf7f0c12073c9fd9ec99e26c447c8fc42d76f7e","size":21457,"noattachment":false,"key":"/fraction.js/-/fraction.js-5.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-5.0.2.tgz"},"_npmUser":{"name":"infusion","email":"robert@xarg.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fraction.js_5.0.2_1728238514422_0.0788122378460836"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-10-06T18:15:14.602Z","publish_time":1728238514602,"_source_registry_name":"default","_cnpm_publish_time":1728238514602},"5.0.1":{"name":"fraction.js","title":"Fraction.js","version":"5.0.1","homepage":"https://raw.org/article/rational-numbers-in-javascript/","bugs":{"url":"https://github.com/rawify/Fraction.js/issues"},"description":"A rational numbers library","keywords":["math","fraction","rational","rationals","number","parser","bigint","arbitrary precision","rational numbers"],"private":false,"main":"./dist/fraction.js","module":"./dist/fraction.mjs","types":"./fraction.d.ts","browser":"./dist/fraction.min.js","unpkg":"./dist/fraction.min.js","exports":{".":{"types":"./fraction.d.ts","require":"./dist/fraction.js","import":"./dist/fraction.mjs"}},"repository":{"type":"git","url":"git+ssh://git@github.com/rawify/Fraction.js.git"},"funding":{"type":"github","url":"https://github.com/sponsors/rawify"},"author":{"name":"Robert Eisele","email":"robert@raw.org","url":"https://raw.org/"},"license":"MIT","engines":{"node":">= 12"},"directories":{"example":"examples","test":"tests"},"scripts":{"build":"crude-build Fraction","test":"mocha tests/*.js"},"devDependencies":{"crude-build":"^0.0.3","mocha":"*"},"gitHead":"e440f9cd01dfe30f97fca3b179ca08d3de4f8d99","_id":"fraction.js@5.0.1","_nodeVersion":"16.20.1","_npmVersion":"8.19.4","dist":{"shasum":"43dfdea79d8d984af315daa4a5e9ca7aa92e5bae","size":21454,"noattachment":false,"key":"/fraction.js/-/fraction.js-5.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-5.0.1.tgz"},"_npmUser":{"name":"infusion","email":"robert@xarg.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fraction.js_5.0.1_1728135772960_0.9691758939410549"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-10-05T13:42:53.325Z","publish_time":1728135773325,"_source_registry_name":"default","_cnpm_publish_time":1728135773325},"5.0.0":{"name":"fraction.js","title":"Fraction.js","version":"5.0.0","homepage":"https://raw.org/article/rational-numbers-in-javascript/","bugs":{"url":"https://github.com/rawify/Fraction.js/issues"},"description":"A rational numbers library","keywords":["math","fraction","rational","rationals","number","parser","bigint","arbitrary precision","rational numbers"],"private":false,"main":"./dist/fraction.js","module":"./dist/fraction.mjs","types":"./fraction.d.ts","browser":"./dist/fraction.min.js","unpkg":"./dist/fraction.min.js","exports":{".":{"types":"./fraction.d.ts","require":"./dist/fraction.js","import":"./dist/fraction.mjs"}},"repository":{"type":"git","url":"git+ssh://git@github.com/rawify/Fraction.js.git"},"funding":{"type":"github","url":"https://github.com/sponsors/rawify"},"author":{"name":"Robert Eisele","email":"robert@raw.org","url":"https://raw.org/"},"license":"MIT","engines":{"node":">= 12"},"directories":{"example":"examples","test":"tests"},"scripts":{"build":"crude-build Fraction","test":"mocha tests/*.js"},"devDependencies":{"crude-build":"^0.0.1","mocha":"*"},"gitHead":"33cc9e5325556c5f24716539ccb6d5b95590d883","_id":"fraction.js@5.0.0","_nodeVersion":"16.20.1","_npmVersion":"8.19.4","dist":{"shasum":"84b2b2dfb693b8504aa3b0ca1fdb128ec0d026b0","size":21442,"noattachment":false,"key":"/fraction.js/-/fraction.js-5.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-5.0.0.tgz"},"_npmUser":{"name":"infusion","email":"robert@xarg.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fraction.js_5.0.0_1728060110809_0.025826230621441626"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-10-04T16:41:51.085Z","publish_time":1728060111085,"_source_registry_name":"default","_cnpm_publish_time":1728060111085},"4.3.7":{"name":"fraction.js","title":"fraction.js","version":"4.3.7","homepage":"https://www.xarg.org/2014/03/rational-numbers-in-javascript/","bugs":{"url":"https://github.com/rawify/Fraction.js/issues"},"description":"A rational number library","keywords":["math","fraction","rational","rationals","number","parser","rational numbers"],"author":{"name":"Robert Eisele","email":"robert@raw.org","url":"https://raw.org/"},"type":"module","main":"fraction.cjs","exports":{".":{"import":"./fraction.js","require":"./fraction.cjs","types":"./fraction.d.ts"}},"types":"./fraction.d.ts","private":false,"directories":{"example":"examples"},"license":"MIT","repository":{"type":"git","url":"git://github.com/rawify/Fraction.js.git"},"funding":{"type":"patreon","url":"https://github.com/sponsors/rawify"},"engines":{"node":"*"},"scripts":{"test":"mocha tests/*.js"},"devDependencies":{"mocha":"*"},"gitHead":"8c41c1da7739c4cace893d95fe78a9d35b3877c9","_id":"fraction.js@4.3.7","_nodeVersion":"16.20.1","_npmVersion":"8.19.4","dist":{"shasum":"06ca0085157e42fda7f9e726e79fefc4068840f7","size":19339,"noattachment":false,"key":"/fraction.js/-/fraction.js-4.3.7.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-4.3.7.tgz"},"_npmUser":{"name":"infusion","email":"robert@xarg.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fraction.js_4.3.7_1697128642500_0.367451537824659"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-10-12T16:37:22.757Z","publish_time":1697128642757,"_source_registry_name":"default","_cnpm_publish_time":1697128642757},"4.3.6":{"name":"fraction.js","title":"fraction.js","version":"4.3.6","homepage":"https://www.xarg.org/2014/03/rational-numbers-in-javascript/","bugs":{"url":"https://github.com/rawify/Fraction.js/issues"},"description":"A rational number library","keywords":["math","fraction","rational","rationals","number","parser","rational numbers"],"author":{"name":"Robert Eisele","email":"robert@raw.org","url":"https://raw.org/"},"type":"module","main":"fraction.cjs","exports":{".":{"import":"./fraction.js","require":"./fraction.cjs","types":"./fraction.d.ts"}},"types":"./fraction.d.ts","private":false,"directories":{"example":"examples"},"license":"MIT","repository":{"type":"git","url":"git://github.com/rawify/Fraction.js.git"},"funding":{"type":"patreon","url":"https://github.com/sponsors/rawify"},"engines":{"node":"*"},"scripts":{"test":"mocha tests/*.js"},"devDependencies":{"mocha":"*"},"gitHead":"e721cb793ff9625ebf8e5e964dc5d226a91b3396","_id":"fraction.js@4.3.6","_nodeVersion":"16.20.1","_npmVersion":"8.19.4","dist":{"shasum":"e9e3acec6c9a28cf7bc36cbe35eea4ceb2c5c92d","size":19219,"noattachment":false,"key":"/fraction.js/-/fraction.js-4.3.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-4.3.6.tgz"},"_npmUser":{"name":"infusion","email":"robert@xarg.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fraction.js_4.3.6_1693579244073_0.9974444305172252"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-09-01T14:40:44.267Z","publish_time":1693579244267,"_source_registry_name":"default","_cnpm_publish_time":1693579244267},"4.3.5":{"name":"fraction.js","title":"fraction.js","version":"4.3.5","homepage":"https://www.xarg.org/2014/03/rational-numbers-in-javascript/","bugs":{"url":"https://github.com/rawify/Fraction.js/issues"},"description":"A rational number library","keywords":["math","fraction","rational","rationals","number","parser","rational numbers"],"author":{"name":"Robert Eisele","email":"robert@raw.org","url":"https://raw.org/"},"type":"module","main":"fraction.js","exports":{".":{"import":"./fraction.js","require":"./fraction.cjs","types":"./fraction.d.ts"}},"types":"./fraction.d.ts","private":false,"directories":{"example":"examples"},"license":"MIT","repository":{"type":"git","url":"git://github.com/rawify/Fraction.js.git"},"funding":{"type":"patreon","url":"https://github.com/sponsors/rawify"},"engines":{"node":"*"},"scripts":{"test":"mocha tests/*.js"},"devDependencies":{"mocha":"*"},"gitHead":"e7a04d2c1d2ee39f8903de56a041a7a7b5f48be1","_id":"fraction.js@4.3.5","_nodeVersion":"16.20.1","_npmVersion":"8.19.4","dist":{"shasum":"4e43c82c446e5dd64fd06aeb0cdab52f915fd110","size":19214,"noattachment":false,"key":"/fraction.js/-/fraction.js-4.3.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-4.3.5.tgz"},"_npmUser":{"name":"infusion","email":"robert@xarg.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fraction.js_4.3.5_1693554619937_0.7298252761023813"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-09-01T07:50:20.115Z","publish_time":1693554620115,"_source_registry_name":"default","_cnpm_publish_time":1693554620115},"4.3.4":{"name":"fraction.js","title":"fraction.js","version":"4.3.4","homepage":"https://www.xarg.org/2014/03/rational-numbers-in-javascript/","bugs":{"url":"https://github.com/rawify/Fraction.js/issues"},"description":"A rational number library","keywords":["math","fraction","rational","rationals","number","parser","rational numbers"],"author":{"name":"Robert Eisele","email":"robert@raw.org","url":"https://raw.org/"},"main":"fraction.js","types":"./fraction.d.ts","private":false,"directories":{"example":"examples"},"license":"MIT","repository":{"type":"git","url":"git://github.com/rawify/Fraction.js.git"},"funding":{"type":"patreon","url":"https://github.com/sponsors/rawify"},"engines":{"node":"*"},"scripts":{"test":"mocha tests/*.js"},"devDependencies":{"mocha":"*"},"gitHead":"f9a8e46121a5fcdc3bdd0ef59980a439fc6c4fef","_id":"fraction.js@4.3.4","_nodeVersion":"16.20.1","_npmVersion":"8.19.4","dist":{"shasum":"b2bac8249a610c3396106da97c5a71da75b94b1c","size":16598,"noattachment":false,"key":"/fraction.js/-/fraction.js-4.3.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-4.3.4.tgz"},"_npmUser":{"name":"infusion","email":"robert@xarg.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fraction.js_4.3.4_1693469147832_0.886221217860893"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-08-31T08:05:48.153Z","publish_time":1693469148153,"_source_registry_name":"default","_cnpm_publish_time":1693469148153},"4.3.3":{"name":"fraction.js","title":"fraction.js","version":"4.3.3","homepage":"https://www.xarg.org/2014/03/rational-numbers-in-javascript/","bugs":{"url":"https://github.com/rawify/Fraction.js/issues"},"description":"A rational number library","keywords":["math","fraction","rational","rationals","number","parser","rational numbers"],"author":{"name":"Robert Eisele","email":"robert@raw.org","url":"https://raw.org/"},"main":"fraction.cjs","types":"./fraction.d.ts","private":false,"directories":{"example":"examples"},"license":"MIT","repository":{"type":"git","url":"git://github.com/rawify/Fraction.js.git"},"funding":{"type":"patreon","url":"https://github.com/sponsors/rawify"},"engines":{"node":"*"},"scripts":{"test":"mocha tests/*.js"},"devDependencies":{"mocha":"*"},"gitHead":"b8f1f38098ec62743f9349039c01ced3914209a5","_id":"fraction.js@4.3.3","_nodeVersion":"16.20.1","_npmVersion":"8.19.4","dist":{"shasum":"97b3d3eb436064ce0984a85c3d8efe00b1669c65","size":16680,"noattachment":false,"key":"/fraction.js/-/fraction.js-4.3.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-4.3.3.tgz"},"_npmUser":{"name":"infusion","email":"robert@xarg.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fraction.js_4.3.3_1693466762610_0.7406690912755471"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-08-31T07:26:02.868Z","publish_time":1693466762868,"_source_registry_name":"default","_cnpm_publish_time":1693466762868},"4.3.2":{"name":"fraction.js","title":"fraction.js","version":"4.3.2","homepage":"https://www.xarg.org/2014/03/rational-numbers-in-javascript/","bugs":{"url":"https://github.com/rawify/Fraction.js/issues"},"description":"A rational number library","keywords":["math","fraction","rational","rationals","number","parser","rational numbers"],"author":{"name":"Robert Eisele","email":"robert@raw.org","url":"https://raw.org/"},"type":"module","main":"fraction.cjs","exports":{"import":"./fraction.cjs","require":"./fraction.cjs"},"types":"./fraction.d.ts","private":false,"directories":{"example":"examples"},"license":"MIT","repository":{"type":"git","url":"git://github.com/rawify/Fraction.js.git"},"funding":{"type":"patreon","url":"https://github.com/sponsors/rawify"},"engines":{"node":"*"},"scripts":{"test":"mocha tests/*.js"},"devDependencies":{"mocha":"*"},"gitHead":"1f9f8b223cd9c355314af743a1f72f840161d1c2","_id":"fraction.js@4.3.2","_nodeVersion":"16.20.1","_npmVersion":"8.19.4","dist":{"shasum":"ea144a08ed23a284bf9067153075f212771a92d9","size":16720,"noattachment":false,"key":"/fraction.js/-/fraction.js-4.3.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-4.3.2.tgz"},"_npmUser":{"name":"infusion","email":"robert@xarg.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fraction.js_4.3.2_1693425309068_0.8629063447466829"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-08-30T19:55:09.245Z","publish_time":1693425309245,"_source_registry_name":"default","_cnpm_publish_time":1693425309245},"4.3.1":{"name":"fraction.js","title":"fraction.js","version":"4.3.1","homepage":"https://www.xarg.org/2014/03/rational-numbers-in-javascript/","bugs":{"url":"https://github.com/rawify/Fraction.js/issues"},"description":"A rational number library","keywords":["math","fraction","rational","rationals","number","parser","rational numbers"],"author":{"name":"Robert Eisele","email":"robert@raw.org","url":"https://raw.org/"},"type":"module","main":"fraction.cjs","exports":{"import":"./fraction.cjs","require":"./fraction.cjs"},"types":"./fraction.d.ts","private":false,"directories":{"example":"examples"},"license":"MIT","repository":{"type":"git","url":"git://github.com/rawify/Fraction.js.git"},"funding":{"type":"patreon","url":"https://github.com/sponsors/rawify"},"engines":{"node":"*"},"scripts":{"test":"mocha tests/*.js"},"devDependencies":{"mocha":"*"},"gitHead":"fdd86bce3ae64a1b1f9f86d46a1a14fe6e446648","_id":"fraction.js@4.3.1","_nodeVersion":"16.20.1","_npmVersion":"8.19.4","dist":{"shasum":"828c46dce1c8ad270e1c4170b3d06a2761e997d3","size":16732,"noattachment":false,"key":"/fraction.js/-/fraction.js-4.3.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-4.3.1.tgz"},"_npmUser":{"name":"infusion","email":"robert@xarg.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fraction.js_4.3.1_1693346965776_0.4050891038761675"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-08-29T22:09:25.989Z","publish_time":1693346965989,"_source_registry_name":"default","_cnpm_publish_time":1693346965989},"4.3.0":{"name":"fraction.js","title":"fraction.js","version":"4.3.0","homepage":"https://www.xarg.org/2014/03/rational-numbers-in-javascript/","bugs":{"url":"https://github.com/rawify/Fraction.js/issues"},"description":"A rational number library","keywords":["math","fraction","rational","rationals","number","parser","rational numbers"],"author":{"name":"Robert Eisele","email":"robert@raw.org","url":"https://raw.org/"},"type":"module","main":"fraction","exports":{"import":"./fraction.cjs","require":"./fraction.cjs"},"types":"./fraction.d.ts","private":false,"directories":{"example":"examples"},"license":"MIT","repository":{"type":"git","url":"git://github.com/rawify/Fraction.js.git"},"funding":{"type":"patreon","url":"https://github.com/sponsors/rawify"},"engines":{"node":"*"},"scripts":{"test":"mocha tests/*.js"},"devDependencies":{"mocha":"*"},"gitHead":"47102bdde4d8bf8f6d0d24b8aef3b50b41ed9949","_id":"fraction.js@4.3.0","_nodeVersion":"16.20.1","_npmVersion":"8.19.4","dist":{"shasum":"ba77df59c194928c218764accbdc688a09cf961a","size":16831,"noattachment":false,"key":"/fraction.js/-/fraction.js-4.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-4.3.0.tgz"},"_npmUser":{"name":"infusion","email":"robert@xarg.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fraction.js_4.3.0_1693327099623_0.09435997335166735"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-08-29T16:38:19.827Z","publish_time":1693327099827,"_source_registry_name":"default","_cnpm_publish_time":1693327099827},"4.2.1":{"name":"fraction.js","title":"fraction.js","version":"4.2.1","homepage":"https://www.xarg.org/2014/03/rational-numbers-in-javascript/","bugs":{"url":"https://github.com/infusion/Fraction.js/issues"},"description":"A rational number library","keywords":["math","fraction","rational","rationals","number","parser","rational numbers"],"author":{"name":"Robert Eisele","email":"robert@xarg.org","url":"http://www.xarg.org/"},"main":"fraction","types":"./fraction.d.ts","private":false,"directories":{"example":"examples"},"license":"MIT","repository":{"type":"git","url":"git://github.com/infusion/Fraction.js.git"},"funding":{"type":"patreon","url":"https://www.patreon.com/infusion"},"engines":{"node":"*"},"scripts":{"test":"mocha tests/*.js"},"devDependencies":{"mocha":"*"},"gitHead":"eb0e1094434ecf4397685a2be287ddd5c15f073d","_id":"fraction.js@4.2.1","_nodeVersion":"16.20.1","_npmVersion":"8.19.4","dist":{"shasum":"14b4cc886575a5684f8d5fd5759c5db376bb7bb8","size":16697,"noattachment":false,"key":"/fraction.js/-/fraction.js-4.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-4.2.1.tgz"},"_npmUser":{"name":"infusion","email":"robert@xarg.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fraction.js_4.2.1_1692517275244_0.9047436435908094"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-08-20T07:41:15.483Z","publish_time":1692517275483,"_source_registry_name":"default","_cnpm_publish_time":1692517275483},"4.2.0":{"name":"fraction.js","title":"fraction.js","version":"4.2.0","homepage":"https://www.xarg.org/2014/03/rational-numbers-in-javascript/","bugs":{"url":"https://github.com/infusion/Fraction.js/issues"},"description":"A rational number library","keywords":["math","fraction","rational","rationals","number","parser","rational numbers"],"author":{"name":"Robert Eisele","email":"robert@xarg.org","url":"http://www.xarg.org/"},"main":"fraction","types":"./fraction.d.ts","private":false,"directories":{"example":"examples"},"license":"MIT","repository":{"type":"git","url":"git://github.com/infusion/Fraction.js.git"},"funding":{"type":"patreon","url":"https://www.patreon.com/infusion"},"engines":{"node":"*"},"scripts":{"test":"mocha tests/*.js"},"devDependencies":{"mocha":"*"},"gitHead":"9d2f3d4abe58918cf19c82167784d36204834a1e","_id":"fraction.js@4.2.0","_nodeVersion":"16.4.0","_npmVersion":"8.5.3","dist":{"shasum":"448e5109a313a3527f5a3ab2119ec4cf0e0e2950","size":16713,"noattachment":false,"key":"/fraction.js/-/fraction.js-4.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-4.2.0.tgz"},"_npmUser":{"name":"infusion","email":"robert@xarg.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fraction.js_4.2.0_1646516124720_0.2552800070784398"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-03-05T21:35:27.882Z","publish_time":1646516124883,"_cnpm_publish_time":1646516124883},"4.1.3":{"name":"fraction.js","title":"fraction.js","version":"4.1.3","homepage":"https://www.xarg.org/2014/03/rational-numbers-in-javascript/","bugs":{"url":"https://github.com/infusion/Fraction.js/issues"},"description":"A rational number library","keywords":["math","fraction","rational","rationals","number","parser","rational numbers"],"author":{"name":"Robert Eisele","email":"robert@xarg.org","url":"http://www.xarg.org/"},"main":"fraction","types":"./fraction.d.ts","private":false,"directories":{"example":"examples"},"license":"MIT","repository":{"type":"git","url":"git://github.com/infusion/Fraction.js.git"},"funding":{"type":"patreon","url":"https://www.patreon.com/infusion"},"engines":{"node":"*"},"scripts":{"test":"mocha tests/*.js"},"devDependencies":{"mocha":"*"},"gitHead":"cd7d62ba2f6ecc9eeb6d23b6cc08e169ca4877ac","_id":"fraction.js@4.1.3","_nodeVersion":"16.4.0","_npmVersion":"8.3.0","dist":{"shasum":"be65b0f20762ef27e1e793860bc2dfb716e99e65","size":16702,"noattachment":false,"key":"/fraction.js/-/fraction.js-4.1.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-4.1.3.tgz"},"_npmUser":{"name":"infusion","email":"robert@xarg.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fraction.js_4.1.3_1644239209080_0.30378484148303375"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-02-07T13:06:57.417Z","publish_time":1644239209250,"_cnpm_publish_time":1644239209250},"4.1.2":{"name":"fraction.js","title":"fraction.js","version":"4.1.2","homepage":"https://www.xarg.org/2014/03/rational-numbers-in-javascript/","bugs":{"url":"https://github.com/infusion/Fraction.js/issues"},"description":"A rational number library","keywords":["math","fraction","rational","rationals","number","parser","rational numbers"],"author":{"name":"Robert Eisele","email":"robert@xarg.org","url":"http://www.xarg.org/"},"main":"fraction","types":"./fraction.d.ts","private":false,"directories":{"example":"examples"},"license":"MIT","repository":{"type":"git","url":"git://github.com/infusion/Fraction.js.git"},"funding":{"type":"patreon","url":"https://www.patreon.com/infusion"},"engines":{"node":"*"},"scripts":{"test":"mocha tests/*.js"},"devDependencies":{"mocha":"*"},"gitHead":"212783179460137cfed10f00e87e242763868bf2","_id":"fraction.js@4.1.2","_nodeVersion":"16.4.0","_npmVersion":"7.19.0","dist":{"shasum":"13e420a92422b6cf244dff8690ed89401029fbe8","size":16485,"noattachment":false,"key":"/fraction.js/-/fraction.js-4.1.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-4.1.2.tgz"},"_npmUser":{"name":"infusion","email":"robert@xarg.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fraction.js_4.1.2_1636701794950_0.31110967818372925"},"_hasShrinkwrap":false,"publish_time":1636701795209,"_cnpm_publish_time":1636701795209},"4.1.1":{"name":"fraction.js","title":"fraction.js","version":"4.1.1","homepage":"http://www.xarg.org/2014/03/rational-numbers-in-javascript/","bugs":{"url":"https://github.com/infusion/Fraction.js/issues"},"description":"A rational number library","keywords":["math","fraction","rational","rationals","number","parser","rational numbers"],"author":{"name":"Robert Eisele","email":"robert@xarg.org","url":"http://www.xarg.org/"},"main":"fraction","types":"./fraction.d.ts","private":false,"directories":{"example":"examples"},"license":"MIT","repository":{"type":"git","url":"git://github.com/infusion/Fraction.js.git"},"funding":{"type":"patreon","url":"https://www.patreon.com/infusion"},"engines":{"node":"*"},"scripts":{"test":"mocha tests/*.js"},"devDependencies":{"mocha":"*"},"gitHead":"c42e0bef621df2a55b368cd8a4948dd9639c8d5c","_id":"fraction.js@4.1.1","_nodeVersion":"15.8.0","_npmVersion":"7.11.2","dist":{"shasum":"ac4e520473dae67012d618aab91eda09bcb400ff","size":16564,"noattachment":false,"key":"/fraction.js/-/fraction.js-4.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-4.1.1.tgz"},"_npmUser":{"name":"infusion","email":"robert@xarg.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fraction.js_4.1.1_1621770673433_0.2382329941408352"},"_hasShrinkwrap":false,"publish_time":1621770673632,"_cnpm_publish_time":1621770673632},"4.1.0":{"name":"fraction.js","title":"fraction.js","version":"4.1.0","homepage":"http://www.xarg.org/2014/03/rational-numbers-in-javascript/","bugs":{"url":"https://github.com/infusion/Fraction.js/issues"},"description":"A rational number library","keywords":["math","fraction","rational","rationals","number","parser","rational numbers"],"author":{"name":"Robert Eisele","email":"robert@xarg.org","url":"http://www.xarg.org/"},"main":"fraction","types":"./fraction.d.ts","private":false,"directories":{"example":"examples"},"license":"MIT OR GPL-2.0-or-later","repository":{"type":"git","url":"git://github.com/infusion/Fraction.js.git"},"engines":{"node":"*"},"scripts":{"test":"mocha tests/*.js"},"devDependencies":{"mocha":"*"},"gitHead":"1e931d0db059859d74f8d7ebeec92d8ee0c99f21","_id":"fraction.js@4.1.0","_nodeVersion":"15.8.0","_npmVersion":"7.11.2","dist":{"shasum":"229ec1cedc8c3c7e5d2d20688ba64f0a43af5830","size":16315,"noattachment":false,"key":"/fraction.js/-/fraction.js-4.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-4.1.0.tgz"},"_npmUser":{"name":"infusion","email":"robert@xarg.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fraction.js_4.1.0_1620912827738_0.758324545664669"},"_hasShrinkwrap":false,"publish_time":1620912827918,"_cnpm_publish_time":1620912827918},"4.0.14":{"name":"fraction.js","title":"fraction.js","version":"4.0.14","homepage":"http://www.xarg.org/2014/03/rational-numbers-in-javascript/","bugs":{"url":"https://github.com/infusion/Fraction.js/issues"},"description":"A rational number library","keywords":["math","fraction","rational","rationals","number","parser","rational numbers"],"author":{"name":"Robert Eisele","email":"robert@xarg.org","url":"http://www.xarg.org/"},"main":"fraction","types":"./fraction.d.ts","private":false,"directories":{"example":"examples"},"license":"MIT OR GPL-2.0-or-later","repository":{"type":"git","url":"git://github.com/infusion/Fraction.js.git"},"engines":{"node":"*"},"scripts":{"test":"mocha tests/*.js"},"devDependencies":{"mocha":"*"},"gitHead":"20073f6baaae4bc87afc47b7d022c1fb82419d29","_id":"fraction.js@4.0.14","_nodeVersion":"15.8.0","_npmVersion":"7.11.2","dist":{"shasum":"ddcd55d0d5ae2bf554a493ffcc60d3e6e709fbae","size":16134,"noattachment":false,"key":"/fraction.js/-/fraction.js-4.0.14.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-4.0.14.tgz"},"_npmUser":{"name":"infusion","email":"robert@xarg.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fraction.js_4.0.14_1620911380696_0.44718519648761124"},"_hasShrinkwrap":false,"publish_time":1620911380879,"_cnpm_publish_time":1620911380879},"4.0.13":{"name":"fraction.js","title":"fraction.js","version":"4.0.13","homepage":"http://www.xarg.org/2014/03/rational-numbers-in-javascript/","bugs":{"url":"https://github.com/infusion/Fraction.js/issues"},"description":"A rational number library","keywords":["math","fraction","rational","rationals","number","parser","rational numbers"],"author":{"name":"Robert Eisele","email":"robert@xarg.org","url":"http://www.xarg.org/"},"main":"fraction","types":"./fraction.d.ts","private":false,"directories":{"example":"examples"},"license":"MIT OR GPL-2.0-or-later","repository":{"type":"git","url":"git://github.com/infusion/Fraction.js.git"},"engines":{"node":"*"},"scripts":{"test":"mocha tests/*.js"},"devDependencies":{"mocha":"*"},"gitHead":"0e2e8cbc94e084aab21b470c04ad3bb669922425","_id":"fraction.js@4.0.13","_nodeVersion":"15.4.0","_npmVersion":"7.0.15","dist":{"shasum":"3c1c315fa16b35c85fffa95725a36fa729c69dfe","size":15751,"noattachment":false,"key":"/fraction.js/-/fraction.js-4.0.13.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-4.0.13.tgz"},"_npmUser":{"name":"infusion","email":"robert@xarg.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fraction.js_4.0.13_1608655005548_0.15056217199944633"},"_hasShrinkwrap":false,"publish_time":1608655005688,"_cnpm_publish_time":1608655005688},"4.0.12":{"name":"fraction.js","title":"fraction.js","version":"4.0.12","homepage":"http://www.xarg.org/2014/03/rational-numbers-in-javascript/","bugs":{"url":"https://github.com/infusion/Fraction.js/issues"},"description":"A rational number library","keywords":["math","fraction","rational","rationals","number","parser","rational numbers"],"author":{"name":"Robert Eisele","email":"robert@xarg.org","url":"http://www.xarg.org/"},"main":"fraction","private":false,"directories":{"example":"examples"},"license":"MIT OR GPL-2.0","repository":{"type":"git","url":"git://github.com/infusion/Fraction.js.git"},"engines":{"node":"*"},"scripts":{"test":"mocha tests/*.js"},"devDependencies":{"mocha":"*"},"gitHead":"3ae4f0a42eb279d47cf6aa2c6f6dc90d1513a143","_id":"fraction.js@4.0.12","_npmVersion":"6.5.0","_nodeVersion":"11.5.0","_npmUser":{"name":"infusion","email":"robert@xarg.org"},"dist":{"shasum":"0526d47c65a5fb4854df78bc77f7bec708d7b8c3","size":15814,"noattachment":false,"key":"/fraction.js/-/fraction.js-4.0.12.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-4.0.12.tgz"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fraction.js_4.0.12_1546508645126_0.858811413715997"},"_hasShrinkwrap":false,"publish_time":1546508645252,"_cnpm_publish_time":1546508645252},"4.0.11":{"name":"fraction.js","title":"fraction.js","version":"4.0.11","homepage":"http://www.xarg.org/2014/03/rational-numbers-in-javascript/","bugs":{"url":"https://github.com/infusion/Fraction.js/issues"},"description":"A rational number library","keywords":["math","fraction","rational","rationals","number","parser","rational numbers"],"author":{"name":"Robert Eisele","email":"robert@xarg.org","url":"http://www.xarg.org/"},"main":"fraction","private":false,"directories":{"example":"examples"},"license":"MIT OR GPL-2.0","repository":{"type":"git","url":"git://github.com/infusion/Fraction.js.git"},"engines":{"node":"*"},"scripts":{"test":"mocha tests/*.js"},"devDependencies":{"mocha":"*"},"gitHead":"69becb99363fcc108bd0b807e8443c114bfe4718","_id":"fraction.js@4.0.11","_npmVersion":"6.4.1","_nodeVersion":"11.1.0","_npmUser":{"name":"infusion","email":"robert@xarg.org"},"dist":{"shasum":"f82474349f7a198b6ad8d713d65621302a0e6f58","size":22174,"noattachment":false,"key":"/fraction.js/-/fraction.js-4.0.11.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-4.0.11.tgz"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fraction.js_4.0.11_1541770171374_0.6311271916460928"},"_hasShrinkwrap":false,"publish_time":1541770171527,"_cnpm_publish_time":1541770171527},"4.0.10":{"name":"fraction.js","title":"fraction.js","version":"4.0.10","homepage":"http://www.xarg.org/2014/03/rational-numbers-in-javascript/","bugs":{"url":"https://github.com/infusion/Fraction.js/issues"},"description":"A rational number library","keywords":["math","fraction","rational","rationals","number","parser","rational numbers"],"author":{"name":"Robert Eisele","email":"robert@xarg.org","url":"http://www.xarg.org/"},"main":"fraction","private":false,"directories":{"example":"examples"},"license":"MIT OR GPL-2.0","repository":{"type":"git","url":"git://github.com/infusion/Fraction.js.git"},"engines":{"node":"*"},"scripts":{"test":"mocha tests/*.js"},"devDependencies":{"mocha":"*"},"gitHead":"5eaf574499ef835764f789dd0a259e760fbe7c18","_id":"fraction.js@4.0.10","_npmVersion":"6.4.1","_nodeVersion":"10.12.0","_npmUser":{"name":"infusion","email":"robert@xarg.org"},"dist":{"shasum":"08a2776cd6697902ae589715a485f99bcc4251ba","size":22176,"noattachment":false,"key":"/fraction.js/-/fraction.js-4.0.10.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-4.0.10.tgz"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fraction.js_4.0.10_1539617392519_0.389040418169317"},"_hasShrinkwrap":false,"publish_time":1539617392668,"_cnpm_publish_time":1539617392668},"4.0.9":{"name":"fraction.js","title":"fraction.js","version":"4.0.9","homepage":"http://www.xarg.org/2014/03/rational-numbers-in-javascript/","bugs":{"url":"https://github.com/infusion/Fraction.js/issues"},"description":"A rational number library","keywords":["math","fraction","rational","rationals","number","parser","rational numbers"],"author":{"name":"Robert Eisele","email":"robert@xarg.org","url":"http://www.xarg.org/"},"main":"fraction","private":false,"directories":{"example":"examples"},"license":"MIT OR GPL-2.0","repository":{"type":"git","url":"git://github.com/infusion/Fraction.js.git"},"engines":{"node":"*"},"scripts":{"test":"mocha tests/*.js"},"devDependencies":{"mocha":"*"},"gitHead":"eb72834d548e76bc0f255a7eb69454e9c64c1f1e","_id":"fraction.js@4.0.9","_npmVersion":"6.2.0","_nodeVersion":"10.6.0","_npmUser":{"name":"infusion","email":"robert@xarg.org"},"dist":{"shasum":"ef7aa1ad47ef600021ad7fa7991dfd56c3b5f7c8","size":21791,"noattachment":false,"key":"/fraction.js/-/fraction.js-4.0.9.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-4.0.9.tgz"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fraction.js_4.0.9_1531954788665_0.17684447104493173"},"_hasShrinkwrap":false,"publish_time":1531954788780,"_cnpm_publish_time":1531954788780},"4.0.8":{"name":"fraction.js","title":"fraction.js","version":"4.0.8","homepage":"http://www.xarg.org/2014/03/rational-numbers-in-javascript/","bugs":{"url":"https://github.com/infusion/Fraction.js/issues"},"description":"A rational number library","keywords":["math","fraction","rational","rationals","number","parser","rational numbers"],"author":{"name":"Robert Eisele","email":"robert@xarg.org","url":"http://www.xarg.org/"},"main":"fraction","private":false,"directories":{"example":"examples"},"license":"MIT OR GPL-2.0","repository":{"type":"git","url":"git://github.com/infusion/Fraction.js.git"},"engines":{"node":"*"},"scripts":{"test":"mocha tests/*.js"},"devDependencies":{"mocha":"*"},"gitHead":"28ea1dd7a2798b5fd08fe1edf426061bd988b096","_id":"fraction.js@4.0.8","_npmVersion":"5.8.0","_nodeVersion":"9.11.1","_npmUser":{"name":"infusion","email":"robert@xarg.org"},"dist":{"shasum":"e53618112e3b36b348c61a81323173bceb01e418","size":21544,"noattachment":false,"key":"/fraction.js/-/fraction.js-4.0.8.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-4.0.8.tgz"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fraction.js_4.0.8_1523660059807_0.506093810242999"},"_hasShrinkwrap":false,"publish_time":1523660059936,"_cnpm_publish_time":1523660059936},"4.0.7":{"name":"fraction.js","title":"fraction.js","version":"4.0.7","homepage":"http://www.xarg.org/2014/03/rational-numbers-in-javascript/","bugs":{"url":"https://github.com/infusion/Fraction.js/issues"},"description":"A rational number library","keywords":["math","fraction","rational","rationals","number","parser","rational numbers"],"author":{"name":"Robert Eisele","email":"robert@xarg.org","url":"http://www.xarg.org/"},"main":"fraction","private":false,"directories":{"example":"examples"},"license":"MIT OR GPL-2.0","repository":{"type":"git","url":"git://github.com/infusion/Fraction.js.git"},"engines":{"node":"*"},"scripts":{"test":"mocha tests/*.js"},"devDependencies":{"mocha":"*"},"gitHead":"4bf262d49e91d6155d53e90ab595c5b10853be2c","_id":"fraction.js@4.0.7","_npmVersion":"5.8.0","_nodeVersion":"9.9.0","_npmUser":{"name":"infusion","email":"robert@xarg.org"},"dist":{"shasum":"0f1d134ac7da0c2a584777f4ce6628def318840b","size":21568,"noattachment":false,"key":"/fraction.js/-/fraction.js-4.0.7.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-4.0.7.tgz"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fraction.js_4.0.7_1522358593475_0.864276882535864"},"_hasShrinkwrap":false,"publish_time":1522358593612,"_cnpm_publish_time":1522358593612},"4.0.6":{"name":"fraction.js","title":"fraction.js","version":"4.0.6","homepage":"http://www.xarg.org/2014/03/rational-numbers-in-javascript/","bugs":{"url":"https://github.com/infusion/Fraction.js/issues"},"description":"A rational number library","keywords":["math","fraction","rational","rationals","number","parser","rational numbers"],"author":{"name":"Robert Eisele","email":"robert@xarg.org","url":"http://www.xarg.org/"},"main":"fraction","private":false,"directories":{"example":"examples"},"license":"MIT OR GPL-2.0","repository":{"type":"git","url":"git://github.com/infusion/Fraction.js.git"},"engines":{"node":"*"},"scripts":{"test":"mocha tests/*.js"},"devDependencies":{"mocha":"*"},"gitHead":"45646ed65202eb82ddad8f7c89f781d46c74a9cb","_id":"fraction.js@4.0.6","_npmVersion":"5.8.0","_nodeVersion":"9.9.0","_npmUser":{"name":"infusion","email":"robert@xarg.org"},"dist":{"shasum":"cc3e6502dfb386cdd4c0d0d429a2f4d4e520ffc2","size":21576,"noattachment":false,"key":"/fraction.js/-/fraction.js-4.0.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-4.0.6.tgz"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fraction.js_4.0.6_1522357577823_0.9698391647987594"},"_hasShrinkwrap":false,"publish_time":1522357577877,"_cnpm_publish_time":1522357577877},"4.0.5":{"name":"fraction.js","title":"fraction.js","version":"4.0.5","homepage":"http://www.xarg.org/2014/03/rational-numbers-in-javascript/","bugs":{"url":"https://github.com/infusion/Fraction.js/issues"},"description":"A rational number library","keywords":["math","fraction","rational","rationals","number","parser","rational numbers"],"author":{"name":"Robert Eisele","email":"robert@xarg.org","url":"http://www.xarg.org/"},"main":"fraction","private":false,"directories":{"example":"examples"},"license":"MIT OR GPL-2.0","repository":{"type":"git","url":"git://github.com/infusion/Fraction.js.git"},"engines":{"node":"*"},"scripts":{"test":"mocha tests/*.js"},"devDependencies":{"mocha":"*"},"gitHead":"c08285fabf78eadcaebde96fcc54be5bc63127d2","_id":"fraction.js@4.0.5","_npmVersion":"5.8.0","_nodeVersion":"9.9.0","_npmUser":{"name":"infusion","email":"robert@xarg.org"},"dist":{"shasum":"9809774a151f08845d7ad5d1c184372292af0380","size":21581,"noattachment":false,"key":"/fraction.js/-/fraction.js-4.0.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-4.0.5.tgz"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fraction.js_4.0.5_1522353375691_0.2528580207420219"},"_hasShrinkwrap":false,"publish_time":1522353375986,"_cnpm_publish_time":1522353375986},"4.0.4":{"name":"fraction.js","title":"fraction.js","version":"4.0.4","homepage":"http://www.xarg.org/2014/03/rational-numbers-in-javascript/","bugs":{"url":"https://github.com/infusion/Fraction.js/issues"},"description":"A rational number library","keywords":["math","fraction","rational","rationals","number","parser","rational numbers"],"author":{"name":"Robert Eisele","email":"robert@xarg.org","url":"http://www.xarg.org/"},"main":"fraction","private":false,"directories":{"example":"examples"},"license":"MIT OR GPL-2.0","repository":{"type":"git","url":"git://github.com/infusion/Fraction.js.git"},"engines":{"node":"*"},"scripts":{"test":"mocha tests/*.js"},"devDependencies":{"mocha":"*"},"gitHead":"13a1034f801686c63b61d639b8e252a53589d02f","_id":"fraction.js@4.0.4","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"infusion","email":"robert@xarg.org"},"dist":{"shasum":"04e567110718adf7b52974a10434ab4c67a5183e","size":21030,"noattachment":false,"key":"/fraction.js/-/fraction.js-4.0.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-4.0.4.tgz"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fraction.js-4.0.4.tgz_1512778620302_0.3451210130006075"},"publish_time":1512778621366,"_hasShrinkwrap":false,"_cnpm_publish_time":1512778621366},"4.0.3":{"name":"fraction.js","title":"fraction.js","version":"4.0.3","homepage":"http://www.xarg.org/2014/03/rational-numbers-in-javascript/","bugs":{"url":"https://github.com/infusion/Fraction.js/issues"},"description":"A rational number library","keywords":["math","fraction","rational","rationals","number","parser","rational numbers"],"author":{"name":"Robert Eisele","email":"robert@xarg.org","url":"http://www.xarg.org/"},"main":"fraction","private":false,"directories":{"example":"examples"},"license":"MIT OR GPL-2.0","repository":{"type":"git","url":"git://github.com/infusion/Fraction.js.git"},"engines":{"node":"*"},"scripts":{"test":"mocha tests/*.js"},"devDependencies":{"mocha":"*"},"gitHead":"5fff1578005970055ecef1123fb35345eaf84561","_id":"fraction.js@4.0.3","_npmVersion":"5.3.0","_nodeVersion":"8.1.4","_npmUser":{"name":"infusion","email":"robert@xarg.org"},"dist":{"shasum":"5020a51c31fd021f2a8e2fe774373cc860e42c71","size":20480,"noattachment":false,"key":"/fraction.js/-/fraction.js-4.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-4.0.3.tgz"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fraction.js-4.0.3.tgz_1501082005015_0.9780106407124549"},"publish_time":1501082006259,"_hasShrinkwrap":false,"_cnpm_publish_time":1501082006259},"4.0.2":{"name":"fraction.js","title":"fraction.js","version":"4.0.2","homepage":"http://www.xarg.org/2014/03/rational-numbers-in-javascript/","bugs":{"url":"https://github.com/infusion/Fraction.js/issues"},"description":"A rational number library","keywords":["math","fraction","rational","rationals","number","parser","rational numbers"],"author":{"name":"Robert Eisele","email":"robert@xarg.org","url":"http://www.xarg.org/"},"main":"fraction","private":false,"directories":{"example":"examples"},"license":"MIT OR GPL-2.0","repository":{"type":"git","url":"git://github.com/infusion/Fraction.js.git"},"engines":{"node":"*"},"scripts":{"test":"mocha tests/*.js"},"devDependencies":{"mocha":"*"},"gitHead":"c7416d31670ad1bb53f833b6afa5d0ead2e86232","_id":"fraction.js@4.0.2","_npmVersion":"5.0.4","_nodeVersion":"8.1.3","_npmUser":{"name":"infusion","email":"robert@xarg.org"},"dist":{"shasum":"0eae896626f334b1bde763371347a83b5575d7f0","size":20445,"noattachment":false,"key":"/fraction.js/-/fraction.js-4.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-4.0.2.tgz"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fraction.js-4.0.2.tgz_1498831992426_0.5949151231907308"},"publish_time":1498831993628,"_cnpm_publish_time":1498831993628,"_hasShrinkwrap":false},"4.0.1":{"name":"fraction.js","title":"fraction.js","version":"4.0.1","homepage":"http://www.xarg.org/2014/03/rational-numbers-in-javascript/","bugs":{"url":"https://github.com/infusion/Fraction.js/issues"},"description":"A rational number library","keywords":["math","fraction","rational","rationals","number","parser","rational numbers"],"author":{"name":"Robert Eisele","email":"robert@xarg.org","url":"http://www.xarg.org/"},"main":"fraction","private":false,"directories":{"example":"examples"},"license":"MIT OR GPL-2.0","repository":{"type":"git","url":"git://github.com/infusion/Fraction.js.git"},"engines":{"node":"*"},"scripts":{"test":"mocha tests/*.js"},"devDependencies":{"mocha":"*"},"gitHead":"fcf900715ee43b26da04dbf47fa4516ecd9e8f5a","_id":"fraction.js@4.0.1","_npmVersion":"5.0.3","_nodeVersion":"8.1.0","_npmUser":{"name":"infusion","email":"robert@xarg.org"},"dist":{"shasum":"c6b5218b230b082188e6c53e76b0965c052da24c","size":20458,"noattachment":false,"key":"/fraction.js/-/fraction.js-4.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-4.0.1.tgz"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fraction.js-4.0.1.tgz_1497378374878_0.49628469650633633"},"publish_time":1497378376076,"_cnpm_publish_time":1497378376076,"_hasShrinkwrap":false},"4.0.0":{"name":"fraction.js","title":"fraction.js","version":"4.0.0","homepage":"http://www.xarg.org/2014/03/rational-numbers-in-javascript/","bugs":{"url":"https://github.com/infusion/Fraction.js/issues"},"description":"A rational number library","keywords":["math","fraction","rational","rationals","number","parser","rational numbers"],"author":{"name":"Robert Eisele","email":"robert@xarg.org","url":"http://www.xarg.org/"},"main":"fraction","private":false,"directories":{"example":"examples"},"license":"MIT OR GPL-2.0","repository":{"type":"git","url":"git://github.com/infusion/Fraction.js.git"},"engines":{"node":"*"},"scripts":{"test":"mocha tests/*.js"},"devDependencies":{"mocha":"*"},"gitHead":"4a12e0540610ab67a8e09fbd2327152f61d91f38","_id":"fraction.js@4.0.0","_shasum":"73974e2f8b51ef709536d624cc90782e2bb61274","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.4.0","_npmUser":{"name":"infusion","email":"robert@xarg.org"},"dist":{"shasum":"73974e2f8b51ef709536d624cc90782e2bb61274","size":24729,"noattachment":false,"key":"/fraction.js/-/fraction.js-4.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-4.0.0.tgz"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/fraction.js-4.0.0.tgz_1486595444310_0.6041910354979336"},"publish_time":1486595446386,"_cnpm_publish_time":1486595446386,"_hasShrinkwrap":false},"3.3.1":{"name":"fraction.js","title":"fraction.js","version":"3.3.1","homepage":"http://www.xarg.org/2014/03/precise-calculations-in-javascript/","bugs":{"url":"https://github.com/infusion/Fraction.js/issues"},"description":"A rational number library","keywords":["math","fraction","rational","rationals","number","parser","rational numbers"],"author":{"name":"Robert Eisele","email":"robert@xarg.org","url":"http://www.xarg.org/"},"main":"fraction","private":false,"directories":{"example":"examples"},"license":"MIT OR GPL-2.0","repository":{"type":"git","url":"git://github.com/infusion/Fraction.js.git"},"engines":{"node":"*"},"scripts":{"test":"mocha tests/*.js"},"devDependencies":{"mocha":"*"},"gitHead":"bd7ae34bca5f0dae488253ff9416452c765e3c3d","_id":"fraction.js@3.3.1","_shasum":"5d6a31ff07707294f204ccbb6b53791607771083","_from":".","_npmVersion":"3.8.5","_nodeVersion":"5.10.0","_npmUser":{"name":"infusion","email":"robert@xarg.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"dist":{"shasum":"5d6a31ff07707294f204ccbb6b53791607771083","size":20217,"noattachment":false,"key":"/fraction.js/-/fraction.js-3.3.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-3.3.1.tgz"},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/fraction.js-3.3.1.tgz_1460043236976_0.2814995003864169"},"publish_time":1460043239598,"_cnpm_publish_time":1460043239598,"_hasShrinkwrap":false},"3.3.0":{"name":"fraction.js","title":"fraction.js","version":"3.3.0","homepage":"http://www.xarg.org/2014/03/precise-calculations-in-javascript/","bugs":{"url":"https://github.com/infusion/Fraction.js/issues"},"description":"A rational number library","keywords":["math","fraction","rational","rationals","number","parser","rational numbers"],"author":{"name":"Robert Eisele","email":"robert@xarg.org","url":"http://www.xarg.org/"},"main":"fraction","directories":{"example":"examples"},"license":"MIT OR GPL-2.0","repository":{"type":"git","url":"git://github.com/infusion/Fraction.js.git"},"engines":{"node":"*"},"scripts":{"test":"mocha tests/*.js"},"devDependencies":{"mocha":"*"},"gitHead":"918c340fc7aceeee81328fa01810c590ab063fd1","_id":"fraction.js@3.3.0","_shasum":"700a6a0ca73ac4ccca1f88e21eb374a275167e3d","_from":".","_npmVersion":"3.8.2","_nodeVersion":"5.9.1","_npmUser":{"name":"infusion","email":"robert@xarg.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"dist":{"shasum":"700a6a0ca73ac4ccca1f88e21eb374a275167e3d","size":20100,"noattachment":false,"key":"/fraction.js/-/fraction.js-3.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-3.3.0.tgz"},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/fraction.js-3.3.0.tgz_1458860009202_0.12263908958993852"},"publish_time":1458860011838,"_cnpm_publish_time":1458860011838,"_hasShrinkwrap":false},"3.2.5":{"name":"fraction.js","title":"fraction.js","version":"3.2.5","homepage":"http://www.xarg.org/2014/03/precise-calculations-in-javascript/","bugs":{"url":"https://github.com/infusion/Fraction.js/issues"},"description":"A rational number library","keywords":["math","fraction","rational","number","parser","rational numbers"],"author":{"name":"Robert Eisele","email":"robert@xarg.org","url":"http://www.xarg.org/"},"main":"fraction","directories":{"example":"examples"},"license":"MIT OR GPL-2.0","repository":{"type":"git","url":"git://github.com/infusion/Fraction.js.git"},"engines":{"node":"*"},"scripts":{"test":"mocha tests/*.js"},"devDependencies":{"mocha":"*"},"gitHead":"654e6e72d2522dd420b28fe51b28c06dcd540975","_id":"fraction.js@3.2.5","_shasum":"502efada3f737824f16ad1c1a41f23ee51fd781e","_from":".","_npmVersion":"3.7.1","_nodeVersion":"5.5.0","_npmUser":{"name":"infusion","email":"robert@xarg.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"dist":{"shasum":"502efada3f737824f16ad1c1a41f23ee51fd781e","size":19311,"noattachment":false,"key":"/fraction.js/-/fraction.js-3.2.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-3.2.5.tgz"},"_npmOperationalInternal":{"host":"packages-9-west.internal.npmjs.com","tmp":"tmp/fraction.js-3.2.5.tgz_1454761750288_0.37279163231141865"},"publish_time":1454761752803,"_cnpm_publish_time":1454761752803,"_hasShrinkwrap":false},"3.2.0":{"name":"fraction.js","title":"fraction.js","version":"3.2.0","homepage":"http://www.xarg.org/2014/03/precise-calculations-in-javascript/","bugs":{"url":"https://github.com/infusion/Fraction.js/issues"},"description":"A rational number library","keywords":["math","fraction","rational","number","parser","rational numbers"],"author":{"name":"Robert Eisele","email":"robert@xarg.org","url":"http://www.xarg.org/"},"main":"fraction","directories":{"example":"examples"},"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/MIT"},{"type":"GPL","url":"http://www.opensource.org/licenses/GPL-2.0"}],"repository":{"type":"git","url":"git://github.com/infusion/Fraction.js.git"},"engines":{"node":"*"},"scripts":{"test":"mocha tests/*.js"},"devDependencies":{"mocha":"*"},"gitHead":"5829a13e9bd27f84837583578af4ea5374177eb9","_id":"fraction.js@3.2.0","_shasum":"597b76b9dd835291ed0170c86c4763fd683439c2","_from":".","_npmVersion":"3.5.3","_nodeVersion":"5.4.1","_npmUser":{"name":"infusion","email":"robert@xarg.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"dist":{"shasum":"597b76b9dd835291ed0170c86c4763fd683439c2","size":19115,"noattachment":false,"key":"/fraction.js/-/fraction.js-3.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-3.2.0.tgz"},"publish_time":1453094454892,"_cnpm_publish_time":1453094454892,"_hasShrinkwrap":false},"3.1.0":{"name":"fraction.js","title":"fraction.js","version":"3.1.0","homepage":"http://www.xarg.org/2014/03/precise-calculations-in-javascript/","bugs":{"url":"https://github.com/infusion/Fraction.js/issues"},"description":"A rational number library","keywords":["math","fraction","rational","number","parser","rational numbers"],"author":{"name":"Robert Eisele","email":"robert@xarg.org","url":"http://www.xarg.org/"},"main":"fraction","directories":{"example":"examples"},"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/MIT"},{"type":"GPL","url":"http://www.opensource.org/licenses/GPL-2.0"}],"repository":{"type":"git","url":"git://github.com/infusion/Fraction.js.git"},"engines":{"node":"*"},"scripts":{"test":"mocha tests/*.js"},"devDependencies":{"mocha":"*"},"gitHead":"f0c236b7e4fd0bbc33078a0b7ea01396480fd20f","_id":"fraction.js@3.1.0","_shasum":"34bc3e6dfda754405d468e48b1f70de761b01989","_from":".","_npmVersion":"3.5.3","_nodeVersion":"5.4.1","_npmUser":{"name":"infusion","email":"robert@xarg.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"dist":{"shasum":"34bc3e6dfda754405d468e48b1f70de761b01989","size":19023,"noattachment":false,"key":"/fraction.js/-/fraction.js-3.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-3.1.0.tgz"},"publish_time":1453082983567,"_cnpm_publish_time":1453082983567,"_hasShrinkwrap":false},"3.0.0":{"name":"fraction.js","title":"fraction.js","version":"3.0.0","homepage":"http://www.xarg.org/2014/03/precise-calculations-in-javascript/","bugs":{"url":"https://github.com/infusion/Fraction.js/issues"},"description":"A rational number library","keywords":["math","fraction","rational","number","parser","rational numbers"],"author":{"name":"Robert Eisele","email":"robert@xarg.org","url":"http://www.xarg.org/"},"main":"fraction","licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/MIT"},{"type":"GPL","url":"http://www.opensource.org/licenses/GPL-2.0"}],"repository":{"type":"git","url":"git://github.com/infusion/Fraction.js.git"},"engines":{"node":"*"},"scripts":{"test":"mocha tests/*.js"},"devDependencies":{"mocha":"*"},"gitHead":"5b595ea57e1d0de0d45872db965089d249e045c4","_id":"fraction.js@3.0.0","_shasum":"4e8c1c5167c607c623e759cc23a60abf48941080","_from":".","_npmVersion":"2.14.2","_nodeVersion":"0.12.7","_npmUser":{"name":"infusion","email":"robert@xarg.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"dist":{"shasum":"4e8c1c5167c607c623e759cc23a60abf48941080","size":18655,"noattachment":false,"key":"/fraction.js/-/fraction.js-3.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-3.0.0.tgz"},"directories":{},"publish_time":1441796988253,"_cnpm_publish_time":1441796988253,"_hasShrinkwrap":false},"2.9.0":{"name":"fraction.js","title":"fraction.js","version":"2.9.0","homepage":"http://www.xarg.org/2014/03/precise-calculations-in-javascript/","bugs":{"url":"https://github.com/infusion/Fraction.js/issues"},"description":"A rational number library","keywords":["math","fraction","rational","number","parser","rational numbers"],"author":{"name":"Robert Eisele","email":"robert@xarg.org","url":"http://www.xarg.org/"},"main":"fraction","licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/MIT"},{"type":"GPL","url":"http://www.opensource.org/licenses/GPL-2.0"}],"repository":{"type":"git","url":"git://github.com/infusion/Fraction.js.git"},"engines":{"node":"*"},"scripts":{"test":"mocha tests/*.js"},"devDependencies":{"mocha":"*"},"gitHead":"722b2764d06e0af5d5d357d045e2a1a5e6f95355","_id":"fraction.js@2.9.0","_shasum":"dc0b487cb5f5ef89abe8ec874107f2898fbf9b2a","_from":".","_npmVersion":"2.14.2","_nodeVersion":"0.12.7","_npmUser":{"name":"infusion","email":"robert@xarg.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"dist":{"shasum":"dc0b487cb5f5ef89abe8ec874107f2898fbf9b2a","size":18490,"noattachment":false,"key":"/fraction.js/-/fraction.js-2.9.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-2.9.0.tgz"},"directories":{},"publish_time":1441537305144,"_cnpm_publish_time":1441537305144,"_hasShrinkwrap":false},"2.8.0":{"name":"fraction.js","title":"fraction.js","version":"2.8.0","homepage":"http://www.xarg.org/2014/03/precise-calculations-in-javascript/","bugs":{"url":"https://github.com/infusion/Fraction.js/issues"},"description":"A rational number library","keywords":["math","fraction","rational","number","parser","rational numbers"],"author":{"name":"Robert Eisele","email":"robert@xarg.org","url":"http://www.xarg.org/"},"main":"fraction","licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/MIT"},{"type":"GPL","url":"http://www.opensource.org/licenses/GPL-2.0"}],"repository":{"type":"git","url":"git://github.com/infusion/Fraction.js.git"},"engines":{"node":"*"},"scripts":{"test":"mocha tests/*.js"},"devDependencies":{"mocha":"*"},"gitHead":"2e6adc95ca73e29d04b778ceb858c9a923a67b9f","_id":"fraction.js@2.8.0","_shasum":"7644fb904b0217747aed0cc103ef1cbee564ece4","_from":".","_npmVersion":"2.14.1","_nodeVersion":"0.12.7","_npmUser":{"name":"infusion","email":"robert@xarg.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"dist":{"shasum":"7644fb904b0217747aed0cc103ef1cbee564ece4","size":18208,"noattachment":false,"key":"/fraction.js/-/fraction.js-2.8.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-2.8.0.tgz"},"directories":{},"publish_time":1441385338496,"_cnpm_publish_time":1441385338496,"_hasShrinkwrap":false},"2.7.0":{"name":"fraction.js","title":"fraction.js","version":"2.7.0","homepage":"http://www.xarg.org/2014/03/precise-calculations-in-javascript/","bugs":{"url":"https://github.com/infusion/Fraction.js/issues"},"description":"A rational number library","keywords":["math","fraction","rational","number","parser"],"author":{"name":"Robert Eisele","email":"robert@xarg.org","url":"http://www.xarg.org/"},"main":"fraction","licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/MIT"},{"type":"GPL","url":"http://www.opensource.org/licenses/GPL-2.0"}],"repository":{"type":"git","url":"git://github.com/infusion/Fraction.js.git"},"engines":{"node":"*"},"scripts":{"test":"mocha tests/*.js"},"devDependencies":{"mocha":"*"},"gitHead":"58f2241a306e546979dbd52d3dcbba4a8e6f9b12","_id":"fraction.js@2.7.0","_shasum":"22e38b7a9408a6a19c0604f1da507a72cb3fd093","_from":".","_npmVersion":"2.13.5","_nodeVersion":"0.12.7","_npmUser":{"name":"infusion","email":"robert@xarg.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"dist":{"shasum":"22e38b7a9408a6a19c0604f1da507a72cb3fd093","size":17755,"noattachment":false,"key":"/fraction.js/-/fraction.js-2.7.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-2.7.0.tgz"},"directories":{},"publish_time":1440361246533,"_cnpm_publish_time":1440361246533,"_hasShrinkwrap":false},"2.6.0":{"name":"fraction.js","title":"fraction.js","version":"2.6.0","homepage":"http://www.xarg.org/2014/03/precise-calculations-in-javascript/","bugs":{"url":"https://github.com/infusion/Fraction.js/issues"},"description":"A rational number library","keywords":["math","fraction","rational","number","parser"],"author":{"name":"Robert Eisele","email":"robert@xarg.org","url":"http://www.xarg.org/"},"main":"fraction","licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/MIT"},{"type":"GPL","url":"http://www.opensource.org/licenses/GPL-2.0"}],"repository":{"type":"git","url":"git://github.com/infusion/Fraction.js.git"},"engines":{"node":"*"},"scripts":{"test":"mocha tests/*.js"},"devDependencies":{"mocha":"*"},"gitHead":"0971ea2c3f2f3d71b604d615d1ec5a1e3cd03e20","_id":"fraction.js@2.6.0","_shasum":"bdfa365253d90413df629b853c423324a8195d52","_from":".","_npmVersion":"2.13.5","_nodeVersion":"0.12.7","_npmUser":{"name":"infusion","email":"robert@xarg.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"dist":{"shasum":"bdfa365253d90413df629b853c423324a8195d52","size":17431,"noattachment":false,"key":"/fraction.js/-/fraction.js-2.6.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-2.6.0.tgz"},"directories":{},"publish_time":1440293176843,"_cnpm_publish_time":1440293176843,"_hasShrinkwrap":false},"2.5.0":{"name":"fraction.js","title":"fraction.js","version":"2.5.0","homepage":"http://www.xarg.org/2014/03/precise-calculations-in-javascript/","bugs":{"url":"https://github.com/infusion/Fraction.js/issues"},"description":"A rational number library","keywords":["math","fraction","rational","number"],"author":{"name":"Robert Eisele","email":"robert@xarg.org","url":"http://www.xarg.org/"},"main":"fraction","licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/MIT"},{"type":"GPL","url":"http://www.opensource.org/licenses/GPL-2.0"}],"repository":{"type":"git","url":"git://github.com/infusion/Fraction.js.git"},"engines":{"node":"*"},"scripts":{"test":"mocha tests/*.js"},"devDependencies":{"mocha":"*"},"gitHead":"e38a320aa2f3a6390ecc93c9b9478c68fd73f9e4","_id":"fraction.js@2.5.0","_shasum":"abca045c6ede85edf20a47ba3a5bfa525d18513d","_from":".","_npmVersion":"2.13.2","_nodeVersion":"0.12.7","_npmUser":{"name":"infusion","email":"robert@xarg.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"dist":{"shasum":"abca045c6ede85edf20a47ba3a5bfa525d18513d","size":17303,"noattachment":false,"key":"/fraction.js/-/fraction.js-2.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-2.5.0.tgz"},"directories":{},"publish_time":1438189591269,"_cnpm_publish_time":1438189591269,"_hasShrinkwrap":false},"2.4.1":{"name":"fraction.js","title":"fraction.js","version":"2.4.1","homepage":"http://www.xarg.org/2014/03/precise-calculations-in-javascript/","bugs":{"url":"https://github.com/infusion/Fraction.js/issues"},"description":"A rational number library","keywords":["math","fraction","rational","number"],"author":{"name":"Robert Eisele","email":"robert@xarg.org"},"main":"fraction","licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/MIT"},{"type":"GPL","url":"http://www.opensource.org/licenses/GPL-2.0"}],"repository":{"type":"git","url":"git://github.com/infusion/Fraction.js.git"},"engines":{"node":"*"},"scripts":{"test":"mocha tests/*.js"},"devDependencies":{"mocha":"*"},"gitHead":"f0640781b4bf68b28505516d3bb562fead77b66b","_id":"fraction.js@2.4.1","_shasum":"277e70045754a5e87557cc49e9c9d370f01e8a2f","_from":".","_npmVersion":"2.12.1","_nodeVersion":"0.12.6","_npmUser":{"name":"infusion","email":"robert@xarg.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"dist":{"shasum":"277e70045754a5e87557cc49e9c9d370f01e8a2f","size":16963,"noattachment":false,"key":"/fraction.js/-/fraction.js-2.4.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-2.4.1.tgz"},"directories":{},"publish_time":1436273763869,"_cnpm_publish_time":1436273763869,"_hasShrinkwrap":false},"2.4.0":{"name":"fraction.js","title":"fraction.js","version":"2.4.0","homepage":"http://www.xarg.org/2014/03/precise-calculations-in-javascript/","bugs":{"url":"https://github.com/infusion/Fraction.js/issues"},"description":"A rational number library","keywords":["math","fraction","rational","number"],"author":{"name":"Robert Eisele","email":"robert@xarg.org"},"main":"fraction","licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/MIT"},{"type":"GPL","url":"http://www.opensource.org/licenses/GPL-2.0"}],"repository":{"type":"git","url":"git://github.com/infusion/Fraction.js.git"},"engines":{"node":"*"},"scripts":{"test":"mocha tests/*.js"},"devDependencies":{"mocha":"*"},"gitHead":"df1b3df133055d62d2de474779db3b8e797838d0","_id":"fraction.js@2.4.0","_shasum":"39d2c2c9b91d0ae2888e7d81e5d1607d561707f2","_from":".","_npmVersion":"2.12.0","_nodeVersion":"0.12.5","_npmUser":{"name":"infusion","email":"robert@xarg.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"dist":{"shasum":"39d2c2c9b91d0ae2888e7d81e5d1607d561707f2","size":16954,"noattachment":false,"key":"/fraction.js/-/fraction.js-2.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-2.4.0.tgz"},"directories":{},"publish_time":1435935152554,"_cnpm_publish_time":1435935152554,"_hasShrinkwrap":false},"2.3.0":{"name":"fraction.js","title":"fraction.js","version":"2.3.0","homepage":"http://www.xarg.org/2014/03/precise-calculations-in-javascript/","bugs":{"url":"https://github.com/infusion/Fraction.js/issues"},"description":"A rational number library","keywords":["math","fraction","rational","number"],"author":{"name":"Robert Eisele","email":"robert@xarg.org"},"main":"fraction","licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/MIT"},{"type":"GPL","url":"http://www.opensource.org/licenses/GPL-2.0"}],"repository":{"type":"git","url":"git://github.com/infusion/Fraction.js.git"},"engines":{"node":"*"},"scripts":{"test":"mocha tests/*.js"},"devDependencies":{"mocha":"*"},"gitHead":"fa2bf9f3dcc3b1491f368383b0e0673ec773c0b3","_id":"fraction.js@2.3.0","_shasum":"937b0a962da28da3bb0e95ea8776e6c56b702165","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.4","_npmUser":{"name":"infusion","email":"robert@xarg.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"dist":{"shasum":"937b0a962da28da3bb0e95ea8776e6c56b702165","size":16700,"noattachment":false,"key":"/fraction.js/-/fraction.js-2.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-2.3.0.tgz"},"directories":{},"publish_time":1435058160181,"_cnpm_publish_time":1435058160181,"_hasShrinkwrap":false},"2.2.0":{"name":"fraction.js","title":"fraction.js","version":"2.2.0","homepage":"http://www.xarg.org/2014/03/precise-calculations-in-javascript/","description":"A rational number library","keywords":["math","fraction","rational","number"],"author":{"name":"Robert Eisele","email":"robert@xarg.org"},"main":"fraction","licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/MIT"},{"type":"GPL","url":"http://www.opensource.org/licenses/GPL-2.0"}],"repository":{"type":"git","url":"git://github.com/infusion/Fraction.js.git"},"engines":{"node":"*"},"scripts":{"test":"mocha tests/*.js"},"devDependencies":{"mocha":"*"},"gitHead":"722cd19c14c0dc57bdce424d3950f369d421cf6a","bugs":{"url":"https://github.com/infusion/Fraction.js/issues"},"_id":"fraction.js@2.2.0","_shasum":"a91933797ac159353bf27145c37d57f3c44f3d97","_from":".","_npmVersion":"2.11.0","_nodeVersion":"0.12.4","_npmUser":{"name":"infusion","email":"robert@xarg.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"dist":{"shasum":"a91933797ac159353bf27145c37d57f3c44f3d97","size":16558,"noattachment":false,"key":"/fraction.js/-/fraction.js-2.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-2.2.0.tgz"},"directories":{},"publish_time":1433460652206,"_cnpm_publish_time":1433460652206,"_hasShrinkwrap":false},"2.0.0":{"name":"fraction.js","title":"fraction.js","version":"2.0.0","homepage":"http://www.xarg.org/2014/03/precise-calculations-in-javascript/","description":"A rational number library","keywords":["math","fraction","rational","number"],"author":{"name":"Robert Eisele","email":"robert@xarg.org"},"main":"fraction","licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/MIT"},{"type":"GPL","url":"http://www.opensource.org/licenses/GPL-2.0"}],"repository":{"type":"git","url":"git://github.com/infusion/Fraction.js.git"},"engines":{"node":"*"},"scripts":{"test":"mocha tests/*.js"},"devDependencies":{"mocha":"*"},"gitHead":"fd457a8ce0a243e5178fc07d7c8dc058580088ec","bugs":{"url":"https://github.com/infusion/Fraction.js/issues"},"_id":"fraction.js@2.0.0","_shasum":"c7508c03c5f4f03971c94d7f57626b07d503d1c8","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.2","_npmUser":{"name":"infusion","email":"robert@xarg.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"dist":{"shasum":"c7508c03c5f4f03971c94d7f57626b07d503d1c8","size":15380,"noattachment":false,"key":"/fraction.js/-/fraction.js-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-2.0.0.tgz"},"directories":{},"publish_time":1433030030352,"_cnpm_publish_time":1433030030352,"_hasShrinkwrap":false},"1.9.0":{"name":"fraction.js","title":"fraction.js","version":"1.9.0","homepage":"http://www.xarg.org/2014/03/precise-calculations-in-javascript/","description":"A rational number library","keywords":["math","fraction","rational","number"],"author":{"name":"Robert Eisele","email":"robert@xarg.org"},"main":"fraction","licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/MIT"},{"type":"GPL","url":"http://www.opensource.org/licenses/GPL-2.0"}],"repository":{"type":"git","url":"git://github.com/infusion/Fraction.js.git"},"engines":{"node":"*"},"scripts":{"test":"mocha tests/*.js"},"devDependencies":{"mocha":"*"},"gitHead":"ab709646762b81a6bc6660ad1f894cfa2c201ae4","bugs":{"url":"https://github.com/infusion/Fraction.js/issues"},"_id":"fraction.js@1.9.0","_shasum":"34463f6f7bc1ddcec3e05e2d4977d24612932170","_from":".","_npmVersion":"2.10.0","_nodeVersion":"0.12.2","_npmUser":{"name":"infusion","email":"robert@xarg.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"dist":{"shasum":"34463f6f7bc1ddcec3e05e2d4977d24612932170","size":15503,"noattachment":false,"key":"/fraction.js/-/fraction.js-1.9.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-1.9.0.tgz"},"directories":{},"publish_time":1431678761163,"_cnpm_publish_time":1431678761163,"_hasShrinkwrap":false},"1.7.0":{"name":"fraction.js","title":"fraction.js","version":"1.7.0","homepage":"http://www.xarg.org/2014/03/precise-calculations-in-javascript/","description":"A rational number library","keywords":["math","fraction","rational","number"],"author":{"name":"Robert Eisele","email":"robert@xarg.org"},"main":"fraction","licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/MIT"},{"type":"GPL","url":"http://www.opensource.org/licenses/GPL-2.0"}],"repository":{"type":"git","url":"git://github.com/infusion/Fraction.js.git"},"engines":{"node":"*"},"scripts":{"test":"mocha tests/*.js"},"devDependencies":{"mocha":"*"},"gitHead":"b904864daf9ecad4c17f2a56cff663553bc4258b","bugs":{"url":"https://github.com/infusion/Fraction.js/issues"},"_id":"fraction.js@1.7.0","_shasum":"8e95345c3a64e1d8cb960c7fb738c7449ea7b4d6","_from":".","_npmVersion":"2.7.3","_nodeVersion":"0.12.0","_npmUser":{"name":"infusion","email":"robert@xarg.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"dist":{"shasum":"8e95345c3a64e1d8cb960c7fb738c7449ea7b4d6","size":14635,"noattachment":false,"key":"/fraction.js/-/fraction.js-1.7.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-1.7.0.tgz"},"directories":{},"publish_time":1427311160808,"_cnpm_publish_time":1427311160808,"_hasShrinkwrap":false},"1.6.0":{"name":"fraction.js","title":"fraction.js","version":"1.6.0","homepage":"http://www.xarg.org/2014/03/precise-calculations-in-javascript/","description":"A rational number library","keywords":["math","fraction","rational","number"],"author":{"name":"Robert Eisele","email":"robert@xarg.org"},"main":"fraction","licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/MIT"},{"type":"GPL","url":"http://www.opensource.org/licenses/GPL-2.0"}],"repository":{"type":"git","url":"git://github.com/infusion/Fraction.js.git"},"engines":{"node":"*"},"scripts":{"test":"mocha tests/*.js"},"devDependencies":{"mocha":"*"},"gitHead":"dea70736e8149d8c85a40cb227116732fa30b420","bugs":{"url":"https://github.com/infusion/Fraction.js/issues"},"_id":"fraction.js@1.6.0","_shasum":"b9e56dfd9562dfcbbe05a862fb9bd1400d9c5488","_from":".","_npmVersion":"2.5.0","_nodeVersion":"0.12.0","_npmUser":{"name":"infusion","email":"robert@xarg.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"dist":{"shasum":"b9e56dfd9562dfcbbe05a862fb9bd1400d9c5488","size":14070,"noattachment":false,"key":"/fraction.js/-/fraction.js-1.6.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-1.6.0.tgz"},"directories":{},"publish_time":1423916942844,"_cnpm_publish_time":1423916942844,"_hasShrinkwrap":false},"1.5.0":{"name":"fraction.js","title":"fraction.js","version":"1.5.0","homepage":"http://www.xarg.org/2014/03/precise-calculations-in-javascript/","description":"A rational number library","keywords":["math","fraction","rational","number"],"author":{"name":"Robert Eisele","email":"robert@xarg.org"},"main":"fraction","licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/MIT"},{"type":"GPL","url":"http://www.opensource.org/licenses/GPL-2.0"}],"repository":{"type":"git","url":"git://github.com/infusion/Fraction.js.git"},"engines":{"node":"*"},"scripts":{"test":"mocha tests/*.js"},"devDependencies":{"mocha":"*"},"gitHead":"71476469840d4c22dfc3d6d0f6dac6c3c3e807de","bugs":{"url":"https://github.com/infusion/Fraction.js/issues"},"_id":"fraction.js@1.5.0","_shasum":"7de884a8161e3e9e0d3b0ec5e3b78a82d4b42f92","_from":".","_npmVersion":"2.4.1","_nodeVersion":"0.10.36","_npmUser":{"name":"infusion","email":"robert@xarg.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"dist":{"shasum":"7de884a8161e3e9e0d3b0ec5e3b78a82d4b42f92","size":13359,"noattachment":false,"key":"/fraction.js/-/fraction.js-1.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-1.5.0.tgz"},"directories":{},"publish_time":1423420822146,"_cnpm_publish_time":1423420822146,"_hasShrinkwrap":false},"1.3.0":{"name":"fraction.js","title":"fraction.js","version":"1.3.0","homepage":"http://www.xarg.org/2014/03/precise-calculations-in-javascript/","description":"A rational number library","keywords":["math","fraction","rational","number"],"author":{"name":"Robert Eisele","email":"robert@xarg.org"},"main":"fraction","licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/MIT"},{"type":"GPL","url":"http://www.opensource.org/licenses/GPL-2.0"}],"repository":{"type":"git","url":"git://github.com/infusion/Fraction.js.git"},"engines":{"node":"*"},"scripts":{"test":"mocha tests/*.js"},"devDependencies":{"mocha":"*"},"gitHead":"d3befba1f82aabdfd109abe2b53cecb081c1fbec","bugs":{"url":"https://github.com/infusion/Fraction.js/issues"},"_id":"fraction.js@1.3.0","_shasum":"957f268fd3e61d6140826e122b985edc574b8aeb","_from":".","_npmVersion":"1.4.17","_npmUser":{"name":"infusion","email":"robert@xarg.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"dist":{"shasum":"957f268fd3e61d6140826e122b985edc574b8aeb","size":10004,"noattachment":false,"key":"/fraction.js/-/fraction.js-1.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-1.3.0.tgz"},"directories":{},"publish_time":1404048442836,"_cnpm_publish_time":1404048442836,"_hasShrinkwrap":false},"1.2.1":{"name":"fraction.js","title":"fraction.js","version":"1.2.1","homepage":"http://www.xarg.org/2014/03/precise-calculations-in-javascript/","description":"A rational number library","keywords":["math","fraction","rational","number"],"author":{"name":"Robert Eisele","email":"robert@xarg.org"},"main":"fraction","licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/MIT"},{"type":"GPL","url":"http://www.opensource.org/licenses/GPL-2.0"}],"repository":{"type":"git","url":"git://github.com/infusion/Fraction.js.git"},"engines":{"node":"*"},"scripts":{"test":"mocha tests/*.js"},"devDependencies":{"mocha":"*"},"gitHead":"c01664b5a30f25d9e7f601a1eabc888cbb74d770","bugs":{"url":"https://github.com/infusion/Fraction.js/issues"},"_id":"fraction.js@1.2.1","_shasum":"5699742415ccced9650c928d29c1fefba946092d","_from":".","_npmVersion":"1.4.16","_npmUser":{"name":"infusion","email":"robert@xarg.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"dist":{"shasum":"5699742415ccced9650c928d29c1fefba946092d","size":9831,"noattachment":false,"key":"/fraction.js/-/fraction.js-1.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-1.2.1.tgz"},"directories":{},"publish_time":1403257179099,"_cnpm_publish_time":1403257179099,"_hasShrinkwrap":false},"1.2.0":{"name":"fraction.js","title":"fraction.js","version":"1.2.0","homepage":"http://www.xarg.org/2014/03/precise-calculations-in-javascript/","description":"A rational number library","keywords":["math","fraction","rational","number"],"author":{"name":"Robert Eisele","email":"robert@xarg.org"},"main":"fraction","licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/MIT"},{"type":"GPL","url":"http://www.opensource.org/licenses/GPL-2.0"}],"repository":{"type":"git","url":"git://github.com/infusion/Fraction.js.git"},"engines":{"node":"*"},"scripts":{"test":"mocha tests/*.js"},"devDependencies":{"mocha":"*"},"bugs":{"url":"https://github.com/infusion/Fraction.js/issues"},"_id":"fraction.js@1.2.0","dist":{"shasum":"a0060008d092e5f8028ca76d72cdeedc7751dea8","size":9793,"noattachment":false,"key":"/fraction.js/-/fraction.js-1.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-1.2.0.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"infusion","email":"robert@xarg.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"directories":{},"publish_time":1397698070505,"_cnpm_publish_time":1397698070505,"_hasShrinkwrap":false},"1.1.0":{"name":"fraction.js","title":"fraction.js","version":"1.1.0","homepage":"http://www.xarg.org/2014/03/precise-calculations-in-javascript/","description":"A rational number library","keywords":["math","fraction","rational","number"],"author":{"name":"Robert Eisele","email":"robert@xarg.org"},"main":"fraction","licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/MIT"},{"type":"GPL","url":"http://www.opensource.org/licenses/GPL-2.0"}],"repository":{"type":"git","url":"git://github.com/infusion/Fraction.js.git"},"engines":{"node":"*"},"scripts":{"test":"mocha tests/*.js"},"devDependencies":{"mocha":"*"},"bugs":{"url":"https://github.com/infusion/Fraction.js/issues"},"_id":"fraction.js@1.1.0","dist":{"shasum":"9c5e9b198d85733a88680c992f60f25f83ac7320","size":9089,"noattachment":false,"key":"/fraction.js/-/fraction.js-1.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/fraction.js/download/fraction.js-1.1.0.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"infusion","email":"robert@xarg.org"},"maintainers":[{"name":"infusion","email":"robert@xarg.org"}],"directories":{},"publish_time":1395428686856,"_cnpm_publish_time":1395428686856,"_hasShrinkwrap":false}},"readme":"# Fraction.js - ℚ in JavaScript\n\n[![NPM Package](https://img.shields.io/npm/v/fraction.js.svg?style=flat)](https://npmjs.org/package/fraction.js \"View this project on npm\")\n[![MIT license](http://img.shields.io/badge/license-MIT-brightgreen.svg)](http://opensource.org/licenses/MIT)\n\nDo you find the limitations of floating-point arithmetic frustrating, especially when rational and irrational numbers like π or √2 are stored within the same finite precision? This can lead to avoidable inaccuracies such as:\n\n```javascript\n1 / 98 * 98 // Results in 0.9999999999999999\n```\n\nFor applications requiring higher precision or where working with fractions is preferable, consider incorporating *Fraction.js* into your project.\n\nThe library effectively addresses precision issues, as demonstrated below:\n\n```javascript\nFraction(1).div(98).mul(98) // Returns 1\n```\n\n*Fraction.js* uses a `BigInt` representation for both the numerator and denominator, ensuring minimal performance overhead while maximizing accuracy. Its design is optimized for precision, making it an ideal choice as a foundational library for other math tools, such as [Polynomial.js](https://github.com/rawify/Polynomial.js) and [Math.js](https://github.com/josdejong/mathjs).\n\n## Convert Decimal to Fraction\n\nOne of the core features of *Fraction.js* is its ability to seamlessly convert decimal numbers into fractions.\n\n```javascript\nlet x = new Fraction(1.88);\nlet res = x.toFraction(true); // Returns \"1 22/25\" as a string\n```\n\nThis is particularly useful when you need precise fraction representations instead of dealing with the limitations of floating-point arithmetic. What if you allow some error tolerance?\n\n```javascript\nlet x = new Fraction(0.33333);\nlet res = x.simplify(0.001) // Error < 0.001\n       .toFraction(); // Returns \"1/3\" as a string\n```\n\n## Precision\n\nAs native `BigInt` support in JavaScript becomes more common, libraries like *Fraction.js* use it to handle calculations with higher precision. This improves the speed and accuracy of math operations with large numbers, providing a better solution for tasks that need more precision than floating-point numbers can offer.\n\n## Examples / Motivation\n\nA simple example of using *Fraction.js* might look like this:\n\n```javascript\nvar f = new Fraction(\"9.4'31'\"); // 9.4313131313131...\nf.mul([-4, 3]).mod(\"4.'8'\"); // 4.88888888888888...\n```\n\nThe result can then be displayed as:\n\n```javascript\nconsole.log(f.toFraction()); // -4154 / 1485\n```\n\nAdditionally, you can access the internal attributes of the fraction, such as the sign (s), numerator (n), and denominator (d). Keep in mind that these values are stored as `BigInt`:\n\n```javascript\nNumber(f.s) * Number(f.n) / Number(f.d) = -1 * 4154 / 1485 = -2.797306...\n```\n\nIf you attempted to calculate this manually using floating-point arithmetic, you'd get something like:\n\n```javascript\n(9.4313131 * (-4 / 3)) % 4.888888 = -2.797308133...\n```\n\nWhile the result is reasonably close, it’s not as accurate as the fraction-based approach that *Fraction.js* provides, especially when dealing with repeating decimals or complex operations. This highlights the value of precision that the library brings.\n\n### Laplace Probability\n\nHere's a straightforward example of using *Fraction.js* to calculate probabilities. Let's determine the probability of rolling a specific outcome on a fair die:\n\n- **P({3})**: The probability of rolling a 3.\n- **P({1, 4})**: The probability of rolling either 1 or 4.\n- **P({2, 4, 6})**: The probability of rolling 2, 4, or 6.\n\n#### P({3}):\n\n```javascript\nvar p = new Fraction([3].length, 6).toString(); // \"0.1(6)\"\n```\n\n#### P({1, 4}):\n\n```javascript\nvar p = new Fraction([1, 4].length, 6).toString(); // \"0.(3)\"\n```\n\n#### P({2, 4, 6}):\n\n```javascript\nvar p = new Fraction([2, 4, 6].length, 6).toString(); // \"0.5\"\n```\n\n### Convert degrees/minutes/seconds to precise rational representation:\n\n57+45/60+17/3600\n\n```javascript\nvar deg = 57; // 57°\nvar min = 45; // 45 Minutes\nvar sec = 17; // 17 Seconds\n\nnew Fraction(deg).add(min, 60).add(sec, 3600).toString() // -> 57.7547(2)\n```\n\n\n### Rational approximation of irrational numbers\n\nTo approximate a number like *sqrt(5) - 2* with a numerator and denominator, you can reformat the equation as follows: *pow(n / d + 2, 2) = 5*.\n\nThen the following algorithm will generate the rational number besides the binary representation.\n\n```javascript\nvar x = \"/\", s = \"\";\n\nvar a = new Fraction(0),\n    b = new Fraction(1);\nfor (var n = 0; n <= 10; n++) {\n\n  var c = a.add(b).div(2);\n\n  console.log(n + \"\\t\" + a + \"\\t\" + b + \"\\t\" + c + \"\\t\" + x);\n\n  if (c.add(2).pow(2).valueOf() < 5) {\n    a = c;\n    x = \"1\";\n  } else {\n    b = c;\n    x = \"0\";\n  }\n  s+= x;\n}\nconsole.log(s)\n```\n\nThe result is\n\n```\nn   a[n]        b[n]        c[n]            x[n]\n0   0/1         1/1         1/2             /\n1   0/1         1/2         1/4             0\n2   0/1         1/4         1/8             0\n3   1/8         1/4         3/16            1\n4   3/16        1/4         7/32            1\n5   7/32        1/4         15/64           1\n6   15/64       1/4         31/128          1\n7   15/64       31/128      61/256          0\n8   15/64       61/256      121/512         0\n9   15/64       121/512     241/1024        0\n10  241/1024    121/512     483/2048        1\n```\n\nThus the approximation after 11 iterations of the bisection method is *483 / 2048* and the binary representation is 0.00111100011 (see [WolframAlpha](http://www.wolframalpha.com/input/?i=sqrt%285%29-2+binary))\n\nI published another example on how to approximate PI with fraction.js on my [blog](https://raw.org/article/rational-numbers-in-javascript/) (Still not the best idea to approximate irrational numbers, but it illustrates the capabilities of Fraction.js perfectly).\n\n\n### Get the exact fractional part of a number\n\n```javascript\nvar f = new Fraction(\"-6.(3416)\");\nconsole.log(f.mod(1).abs().toFraction()); // = 3416/9999\n```\n\n### Mathematical correct modulo\n\nThe behaviour on negative congruences is different to most modulo implementations in computer science. Even the *mod()* function of Fraction.js behaves in the typical way. To solve the problem of having the mathematical correct modulo with Fraction.js you could come up with this:\n\n```javascript\nvar a = -1;\nvar b = 10.99;\n\nconsole.log(new Fraction(a)\n  .mod(b)); // Not correct, usual Modulo\n\nconsole.log(new Fraction(a)\n  .mod(b).add(b).mod(b)); // Correct! Mathematical Modulo\n```\n\nfmod() imprecision circumvented\n---\nIt turns out that Fraction.js outperforms almost any fmod() implementation, including JavaScript itself, [php.js](http://phpjs.org/functions/fmod/), C++, Python, Java and even Wolframalpha due to the fact that numbers like 0.05, 0.1, ... are infinite decimal in base 2.\n\nThe equation *fmod(4.55, 0.05)* gives *0.04999999999999957*, wolframalpha says *1/20*. The correct answer should be **zero**, as 0.05 divides 4.55 without any remainder.\n\n\n## Parser\n\nAny function (see below) as well as the constructor of the *Fraction* class parses its input and reduce it to the smallest term.\n\nYou can pass either Arrays, Objects, Integers, Doubles or Strings.\n\n### Arrays / Objects\n\n```javascript\nnew Fraction(numerator, denominator);\nnew Fraction([numerator, denominator]);\nnew Fraction({n: numerator, d: denominator});\n```\n\n### Integers\n\n```javascript\nnew Fraction(123);\n```\n\n### Doubles\n\n```javascript\nnew Fraction(55.4);\n```\n\n**Note:** If you pass a double as it is, Fraction.js will perform a number analysis based on Farey Sequences. If you concern performance, cache Fraction.js objects and pass arrays/objects.\n\nThe method is really precise, but too large exact numbers, like 1234567.9991829 will result in a wrong approximation. If you want to keep the number as it is, convert it to a string, as the string parser will not perform any further observations. If you have problems with the approximation, in the file `examples/approx.js` is a different approximation algorithm, which might work better in some more specific use-cases.\n\n\n### Strings\n\n```javascript\nnew Fraction(\"123.45\");\nnew Fraction(\"123/45\"); // A rational number represented as two decimals, separated by a slash\nnew Fraction(\"123:45\"); // A rational number represented as two decimals, separated by a colon\nnew Fraction(\"4 123/45\"); // A rational number represented as a whole number and a fraction\nnew Fraction(\"123.'456'\"); // Note the quotes, see below!\nnew Fraction(\"123.(456)\"); // Note the brackets, see below!\nnew Fraction(\"123.45'6'\"); // Note the quotes, see below!\nnew Fraction(\"123.45(6)\"); // Note the brackets, see below!\n```\n\n### Two arguments\n\n```javascript\nnew Fraction(3, 2); // 3/2 = 1.5\n```\n\n### Repeating decimal places\n\n*Fraction.js* can easily handle repeating decimal places. For example *1/3* is *0.3333...*. There is only one repeating digit. As you can see in the examples above, you can pass a number like *1/3* as \"0.'3'\" or \"0.(3)\", which are synonym. There are no tests to parse something like 0.166666666 to 1/6! If you really want to handle this number, wrap around brackets on your own with the function below for example: 0.1(66666666)\n\nAssume you want to divide 123.32 / 33.6(567). [WolframAlpha](http://www.wolframalpha.com/input/?i=123.32+%2F+%2812453%2F370%29) states that you'll get a period of 1776 digits. *Fraction.js* comes to the same result. Give it a try:\n\n```javascript\nvar f = new Fraction(\"123.32\");\nconsole.log(\"Bam: \" + f.div(\"33.6(567)\"));\n```\n\nTo automatically make a number like \"0.123123123\" to something more Fraction.js friendly like \"0.(123)\", I hacked this little brute force algorithm in a 10 minutes. Improvements are welcome...\n\n```javascript\nfunction formatDecimal(str) {\n\n  var comma, pre, offset, pad, times, repeat;\n\n  if (-1 === (comma = str.indexOf(\".\")))\n    return str;\n\n  pre = str.substr(0, comma + 1);\n  str = str.substr(comma + 1);\n\n  for (var i = 0; i < str.length; i++) {\n\n    offset = str.substr(0, i);\n\n    for (var j = 0; j < 5; j++) {\n\n      pad = str.substr(i, j + 1);\n\n      times = Math.ceil((str.length - offset.length) / pad.length);\n\n      repeat = new Array(times + 1).join(pad); // Silly String.repeat hack\n\n      if (0 === (offset + repeat).indexOf(str)) {\n        return pre + offset + \"(\" + pad + \")\";\n      }\n    }\n  }\n  return null;\n}\n\nvar f, x = formatDecimal(\"13.0123123123\"); // = 13.0(123)\nif (x !== null) {\n  f = new Fraction(x);\n}\n```\n\n## Attributes\n\n\nThe Fraction object allows direct access to the numerator, denominator and sign attributes. It is ensured that only the sign-attribute holds sign information so that a sign comparison is only necessary against this attribute.\n\n```javascript\nvar f = new Fraction('-1/2');\nconsole.log(f.n); // Numerator: 1\nconsole.log(f.d); // Denominator: 2\nconsole.log(f.s); // Sign: -1\n```\n\n\n## Functions\n\n### Fraction abs()\n\nReturns the actual number without any sign information\n\n### Fraction neg()\n\nReturns the actual number with flipped sign in order to get the additive inverse\n\n### Fraction add(n)\n\nReturns the sum of the actual number and the parameter n\n\n### Fraction sub(n)\n\nReturns the difference of the actual number and the parameter n\n\n### Fraction mul(n)\n\nReturns the product of the actual number and the parameter n\n\n### Fraction div(n)\n\nReturns the quotient of the actual number and the parameter n\n\n### Fraction pow(exp)\n\nReturns the power of the actual number, raised to an possible rational exponent. If the result becomes non-rational the function returns `null`.\n\n### Fraction log(base)\n\nReturns the logarithm of the actual number to a given rational base. If the result becomes non-rational the function returns `null`.\n\n### Fraction mod(n)\n\nReturns the modulus (rest of the division) of the actual object and n (this % n). It's a much more precise [fmod()](#fmod-impreciseness-circumvented) if you like. Please note that *mod()* is just like the modulo operator of most programming languages. If you want a mathematical correct modulo, see [here](#mathematical-correct-modulo).\n\n### Fraction mod()\n\nReturns the modulus (rest of the division) of the actual object (numerator mod denominator)\n\n### Fraction gcd(n)\n\nReturns the fractional greatest common divisor\n\n### Fraction lcm(n)\n\nReturns the fractional least common multiple\n\n### Fraction ceil([places=0-16])\n\nReturns the ceiling of a rational number with Math.ceil\n\n### Fraction floor([places=0-16])\n\nReturns the floor of a rational number with Math.floor\n\n### Fraction round([places=0-16])\n\nReturns the rational number rounded with Math.round\n\n### Fraction roundTo(multiple)\n\nRounds a fraction to the closest multiple of another fraction. \n\n### Fraction inverse()\n\nReturns the multiplicative inverse of the actual number (n / d becomes d / n) in order to get the reciprocal\n\n### Fraction simplify([eps=0.001])\n\nSimplifies the rational number under a certain error threshold. Ex. `0.333` will be `1/3` with `eps=0.001`\n\n### boolean equals(n)\n\nCheck if two rational numbers are equal\n\n### boolean lt(n)\n\nCheck if this rational number is less than another\n\n### boolean lte(n)\n\nCheck if this rational number is less than or equal another\n\n### boolean gt(n)\n\nCheck if this rational number is greater than another\n\n### boolean gte(n)\n\nCheck if this rational number is greater than or equal another\n\n### int compare(n)\n\nCompare two numbers.\n```\nresult < 0: n is greater than actual number\nresult > 0: n is smaller than actual number\nresult = 0: n is equal to the actual number\n```\n\n### boolean divisible(n)\n\nCheck if two numbers are divisible (n divides this)\n\n### double valueOf()\n\nReturns a decimal representation of the fraction\n\n### String toString([decimalPlaces=15])\n\nGenerates an exact string representation of the given object. For repeating decimal places, digits within repeating cycles are enclosed in parentheses, e.g., `1/3 = \"0.(3)\"`. For other numbers, the string will include up to the specified `decimalPlaces` significant digits, including any trailing zeros if truncation occurs. For example, `1/2` will be represented as `\"0.5\"`, without additional trailing zeros.\n\n**Note:** Since both `valueOf()` and `toString()` are provided, `toString()` will only be invoked implicitly when the object is used in a string context. For instance, when using the plus operator like `\"123\" + new Fraction`, `valueOf()` will be called first, as JavaScript attempts to combine primitives before concatenating them, with the string type taking precedence. However, `alert(new Fraction)` or `String(new Fraction)` will behave as expected. To ensure specific behavior, explicitly call either `toString()` or `valueOf()`.\n\n### String toLatex(showMixed=false)\n\nGenerates an exact LaTeX representation of the actual object. You can see a [live demo](https://raw.org/article/rational-numbers-in-javascript/) on my blog.\n\nThe optional boolean parameter indicates if you want to show the a mixed fraction. \"1 1/3\" instead of \"4/3\"\n\n### String toFraction(showMixed=false)\n\nGets a string representation of the fraction\n\nThe optional boolean parameter indicates if you want to showa mixed fraction. \"1 1/3\" instead of \"4/3\"\n\n### Array toContinued()\n\nGets an array of the fraction represented as a continued fraction. The first element always contains the whole part.\n\n```javascript\nvar f = new Fraction('88/33');\nvar c = f.toContinued(); // [2, 1, 2]\n```\n\n### Fraction clone()\n\nCreates a copy of the actual Fraction object\n\n\n## Exceptions\n\nIf a really hard error occurs (parsing error, division by zero), *Fraction.js* throws exceptions! Please make sure you handle them correctly.\n\n\n## Installation\n\nYou can install `Fraction.js` via npm:\n\n```bash\nnpm install fraction.js\n```\n\nOr with yarn:\n\n```bash\nyarn add fraction.js\n```\n\nAlternatively, download or clone the repository:\n\n```bash\ngit clone https://github.com/rawify/Fraction.js\n```\n\n## Usage\n\nInclude the `fraction.min.js` file in your project:\n\n```html\n<script src=\"path/to/fraction.min.js\"></script>\n<script>\n  var x = new Fraction(\"13/4\");\n</script>\n```\n\nOr in a Node.js project:\n\n```javascript\nconst Fraction = require('fraction.js');\n```\n\nor \n\n```javascript\nimport Fraction from 'fraction.js';\n```\n\n\n## Coding Style\n\nAs every library I publish, Fraction.js is also built to be as small as possible after compressing it with Google Closure Compiler in advanced mode. Thus the coding style orientates a little on maxing-out the compression rate. Please make sure you keep this style if you plan to extend the library.\n\n## Building the library\n\nAfter cloning the Git repository run:\n\n```bash\nnpm install\nnpm run build\n```\n\n## Run a test\n\nTesting the source against the shipped test suite is as easy as\n\n```bash\nnpm run test\n```\n\n## Copyright and Licensing\n\nCopyright (c) 2025, [Robert Eisele](https://raw.org/)\nLicensed under the MIT license.\n","_attachments":{},"homepage":"https://raw.org/article/rational-numbers-in-javascript/","bugs":{"url":"https://github.com/rawify/Fraction.js/issues"},"license":"MIT"}