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; |