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

Side by Side Diff: test/mjsunit/wasm/asm-wasm-f32.js

Issue 2377903002: [wasm] [asm.js] Fix various asm.js issues. (Closed)
Patch Set: Created 4 years, 2 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 the V8 project authors. All rights reserved. 1 // Copyright 2016 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Flags: --validate-asm --allow-natives-syntax 5 // Flags: --validate-asm --allow-natives-syntax
6 6
7 function WrapInAsmModule(func) { 7 function WrapInAsmModule(func) {
8 function MODULE_NAME(stdlib) { 8 function MODULE_NAME(stdlib) {
9 "use asm"; 9 "use asm";
10 var fround = stdlib.Math.fround; 10 var fround = stdlib.Math.fround;
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
152 152
153 function f32_gteq(a, b) { 153 function f32_gteq(a, b) {
154 a = fround(a); 154 a = fround(a);
155 b = fround(b); 155 b = fround(b);
156 if (fround(a) >= fround(b)) { 156 if (fround(a) >= fround(b)) {
157 return 1; 157 return 1;
158 } 158 }
159 return 0; 159 return 0;
160 } 160 }
161 161
162 function f32_neg(a) {
163 a = fround(a);
164 return fround(-a);
165 }
166
162 167
163 var inputs = [ 168 var inputs = [
164 0, 1, 2, 3, 4, 169 0, 1, 2, 3, 4,
165 NaN, 170 NaN,
166 Infinity, 171 Infinity,
167 -Infinity, 172 -Infinity,
168 10, 20, 30, 31, 32, 33, 100, 2000, 173 10, 20, 30, 31, 32, 33, 100, 2000,
169 30000, 400000, 5000000, 174 30000, 400000, 5000000,
170 100000000, 2000000000, 175 100000000, 2000000000,
171 2147483646, 176 2147483646,
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
204 // TODO(bradnelson) f32_sqrt, 209 // TODO(bradnelson) f32_sqrt,
205 // TODO(bradnelson) f32_abs, 210 // TODO(bradnelson) f32_abs,
206 // TODO(bradnelson) f32_min is wrong for -0 211 // TODO(bradnelson) f32_min is wrong for -0
207 // TODO(bradnelson) f32_max is wrong for -0 212 // TODO(bradnelson) f32_max is wrong for -0
208 f32_eq, 213 f32_eq,
209 f32_ne, 214 f32_ne,
210 f32_lt, 215 f32_lt,
211 f32_lteq, 216 f32_lteq,
212 f32_gt, 217 f32_gt,
213 f32_gteq, 218 f32_gteq,
219 f32_neg,
214 ]; 220 ];
215 221
216 (function () { 222 (function () {
217 for (func of funcs) { 223 for (func of funcs) {
218 RunAsmJsTest(WrapInAsmModule(func), function (module) { 224 RunAsmJsTest(WrapInAsmModule(func), function (module) {
219 if (func.length == 1) { 225 if (func.length == 1) {
220 for (a of inputs) { 226 for (a of inputs) {
221 assertEquals(func(a), module.main(a)); 227 assertEquals(func(a), module.main(a));
222 assertEquals(func(a / 11), module.main(a / 11)); 228 assertEquals(func(a / 11), module.main(a / 11));
223 assertEquals(func(a / 430.9), module.main(a / 430.9)); 229 assertEquals(func(a / 430.9), module.main(a / 430.9));
224 assertEquals(func(a / -31.1), module.main(a / -31.1)); 230 assertEquals(func(a / -31.1), module.main(a / -31.1));
225 } 231 }
226 } else { 232 } else {
227 for (a of inputs) { 233 for (a of inputs) {
228 for (b of inputs) { 234 for (b of inputs) {
229 assertEquals(func(a, b), module.main(a, b)); 235 assertEquals(func(a, b), module.main(a, b));
230 assertEquals(func(a / 11, b), module.main(a / 11, b)); 236 assertEquals(func(a / 11, b), module.main(a / 11, b));
231 assertEquals(func(a, b / 420.9), module.main(a, b / 420.9)); 237 assertEquals(func(a, b / 420.9), module.main(a, b / 420.9));
232 assertEquals(func(a / -31.1, b), module.main(a / -31.1, b)); 238 assertEquals(func(a / -31.1, b), module.main(a / -31.1, b));
233 } 239 }
234 } 240 }
235 } 241 }
236 }); 242 });
237 } 243 }
238 244
239 })(); 245 })();
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698