| // vim: set ts=8 sts=4 et sw=4 tw=99: |
| |
| function testSetTypedFloat32Array(k) { |
| var ar = new Float32Array(8); |
| ar[k+5] = { }; |
| ar[k+6] = ar; |
| ar[k+4] = (k + 800) * 897 * 800 * 800 * 810 * 1923437; |
| var t = k + 555; |
| var L = ar[k+7] = t & 5; |
| ar[0] = 12.3; |
| ar[8] = 500; |
| ar[k+8] = 1200; |
| ar[k+1] = 500; |
| ar[k+2] = "3" + k; |
| ar[k+3] = true; |
| assertEq(ar[0] - 12.3 >= 0 && |
| ar[0] - 12.3 <= 0.0001, true); |
| assertEq(ar[1], 500); |
| assertEq(ar[2], 30); |
| assertEq(ar[3], 1); |
| assertEq(ar[4], 715525927453369300000); |
| assertEq(ar[5], NaN); |
| assertEq(ar[6], NaN); |
| assertEq(ar[7], 1); |
| assertEq(ar[8], undefined); |
| assertEq(ar[k+8], undefined); |
| } |
| |
| function testSetTypedFloat64Array(k) { |
| var ar = new Float64Array(8); |
| ar[k+5] = { }; |
| ar[k+6] = ar; |
| ar[k+4] = (k + 800) * 897 * 800 * 800 * 810 * 1923437; |
| var t = k + 555; |
| var L = ar[k+7] = t & 5; |
| ar[0] = 12.3; |
| ar[8] = 500; |
| ar[k+8] = 1200; |
| ar[k+1] = 500; |
| ar[k+2] = "3" + k; |
| ar[k+3] = true; |
| assertEq(ar[0] - 12.3 >= 0 && |
| ar[0] - 12.3 <= 0.0001, true); |
| assertEq(ar[1], 500); |
| assertEq(ar[2], 30); |
| assertEq(ar[3], 1); |
| assertEq(ar[4], 715525949998080000000); |
| assertEq(ar[5], NaN); |
| assertEq(ar[6], NaN); |
| assertEq(ar[7], 1); |
| assertEq(ar[8], undefined); |
| assertEq(ar[k+8], undefined); |
| } |
| |
| for (var i = 0; i <= 10; i++) { |
| testSetTypedFloat32Array(0); |
| testSetTypedFloat64Array(0); |
| if (i == 5) |
| gc(); |
| } |
| |