Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | 1x 14887x 14887x 14887x 14887x 14887x 14877x 14887x 14887x 14887x 14887x 14887x 14887x 8x 14887x 14887x 1x 19887x | import BigNumber from 'bignumber.js';
export class BigIntMath {
static max(...values: bigint[]): bigint {
Iif (values.length === 0) {
return null;
}
Iif (values.length === 1) {
return values[0];
}
let max = values[0];
for (let i = 1; i < values.length; i++) {
if (values[i] > max) {
max = values[i];
}
}
return max;
}
static min(...values: bigint[]): bigint {
Iif (values.length === 0) {
return null;
}
Iif (values.length === 1) {
return values[0];
}
let min = values[0];
for (let i = 1; i < values.length; i++) {
if (values[i] < min) {
min = values[i];
}
}
return min;
}
static sign(value: bigint): bigint {
if (value > BigInt(0)) {
return BigInt(1);
}
if (value < BigInt(0)) {
return BigInt(-1);
}
return BigInt(0);
}
static abs(value: bigint): bigint {
if (this.sign(value) === BigInt(-1)) {
return -value;
}
return value;
}
static clamp(min: bigint, val: bigint, max: bigint): bigint {
return this.max(min, this.min(val, max));
}
}
export function toBigInt(num: BigNumber): bigint {
return BigInt(num.integerValue().toString());
}
|