28 * @run |
28 * @run |
29 */ |
29 */ |
30 |
30 |
31 var doubleArray = [97912312397.234, -182374983434.56]; |
31 var doubleArray = [97912312397.234, -182374983434.56]; |
32 var doubleArrayResults = [-871935411, -1986357002]; |
32 var doubleArrayResults = [-871935411, -1986357002]; |
33 var longArray = [0x7fffffff8c102ebc, -0x7fffffffe9dfec18]; |
|
34 var longArrayResults = [-1945096192, 371201024]; |
|
35 |
33 |
36 // Make sure arrays use double and long array data |
34 // Make sure array uses double array data |
37 Assert.assertEquals(doubleArray[0].getClass(), java.lang.Double.class); |
35 Assert.assertEquals(doubleArray[0].getClass(), java.lang.Double.class); |
38 Assert.assertEquals(longArray[0].getClass(), java.lang.Long.class); |
|
39 |
36 |
40 function testBinaryOp(array, index, expected) { |
37 function testBinaryOp(array, index, expected) { |
41 Assert.assertEquals(array[index] & 0xffffffff, expected); |
38 Assert.assertEquals(array[index] & 0xffffffff, expected); |
42 } |
39 } |
43 |
40 |
44 for (var i = 0; i < doubleArray.length; i++) { |
41 for (var i = 0; i < doubleArray.length; i++) { |
45 testBinaryOp(doubleArray, i, doubleArrayResults[i]); |
42 testBinaryOp(doubleArray, i, doubleArrayResults[i]); |
46 } |
43 } |
47 for (var i = 0; i < longArray.length; i++) { |
|
48 testBinaryOp(longArray, i, longArrayResults[i]); |
|
49 } |
|
50 |
44 |