testWithLane.js 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. //-------------------------------------------------------------------------------------------------------
  2. // Copyright (C) Microsoft. All rights reserved.
  3. // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
  4. //-------------------------------------------------------------------------------------------------------
  5. function equal(a, b) {
  6. if (a == b)
  7. {
  8. print("Correct");
  9. }
  10. else
  11. {
  12. print(">> Fail!");
  13. }
  14. }
  15. function testReplaceLane1() {
  16. print("Int32x4 Lane1");
  17. var a = SIMD.Int32x4(16, 9, 4, 1);
  18. var c = SIMD.Int32x4.replaceLane(a, false, 20);
  19. equal(20, SIMD.Int32x4.extractLane(c, false));
  20. equal(9, SIMD.Int32x4.extractLane(c, true));
  21. equal(4, SIMD.Int32x4.extractLane(c, "2"));
  22. equal(1, SIMD.Int32x4.extractLane(c, [3]));
  23. }
  24. function testReplaceLane2() {
  25. print("Int32x4 Lane2");
  26. var a = SIMD.Int32x4(16, 9, 4, 1);
  27. var c = SIMD.Int32x4.replaceLane(a, true, 20);
  28. equal(16, SIMD.Int32x4.extractLane(c, 0));
  29. equal(20, SIMD.Int32x4.extractLane(c, 1));
  30. equal(4, SIMD.Int32x4.extractLane(c, 2));
  31. equal(1, SIMD.Int32x4.extractLane(c, 3));
  32. }
  33. function testReplaceLane3() {
  34. print("Int32x4 Lane3");
  35. var a = SIMD.Int32x4(16, 9, 4, 1);
  36. var c = SIMD.Int32x4.replaceLane(a, ["2"], 20);
  37. equal(16, SIMD.Int32x4.extractLane(c, 0));
  38. equal(9, SIMD.Int32x4.extractLane(c, 1));
  39. equal(20, SIMD.Int32x4.extractLane(c, 2));
  40. equal(1, SIMD.Int32x4.extractLane(c, 3));
  41. }
  42. function testReplaceLane4() {
  43. print("Int32x4 Lane4");
  44. var a = SIMD.Int32x4(16, 9, 4, 1);
  45. var c = SIMD.Int32x4.replaceLane(a, 3, 20);
  46. equal(16, SIMD.Int32x4.extractLane(c, 0));
  47. equal(9, SIMD.Int32x4.extractLane(c, 1));
  48. equal(4, SIMD.Int32x4.extractLane(c, 2));
  49. equal(20, SIMD.Int32x4.extractLane(c, 3));
  50. }
  51. testReplaceLane1();
  52. testReplaceLane1();
  53. testReplaceLane1();
  54. testReplaceLane1();
  55. testReplaceLane1();
  56. testReplaceLane1();
  57. testReplaceLane1();
  58. testReplaceLane1();
  59. testReplaceLane2();
  60. testReplaceLane2();
  61. testReplaceLane2();
  62. testReplaceLane2();
  63. testReplaceLane2();
  64. testReplaceLane2();
  65. testReplaceLane2();
  66. testReplaceLane2();
  67. testReplaceLane3();
  68. testReplaceLane3();
  69. testReplaceLane3();
  70. testReplaceLane3();
  71. testReplaceLane3();
  72. testReplaceLane3();
  73. testReplaceLane3();
  74. testReplaceLane3();
  75. testReplaceLane4();
  76. testReplaceLane4();
  77. testReplaceLane4();
  78. testReplaceLane4();
  79. testReplaceLane4();
  80. testReplaceLane4();
  81. testReplaceLane4();
  82. testReplaceLane4();