UNPKG

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