/js/src/jit-test/tests/jaeger/testSetTypedFloatArray.js

http://github.com/zpao/v8monkey · JavaScript · 61 lines · 56 code · 4 blank · 1 comment · 3 complexity · 3b3222fbba8823c62ab0db1dddedd4ec MD5 · raw file

  1. // vim: set ts=4 sw=4 tw=99 et:
  2. function testSetTypedFloat32Array(k) {
  3. var ar = new Float32Array(8);
  4. ar[k+5] = { };
  5. ar[k+6] = ar;
  6. ar[k+4] = (k + 800) * 897 * 800 * 800 * 810 * 1923437;
  7. var t = k + 555;
  8. var L = ar[k+7] = t & 5;
  9. ar[0] = 12.3;
  10. ar[8] = 500;
  11. ar[k+8] = 1200;
  12. ar[k+1] = 500;
  13. ar[k+2] = "3" + k;
  14. ar[k+3] = true;
  15. assertEq(ar[0] - 12.3 >= 0 &&
  16. ar[0] - 12.3 <= 0.0001, true);
  17. assertEq(ar[1], 500);
  18. assertEq(ar[2], 30);
  19. assertEq(ar[3], 1);
  20. assertEq(ar[4], 715525927453369300000);
  21. assertEq(ar[5], NaN);
  22. assertEq(ar[6], NaN);
  23. assertEq(ar[7], 1);
  24. assertEq(ar[8], undefined);
  25. assertEq(ar[k+8], undefined);
  26. }
  27. function testSetTypedFloat64Array(k) {
  28. var ar = new Float64Array(8);
  29. ar[k+5] = { };
  30. ar[k+6] = ar;
  31. ar[k+4] = (k + 800) * 897 * 800 * 800 * 810 * 1923437;
  32. var t = k + 555;
  33. var L = ar[k+7] = t & 5;
  34. ar[0] = 12.3;
  35. ar[8] = 500;
  36. ar[k+8] = 1200;
  37. ar[k+1] = 500;
  38. ar[k+2] = "3" + k;
  39. ar[k+3] = true;
  40. assertEq(ar[0] - 12.3 >= 0 &&
  41. ar[0] - 12.3 <= 0.0001, true);
  42. assertEq(ar[1], 500);
  43. assertEq(ar[2], 30);
  44. assertEq(ar[3], 1);
  45. assertEq(ar[4], 715525949998080000000);
  46. assertEq(ar[5], NaN);
  47. assertEq(ar[6], NaN);
  48. assertEq(ar[7], 1);
  49. assertEq(ar[8], undefined);
  50. assertEq(ar[k+8], undefined);
  51. }
  52. for (var i = 0; i <= 10; i++) {
  53. testSetTypedFloat32Array(0);
  54. testSetTypedFloat64Array(0);
  55. if (i == 5)
  56. gc();
  57. }