summaryrefslogtreecommitdiffstats
path: root/js/src/tests/non262/Math/exp-exact.js
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--js/src/tests/non262/Math/exp-exact.js29
1 files changed, 29 insertions, 0 deletions
diff --git a/js/src/tests/non262/Math/exp-exact.js b/js/src/tests/non262/Math/exp-exact.js
new file mode 100644
index 0000000000..e004f74718
--- /dev/null
+++ b/js/src/tests/non262/Math/exp-exact.js
@@ -0,0 +1,29 @@
+// Properties of Math.exp that are guaranteed by the spec.
+
+// If x is NaN, the result is NaN.
+assertEq(Math.exp(NaN), NaN);
+
+// If x is +0, the result is 1.
+assertEq(Math.exp(+0), 1);
+
+// If x is −0, the result is 1.
+assertEq(Math.exp(-0), 1);
+
+// If x is +∞, the result is +∞.
+assertEq(Math.exp(Infinity), Infinity);
+
+// If x is −∞, the result is +0.
+assertEq(Math.exp(-Infinity), +0);
+
+
+// Not guaranteed by the specification, but generally assumed to hold.
+
+// If x is 1, the result is Math.E.
+assertEq(Math.exp(1), Math.E);
+
+// If x is -1, the result is 1/Math.E.
+assertEq(Math.exp(-1), 1 / Math.E);
+
+
+if (typeof reportCompare === "function")
+ reportCompare(0, 0);