exponentialSymbols.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. "use strict";
  2. exports.__esModule = true;
  3. exports["default"] = void 0;
  4. function factorial(a) {
  5. if (a % 1 || !(+a >= 0)) return NaN;
  6. if (a > 170) return Infinity;else if (a === 0) return 1;else {
  7. return a * factorial(a - 1);
  8. }
  9. }
  10. function power(a, b) {
  11. return Math.pow(a, b);
  12. }
  13. function sqrt(a) {
  14. return Math.sqrt(a);
  15. }
  16. var exponentialSymbols = {
  17. symbols: {
  18. '!': {
  19. postfix: {
  20. symbol: '!',
  21. f: factorial,
  22. notation: 'postfix',
  23. precedence: 6,
  24. rightToLeft: 0,
  25. argCount: 1
  26. },
  27. symbol: '!',
  28. regSymbol: '!'
  29. },
  30. '^': {
  31. infix: {
  32. symbol: '^',
  33. f: power,
  34. notation: 'infix',
  35. precedence: 5,
  36. rightToLeft: 1,
  37. argCount: 2
  38. },
  39. symbol: '^',
  40. regSymbol: '\\^'
  41. },
  42. sqrt: {
  43. func: {
  44. symbol: 'sqrt',
  45. f: sqrt,
  46. notation: 'func',
  47. precedence: 0,
  48. rightToLeft: 0,
  49. argCount: 1
  50. },
  51. symbol: 'sqrt',
  52. regSymbol: 'sqrt\\b'
  53. }
  54. }
  55. };
  56. var _default = exports["default"] = exponentialSymbols;
  57. module.exports = exports.default;