constants.js (4165B)
1 import { factory } from './utils/factory.js'; 2 import { version } from './version.js'; 3 import { createBigNumberE, createBigNumberPhi, createBigNumberPi, createBigNumberTau } from './utils/bignumber/constants.js'; 4 import { pi, tau, e, phi } from './plain/number/index.js'; 5 export var createTrue = /* #__PURE__ */factory('true', [], () => true); 6 export var createFalse = /* #__PURE__ */factory('false', [], () => false); 7 export var createNull = /* #__PURE__ */factory('null', [], () => null); 8 export var createInfinity = /* #__PURE__ */recreateFactory('Infinity', ['config', '?BigNumber'], _ref => { 9 var { 10 config, 11 BigNumber 12 } = _ref; 13 return config.number === 'BigNumber' ? new BigNumber(Infinity) : Infinity; 14 }); 15 export var createNaN = /* #__PURE__ */recreateFactory('NaN', ['config', '?BigNumber'], _ref2 => { 16 var { 17 config, 18 BigNumber 19 } = _ref2; 20 return config.number === 'BigNumber' ? new BigNumber(NaN) : NaN; 21 }); 22 export var createPi = /* #__PURE__ */recreateFactory('pi', ['config', '?BigNumber'], _ref3 => { 23 var { 24 config, 25 BigNumber 26 } = _ref3; 27 return config.number === 'BigNumber' ? createBigNumberPi(BigNumber) : pi; 28 }); 29 export var createTau = /* #__PURE__ */recreateFactory('tau', ['config', '?BigNumber'], _ref4 => { 30 var { 31 config, 32 BigNumber 33 } = _ref4; 34 return config.number === 'BigNumber' ? createBigNumberTau(BigNumber) : tau; 35 }); 36 export var createE = /* #__PURE__ */recreateFactory('e', ['config', '?BigNumber'], _ref5 => { 37 var { 38 config, 39 BigNumber 40 } = _ref5; 41 return config.number === 'BigNumber' ? createBigNumberE(BigNumber) : e; 42 }); // golden ratio, (1+sqrt(5))/2 43 44 export var createPhi = /* #__PURE__ */recreateFactory('phi', ['config', '?BigNumber'], _ref6 => { 45 var { 46 config, 47 BigNumber 48 } = _ref6; 49 return config.number === 'BigNumber' ? createBigNumberPhi(BigNumber) : phi; 50 }); 51 export var createLN2 = /* #__PURE__ */recreateFactory('LN2', ['config', '?BigNumber'], _ref7 => { 52 var { 53 config, 54 BigNumber 55 } = _ref7; 56 return config.number === 'BigNumber' ? new BigNumber(2).ln() : Math.LN2; 57 }); 58 export var createLN10 = /* #__PURE__ */recreateFactory('LN10', ['config', '?BigNumber'], _ref8 => { 59 var { 60 config, 61 BigNumber 62 } = _ref8; 63 return config.number === 'BigNumber' ? new BigNumber(10).ln() : Math.LN10; 64 }); 65 export var createLOG2E = /* #__PURE__ */recreateFactory('LOG2E', ['config', '?BigNumber'], _ref9 => { 66 var { 67 config, 68 BigNumber 69 } = _ref9; 70 return config.number === 'BigNumber' ? new BigNumber(1).div(new BigNumber(2).ln()) : Math.LOG2E; 71 }); 72 export var createLOG10E = /* #__PURE__ */recreateFactory('LOG10E', ['config', '?BigNumber'], _ref10 => { 73 var { 74 config, 75 BigNumber 76 } = _ref10; 77 return config.number === 'BigNumber' ? new BigNumber(1).div(new BigNumber(10).ln()) : Math.LOG10E; 78 }); 79 export var createSQRT1_2 = /* #__PURE__ */recreateFactory( // eslint-disable-line camelcase 80 'SQRT1_2', ['config', '?BigNumber'], _ref11 => { 81 var { 82 config, 83 BigNumber 84 } = _ref11; 85 return config.number === 'BigNumber' ? new BigNumber('0.5').sqrt() : Math.SQRT1_2; 86 }); 87 export var createSQRT2 = /* #__PURE__ */recreateFactory('SQRT2', ['config', '?BigNumber'], _ref12 => { 88 var { 89 config, 90 BigNumber 91 } = _ref12; 92 return config.number === 'BigNumber' ? new BigNumber(2).sqrt() : Math.SQRT2; 93 }); 94 export var createI = /* #__PURE__ */recreateFactory('i', ['Complex'], _ref13 => { 95 var { 96 Complex 97 } = _ref13; 98 return Complex.I; 99 }); // for backward compatibility with v5 100 101 export var createUppercasePi = /* #__PURE__ */factory('PI', ['pi'], _ref14 => { 102 var { 103 pi 104 } = _ref14; 105 return pi; 106 }); 107 export var createUppercaseE = /* #__PURE__ */factory('E', ['e'], _ref15 => { 108 var { 109 e 110 } = _ref15; 111 return e; 112 }); 113 export var createVersion = /* #__PURE__ */factory('version', [], () => version); // helper function to create a factory with a flag recreateOnConfigChange 114 // idea: allow passing optional properties to be attached to the factory function as 4th argument? 115 116 function recreateFactory(name, dependencies, create) { 117 return factory(name, dependencies, create, { 118 recreateOnConfigChange: true 119 }); 120 }