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.
		
		
		
		
		
			
		
			
				
					179 lines
				
				3.7 KiB
			
		
		
			
		
	
	
					179 lines
				
				3.7 KiB
			| 
											3 years ago
										 | declare function factorial(a: number): number; | ||
|  | declare function power(a: number, b: number): number; | ||
|  | declare function multiplication(a: number, b: number): number; | ||
|  | declare function division(a: number, b: number): number; | ||
|  | declare function addition(a: number, b: number): number; | ||
|  | declare function last(...a: Array<number>): number; | ||
|  | declare function subtraction(a: number, b: number): number; | ||
|  | declare function negation(a: number): number; | ||
|  | declare function comma(...a: Array<number | string>): Array<number | string>; | ||
|  | declare function min(...a: Array<number>): number; | ||
|  | declare function max(...a: Array<number>): number; | ||
|  | declare function sqrt(a: number): number; | ||
|  | declare const 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'; | ||
|  |     }; | ||
|  |   }; | ||
|  | }; | ||
|  | 
 | ||
|  | export default defaultMathSymbols; |