Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(27)

Unified Diff: test/mjsunit/wasm/asm-wasm.js

Issue 1729833002: Add wasm internal opcodes for asm.js stdlib functions we're missing. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: fix Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/wasm/wasm-opcodes.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: test/mjsunit/wasm/asm-wasm.js
diff --git a/test/mjsunit/wasm/asm-wasm.js b/test/mjsunit/wasm/asm-wasm.js
index a824e9ab5560c9b598818a0ebb1af501dfd2fa7f..8b31bf8343d6b465f3db39216cb44109bad1845c 100644
--- a/test/mjsunit/wasm/asm-wasm.js
+++ b/test/mjsunit/wasm/asm-wasm.js
@@ -1301,6 +1301,13 @@ TestForeignVariables();
function Module(stdlib) {
"use asm";
+ var StdlibMathCeil = stdlib.Math.ceil;
+ var StdlibMathFloor = stdlib.Math.floor;
+ var StdlibMathSqrt = stdlib.Math.sqrt;
+ var StdlibMathAbs = stdlib.Math.abs;
+ var StdlibMathMin = stdlib.Math.min;
+ var StdlibMathMax = stdlib.Math.max;
+
var StdlibMathAcos = stdlib.Math.acos;
var StdlibMathAsin = stdlib.Math.asin;
var StdlibMathAtan = stdlib.Math.atan;
@@ -1309,20 +1316,26 @@ TestForeignVariables();
var StdlibMathTan = stdlib.Math.tan;
var StdlibMathExp = stdlib.Math.exp;
var StdlibMathLog = stdlib.Math.log;
- var StdlibMathCeil = stdlib.Math.ceil;
- var StdlibMathFloor = stdlib.Math.floor;
- var StdlibMathSqrt = stdlib.Math.sqrt;
- var StdlibMathAbs = stdlib.Math.abs;
- var StdlibMathMin = stdlib.Math.min;
- var StdlibMathMax = stdlib.Math.max;
+
var StdlibMathAtan2 = stdlib.Math.atan2;
var StdlibMathPow = stdlib.Math.pow;
var StdlibMathImul = stdlib.Math.imul;
+
var fround = stdlib.Math.fround;
+ function deltaEqual(x, y) {
+ x = +x;
+ y = +y;
+ var t = 0.0;
+ t = x - y;
+ if (t < 0.0) {
+ t = t * -1.0;
+ }
+ return (t < 1.0e-13) | 0;
+ }
+
function caller() {
- // TODO(bradnelson): Test transendentals when implemented.
- if (StdlibMathSqrt(123.0) != 11.090536506409418) return 0;
+ if (!deltaEqual(StdlibMathSqrt(123.0), 11.090536506409418)) return 0;
if (StdlibMathSqrt(fround(256.0)) != fround(16.0)) return 0;
if (StdlibMathCeil(123.7) != 124.0) return 0;
if (StdlibMathCeil(fround(123.7)) != fround(124.0)) return 0;
@@ -1336,7 +1349,20 @@ TestForeignVariables();
if (StdlibMathMax(123.4, 1236.4) != 1236.4) return 0;
if (StdlibMathMax(fround(123.4), fround(1236.4))
!= fround(1236.4)) return 0;
+
+ if (!deltaEqual(StdlibMathAcos(0.1), 1.4706289056333368)) return 0;
+ if (!deltaEqual(StdlibMathAsin(0.2), 0.2013579207903308)) return 0;
+ if (!deltaEqual(StdlibMathAtan(0.2), 0.19739555984988078)) return 0;
+ if (!deltaEqual(StdlibMathCos(0.2), 0.9800665778412416)) return 0;
+ if (!deltaEqual(StdlibMathSin(0.2), 0.19866933079506122)) return 0;
+ if (!deltaEqual(StdlibMathTan(0.2), 0.20271003550867250)) return 0;
+ if (!deltaEqual(StdlibMathExp(0.2), 1.2214027581601699)) return 0;
+ if (!deltaEqual(StdlibMathLog(0.2), -1.6094379124341003)) return 0;
+
if (StdlibMathImul(6, 7) != 42) return 0;
+ if (!deltaEqual(StdlibMathAtan2(6.0, 7.0), 0.7086262721276703)) return 0;
+ if (StdlibMathPow(6.0, 7.0) != 279936.0) return 0;
+
return 1;
}
« no previous file with comments | « src/wasm/wasm-opcodes.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698