You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
225 lines
3.9 KiB
225 lines
3.9 KiB
3 years ago
|
"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;
|