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;