// Values around INT32_MAX. "0x7ffffffd", "0x7ffffffe", "0x7fffffff",
];
// Test string-int32 input without an explicit radix. function testRadixAbsent() { for (let i = 0; i < 200; ++i) {
let x = stringInt32Values[i % stringInt32Values.length];
assertEq(+x, x|0, "x is an int32 value");
let r = Number.parseInt(x);
assertEq(r, +x);
}
} for (let i = 0; i < 2; ++i) testRadixAbsent();
// Test string-int32 hex input without an explicit radix. function testRadixAbsentHex() { for (let i = 0; i < 200; ++i) {
let x = stringInt32HexValues[i % stringInt32HexValues.length];
// String to number conversion doesn't support negative hex-strings, so we // have to chop off the leading minus sign manually.
let y = x;
let sign = 1; if (x.startsWith("-")) {
y = x.slice(1);
sign = -1;
}
assertEq((+y) * sign, ((+y) * sign)|0, "x is an int32 hex value");
let r = Number.parseInt(x);
assertEq(r, (+y) * sign);
}
} for (let i = 0; i < 2; ++i) testRadixAbsentHex();
// Test string-int32 input with radix=10. function testRadixTen() { for (let i = 0; i < 200; ++i) {
let x = stringInt32Values[i % stringInt32Values.length];
assertEq(+x, x|0, "x is an int32 value");
let r = Number.parseInt(x, 10);
assertEq(r, +x);
}
} for (let i = 0; i < 2; ++i) testRadixTen();
// Test string-int32 input with radix=16. (This case isn't currently inlined.) function testRadixSixteen() { for (let i = 0; i < 200; ++i) {
let x = stringInt32Values[i % stringInt32Values.length];
assertEq(+x, x|0, "x is an int32 value");
let expected = Math.sign(x) * Number("0x" + Math.abs(x).toString(10));
let r = Number.parseInt(x, 16);
assertEq(r, expected);
}
} for (let i = 0; i < 2; ++i) testRadixSixteen();
// Test string-int32 hex input with radix=16. (This case isn't currently inlined.) function testRadixSixteenHex() { for (let i = 0; i < 200; ++i) {
let x = stringInt32HexValues[i % stringInt32HexValues.length];
// String to number conversion doesn't support negative hex-strings, so we // have to chop off the leading minus sign manually.
let y = x;
let sign = 1; if (x.startsWith("-")) {
y = x.slice(1);
sign = -1;
}
assertEq((+y) * sign, ((+y) * sign)|0, "x is an int32 hex value");
let r = Number.parseInt(x, 16);
assertEq(r, (+y) * sign);
}
} for (let i = 0; i < 2; ++i) testRadixSixteenHex();
// Test with variable radix. function testRadixVariable() { for (let i = 0; i < 200; ++i) {
let x = stringInt32Values[i % stringInt32Values.length];
assertEq(+x, x|0, "x is an int32 value");
let radix = [10, 16][(i > 100)|0];
let expected = +x; if (radix === 16) {
expected = Math.sign(+x) * Number("0x" + Math.abs(+x).toString(10));
}
let r = Number.parseInt(x, radix);
assertEq(r, expected);
}
} for (let i = 0; i < 2; ++i) testRadixVariable();
Messung V0.5
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.11Bemerkung:
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.