mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-04-22 12:35:14 +00:00
LibJS: Simplify Math-constants.js test
By borrowing an "expect close" function from LibM/TestMath.cpp, we can make this a lot simpler. Also the parser now understands decimals!
This commit is contained in:
parent
0d7a1c3157
commit
30ba2c7cec
Notes:
sideshowbarker
2024-07-19 07:53:21 +09:00
Author: https://github.com/linusg Commit: https://github.com/SerenityOS/serenity/commit/30ba2c7cece Pull-request: https://github.com/SerenityOS/serenity/pull/1650
1 changed files with 10 additions and 19 deletions
|
@ -1,24 +1,15 @@
|
|||
// FIXME: The parser seems to have issues with decimals,
|
||||
// so we multiply everything and compare with whole numbers.
|
||||
// I.e. 1233 < X * 1000 < 1235 instead of 1.233 < X < 1.235
|
||||
// Borrowed from LibM/TestMath.cpp :^)
|
||||
function expectClose(a, b) { assert(Math.abs(a - b) < 0.000001); }
|
||||
|
||||
try {
|
||||
// approx. 2.718
|
||||
assert(2717 < Math.E * 1000 < 2719);
|
||||
// approx. 0.693MATH
|
||||
assert(692 < Math.LN2 * 1000 < 694);
|
||||
// approx. 2.303
|
||||
assert(2302 < Math.LN10 * 1000 < 2304);
|
||||
// approx. 1.443
|
||||
assert(1442 < Math.LOG2E * 1000 < 1444);
|
||||
// approx. 0.434
|
||||
assert(433 < Math.LOG10E * 1000 < 435);
|
||||
// approx. 3.1415
|
||||
assert(31414 < Math.PI * 10000 < 31416);
|
||||
// approx. 0.707
|
||||
assert(706 < Math.SQRT1_2 * 1000 < 708);
|
||||
// approx. 1.414
|
||||
assert(1413 < Math.SQRT2 * 1000 < 1415);
|
||||
expectClose(Math.E, 2.718281);
|
||||
expectClose(Math.LN2, 0.693147);
|
||||
expectClose(Math.LN10, 2.302585);
|
||||
expectClose(Math.LOG2E, 1.442695);
|
||||
expectClose(Math.LOG10E, 0.434294);
|
||||
expectClose(Math.PI, 3.1415926);
|
||||
expectClose(Math.SQRT1_2, 0.707106);
|
||||
expectClose(Math.SQRT2, 1.414213);
|
||||
|
||||
console.log("PASS");
|
||||
} catch (e) {
|
||||
|
|
Loading…
Add table
Reference in a new issue