|
1 (function(stdlib, n, heap) { |
|
2 "use asm" |
|
3 var Int16ArrayView = new stdlib.Int16Array(heap); |
|
4 function f(i0, d1) { |
|
5 i0 = i0 | 0 |
|
6 d1 = +d1 |
|
7 var d2 = 1. |
|
8 var i3 = 0 |
|
9 Int16ArrayView[0] = i0 |
|
10 d2 = (.0 / .0) |
|
11 switch ((i0 + i0) | 0) { |
|
12 case 0: |
|
13 d2 = .0 |
|
14 break |
|
15 }; |
|
16 (((i3 - (0 < 0)) >>> ((.0 < -0) + (.0 > .0))) / 0) >> (0 + (((0 + 0) ^ |
|
17 (9 > 0)) | 0)) |
|
18 } |
|
19 })(this, null, new ArrayBuffer(4096)); |
|
20 |
|
21 (function(stdlib, n, heap) { |
|
22 "use asm" |
|
23 var Float64ArrayView = new stdlib.Float64Array(heap) |
|
24 function f() { |
|
25 Float64ArrayView[0] = +(0xffffffff / 0xffffffff >> 0) |
|
26 } |
|
27 })(this, null, new ArrayBuffer(4096)); |
|
28 |
|
29 function test0(x) |
|
30 { |
|
31 return (x >>> 0) % 10; |
|
32 } |
|
33 assertEq(test0(25), 5); |
|
34 assertEq(test0(24), 4); |
|
35 assertEq(test0(23), 3); |
|
36 assertEq(test0(0), 0); |
|
37 assertEq(test0(4294967295), 5); |
|
38 |
|
39 function test1(x) |
|
40 { |
|
41 return (x >>> 2) % 10; |
|
42 } |
|
43 assertEq(test1(25), 6); |
|
44 assertEq(test1(24), 6); |
|
45 assertEq(test1(23), 5); |
|
46 assertEq(test1(4294967295), 3); |
|
47 |
|
48 function test2(x, y) |
|
49 { |
|
50 return (x >>> 0) % (y >>> 0); |
|
51 } |
|
52 assertEq(test2(25, 3), 1); |
|
53 assertEq(test2(24, 4), 0); |
|
54 assertEq(test2(4294967295, 10), 5); |
|
55 assertEq(test2(23, 0), NaN); |
|
56 |
|
57 function test3() |
|
58 { |
|
59 "use asm"; |
|
60 function f(x, y) |
|
61 { |
|
62 x = x|0; |
|
63 y = y|0; |
|
64 var t = 0; |
|
65 t = (x % y) > -2; |
|
66 return t|0; |
|
67 } |
|
68 return f; |
|
69 } |
|
70 assertEq(test3()(4294967290, 4294967295), 1); |
|
71 assertEq(test3()(4294967290, 4294967295), 1); |
|
72 |
|
73 function test4() |
|
74 { |
|
75 "use asm"; |
|
76 function f(x, y) |
|
77 { |
|
78 x = x|0; |
|
79 y = y|0; |
|
80 var t = 0; |
|
81 t = ((x>>>0) % (y>>>0)) > -2; |
|
82 return t|0; |
|
83 } |
|
84 return f; |
|
85 } |
|
86 assertEq(test4()(4294967290, 4294967295), 1); |
|
87 assertEq(test4()(4294967290, 4294967295), 1); |
|
88 |
|
89 function test5() |
|
90 { |
|
91 "use asm"; |
|
92 function f(x, y) |
|
93 { |
|
94 x = x|0; |
|
95 y = y|0; |
|
96 var t = 0; |
|
97 t = ((x>>>0) % (y>>>0)) * 1.01; |
|
98 return +t; |
|
99 } |
|
100 return f; |
|
101 } |
|
102 assertEq(test5()(4294967290, 4294967295), 4337916962.9); |
|
103 assertEq(test5()(4294967290, 4294967295), 4337916962.9); |
|
104 |
|
105 function test6() |
|
106 { |
|
107 "use asm"; |
|
108 function f(x, y) |
|
109 { |
|
110 x = x|0; |
|
111 y = y|0; |
|
112 return ((x>>>1) % (y>>>1))|0; |
|
113 } |
|
114 return f; |
|
115 } |
|
116 assertEq(test6()(23847, 7), 1); |
|
117 assertEq(test6()(23848, 7), 2); |
|
118 |
|
119 function test7() |
|
120 { |
|
121 "use asm"; |
|
122 function f(x) |
|
123 { |
|
124 x = x|0; |
|
125 return ((x>>>0) / 8)|0; |
|
126 } |
|
127 return f; |
|
128 } |
|
129 assertEq(test7()(23847, 7), 2980); |
|
130 assertEq(test7()(23848, 7), 2981); |
|
131 |
|
132 function test8() |
|
133 { |
|
134 "use asm"; |
|
135 function f(i,j) |
|
136 { |
|
137 i=i|0;j=j|0; |
|
138 return ((i>>>0)/(j>>>0))|0; |
|
139 } |
|
140 return f; |
|
141 } |
|
142 assertEq(test8()(2147483647, 0), 0); |
|
143 assertEq(test8()(2147483646, 0), 0); |