UNPKG

4.2 kBJavaScriptView Raw
1import { factory } from './utils/factory.js';
2import { version } from './version.js';
3import { createBigNumberE, createBigNumberPhi, createBigNumberPi, createBigNumberTau } from './utils/bignumber/constants.js';
4import { pi, tau, e, phi } from './plain/number/index.js';
5export var createTrue = /* #__PURE__ */factory('true', [], () => true);
6export var createFalse = /* #__PURE__ */factory('false', [], () => false);
7export var createNull = /* #__PURE__ */factory('null', [], () => null);
8export 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});
15export 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});
22export 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});
29export 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});
36export 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
44export 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});
51export 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});
58export 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});
65export 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});
72export 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});
79export 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});
87export 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});
94export var createI = /* #__PURE__ */recreateFactory('i', ['Complex'], (_ref13) => {
95 var {
96 Complex
97 } = _ref13;
98 return Complex.I;
99}); // for backward compatibility with v5
100
101export var createUppercasePi = /* #__PURE__ */factory('PI', ['pi'], (_ref14) => {
102 var {
103 pi
104 } = _ref14;
105 return pi;
106});
107export var createUppercaseE = /* #__PURE__ */factory('E', ['e'], (_ref15) => {
108 var {
109 e
110 } = _ref15;
111 return e;
112});
113export 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
116function recreateFactory(name, dependencies, create) {
117 return factory(name, dependencies, create, {
118 recreateOnConfigChange: true
119 });
120}
\No newline at end of file