testNot.js 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  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. print("Correct");
  8. } else {
  9. print(">> Fail!");
  10. }
  11. }
  12. function testNot() {
  13. print("Int8x16 not");
  14. var a = SIMD.Int8x16(-16, -15, -14, -13, -12, -11, -10, -9, -8, -7, -6, -5, -4, -3, -2, -1);
  15. var c = SIMD.Int8x16.not(a);
  16. equal(15, SIMD.Int8x16.extractLane(c, 0));
  17. equal(14, SIMD.Int8x16.extractLane(c, 1));
  18. equal(13, SIMD.Int8x16.extractLane(c, 2));
  19. equal(12, SIMD.Int8x16.extractLane(c, 3));
  20. equal(11, SIMD.Int8x16.extractLane(c, 4));
  21. equal(10, SIMD.Int8x16.extractLane(c, 5));
  22. equal(9, SIMD.Int8x16.extractLane(c, 6));
  23. equal(8, SIMD.Int8x16.extractLane(c, 7));
  24. equal(7, SIMD.Int8x16.extractLane(c, 8));
  25. equal(6, SIMD.Int8x16.extractLane(c, 9));
  26. equal(5, SIMD.Int8x16.extractLane(c, 10));
  27. equal(4, SIMD.Int8x16.extractLane(c, 11));
  28. equal(3, SIMD.Int8x16.extractLane(c, 12));
  29. equal(2, SIMD.Int8x16.extractLane(c, 13));
  30. equal(1, SIMD.Int8x16.extractLane(c, 14));
  31. equal(0, SIMD.Int8x16.extractLane(c, 15));
  32. c = SIMD.Int8x16.not(SIMD.Int8x16(16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1));
  33. equal(-17, SIMD.Int8x16.extractLane(c, 0));
  34. equal(-16, SIMD.Int8x16.extractLane(c, 1));
  35. equal(-15, SIMD.Int8x16.extractLane(c, 2));
  36. equal(-14, SIMD.Int8x16.extractLane(c, 3));
  37. equal(-13, SIMD.Int8x16.extractLane(c, 4));
  38. equal(-12, SIMD.Int8x16.extractLane(c, 5));
  39. equal(-11, SIMD.Int8x16.extractLane(c, 6));
  40. equal(-10, SIMD.Int8x16.extractLane(c, 7));
  41. equal(-9, SIMD.Int8x16.extractLane(c, 8));
  42. equal(-8, SIMD.Int8x16.extractLane(c, 9));
  43. equal(-7, SIMD.Int8x16.extractLane(c, 10));
  44. equal(-6, SIMD.Int8x16.extractLane(c, 11));
  45. equal(-5, SIMD.Int8x16.extractLane(c, 12));
  46. equal(-4, SIMD.Int8x16.extractLane(c, 13));
  47. equal(-3, SIMD.Int8x16.extractLane(c, 14));
  48. equal(-2, SIMD.Int8x16.extractLane(c, 15));
  49. }
  50. testNot();
  51. testNot();
  52. testNot();
  53. testNot();
  54. testNot();
  55. testNot();
  56. testNot();
  57. testNot();