"use strict"; exports.__esModule = true; exports["default"] = void 0; function last() { var _ref; return _ref = arguments.length - 1, _ref < 0 || arguments.length <= _ref ? undefined : arguments[_ref]; } function negation(a) { return -a; } function addition(a, b) { return a + b; } function subtraction(a, b) { return a - b; } function multiplication(a, b) { return a * b; } function division(a, b) { return a / b; } function factorial(a) { if (a % 1 || !(+a >= 0)) return NaN; if (a > 170) return Infinity;else if (a === 0) return 1;else { return a * factorial(a - 1); } } function power(a, b) { return Math.pow(a, b); } function sqrt(a) { return Math.sqrt(a); } function max() { return Math.max.apply(Math, arguments); } function min() { return Math.min.apply(Math, arguments); } function comma() { return Array.of.apply(Array, arguments); } var defaultMathSymbols = { symbols: { '!': { postfix: { symbol: '!', f: factorial, notation: 'postfix', precedence: 6, rightToLeft: 0, argCount: 1 }, symbol: '!', regSymbol: '!' }, '^': { infix: { symbol: '^', f: power, notation: 'infix', precedence: 5, rightToLeft: 1, argCount: 2 }, symbol: '^', regSymbol: '\\^' }, '*': { infix: { symbol: '*', f: multiplication, notation: 'infix', precedence: 4, rightToLeft: 0, argCount: 2 }, symbol: '*', regSymbol: '\\*' }, '/': { infix: { symbol: '/', f: division, notation: 'infix', precedence: 4, rightToLeft: 0, argCount: 2 }, symbol: '/', regSymbol: '/' }, '+': { infix: { symbol: '+', f: addition, notation: 'infix', precedence: 2, rightToLeft: 0, argCount: 2 }, prefix: { symbol: '+', f: last, notation: 'prefix', precedence: 3, rightToLeft: 0, argCount: 1 }, symbol: '+', regSymbol: '\\+' }, '-': { infix: { symbol: '-', f: subtraction, notation: 'infix', precedence: 2, rightToLeft: 0, argCount: 2 }, prefix: { symbol: '-', f: negation, notation: 'prefix', precedence: 3, rightToLeft: 0, argCount: 1 }, symbol: '-', regSymbol: '-' }, ',': { infix: { symbol: ',', f: comma, notation: 'infix', precedence: 1, rightToLeft: 0, argCount: 2 }, symbol: ',', regSymbol: ',' }, '(': { prefix: { symbol: '(', f: last, notation: 'prefix', precedence: 0, rightToLeft: 0, argCount: 1 }, symbol: '(', regSymbol: '\\(' }, ')': { postfix: { symbol: ')', f: undefined, notation: 'postfix', precedence: 0, rightToLeft: 0, argCount: 1 }, symbol: ')', regSymbol: '\\)' }, min: { func: { symbol: 'min', f: min, notation: 'func', precedence: 0, rightToLeft: 0, argCount: 1 }, symbol: 'min', regSymbol: 'min\\b' }, max: { func: { symbol: 'max', f: max, notation: 'func', precedence: 0, rightToLeft: 0, argCount: 1 }, symbol: 'max', regSymbol: 'max\\b' }, sqrt: { func: { symbol: 'sqrt', f: sqrt, notation: 'func', precedence: 0, rightToLeft: 0, argCount: 1 }, symbol: 'sqrt', regSymbol: 'sqrt\\b' } } }; var _default = defaultMathSymbols; exports["default"] = _default; module.exports = exports.default;