1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 18:37:34 +00:00

LibJS: expose some more math functions

This commit is contained in:
stelar7 2020-06-21 11:34:00 +02:00 committed by Andreas Kling
parent b97da17b90
commit 9e18005c64
7 changed files with 124 additions and 2 deletions

View file

@ -0,0 +1,13 @@
load("test-common.js");
try {
assert(isNaN(Math.acosh(-1)));
assert(isNaN(Math.acosh(0)));
assert(isNaN(Math.acosh(0.5)));
assert(isClose(Math.acosh(1), 0));
assert(isClose(Math.acosh(2), 1.316957));
console.log("PASS");
} catch (e) {
console.log("FAIL: " + e);
}

View file

@ -0,0 +1,10 @@
load("test-common.js");
try {
assert(isClose(Math.asinh(0), 0));
assert(isClose(Math.asinh(1), 0.881373));
console.log("PASS");
} catch (e) {
console.log("FAIL: " + e);
}

View file

@ -0,0 +1,14 @@
load("test-common.js");
try {
assert(isNaN(Math.atanh(-2)));
assert(Math.atanh(-1) === -Infinity);
assert(Math.atanh(0) === 0);
assert(isClose(Math.atanh(0.5), 0.549306));
assert(Math.atanh(1) === Infinity);
assert(isNaN(Math.atanh(2)));
console.log("PASS");
} catch (e) {
console.log("FAIL: " + e);
}

View file

@ -0,0 +1,16 @@
load("test-common.js");
try {
assert(isNaN(Math.cbrt(NaN)));
assert(Math.cbrt(-1) === -1);
assert(Math.cbrt(-0) === -0);
assert(Math.cbrt(-Infinity) === -Infinity);
assert(Math.cbrt(1) === 1);
assert(Math.cbrt(Infinity) === Infinity);
assert(Math.cbrt(null) === 0);
assert(isClose(Math.cbrt(2), 1.259921));
console.log("PASS");
} catch (e) {
console.log("FAIL: " + e);
}

View file

@ -0,0 +1,13 @@
load("test-common.js");
try {
assert(isNaN(Math.log1p(-2)));
assert(Math.log1p(-1) === -Infinity);
assert(Math.log1p(0) === 0);
assert(isClose(Math.log1p(1), 0.693147));
console.log("PASS");
} catch (e) {
console.log("FAIL: " + e);
}