binary-bitwise-unsigned-right-shift.js 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. load("test-common.js");
  2. try {
  3. assert((0 >>> 0) === 0);
  4. assert((0 >>> 1) === 0);
  5. assert((0 >>> 2) === 0);
  6. assert((0 >>> 3) === 0);
  7. assert((0 >>> 4) === 0);
  8. assert((0 >>> 5) === 0);
  9. assert((1 >>> 0) === 1);
  10. assert((1 >>> 1) === 0);
  11. assert((1 >>> 2) === 0);
  12. assert((1 >>> 3) === 0);
  13. assert((1 >>> 4) === 0);
  14. assert((1 >>> 5) === 0);
  15. assert((5 >>> 0) === 5);
  16. assert((5 >>> 1) === 2);
  17. assert((5 >>> 2) === 1);
  18. assert((5 >>> 3) === 0);
  19. assert((5 >>> 4) === 0);
  20. assert((5 >>> 5) === 0);
  21. assert((42 >>> 0) === 42);
  22. assert((42 >>> 1) === 21);
  23. assert((42 >>> 2) === 10);
  24. assert((42 >>> 3) === 5);
  25. assert((42 >>> 4) === 2);
  26. assert((42 >>> 5) === 1);
  27. assert((-1 >>> 0) === 4294967295);
  28. assert((-1 >>> 1) === 2147483647);
  29. assert((-1 >>> 2) === 1073741823);
  30. assert((-1 >>> 3) === 536870911);
  31. assert((-1 >>> 4) === 268435455);
  32. assert((-1 >>> 5) === 134217727);
  33. assert((-5 >>> 0) === 4294967291);
  34. assert((-5 >>> 1) === 2147483645);
  35. assert((-5 >>> 2) === 1073741822);
  36. assert((-5 >>> 3) === 536870911);
  37. assert((-5 >>> 4) === 268435455);
  38. assert((-5 >>> 5) === 134217727);
  39. var x = -67;
  40. var y = 4;
  41. assert(("-42" >>> 3) === 536870906);
  42. assert((x >>> y) === 268435451);
  43. assert((x >>> [[[[5]]]]) === 134217725);
  44. assert((undefined >>> y) === 0);
  45. assert(("a" >>> "b") === 0);
  46. assert((null >>> null) === 0);
  47. assert((undefined >>> undefined) === 0);
  48. assert((NaN >>> NaN) === 0);
  49. assert((6 >>> NaN) === 6);
  50. assert((Infinity >>> Infinity) === 0);
  51. assert((-Infinity >>> Infinity) === 0);
  52. console.log("PASS");
  53. } catch (e) {
  54. console.log("FAIL: " + e);
  55. }