@sentio/sdk 2.57.12-rc.j → 2.57.13-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (250) hide show
  1. package/lib/core/template.d.ts +1 -5
  2. package/lib/core/template.d.ts.map +1 -1
  3. package/lib/core/template.js +1 -4
  4. package/lib/core/template.js.map +1 -1
  5. package/lib/store/store.d.ts +2 -2
  6. package/lib/store/store.d.ts.map +1 -1
  7. package/lib/store/store.js.map +1 -1
  8. package/package.json +3 -3
  9. package/src/core/template.ts +1 -6
  10. package/src/store/store.ts +2 -3
  11. package/lib/chunk-2F2KNF4Z.js +0 -71905
  12. package/lib/chunk-2F2KNF4Z.js.map +0 -1
  13. package/lib/chunk-43HP4DQZ.js +0 -47
  14. package/lib/chunk-43HP4DQZ.js.map +0 -1
  15. package/lib/chunk-4HPFNKDX.js +0 -6763
  16. package/lib/chunk-4HPFNKDX.js.map +0 -1
  17. package/lib/chunk-4OCWUYSJ.js +0 -898
  18. package/lib/chunk-4OCWUYSJ.js.map +0 -1
  19. package/lib/chunk-6UVWNOIX.js +0 -4207
  20. package/lib/chunk-6UVWNOIX.js.map +0 -1
  21. package/lib/chunk-73SHERGU.js +0 -23970
  22. package/lib/chunk-73SHERGU.js.map +0 -1
  23. package/lib/chunk-742S42NO.js +0 -1323
  24. package/lib/chunk-742S42NO.js.map +0 -1
  25. package/lib/chunk-7ECRTQD7.js +0 -26757
  26. package/lib/chunk-7ECRTQD7.js.map +0 -1
  27. package/lib/chunk-7IDGS56O.js +0 -5058
  28. package/lib/chunk-7IDGS56O.js.map +0 -1
  29. package/lib/chunk-7S6WQ4RL.js +0 -1069
  30. package/lib/chunk-7S6WQ4RL.js.map +0 -1
  31. package/lib/chunk-AZFMPZRN.js +0 -3613
  32. package/lib/chunk-AZFMPZRN.js.map +0 -1
  33. package/lib/chunk-BZCXYTDE.js +0 -1333
  34. package/lib/chunk-BZCXYTDE.js.map +0 -1
  35. package/lib/chunk-E2DS6WZF.js +0 -1690
  36. package/lib/chunk-E2DS6WZF.js.map +0 -1
  37. package/lib/chunk-GE6BRIGS.js +0 -1721
  38. package/lib/chunk-GE6BRIGS.js.map +0 -1
  39. package/lib/chunk-J3I3VNTV.js +0 -767
  40. package/lib/chunk-J3I3VNTV.js.map +0 -1
  41. package/lib/chunk-J3QOJ2RV.js +0 -661
  42. package/lib/chunk-J3QOJ2RV.js.map +0 -1
  43. package/lib/chunk-J5UEW4B7.js +0 -1351
  44. package/lib/chunk-J5UEW4B7.js.map +0 -1
  45. package/lib/chunk-LPSNAS2G.js +0 -460
  46. package/lib/chunk-LPSNAS2G.js.map +0 -1
  47. package/lib/chunk-LR232ZJV.js +0 -2593
  48. package/lib/chunk-LR232ZJV.js.map +0 -1
  49. package/lib/chunk-N36N7RXJ.js +0 -653
  50. package/lib/chunk-N36N7RXJ.js.map +0 -1
  51. package/lib/chunk-OJG2VJ5T.js +0 -7063
  52. package/lib/chunk-OJG2VJ5T.js.map +0 -1
  53. package/lib/chunk-ONBEMKI5.js +0 -323
  54. package/lib/chunk-ONBEMKI5.js.map +0 -1
  55. package/lib/chunk-PVX2LIM5.js +0 -205
  56. package/lib/chunk-PVX2LIM5.js.map +0 -1
  57. package/lib/chunk-R7PMHHKJ.js +0 -52
  58. package/lib/chunk-R7PMHHKJ.js.map +0 -1
  59. package/lib/chunk-RMT2JEWA.js +0 -7740
  60. package/lib/chunk-RMT2JEWA.js.map +0 -1
  61. package/lib/chunk-S6MJ3KIL.js +0 -27798
  62. package/lib/chunk-S6MJ3KIL.js.map +0 -1
  63. package/lib/chunk-UEFVZL4I.js +0 -199
  64. package/lib/chunk-UEFVZL4I.js.map +0 -1
  65. package/lib/chunk-UIBPOKNT.js +0 -945
  66. package/lib/chunk-UIBPOKNT.js.map +0 -1
  67. package/lib/chunk-ZR7UHHH2.js +0 -5
  68. package/lib/chunk-ZR7UHHH2.js.map +0 -1
  69. package/lib/multipart-parser-SQIYSR67.js +0 -368
  70. package/lib/multipart-parser-SQIYSR67.js.map +0 -1
  71. package/src/aptos/builtin/0x1.d.ts +0 -6451
  72. package/src/aptos/builtin/0x1.d.ts.map +0 -1
  73. package/src/aptos/builtin/0x1.js +0 -7138
  74. package/src/aptos/builtin/0x1.js.map +0 -1
  75. package/src/aptos/builtin/0x3.d.ts +0 -1122
  76. package/src/aptos/builtin/0x3.d.ts.map +0 -1
  77. package/src/aptos/builtin/0x3.js +0 -937
  78. package/src/aptos/builtin/0x3.js.map +0 -1
  79. package/src/aptos/builtin/0x4.d.ts +0 -551
  80. package/src/aptos/builtin/0x4.d.ts.map +0 -1
  81. package/src/aptos/builtin/0x4.js +0 -529
  82. package/src/aptos/builtin/0x4.js.map +0 -1
  83. package/src/aptos/builtin/index.d.ts +0 -4
  84. package/src/aptos/builtin/index.d.ts.map +0 -1
  85. package/src/aptos/builtin/index.js +0 -7
  86. package/src/aptos/builtin/index.js.map +0 -1
  87. package/src/eth/builtin/eacaggregatorproxy.d.ts +0 -5
  88. package/src/eth/builtin/eacaggregatorproxy.d.ts.map +0 -1
  89. package/src/eth/builtin/eacaggregatorproxy.js +0 -8
  90. package/src/eth/builtin/eacaggregatorproxy.js.map +0 -1
  91. package/src/eth/builtin/erc1155.d.ts +0 -5
  92. package/src/eth/builtin/erc1155.d.ts.map +0 -1
  93. package/src/eth/builtin/erc1155.js +0 -8
  94. package/src/eth/builtin/erc1155.js.map +0 -1
  95. package/src/eth/builtin/erc20.d.ts +0 -5
  96. package/src/eth/builtin/erc20.d.ts.map +0 -1
  97. package/src/eth/builtin/erc20.js +0 -8
  98. package/src/eth/builtin/erc20.js.map +0 -1
  99. package/src/eth/builtin/erc20bytes.d.ts +0 -5
  100. package/src/eth/builtin/erc20bytes.d.ts.map +0 -1
  101. package/src/eth/builtin/erc20bytes.js +0 -8
  102. package/src/eth/builtin/erc20bytes.js.map +0 -1
  103. package/src/eth/builtin/erc721.d.ts +0 -5
  104. package/src/eth/builtin/erc721.d.ts.map +0 -1
  105. package/src/eth/builtin/erc721.js +0 -8
  106. package/src/eth/builtin/erc721.js.map +0 -1
  107. package/src/eth/builtin/index.d.ts +0 -13
  108. package/src/eth/builtin/index.d.ts.map +0 -1
  109. package/src/eth/builtin/index.js +0 -16
  110. package/src/eth/builtin/index.js.map +0 -1
  111. package/src/eth/builtin/internal/EACAggregatorProxy.d.ts +0 -50
  112. package/src/eth/builtin/internal/EACAggregatorProxy.d.ts.map +0 -1
  113. package/src/eth/builtin/internal/EACAggregatorProxy.js +0 -2
  114. package/src/eth/builtin/internal/EACAggregatorProxy.js.map +0 -1
  115. package/src/eth/builtin/internal/ERC1155.d.ts +0 -57
  116. package/src/eth/builtin/internal/ERC1155.d.ts.map +0 -1
  117. package/src/eth/builtin/internal/ERC1155.js +0 -2
  118. package/src/eth/builtin/internal/ERC1155.js.map +0 -1
  119. package/src/eth/builtin/internal/ERC20.d.ts +0 -41
  120. package/src/eth/builtin/internal/ERC20.d.ts.map +0 -1
  121. package/src/eth/builtin/internal/ERC20.js +0 -2
  122. package/src/eth/builtin/internal/ERC20.js.map +0 -1
  123. package/src/eth/builtin/internal/ERC20Bytes.d.ts +0 -32
  124. package/src/eth/builtin/internal/ERC20Bytes.d.ts.map +0 -1
  125. package/src/eth/builtin/internal/ERC20Bytes.js +0 -2
  126. package/src/eth/builtin/internal/ERC20Bytes.js.map +0 -1
  127. package/src/eth/builtin/internal/ERC721.d.ts +0 -43
  128. package/src/eth/builtin/internal/ERC721.d.ts.map +0 -1
  129. package/src/eth/builtin/internal/ERC721.js +0 -2
  130. package/src/eth/builtin/internal/ERC721.js.map +0 -1
  131. package/src/eth/builtin/internal/WETH9.d.ts +0 -47
  132. package/src/eth/builtin/internal/WETH9.d.ts.map +0 -1
  133. package/src/eth/builtin/internal/WETH9.js +0 -2
  134. package/src/eth/builtin/internal/WETH9.js.map +0 -1
  135. package/src/eth/builtin/internal/common.d.ts +0 -3
  136. package/src/eth/builtin/internal/common.d.ts.map +0 -1
  137. package/src/eth/builtin/internal/common.js +0 -8
  138. package/src/eth/builtin/internal/common.js.map +0 -1
  139. package/src/eth/builtin/internal/eacaggregatorproxy-processor.d.ts +0 -373
  140. package/src/eth/builtin/internal/eacaggregatorproxy-processor.d.ts.map +0 -1
  141. package/src/eth/builtin/internal/eacaggregatorproxy-processor.js +0 -1355
  142. package/src/eth/builtin/internal/eacaggregatorproxy-processor.js.map +0 -1
  143. package/src/eth/builtin/internal/eacaggregatorproxy-test-utils.d.ts +0 -7
  144. package/src/eth/builtin/internal/eacaggregatorproxy-test-utils.d.ts.map +0 -1
  145. package/src/eth/builtin/internal/eacaggregatorproxy-test-utils.js +0 -55
  146. package/src/eth/builtin/internal/eacaggregatorproxy-test-utils.js.map +0 -1
  147. package/src/eth/builtin/internal/erc1155-processor.d.ts +0 -173
  148. package/src/eth/builtin/internal/erc1155-processor.d.ts.map +0 -1
  149. package/src/eth/builtin/internal/erc1155-processor.js +0 -596
  150. package/src/eth/builtin/internal/erc1155-processor.js.map +0 -1
  151. package/src/eth/builtin/internal/erc1155-test-utils.d.ts +0 -7
  152. package/src/eth/builtin/internal/erc1155-test-utils.d.ts.map +0 -1
  153. package/src/eth/builtin/internal/erc1155-test-utils.js +0 -55
  154. package/src/eth/builtin/internal/erc1155-test-utils.js.map +0 -1
  155. package/src/eth/builtin/internal/erc20-processor.d.ts +0 -244
  156. package/src/eth/builtin/internal/erc20-processor.d.ts.map +0 -1
  157. package/src/eth/builtin/internal/erc20-processor.js +0 -1109
  158. package/src/eth/builtin/internal/erc20-processor.js.map +0 -1
  159. package/src/eth/builtin/internal/erc20-test-utils.d.ts +0 -6
  160. package/src/eth/builtin/internal/erc20-test-utils.d.ts.map +0 -1
  161. package/src/eth/builtin/internal/erc20-test-utils.js +0 -44
  162. package/src/eth/builtin/internal/erc20-test-utils.js.map +0 -1
  163. package/src/eth/builtin/internal/erc20bytes-processor.d.ts +0 -144
  164. package/src/eth/builtin/internal/erc20bytes-processor.d.ts.map +0 -1
  165. package/src/eth/builtin/internal/erc20bytes-processor.js +0 -594
  166. package/src/eth/builtin/internal/erc20bytes-processor.js.map +0 -1
  167. package/src/eth/builtin/internal/erc20bytes-test-utils.d.ts +0 -5
  168. package/src/eth/builtin/internal/erc20bytes-test-utils.d.ts.map +0 -1
  169. package/src/eth/builtin/internal/erc20bytes-test-utils.js +0 -33
  170. package/src/eth/builtin/internal/erc20bytes-test-utils.js.map +0 -1
  171. package/src/eth/builtin/internal/erc721-processor.d.ts +0 -215
  172. package/src/eth/builtin/internal/erc721-processor.d.ts.map +0 -1
  173. package/src/eth/builtin/internal/erc721-processor.js +0 -895
  174. package/src/eth/builtin/internal/erc721-processor.js.map +0 -1
  175. package/src/eth/builtin/internal/erc721-test-utils.d.ts +0 -6
  176. package/src/eth/builtin/internal/erc721-test-utils.d.ts.map +0 -1
  177. package/src/eth/builtin/internal/erc721-test-utils.js +0 -44
  178. package/src/eth/builtin/internal/erc721-test-utils.js.map +0 -1
  179. package/src/eth/builtin/internal/factories/EACAggregatorProxy__factory.d.ts +0 -400
  180. package/src/eth/builtin/internal/factories/EACAggregatorProxy__factory.d.ts.map +0 -1
  181. package/src/eth/builtin/internal/factories/EACAggregatorProxy__factory.js +0 -524
  182. package/src/eth/builtin/internal/factories/EACAggregatorProxy__factory.js.map +0 -1
  183. package/src/eth/builtin/internal/factories/ERC1155__factory.d.ts +0 -251
  184. package/src/eth/builtin/internal/factories/ERC1155__factory.d.ts.map +0 -1
  185. package/src/eth/builtin/internal/factories/ERC1155__factory.js +0 -329
  186. package/src/eth/builtin/internal/factories/ERC1155__factory.js.map +0 -1
  187. package/src/eth/builtin/internal/factories/ERC20Bytes__factory.d.ts +0 -185
  188. package/src/eth/builtin/internal/factories/ERC20Bytes__factory.d.ts.map +0 -1
  189. package/src/eth/builtin/internal/factories/ERC20Bytes__factory.js +0 -251
  190. package/src/eth/builtin/internal/factories/ERC20Bytes__factory.js.map +0 -1
  191. package/src/eth/builtin/internal/factories/ERC20__factory.d.ts +0 -303
  192. package/src/eth/builtin/internal/factories/ERC20__factory.d.ts.map +0 -1
  193. package/src/eth/builtin/internal/factories/ERC20__factory.js +0 -401
  194. package/src/eth/builtin/internal/factories/ERC20__factory.js.map +0 -1
  195. package/src/eth/builtin/internal/factories/ERC721__factory.d.ts +0 -273
  196. package/src/eth/builtin/internal/factories/ERC721__factory.d.ts.map +0 -1
  197. package/src/eth/builtin/internal/factories/ERC721__factory.js +0 -361
  198. package/src/eth/builtin/internal/factories/ERC721__factory.js.map +0 -1
  199. package/src/eth/builtin/internal/factories/WETH9__factory.d.ts +0 -220
  200. package/src/eth/builtin/internal/factories/WETH9__factory.d.ts.map +0 -1
  201. package/src/eth/builtin/internal/factories/WETH9__factory.js +0 -294
  202. package/src/eth/builtin/internal/factories/WETH9__factory.js.map +0 -1
  203. package/src/eth/builtin/internal/factories/index.d.ts +0 -7
  204. package/src/eth/builtin/internal/factories/index.d.ts.map +0 -1
  205. package/src/eth/builtin/internal/factories/index.js +0 -10
  206. package/src/eth/builtin/internal/factories/index.js.map +0 -1
  207. package/src/eth/builtin/internal/index.d.ts +0 -14
  208. package/src/eth/builtin/internal/index.d.ts.map +0 -1
  209. package/src/eth/builtin/internal/index.js +0 -8
  210. package/src/eth/builtin/internal/index.js.map +0 -1
  211. package/src/eth/builtin/internal/weth9-processor.d.ts +0 -172
  212. package/src/eth/builtin/internal/weth9-processor.d.ts.map +0 -1
  213. package/src/eth/builtin/internal/weth9-processor.js +0 -729
  214. package/src/eth/builtin/internal/weth9-processor.js.map +0 -1
  215. package/src/eth/builtin/internal/weth9-test-utils.d.ts +0 -7
  216. package/src/eth/builtin/internal/weth9-test-utils.d.ts.map +0 -1
  217. package/src/eth/builtin/internal/weth9-test-utils.js +0 -55
  218. package/src/eth/builtin/internal/weth9-test-utils.js.map +0 -1
  219. package/src/eth/builtin/weth9.d.ts +0 -5
  220. package/src/eth/builtin/weth9.d.ts.map +0 -1
  221. package/src/eth/builtin/weth9.js +0 -8
  222. package/src/eth/builtin/weth9.js.map +0 -1
  223. package/src/solana/builtin/index.d.ts +0 -2
  224. package/src/solana/builtin/index.d.ts.map +0 -1
  225. package/src/solana/builtin/index.js +0 -2
  226. package/src/solana/builtin/index.js.map +0 -1
  227. package/src/solana/builtin/spl-token-processor.d.ts +0 -40
  228. package/src/solana/builtin/spl-token-processor.d.ts.map +0 -1
  229. package/src/solana/builtin/spl-token-processor.js +0 -254
  230. package/src/solana/builtin/spl-token-processor.js.map +0 -1
  231. package/src/solana/builtin/types.d.ts +0 -428
  232. package/src/solana/builtin/types.d.ts.map +0 -1
  233. package/src/solana/builtin/types.js +0 -201
  234. package/src/solana/builtin/types.js.map +0 -1
  235. package/src/sui/builtin/0x1.d.ts +0 -114
  236. package/src/sui/builtin/0x1.d.ts.map +0 -1
  237. package/src/sui/builtin/0x1.js +0 -159
  238. package/src/sui/builtin/0x1.js.map +0 -1
  239. package/src/sui/builtin/0x2.d.ts +0 -1250
  240. package/src/sui/builtin/0x2.d.ts.map +0 -1
  241. package/src/sui/builtin/0x2.js +0 -1511
  242. package/src/sui/builtin/0x2.js.map +0 -1
  243. package/src/sui/builtin/0x3.d.ts +0 -774
  244. package/src/sui/builtin/0x3.d.ts.map +0 -1
  245. package/src/sui/builtin/0x3.js +0 -720
  246. package/src/sui/builtin/0x3.js.map +0 -1
  247. package/src/sui/builtin/index.d.ts +0 -4
  248. package/src/sui/builtin/index.d.ts.map +0 -1
  249. package/src/sui/builtin/index.js +0 -7
  250. package/src/sui/builtin/index.js.map +0 -1
@@ -1,1351 +0,0 @@
1
- import { createRequire as createRequireSdkShim } from 'module'; const require = createRequireSdkShim(import.meta.url);
2
- import {
3
- __name
4
- } from "./chunk-R7PMHHKJ.js";
5
-
6
- // ../../node_modules/.pnpm/@sentio+bigdecimal@9.1.1-patch.3/node_modules/@sentio/bigdecimal/bignumber.mjs
7
- var isNumeric = /^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i;
8
- var mathceil = Math.ceil;
9
- var mathfloor = Math.floor;
10
- var bignumberError = "[BigNumber Error] ";
11
- var tooManyDigits = bignumberError + "Number primitive has more than 15 significant digits: ";
12
- var BASE = 1e14;
13
- var LOG_BASE = 14;
14
- var MAX_SAFE_INTEGER = 9007199254740991;
15
- var POWS_TEN = [1, 10, 100, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13];
16
- var SQRT_BASE = 1e7;
17
- var MAX = 1e9;
18
- function clone(configObject) {
19
- var div, convertBase, parseNumeric, P = BigDecimal2.prototype = { constructor: BigDecimal2, toString: null, valueOf: null }, ONE = new BigDecimal2(1), DECIMAL_PLACES = 20, ROUNDING_MODE = 4, TO_EXP_NEG = -7, TO_EXP_POS = 21, MIN_EXP = -1e7, MAX_EXP = 1e7, CRYPTO = false, MODULO_MODE = 1, POW_PRECISION = 0, FORMAT = {
20
- prefix: "",
21
- groupSize: 3,
22
- secondaryGroupSize: 0,
23
- groupSeparator: ",",
24
- decimalSeparator: ".",
25
- fractionGroupSize: 0,
26
- fractionGroupSeparator: "\xA0",
27
- // non-breaking space
28
- suffix: ""
29
- }, ALPHABET = "0123456789abcdefghijklmnopqrstuvwxyz", alphabetHasNormalDecimalDigits = true;
30
- function BigDecimal2(v, b) {
31
- var alphabet, c, caseChanged, e, i, isNum, len, str, x = this;
32
- if (!(x instanceof BigDecimal2)) return new BigDecimal2(v, b);
33
- if (b == null) {
34
- if (v && v._isBigNumber === true) {
35
- x.s = v.s;
36
- if (!v.c || v.e > MAX_EXP) {
37
- x.c = x.e = null;
38
- } else if (v.e < MIN_EXP) {
39
- x.c = [x.e = 0];
40
- } else {
41
- x.e = v.e;
42
- x.c = v.c.slice();
43
- }
44
- return;
45
- }
46
- if ((isNum = typeof v == "number") && v * 0 == 0) {
47
- x.s = 1 / v < 0 ? (v = -v, -1) : 1;
48
- if (v === ~~v) {
49
- for (e = 0, i = v; i >= 10; i /= 10, e++) ;
50
- if (e > MAX_EXP) {
51
- x.c = x.e = null;
52
- } else {
53
- x.e = e;
54
- x.c = [v];
55
- }
56
- return;
57
- }
58
- str = String(v);
59
- } else {
60
- if (!isNumeric.test(str = String(v))) return parseNumeric(x, str, isNum);
61
- x.s = str.charCodeAt(0) == 45 ? (str = str.slice(1), -1) : 1;
62
- }
63
- if ((e = str.indexOf(".")) > -1) str = str.replace(".", "");
64
- if ((i = str.search(/e/i)) > 0) {
65
- if (e < 0) e = i;
66
- e += +str.slice(i + 1);
67
- str = str.substring(0, i);
68
- } else if (e < 0) {
69
- e = str.length;
70
- }
71
- } else {
72
- intCheck(b, 2, ALPHABET.length, "Base");
73
- if (b == 10 && alphabetHasNormalDecimalDigits) {
74
- x = new BigDecimal2(v);
75
- return round(x, DECIMAL_PLACES + x.e + 1, ROUNDING_MODE);
76
- }
77
- str = String(v);
78
- if (isNum = typeof v == "number") {
79
- if (v * 0 != 0) return parseNumeric(x, str, isNum, b);
80
- x.s = 1 / v < 0 ? (str = str.slice(1), -1) : 1;
81
- if (BigDecimal2.DEBUG && str.replace(/^0\.0*|\./, "").length > 15) {
82
- throw Error(tooManyDigits + v);
83
- }
84
- } else {
85
- x.s = str.charCodeAt(0) === 45 ? (str = str.slice(1), -1) : 1;
86
- }
87
- alphabet = ALPHABET.slice(0, b);
88
- e = i = 0;
89
- for (len = str.length; i < len; i++) {
90
- if (alphabet.indexOf(c = str.charAt(i)) < 0) {
91
- if (c == ".") {
92
- if (i > e) {
93
- e = len;
94
- continue;
95
- }
96
- } else if (!caseChanged) {
97
- if (str == str.toUpperCase() && (str = str.toLowerCase()) || str == str.toLowerCase() && (str = str.toUpperCase())) {
98
- caseChanged = true;
99
- i = -1;
100
- e = 0;
101
- continue;
102
- }
103
- }
104
- return parseNumeric(x, String(v), isNum, b);
105
- }
106
- }
107
- isNum = false;
108
- str = convertBase(str, b, 10, x.s);
109
- if ((e = str.indexOf(".")) > -1) str = str.replace(".", "");
110
- else e = str.length;
111
- }
112
- for (i = 0; str.charCodeAt(i) === 48; i++) ;
113
- for (len = str.length; str.charCodeAt(--len) === 48; ) ;
114
- if (str = str.slice(i, ++len)) {
115
- len -= i;
116
- if (isNum && BigDecimal2.DEBUG && len > 15 && (v > MAX_SAFE_INTEGER || v !== mathfloor(v))) {
117
- throw Error(tooManyDigits + x.s * v);
118
- }
119
- if ((e = e - i - 1) > MAX_EXP) {
120
- x.c = x.e = null;
121
- } else if (e < MIN_EXP) {
122
- x.c = [x.e = 0];
123
- } else {
124
- x.e = e;
125
- x.c = [];
126
- i = (e + 1) % LOG_BASE;
127
- if (e < 0) i += LOG_BASE;
128
- if (i < len) {
129
- if (i) x.c.push(+str.slice(0, i));
130
- for (len -= LOG_BASE; i < len; ) {
131
- x.c.push(+str.slice(i, i += LOG_BASE));
132
- }
133
- i = LOG_BASE - (str = str.slice(i)).length;
134
- } else {
135
- i -= len;
136
- }
137
- for (; i--; str += "0") ;
138
- x.c.push(+str);
139
- }
140
- } else {
141
- x.c = [x.e = 0];
142
- }
143
- }
144
- __name(BigDecimal2, "BigDecimal");
145
- BigDecimal2.clone = clone;
146
- BigDecimal2.ROUND_UP = 0;
147
- BigDecimal2.ROUND_DOWN = 1;
148
- BigDecimal2.ROUND_CEIL = 2;
149
- BigDecimal2.ROUND_FLOOR = 3;
150
- BigDecimal2.ROUND_HALF_UP = 4;
151
- BigDecimal2.ROUND_HALF_DOWN = 5;
152
- BigDecimal2.ROUND_HALF_EVEN = 6;
153
- BigDecimal2.ROUND_HALF_CEIL = 7;
154
- BigDecimal2.ROUND_HALF_FLOOR = 8;
155
- BigDecimal2.EUCLID = 9;
156
- BigDecimal2.config = BigDecimal2.set = function(obj) {
157
- var p, v;
158
- if (obj != null) {
159
- if (typeof obj == "object") {
160
- if (obj.hasOwnProperty(p = "DECIMAL_PLACES")) {
161
- v = obj[p];
162
- intCheck(v, 0, MAX, p);
163
- DECIMAL_PLACES = v;
164
- }
165
- if (obj.hasOwnProperty(p = "ROUNDING_MODE")) {
166
- v = obj[p];
167
- intCheck(v, 0, 8, p);
168
- ROUNDING_MODE = v;
169
- }
170
- if (obj.hasOwnProperty(p = "EXPONENTIAL_AT")) {
171
- v = obj[p];
172
- if (v && v.pop) {
173
- intCheck(v[0], -MAX, 0, p);
174
- intCheck(v[1], 0, MAX, p);
175
- TO_EXP_NEG = v[0];
176
- TO_EXP_POS = v[1];
177
- } else {
178
- intCheck(v, -MAX, MAX, p);
179
- TO_EXP_NEG = -(TO_EXP_POS = v < 0 ? -v : v);
180
- }
181
- }
182
- if (obj.hasOwnProperty(p = "RANGE")) {
183
- v = obj[p];
184
- if (v && v.pop) {
185
- intCheck(v[0], -MAX, -1, p);
186
- intCheck(v[1], 1, MAX, p);
187
- MIN_EXP = v[0];
188
- MAX_EXP = v[1];
189
- } else {
190
- intCheck(v, -MAX, MAX, p);
191
- if (v) {
192
- MIN_EXP = -(MAX_EXP = v < 0 ? -v : v);
193
- } else {
194
- throw Error(bignumberError + p + " cannot be zero: " + v);
195
- }
196
- }
197
- }
198
- if (obj.hasOwnProperty(p = "CRYPTO")) {
199
- v = obj[p];
200
- if (v === !!v) {
201
- if (v) {
202
- if (typeof crypto != "undefined" && crypto && (crypto.getRandomValues || crypto.randomBytes)) {
203
- CRYPTO = v;
204
- } else {
205
- CRYPTO = !v;
206
- throw Error(bignumberError + "crypto unavailable");
207
- }
208
- } else {
209
- CRYPTO = v;
210
- }
211
- } else {
212
- throw Error(bignumberError + p + " not true or false: " + v);
213
- }
214
- }
215
- if (obj.hasOwnProperty(p = "MODULO_MODE")) {
216
- v = obj[p];
217
- intCheck(v, 0, 9, p);
218
- MODULO_MODE = v;
219
- }
220
- if (obj.hasOwnProperty(p = "POW_PRECISION")) {
221
- v = obj[p];
222
- intCheck(v, 0, MAX, p);
223
- POW_PRECISION = v;
224
- }
225
- if (obj.hasOwnProperty(p = "FORMAT")) {
226
- v = obj[p];
227
- if (typeof v == "object") FORMAT = v;
228
- else throw Error(bignumberError + p + " not an object: " + v);
229
- }
230
- if (obj.hasOwnProperty(p = "ALPHABET")) {
231
- v = obj[p];
232
- if (typeof v == "string" && !/^.?$|[+\-.\s]|(.).*\1/.test(v)) {
233
- alphabetHasNormalDecimalDigits = v.slice(0, 10) == "0123456789";
234
- ALPHABET = v;
235
- } else {
236
- throw Error(bignumberError + p + " invalid: " + v);
237
- }
238
- }
239
- } else {
240
- throw Error(bignumberError + "Object expected: " + obj);
241
- }
242
- }
243
- return {
244
- DECIMAL_PLACES,
245
- ROUNDING_MODE,
246
- EXPONENTIAL_AT: [TO_EXP_NEG, TO_EXP_POS],
247
- RANGE: [MIN_EXP, MAX_EXP],
248
- CRYPTO,
249
- MODULO_MODE,
250
- POW_PRECISION,
251
- FORMAT,
252
- ALPHABET
253
- };
254
- };
255
- BigDecimal2.isBigNumber = function(v) {
256
- if (!v || v._isBigNumber !== true) return false;
257
- if (!BigDecimal2.DEBUG) return true;
258
- var i, n, c = v.c, e = v.e, s = v.s;
259
- out: if ({}.toString.call(c) == "[object Array]") {
260
- if ((s === 1 || s === -1) && e >= -MAX && e <= MAX && e === mathfloor(e)) {
261
- if (c[0] === 0) {
262
- if (e === 0 && c.length === 1) return true;
263
- break out;
264
- }
265
- i = (e + 1) % LOG_BASE;
266
- if (i < 1) i += LOG_BASE;
267
- if (String(c[0]).length == i) {
268
- for (i = 0; i < c.length; i++) {
269
- n = c[i];
270
- if (n < 0 || n >= BASE || n !== mathfloor(n)) break out;
271
- }
272
- if (n !== 0) return true;
273
- }
274
- }
275
- } else if (c === null && e === null && (s === null || s === 1 || s === -1)) {
276
- return true;
277
- }
278
- throw Error(bignumberError + "Invalid BigNumber: " + v);
279
- };
280
- BigDecimal2.maximum = BigDecimal2.max = function() {
281
- return maxOrMin(arguments, P.lt);
282
- };
283
- BigDecimal2.minimum = BigDecimal2.min = function() {
284
- return maxOrMin(arguments, P.gt);
285
- };
286
- BigDecimal2.random = function() {
287
- var pow2_53 = 9007199254740992;
288
- var random53bitInt = Math.random() * pow2_53 & 2097151 ? function() {
289
- return mathfloor(Math.random() * pow2_53);
290
- } : function() {
291
- return (Math.random() * 1073741824 | 0) * 8388608 + (Math.random() * 8388608 | 0);
292
- };
293
- return function(dp) {
294
- var a, b, e, k, v, i = 0, c = [], rand = new BigDecimal2(ONE);
295
- if (dp == null) dp = DECIMAL_PLACES;
296
- else intCheck(dp, 0, MAX);
297
- k = mathceil(dp / LOG_BASE);
298
- if (CRYPTO) {
299
- if (crypto.getRandomValues) {
300
- a = crypto.getRandomValues(new Uint32Array(k *= 2));
301
- for (; i < k; ) {
302
- v = a[i] * 131072 + (a[i + 1] >>> 11);
303
- if (v >= 9e15) {
304
- b = crypto.getRandomValues(new Uint32Array(2));
305
- a[i] = b[0];
306
- a[i + 1] = b[1];
307
- } else {
308
- c.push(v % 1e14);
309
- i += 2;
310
- }
311
- }
312
- i = k / 2;
313
- } else if (crypto.randomBytes) {
314
- a = crypto.randomBytes(k *= 7);
315
- for (; i < k; ) {
316
- v = (a[i] & 31) * 281474976710656 + a[i + 1] * 1099511627776 + a[i + 2] * 4294967296 + a[i + 3] * 16777216 + (a[i + 4] << 16) + (a[i + 5] << 8) + a[i + 6];
317
- if (v >= 9e15) {
318
- crypto.randomBytes(7).copy(a, i);
319
- } else {
320
- c.push(v % 1e14);
321
- i += 7;
322
- }
323
- }
324
- i = k / 7;
325
- } else {
326
- CRYPTO = false;
327
- throw Error(bignumberError + "crypto unavailable");
328
- }
329
- }
330
- if (!CRYPTO) {
331
- for (; i < k; ) {
332
- v = random53bitInt();
333
- if (v < 9e15) c[i++] = v % 1e14;
334
- }
335
- }
336
- k = c[--i];
337
- dp %= LOG_BASE;
338
- if (k && dp) {
339
- v = POWS_TEN[LOG_BASE - dp];
340
- c[i] = mathfloor(k / v) * v;
341
- }
342
- for (; c[i] === 0; c.pop(), i--) ;
343
- if (i < 0) {
344
- c = [e = 0];
345
- } else {
346
- for (e = -1; c[0] === 0; c.splice(0, 1), e -= LOG_BASE) ;
347
- for (i = 1, v = c[0]; v >= 10; v /= 10, i++) ;
348
- if (i < LOG_BASE) e -= LOG_BASE - i;
349
- }
350
- rand.e = e;
351
- rand.c = c;
352
- return rand;
353
- };
354
- }();
355
- BigDecimal2.sum = function() {
356
- var i = 1, args = arguments, sum = new BigDecimal2(args[0]);
357
- for (; i < args.length; ) sum = sum.plus(args[i++]);
358
- return sum;
359
- };
360
- convertBase = /* @__PURE__ */ function() {
361
- var decimal = "0123456789";
362
- function toBaseOut(str, baseIn, baseOut, alphabet) {
363
- var j, arr = [0], arrL, i = 0, len = str.length;
364
- for (; i < len; ) {
365
- for (arrL = arr.length; arrL--; arr[arrL] *= baseIn) ;
366
- arr[0] += alphabet.indexOf(str.charAt(i++));
367
- for (j = 0; j < arr.length; j++) {
368
- if (arr[j] > baseOut - 1) {
369
- if (arr[j + 1] == null) arr[j + 1] = 0;
370
- arr[j + 1] += arr[j] / baseOut | 0;
371
- arr[j] %= baseOut;
372
- }
373
- }
374
- }
375
- return arr.reverse();
376
- }
377
- __name(toBaseOut, "toBaseOut");
378
- return function(str, baseIn, baseOut, sign, callerIsToString) {
379
- var alphabet, d, e, k, r, x, xc, y, i = str.indexOf("."), dp = DECIMAL_PLACES, rm = ROUNDING_MODE;
380
- if (i >= 0) {
381
- k = POW_PRECISION;
382
- POW_PRECISION = 0;
383
- str = str.replace(".", "");
384
- y = new BigDecimal2(baseIn);
385
- x = y.pow(str.length - i);
386
- POW_PRECISION = k;
387
- y.c = toBaseOut(
388
- toFixedPoint(coeffToString(x.c), x.e, "0"),
389
- 10,
390
- baseOut,
391
- decimal
392
- );
393
- y.e = y.c.length;
394
- }
395
- xc = toBaseOut(str, baseIn, baseOut, callerIsToString ? (alphabet = ALPHABET, decimal) : (alphabet = decimal, ALPHABET));
396
- e = k = xc.length;
397
- for (; xc[--k] == 0; xc.pop()) ;
398
- if (!xc[0]) return alphabet.charAt(0);
399
- if (i < 0) {
400
- --e;
401
- } else {
402
- x.c = xc;
403
- x.e = e;
404
- x.s = sign;
405
- x = div(x, y, dp, rm, baseOut);
406
- xc = x.c;
407
- r = x.r;
408
- e = x.e;
409
- }
410
- d = e + dp + 1;
411
- i = xc[d];
412
- k = baseOut / 2;
413
- r = r || d < 0 || xc[d + 1] != null;
414
- r = rm < 4 ? (i != null || r) && (rm == 0 || rm == (x.s < 0 ? 3 : 2)) : i > k || i == k && (rm == 4 || r || rm == 6 && xc[d - 1] & 1 || rm == (x.s < 0 ? 8 : 7));
415
- if (d < 1 || !xc[0]) {
416
- str = r ? toFixedPoint(alphabet.charAt(1), -dp, alphabet.charAt(0)) : alphabet.charAt(0);
417
- } else {
418
- xc.length = d;
419
- if (r) {
420
- for (--baseOut; ++xc[--d] > baseOut; ) {
421
- xc[d] = 0;
422
- if (!d) {
423
- ++e;
424
- xc = [1].concat(xc);
425
- }
426
- }
427
- }
428
- for (k = xc.length; !xc[--k]; ) ;
429
- for (i = 0, str = ""; i <= k; str += alphabet.charAt(xc[i++])) ;
430
- str = toFixedPoint(str, e, alphabet.charAt(0));
431
- }
432
- return str;
433
- };
434
- }();
435
- div = /* @__PURE__ */ function() {
436
- function multiply(x, k, base) {
437
- var m, temp, xlo, xhi, carry = 0, i = x.length, klo = k % SQRT_BASE, khi = k / SQRT_BASE | 0;
438
- for (x = x.slice(); i--; ) {
439
- xlo = x[i] % SQRT_BASE;
440
- xhi = x[i] / SQRT_BASE | 0;
441
- m = khi * xlo + xhi * klo;
442
- temp = klo * xlo + m % SQRT_BASE * SQRT_BASE + carry;
443
- carry = (temp / base | 0) + (m / SQRT_BASE | 0) + khi * xhi;
444
- x[i] = temp % base;
445
- }
446
- if (carry) x = [carry].concat(x);
447
- return x;
448
- }
449
- __name(multiply, "multiply");
450
- function compare2(a, b, aL, bL) {
451
- var i, cmp;
452
- if (aL != bL) {
453
- cmp = aL > bL ? 1 : -1;
454
- } else {
455
- for (i = cmp = 0; i < aL; i++) {
456
- if (a[i] != b[i]) {
457
- cmp = a[i] > b[i] ? 1 : -1;
458
- break;
459
- }
460
- }
461
- }
462
- return cmp;
463
- }
464
- __name(compare2, "compare");
465
- function subtract(a, b, aL, base) {
466
- var i = 0;
467
- for (; aL--; ) {
468
- a[aL] -= i;
469
- i = a[aL] < b[aL] ? 1 : 0;
470
- a[aL] = i * base + a[aL] - b[aL];
471
- }
472
- for (; !a[0] && a.length > 1; a.splice(0, 1)) ;
473
- }
474
- __name(subtract, "subtract");
475
- return function(x, y, dp, rm, base) {
476
- var cmp, e, i, more, n, prod, prodL, q, qc, rem, remL, rem0, xi, xL, yc0, yL, yz, s = x.s == y.s ? 1 : -1, xc = x.c, yc = y.c;
477
- if (!xc || !xc[0] || !yc || !yc[0]) {
478
- return new BigDecimal2(
479
- // Return NaN if either NaN, or both Infinity or 0.
480
- !x.s || !y.s || (xc ? yc && xc[0] == yc[0] : !yc) ? NaN : (
481
- // Return ±0 if x is ±0 or y is ±Infinity, or return ±Infinity as y is ±0.
482
- xc && xc[0] == 0 || !yc ? s * 0 : s / 0
483
- )
484
- );
485
- }
486
- q = new BigDecimal2(s);
487
- qc = q.c = [];
488
- e = x.e - y.e;
489
- s = dp + e + 1;
490
- if (!base) {
491
- base = BASE;
492
- e = bitFloor(x.e / LOG_BASE) - bitFloor(y.e / LOG_BASE);
493
- s = s / LOG_BASE | 0;
494
- }
495
- for (i = 0; yc[i] == (xc[i] || 0); i++) ;
496
- if (yc[i] > (xc[i] || 0)) e--;
497
- if (s < 0) {
498
- qc.push(1);
499
- more = true;
500
- } else {
501
- xL = xc.length;
502
- yL = yc.length;
503
- i = 0;
504
- s += 2;
505
- n = mathfloor(base / (yc[0] + 1));
506
- if (n > 1) {
507
- yc = multiply(yc, n, base);
508
- xc = multiply(xc, n, base);
509
- yL = yc.length;
510
- xL = xc.length;
511
- }
512
- xi = yL;
513
- rem = xc.slice(0, yL);
514
- remL = rem.length;
515
- for (; remL < yL; rem[remL++] = 0) ;
516
- yz = yc.slice();
517
- yz = [0].concat(yz);
518
- yc0 = yc[0];
519
- if (yc[1] >= base / 2) yc0++;
520
- do {
521
- n = 0;
522
- cmp = compare2(yc, rem, yL, remL);
523
- if (cmp < 0) {
524
- rem0 = rem[0];
525
- if (yL != remL) rem0 = rem0 * base + (rem[1] || 0);
526
- n = mathfloor(rem0 / yc0);
527
- if (n > 1) {
528
- if (n >= base) n = base - 1;
529
- prod = multiply(yc, n, base);
530
- prodL = prod.length;
531
- remL = rem.length;
532
- while (compare2(prod, rem, prodL, remL) == 1) {
533
- n--;
534
- subtract(prod, yL < prodL ? yz : yc, prodL, base);
535
- prodL = prod.length;
536
- cmp = 1;
537
- }
538
- } else {
539
- if (n == 0) {
540
- cmp = n = 1;
541
- }
542
- prod = yc.slice();
543
- prodL = prod.length;
544
- }
545
- if (prodL < remL) prod = [0].concat(prod);
546
- subtract(rem, prod, remL, base);
547
- remL = rem.length;
548
- if (cmp == -1) {
549
- while (compare2(yc, rem, yL, remL) < 1) {
550
- n++;
551
- subtract(rem, yL < remL ? yz : yc, remL, base);
552
- remL = rem.length;
553
- }
554
- }
555
- } else if (cmp === 0) {
556
- n++;
557
- rem = [0];
558
- }
559
- qc[i++] = n;
560
- if (rem[0]) {
561
- rem[remL++] = xc[xi] || 0;
562
- } else {
563
- rem = [xc[xi]];
564
- remL = 1;
565
- }
566
- } while ((xi++ < xL || rem[0] != null) && s--);
567
- more = rem[0] != null;
568
- if (!qc[0]) qc.splice(0, 1);
569
- }
570
- if (base == BASE) {
571
- for (i = 1, s = qc[0]; s >= 10; s /= 10, i++) ;
572
- round(q, dp + (q.e = i + e * LOG_BASE - 1) + 1, rm, more);
573
- } else {
574
- q.e = e;
575
- q.r = +more;
576
- }
577
- return q;
578
- };
579
- }();
580
- function format(n, i, rm, id) {
581
- var c0, e, ne, len, str;
582
- if (rm == null) rm = ROUNDING_MODE;
583
- else intCheck(rm, 0, 8);
584
- if (!n.c) return n.toString();
585
- c0 = n.c[0];
586
- ne = n.e;
587
- if (i == null) {
588
- str = coeffToString(n.c);
589
- str = id == 1 || id == 2 && (ne <= TO_EXP_NEG || ne >= TO_EXP_POS) ? toExponential(str, ne) : toFixedPoint(str, ne, "0");
590
- } else {
591
- n = round(new BigDecimal2(n), i, rm);
592
- e = n.e;
593
- str = coeffToString(n.c);
594
- len = str.length;
595
- if (id == 1 || id == 2 && (i <= e || e <= TO_EXP_NEG)) {
596
- for (; len < i; str += "0", len++) ;
597
- str = toExponential(str, e);
598
- } else {
599
- i -= ne;
600
- str = toFixedPoint(str, e, "0");
601
- if (e + 1 > len) {
602
- if (--i > 0) for (str += "."; i--; str += "0") ;
603
- } else {
604
- i += e - len;
605
- if (i > 0) {
606
- if (e + 1 == len) str += ".";
607
- for (; i--; str += "0") ;
608
- }
609
- }
610
- }
611
- }
612
- return n.s < 0 && c0 ? "-" + str : str;
613
- }
614
- __name(format, "format");
615
- function maxOrMin(args, method) {
616
- var n, i = 1, m = new BigDecimal2(args[0]);
617
- for (; i < args.length; i++) {
618
- n = new BigDecimal2(args[i]);
619
- if (!n.s) {
620
- m = n;
621
- break;
622
- } else if (method.call(m, n)) {
623
- m = n;
624
- }
625
- }
626
- return m;
627
- }
628
- __name(maxOrMin, "maxOrMin");
629
- function normalise(n, c, e) {
630
- var i = 1, j = c.length;
631
- for (; !c[--j]; c.pop()) ;
632
- for (j = c[0]; j >= 10; j /= 10, i++) ;
633
- if ((e = i + e * LOG_BASE - 1) > MAX_EXP) {
634
- n.c = n.e = null;
635
- } else if (e < MIN_EXP) {
636
- n.c = [n.e = 0];
637
- } else {
638
- n.e = e;
639
- n.c = c;
640
- }
641
- return n;
642
- }
643
- __name(normalise, "normalise");
644
- parseNumeric = /* @__PURE__ */ function() {
645
- var basePrefix = /^(-?)0([xbo])(?=\w[\w.]*$)/i, dotAfter = /^([^.]+)\.$/, dotBefore = /^\.([^.]+)$/, isInfinityOrNaN = /^-?(Infinity|NaN)$/, whitespaceOrPlus = /^\s*\+(?=[\w.])|^\s+|\s+$/g;
646
- return function(x, str, isNum, b) {
647
- var base, s = isNum ? str : str.replace(whitespaceOrPlus, "");
648
- if (isInfinityOrNaN.test(s)) {
649
- x.s = isNaN(s) ? null : s < 0 ? -1 : 1;
650
- } else {
651
- if (!isNum) {
652
- s = s.replace(basePrefix, function(m, p1, p2) {
653
- base = (p2 = p2.toLowerCase()) == "x" ? 16 : p2 == "b" ? 2 : 8;
654
- return !b || b == base ? p1 : m;
655
- });
656
- if (b) {
657
- base = b;
658
- s = s.replace(dotAfter, "$1").replace(dotBefore, "0.$1");
659
- }
660
- if (str != s) return new BigDecimal2(s, base);
661
- }
662
- if (BigDecimal2.DEBUG) {
663
- throw Error(bignumberError + "Not a" + (b ? " base " + b : "") + " number: " + str);
664
- }
665
- x.s = null;
666
- }
667
- x.c = x.e = null;
668
- };
669
- }();
670
- function round(x, sd, rm, r) {
671
- var d, i, j, k, n, ni, rd, xc = x.c, pows10 = POWS_TEN;
672
- if (xc) {
673
- out: {
674
- for (d = 1, k = xc[0]; k >= 10; k /= 10, d++) ;
675
- i = sd - d;
676
- if (i < 0) {
677
- i += LOG_BASE;
678
- j = sd;
679
- n = xc[ni = 0];
680
- rd = n / pows10[d - j - 1] % 10 | 0;
681
- } else {
682
- ni = mathceil((i + 1) / LOG_BASE);
683
- if (ni >= xc.length) {
684
- if (r) {
685
- for (; xc.length <= ni; xc.push(0)) ;
686
- n = rd = 0;
687
- d = 1;
688
- i %= LOG_BASE;
689
- j = i - LOG_BASE + 1;
690
- } else {
691
- break out;
692
- }
693
- } else {
694
- n = k = xc[ni];
695
- for (d = 1; k >= 10; k /= 10, d++) ;
696
- i %= LOG_BASE;
697
- j = i - LOG_BASE + d;
698
- rd = j < 0 ? 0 : n / pows10[d - j - 1] % 10 | 0;
699
- }
700
- }
701
- r = r || sd < 0 || // Are there any non-zero digits after the rounding digit?
702
- // The expression n % pows10[d - j - 1] returns all digits of n to the right
703
- // of the digit at j, e.g. if n is 908714 and j is 2, the expression gives 714.
704
- xc[ni + 1] != null || (j < 0 ? n : n % pows10[d - j - 1]);
705
- r = rm < 4 ? (rd || r) && (rm == 0 || rm == (x.s < 0 ? 3 : 2)) : rd > 5 || rd == 5 && (rm == 4 || r || rm == 6 && // Check whether the digit to the left of the rounding digit is odd.
706
- (i > 0 ? j > 0 ? n / pows10[d - j] : 0 : xc[ni - 1]) % 10 & 1 || rm == (x.s < 0 ? 8 : 7));
707
- if (sd < 1 || !xc[0]) {
708
- xc.length = 0;
709
- if (r) {
710
- sd -= x.e + 1;
711
- xc[0] = pows10[(LOG_BASE - sd % LOG_BASE) % LOG_BASE];
712
- x.e = -sd || 0;
713
- } else {
714
- xc[0] = x.e = 0;
715
- }
716
- return x;
717
- }
718
- if (i == 0) {
719
- xc.length = ni;
720
- k = 1;
721
- ni--;
722
- } else {
723
- xc.length = ni + 1;
724
- k = pows10[LOG_BASE - i];
725
- xc[ni] = j > 0 ? mathfloor(n / pows10[d - j] % pows10[j]) * k : 0;
726
- }
727
- if (r) {
728
- for (; ; ) {
729
- if (ni == 0) {
730
- for (i = 1, j = xc[0]; j >= 10; j /= 10, i++) ;
731
- j = xc[0] += k;
732
- for (k = 1; j >= 10; j /= 10, k++) ;
733
- if (i != k) {
734
- x.e++;
735
- if (xc[0] == BASE) xc[0] = 1;
736
- }
737
- break;
738
- } else {
739
- xc[ni] += k;
740
- if (xc[ni] != BASE) break;
741
- xc[ni--] = 0;
742
- k = 1;
743
- }
744
- }
745
- }
746
- for (i = xc.length; xc[--i] === 0; xc.pop()) ;
747
- }
748
- if (x.e > MAX_EXP) {
749
- x.c = x.e = null;
750
- } else if (x.e < MIN_EXP) {
751
- x.c = [x.e = 0];
752
- }
753
- }
754
- return x;
755
- }
756
- __name(round, "round");
757
- function valueOf(n) {
758
- var str, e = n.e;
759
- if (e === null) return n.toString();
760
- str = coeffToString(n.c);
761
- str = e <= TO_EXP_NEG || e >= TO_EXP_POS ? toExponential(str, e) : toFixedPoint(str, e, "0");
762
- return n.s < 0 ? "-" + str : str;
763
- }
764
- __name(valueOf, "valueOf");
765
- P.absoluteValue = P.abs = function() {
766
- var x = new BigDecimal2(this);
767
- if (x.s < 0) x.s = 1;
768
- return x;
769
- };
770
- P.comparedTo = function(y, b) {
771
- return compare(this, new BigDecimal2(y, b));
772
- };
773
- P.decimalPlaces = P.dp = function(dp, rm) {
774
- var c, n, v, x = this;
775
- if (dp != null) {
776
- intCheck(dp, 0, MAX);
777
- if (rm == null) rm = ROUNDING_MODE;
778
- else intCheck(rm, 0, 8);
779
- return round(new BigDecimal2(x), dp + x.e + 1, rm);
780
- }
781
- if (!(c = x.c)) return null;
782
- n = ((v = c.length - 1) - bitFloor(this.e / LOG_BASE)) * LOG_BASE;
783
- if (v = c[v]) for (; v % 10 == 0; v /= 10, n--) ;
784
- if (n < 0) n = 0;
785
- return n;
786
- };
787
- P.dividedBy = P.div = function(y, b) {
788
- return div(this, new BigDecimal2(y, b), DECIMAL_PLACES, ROUNDING_MODE);
789
- };
790
- P.dividedToIntegerBy = P.idiv = function(y, b) {
791
- return div(this, new BigDecimal2(y, b), 0, 1);
792
- };
793
- P.exponentiatedBy = P.pow = function(n, m) {
794
- var half, isModExp, i, k, more, nIsBig, nIsNeg, nIsOdd, y, x = this;
795
- n = new BigDecimal2(n);
796
- if (n.c && !n.isInteger()) {
797
- throw Error(bignumberError + "Exponent not an integer: " + valueOf(n));
798
- }
799
- if (m != null) m = new BigDecimal2(m);
800
- nIsBig = n.e > 14;
801
- if (!x.c || !x.c[0] || x.c[0] == 1 && !x.e && x.c.length == 1 || !n.c || !n.c[0]) {
802
- y = new BigDecimal2(Math.pow(+valueOf(x), nIsBig ? n.s * (2 - isOdd(n)) : +valueOf(n)));
803
- return m ? y.mod(m) : y;
804
- }
805
- nIsNeg = n.s < 0;
806
- if (m) {
807
- if (m.c ? !m.c[0] : !m.s) return new BigDecimal2(NaN);
808
- isModExp = !nIsNeg && x.isInteger() && m.isInteger();
809
- if (isModExp) x = x.mod(m);
810
- } else if (n.e > 9 && (x.e > 0 || x.e < -1 || (x.e == 0 ? x.c[0] > 1 || nIsBig && x.c[1] >= 24e7 : x.c[0] < 8e13 || nIsBig && x.c[0] <= 9999975e7))) {
811
- k = x.s < 0 && isOdd(n) ? -0 : 0;
812
- if (x.e > -1) k = 1 / k;
813
- return new BigDecimal2(nIsNeg ? 1 / k : k);
814
- } else if (POW_PRECISION) {
815
- k = mathceil(POW_PRECISION / LOG_BASE + 2);
816
- }
817
- if (nIsBig) {
818
- half = new BigDecimal2(0.5);
819
- if (nIsNeg) n.s = 1;
820
- nIsOdd = isOdd(n);
821
- } else {
822
- i = Math.abs(+valueOf(n));
823
- nIsOdd = i % 2;
824
- }
825
- y = new BigDecimal2(ONE);
826
- for (; ; ) {
827
- if (nIsOdd) {
828
- y = y.times(x);
829
- if (!y.c) break;
830
- if (k) {
831
- if (y.c.length > k) y.c.length = k;
832
- } else if (isModExp) {
833
- y = y.mod(m);
834
- }
835
- }
836
- if (i) {
837
- i = mathfloor(i / 2);
838
- if (i === 0) break;
839
- nIsOdd = i % 2;
840
- } else {
841
- n = n.times(half);
842
- round(n, n.e + 1, 1);
843
- if (n.e > 14) {
844
- nIsOdd = isOdd(n);
845
- } else {
846
- i = +valueOf(n);
847
- if (i === 0) break;
848
- nIsOdd = i % 2;
849
- }
850
- }
851
- x = x.times(x);
852
- if (k) {
853
- if (x.c && x.c.length > k) x.c.length = k;
854
- } else if (isModExp) {
855
- x = x.mod(m);
856
- }
857
- }
858
- if (isModExp) return y;
859
- if (nIsNeg) y = ONE.div(y);
860
- return m ? y.mod(m) : k ? round(y, POW_PRECISION, ROUNDING_MODE, more) : y;
861
- };
862
- P.integerValue = function(rm) {
863
- var n = new BigDecimal2(this);
864
- if (rm == null) rm = ROUNDING_MODE;
865
- else intCheck(rm, 0, 8);
866
- return round(n, n.e + 1, rm);
867
- };
868
- P.isEqualTo = P.eq = function(y, b) {
869
- return compare(this, new BigDecimal2(y, b)) === 0;
870
- };
871
- P.isFinite = function() {
872
- return !!this.c;
873
- };
874
- P.isGreaterThan = P.gt = function(y, b) {
875
- return compare(this, new BigDecimal2(y, b)) > 0;
876
- };
877
- P.isGreaterThanOrEqualTo = P.gte = function(y, b) {
878
- return (b = compare(this, new BigDecimal2(y, b))) === 1 || b === 0;
879
- };
880
- P.isInteger = function() {
881
- return !!this.c && bitFloor(this.e / LOG_BASE) > this.c.length - 2;
882
- };
883
- P.isLessThan = P.lt = function(y, b) {
884
- return compare(this, new BigDecimal2(y, b)) < 0;
885
- };
886
- P.isLessThanOrEqualTo = P.lte = function(y, b) {
887
- return (b = compare(this, new BigDecimal2(y, b))) === -1 || b === 0;
888
- };
889
- P.isNaN = function() {
890
- return !this.s;
891
- };
892
- P.isNegative = function() {
893
- return this.s < 0;
894
- };
895
- P.isPositive = function() {
896
- return this.s > 0;
897
- };
898
- P.isZero = function() {
899
- return !!this.c && this.c[0] == 0;
900
- };
901
- P.minus = function(y, b) {
902
- var i, j, t, xLTy, x = this, a = x.s;
903
- y = new BigDecimal2(y, b);
904
- b = y.s;
905
- if (!a || !b) return new BigDecimal2(NaN);
906
- if (a != b) {
907
- y.s = -b;
908
- return x.plus(y);
909
- }
910
- var xe = x.e / LOG_BASE, ye = y.e / LOG_BASE, xc = x.c, yc = y.c;
911
- if (!xe || !ye) {
912
- if (!xc || !yc) return xc ? (y.s = -b, y) : new BigDecimal2(yc ? x : NaN);
913
- if (!xc[0] || !yc[0]) {
914
- return yc[0] ? (y.s = -b, y) : new BigDecimal2(xc[0] ? x : (
915
- // IEEE 754 (2008) 6.3: n - n = -0 when rounding to -Infinity
916
- ROUNDING_MODE == 3 ? -0 : 0
917
- ));
918
- }
919
- }
920
- xe = bitFloor(xe);
921
- ye = bitFloor(ye);
922
- xc = xc.slice();
923
- if (a = xe - ye) {
924
- if (xLTy = a < 0) {
925
- a = -a;
926
- t = xc;
927
- } else {
928
- ye = xe;
929
- t = yc;
930
- }
931
- t.reverse();
932
- for (b = a; b--; t.push(0)) ;
933
- t.reverse();
934
- } else {
935
- j = (xLTy = (a = xc.length) < (b = yc.length)) ? a : b;
936
- for (a = b = 0; b < j; b++) {
937
- if (xc[b] != yc[b]) {
938
- xLTy = xc[b] < yc[b];
939
- break;
940
- }
941
- }
942
- }
943
- if (xLTy) t = xc, xc = yc, yc = t, y.s = -y.s;
944
- b = (j = yc.length) - (i = xc.length);
945
- if (b > 0) for (; b--; xc[i++] = 0) ;
946
- b = BASE - 1;
947
- for (; j > a; ) {
948
- if (xc[--j] < yc[j]) {
949
- for (i = j; i && !xc[--i]; xc[i] = b) ;
950
- --xc[i];
951
- xc[j] += BASE;
952
- }
953
- xc[j] -= yc[j];
954
- }
955
- for (; xc[0] == 0; xc.splice(0, 1), --ye) ;
956
- if (!xc[0]) {
957
- y.s = ROUNDING_MODE == 3 ? -1 : 1;
958
- y.c = [y.e = 0];
959
- return y;
960
- }
961
- return normalise(y, xc, ye);
962
- };
963
- P.modulo = P.mod = function(y, b) {
964
- var q, s, x = this;
965
- y = new BigDecimal2(y, b);
966
- if (!x.c || !y.s || y.c && !y.c[0]) {
967
- return new BigDecimal2(NaN);
968
- } else if (!y.c || x.c && !x.c[0]) {
969
- return new BigDecimal2(x);
970
- }
971
- if (MODULO_MODE == 9) {
972
- s = y.s;
973
- y.s = 1;
974
- q = div(x, y, 0, 3);
975
- y.s = s;
976
- q.s *= s;
977
- } else {
978
- q = div(x, y, 0, MODULO_MODE);
979
- }
980
- y = x.minus(q.times(y));
981
- if (!y.c[0] && MODULO_MODE == 1) y.s = x.s;
982
- return y;
983
- };
984
- P.multipliedBy = P.times = function(y, b) {
985
- var c, e, i, j, k, m, xcL, xlo, xhi, ycL, ylo, yhi, zc, base, sqrtBase, x = this, xc = x.c, yc = (y = new BigDecimal2(y, b)).c;
986
- if (!xc || !yc || !xc[0] || !yc[0]) {
987
- if (!x.s || !y.s || xc && !xc[0] && !yc || yc && !yc[0] && !xc) {
988
- y.c = y.e = y.s = null;
989
- } else {
990
- y.s *= x.s;
991
- if (!xc || !yc) {
992
- y.c = y.e = null;
993
- } else {
994
- y.c = [0];
995
- y.e = 0;
996
- }
997
- }
998
- return y;
999
- }
1000
- e = bitFloor(x.e / LOG_BASE) + bitFloor(y.e / LOG_BASE);
1001
- y.s *= x.s;
1002
- xcL = xc.length;
1003
- ycL = yc.length;
1004
- if (xcL < ycL) zc = xc, xc = yc, yc = zc, i = xcL, xcL = ycL, ycL = i;
1005
- for (i = xcL + ycL, zc = []; i--; zc.push(0)) ;
1006
- base = BASE;
1007
- sqrtBase = SQRT_BASE;
1008
- for (i = ycL; --i >= 0; ) {
1009
- c = 0;
1010
- ylo = yc[i] % sqrtBase;
1011
- yhi = yc[i] / sqrtBase | 0;
1012
- for (k = xcL, j = i + k; j > i; ) {
1013
- xlo = xc[--k] % sqrtBase;
1014
- xhi = xc[k] / sqrtBase | 0;
1015
- m = yhi * xlo + xhi * ylo;
1016
- xlo = ylo * xlo + m % sqrtBase * sqrtBase + zc[j] + c;
1017
- c = (xlo / base | 0) + (m / sqrtBase | 0) + yhi * xhi;
1018
- zc[j--] = xlo % base;
1019
- }
1020
- zc[j] = c;
1021
- }
1022
- if (c) {
1023
- ++e;
1024
- } else {
1025
- zc.splice(0, 1);
1026
- }
1027
- return normalise(y, zc, e);
1028
- };
1029
- P.negated = function() {
1030
- var x = new BigDecimal2(this);
1031
- x.s = -x.s || null;
1032
- return x;
1033
- };
1034
- P.plus = function(y, b) {
1035
- var t, x = this, a = x.s;
1036
- y = new BigDecimal2(y, b);
1037
- b = y.s;
1038
- if (!a || !b) return new BigDecimal2(NaN);
1039
- if (a != b) {
1040
- y.s = -b;
1041
- return x.minus(y);
1042
- }
1043
- var xe = x.e / LOG_BASE, ye = y.e / LOG_BASE, xc = x.c, yc = y.c;
1044
- if (!xe || !ye) {
1045
- if (!xc || !yc) return new BigDecimal2(a / 0);
1046
- if (!xc[0] || !yc[0]) return yc[0] ? y : new BigDecimal2(xc[0] ? x : a * 0);
1047
- }
1048
- xe = bitFloor(xe);
1049
- ye = bitFloor(ye);
1050
- xc = xc.slice();
1051
- if (a = xe - ye) {
1052
- if (a > 0) {
1053
- ye = xe;
1054
- t = yc;
1055
- } else {
1056
- a = -a;
1057
- t = xc;
1058
- }
1059
- t.reverse();
1060
- for (; a--; t.push(0)) ;
1061
- t.reverse();
1062
- }
1063
- a = xc.length;
1064
- b = yc.length;
1065
- if (a - b < 0) t = yc, yc = xc, xc = t, b = a;
1066
- for (a = 0; b; ) {
1067
- a = (xc[--b] = xc[b] + yc[b] + a) / BASE | 0;
1068
- xc[b] = BASE === xc[b] ? 0 : xc[b] % BASE;
1069
- }
1070
- if (a) {
1071
- xc = [a].concat(xc);
1072
- ++ye;
1073
- }
1074
- return normalise(y, xc, ye);
1075
- };
1076
- P.precision = P.sd = function(sd, rm) {
1077
- var c, n, v, x = this;
1078
- if (sd != null && sd !== !!sd) {
1079
- intCheck(sd, 1, MAX);
1080
- if (rm == null) rm = ROUNDING_MODE;
1081
- else intCheck(rm, 0, 8);
1082
- return round(new BigDecimal2(x), sd, rm);
1083
- }
1084
- if (!(c = x.c)) return null;
1085
- v = c.length - 1;
1086
- n = v * LOG_BASE + 1;
1087
- if (v = c[v]) {
1088
- for (; v % 10 == 0; v /= 10, n--) ;
1089
- for (v = c[0]; v >= 10; v /= 10, n++) ;
1090
- }
1091
- if (sd && x.e + 1 > n) n = x.e + 1;
1092
- return n;
1093
- };
1094
- P.shiftedBy = function(k) {
1095
- intCheck(k, -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER);
1096
- return this.times("1e" + k);
1097
- };
1098
- P.squareRoot = P.sqrt = function() {
1099
- var m, n, r, rep, t, x = this, c = x.c, s = x.s, e = x.e, dp = DECIMAL_PLACES + 4, half = new BigDecimal2("0.5");
1100
- if (s !== 1 || !c || !c[0]) {
1101
- return new BigDecimal2(!s || s < 0 && (!c || c[0]) ? NaN : c ? x : 1 / 0);
1102
- }
1103
- s = Math.sqrt(+valueOf(x));
1104
- if (s == 0 || s == 1 / 0) {
1105
- n = coeffToString(c);
1106
- if ((n.length + e) % 2 == 0) n += "0";
1107
- s = Math.sqrt(+n);
1108
- e = bitFloor((e + 1) / 2) - (e < 0 || e % 2);
1109
- if (s == 1 / 0) {
1110
- n = "5e" + e;
1111
- } else {
1112
- n = s.toExponential();
1113
- n = n.slice(0, n.indexOf("e") + 1) + e;
1114
- }
1115
- r = new BigDecimal2(n);
1116
- } else {
1117
- r = new BigDecimal2(s + "");
1118
- }
1119
- if (r.c[0]) {
1120
- e = r.e;
1121
- s = e + dp;
1122
- if (s < 3) s = 0;
1123
- for (; ; ) {
1124
- t = r;
1125
- r = half.times(t.plus(div(x, t, dp, 1)));
1126
- if (coeffToString(t.c).slice(0, s) === (n = coeffToString(r.c)).slice(0, s)) {
1127
- if (r.e < e) --s;
1128
- n = n.slice(s - 3, s + 1);
1129
- if (n == "9999" || !rep && n == "4999") {
1130
- if (!rep) {
1131
- round(t, t.e + DECIMAL_PLACES + 2, 0);
1132
- if (t.times(t).eq(x)) {
1133
- r = t;
1134
- break;
1135
- }
1136
- }
1137
- dp += 4;
1138
- s += 4;
1139
- rep = 1;
1140
- } else {
1141
- if (!+n || !+n.slice(1) && n.charAt(0) == "5") {
1142
- round(r, r.e + DECIMAL_PLACES + 2, 1);
1143
- m = !r.times(r).eq(x);
1144
- }
1145
- break;
1146
- }
1147
- }
1148
- }
1149
- }
1150
- return round(r, r.e + DECIMAL_PLACES + 1, ROUNDING_MODE, m);
1151
- };
1152
- P.toExponential = function(dp, rm) {
1153
- if (dp != null) {
1154
- intCheck(dp, 0, MAX);
1155
- dp++;
1156
- }
1157
- return format(this, dp, rm, 1);
1158
- };
1159
- P.toFixed = function(dp, rm) {
1160
- if (dp != null) {
1161
- intCheck(dp, 0, MAX);
1162
- dp = dp + this.e + 1;
1163
- }
1164
- return format(this, dp, rm);
1165
- };
1166
- P.toFormat = function(dp, rm, format2) {
1167
- var str, x = this;
1168
- if (format2 == null) {
1169
- if (dp != null && rm && typeof rm == "object") {
1170
- format2 = rm;
1171
- rm = null;
1172
- } else if (dp && typeof dp == "object") {
1173
- format2 = dp;
1174
- dp = rm = null;
1175
- } else {
1176
- format2 = FORMAT;
1177
- }
1178
- } else if (typeof format2 != "object") {
1179
- throw Error(bignumberError + "Argument not an object: " + format2);
1180
- }
1181
- str = x.toFixed(dp, rm);
1182
- if (x.c) {
1183
- var i, arr = str.split("."), g1 = +format2.groupSize, g2 = +format2.secondaryGroupSize, groupSeparator = format2.groupSeparator || "", intPart = arr[0], fractionPart = arr[1], isNeg = x.s < 0, intDigits = isNeg ? intPart.slice(1) : intPart, len = intDigits.length;
1184
- if (g2) i = g1, g1 = g2, g2 = i, len -= i;
1185
- if (g1 > 0 && len > 0) {
1186
- i = len % g1 || g1;
1187
- intPart = intDigits.substr(0, i);
1188
- for (; i < len; i += g1) intPart += groupSeparator + intDigits.substr(i, g1);
1189
- if (g2 > 0) intPart += groupSeparator + intDigits.slice(i);
1190
- if (isNeg) intPart = "-" + intPart;
1191
- }
1192
- str = fractionPart ? intPart + (format2.decimalSeparator || "") + ((g2 = +format2.fractionGroupSize) ? fractionPart.replace(
1193
- new RegExp("\\d{" + g2 + "}\\B", "g"),
1194
- "$&" + (format2.fractionGroupSeparator || "")
1195
- ) : fractionPart) : intPart;
1196
- }
1197
- return (format2.prefix || "") + str + (format2.suffix || "");
1198
- };
1199
- P.toFraction = function(md) {
1200
- var d, d0, d1, d2, e, exp, n, n0, n1, q, r, s, x = this, xc = x.c;
1201
- if (md != null) {
1202
- n = new BigDecimal2(md);
1203
- if (!n.isInteger() && (n.c || n.s !== 1) || n.lt(ONE)) {
1204
- throw Error(bignumberError + "Argument " + (n.isInteger() ? "out of range: " : "not an integer: ") + valueOf(n));
1205
- }
1206
- }
1207
- if (!xc) return new BigDecimal2(x);
1208
- d = new BigDecimal2(ONE);
1209
- n1 = d0 = new BigDecimal2(ONE);
1210
- d1 = n0 = new BigDecimal2(ONE);
1211
- s = coeffToString(xc);
1212
- e = d.e = s.length - x.e - 1;
1213
- d.c[0] = POWS_TEN[(exp = e % LOG_BASE) < 0 ? LOG_BASE + exp : exp];
1214
- md = !md || n.comparedTo(d) > 0 ? e > 0 ? d : n1 : n;
1215
- exp = MAX_EXP;
1216
- MAX_EXP = 1 / 0;
1217
- n = new BigDecimal2(s);
1218
- n0.c[0] = 0;
1219
- for (; ; ) {
1220
- q = div(n, d, 0, 1);
1221
- d2 = d0.plus(q.times(d1));
1222
- if (d2.comparedTo(md) == 1) break;
1223
- d0 = d1;
1224
- d1 = d2;
1225
- n1 = n0.plus(q.times(d2 = n1));
1226
- n0 = d2;
1227
- d = n.minus(q.times(d2 = d));
1228
- n = d2;
1229
- }
1230
- d2 = div(md.minus(d0), d1, 0, 1);
1231
- n0 = n0.plus(d2.times(n1));
1232
- d0 = d0.plus(d2.times(d1));
1233
- n0.s = n1.s = x.s;
1234
- e = e * 2;
1235
- r = div(n1, d1, e, ROUNDING_MODE).minus(x).abs().comparedTo(
1236
- div(n0, d0, e, ROUNDING_MODE).minus(x).abs()
1237
- ) < 1 ? [n1, d1] : [n0, d0];
1238
- MAX_EXP = exp;
1239
- return r;
1240
- };
1241
- P.toNumber = function() {
1242
- return +valueOf(this);
1243
- };
1244
- P.toPrecision = function(sd, rm) {
1245
- if (sd != null) intCheck(sd, 1, MAX);
1246
- return format(this, sd, rm, 2);
1247
- };
1248
- P.toString = function(b) {
1249
- var str, n = this, s = n.s, e = n.e;
1250
- if (e === null) {
1251
- if (s) {
1252
- str = "Infinity";
1253
- if (s < 0) str = "-" + str;
1254
- } else {
1255
- str = "NaN";
1256
- }
1257
- } else {
1258
- if (b == null) {
1259
- str = e <= TO_EXP_NEG || e >= TO_EXP_POS ? toExponential(coeffToString(n.c), e) : toFixedPoint(coeffToString(n.c), e, "0");
1260
- } else if (b === 10 && alphabetHasNormalDecimalDigits) {
1261
- n = round(new BigDecimal2(n), DECIMAL_PLACES + e + 1, ROUNDING_MODE);
1262
- str = toFixedPoint(coeffToString(n.c), n.e, "0");
1263
- } else {
1264
- intCheck(b, 2, ALPHABET.length, "Base");
1265
- str = convertBase(toFixedPoint(coeffToString(n.c), e, "0"), 10, b, s, true);
1266
- }
1267
- if (s < 0 && n.c[0]) str = "-" + str;
1268
- }
1269
- return str;
1270
- };
1271
- P.valueOf = P.toJSON = function() {
1272
- return valueOf(this);
1273
- };
1274
- P._isBigNumber = true;
1275
- P[Symbol.toStringTag] = "BigNumber";
1276
- P[Symbol.for("nodejs.util.inspect.custom")] = P.valueOf;
1277
- if (configObject != null) BigDecimal2.set(configObject);
1278
- return BigDecimal2;
1279
- }
1280
- __name(clone, "clone");
1281
- function bitFloor(n) {
1282
- var i = n | 0;
1283
- return n > 0 || n === i ? i : i - 1;
1284
- }
1285
- __name(bitFloor, "bitFloor");
1286
- function coeffToString(a) {
1287
- var s, z, i = 1, j = a.length, r = a[0] + "";
1288
- for (; i < j; ) {
1289
- s = a[i++] + "";
1290
- z = LOG_BASE - s.length;
1291
- for (; z--; s = "0" + s) ;
1292
- r += s;
1293
- }
1294
- for (j = r.length; r.charCodeAt(--j) === 48; ) ;
1295
- return r.slice(0, j + 1 || 1);
1296
- }
1297
- __name(coeffToString, "coeffToString");
1298
- function compare(x, y) {
1299
- var a, b, xc = x.c, yc = y.c, i = x.s, j = y.s, k = x.e, l = y.e;
1300
- if (!i || !j) return null;
1301
- a = xc && !xc[0];
1302
- b = yc && !yc[0];
1303
- if (a || b) return a ? b ? 0 : -j : i;
1304
- if (i != j) return i;
1305
- a = i < 0;
1306
- b = k == l;
1307
- if (!xc || !yc) return b ? 0 : !xc ^ a ? 1 : -1;
1308
- if (!b) return k > l ^ a ? 1 : -1;
1309
- j = (k = xc.length) < (l = yc.length) ? k : l;
1310
- for (i = 0; i < j; i++) if (xc[i] != yc[i]) return xc[i] > yc[i] ^ a ? 1 : -1;
1311
- return k == l ? 0 : k > l ^ a ? 1 : -1;
1312
- }
1313
- __name(compare, "compare");
1314
- function intCheck(n, min, max, name) {
1315
- if (n < min || n > max || n !== mathfloor(n)) {
1316
- throw Error(bignumberError + (name || "Argument") + (typeof n == "number" ? n < min || n > max ? " out of range: " : " not an integer: " : " not a primitive number: ") + String(n));
1317
- }
1318
- }
1319
- __name(intCheck, "intCheck");
1320
- function isOdd(n) {
1321
- var k = n.c.length - 1;
1322
- return bitFloor(n.e / LOG_BASE) == k && n.c[k] % 2 != 0;
1323
- }
1324
- __name(isOdd, "isOdd");
1325
- function toExponential(str, e) {
1326
- return (str.length > 1 ? str.charAt(0) + "." + str.slice(1) : str) + (e < 0 ? "e" : "e+") + e;
1327
- }
1328
- __name(toExponential, "toExponential");
1329
- function toFixedPoint(str, e, z) {
1330
- var len, zs;
1331
- if (e < 0) {
1332
- for (zs = z + "."; ++e; zs += z) ;
1333
- str = zs + str;
1334
- } else {
1335
- len = str.length;
1336
- if (++e > len) {
1337
- for (zs = z, e -= len; --e; zs += z) ;
1338
- str += zs;
1339
- } else if (e < len) {
1340
- str = str.slice(0, e) + "." + str.slice(e);
1341
- }
1342
- }
1343
- return str;
1344
- }
1345
- __name(toFixedPoint, "toFixedPoint");
1346
- var BigDecimal = clone();
1347
-
1348
- export {
1349
- BigDecimal
1350
- };
1351
- //# sourceMappingURL=chunk-J5UEW4B7.js.map