UNPKG

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