Socket
Socket
Sign inDemoInstall

fraction.js

Package Overview
Dependencies
Maintainers
1
Versions
53
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

fraction.js - npm Package Compare versions

Comparing version 4.0.14 to 4.1.0

6

bigfraction.js
/**
* @license Fraction.js v4.0.14 09/09/2015
* http://www.xarg.org/2014/03/rational-numbers-in-javascript/
* @license Fraction.js v4.1.0 13/05/2021
* https://www.xarg.org/2014/03/rational-numbers-in-javascript/
*
* Copyright (c) 2015, Robert Eisele (robert@xarg.org)
* Copyright (c) 2021, Robert Eisele (robert@xarg.org)
* Dual licensed under the MIT or GPL Version 2 licenses.

@@ -7,0 +7,0 @@ **/

/**
* @license Fraction.js v4.0.14 09/09/2015
* @license Fraction.js v4.1.0 13/05/2021
* https://www.xarg.org/2014/03/rational-numbers-in-javascript/
*
* Copyright (c) 2015, Robert Eisele (robert@xarg.org)
* Copyright (c) 2021, Robert Eisele (robert@xarg.org)
* Dual licensed under the MIT or GPL Version 2 licenses.

@@ -7,0 +7,0 @@ **/

/*
Fraction.js v4.0.12 09/09/2015
http://www.xarg.org/2014/03/rational-numbers-in-javascript/
Fraction.js v4.1.0 13/05/2021
https://www.xarg.org/2014/03/rational-numbers-in-javascript/
Copyright (c) 2015, Robert Eisele (robert@xarg.org)
Copyright (c) 2021, Robert Eisele (robert@xarg.org)
Dual licensed under the MIT or GPL Version 2 licenses.
*/
(function(x){function l(a,b){var c=0,k=1,h=1,e=0,u=0,l=0,p=1,r=1,f=0,g=1,t=1,q=1;if(void 0!==a&&null!==a)if(void 0!==b)c=a,k=b,h=c*k;else switch(typeof a){case "object":"d"in a&&"n"in a?(c=a.n,k=a.d,"s"in a&&(c*=a.s)):0 in a?(c=a[0],1 in a&&(k=a[1])):v();h=c*k;break;case "number":0>a&&(h=a,a=-a);if(0===a%1)c=a;else if(0<a){1<=a&&(r=Math.pow(10,Math.floor(1+Math.log(a)/Math.LN10)),a/=r);for(;1E7>=g&&1E7>=q;)if(c=(f+t)/(g+q),a===c){1E7>=g+q?(c=f+t,k=g+q):q>g?(c=t,k=q):(c=f,k=g);break}else a>c?(f+=t,
g+=q):(t+=f,q+=g),1E7<g?(c=t,k=q):(c=f,k=g);c*=r}else if(isNaN(a)||isNaN(b))k=c=NaN;break;case "string":g=a.match(/\d+|./g);null===g&&v();"-"===g[f]?(h=-1,f++):"+"===g[f]&&f++;if(g.length===f+1)u=n(g[f++],h);else if("."===g[f+1]||"."===g[f]){"."!==g[f]&&(e=n(g[f++],h));f++;if(f+1===g.length||"("===g[f+1]&&")"===g[f+3]||"'"===g[f+1]&&"'"===g[f+3])u=n(g[f],h),p=Math.pow(10,g[f].length),f++;if("("===g[f]&&")"===g[f+2]||"'"===g[f]&&"'"===g[f+2])l=n(g[f+1],h),r=Math.pow(10,g[f+1].length)-1,f+=3}else"/"===
g[f+1]||":"===g[f+1]?(u=n(g[f],h),p=n(g[f+2],1),f+=3):"/"===g[f+3]&&" "===g[f+1]&&(e=n(g[f],h),u=n(g[f+2],h),p=n(g[f+4],1),f+=5);if(g.length<=f){k=p*r;h=c=l+k*e+r*u;break}default:v()}if(0===k)throw new y;d.s=0>h?-1:1;d.n=Math.abs(c);d.d=Math.abs(k)}function w(a){function b(){var b=Error.apply(this,arguments);b.name=this.name=a;this.stack=b.stack;this.message=b.message}function c(){}c.prototype=Error.prototype;b.prototype=new c;return b}function n(a,b){isNaN(a=parseInt(a,10))&&v();return a*b}function v(){throw new z;
}function p(a,b){if(!a)return b;if(!b)return a;for(;;){a%=b;if(!a)return b;b%=a;if(!b)return a}}function e(a,b){if(!(this instanceof e))return new e(a,b);l(a,b);a=e.REDUCE?p(d.d,d.n):1;this.s=d.s;this.n=d.n/a;this.d=d.d/a}var d={s:1,n:0,d:1},y=e.DivisionByZero=w("DivisionByZero"),z=e.InvalidParameter=w("InvalidParameter");e.REDUCE=1;e.prototype={s:1,n:0,d:1,abs:function(){return new e(this.n,this.d)},neg:function(){return new e(-this.s*this.n,this.d)},add:function(a,b){l(a,b);return new e(this.s*
this.n*d.d+d.s*this.d*d.n,this.d*d.d)},sub:function(a,b){l(a,b);return new e(this.s*this.n*d.d-d.s*this.d*d.n,this.d*d.d)},mul:function(a,b){l(a,b);return new e(this.s*d.s*this.n*d.n,this.d*d.d)},div:function(a,b){l(a,b);return new e(this.s*d.s*this.n*d.d,this.d*d.n)},clone:function(){return new e(this)},mod:function(a,b){if(isNaN(this.n)||isNaN(this.d))return new e(NaN);if(void 0===a)return new e(this.s*this.n%this.d,1);l(a,b);0===d.n&&0===this.d&&e(0,0);return new e(this.s*d.d*this.n%(d.n*this.d),
d.d*this.d)},gcd:function(a,b){l(a,b);return new e(p(d.n,this.n)*p(d.d,this.d),d.d*this.d)},lcm:function(a,b){l(a,b);return 0===d.n&&0===this.n?new e:new e(d.n*this.n,p(d.n,this.n)*p(d.d,this.d))},ceil:function(a){a=Math.pow(10,a||0);return isNaN(this.n)||isNaN(this.d)?new e(NaN):new e(Math.ceil(a*this.s*this.n/this.d),a)},floor:function(a){a=Math.pow(10,a||0);return isNaN(this.n)||isNaN(this.d)?new e(NaN):new e(Math.floor(a*this.s*this.n/this.d),a)},round:function(a){a=Math.pow(10,a||0);return isNaN(this.n)||
isNaN(this.d)?new e(NaN):new e(Math.round(a*this.s*this.n/this.d),a)},inverse:function(){return new e(this.s*this.d,this.n)},pow:function(a){return 0>a?new e(Math.pow(this.s*this.d,-a),Math.pow(this.n,-a)):new e(Math.pow(this.s*this.n,a),Math.pow(this.d,a))},equals:function(a,b){l(a,b);return this.s*this.n*d.d===d.s*d.n*this.d},compare:function(a,b){l(a,b);var c=this.s*this.n*d.d-d.s*d.n*this.d;return(0<c)-(0>c)},simplify:function(a){function b(a){return 1===a.length?new e(a[0]):b(a.slice(1)).inverse().add(a[0])}
if(isNaN(this.n)||isNaN(this.d))return this;var c=this.abs().toContinued();a=a||.001;for(var k=0;k<c.length;k++){var h=b(c.slice(0,k+1));if(h.sub(this.abs()).abs().valueOf()<a)return h.mul(this.s)}return this},divisible:function(a,b){l(a,b);return!(!(d.n*this.d)||this.n*d.d%(d.n*this.d))},valueOf:function(){return this.s*this.n/this.d},toFraction:function(a){var b,c="",k=this.n,e=this.d;0>this.s&&(c+="-");1===e?c+=k:(a&&0<(b=Math.floor(k/e))&&(c=c+b+" ",k%=e),c=c+k+"/",c+=e);return c},toLatex:function(a){var b,
c="",e=this.n,d=this.d;0>this.s&&(c+="-");1===d?c+=e:(a&&0<(b=Math.floor(e/d))&&(c+=b,e%=d),c=c+"\\frac{"+e+"}{"+d,c+="}");return c},toContinued:function(){var a=this.n,b=this.d,c=[];if(isNaN(this.n)||isNaN(this.d))return c;do{c.push(Math.floor(a/b));var e=a%b;a=b;b=e}while(1!==a);return c},toString:function(a){var b=this.n,c=this.d;if(isNaN(b)||isNaN(c))return"NaN";if(!e.REDUCE){var d=p(b,c);b/=d;c/=d}a:{for(d=c;0===d%2;d/=2);for(;0===d%5;d/=5);if(1===d)d=0;else{for(var h=10%d,m=1;1!==h;m++)if(h=
10*h%d,2E3<m){d=0;break a}d=m}}a:{h=1;m=10;for(var l=d,n=1;0<l;m=m*m%c,l>>=1)l&1&&(n=n*m%c);m=n;for(l=0;300>l;l++){if(h===m){m=l;break a}h=10*h%c;m=10*m%c}m=0}h=-1===this.s?"-":"";h+=b/c|0;(b=b%c*10)&&(h+=".");if(d){for(a=m;a--;)h+=b/c|0,b%=c,b*=10;h+="(";for(a=d;a--;)h+=b/c|0,b%=c,b*=10;h+=")"}else for(a=a||15;b&&a--;)h+=b/c|0,b%=c,b*=10;return h}};"function"===typeof define&&define.amd?define([],function(){return e}):"object"===typeof exports?(Object.defineProperty(exports,"__esModule",{value:!0}),
e["default"]=e,e.Fraction=e,module.exports=e):x.Fraction=e})(this);
(function(A){function n(a,b){var c=0,d=1,f=1,m=0,l=0,p=0,t=1,u=1,g=0,h=1,v=1,q=1;if(void 0!==a&&null!==a)if(void 0!==b)c=a,d=b,f=c*d;else switch(typeof a){case "object":"d"in a&&"n"in a?(c=a.n,d=a.d,"s"in a&&(c*=a.s)):0 in a?(c=a[0],1 in a&&(d=a[1])):x();f=c*d;break;case "number":0>a&&(f=a,a=-a);if(0===a%1)c=a;else if(0<a){1<=a&&(u=Math.pow(10,Math.floor(1+Math.log(a)/Math.LN10)),a/=u);for(;1E7>=h&&1E7>=q;)if(c=(g+v)/(h+q),a===c){1E7>=h+q?(c=g+v,d=h+q):q>h?(c=v,d=q):(c=g,d=h);break}else a>c?(g+=v,
h+=q):(v+=g,q+=h),1E7<h?(c=v,d=q):(c=g,d=h);c*=u}else if(isNaN(a)||isNaN(b))d=c=NaN;break;case "string":h=a.match(/\d+|./g);null===h&&x();"-"===h[g]?(f=-1,g++):"+"===h[g]&&g++;if(h.length===g+1)l=r(h[g++],f);else if("."===h[g+1]||"."===h[g]){"."!==h[g]&&(m=r(h[g++],f));g++;if(g+1===h.length||"("===h[g+1]&&")"===h[g+3]||"'"===h[g+1]&&"'"===h[g+3])l=r(h[g],f),t=Math.pow(10,h[g].length),g++;if("("===h[g]&&")"===h[g+2]||"'"===h[g]&&"'"===h[g+2])p=r(h[g+1],f),u=Math.pow(10,h[g+1].length)-1,g+=3}else"/"===
h[g+1]||":"===h[g+1]?(l=r(h[g],f),t=r(h[g+2],1),g+=3):"/"===h[g+3]&&" "===h[g+1]&&(m=r(h[g],f),l=r(h[g+2],f),t=r(h[g+4],1),g+=5);if(h.length<=g){d=t*u;f=c=p+d*m+u*l;break}default:x()}if(0===d)throw new B;e.s=0>f?-1:1;e.n=Math.abs(c);e.d=Math.abs(d)}function y(a){function b(){var d=Error.apply(this,arguments);d.name=this.name=a;this.stack=d.stack;this.message=d.message}function c(){}c.prototype=Error.prototype;b.prototype=new c;return b}function r(a,b){isNaN(a=parseInt(a,10))&&x();return a*b}function x(){throw new C;
}function z(a){for(var b={},c=a,d=2,f=4;f<=c;){for(;0===c%d;)c/=d,b[d]=(b[d]||0)+1;f+=1+2*d++}c!==a?1<c&&(b[c]=(b[c]||0)+1):b[a]=(b[a]||0)+1;return b}function w(a,b){if(!a)return b;if(!b)return a;for(;;){a%=b;if(!a)return b;b%=a;if(!b)return a}}function k(a,b){if(!(this instanceof k))return new k(a,b);n(a,b);a=k.REDUCE?w(e.d,e.n):1;this.s=e.s;this.n=e.n/a;this.d=e.d/a}var e={s:1,n:0,d:1},B=k.DivisionByZero=y("DivisionByZero"),C=k.InvalidParameter=y("InvalidParameter");k.REDUCE=1;k.prototype={s:1,
n:0,d:1,abs:function(){return new k(this.n,this.d)},neg:function(){return new k(-this.s*this.n,this.d)},add:function(a,b){n(a,b);return new k(this.s*this.n*e.d+e.s*this.d*e.n,this.d*e.d)},sub:function(a,b){n(a,b);return new k(this.s*this.n*e.d-e.s*this.d*e.n,this.d*e.d)},mul:function(a,b){n(a,b);return new k(this.s*e.s*this.n*e.n,this.d*e.d)},div:function(a,b){n(a,b);return new k(this.s*e.s*this.n*e.d,this.d*e.n)},clone:function(){return new k(this)},mod:function(a,b){if(isNaN(this.n)||isNaN(this.d))return new k(NaN);
if(void 0===a)return new k(this.s*this.n%this.d,1);n(a,b);0===e.n&&0===this.d&&k(0,0);return new k(this.s*e.d*this.n%(e.n*this.d),e.d*this.d)},gcd:function(a,b){n(a,b);return new k(w(e.n,this.n)*w(e.d,this.d),e.d*this.d)},lcm:function(a,b){n(a,b);return 0===e.n&&0===this.n?new k:new k(e.n*this.n,w(e.n,this.n)*w(e.d,this.d))},ceil:function(a){a=Math.pow(10,a||0);return isNaN(this.n)||isNaN(this.d)?new k(NaN):new k(Math.ceil(a*this.s*this.n/this.d),a)},floor:function(a){a=Math.pow(10,a||0);return isNaN(this.n)||
isNaN(this.d)?new k(NaN):new k(Math.floor(a*this.s*this.n/this.d),a)},round:function(a){a=Math.pow(10,a||0);return isNaN(this.n)||isNaN(this.d)?new k(NaN):new k(Math.round(a*this.s*this.n/this.d),a)},inverse:function(){return new k(this.s*this.d,this.n)},pow:function(a,b){n(a,b);if(1===e.d)return 0>e.s?new k(Math.pow(this.s*this.d,e.n),Math.pow(this.n,e.n)):new k(Math.pow(this.s*this.n,e.n),Math.pow(this.d,e.n));if(0>this.s)return null;var c=z(this.n),d=z(this.d),f=this.s,m=1,l;for(l in c)if("1"!==
l){if("0"===l){f=0;break}c[l]*=e.n;if(0===c[l]%e.d)c[l]/=e.d;else return null;f*=Math.pow(l,c[l])}for(l in d)if("1"!==l){d[l]*=e.n;if(0===d[l]%e.d)d[l]/=e.d;else return null;m*=Math.pow(l,d[l])}return 0>e.s?new k(m,f):new k(f,m)},equals:function(a,b){n(a,b);return this.s*this.n*e.d===e.s*e.n*this.d},compare:function(a,b){n(a,b);var c=this.s*this.n*e.d-e.s*e.n*this.d;return(0<c)-(0>c)},simplify:function(a){function b(m){return 1===m.length?new k(m[0]):b(m.slice(1)).inverse().add(m[0])}if(isNaN(this.n)||
isNaN(this.d))return this;var c=this.abs().toContinued();a=a||.001;for(var d=0;d<c.length;d++){var f=b(c.slice(0,d+1));if(f.sub(this.abs()).abs().valueOf()<a)return f.mul(this.s)}return this},divisible:function(a,b){n(a,b);return!(!(e.n*this.d)||this.n*e.d%(e.n*this.d))},valueOf:function(){return this.s*this.n/this.d},toFraction:function(a){var b,c="",d=this.n,f=this.d;0>this.s&&(c+="-");1===f?c+=d:(a&&0<(b=Math.floor(d/f))&&(c=c+b+" ",d%=f),c=c+d+"/",c+=f);return c},toLatex:function(a){var b,c="",
d=this.n,f=this.d;0>this.s&&(c+="-");1===f?c+=d:(a&&0<(b=Math.floor(d/f))&&(c+=b,d%=f),c=c+"\\frac{"+d+"}{"+f,c+="}");return c},toContinued:function(){var a=this.n,b=this.d,c=[];if(isNaN(a)||isNaN(b))return c;do{c.push(Math.floor(a/b));var d=a%b;a=b;b=d}while(1!==a);return c},toString:function(a){var b=this.n,c=this.d;if(isNaN(b)||isNaN(c))return"NaN";if(!k.REDUCE){var d=w(b,c);b/=d;c/=d}a:{for(d=c;0===d%2;d/=2);for(;0===d%5;d/=5);if(1===d)d=0;else{for(var f=10%d,m=1;1!==f;m++)if(f=10*f%d,2E3<m){d=
0;break a}d=m}}a:{f=c;m=1;var l=10;for(var p=d,t=1;0<p;l=l*l%f,p>>=1)p&1&&(t=t*l%f);l=t;for(p=0;300>p;p++){if(m===l){m=p;break a}m=10*m%f;l=10*l%f}m=0}f=-1===this.s?"-":"";f+=b/c|0;(b=b%c*10)&&(f+=".");if(d){for(a=m;a--;)f+=b/c|0,b%=c,b*=10;f+="(";for(a=d;a--;)f+=b/c|0,b%=c,b*=10;f+=")"}else for(a=a||15;b&&a--;)f+=b/c|0,b%=c,b*=10;return f}};"function"===typeof define&&define.amd?define([],function(){return k}):"object"===typeof exports?(Object.defineProperty(k,"__esModule",{value:!0}),k["default"]=
k,k.Fraction=k,module.exports=k):A.Fraction=k})(this);
{
"name": "fraction.js",
"title": "fraction.js",
"version": "4.0.14",
"version": "4.1.0",
"homepage": "http://www.xarg.org/2014/03/rational-numbers-in-javascript/",

@@ -6,0 +6,0 @@ "bugs": "https://github.com/infusion/Fraction.js/issues",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc