// Fold BigInt x Int32 comparison with constants.
let bigInts = [
// Definitely heap digits.
-(2 n ** 1000 n),
// Definitely not heap digits.
-1 n,
0 n,
1 n,
// Definitely heap digits.
2 n ** 1000 n,
];
let int32s = [
-0 x8000_0000,
-1 ,
0 ,
1 ,
0 x7fff_ffff,
];
function test() {
for (var i = 0 ; i < 100 ; ++i) {
let lhs = LHS;
let rhs = RHS;
assertEq(lhs === rhs, false );
assertEq(rhs === lhs, false );
assertEq(lhs !== rhs, true );
assertEq(rhs !== lhs, true );
assertEq(lhs == rhs, EQUALS);
assertEq(rhs == lhs, EQUALS);
assertEq(lhs != rhs, !EQUALS);
assertEq(rhs != lhs, !EQUALS);
assertEq(lhs < rhs, LESS_THAN);
assertEq(rhs < lhs, !LESS_THAN && !EQUALS);
assertEq(lhs <= rhs, LESS_THAN || EQUALS);
assertEq(rhs <= lhs, !LESS_THAN || EQUALS);
assertEq(lhs > rhs, !LESS_THAN && !EQUALS);
assertEq(rhs > lhs, LESS_THAN);
assertEq(lhs >= rhs, !LESS_THAN || EQUALS);
assertEq(rhs >= lhs, LESS_THAN || EQUALS);
}
}
for (let lhs of bigInts) {
for (let rhs of int32s) {
// Ensure Int32-typed.
rhs |= 0 ;
let equals = lhs == rhs;
let lessThan = lhs < rhs;
let fn = Function (
`return ${test}`
.replaceAll("LHS" , `${lhs}n`)
.replaceAll("RHS" , `${rhs}`)
.replaceAll("EQUALS" , `${equals}`)
.replaceAll("LESS_THAN" , `${lessThan}`)
)();
fn();
}
}
Messung V0.5 in Prozent C=96 H=85 G=90
¤ Dauer der Verarbeitung: 0.13 Sekunden
(vorverarbeitet am 2026-06-10)
¤
*© Formatika GbR, Deutschland