@keplr-wallet/unit 0.9.11-rc.1 → 0.9.11-rc.2
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.
- package/build/decimal.d.ts +5 -1
- package/build/decimal.js +42 -5
- package/build/decimal.js.map +1 -1
- package/build/decimal.spec.js +78 -1
- package/build/decimal.spec.js.map +1 -1
- package/build/etc.d.ts +4 -0
- package/build/etc.js +63 -0
- package/build/etc.js.map +1 -0
- package/build/etc.spec.d.ts +1 -0
- package/build/etc.spec.js +66 -0
- package/build/etc.spec.js.map +1 -0
- package/build/int.d.ts +3 -10
- package/build/int.js +26 -21
- package/build/int.js.map +1 -1
- package/build/int.spec.js +28 -0
- package/build/int.spec.js.map +1 -1
- package/package.json +2 -2
- package/src/decimal.spec.ts +92 -1
- package/src/decimal.ts +54 -5
- package/src/etc.spec.ts +73 -0
- package/src/etc.ts +70 -0
- package/src/int.spec.ts +34 -0
- package/src/int.ts +33 -29
package/build/decimal.d.ts
CHANGED
@@ -3,11 +3,15 @@ import { Int } from "./int";
|
|
3
3
|
export declare class Dec {
|
4
4
|
static readonly precision = 18;
|
5
5
|
protected static readonly decimalPrecisionBits = 60;
|
6
|
-
protected static readonly
|
6
|
+
protected static readonly maxDec: bigInteger.BigInteger;
|
7
7
|
protected static readonly precisionMultipliers: {
|
8
8
|
[key: string]: bigInteger.BigInteger | undefined;
|
9
9
|
};
|
10
10
|
protected static calcPrecisionMultiplier(prec: number): bigInteger.BigInteger;
|
11
|
+
protected static reduceDecimalsFromString(str: string): {
|
12
|
+
res: string;
|
13
|
+
isDownToZero: boolean;
|
14
|
+
};
|
11
15
|
protected int: bigInteger.BigInteger;
|
12
16
|
/**
|
13
17
|
* Create a new Dec from integer with decimal place at prec
|
package/build/decimal.js
CHANGED
@@ -7,6 +7,7 @@ exports.Dec = void 0;
|
|
7
7
|
const big_integer_1 = __importDefault(require("big-integer"));
|
8
8
|
const int_1 = require("./int");
|
9
9
|
const coin_utils_1 = require("./coin-utils");
|
10
|
+
const etc_1 = require("./etc");
|
10
11
|
class Dec {
|
11
12
|
/**
|
12
13
|
* Create a new Dec from integer with decimal place at prec
|
@@ -22,9 +23,21 @@ class Dec {
|
|
22
23
|
if (int.length === 0) {
|
23
24
|
throw new Error("empty string");
|
24
25
|
}
|
25
|
-
if (
|
26
|
-
|
26
|
+
if (!etc_1.isValidDecimalString(int)) {
|
27
|
+
if (etc_1.isExponentDecString(int)) {
|
28
|
+
int = etc_1.exponentDecStringToDecString(int);
|
29
|
+
}
|
30
|
+
else {
|
31
|
+
throw new Error(`invalid decimal: ${int}`);
|
32
|
+
}
|
27
33
|
}
|
34
|
+
// Even if an input with more than 18 decimals, it does not throw an error and ignores the rest.
|
35
|
+
const reduced = Dec.reduceDecimalsFromString(int);
|
36
|
+
if (reduced.isDownToZero) {
|
37
|
+
// However, as a result, if the input becomes 0, a problem may occur in mul or quo. In this case, print a warning.
|
38
|
+
console.log(`WARNING: Got ${int}. Dec can only handle up to 18 decimals. However, since the decimal point of the input exceeds 18 digits, the remainder is discarded. As a result, input becomes 0.`);
|
39
|
+
}
|
40
|
+
int = reduced.res;
|
28
41
|
if (int.indexOf(".") >= 0) {
|
29
42
|
prec = int.length - int.indexOf(".") - 1;
|
30
43
|
int = int.replace(".", "");
|
@@ -59,8 +72,29 @@ class Dec {
|
|
59
72
|
Dec.precisionMultipliers[prec.toString()] = multiplier;
|
60
73
|
return multiplier;
|
61
74
|
}
|
75
|
+
static reduceDecimalsFromString(str) {
|
76
|
+
const decimalPointIndex = str.indexOf(".");
|
77
|
+
if (decimalPointIndex < 0) {
|
78
|
+
return {
|
79
|
+
res: str,
|
80
|
+
isDownToZero: false,
|
81
|
+
};
|
82
|
+
}
|
83
|
+
const exceededDecimals = str.length - 1 - decimalPointIndex - Dec.precision;
|
84
|
+
if (exceededDecimals <= 0) {
|
85
|
+
return {
|
86
|
+
res: str,
|
87
|
+
isDownToZero: false,
|
88
|
+
};
|
89
|
+
}
|
90
|
+
const res = str.slice(0, str.length - exceededDecimals);
|
91
|
+
return {
|
92
|
+
res,
|
93
|
+
isDownToZero: /^[0.]*$/.test(res),
|
94
|
+
};
|
95
|
+
}
|
62
96
|
checkBitLen() {
|
63
|
-
if (this.int.abs().
|
97
|
+
if (this.int.abs().gt(Dec.maxDec)) {
|
64
98
|
throw new Error(`Integer out of range ${this.int.toString()}`);
|
65
99
|
}
|
66
100
|
}
|
@@ -261,9 +295,12 @@ class Dec {
|
|
261
295
|
}
|
262
296
|
exports.Dec = Dec;
|
263
297
|
Dec.precision = 18;
|
264
|
-
//
|
298
|
+
// Bytes required to represent the above precision is 18.
|
265
299
|
// Ceiling[Log2[999 999 999 999 999 999]]
|
266
300
|
Dec.decimalPrecisionBits = 60;
|
267
|
-
Dec
|
301
|
+
// Max bit length for `Dec` is 256 + 60(decimalPrecisionBits)
|
302
|
+
// The int in the `Dec` is handled as integer assuming that it has 18 precision.
|
303
|
+
// (2 ** (256 + 60) - 1)
|
304
|
+
Dec.maxDec = big_integer_1.default("133499189745056880149688856635597007162669032647290798121690100488888732861290034376435130433535");
|
268
305
|
Dec.precisionMultipliers = {};
|
269
306
|
//# sourceMappingURL=decimal.js.map
|
package/build/decimal.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"decimal.js","sourceRoot":"","sources":["../src/decimal.ts"],"names":[],"mappings":";;;;;;AAAA,8DAAqC;AACrC,+BAA4B;AAC5B,6CAAyC;
|
1
|
+
{"version":3,"file":"decimal.js","sourceRoot":"","sources":["../src/decimal.ts"],"names":[],"mappings":"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"}
|
package/build/decimal.spec.js
CHANGED
@@ -36,7 +36,7 @@ describe("Test decimals", () => {
|
|
36
36
|
}).toThrow();
|
37
37
|
expect(() => {
|
38
38
|
new decimal_1.Dec("0.489234893284938249348923849283408");
|
39
|
-
}).toThrow();
|
39
|
+
}).not.toThrow();
|
40
40
|
expect(() => {
|
41
41
|
new decimal_1.Dec("foobar");
|
42
42
|
}).toThrow();
|
@@ -510,5 +510,82 @@ describe("Test decimals", () => {
|
|
510
510
|
expect(res).toBe(test.exp);
|
511
511
|
}
|
512
512
|
});
|
513
|
+
it("Test case that input decimals exceeds 18", () => {
|
514
|
+
const tests = [
|
515
|
+
{
|
516
|
+
input: "0.489234893284938249348923849283408",
|
517
|
+
res: new decimal_1.Dec("0.489234893284938249"),
|
518
|
+
resStr: "0.489234893284938249",
|
519
|
+
},
|
520
|
+
{
|
521
|
+
input: 0.0000010000000249348,
|
522
|
+
res: new decimal_1.Dec("0.000001000000024934"),
|
523
|
+
resStr: "0.000001000000024934",
|
524
|
+
},
|
525
|
+
{
|
526
|
+
input: "0.0000000000000000001",
|
527
|
+
res: new decimal_1.Dec("0"),
|
528
|
+
resStr: "0.000000000000000000",
|
529
|
+
},
|
530
|
+
{
|
531
|
+
input: 0.0000000000000000001,
|
532
|
+
res: new decimal_1.Dec("0"),
|
533
|
+
resStr: "0.000000000000000000",
|
534
|
+
},
|
535
|
+
];
|
536
|
+
for (const test of tests) {
|
537
|
+
const dec = new decimal_1.Dec(test.input);
|
538
|
+
expect(dec.equals(test.res)).toBe(true);
|
539
|
+
expect(dec.toString()).toBe(test.resStr);
|
540
|
+
}
|
541
|
+
});
|
542
|
+
it("Test Int/Uint from exponent number", () => {
|
543
|
+
const tests = [
|
544
|
+
{
|
545
|
+
num: 12345678901234567890123,
|
546
|
+
str: "1.2345678901234568e+22",
|
547
|
+
expect: new decimal_1.Dec("12345678901234568000000"),
|
548
|
+
},
|
549
|
+
{
|
550
|
+
num: -12345678901234567890123,
|
551
|
+
str: "-1.2345678901234568e+22",
|
552
|
+
expect: new decimal_1.Dec("-12345678901234568000000"),
|
553
|
+
},
|
554
|
+
{
|
555
|
+
num: 0.0000000000001,
|
556
|
+
str: "1e-13",
|
557
|
+
expect: new decimal_1.Dec("0.0000000000001"),
|
558
|
+
},
|
559
|
+
{
|
560
|
+
num: 0.000000000000123,
|
561
|
+
str: "1.23e-13",
|
562
|
+
expect: new decimal_1.Dec("0.000000000000123"),
|
563
|
+
},
|
564
|
+
{
|
565
|
+
num: 0.000000000000000001,
|
566
|
+
str: "1e-18",
|
567
|
+
expect: new decimal_1.Dec("0.000000000000000001"),
|
568
|
+
},
|
569
|
+
{
|
570
|
+
num: 0.0000000000000000001,
|
571
|
+
str: "1e-19",
|
572
|
+
expect: new decimal_1.Dec("0"),
|
573
|
+
},
|
574
|
+
{
|
575
|
+
num: 0.00000000000000000123,
|
576
|
+
str: "1.23e-18",
|
577
|
+
expect: new decimal_1.Dec("0.000000000000000001"),
|
578
|
+
},
|
579
|
+
{
|
580
|
+
num: 0.000000000000000000123,
|
581
|
+
str: "1.23e-19",
|
582
|
+
expect: new decimal_1.Dec("0"),
|
583
|
+
},
|
584
|
+
];
|
585
|
+
for (const test of tests) {
|
586
|
+
expect(test.num.toString()).toBe(test.str);
|
587
|
+
expect(new decimal_1.Dec(test.num).equals(test.expect)).toBe(true);
|
588
|
+
}
|
589
|
+
});
|
513
590
|
});
|
514
591
|
//# sourceMappingURL=decimal.spec.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"decimal.spec.js","sourceRoot":"","sources":["../src/decimal.spec.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"decimal.spec.js","sourceRoot":"","sources":["../src/decimal.spec.ts"],"names":[],"mappings":"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"}
|
package/build/etc.d.ts
ADDED
@@ -0,0 +1,4 @@
|
|
1
|
+
export declare function isValidIntegerString(str: string): boolean;
|
2
|
+
export declare function isValidDecimalString(str: string): boolean;
|
3
|
+
export declare function isExponentDecString(str: string): boolean;
|
4
|
+
export declare function exponentDecStringToDecString(str: string): string;
|
package/build/etc.js
ADDED
@@ -0,0 +1,63 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.exponentDecStringToDecString = exports.isExponentDecString = exports.isValidDecimalString = exports.isValidIntegerString = void 0;
|
4
|
+
const regexIntString = /^-?\d+$/;
|
5
|
+
const regexDecString = /^-?\d+.?\d*$/;
|
6
|
+
const regexExponentDecString = /^(-?)([\d.]+)e([-+])([\d]+)$/;
|
7
|
+
function isValidIntegerString(str) {
|
8
|
+
return regexIntString.test(str);
|
9
|
+
}
|
10
|
+
exports.isValidIntegerString = isValidIntegerString;
|
11
|
+
function isValidDecimalString(str) {
|
12
|
+
return regexDecString.test(str);
|
13
|
+
}
|
14
|
+
exports.isValidDecimalString = isValidDecimalString;
|
15
|
+
function isExponentDecString(str) {
|
16
|
+
return regexExponentDecString.test(str);
|
17
|
+
}
|
18
|
+
exports.isExponentDecString = isExponentDecString;
|
19
|
+
function makeZerosStr(len) {
|
20
|
+
let r = "";
|
21
|
+
for (let i = 0; i < len; i++) {
|
22
|
+
r += "0";
|
23
|
+
}
|
24
|
+
return r;
|
25
|
+
}
|
26
|
+
function removeHeadZeros(str) {
|
27
|
+
while (str.length > 0 && str[0] === "0") {
|
28
|
+
str = str.slice(1);
|
29
|
+
}
|
30
|
+
return str;
|
31
|
+
}
|
32
|
+
function exponentDecStringToDecString(str) {
|
33
|
+
const split = str.split(regexExponentDecString);
|
34
|
+
if (split.length !== 6) {
|
35
|
+
return str;
|
36
|
+
}
|
37
|
+
const isNeg = split[1] === "-";
|
38
|
+
let numStr = split[2];
|
39
|
+
const numStrFractionIndex = numStr.indexOf(".");
|
40
|
+
const exponentStr = split[4];
|
41
|
+
let exponent = parseInt(exponentStr) * (split[3] === "-" ? -1 : 1);
|
42
|
+
if (numStrFractionIndex >= 0) {
|
43
|
+
const fractionLen = numStr.length - numStrFractionIndex - 1;
|
44
|
+
exponent = exponent - fractionLen;
|
45
|
+
numStr = removeHeadZeros(numStr.replace(".", ""));
|
46
|
+
}
|
47
|
+
const prefix = isNeg ? "-" : "";
|
48
|
+
if (exponent < 0) {
|
49
|
+
if (numStr.length > -exponent) {
|
50
|
+
const fractionPosition = numStr.length + exponent;
|
51
|
+
return (prefix +
|
52
|
+
(numStr.slice(0, fractionPosition) +
|
53
|
+
"." +
|
54
|
+
numStr.slice(fractionPosition)));
|
55
|
+
}
|
56
|
+
return prefix + "0." + makeZerosStr(-(numStr.length + exponent)) + numStr;
|
57
|
+
}
|
58
|
+
else {
|
59
|
+
return prefix + numStr + makeZerosStr(exponent);
|
60
|
+
}
|
61
|
+
}
|
62
|
+
exports.exponentDecStringToDecString = exponentDecStringToDecString;
|
63
|
+
//# sourceMappingURL=etc.js.map
|
package/build/etc.js.map
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"etc.js","sourceRoot":"","sources":["../src/etc.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -0,0 +1,66 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
const etc_1 = require("./etc");
|
4
|
+
describe("Test etc utils", () => {
|
5
|
+
it("Test exponentDecStringToDecString", () => {
|
6
|
+
expect(etc_1.exponentDecStringToDecString("1e+0")).toBe("1");
|
7
|
+
expect(etc_1.exponentDecStringToDecString("1e+1")).toBe("10");
|
8
|
+
expect(etc_1.exponentDecStringToDecString("123e+1")).toBe("1230");
|
9
|
+
expect(etc_1.exponentDecStringToDecString("123e+2")).toBe("12300");
|
10
|
+
expect(etc_1.exponentDecStringToDecString("123e+3")).toBe("123000");
|
11
|
+
expect(etc_1.exponentDecStringToDecString("123e+4")).toBe("1230000");
|
12
|
+
expect(etc_1.exponentDecStringToDecString("-1e+0")).toBe("-1");
|
13
|
+
expect(etc_1.exponentDecStringToDecString("-1e+1")).toBe("-10");
|
14
|
+
expect(etc_1.exponentDecStringToDecString("-123e+1")).toBe("-1230");
|
15
|
+
expect(etc_1.exponentDecStringToDecString("-123e+2")).toBe("-12300");
|
16
|
+
expect(etc_1.exponentDecStringToDecString("-123e+3")).toBe("-123000");
|
17
|
+
expect(etc_1.exponentDecStringToDecString("-123e+4")).toBe("-1230000");
|
18
|
+
expect(etc_1.exponentDecStringToDecString("1.2e+0")).toBe("1.2");
|
19
|
+
expect(etc_1.exponentDecStringToDecString("1.2e+1")).toBe("12");
|
20
|
+
expect(etc_1.exponentDecStringToDecString("1.23e+1")).toBe("12.3");
|
21
|
+
expect(etc_1.exponentDecStringToDecString("1.23e+2")).toBe("123");
|
22
|
+
expect(etc_1.exponentDecStringToDecString("1.23e+3")).toBe("1230");
|
23
|
+
expect(etc_1.exponentDecStringToDecString("1.23e+4")).toBe("12300");
|
24
|
+
expect(etc_1.exponentDecStringToDecString("-1.2e+0")).toBe("-1.2");
|
25
|
+
expect(etc_1.exponentDecStringToDecString("-1.2e+1")).toBe("-12");
|
26
|
+
expect(etc_1.exponentDecStringToDecString("-1.23e+1")).toBe("-12.3");
|
27
|
+
expect(etc_1.exponentDecStringToDecString("-1.23e+2")).toBe("-123");
|
28
|
+
expect(etc_1.exponentDecStringToDecString("-1.23e+3")).toBe("-1230");
|
29
|
+
expect(etc_1.exponentDecStringToDecString("-1.23e+4")).toBe("-12300");
|
30
|
+
expect(etc_1.exponentDecStringToDecString("1e-0")).toBe("1");
|
31
|
+
expect(etc_1.exponentDecStringToDecString("1e-1")).toBe("0.1");
|
32
|
+
expect(etc_1.exponentDecStringToDecString("123e-1")).toBe("12.3");
|
33
|
+
expect(etc_1.exponentDecStringToDecString("123e-2")).toBe("1.23");
|
34
|
+
expect(etc_1.exponentDecStringToDecString("123e-3")).toBe("0.123");
|
35
|
+
expect(etc_1.exponentDecStringToDecString("123e-4")).toBe("0.0123");
|
36
|
+
expect(etc_1.exponentDecStringToDecString("-1e-0")).toBe("-1");
|
37
|
+
expect(etc_1.exponentDecStringToDecString("-1e-1")).toBe("-0.1");
|
38
|
+
expect(etc_1.exponentDecStringToDecString("-123e-1")).toBe("-12.3");
|
39
|
+
expect(etc_1.exponentDecStringToDecString("-123e-2")).toBe("-1.23");
|
40
|
+
expect(etc_1.exponentDecStringToDecString("-123e-3")).toBe("-0.123");
|
41
|
+
expect(etc_1.exponentDecStringToDecString("-123e-4")).toBe("-0.0123");
|
42
|
+
expect(etc_1.exponentDecStringToDecString("1.2e-0")).toBe("1.2");
|
43
|
+
expect(etc_1.exponentDecStringToDecString("1.2e-1")).toBe("0.12");
|
44
|
+
expect(etc_1.exponentDecStringToDecString("1.23e-1")).toBe("0.123");
|
45
|
+
expect(etc_1.exponentDecStringToDecString("1.23e-2")).toBe("0.0123");
|
46
|
+
expect(etc_1.exponentDecStringToDecString("1.23e-3")).toBe("0.00123");
|
47
|
+
expect(etc_1.exponentDecStringToDecString("1.23e-4")).toBe("0.000123");
|
48
|
+
expect(etc_1.exponentDecStringToDecString("-1.2e-0")).toBe("-1.2");
|
49
|
+
expect(etc_1.exponentDecStringToDecString("-1.2e-1")).toBe("-0.12");
|
50
|
+
expect(etc_1.exponentDecStringToDecString("-1.23e-1")).toBe("-0.123");
|
51
|
+
expect(etc_1.exponentDecStringToDecString("-1.23e-2")).toBe("-0.0123");
|
52
|
+
expect(etc_1.exponentDecStringToDecString("-1.23e-3")).toBe("-0.00123");
|
53
|
+
expect(etc_1.exponentDecStringToDecString("-1.23e-4")).toBe("-0.000123");
|
54
|
+
expect(etc_1.exponentDecStringToDecString("0.00123e+1")).toBe("0.0123");
|
55
|
+
expect(etc_1.exponentDecStringToDecString("0.00123e-1")).toBe("0.000123");
|
56
|
+
expect(etc_1.exponentDecStringToDecString("0.00123e+4")).toBe("12.3");
|
57
|
+
expect(etc_1.exponentDecStringToDecString("0.00123e-4")).toBe("0.000000123");
|
58
|
+
expect(etc_1.exponentDecStringToDecString("1234.567e+2")).toBe("123456.7");
|
59
|
+
expect(etc_1.exponentDecStringToDecString("1234.567e+3")).toBe("1234567");
|
60
|
+
expect(etc_1.exponentDecStringToDecString("1234.567e+4")).toBe("12345670");
|
61
|
+
expect(etc_1.exponentDecStringToDecString("1234.567e+10")).toBe("12345670000000");
|
62
|
+
expect(etc_1.exponentDecStringToDecString("-0.00123e+1")).toBe("-0.0123");
|
63
|
+
expect(etc_1.exponentDecStringToDecString("-0.00123e-1")).toBe("-0.000123");
|
64
|
+
});
|
65
|
+
});
|
66
|
+
//# sourceMappingURL=etc.spec.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"etc.spec.js","sourceRoot":"","sources":["../src/etc.spec.ts"],"names":[],"mappings":"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"}
|
package/build/int.d.ts
CHANGED
@@ -1,15 +1,12 @@
|
|
1
1
|
import bigInteger from "big-integer";
|
2
2
|
import { Dec } from "./decimal";
|
3
3
|
export declare class Int {
|
4
|
+
protected static maxInt: bigInteger.BigInteger;
|
4
5
|
protected int: bigInteger.BigInteger;
|
5
6
|
/**
|
6
7
|
* @param int - Parse a number | bigInteger | string into a bigInt.
|
7
|
-
* Remaing parameters only will be used when type of int is string.
|
8
|
-
* @param base - Default base is 10.
|
9
|
-
* @param alphabet - Default alphabet is "0123456789abcdefghijklmnopqrstuvwxyz".
|
10
|
-
* @param caseSensitive - Defaults to false.
|
11
8
|
*/
|
12
|
-
constructor(int: bigInteger.BigNumber
|
9
|
+
constructor(int: bigInteger.BigNumber);
|
13
10
|
protected checkBitLen(): void;
|
14
11
|
toString(): string;
|
15
12
|
isNegative(): boolean;
|
@@ -36,12 +33,8 @@ export declare class Uint {
|
|
36
33
|
protected uint: bigInteger.BigInteger;
|
37
34
|
/**
|
38
35
|
* @param uint - Parse a number | bigInteger | string into a bigUint.
|
39
|
-
* Remaing parameters only will be used when type of int is string.
|
40
|
-
* @param base - Default base is 10.
|
41
|
-
* @param alphabet - Default alphabet is "0123456789abcdefghijklmnopqrstuvwxyz".
|
42
|
-
* @param caseSensitive - Defaults to false.
|
43
36
|
*/
|
44
|
-
constructor(uint: bigInteger.BigNumber
|
37
|
+
constructor(uint: bigInteger.BigNumber);
|
45
38
|
protected checkBitLen(): void;
|
46
39
|
toString(): string;
|
47
40
|
isZero(): boolean;
|
package/build/int.js
CHANGED
@@ -6,22 +6,24 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.Uint = exports.Int = void 0;
|
7
7
|
const big_integer_1 = __importDefault(require("big-integer"));
|
8
8
|
const decimal_1 = require("./decimal");
|
9
|
+
const etc_1 = require("./etc");
|
9
10
|
class Int {
|
10
11
|
/**
|
11
12
|
* @param int - Parse a number | bigInteger | string into a bigInt.
|
12
|
-
* Remaing parameters only will be used when type of int is string.
|
13
|
-
* @param base - Default base is 10.
|
14
|
-
* @param alphabet - Default alphabet is "0123456789abcdefghijklmnopqrstuvwxyz".
|
15
|
-
* @param caseSensitive - Defaults to false.
|
16
13
|
*/
|
17
|
-
constructor(int
|
14
|
+
constructor(int) {
|
15
|
+
if (typeof int === "number") {
|
16
|
+
int = int.toString();
|
17
|
+
}
|
18
18
|
if (typeof int === "string") {
|
19
|
-
if (
|
20
|
-
|
19
|
+
if (!etc_1.isValidIntegerString(int)) {
|
20
|
+
if (etc_1.isExponentDecString(int)) {
|
21
|
+
int = etc_1.exponentDecStringToDecString(int);
|
22
|
+
}
|
23
|
+
else {
|
24
|
+
throw new Error(`invalid integer: ${int}`);
|
25
|
+
}
|
21
26
|
}
|
22
|
-
this.int = big_integer_1.default(int, base, alphabet, caseSensitive);
|
23
|
-
}
|
24
|
-
else if (typeof int === "number") {
|
25
27
|
this.int = big_integer_1.default(int);
|
26
28
|
}
|
27
29
|
else if (typeof int === "bigint") {
|
@@ -33,7 +35,7 @@ class Int {
|
|
33
35
|
this.checkBitLen();
|
34
36
|
}
|
35
37
|
checkBitLen() {
|
36
|
-
if (this.int.abs().
|
38
|
+
if (this.int.abs().gt(Int.maxInt)) {
|
37
39
|
throw new Error(`Integer out of range ${this.int.toString()}`);
|
38
40
|
}
|
39
41
|
}
|
@@ -99,22 +101,25 @@ class Int {
|
|
99
101
|
}
|
100
102
|
}
|
101
103
|
exports.Int = Int;
|
104
|
+
// (2 ** 256) - 1
|
105
|
+
Int.maxInt = big_integer_1.default("115792089237316195423570985008687907853269984665640564039457584007913129639935");
|
102
106
|
class Uint {
|
103
107
|
/**
|
104
108
|
* @param uint - Parse a number | bigInteger | string into a bigUint.
|
105
|
-
* Remaing parameters only will be used when type of int is string.
|
106
|
-
* @param base - Default base is 10.
|
107
|
-
* @param alphabet - Default alphabet is "0123456789abcdefghijklmnopqrstuvwxyz".
|
108
|
-
* @param caseSensitive - Defaults to false.
|
109
109
|
*/
|
110
|
-
constructor(uint
|
110
|
+
constructor(uint) {
|
111
|
+
if (typeof uint === "number") {
|
112
|
+
uint = uint.toString();
|
113
|
+
}
|
111
114
|
if (typeof uint === "string") {
|
112
|
-
if (
|
113
|
-
|
115
|
+
if (!etc_1.isValidIntegerString(uint)) {
|
116
|
+
if (etc_1.isExponentDecString(uint)) {
|
117
|
+
uint = etc_1.exponentDecStringToDecString(uint);
|
118
|
+
}
|
119
|
+
else {
|
120
|
+
throw new Error(`invalid integer: ${uint}`);
|
121
|
+
}
|
114
122
|
}
|
115
|
-
this.uint = big_integer_1.default(uint, base, alphabet, caseSensitive);
|
116
|
-
}
|
117
|
-
else if (typeof uint === "number") {
|
118
123
|
this.uint = big_integer_1.default(uint);
|
119
124
|
}
|
120
125
|
else if (typeof uint === "bigint") {
|
package/build/int.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"int.js","sourceRoot":"","sources":["../src/int.ts"],"names":[],"mappings":";;;;;;AAAA,8DAAqC;AACrC,uCAAgC;
|
1
|
+
{"version":3,"file":"int.js","sourceRoot":"","sources":["../src/int.ts"],"names":[],"mappings":"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"}
|
package/build/int.spec.js
CHANGED
@@ -129,5 +129,33 @@ describe("Test Int/Uint", () => {
|
|
129
129
|
expect(uint1.equals(uint2)).toBe(false);
|
130
130
|
expect(uint1.equals(uint1)).toBe(true);
|
131
131
|
});
|
132
|
+
it("Test Int/Uint from exponent number", () => {
|
133
|
+
const tests = [
|
134
|
+
{
|
135
|
+
num: 12345678901234567890123,
|
136
|
+
str: "1.2345678901234568e+22",
|
137
|
+
expect: new int_1.Int("12345678901234568000000"),
|
138
|
+
},
|
139
|
+
{
|
140
|
+
num: -12345678901234567890123,
|
141
|
+
str: "-1.2345678901234568e+22",
|
142
|
+
expect: new int_1.Int("-12345678901234568000000"),
|
143
|
+
},
|
144
|
+
{
|
145
|
+
num: 12345678901234567890123,
|
146
|
+
str: "1.2345678901234568e+22",
|
147
|
+
expect: new int_1.Uint("12345678901234568000000"),
|
148
|
+
},
|
149
|
+
];
|
150
|
+
for (const test of tests) {
|
151
|
+
expect(test.num.toString()).toBe(test.str);
|
152
|
+
if (test.expect instanceof int_1.Int) {
|
153
|
+
expect(new int_1.Int(test.num).equals(test.expect)).toBe(true);
|
154
|
+
}
|
155
|
+
else {
|
156
|
+
expect(new int_1.Uint(test.num).equals(test.expect)).toBe(true);
|
157
|
+
}
|
158
|
+
}
|
159
|
+
});
|
132
160
|
});
|
133
161
|
//# sourceMappingURL=int.spec.js.map
|
package/build/int.spec.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"int.spec.js","sourceRoot":"","sources":["../src/int.spec.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"int.spec.js","sourceRoot":"","sources":["../src/int.spec.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@keplr-wallet/unit",
|
3
|
-
"version": "0.9.11-rc.
|
3
|
+
"version": "0.9.11-rc.2",
|
4
4
|
"main": "build/index.js",
|
5
5
|
"author": "chainapsis",
|
6
6
|
"license": "Apache-2.0",
|
@@ -21,5 +21,5 @@
|
|
21
21
|
"big-integer": "^1.6.48",
|
22
22
|
"utility-types": "^3.10.0"
|
23
23
|
},
|
24
|
-
"gitHead": "
|
24
|
+
"gitHead": "29bce88e7ac753a7ab548261f4ed53ac99da143d"
|
25
25
|
}
|
package/src/decimal.spec.ts
CHANGED
@@ -45,7 +45,7 @@ describe("Test decimals", () => {
|
|
45
45
|
}).toThrow();
|
46
46
|
expect(() => {
|
47
47
|
new Dec("0.489234893284938249348923849283408");
|
48
|
-
}).toThrow();
|
48
|
+
}).not.toThrow();
|
49
49
|
expect(() => {
|
50
50
|
new Dec("foobar");
|
51
51
|
}).toThrow();
|
@@ -595,4 +595,95 @@ describe("Test decimals", () => {
|
|
595
595
|
expect(res).toBe(test.exp);
|
596
596
|
}
|
597
597
|
});
|
598
|
+
|
599
|
+
it("Test case that input decimals exceeds 18", () => {
|
600
|
+
const tests: {
|
601
|
+
input: number | string;
|
602
|
+
res: Dec;
|
603
|
+
resStr: string;
|
604
|
+
}[] = [
|
605
|
+
{
|
606
|
+
input: "0.489234893284938249348923849283408",
|
607
|
+
res: new Dec("0.489234893284938249"),
|
608
|
+
resStr: "0.489234893284938249",
|
609
|
+
},
|
610
|
+
{
|
611
|
+
input: 0.0000010000000249348,
|
612
|
+
res: new Dec("0.000001000000024934"),
|
613
|
+
resStr: "0.000001000000024934",
|
614
|
+
},
|
615
|
+
{
|
616
|
+
input: "0.0000000000000000001",
|
617
|
+
res: new Dec("0"),
|
618
|
+
resStr: "0.000000000000000000",
|
619
|
+
},
|
620
|
+
{
|
621
|
+
input: 0.0000000000000000001,
|
622
|
+
res: new Dec("0"),
|
623
|
+
resStr: "0.000000000000000000",
|
624
|
+
},
|
625
|
+
];
|
626
|
+
|
627
|
+
for (const test of tests) {
|
628
|
+
const dec = new Dec(test.input);
|
629
|
+
|
630
|
+
expect(dec.equals(test.res)).toBe(true);
|
631
|
+
expect(dec.toString()).toBe(test.resStr);
|
632
|
+
}
|
633
|
+
});
|
634
|
+
|
635
|
+
it("Test Int/Uint from exponent number", () => {
|
636
|
+
const tests: {
|
637
|
+
num: number;
|
638
|
+
str: string;
|
639
|
+
expect: Dec;
|
640
|
+
}[] = [
|
641
|
+
{
|
642
|
+
num: 12345678901234567890123,
|
643
|
+
str: "1.2345678901234568e+22",
|
644
|
+
expect: new Dec("12345678901234568000000"),
|
645
|
+
},
|
646
|
+
{
|
647
|
+
num: -12345678901234567890123,
|
648
|
+
str: "-1.2345678901234568e+22",
|
649
|
+
expect: new Dec("-12345678901234568000000"),
|
650
|
+
},
|
651
|
+
{
|
652
|
+
num: 0.0000000000001,
|
653
|
+
str: "1e-13",
|
654
|
+
expect: new Dec("0.0000000000001"),
|
655
|
+
},
|
656
|
+
{
|
657
|
+
num: 0.000000000000123,
|
658
|
+
str: "1.23e-13",
|
659
|
+
expect: new Dec("0.000000000000123"),
|
660
|
+
},
|
661
|
+
{
|
662
|
+
num: 0.000000000000000001,
|
663
|
+
str: "1e-18",
|
664
|
+
expect: new Dec("0.000000000000000001"),
|
665
|
+
},
|
666
|
+
{
|
667
|
+
num: 0.0000000000000000001,
|
668
|
+
str: "1e-19",
|
669
|
+
expect: new Dec("0"),
|
670
|
+
},
|
671
|
+
{
|
672
|
+
num: 0.00000000000000000123,
|
673
|
+
str: "1.23e-18",
|
674
|
+
expect: new Dec("0.000000000000000001"),
|
675
|
+
},
|
676
|
+
{
|
677
|
+
num: 0.000000000000000000123,
|
678
|
+
str: "1.23e-19",
|
679
|
+
expect: new Dec("0"),
|
680
|
+
},
|
681
|
+
];
|
682
|
+
|
683
|
+
for (const test of tests) {
|
684
|
+
expect(test.num.toString()).toBe(test.str);
|
685
|
+
|
686
|
+
expect(new Dec(test.num).equals(test.expect)).toBe(true);
|
687
|
+
}
|
688
|
+
});
|
598
689
|
});
|
package/src/decimal.ts
CHANGED
@@ -1,13 +1,23 @@
|
|
1
1
|
import bigInteger from "big-integer";
|
2
2
|
import { Int } from "./int";
|
3
3
|
import { CoinUtils } from "./coin-utils";
|
4
|
+
import {
|
5
|
+
exponentDecStringToDecString,
|
6
|
+
isExponentDecString,
|
7
|
+
isValidDecimalString,
|
8
|
+
} from "./etc";
|
4
9
|
|
5
10
|
export class Dec {
|
6
11
|
public static readonly precision = 18;
|
7
|
-
//
|
12
|
+
// Bytes required to represent the above precision is 18.
|
8
13
|
// Ceiling[Log2[999 999 999 999 999 999]]
|
9
14
|
protected static readonly decimalPrecisionBits = 60;
|
10
|
-
|
15
|
+
// Max bit length for `Dec` is 256 + 60(decimalPrecisionBits)
|
16
|
+
// The int in the `Dec` is handled as integer assuming that it has 18 precision.
|
17
|
+
// (2 ** (256 + 60) - 1)
|
18
|
+
protected static readonly maxDec = bigInteger(
|
19
|
+
"133499189745056880149688856635597007162669032647290798121690100488888732861290034376435130433535"
|
20
|
+
);
|
11
21
|
|
12
22
|
protected static readonly precisionMultipliers: {
|
13
23
|
[key: string]: bigInteger.BigInteger | undefined;
|
@@ -32,6 +42,32 @@ export class Dec {
|
|
32
42
|
return multiplier;
|
33
43
|
}
|
34
44
|
|
45
|
+
protected static reduceDecimalsFromString(
|
46
|
+
str: string
|
47
|
+
): { res: string; isDownToZero: boolean } {
|
48
|
+
const decimalPointIndex = str.indexOf(".");
|
49
|
+
if (decimalPointIndex < 0) {
|
50
|
+
return {
|
51
|
+
res: str,
|
52
|
+
isDownToZero: false,
|
53
|
+
};
|
54
|
+
}
|
55
|
+
|
56
|
+
const exceededDecimals = str.length - 1 - decimalPointIndex - Dec.precision;
|
57
|
+
if (exceededDecimals <= 0) {
|
58
|
+
return {
|
59
|
+
res: str,
|
60
|
+
isDownToZero: false,
|
61
|
+
};
|
62
|
+
}
|
63
|
+
|
64
|
+
const res = str.slice(0, str.length - exceededDecimals);
|
65
|
+
return {
|
66
|
+
res,
|
67
|
+
isDownToZero: /^[0.]*$/.test(res),
|
68
|
+
};
|
69
|
+
}
|
70
|
+
|
35
71
|
protected int: bigInteger.BigInteger;
|
36
72
|
|
37
73
|
/**
|
@@ -49,9 +85,22 @@ export class Dec {
|
|
49
85
|
if (int.length === 0) {
|
50
86
|
throw new Error("empty string");
|
51
87
|
}
|
52
|
-
if (
|
53
|
-
|
88
|
+
if (!isValidDecimalString(int)) {
|
89
|
+
if (isExponentDecString(int)) {
|
90
|
+
int = exponentDecStringToDecString(int);
|
91
|
+
} else {
|
92
|
+
throw new Error(`invalid decimal: ${int}`);
|
93
|
+
}
|
94
|
+
}
|
95
|
+
// Even if an input with more than 18 decimals, it does not throw an error and ignores the rest.
|
96
|
+
const reduced = Dec.reduceDecimalsFromString(int);
|
97
|
+
if (reduced.isDownToZero) {
|
98
|
+
// However, as a result, if the input becomes 0, a problem may occur in mul or quo. In this case, print a warning.
|
99
|
+
console.log(
|
100
|
+
`WARNING: Got ${int}. Dec can only handle up to 18 decimals. However, since the decimal point of the input exceeds 18 digits, the remainder is discarded. As a result, input becomes 0.`
|
101
|
+
);
|
54
102
|
}
|
103
|
+
int = reduced.res;
|
55
104
|
if (int.indexOf(".") >= 0) {
|
56
105
|
prec = int.length - int.indexOf(".") - 1;
|
57
106
|
int = int.replace(".", "");
|
@@ -71,7 +120,7 @@ export class Dec {
|
|
71
120
|
}
|
72
121
|
|
73
122
|
protected checkBitLen(): void {
|
74
|
-
if (this.int.abs().
|
123
|
+
if (this.int.abs().gt(Dec.maxDec)) {
|
75
124
|
throw new Error(`Integer out of range ${this.int.toString()}`);
|
76
125
|
}
|
77
126
|
}
|
package/src/etc.spec.ts
ADDED
@@ -0,0 +1,73 @@
|
|
1
|
+
import { exponentDecStringToDecString } from "./etc";
|
2
|
+
|
3
|
+
describe("Test etc utils", () => {
|
4
|
+
it("Test exponentDecStringToDecString", () => {
|
5
|
+
expect(exponentDecStringToDecString("1e+0")).toBe("1");
|
6
|
+
expect(exponentDecStringToDecString("1e+1")).toBe("10");
|
7
|
+
expect(exponentDecStringToDecString("123e+1")).toBe("1230");
|
8
|
+
expect(exponentDecStringToDecString("123e+2")).toBe("12300");
|
9
|
+
expect(exponentDecStringToDecString("123e+3")).toBe("123000");
|
10
|
+
expect(exponentDecStringToDecString("123e+4")).toBe("1230000");
|
11
|
+
|
12
|
+
expect(exponentDecStringToDecString("-1e+0")).toBe("-1");
|
13
|
+
expect(exponentDecStringToDecString("-1e+1")).toBe("-10");
|
14
|
+
expect(exponentDecStringToDecString("-123e+1")).toBe("-1230");
|
15
|
+
expect(exponentDecStringToDecString("-123e+2")).toBe("-12300");
|
16
|
+
expect(exponentDecStringToDecString("-123e+3")).toBe("-123000");
|
17
|
+
expect(exponentDecStringToDecString("-123e+4")).toBe("-1230000");
|
18
|
+
|
19
|
+
expect(exponentDecStringToDecString("1.2e+0")).toBe("1.2");
|
20
|
+
expect(exponentDecStringToDecString("1.2e+1")).toBe("12");
|
21
|
+
expect(exponentDecStringToDecString("1.23e+1")).toBe("12.3");
|
22
|
+
expect(exponentDecStringToDecString("1.23e+2")).toBe("123");
|
23
|
+
expect(exponentDecStringToDecString("1.23e+3")).toBe("1230");
|
24
|
+
expect(exponentDecStringToDecString("1.23e+4")).toBe("12300");
|
25
|
+
|
26
|
+
expect(exponentDecStringToDecString("-1.2e+0")).toBe("-1.2");
|
27
|
+
expect(exponentDecStringToDecString("-1.2e+1")).toBe("-12");
|
28
|
+
expect(exponentDecStringToDecString("-1.23e+1")).toBe("-12.3");
|
29
|
+
expect(exponentDecStringToDecString("-1.23e+2")).toBe("-123");
|
30
|
+
expect(exponentDecStringToDecString("-1.23e+3")).toBe("-1230");
|
31
|
+
expect(exponentDecStringToDecString("-1.23e+4")).toBe("-12300");
|
32
|
+
|
33
|
+
expect(exponentDecStringToDecString("1e-0")).toBe("1");
|
34
|
+
expect(exponentDecStringToDecString("1e-1")).toBe("0.1");
|
35
|
+
expect(exponentDecStringToDecString("123e-1")).toBe("12.3");
|
36
|
+
expect(exponentDecStringToDecString("123e-2")).toBe("1.23");
|
37
|
+
expect(exponentDecStringToDecString("123e-3")).toBe("0.123");
|
38
|
+
expect(exponentDecStringToDecString("123e-4")).toBe("0.0123");
|
39
|
+
|
40
|
+
expect(exponentDecStringToDecString("-1e-0")).toBe("-1");
|
41
|
+
expect(exponentDecStringToDecString("-1e-1")).toBe("-0.1");
|
42
|
+
expect(exponentDecStringToDecString("-123e-1")).toBe("-12.3");
|
43
|
+
expect(exponentDecStringToDecString("-123e-2")).toBe("-1.23");
|
44
|
+
expect(exponentDecStringToDecString("-123e-3")).toBe("-0.123");
|
45
|
+
expect(exponentDecStringToDecString("-123e-4")).toBe("-0.0123");
|
46
|
+
|
47
|
+
expect(exponentDecStringToDecString("1.2e-0")).toBe("1.2");
|
48
|
+
expect(exponentDecStringToDecString("1.2e-1")).toBe("0.12");
|
49
|
+
expect(exponentDecStringToDecString("1.23e-1")).toBe("0.123");
|
50
|
+
expect(exponentDecStringToDecString("1.23e-2")).toBe("0.0123");
|
51
|
+
expect(exponentDecStringToDecString("1.23e-3")).toBe("0.00123");
|
52
|
+
expect(exponentDecStringToDecString("1.23e-4")).toBe("0.000123");
|
53
|
+
|
54
|
+
expect(exponentDecStringToDecString("-1.2e-0")).toBe("-1.2");
|
55
|
+
expect(exponentDecStringToDecString("-1.2e-1")).toBe("-0.12");
|
56
|
+
expect(exponentDecStringToDecString("-1.23e-1")).toBe("-0.123");
|
57
|
+
expect(exponentDecStringToDecString("-1.23e-2")).toBe("-0.0123");
|
58
|
+
expect(exponentDecStringToDecString("-1.23e-3")).toBe("-0.00123");
|
59
|
+
expect(exponentDecStringToDecString("-1.23e-4")).toBe("-0.000123");
|
60
|
+
|
61
|
+
expect(exponentDecStringToDecString("0.00123e+1")).toBe("0.0123");
|
62
|
+
expect(exponentDecStringToDecString("0.00123e-1")).toBe("0.000123");
|
63
|
+
expect(exponentDecStringToDecString("0.00123e+4")).toBe("12.3");
|
64
|
+
expect(exponentDecStringToDecString("0.00123e-4")).toBe("0.000000123");
|
65
|
+
expect(exponentDecStringToDecString("1234.567e+2")).toBe("123456.7");
|
66
|
+
expect(exponentDecStringToDecString("1234.567e+3")).toBe("1234567");
|
67
|
+
expect(exponentDecStringToDecString("1234.567e+4")).toBe("12345670");
|
68
|
+
expect(exponentDecStringToDecString("1234.567e+10")).toBe("12345670000000");
|
69
|
+
|
70
|
+
expect(exponentDecStringToDecString("-0.00123e+1")).toBe("-0.0123");
|
71
|
+
expect(exponentDecStringToDecString("-0.00123e-1")).toBe("-0.000123");
|
72
|
+
});
|
73
|
+
});
|
package/src/etc.ts
ADDED
@@ -0,0 +1,70 @@
|
|
1
|
+
const regexIntString = /^-?\d+$/;
|
2
|
+
const regexDecString = /^-?\d+.?\d*$/;
|
3
|
+
const regexExponentDecString = /^(-?)([\d.]+)e([-+])([\d]+)$/;
|
4
|
+
|
5
|
+
export function isValidIntegerString(str: string): boolean {
|
6
|
+
return regexIntString.test(str);
|
7
|
+
}
|
8
|
+
|
9
|
+
export function isValidDecimalString(str: string): boolean {
|
10
|
+
return regexDecString.test(str);
|
11
|
+
}
|
12
|
+
|
13
|
+
export function isExponentDecString(str: string): boolean {
|
14
|
+
return regexExponentDecString.test(str);
|
15
|
+
}
|
16
|
+
|
17
|
+
function makeZerosStr(len: number): string {
|
18
|
+
let r = "";
|
19
|
+
for (let i = 0; i < len; i++) {
|
20
|
+
r += "0";
|
21
|
+
}
|
22
|
+
return r;
|
23
|
+
}
|
24
|
+
|
25
|
+
function removeHeadZeros(str: string): string {
|
26
|
+
while (str.length > 0 && str[0] === "0") {
|
27
|
+
str = str.slice(1);
|
28
|
+
}
|
29
|
+
return str;
|
30
|
+
}
|
31
|
+
|
32
|
+
export function exponentDecStringToDecString(str: string): string {
|
33
|
+
const split = str.split(regexExponentDecString);
|
34
|
+
if (split.length !== 6) {
|
35
|
+
return str;
|
36
|
+
}
|
37
|
+
|
38
|
+
const isNeg = split[1] === "-";
|
39
|
+
let numStr = split[2];
|
40
|
+
const numStrFractionIndex = numStr.indexOf(".");
|
41
|
+
|
42
|
+
const exponentStr = split[4];
|
43
|
+
let exponent = parseInt(exponentStr) * (split[3] === "-" ? -1 : 1);
|
44
|
+
|
45
|
+
if (numStrFractionIndex >= 0) {
|
46
|
+
const fractionLen = numStr.length - numStrFractionIndex - 1;
|
47
|
+
exponent = exponent - fractionLen;
|
48
|
+
|
49
|
+
numStr = removeHeadZeros(numStr.replace(".", ""));
|
50
|
+
}
|
51
|
+
|
52
|
+
const prefix = isNeg ? "-" : "";
|
53
|
+
|
54
|
+
if (exponent < 0) {
|
55
|
+
if (numStr.length > -exponent) {
|
56
|
+
const fractionPosition = numStr.length + exponent;
|
57
|
+
|
58
|
+
return (
|
59
|
+
prefix +
|
60
|
+
(numStr.slice(0, fractionPosition) +
|
61
|
+
"." +
|
62
|
+
numStr.slice(fractionPosition))
|
63
|
+
);
|
64
|
+
}
|
65
|
+
|
66
|
+
return prefix + "0." + makeZerosStr(-(numStr.length + exponent)) + numStr;
|
67
|
+
} else {
|
68
|
+
return prefix + numStr + makeZerosStr(exponent);
|
69
|
+
}
|
70
|
+
}
|
package/src/int.spec.ts
CHANGED
@@ -175,4 +175,38 @@ describe("Test Int/Uint", () => {
|
|
175
175
|
expect(uint1.equals(uint2)).toBe(false);
|
176
176
|
expect(uint1.equals(uint1)).toBe(true);
|
177
177
|
});
|
178
|
+
|
179
|
+
it("Test Int/Uint from exponent number", () => {
|
180
|
+
const tests: {
|
181
|
+
num: number;
|
182
|
+
str: string;
|
183
|
+
expect: Int | Uint;
|
184
|
+
}[] = [
|
185
|
+
{
|
186
|
+
num: 12345678901234567890123,
|
187
|
+
str: "1.2345678901234568e+22",
|
188
|
+
expect: new Int("12345678901234568000000"),
|
189
|
+
},
|
190
|
+
{
|
191
|
+
num: -12345678901234567890123,
|
192
|
+
str: "-1.2345678901234568e+22",
|
193
|
+
expect: new Int("-12345678901234568000000"),
|
194
|
+
},
|
195
|
+
{
|
196
|
+
num: 12345678901234567890123,
|
197
|
+
str: "1.2345678901234568e+22",
|
198
|
+
expect: new Uint("12345678901234568000000"),
|
199
|
+
},
|
200
|
+
];
|
201
|
+
|
202
|
+
for (const test of tests) {
|
203
|
+
expect(test.num.toString()).toBe(test.str);
|
204
|
+
|
205
|
+
if (test.expect instanceof Int) {
|
206
|
+
expect(new Int(test.num).equals(test.expect)).toBe(true);
|
207
|
+
} else {
|
208
|
+
expect(new Uint(test.num).equals(test.expect)).toBe(true);
|
209
|
+
}
|
210
|
+
}
|
211
|
+
});
|
178
212
|
});
|
package/src/int.ts
CHANGED
@@ -1,29 +1,36 @@
|
|
1
1
|
import bigInteger from "big-integer";
|
2
2
|
import { Dec } from "./decimal";
|
3
|
+
import {
|
4
|
+
exponentDecStringToDecString,
|
5
|
+
isExponentDecString,
|
6
|
+
isValidIntegerString,
|
7
|
+
} from "./etc";
|
3
8
|
|
4
9
|
export class Int {
|
10
|
+
// (2 ** 256) - 1
|
11
|
+
protected static maxInt = bigInteger(
|
12
|
+
"115792089237316195423570985008687907853269984665640564039457584007913129639935"
|
13
|
+
);
|
14
|
+
|
5
15
|
protected int: bigInteger.BigInteger;
|
6
16
|
|
7
17
|
/**
|
8
18
|
* @param int - Parse a number | bigInteger | string into a bigInt.
|
9
|
-
* Remaing parameters only will be used when type of int is string.
|
10
|
-
* @param base - Default base is 10.
|
11
|
-
* @param alphabet - Default alphabet is "0123456789abcdefghijklmnopqrstuvwxyz".
|
12
|
-
* @param caseSensitive - Defaults to false.
|
13
19
|
*/
|
14
|
-
constructor(
|
15
|
-
int
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
) {
|
20
|
+
constructor(int: bigInteger.BigNumber) {
|
21
|
+
if (typeof int === "number") {
|
22
|
+
int = int.toString();
|
23
|
+
}
|
24
|
+
|
20
25
|
if (typeof int === "string") {
|
21
|
-
if (int
|
22
|
-
|
26
|
+
if (!isValidIntegerString(int)) {
|
27
|
+
if (isExponentDecString(int)) {
|
28
|
+
int = exponentDecStringToDecString(int);
|
29
|
+
} else {
|
30
|
+
throw new Error(`invalid integer: ${int}`);
|
31
|
+
}
|
23
32
|
}
|
24
33
|
|
25
|
-
this.int = bigInteger(int, base, alphabet, caseSensitive);
|
26
|
-
} else if (typeof int === "number") {
|
27
34
|
this.int = bigInteger(int);
|
28
35
|
} else if (typeof int === "bigint") {
|
29
36
|
this.int = bigInteger(int);
|
@@ -35,7 +42,7 @@ export class Int {
|
|
35
42
|
}
|
36
43
|
|
37
44
|
protected checkBitLen(): void {
|
38
|
-
if (this.int.abs().
|
45
|
+
if (this.int.abs().gt(Int.maxInt)) {
|
39
46
|
throw new Error(`Integer out of range ${this.int.toString()}`);
|
40
47
|
}
|
41
48
|
}
|
@@ -126,24 +133,21 @@ export class Uint {
|
|
126
133
|
|
127
134
|
/**
|
128
135
|
* @param uint - Parse a number | bigInteger | string into a bigUint.
|
129
|
-
* Remaing parameters only will be used when type of int is string.
|
130
|
-
* @param base - Default base is 10.
|
131
|
-
* @param alphabet - Default alphabet is "0123456789abcdefghijklmnopqrstuvwxyz".
|
132
|
-
* @param caseSensitive - Defaults to false.
|
133
136
|
*/
|
134
|
-
constructor(
|
135
|
-
uint
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
) {
|
137
|
+
constructor(uint: bigInteger.BigNumber) {
|
138
|
+
if (typeof uint === "number") {
|
139
|
+
uint = uint.toString();
|
140
|
+
}
|
141
|
+
|
140
142
|
if (typeof uint === "string") {
|
141
|
-
if (uint
|
142
|
-
|
143
|
+
if (!isValidIntegerString(uint)) {
|
144
|
+
if (isExponentDecString(uint)) {
|
145
|
+
uint = exponentDecStringToDecString(uint);
|
146
|
+
} else {
|
147
|
+
throw new Error(`invalid integer: ${uint}`);
|
148
|
+
}
|
143
149
|
}
|
144
150
|
|
145
|
-
this.uint = bigInteger(uint, base, alphabet, caseSensitive);
|
146
|
-
} else if (typeof uint === "number") {
|
147
151
|
this.uint = bigInteger(uint);
|
148
152
|
} else if (typeof uint === "bigint") {
|
149
153
|
this.uint = bigInteger(uint);
|