From 26105034da4fcce7ac883c899d781f016559310d Mon Sep 17 00:00:00 2001 From: ruki Date: Thu, 8 Nov 2018 00:38:48 +0800 Subject: switch to vuepress --- .../src/postfix_evaluator.js | 105 +++++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100755 node_modules/math-expression-evaluator/src/postfix_evaluator.js (limited to 'node_modules/math-expression-evaluator/src/postfix_evaluator.js') diff --git a/node_modules/math-expression-evaluator/src/postfix_evaluator.js b/node_modules/math-expression-evaluator/src/postfix_evaluator.js new file mode 100755 index 00000000..3d162e46 --- /dev/null +++ b/node_modules/math-expression-evaluator/src/postfix_evaluator.js @@ -0,0 +1,105 @@ +var Mexp=require('./postfix.js'); +Mexp.prototype.postfixEval = function (UserDefined) { + 'use strict'; + UserDefined=UserDefined||{}; + UserDefined.PI=Math.PI; + UserDefined.E=Math.E; + var stack=[],pop1,pop2,pop3; + var disp=[]; + var temp=''; + var arr=this.value; + var bool=(typeof UserDefined.n!=="undefined"); + for(var i=0;i1) { + throw(new Mexp.exception("Uncaught Syntax error")); + } + return stack[0].value>1000000000000000?"Infinity":parseFloat(stack[0].value.toFixed(15)); +}; +Mexp.eval=function(str,tokens,obj){ + if (typeof tokens==="undefined") { + return this.lex(str).toPostfix().postfixEval(); + } + else if (typeof obj==="undefined") { + if (typeof tokens.length!=="undefined") + return this.lex(str,tokens).toPostfix().postfixEval(); + else + return this.lex(str).toPostfix().postfixEval(tokens); + } + else + return this.lex(str,tokens).toPostfix().postfixEval(obj); +}; +module.exports=Mexp; \ No newline at end of file -- cgit v1.2.3