UNPKG

@enigmaoffline/node-exp-solver

Version:

Mathematical expression solver / Reverse Polish Notation calculator for NodeJS

50 lines 1.25 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Aux = void 0; var Aux = /** @class */ (function () { function Aux() { } Aux.precMap = { '+': 1, '-': 1, '*': 2, '/': 2, '^': 3, }; Aux.assoMap = { '+': 0, '-': 0, '*': 0, '/': 0, '^': 1, }; Aux.funcMap = { 'sin': 0, 'cos': 0, 'tan': 0, 'max': 0, 'min': 0, 'ln': 0, 'log': 0, }; Aux.isOP = function (op) { return ['+', '-', '*', '/', '^'].indexOf(op) !== -1; }; Aux.isLA = function (op) { return ['+', '-', '*', '/'].indexOf(op) !== -1; }; Aux.isPA = function (op) { return op === '(' || op === ')'; }; Aux.validate = function (tokens) { var stack = []; for (var i = 0; i < tokens.length; ++i) { var token = tokens[i]; if (token === '(') stack.push('('); if (token === ')') { if (stack.length === 0) return false; stack.pop(); } } return stack.length === 0; }; return Aux; }()); exports.Aux = Aux; //# sourceMappingURL=aux.js.map