/**
 * Skipped minification because the original files appears to be already minified.
 * Original file: /npm/complex-js@7.1.1/dst/umd/complex.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("nearley")):"function"==typeof define&&define.amd?define(["exports","nearley"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Complex={},e.nearley)}(this,(function(e,t){"use strict";function n(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var s=function(e){return 1&e._has||(e._real=function(e,t){return e*Math.cos(t)}(e._abs,e._arg),e._has|=1),e._real},i=function(e){return 2&e._has||(e._imag=function(e,t){return e*Math.sin(t)}(e._abs,e._arg),e._has|=2),e._imag},a=function(e){return 4&e._has||(e._abs=function(e,t){return Math.hypot(e,t)}(e._real,e._imag),e._has|=4),e._abs},o=function(e){return 8&e._has||(e._arg=function(e,t){return Math.atan2(t,e)}(e._real,e._imag),e._has|=8),e._arg},l=function(e,t,n){return new e(s(t)+s(n),i(t)+i(n),0,0,3)},c=function(e,t,n){return new e(s(t)-s(n),i(t)-i(n),0,0,3)},u=function(e,t,n){var r=t._has&n._has;if(!(12&r)&&3&r){var l=s(t),c=i(t),u=s(n),p=i(n);return new e(l*u-c*p,l*p+c*u,0,0,3)}return new e(0,0,a(t)*a(n),o(t)+o(n),12)},p=function(e,t,n){var r=t._has&n._has;if(!(12&r)&&3&r){var l=s(t),c=i(t),u=s(n),p=i(n),m=u*u+p*p;return new e((l*u+c*p)/m,(c*u-l*p)/m,0,0,3)}return new e(0,0,a(t)/a(n),o(t)-o(n),12)},m=function(e,t){return new e(Math.trunc(s(t)),Math.trunc(i(t)),0,0,3)},f=function(e,t,n){return c(e,t,u(e,m(e,p(e,t,n)),n))},y=function(e,t,n){var r=s(n),l=i(n);if(0===l)switch(r){case-1:return p(e,new e(1,0,1,0,15),t);case 0:return new e(1,0,1,0,15);case 1:return t;case 2:return u(e,t,t)}var c=a(t),m=o(t);return new e(0,0,Math.pow(c,r)*Math.exp(-m*l),l*Math.log(c)+m*r,12)},h=function(e){return"".concat(function(e){var t=e.real;return Object.is(t,-0)?"-0":"".concat(t)}(e)).concat(function(e){var t=e.imag;return(t||1/t)<0?"-".concat(-t):"+".concat(t)}(e),"*i")},g=function(){function e(t,n,s,i,a){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),r(this,"_real",void 0),r(this,"_imag",void 0),r(this,"_abs",void 0),r(this,"_arg",void 0),r(this,"_has",void 0),this._real=t,this._imag=n,this._abs=s,this._arg=function(e){var t=2*Math.PI,n=e%t;return n>Math.PI?n-t:n>-Math.PI?n:n+t}(i),this._has=a}var t,m,g;return t=e,(m=[{key:"real",get:function(){return s(this)}},{key:"imag",get:function(){return i(this)}},{key:"abs",get:function(){return a(this)}},{key:"arg",get:function(){return o(this)}},{key:"norm",get:function(){return 4&(e=this)._has?e._abs*e._abs:e._real*e._real+e._imag*e._imag;var e}},{key:"add",value:function(t){return l(e,this,t)}},{key:"sub",value:function(t){return c(e,this,t)}},{key:"mul",value:function(t){return u(e,this,t)}},{key:"div",value:function(t){return p(e,this,t)}},{key:"mod",value:function(t){return f(e,this,t)}},{key:"pow",value:function(t){return y(e,this,t)}},{key:"toString",value:function(){return h(this)}}])&&n(t.prototype,m),g&&n(t,g),e}();function b(e){return e[0]}var x,E,_=function(e){return e[1]},d=function(e){return{type:"BinaryExpression",operator:e[2],left:e[0],right:e[4]}},v=function(e){return e.join("")},D={Lexer:void 0,ParserRules:[{name:"Expression",symbols:["_","AdditiveExpression","_"],postprocess:_},{name:"AdditiveExpression",symbols:["MultiplicativeExpression"],postprocess:b},{name:"AdditiveExpression",symbols:["AdditiveExpression","_",{literal:"+"},"_","MultiplicativeExpression"],postprocess:d},{name:"AdditiveExpression",symbols:["AdditiveExpression","_",{literal:"-"},"_","MultiplicativeExpression"],postprocess:d},{name:"MultiplicativeExpression",symbols:["ExponentiationExpression"],postprocess:b},{name:"MultiplicativeExpression",symbols:["MultiplicativeExpression","_",{literal:"*"},"_","ExponentiationExpression"],postprocess:d},{name:"MultiplicativeExpression",symbols:["MultiplicativeExpression","_",{literal:"/"},"_","ExponentiationExpression"],postprocess:d},{name:"MultiplicativeExpression",symbols:["MultiplicativeExpression","_",{literal:"%"},"_","ExponentiationExpression"],postprocess:d},{name:"ExponentiationExpression",symbols:["UnaryExpression"],postprocess:b},{name:"ExponentiationExpression",symbols:["LeftHandSideExpression","_","ExponentiationOperator","_","ExponentiationExpression"],postprocess:d},{name:"ExponentiationOperator",symbols:[{literal:"*"},{literal:"*"}],postprocess:v},{name:"UnaryExpression",symbols:["LeftHandSideExpression"],postprocess:b},{name:"UnaryExpression",symbols:["UnaryOperator","_","UnaryExpression"],postprocess:function(e){return{type:"UnaryExpression",operator:e[0],argument:e[2]}}},{name:"UnaryOperator",symbols:[{literal:"+"}],postprocess:b},{name:"UnaryOperator",symbols:[{literal:"-"}],postprocess:b},{name:"LeftHandSideExpression",symbols:["PrimaryExpression"],postprocess:b},{name:"LeftHandSideExpression",symbols:["CallExpression"],postprocess:b},{name:"CallExpression",symbols:["Identifier","_","Arguments"],postprocess:function(e){return{type:"CallExpression",callee:e[0],arguments:e[2]}}},{name:"Arguments",symbols:[{literal:"("},"_",{literal:")"}],postprocess:function(){return[]}},{name:"Arguments",symbols:[{literal:"("},"ArgumentList",{literal:")"}],postprocess:_},{name:"ArgumentList",symbols:["Expression"]},{name:"ArgumentList",symbols:["ArgumentList",{literal:","},"Expression"],postprocess:function(e){return e[0].concat(e[2])}},{name:"PrimaryExpression",symbols:["Identifier"],postprocess:b},{name:"PrimaryExpression",symbols:["Literal"],postprocess:b},{name:"PrimaryExpression",symbols:["ParenthesizedExpression"],postprocess:b},{name:"ParenthesizedExpression",symbols:[{literal:"("},"Expression",{literal:")"}],postprocess:_},{name:"Identifier",symbols:["IdentifierName"],postprocess:function(e){return{type:"Identifier",name:e[0]}}},{name:"IdentifierName",symbols:["IdentifierStart"],postprocess:v},{name:"IdentifierName",symbols:["IdentifierName","IdentifierPart"],postprocess:v},{name:"IdentifierStart",symbols:[/[$A-Z_a-z]/]},{name:"IdentifierPart",symbols:[/[$0-9A-Z_a-z]/]},{name:"Literal",symbols:["NumericLiteral"],postprocess:function(e){return{type:"Literal",value:Number(e[0])}}},{name:"NumericLiteral",symbols:["DecimalLiteral"],postprocess:b},{name:"NumericLiteral",symbols:["NonDecimalIntegerLiteral"],postprocess:b},{name:"DecimalLiteral",symbols:["DecimalIntegerLiteral",{literal:"."}],postprocess:v},{name:"DecimalLiteral",symbols:["DecimalIntegerLiteral",{literal:"."},"DecimalDigits"],postprocess:v},{name:"DecimalLiteral",symbols:["DecimalIntegerLiteral",{literal:"."},"DecimalDigits","ExponentPart"],postprocess:v},{name:"DecimalLiteral",symbols:["DecimalIntegerLiteral",{literal:"."},"ExponentPart"],postprocess:v},{name:"DecimalLiteral",symbols:[{literal:"."},"DecimalDigits"],postprocess:v},{name:"DecimalLiteral",symbols:[{literal:"."},"DecimalDigits","ExponentPart"],postprocess:v},{name:"DecimalLiteral",symbols:["DecimalIntegerLiteral"],postprocess:v},{name:"DecimalLiteral",symbols:["DecimalIntegerLiteral","ExponentPart"],postprocess:v},{name:"DecimalIntegerLiteral",symbols:[{literal:"0"}]},{name:"DecimalIntegerLiteral",symbols:["NonZeroDigit"],postprocess:b},{name:"DecimalIntegerLiteral",symbols:["NonZeroDigit","DecimalDigits"],postprocess:v},{name:"NonZeroDigit",symbols:[/[1-9]/]},{name:"ExponentPart",symbols:["ExponentIndicator","SignedInteger"],postprocess:v},{name:"ExponentIndicator",symbols:[{literal:"e"}]},{name:"ExponentIndicator",symbols:[{literal:"E"}]},{name:"SignedInteger",symbols:["DecimalDigits"],postprocess:b},{name:"SignedInteger",symbols:[{literal:"+"},"DecimalDigits"],postprocess:v},{name:"SignedInteger",symbols:[{literal:"-"},"DecimalDigits"],postprocess:v},{name:"NonDecimalIntegerLiteral",symbols:["BinaryIntegerLiteral"],postprocess:b},{name:"NonDecimalIntegerLiteral",symbols:["OctalIntegerLiteral"],postprocess:b},{name:"NonDecimalIntegerLiteral",symbols:["HexIntegerLiteral"],postprocess:b},{name:"BinaryIntegerLiteral",symbols:[{literal:"0"},{literal:"b"},"BinaryDigits"],postprocess:v},{name:"BinaryIntegerLiteral",symbols:[{literal:"0"},{literal:"B"},"BinaryDigits"],postprocess:v},{name:"OctalIntegerLiteral",symbols:[{literal:"0"},{literal:"o"},"OctalDigits"],postprocess:v},{name:"OctalIntegerLiteral",symbols:[{literal:"0"},{literal:"O"},"OctalDigits"],postprocess:v},{name:"HexIntegerLiteral",symbols:[{literal:"0"},{literal:"x"},"HexDigits"],postprocess:v},{name:"HexIntegerLiteral",symbols:[{literal:"0"},{literal:"X"},"HexDigits"],postprocess:v},{name:"DecimalDigits",symbols:["DecimalDigit"],postprocess:b},{name:"DecimalDigits",symbols:["DecimalDigits","DecimalDigit"],postprocess:v},{name:"BinaryDigits",symbols:["BinaryDigit"],postprocess:b},{name:"BinaryDigits",symbols:["BinaryDigits","BinaryDigit"],postprocess:v},{name:"OctalDigits",symbols:["OctalDigit"],postprocess:b},{name:"OctalDigits",symbols:["OctalDigits","OctalDigit"],postprocess:v},{name:"HexDigits",symbols:["HexDigit"],postprocess:b},{name:"HexDigits",symbols:["HexDigits","HexDigit"],postprocess:v},{name:"DecimalDigit",symbols:[/[0-9]/]},{name:"BinaryDigit",symbols:[/[0-1]/]},{name:"OctalDigit",symbols:[/[0-7]/]},{name:"HexDigit",symbols:[/[0-9A-Fa-f]/]},{name:"_",symbols:[]},{name:"_",symbols:[{literal:" "},"_"],postprocess:function(){return null}}],ParserStart:"Expression"},M=function(e){x?x.restore(E):(x=new t.Parser(t.Grammar.fromCompiled(D)),E=x.save());var n=function(e){try{return x.feed(e)}catch(a){var t=a.token,n=a.offset,r=t.value,s=n+1,i=" ".repeat(n);throw new SyntaxError("Unexpected ".concat(r," at column ").concat(s,":\n\n").concat(e,"\n").concat(i,"^"))}}(e).results;if(0===n.length)throw new SyntaxError("Unexpected end of input");return n[0]},w=new g(Math.E,0,Math.E,0,15),L=new g(0,1,1,Math.PI/2,15),I=new g(0,.5,.5,Math.PI/2,15),P=new g(Math.LN10,0,Math.LN10,0,15),O=new g(Math.LN2,0,Math.LN2,0,15),S=new g(Math.LOG10E,0,Math.LOG10E,0,15),N=new g(Math.LOG2E,0,Math.LOG2E,0,15),A=new g(0,-1,1,-Math.PI/2,15),B=new g(1,0,1,0,15),H=new g(.5,0,.5,0,15),j=new g(Math.PI,0,Math.PI,0,15),k=new g(Math.PI/2,0,Math.PI/2,0,15),U=new g(Math.SQRT1_2,0,Math.SQRT1_2,0,15),T=new g(Math.SQRT2,0,Math.SQRT2,0,15),C=function(e){return new g(Math.log(a(e)),o(e),0,0,3)},R=function(e){return new g(0,0,Math.sqrt(a(e)),o(e)/2,12)},G=function(e){return l(g,k,u(g,L,C(l(g,R(c(g,B,u(g,e,e))),u(g,L,e)))))},Q=function(e){return C(l(g,e,u(g,R(c(g,e,B)),R(l(g,e,B)))))},Z=function(e,t){return l(g,e,t)},q=function(e){return u(g,A,C(l(g,R(c(g,B,u(g,e,e))),u(g,L,e))))},z=function(e){return C(l(g,R(l(g,u(g,e,e),B)),e))},$=function(e){var t=u(g,L,e);return u(g,I,c(g,C(c(g,B,t)),C(l(g,B,t))))},F=function(e){return u(g,H,c(g,C(l(g,B,e)),C(c(g,B,e))))},X=function(e){return new g(0,0,Math.cbrt(a(e)),o(e)/3,12)},J=function(e){return new g(e._real,0-e._imag,e._abs,0-e._arg,e._has)},K=function(e){var t=s(e),n=i(e);return new g(Math.cos(t)*Math.cosh(n),0-Math.sin(t)*Math.sinh(n),0,0,3)},V=function(e){var t=s(e),n=i(e);return new g(Math.cosh(t)*Math.cos(n),Math.sinh(t)*Math.sin(n),0,0,3)},W=function(e,t){return p(g,e,t)},Y=function(e){return new g(0,0,Math.exp(s(e)),i(e),12)},ee=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return"number"==typeof e?new g(e,t,0,0,3):e},te=function(e,t){return f(g,e,t)},ne=function(e,t){return u(g,e,t)},re=function(e,t){return y(g,e,t)},se=function(e){var t=(e||1/e)<0?-0:0;return new g(1/0,t,1/0,t,15)},ie=function(e){return 3!=(3&e._has)||1/e._real!=0&&1/e._imag!=0?12==(12&e._has)&&1/e._abs==0?se(e._arg):e:se(e._imag)},ae=function(e){var t=s(e),n=i(e);return new g(Math.sin(t)*Math.cosh(n),Math.cos(t)*Math.sinh(n),0,0,3)},oe=function(e){var t=s(e),n=i(e);return new g(Math.sinh(t)*Math.cos(n),Math.cosh(t)*Math.sin(n),0,0,3)},le=function(e,t){return c(g,e,t)},ce=function(e){var t=2*s(e),n=2*i(e),r=Math.cos(t)+Math.cosh(n);return new g(Math.sin(t)/r,Math.sinh(n)/r,0,0,3)},ue=function(e){var t=2*s(e),n=2*i(e),r=Math.cosh(t)+Math.cos(n);return new g(Math.sinh(t)/r,Math.sin(n)/r,0,0,3)},pe=function(e){return m(g,e)};function me(e){return(me="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var fe={acos:G,acosh:Q,asin:q,asinh:z,atan:$,atanh:F,cbrt:X,conj:J,cos:K,cosh:V,e:w,exp:Y,i:L,log:C,mod:te,pi:j,pow:re,proj:ie,sin:ae,sinh:oe,sqrt:R,tan:ce,tanh:ue,trunc:pe},ye=function(e){return new TypeError("Unexpected expression type ".concat(e))},he={"+":Z,"-":le,"*":ne,"/":W,"**":re,"%":te},ge={"+":function(e){return e},"-":function(e){return new g(0-e._real,0-e._imag,e._abs,0-e._arg,e._has)}},be=function(e){if("object"!==me(e))throw new TypeError("".concat(me(e)," is not an object"));return e},xe=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},Ee=function e(t,n){var r=t.type;switch(r){case"BinaryExpression":var s=he[t.operator],i=e(t.left,n),a=e(t.right,n);return function(e){return s(be(i(e)),be(a(e)))};case"CallExpression":var o=e(t.callee,n),l=t.arguments.map((function(t){return e(t,n)}));return function(e){return function(e){if("function"!=typeof e)throw new TypeError("".concat(me(e)," is not a function"));return e}(o(e)).apply(void 0,l.map((function(t){return be(t(e))})))};case"Identifier":var c=t.name;return function(e){if(!xe(e,c)){if(!xe(n,c))throw new ReferenceError("".concat(c," is not defined"));return n[c]}return e[c]};case"Literal":var u=t.value;return function(){return u};case"UnaryExpression":var p=ge[t.operator],m=e(t.argument,n);return function(e){return p(be(m(e)))};default:throw ye(r)}},_e=function e(t,n){var r=t.type;switch(r){case"BinaryExpression":return e(t.left,n)&&e(t.right,n);case"CallExpression":return e(t.callee,n)&&t.arguments.every((function(t){return e(t,n)}));case"Identifier":return xe(n,t.name);case"Literal":return!0;case"UnaryExpression":return e(t.argument,n);default:throw ye(r)}},de=function(e,t){if(!_e(e,t))return e;var n=Ee(e,t);return{type:"Literal",value:be(n(t))}},ve=function e(t,n){var r=t.type;switch(r){case"BinaryExpression":return de({type:r,operator:t.operator,left:e(t.left,n),right:e(t.right,n)},n);case"CallExpression":return de({type:r,callee:t.callee,arguments:t.arguments.map((function(t){return e(t,n)}))},n);case"Identifier":return t;case"Literal":return{type:r,value:ee(t.value)};case"UnaryExpression":return de({type:r,operator:t.operator,argument:e(t.argument,n)},n);default:throw ye(r)}};e.Complex=g,e.E=w,e.I=L,e.LN10=P,e.LN2=O,e.LOG10E=S,e.LOG2E=N,e.PI=j,e.SQRT1_2=U,e.SQRT2=T,e.acos=G,e.acosh=Q,e.add=Z,e.asin=q,e.asinh=z,e.atan=$,e.atanh=F,e.bindings=fe,e.cartesian=function(e,t){return new g(e,t,0,0,3)},e.cbrt=X,e.compile=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=Object.assign({},fe,t),r=Ee(ve(M(e),n),n);return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return r(e)}},e.conj=J,e.cos=K,e.cosh=V,e.div=W,e.exp=Y,e.from=ee,e.log=C,e.mod=te,e.mul=ne,e.parse=M,e.polar=function(e,t){return new g(0,0,e,t,12)},e.pow=re,e.proj=ie,e.sin=ae,e.sinh=oe,e.sqrt=R,e.sub=le,e.tan=ce,e.tanh=ue,e.trunc=pe,Object.defineProperty(e,"__esModule",{value:!0})}));
//# sourceMappingURL=complex.js.map
