diff options
author | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
---|---|---|
committer | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
commit | 5f8de423f190bbb79a62f804151bc24824fa32d8 (patch) | |
tree | 10027f336435511475e392454359edea8e25895d /js/src/tests/test262/ch11/11.7/11.7.2 | |
parent | 49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff) | |
download | UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip |
Add m-esr52 at 52.6.0
Diffstat (limited to 'js/src/tests/test262/ch11/11.7/11.7.2')
31 files changed, 11491 insertions, 0 deletions
diff --git a/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A1.js b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A1.js new file mode 100644 index 000000000..086e03849 --- /dev/null +++ b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A1.js @@ -0,0 +1,60 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * White Space and Line Terminator between ShiftExpression and ">>" or between ">>" and AdditiveExpression are allowed + * + * @path ch11/11.7/11.7.2/S11.7.2_A1.js + * @description Checking by using eval + */ + +//CHECK#1 +if (eval("-4\u0009>>\u00091") !== -2) { + $ERROR('#1: -4\\u0009>>\\u00091 === -2'); +} + +//CHECK#2 +if (eval("-4\u000B>>\u000B1") !== -2) { + $ERROR('#2: -4\\u000B>>\\u000B1 === -2'); +} + +//CHECK#3 +if (eval("-4\u000C>>\u000C1") !== -2) { + $ERROR('#3: -4\\u000C>>\\u000C1 === -2'); +} + +//CHECK#4 +if (eval("-4\u0020>>\u00201") !== -2) { + $ERROR('#4: -4\\u0020>>\\u00201 === -2'); +} + +//CHECK#5 +if (eval("-4\u00A0>>\u00A01") !== -2) { + $ERROR('#5: -4\\u00A0>>\\u00A01 === -2'); +} + +//CHECK#6 +if (eval("-4\u000A>>\u000A1") !== -2) { + $ERROR('#6: -4\\u000A>>\\u000A1 === -2'); +} + +//CHECK#7 +if (eval("-4\u000D>>\u000D1") !== -2) { + $ERROR('#7: -4\\u000D>>\\u000D1 === -2'); +} + +//CHECK#8 +if (eval("-4\u2028>>\u20281") !== -2) { + $ERROR('#8: -4\\u2028>>\\u20281 === -2'); +} + +//CHECK#9 +if (eval("-4\u2029>>\u20291") !== -2) { + $ERROR('#9: -4\\u2029>>\\u20291 === -2'); +} + +//CHECK#10 +if (eval("-4\u0009\u000B\u000C\u0020\u00A0\u000A\u000D\u2028\u2029>>\u0009\u000B\u000C\u0020\u00A0\u000A\u000D\u2028\u20291") !== -2) { + $ERROR('#10: -4\\u0009\\u000B\\u000C\\u0020\\u00A0\\u000A\\u000D\\u2028\\u2029>>\\u0009\\u000B\\u000C\\u0020\\u00A0\\u000A\\u000D\\u2028\\u20291 === -2'); +} + diff --git a/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A2.1_T1.js b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A2.1_T1.js new file mode 100644 index 000000000..b036436d8 --- /dev/null +++ b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A2.1_T1.js @@ -0,0 +1,43 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Operator x >> y uses GetValue + * + * @path ch11/11.7/11.7.2/S11.7.2_A2.1_T1.js + * @description Either Type is not Reference or GetBase is not null + */ + +//CHECK#1 +if (-4 >> 1 !== -2) { + $ERROR('#1: -4 >> 1 === -2. Actual: ' + (-4 >> 1)); +} + +//CHECK#2 +var x = -4; +if (x >> 1 !== -2) { + $ERROR('#2: var x = -4; x >> 1 === -2. Actual: ' + (x >> 1)); +} + +//CHECK#3 +var y = 1; +if (-4 >> y !== -2) { + $ERROR('#3: var y = 1; -4 >> y === -2. Actual: ' + (-4 >> y)); +} + +//CHECK#4 +var x = -4; +var y = 1; +if (x >> y !== -2) { + $ERROR('#4: var x = -4; var y = 1; x >> y === -2. Actual: ' + (x >> y)); +} + +//CHECK#5 +var objectx = new Object(); +var objecty = new Object(); +objectx.prop = -4; +objecty.prop = 1; +if (objectx.prop >> objecty.prop !== -2) { + $ERROR('#5: var objectx = new Object(); var objecty = new Object(); objectx.prop = -4; objecty.prop = 1; objectx.prop >> objecty.prop === -2. Actual: ' + (objectx.prop >> objecty.prop)); +} + diff --git a/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A2.1_T2.js b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A2.1_T2.js new file mode 100644 index 000000000..107ac4ade --- /dev/null +++ b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A2.1_T2.js @@ -0,0 +1,22 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Operator x >> y uses GetValue + * + * @path ch11/11.7/11.7.2/S11.7.2_A2.1_T2.js + * @description If GetBase(x) is null, throw ReferenceError + */ + +//CHECK#1 +try { + x >> 1; + $ERROR('#1.1: x >> 1 throw ReferenceError. Actual: ' + (x >> 1)); +} +catch (e) { + if ((e instanceof ReferenceError) !== true) { + $ERROR('#1.2: x >> 1 throw ReferenceError. Actual: ' + (e)); + } +} + + diff --git a/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A2.1_T3.js b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A2.1_T3.js new file mode 100644 index 000000000..1ce6c6dd2 --- /dev/null +++ b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A2.1_T3.js @@ -0,0 +1,22 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Operator x >> y uses GetValue + * + * @path ch11/11.7/11.7.2/S11.7.2_A2.1_T3.js + * @description If GetBase(y) is null, throw ReferenceError + */ + +//CHECK#1 +try { + 1 >> y; + $ERROR('#1.1: 1 >> y throw ReferenceError. Actual: ' + (1 >> y)); +} +catch (e) { + if ((e instanceof ReferenceError) !== true) { + $ERROR('#1.2: 1 >> y throw ReferenceError. Actual: ' + (e)); + } +} + + diff --git a/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A2.2_T1.js b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A2.2_T1.js new file mode 100644 index 000000000..3debe0ae1 --- /dev/null +++ b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A2.2_T1.js @@ -0,0 +1,71 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Operator x >> y uses [[Default Value]] + * + * @path ch11/11.7/11.7.2/S11.7.2_A2.2_T1.js + * @description If Type(value) is Object, evaluate ToPrimitive(value, Number) + */ + +//CHECK#1 +if ({valueOf: function() {return -4}} >> 1 !== -2) { + $ERROR('#1: {valueOf: function() {return -4}} >> 1 === -2. Actual: ' + ({valueOf: function() {return -4}} >> 1)); +} + +//CHECK#2 +if ({valueOf: function() {return -4}, toString: function() {return 0}} >> 1 !== -2) { + $ERROR('#2: {valueOf: function() {return -4}, toString: function() {return 0}} >> 1 === -2. Actual: ' + ({valueOf: function() {return -4}, toString: function() {return 0}} >> 1)); +} + +//CHECK#3 +if ({valueOf: function() {return -4}, toString: function() {return {}}} >> 1 !== -2) { + $ERROR('#3: {valueOf: function() {return -4}, toString: function() {return {}}} >> 1 === -2. Actual: ' + ({valueOf: function() {return -4}, toString: function() {return {}}} >> 1)); +} + +//CHECK#4 +try { + if ({valueOf: function() {return -4}, toString: function() {throw "error"}} >> 1 !== -2) { + $ERROR('#4.1: {valueOf: function() {return -4}, toString: function() {throw "error"}} >> 1 === -2. Actual: ' + ({valueOf: function() {return -4}, toString: function() {throw "error"}} >> 1)); + } +} +catch (e) { + if (e === "error") { + $ERROR('#4.2: {valueOf: function() {return -4}, toString: function() {throw "error"}} >> 1 not throw "error"'); + } else { + $ERROR('#4.3: {valueOf: function() {return -4}, toString: function() {throw "error"}} >> 1 not throw Error. Actual: ' + (e)); + } +} + +//CHECK#5 +if (-4 >> {toString: function() {return 1}} !== -2) { + $ERROR('#5: -4 >> {toString: function() {return 1}} === -2. Actual: ' + (-4 >> {toString: function() {return 1}})); +} + +//CHECK#6 +if (-4 >> {valueOf: function() {return {}}, toString: function() {return 1}} !== -2) { + $ERROR('#6: -4 >> {valueOf: function() {return {}}, toString: function() {return 1}} === -2. Actual: ' + (-4 >> {valueOf: function() {return {}}, toString: function() {return 1}})); +} + +//CHECK#7 +try { + -4 >> {valueOf: function() {throw "error"}, toString: function() {return 1}}; + $ERROR('#7.1: -4 >> {valueOf: function() {throw "error"}, toString: function() {return 1}} throw "error". Actual: ' + (-4 >> {valueOf: function() {throw "error"}, toString: function() {return 1}})); +} +catch (e) { + if (e !== "error") { + $ERROR('#7.2: -4 >> {valueOf: function() {throw "error"}, toString: function() {return 1}} throw "error". Actual: ' + (e)); + } +} + +//CHECK#8 +try { + -4 >> {valueOf: function() {return {}}, toString: function() {return {}}}; + $ERROR('#8.1: -4 >> {valueOf: function() {return {}}, toString: function() {return {}}} throw TypeError. Actual: ' + (-4 >> {valueOf: function() {return {}}, toString: function() {return {}}})); +} +catch (e) { + if ((e instanceof TypeError) !== true) { + $ERROR('#8.2: -4 >> {valueOf: function() {return {}}, toString: function() {return {}}} throw TypeError. Actual: ' + (e)); + } +} + diff --git a/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A2.3_T1.js b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A2.3_T1.js new file mode 100644 index 000000000..1d3d1c544 --- /dev/null +++ b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A2.3_T1.js @@ -0,0 +1,26 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * ToNumber(first expression) is called first, and then ToNumber(second expression) + * + * @path ch11/11.7/11.7.2/S11.7.2_A2.3_T1.js + * @description Checking with "throw" + */ + +//CHECK#1 +var x = { valueOf: function () { throw "x"; } }; +var y = { valueOf: function () { throw "y"; } }; +try { + x >> y; + $ERROR('#1.1: var x = { valueOf: function () { throw "x"; } }; var y = { valueOf: function () { throw "y"; } }; x >> y throw "x". Actual: ' + (x >> y)); +} catch (e) { + if (e === "y") { + $ERROR('#1.2: ToNumber(first expression) is called first, and then ToNumber(second expression)'); + } else { + if (e !== "x") { + $ERROR('#1.3: var x = { valueOf: function () { throw "x"; } }; var y = { valueOf: function () { throw "y"; } }; x >> y throw "x". Actual: ' + (e)); + } + } +} + diff --git a/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A2.4_T1.js b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A2.4_T1.js new file mode 100644 index 000000000..310bee61f --- /dev/null +++ b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A2.4_T1.js @@ -0,0 +1,23 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * First expression is evaluated first, and then second expression + * + * @path ch11/11.7/11.7.2/S11.7.2_A2.4_T1.js + * @description Checking with "=" + */ + +//CHECK#1 +var x = 0; +if ((x = 1) >> x !== 0) { + $ERROR('#1: var x = 0; (x = 1) >> x === 0. Actual: ' + ((x = 1) >> x)); +} + +//CHECK#2 +var x = -4; +if (x >> (x = 1) !== -2) { + $ERROR('#2: var x = -4; x >> (x = 1) === -2. Actual: ' + (x >> (x = 1))); +} + + diff --git a/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A2.4_T2.js b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A2.4_T2.js new file mode 100644 index 000000000..4f1eb349a --- /dev/null +++ b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A2.4_T2.js @@ -0,0 +1,26 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * First expression is evaluated first, and then second expression + * + * @path ch11/11.7/11.7.2/S11.7.2_A2.4_T2.js + * @description Checking with "throw" + */ + +//CHECK#1 +var x = function () { throw "x"; }; +var y = function () { throw "y"; }; +try { + x() >> y(); + $ERROR('#1.1: var x = function () { throw "x"; }; var y = function () { throw "y"; }; x() >> y() throw "x". Actual: ' + (x() >> y())); +} catch (e) { + if (e === "y") { + $ERROR('#1.2: First expression is evaluated first, and then second expression'); + } else { + if (e !== "x") { + $ERROR('#1.3: var x = function () { throw "x"; }; var y = function () { throw "y"; }; x() >> y() throw "x". Actual: ' + (e)); + } + } +} + diff --git a/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A2.4_T3.js b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A2.4_T3.js new file mode 100644 index 000000000..45f52d79d --- /dev/null +++ b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A2.4_T3.js @@ -0,0 +1,27 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * First expression is evaluated first, and then second expression + * + * @path ch11/11.7/11.7.2/S11.7.2_A2.4_T3.js + * @description Checking with undeclarated variables + */ + +//CHECK#1 +try { + x >> (x = 1); + $ERROR('#1.1: x >> (x = 1) throw ReferenceError. Actual: ' + (x >> (x = 1))); +} +catch (e) { + if ((e instanceof ReferenceError) !== true) { + $ERROR('#1.2: x >> (x = 1) throw ReferenceError. Actual: ' + (e)); + } +} + +//CHECK#2 +if ((y = 1) >> y !== 0) { + $ERROR('#2: (y = 1) >> y === 0. Actual: ' + ((y = 1) >> y)); +} + + diff --git a/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A3_T1.1.js b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A3_T1.1.js new file mode 100644 index 000000000..0f872cd25 --- /dev/null +++ b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A3_T1.1.js @@ -0,0 +1,30 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Operator x >> y returns ToNumber(x) >> ToNumber(y) + * + * @path ch11/11.7/11.7.2/S11.7.2_A3_T1.1.js + * @description Type(x) and Type(y) vary between primitive boolean and Boolean object + */ + +//CHECK#1 +if (true >> true !== 0) { + $ERROR('#1: true >> true === 0. Actual: ' + (true >> true)); +} + +//CHECK#2 +if (new Boolean(true) >> true !== 0) { + $ERROR('#2: new Boolean(true) >> true === 0. Actual: ' + (new Boolean(true) >> true)); +} + +//CHECK#3 +if (true >> new Boolean(true) !== 0) { + $ERROR('#3: true >> new Boolean(true) === 0. Actual: ' + (true >> new Boolean(true))); +} + +//CHECK#4 +if (new Boolean(true) >> new Boolean(true) !== 0) { + $ERROR('#4: new Boolean(true) >> new Boolean(true) === 0. Actual: ' + (new Boolean(true) >> new Boolean(true))); +} + diff --git a/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A3_T1.2.js b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A3_T1.2.js new file mode 100644 index 000000000..0398c019a --- /dev/null +++ b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A3_T1.2.js @@ -0,0 +1,31 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Operator x >> y returns ToNumber(x) >> ToNumber(y) + * + * @path ch11/11.7/11.7.2/S11.7.2_A3_T1.2.js + * @description Type(x) and Type(y) vary between primitive number and Number object + */ + +//CHECK#1 +if (1 >> 1 !== 0) { + $ERROR('#1: 1 >> 1 === 0. Actual: ' + (1 >> 1)); +} + +//CHECK#2 +if (new Number(1) >> 1 !== 0) { + $ERROR('#2: new Number(1) >> 1 === 0. Actual: ' + (new Number(1) >> 1)); +} + +//CHECK#3 +if (1 >> new Number(1) !== 0) { + $ERROR('#3: 1 >> new Number(1) === 0. Actual: ' + (1 >> new Number(1))); +} + +//CHECK#4 +if (new Number(1) >> new Number(1) !== 0) { + $ERROR('#4: new Number(1) >> new Number(1) === 0. Actual: ' + (new Number(1) >> new Number(1))); +} + + diff --git a/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A3_T1.3.js b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A3_T1.3.js new file mode 100644 index 000000000..7172e563c --- /dev/null +++ b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A3_T1.3.js @@ -0,0 +1,40 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Operator x >> y returns ToNumber(x) >> ToNumber(y) + * + * @path ch11/11.7/11.7.2/S11.7.2_A3_T1.3.js + * @description Type(x) and Type(y) vary between primitive string and String object + */ + +//CHECK#1 +if ("1" >> "1" !== 0) { + $ERROR('#1: "1" >> "1" === 0. Actual: ' + ("1" >> "1")); +} + +//CHECK#2 +if (new String("1") >> "1" !== 0) { + $ERROR('#2: new String("1") >> "1" === 0. Actual: ' + (new String("1") >> "1")); +} + +//CHECK#3 +if ("1" >> new String("1") !== 0) { + $ERROR('#3: "1" >> new String("1") === 0. Actual: ' + ("1" >> new String("1"))); +} + +//CHECK#4 +if (new String("1") >> new String("1") !== 0) { + $ERROR('#4: new String("1") >> new String("1") === 0. Actual: ' + (new String("1") >> new String("1"))); +} + +//CHECK#5 +if ("x" >> "1" !== 0) { + $ERROR('#5: "x" >> "1" === 0. Actual: ' + ("x" >> "1")); +} + +//CHECK#6 +if ("1" >> "x" !== 1) { + $ERROR('#6: "1" >> "x" === 1. Actual: ' + ("1" >> "x")); +} + diff --git a/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A3_T1.4.js b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A3_T1.4.js new file mode 100644 index 000000000..b792d7c82 --- /dev/null +++ b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A3_T1.4.js @@ -0,0 +1,30 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Operator x >> y returns ToNumber(x) >> ToNumber(y) + * + * @path ch11/11.7/11.7.2/S11.7.2_A3_T1.4.js + * @description Type(x) and Type(y) vary between Null and Undefined + */ + +//CHECK#1 +if (null >> undefined !== 0) { + $ERROR('#1: null >> undefined === 0. Actual: ' + (null >> undefined)); +} + +//CHECK#2 +if (undefined >> null !== 0) { + $ERROR('#2: undefined >> null === 0. Actual: ' + (undefined >> null)); +} + +//CHECK#3 +if (undefined >> undefined !== 0) { + $ERROR('#3: undefined >> undefined === 0. Actual: ' + (undefined >> undefined)); +} + +//CHECK#4 +if (null >> null !== 0) { + $ERROR('#4: null >> null === 0. Actual: ' + (null >> null)); +} + diff --git a/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A3_T1.5.js b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A3_T1.5.js new file mode 100644 index 000000000..3f208836f --- /dev/null +++ b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A3_T1.5.js @@ -0,0 +1,31 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Operator x >> y returns ToNumber(x) >> ToNumber(y) + * + * @path ch11/11.7/11.7.2/S11.7.2_A3_T1.5.js + * @description Type(x) and Type(y) vary between Object object and Function object + */ + +//CHECK#1 +if (({} >> function(){return 1}) !== 0) { + $ERROR('#1: ({} >> function(){return 1}) === 0. Actual: ' + (({} >> function(){return 1}))); +} + +//CHECK#2 +if ((function(){return 1} >> {}) !== 0) { + $ERROR('#2: (function(){return 1} >> {}) === 0. Actual: ' + ((function(){return 1} >> {}))); +} + +//CHECK#3 +if ((function(){return 1} >> function(){return 1}) !== 0) { + $ERROR('#3: (function(){return 1} >> function(){return 1}) === 0. Actual: ' + ((function(){return 1} >> function(){return 1}))); +} + +//CHECK#4 +if (({} >> {}) !== 0) { + $ERROR('#4: ({} >> {}) === 0. Actual: ' + (({} >> {}))); +} + + diff --git a/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A3_T2.1.js b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A3_T2.1.js new file mode 100644 index 000000000..808fb0e3a --- /dev/null +++ b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A3_T2.1.js @@ -0,0 +1,50 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Operator x >> y returns ToNumber(x) >> ToNumber(y) + * + * @path ch11/11.7/11.7.2/S11.7.2_A3_T2.1.js + * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object) + */ + +//CHECK#1 +if (true >> 1 !== 0) { + $ERROR('#1: true >> 1 === 0. Actual: ' + (true >> 1)); +} + +//CHECK#2 +if (1 >> true !== 0) { + $ERROR('#2: 1 >> true === 0. Actual: ' + (1 >> true)); +} + +//CHECK#3 +if (new Boolean(true) >> 1 !== 0) { + $ERROR('#3: new Boolean(true) >> 1 === 0. Actual: ' + (new Boolean(true) >> 1)); +} + +//CHECK#4 +if (1 >> new Boolean(true) !== 0) { + $ERROR('#4: 1 >> new Boolean(true) === 0. Actual: ' + (1 >> new Boolean(true))); +} + +//CHECK#5 +if (true >> new Number(1) !== 0) { + $ERROR('#5: true >> new Number(1) === 0. Actual: ' + (true >> new Number(1))); +} + +//CHECK#6 +if (new Number(1) >> true !== 0) { + $ERROR('#6: new Number(1) >> true === 0. Actual: ' + (new Number(1) >> true)); +} + +//CHECK#7 +if (new Boolean(true) >> new Number(1) !== 0) { + $ERROR('#7: new Boolean(true) >> new Number(1) === 0. Actual: ' + (new Boolean(true) >> new Number(1))); +} + +//CHECK#8 +if (new Number(1) >> new Boolean(true) !== 0) { + $ERROR('#8: new Number(1) >> new Boolean(true) === 0. Actual: ' + (new Number(1) >> new Boolean(true))); +} + diff --git a/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A3_T2.2.js b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A3_T2.2.js new file mode 100644 index 000000000..57c037ae0 --- /dev/null +++ b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A3_T2.2.js @@ -0,0 +1,60 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Operator x >> y returns ToNumber(x) >> ToNumber(y) + * + * @path ch11/11.7/11.7.2/S11.7.2_A3_T2.2.js + * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object) + */ + +//CHECK#1 +if ("1" >> 1 !== 0) { + $ERROR('#1: "1" >> 1 === 0. Actual: ' + ("1" >> 1)); +} + +//CHECK#2 +if (1 >> "1" !== 0) { + $ERROR('#2: 1 >> "1" === 0. Actual: ' + (1 >> "1")); +} + +//CHECK#3 +if (new String("1") >> 1 !== 0) { + $ERROR('#3: new String("1") >> 1 === 0. Actual: ' + (new String("1") >> 1)); +} + +//CHECK#4 +if (1 >> new String("1") !== 0) { + $ERROR('#4: 1 >> new String("1") === 0. Actual: ' + (1 >> new String("1"))); +} + +//CHECK#5 +if ("1" >> new Number(1) !== 0) { + $ERROR('#5: "1" >> new Number(1) === 0. Actual: ' + ("1" >> new Number(1))); +} + +//CHECK#6 +if (new Number(1) >> "1" !== 0) { + $ERROR('#6: new Number(1) >> "1" === 0. Actual: ' + (new Number(1) >> "1")); +} + +//CHECK#7 +if (new String("1") >> new Number(1) !== 0) { + $ERROR('#7: new String("1") >> new Number(1) === 0. Actual: ' + (new String("1") >> new Number(1))); +} + +//CHECK#8 +if (new Number(1) >> new String("1") !== 0) { + $ERROR('#8: new Number(1) >> new String("1") === 0. Actual: ' + (new Number(1) >> new String("1"))); +} + +//CHECK#9 +if ("x" >> 1 !== 0) { + $ERROR('#9: "x" >> 1 === 0. Actual: ' + ("x" >> 1)); +} + +//CHECK#10 +if (1 >> "x" !== 1) { + $ERROR('#10: 1 >> "x" === 1. Actual: ' + (1 >> "x")); +} + diff --git a/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A3_T2.3.js b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A3_T2.3.js new file mode 100644 index 000000000..fe7a31aaa --- /dev/null +++ b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A3_T2.3.js @@ -0,0 +1,30 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Operator x >> y returns ToNumber(x) >> ToNumber(y) + * + * @path ch11/11.7/11.7.2/S11.7.2_A3_T2.3.js + * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null + */ + +//CHECK#1 +if (1 >> null !== 1) { + $ERROR('#1: 1 >> null === 1. Actual: ' + (1 >> null)); +} + +//CHECK#2 +if (null >> 1 !== 0) { + $ERROR('#2: null >> 1 === 0. Actual: ' + (null >> 1)); +} + +//CHECK#3 +if (new Number(1) >> null !== 1) { + $ERROR('#3: new Number(1) >> null === 1. Actual: ' + (new Number(1) >> null)); +} + +//CHECK#4 +if (null >> new Number(1) !== 0) { + $ERROR('#4: null >> new Number(1) === 0. Actual: ' + (null >> new Number(1))); +} + diff --git a/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A3_T2.4.js b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A3_T2.4.js new file mode 100644 index 000000000..138b77681 --- /dev/null +++ b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A3_T2.4.js @@ -0,0 +1,30 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Operator x >> y returns ToNumber(x) >> ToNumber(y) + * + * @path ch11/11.7/11.7.2/S11.7.2_A3_T2.4.js + * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined + */ + +//CHECK#1 +if (1 >> undefined !== 1) { + $ERROR('#1: 1 >> undefined === 1. Actual: ' + (1 >> undefined)); +} + +//CHECK#2 +if (undefined >> 1 !== 0) { + $ERROR('#2: undefined >> 1 === 0. Actual: ' + (undefined >> 1)); +} + +//CHECK#3 +if (new Number(1) >> undefined !== 1) { + $ERROR('#3: new Number(1) >> undefined === 1. Actual: ' + (new Number(1) >> undefined)); +} + +//CHECK#4 +if (undefined >> new Number(1) !== 0) { + $ERROR('#4: undefined >> new Number(1) === 0. Actual: ' + (undefined >> new Number(1))); +} + diff --git a/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A3_T2.5.js b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A3_T2.5.js new file mode 100644 index 000000000..ca296c62e --- /dev/null +++ b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A3_T2.5.js @@ -0,0 +1,50 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Operator x >> y returns ToNumber(x) >> ToNumber(y) + * + * @path ch11/11.7/11.7.2/S11.7.2_A3_T2.5.js + * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object) + */ + +//CHECK#1 +if (true >> "1" !== 0) { + $ERROR('#1: true >> "1" === 0. Actual: ' + (true >> "1")); +} + +//CHECK#2 +if ("1" >> true !== 0) { + $ERROR('#2: "1" >> true === 0. Actual: ' + ("1" >> true)); +} + +//CHECK#3 +if (new Boolean(true) >> "1" !== 0) { + $ERROR('#3: new Boolean(true) >> "1" === 0. Actual: ' + (new Boolean(true) >> "1")); +} + +//CHECK#4 +if ("1" >> new Boolean(true) !== 0) { + $ERROR('#4: "1" >> new Boolean(true) === 0. Actual: ' + ("1" >> new Boolean(true))); +} + +//CHECK#5 +if (true >> new String("1") !== 0) { + $ERROR('#5: true >> new String("1") === 0. Actual: ' + (true >> new String("1"))); +} + +//CHECK#6 +if (new String("1") >> true !== 0) { + $ERROR('#6: new String("1") >> true === 0. Actual: ' + (new String("1") >> true)); +} + +//CHECK#7 +if (new Boolean(true) >> new String("1") !== 0) { + $ERROR('#7: new Boolean(true) >> new String("1") === 0. Actual: ' + (new Boolean(true) >> new String("1"))); +} + +//CHECK#8 +if (new String("1") >> new Boolean(true) !== 0) { + $ERROR('#8: new String("1") >> new Boolean(true) === 0. Actual: ' + (new String("1") >> new Boolean(true))); +} + diff --git a/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A3_T2.6.js b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A3_T2.6.js new file mode 100644 index 000000000..ea18c20a6 --- /dev/null +++ b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A3_T2.6.js @@ -0,0 +1,30 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Operator x >> y returns ToNumber(x) >> ToNumber(y) + * + * @path ch11/11.7/11.7.2/S11.7.2_A3_T2.6.js + * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined + */ + +//CHECK#1 +if ("1" >> undefined !== 1) { + $ERROR('#1: "1" >> undefined === 1. Actual: ' + ("1" >> undefined)); +} + +//CHECK#2 +if (undefined >> "1" !== 0) { + $ERROR('#2: undefined >> "1" === 0. Actual: ' + (undefined >> "1")); +} + +//CHECK#3 +if (new String("1") >> undefined !== 1) { + $ERROR('#3: new String("1") >> undefined === 1. Actual: ' + (new String("1") >> undefined)); +} + +//CHECK#4 +if (undefined >> new String("1") !== 0) { + $ERROR('#4: undefined >> new String("1") === 0. Actual: ' + (undefined >> new String("1"))); +} + diff --git a/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A3_T2.7.js b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A3_T2.7.js new file mode 100644 index 000000000..3061313c2 --- /dev/null +++ b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A3_T2.7.js @@ -0,0 +1,30 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Operator x >> y returns ToNumber(x) >> ToNumber(y) + * + * @path ch11/11.7/11.7.2/S11.7.2_A3_T2.7.js + * @description Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null + */ + +//CHECK#1 +if ("1" >> null !== 1) { + $ERROR('#1: "1" >> null === 1. Actual: ' + ("1" >> null)); +} + +//CHECK#2 +if (null >> "1" !== 0) { + $ERROR('#2: null >> "1" === 0. Actual: ' + (null >> "1")); +} + +//CHECK#3 +if (new String("1") >> null !== 1) { + $ERROR('#3: new String("1") >> null === 1. Actual: ' + (new String("1") >> null)); +} + +//CHECK#4 +if (null >> new String("1") !== 0) { + $ERROR('#4: null >> new String("1") === 0. Actual: ' + (null >> new String("1"))); +} + diff --git a/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A3_T2.8.js b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A3_T2.8.js new file mode 100644 index 000000000..a918a6791 --- /dev/null +++ b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A3_T2.8.js @@ -0,0 +1,30 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Operator x >> y returns ToNumber(x) >> ToNumber(y) + * + * @path ch11/11.7/11.7.2/S11.7.2_A3_T2.8.js + * @description Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined + */ + +//CHECK#1 +if (true >> undefined !== 1) { + $ERROR('#1: true >> undefined === 1. Actual: ' + (true >> undefined)); +} + +//CHECK#2 +if (undefined >> true !== 0) { + $ERROR('#2: undefined >> true === 0. Actual: ' + (undefined >> true)); +} + +//CHECK#3 +if (new Boolean(true) >> undefined !== 1) { + $ERROR('#3: new Boolean(true) >> undefined === 1. Actual: ' + (new Boolean(true) >> undefined)); +} + +//CHECK#4 +if (undefined >> new Boolean(true) !== 0) { + $ERROR('#4: undefined >> new Boolean(true) === 0. Actual: ' + (undefined >> new Boolean(true))); +} + diff --git a/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A3_T2.9.js b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A3_T2.9.js new file mode 100644 index 000000000..f5cbaf944 --- /dev/null +++ b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A3_T2.9.js @@ -0,0 +1,30 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Operator x >> y returns ToNumber(x) >> ToNumber(y) + * + * @path ch11/11.7/11.7.2/S11.7.2_A3_T2.9.js + * @description Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null + */ + +//CHECK#1 +if (true >> null !== 1) { + $ERROR('#1: true >> null === 1. Actual: ' + (true >> null)); +} + +//CHECK#2 +if (null >> true !== 0) { + $ERROR('#2: null >> true === 0. Actual: ' + (null >> true)); +} + +//CHECK#3 +if (new Boolean(true) >> null !== 1) { + $ERROR('#3: new Boolean(true) >> null === 1. Actual: ' + (new Boolean(true) >> null)); +} + +//CHECK#4 +if (null >> new Boolean(true) !== 0) { + $ERROR('#4: null >> new Boolean(true) === 0. Actual: ' + (null >> new Boolean(true))); +} + diff --git a/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A4_T1.js b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A4_T1.js new file mode 100644 index 000000000..851139bb1 --- /dev/null +++ b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A4_T1.js @@ -0,0 +1,2571 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check x >> y operator in distinct points + * + * @path ch11/11.7/11.7.2/S11.7.2_A4_T1.js + * @description ShiftExpression = -2^n, n = 0...15 + */ + +//CHECK + +if (-1 >> 0 !== -1) { + $ERROR('#1: -1 >> 0 === -1. Actual: ' + (-1 >> 0)); +} + + +if (-2 >> 0 !== -2) { + $ERROR('#2: -2 >> 0 === -2. Actual: ' + (-2 >> 0)); +} + + +if (-4 >> 0 !== -4) { + $ERROR('#3: -4 >> 0 === -4. Actual: ' + (-4 >> 0)); +} + + +if (-8 >> 0 !== -8) { + $ERROR('#4: -8 >> 0 === -8. Actual: ' + (-8 >> 0)); +} + + +if (-16 >> 0 !== -16) { + $ERROR('#5: -16 >> 0 === -16. Actual: ' + (-16 >> 0)); +} + + +if (-32 >> 0 !== -32) { + $ERROR('#6: -32 >> 0 === -32. Actual: ' + (-32 >> 0)); +} + + +if (-64 >> 0 !== -64) { + $ERROR('#7: -64 >> 0 === -64. Actual: ' + (-64 >> 0)); +} + + +if (-128 >> 0 !== -128) { + $ERROR('#8: -128 >> 0 === -128. Actual: ' + (-128 >> 0)); +} + + +if (-256 >> 0 !== -256) { + $ERROR('#9: -256 >> 0 === -256. Actual: ' + (-256 >> 0)); +} + + +if (-512 >> 0 !== -512) { + $ERROR('#10: -512 >> 0 === -512. Actual: ' + (-512 >> 0)); +} + + +if (-1024 >> 0 !== -1024) { + $ERROR('#11: -1024 >> 0 === -1024. Actual: ' + (-1024 >> 0)); +} + + +if (-2048 >> 0 !== -2048) { + $ERROR('#12: -2048 >> 0 === -2048. Actual: ' + (-2048 >> 0)); +} + + +if (-4096 >> 0 !== -4096) { + $ERROR('#13: -4096 >> 0 === -4096. Actual: ' + (-4096 >> 0)); +} + + +if (-8192 >> 0 !== -8192) { + $ERROR('#14: -8192 >> 0 === -8192. Actual: ' + (-8192 >> 0)); +} + + +if (-16384 >> 0 !== -16384) { + $ERROR('#15: -16384 >> 0 === -16384. Actual: ' + (-16384 >> 0)); +} + + +if (-32768 >> 0 !== -32768) { + $ERROR('#16: -32768 >> 0 === -32768. Actual: ' + (-32768 >> 0)); +} + + +if (-65536 >> 0 !== -65536) { + $ERROR('#17: -65536 >> 0 === -65536. Actual: ' + (-65536 >> 0)); +} + + +if (-131072 >> 0 !== -131072) { + $ERROR('#18: -131072 >> 0 === -131072. Actual: ' + (-131072 >> 0)); +} + + +if (-262144 >> 0 !== -262144) { + $ERROR('#19: -262144 >> 0 === -262144. Actual: ' + (-262144 >> 0)); +} + + +if (-524288 >> 0 !== -524288) { + $ERROR('#20: -524288 >> 0 === -524288. Actual: ' + (-524288 >> 0)); +} + + +if (-1048576 >> 0 !== -1048576) { + $ERROR('#21: -1048576 >> 0 === -1048576. Actual: ' + (-1048576 >> 0)); +} + + +if (-2097152 >> 0 !== -2097152) { + $ERROR('#22: -2097152 >> 0 === -2097152. Actual: ' + (-2097152 >> 0)); +} + + +if (-4194304 >> 0 !== -4194304) { + $ERROR('#23: -4194304 >> 0 === -4194304. Actual: ' + (-4194304 >> 0)); +} + + +if (-8388608 >> 0 !== -8388608) { + $ERROR('#24: -8388608 >> 0 === -8388608. Actual: ' + (-8388608 >> 0)); +} + + +if (-16777216 >> 0 !== -16777216) { + $ERROR('#25: -16777216 >> 0 === -16777216. Actual: ' + (-16777216 >> 0)); +} + + +if (-33554432 >> 0 !== -33554432) { + $ERROR('#26: -33554432 >> 0 === -33554432. Actual: ' + (-33554432 >> 0)); +} + + +if (-67108864 >> 0 !== -67108864) { + $ERROR('#27: -67108864 >> 0 === -67108864. Actual: ' + (-67108864 >> 0)); +} + + +if (-134217728 >> 0 !== -134217728) { + $ERROR('#28: -134217728 >> 0 === -134217728. Actual: ' + (-134217728 >> 0)); +} + + +if (-268435456 >> 0 !== -268435456) { + $ERROR('#29: -268435456 >> 0 === -268435456. Actual: ' + (-268435456 >> 0)); +} + + +if (-536870912 >> 0 !== -536870912) { + $ERROR('#30: -536870912 >> 0 === -536870912. Actual: ' + (-536870912 >> 0)); +} + + +if (-1073741824 >> 0 !== -1073741824) { + $ERROR('#31: -1073741824 >> 0 === -1073741824. Actual: ' + (-1073741824 >> 0)); +} + + +if (-2147483648 >> 0 !== -2147483648) { + $ERROR('#32: -2147483648 >> 0 === -2147483648. Actual: ' + (-2147483648 >> 0)); +} + + +if (-1 >> 1 !== -1) { + $ERROR('#33: -1 >> 1 === -1. Actual: ' + (-1 >> 1)); +} + + +if (-2 >> 1 !== -1) { + $ERROR('#34: -2 >> 1 === -1. Actual: ' + (-2 >> 1)); +} + + +if (-4 >> 1 !== -2) { + $ERROR('#35: -4 >> 1 === -2. Actual: ' + (-4 >> 1)); +} + + +if (-8 >> 1 !== -4) { + $ERROR('#36: -8 >> 1 === -4. Actual: ' + (-8 >> 1)); +} + + +if (-16 >> 1 !== -8) { + $ERROR('#37: -16 >> 1 === -8. Actual: ' + (-16 >> 1)); +} + + +if (-32 >> 1 !== -16) { + $ERROR('#38: -32 >> 1 === -16. Actual: ' + (-32 >> 1)); +} + + +if (-64 >> 1 !== -32) { + $ERROR('#39: -64 >> 1 === -32. Actual: ' + (-64 >> 1)); +} + + +if (-128 >> 1 !== -64) { + $ERROR('#40: -128 >> 1 === -64. Actual: ' + (-128 >> 1)); +} + + +if (-256 >> 1 !== -128) { + $ERROR('#41: -256 >> 1 === -128. Actual: ' + (-256 >> 1)); +} + + +if (-512 >> 1 !== -256) { + $ERROR('#42: -512 >> 1 === -256. Actual: ' + (-512 >> 1)); +} + + +if (-1024 >> 1 !== -512) { + $ERROR('#43: -1024 >> 1 === -512. Actual: ' + (-1024 >> 1)); +} + + +if (-2048 >> 1 !== -1024) { + $ERROR('#44: -2048 >> 1 === -1024. Actual: ' + (-2048 >> 1)); +} + + +if (-4096 >> 1 !== -2048) { + $ERROR('#45: -4096 >> 1 === -2048. Actual: ' + (-4096 >> 1)); +} + + +if (-8192 >> 1 !== -4096) { + $ERROR('#46: -8192 >> 1 === -4096. Actual: ' + (-8192 >> 1)); +} + + +if (-16384 >> 1 !== -8192) { + $ERROR('#47: -16384 >> 1 === -8192. Actual: ' + (-16384 >> 1)); +} + + +if (-32768 >> 1 !== -16384) { + $ERROR('#48: -32768 >> 1 === -16384. Actual: ' + (-32768 >> 1)); +} + + +if (-65536 >> 1 !== -32768) { + $ERROR('#49: -65536 >> 1 === -32768. Actual: ' + (-65536 >> 1)); +} + + +if (-131072 >> 1 !== -65536) { + $ERROR('#50: -131072 >> 1 === -65536. Actual: ' + (-131072 >> 1)); +} + + +if (-262144 >> 1 !== -131072) { + $ERROR('#51: -262144 >> 1 === -131072. Actual: ' + (-262144 >> 1)); +} + + +if (-524288 >> 1 !== -262144) { + $ERROR('#52: -524288 >> 1 === -262144. Actual: ' + (-524288 >> 1)); +} + + +if (-1048576 >> 1 !== -524288) { + $ERROR('#53: -1048576 >> 1 === -524288. Actual: ' + (-1048576 >> 1)); +} + + +if (-2097152 >> 1 !== -1048576) { + $ERROR('#54: -2097152 >> 1 === -1048576. Actual: ' + (-2097152 >> 1)); +} + + +if (-4194304 >> 1 !== -2097152) { + $ERROR('#55: -4194304 >> 1 === -2097152. Actual: ' + (-4194304 >> 1)); +} + + +if (-8388608 >> 1 !== -4194304) { + $ERROR('#56: -8388608 >> 1 === -4194304. Actual: ' + (-8388608 >> 1)); +} + + +if (-16777216 >> 1 !== -8388608) { + $ERROR('#57: -16777216 >> 1 === -8388608. Actual: ' + (-16777216 >> 1)); +} + + +if (-33554432 >> 1 !== -16777216) { + $ERROR('#58: -33554432 >> 1 === -16777216. Actual: ' + (-33554432 >> 1)); +} + + +if (-67108864 >> 1 !== -33554432) { + $ERROR('#59: -67108864 >> 1 === -33554432. Actual: ' + (-67108864 >> 1)); +} + + +if (-134217728 >> 1 !== -67108864) { + $ERROR('#60: -134217728 >> 1 === -67108864. Actual: ' + (-134217728 >> 1)); +} + + +if (-268435456 >> 1 !== -134217728) { + $ERROR('#61: -268435456 >> 1 === -134217728. Actual: ' + (-268435456 >> 1)); +} + + +if (-536870912 >> 1 !== -268435456) { + $ERROR('#62: -536870912 >> 1 === -268435456. Actual: ' + (-536870912 >> 1)); +} + + +if (-1073741824 >> 1 !== -536870912) { + $ERROR('#63: -1073741824 >> 1 === -536870912. Actual: ' + (-1073741824 >> 1)); +} + + +if (-2147483648 >> 1 !== -1073741824) { + $ERROR('#64: -2147483648 >> 1 === -1073741824. Actual: ' + (-2147483648 >> 1)); +} + + +if (-1 >> 2 !== -1) { + $ERROR('#65: -1 >> 2 === -1. Actual: ' + (-1 >> 2)); +} + + +if (-2 >> 2 !== -1) { + $ERROR('#66: -2 >> 2 === -1. Actual: ' + (-2 >> 2)); +} + + +if (-4 >> 2 !== -1) { + $ERROR('#67: -4 >> 2 === -1. Actual: ' + (-4 >> 2)); +} + + +if (-8 >> 2 !== -2) { + $ERROR('#68: -8 >> 2 === -2. Actual: ' + (-8 >> 2)); +} + + +if (-16 >> 2 !== -4) { + $ERROR('#69: -16 >> 2 === -4. Actual: ' + (-16 >> 2)); +} + + +if (-32 >> 2 !== -8) { + $ERROR('#70: -32 >> 2 === -8. Actual: ' + (-32 >> 2)); +} + + +if (-64 >> 2 !== -16) { + $ERROR('#71: -64 >> 2 === -16. Actual: ' + (-64 >> 2)); +} + + +if (-128 >> 2 !== -32) { + $ERROR('#72: -128 >> 2 === -32. Actual: ' + (-128 >> 2)); +} + + +if (-256 >> 2 !== -64) { + $ERROR('#73: -256 >> 2 === -64. Actual: ' + (-256 >> 2)); +} + + +if (-512 >> 2 !== -128) { + $ERROR('#74: -512 >> 2 === -128. Actual: ' + (-512 >> 2)); +} + + +if (-1024 >> 2 !== -256) { + $ERROR('#75: -1024 >> 2 === -256. Actual: ' + (-1024 >> 2)); +} + + +if (-2048 >> 2 !== -512) { + $ERROR('#76: -2048 >> 2 === -512. Actual: ' + (-2048 >> 2)); +} + + +if (-4096 >> 2 !== -1024) { + $ERROR('#77: -4096 >> 2 === -1024. Actual: ' + (-4096 >> 2)); +} + + +if (-8192 >> 2 !== -2048) { + $ERROR('#78: -8192 >> 2 === -2048. Actual: ' + (-8192 >> 2)); +} + + +if (-16384 >> 2 !== -4096) { + $ERROR('#79: -16384 >> 2 === -4096. Actual: ' + (-16384 >> 2)); +} + + +if (-32768 >> 2 !== -8192) { + $ERROR('#80: -32768 >> 2 === -8192. Actual: ' + (-32768 >> 2)); +} + + +if (-65536 >> 2 !== -16384) { + $ERROR('#81: -65536 >> 2 === -16384. Actual: ' + (-65536 >> 2)); +} + + +if (-131072 >> 2 !== -32768) { + $ERROR('#82: -131072 >> 2 === -32768. Actual: ' + (-131072 >> 2)); +} + + +if (-262144 >> 2 !== -65536) { + $ERROR('#83: -262144 >> 2 === -65536. Actual: ' + (-262144 >> 2)); +} + + +if (-524288 >> 2 !== -131072) { + $ERROR('#84: -524288 >> 2 === -131072. Actual: ' + (-524288 >> 2)); +} + + +if (-1048576 >> 2 !== -262144) { + $ERROR('#85: -1048576 >> 2 === -262144. Actual: ' + (-1048576 >> 2)); +} + + +if (-2097152 >> 2 !== -524288) { + $ERROR('#86: -2097152 >> 2 === -524288. Actual: ' + (-2097152 >> 2)); +} + + +if (-4194304 >> 2 !== -1048576) { + $ERROR('#87: -4194304 >> 2 === -1048576. Actual: ' + (-4194304 >> 2)); +} + + +if (-8388608 >> 2 !== -2097152) { + $ERROR('#88: -8388608 >> 2 === -2097152. Actual: ' + (-8388608 >> 2)); +} + + +if (-16777216 >> 2 !== -4194304) { + $ERROR('#89: -16777216 >> 2 === -4194304. Actual: ' + (-16777216 >> 2)); +} + + +if (-33554432 >> 2 !== -8388608) { + $ERROR('#90: -33554432 >> 2 === -8388608. Actual: ' + (-33554432 >> 2)); +} + + +if (-67108864 >> 2 !== -16777216) { + $ERROR('#91: -67108864 >> 2 === -16777216. Actual: ' + (-67108864 >> 2)); +} + + +if (-134217728 >> 2 !== -33554432) { + $ERROR('#92: -134217728 >> 2 === -33554432. Actual: ' + (-134217728 >> 2)); +} + + +if (-268435456 >> 2 !== -67108864) { + $ERROR('#93: -268435456 >> 2 === -67108864. Actual: ' + (-268435456 >> 2)); +} + + +if (-536870912 >> 2 !== -134217728) { + $ERROR('#94: -536870912 >> 2 === -134217728. Actual: ' + (-536870912 >> 2)); +} + + +if (-1073741824 >> 2 !== -268435456) { + $ERROR('#95: -1073741824 >> 2 === -268435456. Actual: ' + (-1073741824 >> 2)); +} + + +if (-2147483648 >> 2 !== -536870912) { + $ERROR('#96: -2147483648 >> 2 === -536870912. Actual: ' + (-2147483648 >> 2)); +} + + +if (-1 >> 3 !== -1) { + $ERROR('#97: -1 >> 3 === -1. Actual: ' + (-1 >> 3)); +} + + +if (-2 >> 3 !== -1) { + $ERROR('#98: -2 >> 3 === -1. Actual: ' + (-2 >> 3)); +} + + +if (-4 >> 3 !== -1) { + $ERROR('#99: -4 >> 3 === -1. Actual: ' + (-4 >> 3)); +} + + +if (-8 >> 3 !== -1) { + $ERROR('#100: -8 >> 3 === -1. Actual: ' + (-8 >> 3)); +} + + +if (-16 >> 3 !== -2) { + $ERROR('#101: -16 >> 3 === -2. Actual: ' + (-16 >> 3)); +} + + +if (-32 >> 3 !== -4) { + $ERROR('#102: -32 >> 3 === -4. Actual: ' + (-32 >> 3)); +} + + +if (-64 >> 3 !== -8) { + $ERROR('#103: -64 >> 3 === -8. Actual: ' + (-64 >> 3)); +} + + +if (-128 >> 3 !== -16) { + $ERROR('#104: -128 >> 3 === -16. Actual: ' + (-128 >> 3)); +} + + +if (-256 >> 3 !== -32) { + $ERROR('#105: -256 >> 3 === -32. Actual: ' + (-256 >> 3)); +} + + +if (-512 >> 3 !== -64) { + $ERROR('#106: -512 >> 3 === -64. Actual: ' + (-512 >> 3)); +} + + +if (-1024 >> 3 !== -128) { + $ERROR('#107: -1024 >> 3 === -128. Actual: ' + (-1024 >> 3)); +} + + +if (-2048 >> 3 !== -256) { + $ERROR('#108: -2048 >> 3 === -256. Actual: ' + (-2048 >> 3)); +} + + +if (-4096 >> 3 !== -512) { + $ERROR('#109: -4096 >> 3 === -512. Actual: ' + (-4096 >> 3)); +} + + +if (-8192 >> 3 !== -1024) { + $ERROR('#110: -8192 >> 3 === -1024. Actual: ' + (-8192 >> 3)); +} + + +if (-16384 >> 3 !== -2048) { + $ERROR('#111: -16384 >> 3 === -2048. Actual: ' + (-16384 >> 3)); +} + + +if (-32768 >> 3 !== -4096) { + $ERROR('#112: -32768 >> 3 === -4096. Actual: ' + (-32768 >> 3)); +} + + +if (-65536 >> 3 !== -8192) { + $ERROR('#113: -65536 >> 3 === -8192. Actual: ' + (-65536 >> 3)); +} + + +if (-131072 >> 3 !== -16384) { + $ERROR('#114: -131072 >> 3 === -16384. Actual: ' + (-131072 >> 3)); +} + + +if (-262144 >> 3 !== -32768) { + $ERROR('#115: -262144 >> 3 === -32768. Actual: ' + (-262144 >> 3)); +} + + +if (-524288 >> 3 !== -65536) { + $ERROR('#116: -524288 >> 3 === -65536. Actual: ' + (-524288 >> 3)); +} + + +if (-1048576 >> 3 !== -131072) { + $ERROR('#117: -1048576 >> 3 === -131072. Actual: ' + (-1048576 >> 3)); +} + + +if (-2097152 >> 3 !== -262144) { + $ERROR('#118: -2097152 >> 3 === -262144. Actual: ' + (-2097152 >> 3)); +} + + +if (-4194304 >> 3 !== -524288) { + $ERROR('#119: -4194304 >> 3 === -524288. Actual: ' + (-4194304 >> 3)); +} + + +if (-8388608 >> 3 !== -1048576) { + $ERROR('#120: -8388608 >> 3 === -1048576. Actual: ' + (-8388608 >> 3)); +} + + +if (-16777216 >> 3 !== -2097152) { + $ERROR('#121: -16777216 >> 3 === -2097152. Actual: ' + (-16777216 >> 3)); +} + + +if (-33554432 >> 3 !== -4194304) { + $ERROR('#122: -33554432 >> 3 === -4194304. Actual: ' + (-33554432 >> 3)); +} + + +if (-67108864 >> 3 !== -8388608) { + $ERROR('#123: -67108864 >> 3 === -8388608. Actual: ' + (-67108864 >> 3)); +} + + +if (-134217728 >> 3 !== -16777216) { + $ERROR('#124: -134217728 >> 3 === -16777216. Actual: ' + (-134217728 >> 3)); +} + + +if (-268435456 >> 3 !== -33554432) { + $ERROR('#125: -268435456 >> 3 === -33554432. Actual: ' + (-268435456 >> 3)); +} + + +if (-536870912 >> 3 !== -67108864) { + $ERROR('#126: -536870912 >> 3 === -67108864. Actual: ' + (-536870912 >> 3)); +} + + +if (-1073741824 >> 3 !== -134217728) { + $ERROR('#127: -1073741824 >> 3 === -134217728. Actual: ' + (-1073741824 >> 3)); +} + + +if (-2147483648 >> 3 !== -268435456) { + $ERROR('#128: -2147483648 >> 3 === -268435456. Actual: ' + (-2147483648 >> 3)); +} + + +if (-1 >> 4 !== -1) { + $ERROR('#129: -1 >> 4 === -1. Actual: ' + (-1 >> 4)); +} + + +if (-2 >> 4 !== -1) { + $ERROR('#130: -2 >> 4 === -1. Actual: ' + (-2 >> 4)); +} + + +if (-4 >> 4 !== -1) { + $ERROR('#131: -4 >> 4 === -1. Actual: ' + (-4 >> 4)); +} + + +if (-8 >> 4 !== -1) { + $ERROR('#132: -8 >> 4 === -1. Actual: ' + (-8 >> 4)); +} + + +if (-16 >> 4 !== -1) { + $ERROR('#133: -16 >> 4 === -1. Actual: ' + (-16 >> 4)); +} + + +if (-32 >> 4 !== -2) { + $ERROR('#134: -32 >> 4 === -2. Actual: ' + (-32 >> 4)); +} + + +if (-64 >> 4 !== -4) { + $ERROR('#135: -64 >> 4 === -4. Actual: ' + (-64 >> 4)); +} + + +if (-128 >> 4 !== -8) { + $ERROR('#136: -128 >> 4 === -8. Actual: ' + (-128 >> 4)); +} + + +if (-256 >> 4 !== -16) { + $ERROR('#137: -256 >> 4 === -16. Actual: ' + (-256 >> 4)); +} + + +if (-512 >> 4 !== -32) { + $ERROR('#138: -512 >> 4 === -32. Actual: ' + (-512 >> 4)); +} + + +if (-1024 >> 4 !== -64) { + $ERROR('#139: -1024 >> 4 === -64. Actual: ' + (-1024 >> 4)); +} + + +if (-2048 >> 4 !== -128) { + $ERROR('#140: -2048 >> 4 === -128. Actual: ' + (-2048 >> 4)); +} + + +if (-4096 >> 4 !== -256) { + $ERROR('#141: -4096 >> 4 === -256. Actual: ' + (-4096 >> 4)); +} + + +if (-8192 >> 4 !== -512) { + $ERROR('#142: -8192 >> 4 === -512. Actual: ' + (-8192 >> 4)); +} + + +if (-16384 >> 4 !== -1024) { + $ERROR('#143: -16384 >> 4 === -1024. Actual: ' + (-16384 >> 4)); +} + + +if (-32768 >> 4 !== -2048) { + $ERROR('#144: -32768 >> 4 === -2048. Actual: ' + (-32768 >> 4)); +} + + +if (-65536 >> 4 !== -4096) { + $ERROR('#145: -65536 >> 4 === -4096. Actual: ' + (-65536 >> 4)); +} + + +if (-131072 >> 4 !== -8192) { + $ERROR('#146: -131072 >> 4 === -8192. Actual: ' + (-131072 >> 4)); +} + + +if (-262144 >> 4 !== -16384) { + $ERROR('#147: -262144 >> 4 === -16384. Actual: ' + (-262144 >> 4)); +} + + +if (-524288 >> 4 !== -32768) { + $ERROR('#148: -524288 >> 4 === -32768. Actual: ' + (-524288 >> 4)); +} + + +if (-1048576 >> 4 !== -65536) { + $ERROR('#149: -1048576 >> 4 === -65536. Actual: ' + (-1048576 >> 4)); +} + + +if (-2097152 >> 4 !== -131072) { + $ERROR('#150: -2097152 >> 4 === -131072. Actual: ' + (-2097152 >> 4)); +} + + +if (-4194304 >> 4 !== -262144) { + $ERROR('#151: -4194304 >> 4 === -262144. Actual: ' + (-4194304 >> 4)); +} + + +if (-8388608 >> 4 !== -524288) { + $ERROR('#152: -8388608 >> 4 === -524288. Actual: ' + (-8388608 >> 4)); +} + + +if (-16777216 >> 4 !== -1048576) { + $ERROR('#153: -16777216 >> 4 === -1048576. Actual: ' + (-16777216 >> 4)); +} + + +if (-33554432 >> 4 !== -2097152) { + $ERROR('#154: -33554432 >> 4 === -2097152. Actual: ' + (-33554432 >> 4)); +} + + +if (-67108864 >> 4 !== -4194304) { + $ERROR('#155: -67108864 >> 4 === -4194304. Actual: ' + (-67108864 >> 4)); +} + + +if (-134217728 >> 4 !== -8388608) { + $ERROR('#156: -134217728 >> 4 === -8388608. Actual: ' + (-134217728 >> 4)); +} + + +if (-268435456 >> 4 !== -16777216) { + $ERROR('#157: -268435456 >> 4 === -16777216. Actual: ' + (-268435456 >> 4)); +} + + +if (-536870912 >> 4 !== -33554432) { + $ERROR('#158: -536870912 >> 4 === -33554432. Actual: ' + (-536870912 >> 4)); +} + + +if (-1073741824 >> 4 !== -67108864) { + $ERROR('#159: -1073741824 >> 4 === -67108864. Actual: ' + (-1073741824 >> 4)); +} + + +if (-2147483648 >> 4 !== -134217728) { + $ERROR('#160: -2147483648 >> 4 === -134217728. Actual: ' + (-2147483648 >> 4)); +} + + +if (-1 >> 5 !== -1) { + $ERROR('#161: -1 >> 5 === -1. Actual: ' + (-1 >> 5)); +} + + +if (-2 >> 5 !== -1) { + $ERROR('#162: -2 >> 5 === -1. Actual: ' + (-2 >> 5)); +} + + +if (-4 >> 5 !== -1) { + $ERROR('#163: -4 >> 5 === -1. Actual: ' + (-4 >> 5)); +} + + +if (-8 >> 5 !== -1) { + $ERROR('#164: -8 >> 5 === -1. Actual: ' + (-8 >> 5)); +} + + +if (-16 >> 5 !== -1) { + $ERROR('#165: -16 >> 5 === -1. Actual: ' + (-16 >> 5)); +} + + +if (-32 >> 5 !== -1) { + $ERROR('#166: -32 >> 5 === -1. Actual: ' + (-32 >> 5)); +} + + +if (-64 >> 5 !== -2) { + $ERROR('#167: -64 >> 5 === -2. Actual: ' + (-64 >> 5)); +} + + +if (-128 >> 5 !== -4) { + $ERROR('#168: -128 >> 5 === -4. Actual: ' + (-128 >> 5)); +} + + +if (-256 >> 5 !== -8) { + $ERROR('#169: -256 >> 5 === -8. Actual: ' + (-256 >> 5)); +} + + +if (-512 >> 5 !== -16) { + $ERROR('#170: -512 >> 5 === -16. Actual: ' + (-512 >> 5)); +} + + +if (-1024 >> 5 !== -32) { + $ERROR('#171: -1024 >> 5 === -32. Actual: ' + (-1024 >> 5)); +} + + +if (-2048 >> 5 !== -64) { + $ERROR('#172: -2048 >> 5 === -64. Actual: ' + (-2048 >> 5)); +} + + +if (-4096 >> 5 !== -128) { + $ERROR('#173: -4096 >> 5 === -128. Actual: ' + (-4096 >> 5)); +} + + +if (-8192 >> 5 !== -256) { + $ERROR('#174: -8192 >> 5 === -256. Actual: ' + (-8192 >> 5)); +} + + +if (-16384 >> 5 !== -512) { + $ERROR('#175: -16384 >> 5 === -512. Actual: ' + (-16384 >> 5)); +} + + +if (-32768 >> 5 !== -1024) { + $ERROR('#176: -32768 >> 5 === -1024. Actual: ' + (-32768 >> 5)); +} + + +if (-65536 >> 5 !== -2048) { + $ERROR('#177: -65536 >> 5 === -2048. Actual: ' + (-65536 >> 5)); +} + + +if (-131072 >> 5 !== -4096) { + $ERROR('#178: -131072 >> 5 === -4096. Actual: ' + (-131072 >> 5)); +} + + +if (-262144 >> 5 !== -8192) { + $ERROR('#179: -262144 >> 5 === -8192. Actual: ' + (-262144 >> 5)); +} + + +if (-524288 >> 5 !== -16384) { + $ERROR('#180: -524288 >> 5 === -16384. Actual: ' + (-524288 >> 5)); +} + + +if (-1048576 >> 5 !== -32768) { + $ERROR('#181: -1048576 >> 5 === -32768. Actual: ' + (-1048576 >> 5)); +} + + +if (-2097152 >> 5 !== -65536) { + $ERROR('#182: -2097152 >> 5 === -65536. Actual: ' + (-2097152 >> 5)); +} + + +if (-4194304 >> 5 !== -131072) { + $ERROR('#183: -4194304 >> 5 === -131072. Actual: ' + (-4194304 >> 5)); +} + + +if (-8388608 >> 5 !== -262144) { + $ERROR('#184: -8388608 >> 5 === -262144. Actual: ' + (-8388608 >> 5)); +} + + +if (-16777216 >> 5 !== -524288) { + $ERROR('#185: -16777216 >> 5 === -524288. Actual: ' + (-16777216 >> 5)); +} + + +if (-33554432 >> 5 !== -1048576) { + $ERROR('#186: -33554432 >> 5 === -1048576. Actual: ' + (-33554432 >> 5)); +} + + +if (-67108864 >> 5 !== -2097152) { + $ERROR('#187: -67108864 >> 5 === -2097152. Actual: ' + (-67108864 >> 5)); +} + + +if (-134217728 >> 5 !== -4194304) { + $ERROR('#188: -134217728 >> 5 === -4194304. Actual: ' + (-134217728 >> 5)); +} + + +if (-268435456 >> 5 !== -8388608) { + $ERROR('#189: -268435456 >> 5 === -8388608. Actual: ' + (-268435456 >> 5)); +} + + +if (-536870912 >> 5 !== -16777216) { + $ERROR('#190: -536870912 >> 5 === -16777216. Actual: ' + (-536870912 >> 5)); +} + + +if (-1073741824 >> 5 !== -33554432) { + $ERROR('#191: -1073741824 >> 5 === -33554432. Actual: ' + (-1073741824 >> 5)); +} + + +if (-2147483648 >> 5 !== -67108864) { + $ERROR('#192: -2147483648 >> 5 === -67108864. Actual: ' + (-2147483648 >> 5)); +} + + +if (-1 >> 6 !== -1) { + $ERROR('#193: -1 >> 6 === -1. Actual: ' + (-1 >> 6)); +} + + +if (-2 >> 6 !== -1) { + $ERROR('#194: -2 >> 6 === -1. Actual: ' + (-2 >> 6)); +} + + +if (-4 >> 6 !== -1) { + $ERROR('#195: -4 >> 6 === -1. Actual: ' + (-4 >> 6)); +} + + +if (-8 >> 6 !== -1) { + $ERROR('#196: -8 >> 6 === -1. Actual: ' + (-8 >> 6)); +} + + +if (-16 >> 6 !== -1) { + $ERROR('#197: -16 >> 6 === -1. Actual: ' + (-16 >> 6)); +} + + +if (-32 >> 6 !== -1) { + $ERROR('#198: -32 >> 6 === -1. Actual: ' + (-32 >> 6)); +} + + +if (-64 >> 6 !== -1) { + $ERROR('#199: -64 >> 6 === -1. Actual: ' + (-64 >> 6)); +} + + +if (-128 >> 6 !== -2) { + $ERROR('#200: -128 >> 6 === -2. Actual: ' + (-128 >> 6)); +} + + +if (-256 >> 6 !== -4) { + $ERROR('#201: -256 >> 6 === -4. Actual: ' + (-256 >> 6)); +} + + +if (-512 >> 6 !== -8) { + $ERROR('#202: -512 >> 6 === -8. Actual: ' + (-512 >> 6)); +} + + +if (-1024 >> 6 !== -16) { + $ERROR('#203: -1024 >> 6 === -16. Actual: ' + (-1024 >> 6)); +} + + +if (-2048 >> 6 !== -32) { + $ERROR('#204: -2048 >> 6 === -32. Actual: ' + (-2048 >> 6)); +} + + +if (-4096 >> 6 !== -64) { + $ERROR('#205: -4096 >> 6 === -64. Actual: ' + (-4096 >> 6)); +} + + +if (-8192 >> 6 !== -128) { + $ERROR('#206: -8192 >> 6 === -128. Actual: ' + (-8192 >> 6)); +} + + +if (-16384 >> 6 !== -256) { + $ERROR('#207: -16384 >> 6 === -256. Actual: ' + (-16384 >> 6)); +} + + +if (-32768 >> 6 !== -512) { + $ERROR('#208: -32768 >> 6 === -512. Actual: ' + (-32768 >> 6)); +} + + +if (-65536 >> 6 !== -1024) { + $ERROR('#209: -65536 >> 6 === -1024. Actual: ' + (-65536 >> 6)); +} + + +if (-131072 >> 6 !== -2048) { + $ERROR('#210: -131072 >> 6 === -2048. Actual: ' + (-131072 >> 6)); +} + + +if (-262144 >> 6 !== -4096) { + $ERROR('#211: -262144 >> 6 === -4096. Actual: ' + (-262144 >> 6)); +} + + +if (-524288 >> 6 !== -8192) { + $ERROR('#212: -524288 >> 6 === -8192. Actual: ' + (-524288 >> 6)); +} + + +if (-1048576 >> 6 !== -16384) { + $ERROR('#213: -1048576 >> 6 === -16384. Actual: ' + (-1048576 >> 6)); +} + + +if (-2097152 >> 6 !== -32768) { + $ERROR('#214: -2097152 >> 6 === -32768. Actual: ' + (-2097152 >> 6)); +} + + +if (-4194304 >> 6 !== -65536) { + $ERROR('#215: -4194304 >> 6 === -65536. Actual: ' + (-4194304 >> 6)); +} + + +if (-8388608 >> 6 !== -131072) { + $ERROR('#216: -8388608 >> 6 === -131072. Actual: ' + (-8388608 >> 6)); +} + + +if (-16777216 >> 6 !== -262144) { + $ERROR('#217: -16777216 >> 6 === -262144. Actual: ' + (-16777216 >> 6)); +} + + +if (-33554432 >> 6 !== -524288) { + $ERROR('#218: -33554432 >> 6 === -524288. Actual: ' + (-33554432 >> 6)); +} + + +if (-67108864 >> 6 !== -1048576) { + $ERROR('#219: -67108864 >> 6 === -1048576. Actual: ' + (-67108864 >> 6)); +} + + +if (-134217728 >> 6 !== -2097152) { + $ERROR('#220: -134217728 >> 6 === -2097152. Actual: ' + (-134217728 >> 6)); +} + + +if (-268435456 >> 6 !== -4194304) { + $ERROR('#221: -268435456 >> 6 === -4194304. Actual: ' + (-268435456 >> 6)); +} + + +if (-536870912 >> 6 !== -8388608) { + $ERROR('#222: -536870912 >> 6 === -8388608. Actual: ' + (-536870912 >> 6)); +} + + +if (-1073741824 >> 6 !== -16777216) { + $ERROR('#223: -1073741824 >> 6 === -16777216. Actual: ' + (-1073741824 >> 6)); +} + + +if (-2147483648 >> 6 !== -33554432) { + $ERROR('#224: -2147483648 >> 6 === -33554432. Actual: ' + (-2147483648 >> 6)); +} + + +if (-1 >> 7 !== -1) { + $ERROR('#225: -1 >> 7 === -1. Actual: ' + (-1 >> 7)); +} + + +if (-2 >> 7 !== -1) { + $ERROR('#226: -2 >> 7 === -1. Actual: ' + (-2 >> 7)); +} + + +if (-4 >> 7 !== -1) { + $ERROR('#227: -4 >> 7 === -1. Actual: ' + (-4 >> 7)); +} + + +if (-8 >> 7 !== -1) { + $ERROR('#228: -8 >> 7 === -1. Actual: ' + (-8 >> 7)); +} + + +if (-16 >> 7 !== -1) { + $ERROR('#229: -16 >> 7 === -1. Actual: ' + (-16 >> 7)); +} + + +if (-32 >> 7 !== -1) { + $ERROR('#230: -32 >> 7 === -1. Actual: ' + (-32 >> 7)); +} + + +if (-64 >> 7 !== -1) { + $ERROR('#231: -64 >> 7 === -1. Actual: ' + (-64 >> 7)); +} + + +if (-128 >> 7 !== -1) { + $ERROR('#232: -128 >> 7 === -1. Actual: ' + (-128 >> 7)); +} + + +if (-256 >> 7 !== -2) { + $ERROR('#233: -256 >> 7 === -2. Actual: ' + (-256 >> 7)); +} + + +if (-512 >> 7 !== -4) { + $ERROR('#234: -512 >> 7 === -4. Actual: ' + (-512 >> 7)); +} + + +if (-1024 >> 7 !== -8) { + $ERROR('#235: -1024 >> 7 === -8. Actual: ' + (-1024 >> 7)); +} + + +if (-2048 >> 7 !== -16) { + $ERROR('#236: -2048 >> 7 === -16. Actual: ' + (-2048 >> 7)); +} + + +if (-4096 >> 7 !== -32) { + $ERROR('#237: -4096 >> 7 === -32. Actual: ' + (-4096 >> 7)); +} + + +if (-8192 >> 7 !== -64) { + $ERROR('#238: -8192 >> 7 === -64. Actual: ' + (-8192 >> 7)); +} + + +if (-16384 >> 7 !== -128) { + $ERROR('#239: -16384 >> 7 === -128. Actual: ' + (-16384 >> 7)); +} + + +if (-32768 >> 7 !== -256) { + $ERROR('#240: -32768 >> 7 === -256. Actual: ' + (-32768 >> 7)); +} + + +if (-65536 >> 7 !== -512) { + $ERROR('#241: -65536 >> 7 === -512. Actual: ' + (-65536 >> 7)); +} + + +if (-131072 >> 7 !== -1024) { + $ERROR('#242: -131072 >> 7 === -1024. Actual: ' + (-131072 >> 7)); +} + + +if (-262144 >> 7 !== -2048) { + $ERROR('#243: -262144 >> 7 === -2048. Actual: ' + (-262144 >> 7)); +} + + +if (-524288 >> 7 !== -4096) { + $ERROR('#244: -524288 >> 7 === -4096. Actual: ' + (-524288 >> 7)); +} + + +if (-1048576 >> 7 !== -8192) { + $ERROR('#245: -1048576 >> 7 === -8192. Actual: ' + (-1048576 >> 7)); +} + + +if (-2097152 >> 7 !== -16384) { + $ERROR('#246: -2097152 >> 7 === -16384. Actual: ' + (-2097152 >> 7)); +} + + +if (-4194304 >> 7 !== -32768) { + $ERROR('#247: -4194304 >> 7 === -32768. Actual: ' + (-4194304 >> 7)); +} + + +if (-8388608 >> 7 !== -65536) { + $ERROR('#248: -8388608 >> 7 === -65536. Actual: ' + (-8388608 >> 7)); +} + + +if (-16777216 >> 7 !== -131072) { + $ERROR('#249: -16777216 >> 7 === -131072. Actual: ' + (-16777216 >> 7)); +} + + +if (-33554432 >> 7 !== -262144) { + $ERROR('#250: -33554432 >> 7 === -262144. Actual: ' + (-33554432 >> 7)); +} + + +if (-67108864 >> 7 !== -524288) { + $ERROR('#251: -67108864 >> 7 === -524288. Actual: ' + (-67108864 >> 7)); +} + + +if (-134217728 >> 7 !== -1048576) { + $ERROR('#252: -134217728 >> 7 === -1048576. Actual: ' + (-134217728 >> 7)); +} + + +if (-268435456 >> 7 !== -2097152) { + $ERROR('#253: -268435456 >> 7 === -2097152. Actual: ' + (-268435456 >> 7)); +} + + +if (-536870912 >> 7 !== -4194304) { + $ERROR('#254: -536870912 >> 7 === -4194304. Actual: ' + (-536870912 >> 7)); +} + + +if (-1073741824 >> 7 !== -8388608) { + $ERROR('#255: -1073741824 >> 7 === -8388608. Actual: ' + (-1073741824 >> 7)); +} + + +if (-2147483648 >> 7 !== -16777216) { + $ERROR('#256: -2147483648 >> 7 === -16777216. Actual: ' + (-2147483648 >> 7)); +} + + +if (-1 >> 8 !== -1) { + $ERROR('#257: -1 >> 8 === -1. Actual: ' + (-1 >> 8)); +} + + +if (-2 >> 8 !== -1) { + $ERROR('#258: -2 >> 8 === -1. Actual: ' + (-2 >> 8)); +} + + +if (-4 >> 8 !== -1) { + $ERROR('#259: -4 >> 8 === -1. Actual: ' + (-4 >> 8)); +} + + +if (-8 >> 8 !== -1) { + $ERROR('#260: -8 >> 8 === -1. Actual: ' + (-8 >> 8)); +} + + +if (-16 >> 8 !== -1) { + $ERROR('#261: -16 >> 8 === -1. Actual: ' + (-16 >> 8)); +} + + +if (-32 >> 8 !== -1) { + $ERROR('#262: -32 >> 8 === -1. Actual: ' + (-32 >> 8)); +} + + +if (-64 >> 8 !== -1) { + $ERROR('#263: -64 >> 8 === -1. Actual: ' + (-64 >> 8)); +} + + +if (-128 >> 8 !== -1) { + $ERROR('#264: -128 >> 8 === -1. Actual: ' + (-128 >> 8)); +} + + +if (-256 >> 8 !== -1) { + $ERROR('#265: -256 >> 8 === -1. Actual: ' + (-256 >> 8)); +} + + +if (-512 >> 8 !== -2) { + $ERROR('#266: -512 >> 8 === -2. Actual: ' + (-512 >> 8)); +} + + +if (-1024 >> 8 !== -4) { + $ERROR('#267: -1024 >> 8 === -4. Actual: ' + (-1024 >> 8)); +} + + +if (-2048 >> 8 !== -8) { + $ERROR('#268: -2048 >> 8 === -8. Actual: ' + (-2048 >> 8)); +} + + +if (-4096 >> 8 !== -16) { + $ERROR('#269: -4096 >> 8 === -16. Actual: ' + (-4096 >> 8)); +} + + +if (-8192 >> 8 !== -32) { + $ERROR('#270: -8192 >> 8 === -32. Actual: ' + (-8192 >> 8)); +} + + +if (-16384 >> 8 !== -64) { + $ERROR('#271: -16384 >> 8 === -64. Actual: ' + (-16384 >> 8)); +} + + +if (-32768 >> 8 !== -128) { + $ERROR('#272: -32768 >> 8 === -128. Actual: ' + (-32768 >> 8)); +} + + +if (-65536 >> 8 !== -256) { + $ERROR('#273: -65536 >> 8 === -256. Actual: ' + (-65536 >> 8)); +} + + +if (-131072 >> 8 !== -512) { + $ERROR('#274: -131072 >> 8 === -512. Actual: ' + (-131072 >> 8)); +} + + +if (-262144 >> 8 !== -1024) { + $ERROR('#275: -262144 >> 8 === -1024. Actual: ' + (-262144 >> 8)); +} + + +if (-524288 >> 8 !== -2048) { + $ERROR('#276: -524288 >> 8 === -2048. Actual: ' + (-524288 >> 8)); +} + + +if (-1048576 >> 8 !== -4096) { + $ERROR('#277: -1048576 >> 8 === -4096. Actual: ' + (-1048576 >> 8)); +} + + +if (-2097152 >> 8 !== -8192) { + $ERROR('#278: -2097152 >> 8 === -8192. Actual: ' + (-2097152 >> 8)); +} + + +if (-4194304 >> 8 !== -16384) { + $ERROR('#279: -4194304 >> 8 === -16384. Actual: ' + (-4194304 >> 8)); +} + + +if (-8388608 >> 8 !== -32768) { + $ERROR('#280: -8388608 >> 8 === -32768. Actual: ' + (-8388608 >> 8)); +} + + +if (-16777216 >> 8 !== -65536) { + $ERROR('#281: -16777216 >> 8 === -65536. Actual: ' + (-16777216 >> 8)); +} + + +if (-33554432 >> 8 !== -131072) { + $ERROR('#282: -33554432 >> 8 === -131072. Actual: ' + (-33554432 >> 8)); +} + + +if (-67108864 >> 8 !== -262144) { + $ERROR('#283: -67108864 >> 8 === -262144. Actual: ' + (-67108864 >> 8)); +} + + +if (-134217728 >> 8 !== -524288) { + $ERROR('#284: -134217728 >> 8 === -524288. Actual: ' + (-134217728 >> 8)); +} + + +if (-268435456 >> 8 !== -1048576) { + $ERROR('#285: -268435456 >> 8 === -1048576. Actual: ' + (-268435456 >> 8)); +} + + +if (-536870912 >> 8 !== -2097152) { + $ERROR('#286: -536870912 >> 8 === -2097152. Actual: ' + (-536870912 >> 8)); +} + + +if (-1073741824 >> 8 !== -4194304) { + $ERROR('#287: -1073741824 >> 8 === -4194304. Actual: ' + (-1073741824 >> 8)); +} + + +if (-2147483648 >> 8 !== -8388608) { + $ERROR('#288: -2147483648 >> 8 === -8388608. Actual: ' + (-2147483648 >> 8)); +} + + +if (-1 >> 9 !== -1) { + $ERROR('#289: -1 >> 9 === -1. Actual: ' + (-1 >> 9)); +} + + +if (-2 >> 9 !== -1) { + $ERROR('#290: -2 >> 9 === -1. Actual: ' + (-2 >> 9)); +} + + +if (-4 >> 9 !== -1) { + $ERROR('#291: -4 >> 9 === -1. Actual: ' + (-4 >> 9)); +} + + +if (-8 >> 9 !== -1) { + $ERROR('#292: -8 >> 9 === -1. Actual: ' + (-8 >> 9)); +} + + +if (-16 >> 9 !== -1) { + $ERROR('#293: -16 >> 9 === -1. Actual: ' + (-16 >> 9)); +} + + +if (-32 >> 9 !== -1) { + $ERROR('#294: -32 >> 9 === -1. Actual: ' + (-32 >> 9)); +} + + +if (-64 >> 9 !== -1) { + $ERROR('#295: -64 >> 9 === -1. Actual: ' + (-64 >> 9)); +} + + +if (-128 >> 9 !== -1) { + $ERROR('#296: -128 >> 9 === -1. Actual: ' + (-128 >> 9)); +} + + +if (-256 >> 9 !== -1) { + $ERROR('#297: -256 >> 9 === -1. Actual: ' + (-256 >> 9)); +} + + +if (-512 >> 9 !== -1) { + $ERROR('#298: -512 >> 9 === -1. Actual: ' + (-512 >> 9)); +} + + +if (-1024 >> 9 !== -2) { + $ERROR('#299: -1024 >> 9 === -2. Actual: ' + (-1024 >> 9)); +} + + +if (-2048 >> 9 !== -4) { + $ERROR('#300: -2048 >> 9 === -4. Actual: ' + (-2048 >> 9)); +} + + +if (-4096 >> 9 !== -8) { + $ERROR('#301: -4096 >> 9 === -8. Actual: ' + (-4096 >> 9)); +} + + +if (-8192 >> 9 !== -16) { + $ERROR('#302: -8192 >> 9 === -16. Actual: ' + (-8192 >> 9)); +} + + +if (-16384 >> 9 !== -32) { + $ERROR('#303: -16384 >> 9 === -32. Actual: ' + (-16384 >> 9)); +} + + +if (-32768 >> 9 !== -64) { + $ERROR('#304: -32768 >> 9 === -64. Actual: ' + (-32768 >> 9)); +} + + +if (-65536 >> 9 !== -128) { + $ERROR('#305: -65536 >> 9 === -128. Actual: ' + (-65536 >> 9)); +} + + +if (-131072 >> 9 !== -256) { + $ERROR('#306: -131072 >> 9 === -256. Actual: ' + (-131072 >> 9)); +} + + +if (-262144 >> 9 !== -512) { + $ERROR('#307: -262144 >> 9 === -512. Actual: ' + (-262144 >> 9)); +} + + +if (-524288 >> 9 !== -1024) { + $ERROR('#308: -524288 >> 9 === -1024. Actual: ' + (-524288 >> 9)); +} + + +if (-1048576 >> 9 !== -2048) { + $ERROR('#309: -1048576 >> 9 === -2048. Actual: ' + (-1048576 >> 9)); +} + + +if (-2097152 >> 9 !== -4096) { + $ERROR('#310: -2097152 >> 9 === -4096. Actual: ' + (-2097152 >> 9)); +} + + +if (-4194304 >> 9 !== -8192) { + $ERROR('#311: -4194304 >> 9 === -8192. Actual: ' + (-4194304 >> 9)); +} + + +if (-8388608 >> 9 !== -16384) { + $ERROR('#312: -8388608 >> 9 === -16384. Actual: ' + (-8388608 >> 9)); +} + + +if (-16777216 >> 9 !== -32768) { + $ERROR('#313: -16777216 >> 9 === -32768. Actual: ' + (-16777216 >> 9)); +} + + +if (-33554432 >> 9 !== -65536) { + $ERROR('#314: -33554432 >> 9 === -65536. Actual: ' + (-33554432 >> 9)); +} + + +if (-67108864 >> 9 !== -131072) { + $ERROR('#315: -67108864 >> 9 === -131072. Actual: ' + (-67108864 >> 9)); +} + + +if (-134217728 >> 9 !== -262144) { + $ERROR('#316: -134217728 >> 9 === -262144. Actual: ' + (-134217728 >> 9)); +} + + +if (-268435456 >> 9 !== -524288) { + $ERROR('#317: -268435456 >> 9 === -524288. Actual: ' + (-268435456 >> 9)); +} + + +if (-536870912 >> 9 !== -1048576) { + $ERROR('#318: -536870912 >> 9 === -1048576. Actual: ' + (-536870912 >> 9)); +} + + +if (-1073741824 >> 9 !== -2097152) { + $ERROR('#319: -1073741824 >> 9 === -2097152. Actual: ' + (-1073741824 >> 9)); +} + + +if (-2147483648 >> 9 !== -4194304) { + $ERROR('#320: -2147483648 >> 9 === -4194304. Actual: ' + (-2147483648 >> 9)); +} + + +if (-1 >> 10 !== -1) { + $ERROR('#321: -1 >> 10 === -1. Actual: ' + (-1 >> 10)); +} + + +if (-2 >> 10 !== -1) { + $ERROR('#322: -2 >> 10 === -1. Actual: ' + (-2 >> 10)); +} + + +if (-4 >> 10 !== -1) { + $ERROR('#323: -4 >> 10 === -1. Actual: ' + (-4 >> 10)); +} + + +if (-8 >> 10 !== -1) { + $ERROR('#324: -8 >> 10 === -1. Actual: ' + (-8 >> 10)); +} + + +if (-16 >> 10 !== -1) { + $ERROR('#325: -16 >> 10 === -1. Actual: ' + (-16 >> 10)); +} + + +if (-32 >> 10 !== -1) { + $ERROR('#326: -32 >> 10 === -1. Actual: ' + (-32 >> 10)); +} + + +if (-64 >> 10 !== -1) { + $ERROR('#327: -64 >> 10 === -1. Actual: ' + (-64 >> 10)); +} + + +if (-128 >> 10 !== -1) { + $ERROR('#328: -128 >> 10 === -1. Actual: ' + (-128 >> 10)); +} + + +if (-256 >> 10 !== -1) { + $ERROR('#329: -256 >> 10 === -1. Actual: ' + (-256 >> 10)); +} + + +if (-512 >> 10 !== -1) { + $ERROR('#330: -512 >> 10 === -1. Actual: ' + (-512 >> 10)); +} + + +if (-1024 >> 10 !== -1) { + $ERROR('#331: -1024 >> 10 === -1. Actual: ' + (-1024 >> 10)); +} + + +if (-2048 >> 10 !== -2) { + $ERROR('#332: -2048 >> 10 === -2. Actual: ' + (-2048 >> 10)); +} + + +if (-4096 >> 10 !== -4) { + $ERROR('#333: -4096 >> 10 === -4. Actual: ' + (-4096 >> 10)); +} + + +if (-8192 >> 10 !== -8) { + $ERROR('#334: -8192 >> 10 === -8. Actual: ' + (-8192 >> 10)); +} + + +if (-16384 >> 10 !== -16) { + $ERROR('#335: -16384 >> 10 === -16. Actual: ' + (-16384 >> 10)); +} + + +if (-32768 >> 10 !== -32) { + $ERROR('#336: -32768 >> 10 === -32. Actual: ' + (-32768 >> 10)); +} + + +if (-65536 >> 10 !== -64) { + $ERROR('#337: -65536 >> 10 === -64. Actual: ' + (-65536 >> 10)); +} + + +if (-131072 >> 10 !== -128) { + $ERROR('#338: -131072 >> 10 === -128. Actual: ' + (-131072 >> 10)); +} + + +if (-262144 >> 10 !== -256) { + $ERROR('#339: -262144 >> 10 === -256. Actual: ' + (-262144 >> 10)); +} + + +if (-524288 >> 10 !== -512) { + $ERROR('#340: -524288 >> 10 === -512. Actual: ' + (-524288 >> 10)); +} + + +if (-1048576 >> 10 !== -1024) { + $ERROR('#341: -1048576 >> 10 === -1024. Actual: ' + (-1048576 >> 10)); +} + + +if (-2097152 >> 10 !== -2048) { + $ERROR('#342: -2097152 >> 10 === -2048. Actual: ' + (-2097152 >> 10)); +} + + +if (-4194304 >> 10 !== -4096) { + $ERROR('#343: -4194304 >> 10 === -4096. Actual: ' + (-4194304 >> 10)); +} + + +if (-8388608 >> 10 !== -8192) { + $ERROR('#344: -8388608 >> 10 === -8192. Actual: ' + (-8388608 >> 10)); +} + + +if (-16777216 >> 10 !== -16384) { + $ERROR('#345: -16777216 >> 10 === -16384. Actual: ' + (-16777216 >> 10)); +} + + +if (-33554432 >> 10 !== -32768) { + $ERROR('#346: -33554432 >> 10 === -32768. Actual: ' + (-33554432 >> 10)); +} + + +if (-67108864 >> 10 !== -65536) { + $ERROR('#347: -67108864 >> 10 === -65536. Actual: ' + (-67108864 >> 10)); +} + + +if (-134217728 >> 10 !== -131072) { + $ERROR('#348: -134217728 >> 10 === -131072. Actual: ' + (-134217728 >> 10)); +} + + +if (-268435456 >> 10 !== -262144) { + $ERROR('#349: -268435456 >> 10 === -262144. Actual: ' + (-268435456 >> 10)); +} + + +if (-536870912 >> 10 !== -524288) { + $ERROR('#350: -536870912 >> 10 === -524288. Actual: ' + (-536870912 >> 10)); +} + + +if (-1073741824 >> 10 !== -1048576) { + $ERROR('#351: -1073741824 >> 10 === -1048576. Actual: ' + (-1073741824 >> 10)); +} + + +if (-2147483648 >> 10 !== -2097152) { + $ERROR('#352: -2147483648 >> 10 === -2097152. Actual: ' + (-2147483648 >> 10)); +} + + +if (-1 >> 11 !== -1) { + $ERROR('#353: -1 >> 11 === -1. Actual: ' + (-1 >> 11)); +} + + +if (-2 >> 11 !== -1) { + $ERROR('#354: -2 >> 11 === -1. Actual: ' + (-2 >> 11)); +} + + +if (-4 >> 11 !== -1) { + $ERROR('#355: -4 >> 11 === -1. Actual: ' + (-4 >> 11)); +} + + +if (-8 >> 11 !== -1) { + $ERROR('#356: -8 >> 11 === -1. Actual: ' + (-8 >> 11)); +} + + +if (-16 >> 11 !== -1) { + $ERROR('#357: -16 >> 11 === -1. Actual: ' + (-16 >> 11)); +} + + +if (-32 >> 11 !== -1) { + $ERROR('#358: -32 >> 11 === -1. Actual: ' + (-32 >> 11)); +} + + +if (-64 >> 11 !== -1) { + $ERROR('#359: -64 >> 11 === -1. Actual: ' + (-64 >> 11)); +} + + +if (-128 >> 11 !== -1) { + $ERROR('#360: -128 >> 11 === -1. Actual: ' + (-128 >> 11)); +} + + +if (-256 >> 11 !== -1) { + $ERROR('#361: -256 >> 11 === -1. Actual: ' + (-256 >> 11)); +} + + +if (-512 >> 11 !== -1) { + $ERROR('#362: -512 >> 11 === -1. Actual: ' + (-512 >> 11)); +} + + +if (-1024 >> 11 !== -1) { + $ERROR('#363: -1024 >> 11 === -1. Actual: ' + (-1024 >> 11)); +} + + +if (-2048 >> 11 !== -1) { + $ERROR('#364: -2048 >> 11 === -1. Actual: ' + (-2048 >> 11)); +} + + +if (-4096 >> 11 !== -2) { + $ERROR('#365: -4096 >> 11 === -2. Actual: ' + (-4096 >> 11)); +} + + +if (-8192 >> 11 !== -4) { + $ERROR('#366: -8192 >> 11 === -4. Actual: ' + (-8192 >> 11)); +} + + +if (-16384 >> 11 !== -8) { + $ERROR('#367: -16384 >> 11 === -8. Actual: ' + (-16384 >> 11)); +} + + +if (-32768 >> 11 !== -16) { + $ERROR('#368: -32768 >> 11 === -16. Actual: ' + (-32768 >> 11)); +} + + +if (-65536 >> 11 !== -32) { + $ERROR('#369: -65536 >> 11 === -32. Actual: ' + (-65536 >> 11)); +} + + +if (-131072 >> 11 !== -64) { + $ERROR('#370: -131072 >> 11 === -64. Actual: ' + (-131072 >> 11)); +} + + +if (-262144 >> 11 !== -128) { + $ERROR('#371: -262144 >> 11 === -128. Actual: ' + (-262144 >> 11)); +} + + +if (-524288 >> 11 !== -256) { + $ERROR('#372: -524288 >> 11 === -256. Actual: ' + (-524288 >> 11)); +} + + +if (-1048576 >> 11 !== -512) { + $ERROR('#373: -1048576 >> 11 === -512. Actual: ' + (-1048576 >> 11)); +} + + +if (-2097152 >> 11 !== -1024) { + $ERROR('#374: -2097152 >> 11 === -1024. Actual: ' + (-2097152 >> 11)); +} + + +if (-4194304 >> 11 !== -2048) { + $ERROR('#375: -4194304 >> 11 === -2048. Actual: ' + (-4194304 >> 11)); +} + + +if (-8388608 >> 11 !== -4096) { + $ERROR('#376: -8388608 >> 11 === -4096. Actual: ' + (-8388608 >> 11)); +} + + +if (-16777216 >> 11 !== -8192) { + $ERROR('#377: -16777216 >> 11 === -8192. Actual: ' + (-16777216 >> 11)); +} + + +if (-33554432 >> 11 !== -16384) { + $ERROR('#378: -33554432 >> 11 === -16384. Actual: ' + (-33554432 >> 11)); +} + + +if (-67108864 >> 11 !== -32768) { + $ERROR('#379: -67108864 >> 11 === -32768. Actual: ' + (-67108864 >> 11)); +} + + +if (-134217728 >> 11 !== -65536) { + $ERROR('#380: -134217728 >> 11 === -65536. Actual: ' + (-134217728 >> 11)); +} + + +if (-268435456 >> 11 !== -131072) { + $ERROR('#381: -268435456 >> 11 === -131072. Actual: ' + (-268435456 >> 11)); +} + + +if (-536870912 >> 11 !== -262144) { + $ERROR('#382: -536870912 >> 11 === -262144. Actual: ' + (-536870912 >> 11)); +} + + +if (-1073741824 >> 11 !== -524288) { + $ERROR('#383: -1073741824 >> 11 === -524288. Actual: ' + (-1073741824 >> 11)); +} + + +if (-2147483648 >> 11 !== -1048576) { + $ERROR('#384: -2147483648 >> 11 === -1048576. Actual: ' + (-2147483648 >> 11)); +} + + +if (-1 >> 12 !== -1) { + $ERROR('#385: -1 >> 12 === -1. Actual: ' + (-1 >> 12)); +} + + +if (-2 >> 12 !== -1) { + $ERROR('#386: -2 >> 12 === -1. Actual: ' + (-2 >> 12)); +} + + +if (-4 >> 12 !== -1) { + $ERROR('#387: -4 >> 12 === -1. Actual: ' + (-4 >> 12)); +} + + +if (-8 >> 12 !== -1) { + $ERROR('#388: -8 >> 12 === -1. Actual: ' + (-8 >> 12)); +} + + +if (-16 >> 12 !== -1) { + $ERROR('#389: -16 >> 12 === -1. Actual: ' + (-16 >> 12)); +} + + +if (-32 >> 12 !== -1) { + $ERROR('#390: -32 >> 12 === -1. Actual: ' + (-32 >> 12)); +} + + +if (-64 >> 12 !== -1) { + $ERROR('#391: -64 >> 12 === -1. Actual: ' + (-64 >> 12)); +} + + +if (-128 >> 12 !== -1) { + $ERROR('#392: -128 >> 12 === -1. Actual: ' + (-128 >> 12)); +} + + +if (-256 >> 12 !== -1) { + $ERROR('#393: -256 >> 12 === -1. Actual: ' + (-256 >> 12)); +} + + +if (-512 >> 12 !== -1) { + $ERROR('#394: -512 >> 12 === -1. Actual: ' + (-512 >> 12)); +} + + +if (-1024 >> 12 !== -1) { + $ERROR('#395: -1024 >> 12 === -1. Actual: ' + (-1024 >> 12)); +} + + +if (-2048 >> 12 !== -1) { + $ERROR('#396: -2048 >> 12 === -1. Actual: ' + (-2048 >> 12)); +} + + +if (-4096 >> 12 !== -1) { + $ERROR('#397: -4096 >> 12 === -1. Actual: ' + (-4096 >> 12)); +} + + +if (-8192 >> 12 !== -2) { + $ERROR('#398: -8192 >> 12 === -2. Actual: ' + (-8192 >> 12)); +} + + +if (-16384 >> 12 !== -4) { + $ERROR('#399: -16384 >> 12 === -4. Actual: ' + (-16384 >> 12)); +} + + +if (-32768 >> 12 !== -8) { + $ERROR('#400: -32768 >> 12 === -8. Actual: ' + (-32768 >> 12)); +} + + +if (-65536 >> 12 !== -16) { + $ERROR('#401: -65536 >> 12 === -16. Actual: ' + (-65536 >> 12)); +} + + +if (-131072 >> 12 !== -32) { + $ERROR('#402: -131072 >> 12 === -32. Actual: ' + (-131072 >> 12)); +} + + +if (-262144 >> 12 !== -64) { + $ERROR('#403: -262144 >> 12 === -64. Actual: ' + (-262144 >> 12)); +} + + +if (-524288 >> 12 !== -128) { + $ERROR('#404: -524288 >> 12 === -128. Actual: ' + (-524288 >> 12)); +} + + +if (-1048576 >> 12 !== -256) { + $ERROR('#405: -1048576 >> 12 === -256. Actual: ' + (-1048576 >> 12)); +} + + +if (-2097152 >> 12 !== -512) { + $ERROR('#406: -2097152 >> 12 === -512. Actual: ' + (-2097152 >> 12)); +} + + +if (-4194304 >> 12 !== -1024) { + $ERROR('#407: -4194304 >> 12 === -1024. Actual: ' + (-4194304 >> 12)); +} + + +if (-8388608 >> 12 !== -2048) { + $ERROR('#408: -8388608 >> 12 === -2048. Actual: ' + (-8388608 >> 12)); +} + + +if (-16777216 >> 12 !== -4096) { + $ERROR('#409: -16777216 >> 12 === -4096. Actual: ' + (-16777216 >> 12)); +} + + +if (-33554432 >> 12 !== -8192) { + $ERROR('#410: -33554432 >> 12 === -8192. Actual: ' + (-33554432 >> 12)); +} + + +if (-67108864 >> 12 !== -16384) { + $ERROR('#411: -67108864 >> 12 === -16384. Actual: ' + (-67108864 >> 12)); +} + + +if (-134217728 >> 12 !== -32768) { + $ERROR('#412: -134217728 >> 12 === -32768. Actual: ' + (-134217728 >> 12)); +} + + +if (-268435456 >> 12 !== -65536) { + $ERROR('#413: -268435456 >> 12 === -65536. Actual: ' + (-268435456 >> 12)); +} + + +if (-536870912 >> 12 !== -131072) { + $ERROR('#414: -536870912 >> 12 === -131072. Actual: ' + (-536870912 >> 12)); +} + + +if (-1073741824 >> 12 !== -262144) { + $ERROR('#415: -1073741824 >> 12 === -262144. Actual: ' + (-1073741824 >> 12)); +} + + +if (-2147483648 >> 12 !== -524288) { + $ERROR('#416: -2147483648 >> 12 === -524288. Actual: ' + (-2147483648 >> 12)); +} + + +if (-1 >> 13 !== -1) { + $ERROR('#417: -1 >> 13 === -1. Actual: ' + (-1 >> 13)); +} + + +if (-2 >> 13 !== -1) { + $ERROR('#418: -2 >> 13 === -1. Actual: ' + (-2 >> 13)); +} + + +if (-4 >> 13 !== -1) { + $ERROR('#419: -4 >> 13 === -1. Actual: ' + (-4 >> 13)); +} + + +if (-8 >> 13 !== -1) { + $ERROR('#420: -8 >> 13 === -1. Actual: ' + (-8 >> 13)); +} + + +if (-16 >> 13 !== -1) { + $ERROR('#421: -16 >> 13 === -1. Actual: ' + (-16 >> 13)); +} + + +if (-32 >> 13 !== -1) { + $ERROR('#422: -32 >> 13 === -1. Actual: ' + (-32 >> 13)); +} + + +if (-64 >> 13 !== -1) { + $ERROR('#423: -64 >> 13 === -1. Actual: ' + (-64 >> 13)); +} + + +if (-128 >> 13 !== -1) { + $ERROR('#424: -128 >> 13 === -1. Actual: ' + (-128 >> 13)); +} + + +if (-256 >> 13 !== -1) { + $ERROR('#425: -256 >> 13 === -1. Actual: ' + (-256 >> 13)); +} + + +if (-512 >> 13 !== -1) { + $ERROR('#426: -512 >> 13 === -1. Actual: ' + (-512 >> 13)); +} + + +if (-1024 >> 13 !== -1) { + $ERROR('#427: -1024 >> 13 === -1. Actual: ' + (-1024 >> 13)); +} + + +if (-2048 >> 13 !== -1) { + $ERROR('#428: -2048 >> 13 === -1. Actual: ' + (-2048 >> 13)); +} + + +if (-4096 >> 13 !== -1) { + $ERROR('#429: -4096 >> 13 === -1. Actual: ' + (-4096 >> 13)); +} + + +if (-8192 >> 13 !== -1) { + $ERROR('#430: -8192 >> 13 === -1. Actual: ' + (-8192 >> 13)); +} + + +if (-16384 >> 13 !== -2) { + $ERROR('#431: -16384 >> 13 === -2. Actual: ' + (-16384 >> 13)); +} + + +if (-32768 >> 13 !== -4) { + $ERROR('#432: -32768 >> 13 === -4. Actual: ' + (-32768 >> 13)); +} + + +if (-65536 >> 13 !== -8) { + $ERROR('#433: -65536 >> 13 === -8. Actual: ' + (-65536 >> 13)); +} + + +if (-131072 >> 13 !== -16) { + $ERROR('#434: -131072 >> 13 === -16. Actual: ' + (-131072 >> 13)); +} + + +if (-262144 >> 13 !== -32) { + $ERROR('#435: -262144 >> 13 === -32. Actual: ' + (-262144 >> 13)); +} + + +if (-524288 >> 13 !== -64) { + $ERROR('#436: -524288 >> 13 === -64. Actual: ' + (-524288 >> 13)); +} + + +if (-1048576 >> 13 !== -128) { + $ERROR('#437: -1048576 >> 13 === -128. Actual: ' + (-1048576 >> 13)); +} + + +if (-2097152 >> 13 !== -256) { + $ERROR('#438: -2097152 >> 13 === -256. Actual: ' + (-2097152 >> 13)); +} + + +if (-4194304 >> 13 !== -512) { + $ERROR('#439: -4194304 >> 13 === -512. Actual: ' + (-4194304 >> 13)); +} + + +if (-8388608 >> 13 !== -1024) { + $ERROR('#440: -8388608 >> 13 === -1024. Actual: ' + (-8388608 >> 13)); +} + + +if (-16777216 >> 13 !== -2048) { + $ERROR('#441: -16777216 >> 13 === -2048. Actual: ' + (-16777216 >> 13)); +} + + +if (-33554432 >> 13 !== -4096) { + $ERROR('#442: -33554432 >> 13 === -4096. Actual: ' + (-33554432 >> 13)); +} + + +if (-67108864 >> 13 !== -8192) { + $ERROR('#443: -67108864 >> 13 === -8192. Actual: ' + (-67108864 >> 13)); +} + + +if (-134217728 >> 13 !== -16384) { + $ERROR('#444: -134217728 >> 13 === -16384. Actual: ' + (-134217728 >> 13)); +} + + +if (-268435456 >> 13 !== -32768) { + $ERROR('#445: -268435456 >> 13 === -32768. Actual: ' + (-268435456 >> 13)); +} + + +if (-536870912 >> 13 !== -65536) { + $ERROR('#446: -536870912 >> 13 === -65536. Actual: ' + (-536870912 >> 13)); +} + + +if (-1073741824 >> 13 !== -131072) { + $ERROR('#447: -1073741824 >> 13 === -131072. Actual: ' + (-1073741824 >> 13)); +} + + +if (-2147483648 >> 13 !== -262144) { + $ERROR('#448: -2147483648 >> 13 === -262144. Actual: ' + (-2147483648 >> 13)); +} + + +if (-1 >> 14 !== -1) { + $ERROR('#449: -1 >> 14 === -1. Actual: ' + (-1 >> 14)); +} + + +if (-2 >> 14 !== -1) { + $ERROR('#450: -2 >> 14 === -1. Actual: ' + (-2 >> 14)); +} + + +if (-4 >> 14 !== -1) { + $ERROR('#451: -4 >> 14 === -1. Actual: ' + (-4 >> 14)); +} + + +if (-8 >> 14 !== -1) { + $ERROR('#452: -8 >> 14 === -1. Actual: ' + (-8 >> 14)); +} + + +if (-16 >> 14 !== -1) { + $ERROR('#453: -16 >> 14 === -1. Actual: ' + (-16 >> 14)); +} + + +if (-32 >> 14 !== -1) { + $ERROR('#454: -32 >> 14 === -1. Actual: ' + (-32 >> 14)); +} + + +if (-64 >> 14 !== -1) { + $ERROR('#455: -64 >> 14 === -1. Actual: ' + (-64 >> 14)); +} + + +if (-128 >> 14 !== -1) { + $ERROR('#456: -128 >> 14 === -1. Actual: ' + (-128 >> 14)); +} + + +if (-256 >> 14 !== -1) { + $ERROR('#457: -256 >> 14 === -1. Actual: ' + (-256 >> 14)); +} + + +if (-512 >> 14 !== -1) { + $ERROR('#458: -512 >> 14 === -1. Actual: ' + (-512 >> 14)); +} + + +if (-1024 >> 14 !== -1) { + $ERROR('#459: -1024 >> 14 === -1. Actual: ' + (-1024 >> 14)); +} + + +if (-2048 >> 14 !== -1) { + $ERROR('#460: -2048 >> 14 === -1. Actual: ' + (-2048 >> 14)); +} + + +if (-4096 >> 14 !== -1) { + $ERROR('#461: -4096 >> 14 === -1. Actual: ' + (-4096 >> 14)); +} + + +if (-8192 >> 14 !== -1) { + $ERROR('#462: -8192 >> 14 === -1. Actual: ' + (-8192 >> 14)); +} + + +if (-16384 >> 14 !== -1) { + $ERROR('#463: -16384 >> 14 === -1. Actual: ' + (-16384 >> 14)); +} + + +if (-32768 >> 14 !== -2) { + $ERROR('#464: -32768 >> 14 === -2. Actual: ' + (-32768 >> 14)); +} + + +if (-65536 >> 14 !== -4) { + $ERROR('#465: -65536 >> 14 === -4. Actual: ' + (-65536 >> 14)); +} + + +if (-131072 >> 14 !== -8) { + $ERROR('#466: -131072 >> 14 === -8. Actual: ' + (-131072 >> 14)); +} + + +if (-262144 >> 14 !== -16) { + $ERROR('#467: -262144 >> 14 === -16. Actual: ' + (-262144 >> 14)); +} + + +if (-524288 >> 14 !== -32) { + $ERROR('#468: -524288 >> 14 === -32. Actual: ' + (-524288 >> 14)); +} + + +if (-1048576 >> 14 !== -64) { + $ERROR('#469: -1048576 >> 14 === -64. Actual: ' + (-1048576 >> 14)); +} + + +if (-2097152 >> 14 !== -128) { + $ERROR('#470: -2097152 >> 14 === -128. Actual: ' + (-2097152 >> 14)); +} + + +if (-4194304 >> 14 !== -256) { + $ERROR('#471: -4194304 >> 14 === -256. Actual: ' + (-4194304 >> 14)); +} + + +if (-8388608 >> 14 !== -512) { + $ERROR('#472: -8388608 >> 14 === -512. Actual: ' + (-8388608 >> 14)); +} + + +if (-16777216 >> 14 !== -1024) { + $ERROR('#473: -16777216 >> 14 === -1024. Actual: ' + (-16777216 >> 14)); +} + + +if (-33554432 >> 14 !== -2048) { + $ERROR('#474: -33554432 >> 14 === -2048. Actual: ' + (-33554432 >> 14)); +} + + +if (-67108864 >> 14 !== -4096) { + $ERROR('#475: -67108864 >> 14 === -4096. Actual: ' + (-67108864 >> 14)); +} + + +if (-134217728 >> 14 !== -8192) { + $ERROR('#476: -134217728 >> 14 === -8192. Actual: ' + (-134217728 >> 14)); +} + + +if (-268435456 >> 14 !== -16384) { + $ERROR('#477: -268435456 >> 14 === -16384. Actual: ' + (-268435456 >> 14)); +} + + +if (-536870912 >> 14 !== -32768) { + $ERROR('#478: -536870912 >> 14 === -32768. Actual: ' + (-536870912 >> 14)); +} + + +if (-1073741824 >> 14 !== -65536) { + $ERROR('#479: -1073741824 >> 14 === -65536. Actual: ' + (-1073741824 >> 14)); +} + + +if (-2147483648 >> 14 !== -131072) { + $ERROR('#480: -2147483648 >> 14 === -131072. Actual: ' + (-2147483648 >> 14)); +} + + +if (-1 >> 15 !== -1) { + $ERROR('#481: -1 >> 15 === -1. Actual: ' + (-1 >> 15)); +} + + +if (-2 >> 15 !== -1) { + $ERROR('#482: -2 >> 15 === -1. Actual: ' + (-2 >> 15)); +} + + +if (-4 >> 15 !== -1) { + $ERROR('#483: -4 >> 15 === -1. Actual: ' + (-4 >> 15)); +} + + +if (-8 >> 15 !== -1) { + $ERROR('#484: -8 >> 15 === -1. Actual: ' + (-8 >> 15)); +} + + +if (-16 >> 15 !== -1) { + $ERROR('#485: -16 >> 15 === -1. Actual: ' + (-16 >> 15)); +} + + +if (-32 >> 15 !== -1) { + $ERROR('#486: -32 >> 15 === -1. Actual: ' + (-32 >> 15)); +} + + +if (-64 >> 15 !== -1) { + $ERROR('#487: -64 >> 15 === -1. Actual: ' + (-64 >> 15)); +} + + +if (-128 >> 15 !== -1) { + $ERROR('#488: -128 >> 15 === -1. Actual: ' + (-128 >> 15)); +} + + +if (-256 >> 15 !== -1) { + $ERROR('#489: -256 >> 15 === -1. Actual: ' + (-256 >> 15)); +} + + +if (-512 >> 15 !== -1) { + $ERROR('#490: -512 >> 15 === -1. Actual: ' + (-512 >> 15)); +} + + +if (-1024 >> 15 !== -1) { + $ERROR('#491: -1024 >> 15 === -1. Actual: ' + (-1024 >> 15)); +} + + +if (-2048 >> 15 !== -1) { + $ERROR('#492: -2048 >> 15 === -1. Actual: ' + (-2048 >> 15)); +} + + +if (-4096 >> 15 !== -1) { + $ERROR('#493: -4096 >> 15 === -1. Actual: ' + (-4096 >> 15)); +} + + +if (-8192 >> 15 !== -1) { + $ERROR('#494: -8192 >> 15 === -1. Actual: ' + (-8192 >> 15)); +} + + +if (-16384 >> 15 !== -1) { + $ERROR('#495: -16384 >> 15 === -1. Actual: ' + (-16384 >> 15)); +} + + +if (-32768 >> 15 !== -1) { + $ERROR('#496: -32768 >> 15 === -1. Actual: ' + (-32768 >> 15)); +} + + +if (-65536 >> 15 !== -2) { + $ERROR('#497: -65536 >> 15 === -2. Actual: ' + (-65536 >> 15)); +} + + +if (-131072 >> 15 !== -4) { + $ERROR('#498: -131072 >> 15 === -4. Actual: ' + (-131072 >> 15)); +} + + +if (-262144 >> 15 !== -8) { + $ERROR('#499: -262144 >> 15 === -8. Actual: ' + (-262144 >> 15)); +} + + +if (-524288 >> 15 !== -16) { + $ERROR('#500: -524288 >> 15 === -16. Actual: ' + (-524288 >> 15)); +} + + +if (-1048576 >> 15 !== -32) { + $ERROR('#501: -1048576 >> 15 === -32. Actual: ' + (-1048576 >> 15)); +} + + +if (-2097152 >> 15 !== -64) { + $ERROR('#502: -2097152 >> 15 === -64. Actual: ' + (-2097152 >> 15)); +} + + +if (-4194304 >> 15 !== -128) { + $ERROR('#503: -4194304 >> 15 === -128. Actual: ' + (-4194304 >> 15)); +} + + +if (-8388608 >> 15 !== -256) { + $ERROR('#504: -8388608 >> 15 === -256. Actual: ' + (-8388608 >> 15)); +} + + +if (-16777216 >> 15 !== -512) { + $ERROR('#505: -16777216 >> 15 === -512. Actual: ' + (-16777216 >> 15)); +} + + +if (-33554432 >> 15 !== -1024) { + $ERROR('#506: -33554432 >> 15 === -1024. Actual: ' + (-33554432 >> 15)); +} + + +if (-67108864 >> 15 !== -2048) { + $ERROR('#507: -67108864 >> 15 === -2048. Actual: ' + (-67108864 >> 15)); +} + + +if (-134217728 >> 15 !== -4096) { + $ERROR('#508: -134217728 >> 15 === -4096. Actual: ' + (-134217728 >> 15)); +} + + +if (-268435456 >> 15 !== -8192) { + $ERROR('#509: -268435456 >> 15 === -8192. Actual: ' + (-268435456 >> 15)); +} + + +if (-536870912 >> 15 !== -16384) { + $ERROR('#510: -536870912 >> 15 === -16384. Actual: ' + (-536870912 >> 15)); +} + + +if (-1073741824 >> 15 !== -32768) { + $ERROR('#511: -1073741824 >> 15 === -32768. Actual: ' + (-1073741824 >> 15)); +} + + +if (-2147483648 >> 15 !== -65536) { + $ERROR('#512: -2147483648 >> 15 === -65536. Actual: ' + (-2147483648 >> 15)); +} + diff --git a/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A4_T2.js b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A4_T2.js new file mode 100644 index 000000000..7077af853 --- /dev/null +++ b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A4_T2.js @@ -0,0 +1,2571 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check x >> y operator in distinct points + * + * @path ch11/11.7/11.7.2/S11.7.2_A4_T2.js + * @description ShiftExpression = 2^n - 1, n = 16...31 + */ + +//CHECK + +if (-1 >> 16 !== -1) { + $ERROR('#513: -1 >> 16 === -1. Actual: ' + (-1 >> 16)); +} + + +if (-2 >> 16 !== -1) { + $ERROR('#514: -2 >> 16 === -1. Actual: ' + (-2 >> 16)); +} + + +if (-4 >> 16 !== -1) { + $ERROR('#515: -4 >> 16 === -1. Actual: ' + (-4 >> 16)); +} + + +if (-8 >> 16 !== -1) { + $ERROR('#516: -8 >> 16 === -1. Actual: ' + (-8 >> 16)); +} + + +if (-16 >> 16 !== -1) { + $ERROR('#517: -16 >> 16 === -1. Actual: ' + (-16 >> 16)); +} + + +if (-32 >> 16 !== -1) { + $ERROR('#518: -32 >> 16 === -1. Actual: ' + (-32 >> 16)); +} + + +if (-64 >> 16 !== -1) { + $ERROR('#519: -64 >> 16 === -1. Actual: ' + (-64 >> 16)); +} + + +if (-128 >> 16 !== -1) { + $ERROR('#520: -128 >> 16 === -1. Actual: ' + (-128 >> 16)); +} + + +if (-256 >> 16 !== -1) { + $ERROR('#521: -256 >> 16 === -1. Actual: ' + (-256 >> 16)); +} + + +if (-512 >> 16 !== -1) { + $ERROR('#522: -512 >> 16 === -1. Actual: ' + (-512 >> 16)); +} + + +if (-1024 >> 16 !== -1) { + $ERROR('#523: -1024 >> 16 === -1. Actual: ' + (-1024 >> 16)); +} + + +if (-2048 >> 16 !== -1) { + $ERROR('#524: -2048 >> 16 === -1. Actual: ' + (-2048 >> 16)); +} + + +if (-4096 >> 16 !== -1) { + $ERROR('#525: -4096 >> 16 === -1. Actual: ' + (-4096 >> 16)); +} + + +if (-8192 >> 16 !== -1) { + $ERROR('#526: -8192 >> 16 === -1. Actual: ' + (-8192 >> 16)); +} + + +if (-16384 >> 16 !== -1) { + $ERROR('#527: -16384 >> 16 === -1. Actual: ' + (-16384 >> 16)); +} + + +if (-32768 >> 16 !== -1) { + $ERROR('#528: -32768 >> 16 === -1. Actual: ' + (-32768 >> 16)); +} + + +if (-65536 >> 16 !== -1) { + $ERROR('#529: -65536 >> 16 === -1. Actual: ' + (-65536 >> 16)); +} + + +if (-131072 >> 16 !== -2) { + $ERROR('#530: -131072 >> 16 === -2. Actual: ' + (-131072 >> 16)); +} + + +if (-262144 >> 16 !== -4) { + $ERROR('#531: -262144 >> 16 === -4. Actual: ' + (-262144 >> 16)); +} + + +if (-524288 >> 16 !== -8) { + $ERROR('#532: -524288 >> 16 === -8. Actual: ' + (-524288 >> 16)); +} + + +if (-1048576 >> 16 !== -16) { + $ERROR('#533: -1048576 >> 16 === -16. Actual: ' + (-1048576 >> 16)); +} + + +if (-2097152 >> 16 !== -32) { + $ERROR('#534: -2097152 >> 16 === -32. Actual: ' + (-2097152 >> 16)); +} + + +if (-4194304 >> 16 !== -64) { + $ERROR('#535: -4194304 >> 16 === -64. Actual: ' + (-4194304 >> 16)); +} + + +if (-8388608 >> 16 !== -128) { + $ERROR('#536: -8388608 >> 16 === -128. Actual: ' + (-8388608 >> 16)); +} + + +if (-16777216 >> 16 !== -256) { + $ERROR('#537: -16777216 >> 16 === -256. Actual: ' + (-16777216 >> 16)); +} + + +if (-33554432 >> 16 !== -512) { + $ERROR('#538: -33554432 >> 16 === -512. Actual: ' + (-33554432 >> 16)); +} + + +if (-67108864 >> 16 !== -1024) { + $ERROR('#539: -67108864 >> 16 === -1024. Actual: ' + (-67108864 >> 16)); +} + + +if (-134217728 >> 16 !== -2048) { + $ERROR('#540: -134217728 >> 16 === -2048. Actual: ' + (-134217728 >> 16)); +} + + +if (-268435456 >> 16 !== -4096) { + $ERROR('#541: -268435456 >> 16 === -4096. Actual: ' + (-268435456 >> 16)); +} + + +if (-536870912 >> 16 !== -8192) { + $ERROR('#542: -536870912 >> 16 === -8192. Actual: ' + (-536870912 >> 16)); +} + + +if (-1073741824 >> 16 !== -16384) { + $ERROR('#543: -1073741824 >> 16 === -16384. Actual: ' + (-1073741824 >> 16)); +} + + +if (-2147483648 >> 16 !== -32768) { + $ERROR('#544: -2147483648 >> 16 === -32768. Actual: ' + (-2147483648 >> 16)); +} + + +if (-1 >> 17 !== -1) { + $ERROR('#545: -1 >> 17 === -1. Actual: ' + (-1 >> 17)); +} + + +if (-2 >> 17 !== -1) { + $ERROR('#546: -2 >> 17 === -1. Actual: ' + (-2 >> 17)); +} + + +if (-4 >> 17 !== -1) { + $ERROR('#547: -4 >> 17 === -1. Actual: ' + (-4 >> 17)); +} + + +if (-8 >> 17 !== -1) { + $ERROR('#548: -8 >> 17 === -1. Actual: ' + (-8 >> 17)); +} + + +if (-16 >> 17 !== -1) { + $ERROR('#549: -16 >> 17 === -1. Actual: ' + (-16 >> 17)); +} + + +if (-32 >> 17 !== -1) { + $ERROR('#550: -32 >> 17 === -1. Actual: ' + (-32 >> 17)); +} + + +if (-64 >> 17 !== -1) { + $ERROR('#551: -64 >> 17 === -1. Actual: ' + (-64 >> 17)); +} + + +if (-128 >> 17 !== -1) { + $ERROR('#552: -128 >> 17 === -1. Actual: ' + (-128 >> 17)); +} + + +if (-256 >> 17 !== -1) { + $ERROR('#553: -256 >> 17 === -1. Actual: ' + (-256 >> 17)); +} + + +if (-512 >> 17 !== -1) { + $ERROR('#554: -512 >> 17 === -1. Actual: ' + (-512 >> 17)); +} + + +if (-1024 >> 17 !== -1) { + $ERROR('#555: -1024 >> 17 === -1. Actual: ' + (-1024 >> 17)); +} + + +if (-2048 >> 17 !== -1) { + $ERROR('#556: -2048 >> 17 === -1. Actual: ' + (-2048 >> 17)); +} + + +if (-4096 >> 17 !== -1) { + $ERROR('#557: -4096 >> 17 === -1. Actual: ' + (-4096 >> 17)); +} + + +if (-8192 >> 17 !== -1) { + $ERROR('#558: -8192 >> 17 === -1. Actual: ' + (-8192 >> 17)); +} + + +if (-16384 >> 17 !== -1) { + $ERROR('#559: -16384 >> 17 === -1. Actual: ' + (-16384 >> 17)); +} + + +if (-32768 >> 17 !== -1) { + $ERROR('#560: -32768 >> 17 === -1. Actual: ' + (-32768 >> 17)); +} + + +if (-65536 >> 17 !== -1) { + $ERROR('#561: -65536 >> 17 === -1. Actual: ' + (-65536 >> 17)); +} + + +if (-131072 >> 17 !== -1) { + $ERROR('#562: -131072 >> 17 === -1. Actual: ' + (-131072 >> 17)); +} + + +if (-262144 >> 17 !== -2) { + $ERROR('#563: -262144 >> 17 === -2. Actual: ' + (-262144 >> 17)); +} + + +if (-524288 >> 17 !== -4) { + $ERROR('#564: -524288 >> 17 === -4. Actual: ' + (-524288 >> 17)); +} + + +if (-1048576 >> 17 !== -8) { + $ERROR('#565: -1048576 >> 17 === -8. Actual: ' + (-1048576 >> 17)); +} + + +if (-2097152 >> 17 !== -16) { + $ERROR('#566: -2097152 >> 17 === -16. Actual: ' + (-2097152 >> 17)); +} + + +if (-4194304 >> 17 !== -32) { + $ERROR('#567: -4194304 >> 17 === -32. Actual: ' + (-4194304 >> 17)); +} + + +if (-8388608 >> 17 !== -64) { + $ERROR('#568: -8388608 >> 17 === -64. Actual: ' + (-8388608 >> 17)); +} + + +if (-16777216 >> 17 !== -128) { + $ERROR('#569: -16777216 >> 17 === -128. Actual: ' + (-16777216 >> 17)); +} + + +if (-33554432 >> 17 !== -256) { + $ERROR('#570: -33554432 >> 17 === -256. Actual: ' + (-33554432 >> 17)); +} + + +if (-67108864 >> 17 !== -512) { + $ERROR('#571: -67108864 >> 17 === -512. Actual: ' + (-67108864 >> 17)); +} + + +if (-134217728 >> 17 !== -1024) { + $ERROR('#572: -134217728 >> 17 === -1024. Actual: ' + (-134217728 >> 17)); +} + + +if (-268435456 >> 17 !== -2048) { + $ERROR('#573: -268435456 >> 17 === -2048. Actual: ' + (-268435456 >> 17)); +} + + +if (-536870912 >> 17 !== -4096) { + $ERROR('#574: -536870912 >> 17 === -4096. Actual: ' + (-536870912 >> 17)); +} + + +if (-1073741824 >> 17 !== -8192) { + $ERROR('#575: -1073741824 >> 17 === -8192. Actual: ' + (-1073741824 >> 17)); +} + + +if (-2147483648 >> 17 !== -16384) { + $ERROR('#576: -2147483648 >> 17 === -16384. Actual: ' + (-2147483648 >> 17)); +} + + +if (-1 >> 18 !== -1) { + $ERROR('#577: -1 >> 18 === -1. Actual: ' + (-1 >> 18)); +} + + +if (-2 >> 18 !== -1) { + $ERROR('#578: -2 >> 18 === -1. Actual: ' + (-2 >> 18)); +} + + +if (-4 >> 18 !== -1) { + $ERROR('#579: -4 >> 18 === -1. Actual: ' + (-4 >> 18)); +} + + +if (-8 >> 18 !== -1) { + $ERROR('#580: -8 >> 18 === -1. Actual: ' + (-8 >> 18)); +} + + +if (-16 >> 18 !== -1) { + $ERROR('#581: -16 >> 18 === -1. Actual: ' + (-16 >> 18)); +} + + +if (-32 >> 18 !== -1) { + $ERROR('#582: -32 >> 18 === -1. Actual: ' + (-32 >> 18)); +} + + +if (-64 >> 18 !== -1) { + $ERROR('#583: -64 >> 18 === -1. Actual: ' + (-64 >> 18)); +} + + +if (-128 >> 18 !== -1) { + $ERROR('#584: -128 >> 18 === -1. Actual: ' + (-128 >> 18)); +} + + +if (-256 >> 18 !== -1) { + $ERROR('#585: -256 >> 18 === -1. Actual: ' + (-256 >> 18)); +} + + +if (-512 >> 18 !== -1) { + $ERROR('#586: -512 >> 18 === -1. Actual: ' + (-512 >> 18)); +} + + +if (-1024 >> 18 !== -1) { + $ERROR('#587: -1024 >> 18 === -1. Actual: ' + (-1024 >> 18)); +} + + +if (-2048 >> 18 !== -1) { + $ERROR('#588: -2048 >> 18 === -1. Actual: ' + (-2048 >> 18)); +} + + +if (-4096 >> 18 !== -1) { + $ERROR('#589: -4096 >> 18 === -1. Actual: ' + (-4096 >> 18)); +} + + +if (-8192 >> 18 !== -1) { + $ERROR('#590: -8192 >> 18 === -1. Actual: ' + (-8192 >> 18)); +} + + +if (-16384 >> 18 !== -1) { + $ERROR('#591: -16384 >> 18 === -1. Actual: ' + (-16384 >> 18)); +} + + +if (-32768 >> 18 !== -1) { + $ERROR('#592: -32768 >> 18 === -1. Actual: ' + (-32768 >> 18)); +} + + +if (-65536 >> 18 !== -1) { + $ERROR('#593: -65536 >> 18 === -1. Actual: ' + (-65536 >> 18)); +} + + +if (-131072 >> 18 !== -1) { + $ERROR('#594: -131072 >> 18 === -1. Actual: ' + (-131072 >> 18)); +} + + +if (-262144 >> 18 !== -1) { + $ERROR('#595: -262144 >> 18 === -1. Actual: ' + (-262144 >> 18)); +} + + +if (-524288 >> 18 !== -2) { + $ERROR('#596: -524288 >> 18 === -2. Actual: ' + (-524288 >> 18)); +} + + +if (-1048576 >> 18 !== -4) { + $ERROR('#597: -1048576 >> 18 === -4. Actual: ' + (-1048576 >> 18)); +} + + +if (-2097152 >> 18 !== -8) { + $ERROR('#598: -2097152 >> 18 === -8. Actual: ' + (-2097152 >> 18)); +} + + +if (-4194304 >> 18 !== -16) { + $ERROR('#599: -4194304 >> 18 === -16. Actual: ' + (-4194304 >> 18)); +} + + +if (-8388608 >> 18 !== -32) { + $ERROR('#600: -8388608 >> 18 === -32. Actual: ' + (-8388608 >> 18)); +} + + +if (-16777216 >> 18 !== -64) { + $ERROR('#601: -16777216 >> 18 === -64. Actual: ' + (-16777216 >> 18)); +} + + +if (-33554432 >> 18 !== -128) { + $ERROR('#602: -33554432 >> 18 === -128. Actual: ' + (-33554432 >> 18)); +} + + +if (-67108864 >> 18 !== -256) { + $ERROR('#603: -67108864 >> 18 === -256. Actual: ' + (-67108864 >> 18)); +} + + +if (-134217728 >> 18 !== -512) { + $ERROR('#604: -134217728 >> 18 === -512. Actual: ' + (-134217728 >> 18)); +} + + +if (-268435456 >> 18 !== -1024) { + $ERROR('#605: -268435456 >> 18 === -1024. Actual: ' + (-268435456 >> 18)); +} + + +if (-536870912 >> 18 !== -2048) { + $ERROR('#606: -536870912 >> 18 === -2048. Actual: ' + (-536870912 >> 18)); +} + + +if (-1073741824 >> 18 !== -4096) { + $ERROR('#607: -1073741824 >> 18 === -4096. Actual: ' + (-1073741824 >> 18)); +} + + +if (-2147483648 >> 18 !== -8192) { + $ERROR('#608: -2147483648 >> 18 === -8192. Actual: ' + (-2147483648 >> 18)); +} + + +if (-1 >> 19 !== -1) { + $ERROR('#609: -1 >> 19 === -1. Actual: ' + (-1 >> 19)); +} + + +if (-2 >> 19 !== -1) { + $ERROR('#610: -2 >> 19 === -1. Actual: ' + (-2 >> 19)); +} + + +if (-4 >> 19 !== -1) { + $ERROR('#611: -4 >> 19 === -1. Actual: ' + (-4 >> 19)); +} + + +if (-8 >> 19 !== -1) { + $ERROR('#612: -8 >> 19 === -1. Actual: ' + (-8 >> 19)); +} + + +if (-16 >> 19 !== -1) { + $ERROR('#613: -16 >> 19 === -1. Actual: ' + (-16 >> 19)); +} + + +if (-32 >> 19 !== -1) { + $ERROR('#614: -32 >> 19 === -1. Actual: ' + (-32 >> 19)); +} + + +if (-64 >> 19 !== -1) { + $ERROR('#615: -64 >> 19 === -1. Actual: ' + (-64 >> 19)); +} + + +if (-128 >> 19 !== -1) { + $ERROR('#616: -128 >> 19 === -1. Actual: ' + (-128 >> 19)); +} + + +if (-256 >> 19 !== -1) { + $ERROR('#617: -256 >> 19 === -1. Actual: ' + (-256 >> 19)); +} + + +if (-512 >> 19 !== -1) { + $ERROR('#618: -512 >> 19 === -1. Actual: ' + (-512 >> 19)); +} + + +if (-1024 >> 19 !== -1) { + $ERROR('#619: -1024 >> 19 === -1. Actual: ' + (-1024 >> 19)); +} + + +if (-2048 >> 19 !== -1) { + $ERROR('#620: -2048 >> 19 === -1. Actual: ' + (-2048 >> 19)); +} + + +if (-4096 >> 19 !== -1) { + $ERROR('#621: -4096 >> 19 === -1. Actual: ' + (-4096 >> 19)); +} + + +if (-8192 >> 19 !== -1) { + $ERROR('#622: -8192 >> 19 === -1. Actual: ' + (-8192 >> 19)); +} + + +if (-16384 >> 19 !== -1) { + $ERROR('#623: -16384 >> 19 === -1. Actual: ' + (-16384 >> 19)); +} + + +if (-32768 >> 19 !== -1) { + $ERROR('#624: -32768 >> 19 === -1. Actual: ' + (-32768 >> 19)); +} + + +if (-65536 >> 19 !== -1) { + $ERROR('#625: -65536 >> 19 === -1. Actual: ' + (-65536 >> 19)); +} + + +if (-131072 >> 19 !== -1) { + $ERROR('#626: -131072 >> 19 === -1. Actual: ' + (-131072 >> 19)); +} + + +if (-262144 >> 19 !== -1) { + $ERROR('#627: -262144 >> 19 === -1. Actual: ' + (-262144 >> 19)); +} + + +if (-524288 >> 19 !== -1) { + $ERROR('#628: -524288 >> 19 === -1. Actual: ' + (-524288 >> 19)); +} + + +if (-1048576 >> 19 !== -2) { + $ERROR('#629: -1048576 >> 19 === -2. Actual: ' + (-1048576 >> 19)); +} + + +if (-2097152 >> 19 !== -4) { + $ERROR('#630: -2097152 >> 19 === -4. Actual: ' + (-2097152 >> 19)); +} + + +if (-4194304 >> 19 !== -8) { + $ERROR('#631: -4194304 >> 19 === -8. Actual: ' + (-4194304 >> 19)); +} + + +if (-8388608 >> 19 !== -16) { + $ERROR('#632: -8388608 >> 19 === -16. Actual: ' + (-8388608 >> 19)); +} + + +if (-16777216 >> 19 !== -32) { + $ERROR('#633: -16777216 >> 19 === -32. Actual: ' + (-16777216 >> 19)); +} + + +if (-33554432 >> 19 !== -64) { + $ERROR('#634: -33554432 >> 19 === -64. Actual: ' + (-33554432 >> 19)); +} + + +if (-67108864 >> 19 !== -128) { + $ERROR('#635: -67108864 >> 19 === -128. Actual: ' + (-67108864 >> 19)); +} + + +if (-134217728 >> 19 !== -256) { + $ERROR('#636: -134217728 >> 19 === -256. Actual: ' + (-134217728 >> 19)); +} + + +if (-268435456 >> 19 !== -512) { + $ERROR('#637: -268435456 >> 19 === -512. Actual: ' + (-268435456 >> 19)); +} + + +if (-536870912 >> 19 !== -1024) { + $ERROR('#638: -536870912 >> 19 === -1024. Actual: ' + (-536870912 >> 19)); +} + + +if (-1073741824 >> 19 !== -2048) { + $ERROR('#639: -1073741824 >> 19 === -2048. Actual: ' + (-1073741824 >> 19)); +} + + +if (-2147483648 >> 19 !== -4096) { + $ERROR('#640: -2147483648 >> 19 === -4096. Actual: ' + (-2147483648 >> 19)); +} + + +if (-1 >> 20 !== -1) { + $ERROR('#641: -1 >> 20 === -1. Actual: ' + (-1 >> 20)); +} + + +if (-2 >> 20 !== -1) { + $ERROR('#642: -2 >> 20 === -1. Actual: ' + (-2 >> 20)); +} + + +if (-4 >> 20 !== -1) { + $ERROR('#643: -4 >> 20 === -1. Actual: ' + (-4 >> 20)); +} + + +if (-8 >> 20 !== -1) { + $ERROR('#644: -8 >> 20 === -1. Actual: ' + (-8 >> 20)); +} + + +if (-16 >> 20 !== -1) { + $ERROR('#645: -16 >> 20 === -1. Actual: ' + (-16 >> 20)); +} + + +if (-32 >> 20 !== -1) { + $ERROR('#646: -32 >> 20 === -1. Actual: ' + (-32 >> 20)); +} + + +if (-64 >> 20 !== -1) { + $ERROR('#647: -64 >> 20 === -1. Actual: ' + (-64 >> 20)); +} + + +if (-128 >> 20 !== -1) { + $ERROR('#648: -128 >> 20 === -1. Actual: ' + (-128 >> 20)); +} + + +if (-256 >> 20 !== -1) { + $ERROR('#649: -256 >> 20 === -1. Actual: ' + (-256 >> 20)); +} + + +if (-512 >> 20 !== -1) { + $ERROR('#650: -512 >> 20 === -1. Actual: ' + (-512 >> 20)); +} + + +if (-1024 >> 20 !== -1) { + $ERROR('#651: -1024 >> 20 === -1. Actual: ' + (-1024 >> 20)); +} + + +if (-2048 >> 20 !== -1) { + $ERROR('#652: -2048 >> 20 === -1. Actual: ' + (-2048 >> 20)); +} + + +if (-4096 >> 20 !== -1) { + $ERROR('#653: -4096 >> 20 === -1. Actual: ' + (-4096 >> 20)); +} + + +if (-8192 >> 20 !== -1) { + $ERROR('#654: -8192 >> 20 === -1. Actual: ' + (-8192 >> 20)); +} + + +if (-16384 >> 20 !== -1) { + $ERROR('#655: -16384 >> 20 === -1. Actual: ' + (-16384 >> 20)); +} + + +if (-32768 >> 20 !== -1) { + $ERROR('#656: -32768 >> 20 === -1. Actual: ' + (-32768 >> 20)); +} + + +if (-65536 >> 20 !== -1) { + $ERROR('#657: -65536 >> 20 === -1. Actual: ' + (-65536 >> 20)); +} + + +if (-131072 >> 20 !== -1) { + $ERROR('#658: -131072 >> 20 === -1. Actual: ' + (-131072 >> 20)); +} + + +if (-262144 >> 20 !== -1) { + $ERROR('#659: -262144 >> 20 === -1. Actual: ' + (-262144 >> 20)); +} + + +if (-524288 >> 20 !== -1) { + $ERROR('#660: -524288 >> 20 === -1. Actual: ' + (-524288 >> 20)); +} + + +if (-1048576 >> 20 !== -1) { + $ERROR('#661: -1048576 >> 20 === -1. Actual: ' + (-1048576 >> 20)); +} + + +if (-2097152 >> 20 !== -2) { + $ERROR('#662: -2097152 >> 20 === -2. Actual: ' + (-2097152 >> 20)); +} + + +if (-4194304 >> 20 !== -4) { + $ERROR('#663: -4194304 >> 20 === -4. Actual: ' + (-4194304 >> 20)); +} + + +if (-8388608 >> 20 !== -8) { + $ERROR('#664: -8388608 >> 20 === -8. Actual: ' + (-8388608 >> 20)); +} + + +if (-16777216 >> 20 !== -16) { + $ERROR('#665: -16777216 >> 20 === -16. Actual: ' + (-16777216 >> 20)); +} + + +if (-33554432 >> 20 !== -32) { + $ERROR('#666: -33554432 >> 20 === -32. Actual: ' + (-33554432 >> 20)); +} + + +if (-67108864 >> 20 !== -64) { + $ERROR('#667: -67108864 >> 20 === -64. Actual: ' + (-67108864 >> 20)); +} + + +if (-134217728 >> 20 !== -128) { + $ERROR('#668: -134217728 >> 20 === -128. Actual: ' + (-134217728 >> 20)); +} + + +if (-268435456 >> 20 !== -256) { + $ERROR('#669: -268435456 >> 20 === -256. Actual: ' + (-268435456 >> 20)); +} + + +if (-536870912 >> 20 !== -512) { + $ERROR('#670: -536870912 >> 20 === -512. Actual: ' + (-536870912 >> 20)); +} + + +if (-1073741824 >> 20 !== -1024) { + $ERROR('#671: -1073741824 >> 20 === -1024. Actual: ' + (-1073741824 >> 20)); +} + + +if (-2147483648 >> 20 !== -2048) { + $ERROR('#672: -2147483648 >> 20 === -2048. Actual: ' + (-2147483648 >> 20)); +} + + +if (-1 >> 21 !== -1) { + $ERROR('#673: -1 >> 21 === -1. Actual: ' + (-1 >> 21)); +} + + +if (-2 >> 21 !== -1) { + $ERROR('#674: -2 >> 21 === -1. Actual: ' + (-2 >> 21)); +} + + +if (-4 >> 21 !== -1) { + $ERROR('#675: -4 >> 21 === -1. Actual: ' + (-4 >> 21)); +} + + +if (-8 >> 21 !== -1) { + $ERROR('#676: -8 >> 21 === -1. Actual: ' + (-8 >> 21)); +} + + +if (-16 >> 21 !== -1) { + $ERROR('#677: -16 >> 21 === -1. Actual: ' + (-16 >> 21)); +} + + +if (-32 >> 21 !== -1) { + $ERROR('#678: -32 >> 21 === -1. Actual: ' + (-32 >> 21)); +} + + +if (-64 >> 21 !== -1) { + $ERROR('#679: -64 >> 21 === -1. Actual: ' + (-64 >> 21)); +} + + +if (-128 >> 21 !== -1) { + $ERROR('#680: -128 >> 21 === -1. Actual: ' + (-128 >> 21)); +} + + +if (-256 >> 21 !== -1) { + $ERROR('#681: -256 >> 21 === -1. Actual: ' + (-256 >> 21)); +} + + +if (-512 >> 21 !== -1) { + $ERROR('#682: -512 >> 21 === -1. Actual: ' + (-512 >> 21)); +} + + +if (-1024 >> 21 !== -1) { + $ERROR('#683: -1024 >> 21 === -1. Actual: ' + (-1024 >> 21)); +} + + +if (-2048 >> 21 !== -1) { + $ERROR('#684: -2048 >> 21 === -1. Actual: ' + (-2048 >> 21)); +} + + +if (-4096 >> 21 !== -1) { + $ERROR('#685: -4096 >> 21 === -1. Actual: ' + (-4096 >> 21)); +} + + +if (-8192 >> 21 !== -1) { + $ERROR('#686: -8192 >> 21 === -1. Actual: ' + (-8192 >> 21)); +} + + +if (-16384 >> 21 !== -1) { + $ERROR('#687: -16384 >> 21 === -1. Actual: ' + (-16384 >> 21)); +} + + +if (-32768 >> 21 !== -1) { + $ERROR('#688: -32768 >> 21 === -1. Actual: ' + (-32768 >> 21)); +} + + +if (-65536 >> 21 !== -1) { + $ERROR('#689: -65536 >> 21 === -1. Actual: ' + (-65536 >> 21)); +} + + +if (-131072 >> 21 !== -1) { + $ERROR('#690: -131072 >> 21 === -1. Actual: ' + (-131072 >> 21)); +} + + +if (-262144 >> 21 !== -1) { + $ERROR('#691: -262144 >> 21 === -1. Actual: ' + (-262144 >> 21)); +} + + +if (-524288 >> 21 !== -1) { + $ERROR('#692: -524288 >> 21 === -1. Actual: ' + (-524288 >> 21)); +} + + +if (-1048576 >> 21 !== -1) { + $ERROR('#693: -1048576 >> 21 === -1. Actual: ' + (-1048576 >> 21)); +} + + +if (-2097152 >> 21 !== -1) { + $ERROR('#694: -2097152 >> 21 === -1. Actual: ' + (-2097152 >> 21)); +} + + +if (-4194304 >> 21 !== -2) { + $ERROR('#695: -4194304 >> 21 === -2. Actual: ' + (-4194304 >> 21)); +} + + +if (-8388608 >> 21 !== -4) { + $ERROR('#696: -8388608 >> 21 === -4. Actual: ' + (-8388608 >> 21)); +} + + +if (-16777216 >> 21 !== -8) { + $ERROR('#697: -16777216 >> 21 === -8. Actual: ' + (-16777216 >> 21)); +} + + +if (-33554432 >> 21 !== -16) { + $ERROR('#698: -33554432 >> 21 === -16. Actual: ' + (-33554432 >> 21)); +} + + +if (-67108864 >> 21 !== -32) { + $ERROR('#699: -67108864 >> 21 === -32. Actual: ' + (-67108864 >> 21)); +} + + +if (-134217728 >> 21 !== -64) { + $ERROR('#700: -134217728 >> 21 === -64. Actual: ' + (-134217728 >> 21)); +} + + +if (-268435456 >> 21 !== -128) { + $ERROR('#701: -268435456 >> 21 === -128. Actual: ' + (-268435456 >> 21)); +} + + +if (-536870912 >> 21 !== -256) { + $ERROR('#702: -536870912 >> 21 === -256. Actual: ' + (-536870912 >> 21)); +} + + +if (-1073741824 >> 21 !== -512) { + $ERROR('#703: -1073741824 >> 21 === -512. Actual: ' + (-1073741824 >> 21)); +} + + +if (-2147483648 >> 21 !== -1024) { + $ERROR('#704: -2147483648 >> 21 === -1024. Actual: ' + (-2147483648 >> 21)); +} + + +if (-1 >> 22 !== -1) { + $ERROR('#705: -1 >> 22 === -1. Actual: ' + (-1 >> 22)); +} + + +if (-2 >> 22 !== -1) { + $ERROR('#706: -2 >> 22 === -1. Actual: ' + (-2 >> 22)); +} + + +if (-4 >> 22 !== -1) { + $ERROR('#707: -4 >> 22 === -1. Actual: ' + (-4 >> 22)); +} + + +if (-8 >> 22 !== -1) { + $ERROR('#708: -8 >> 22 === -1. Actual: ' + (-8 >> 22)); +} + + +if (-16 >> 22 !== -1) { + $ERROR('#709: -16 >> 22 === -1. Actual: ' + (-16 >> 22)); +} + + +if (-32 >> 22 !== -1) { + $ERROR('#710: -32 >> 22 === -1. Actual: ' + (-32 >> 22)); +} + + +if (-64 >> 22 !== -1) { + $ERROR('#711: -64 >> 22 === -1. Actual: ' + (-64 >> 22)); +} + + +if (-128 >> 22 !== -1) { + $ERROR('#712: -128 >> 22 === -1. Actual: ' + (-128 >> 22)); +} + + +if (-256 >> 22 !== -1) { + $ERROR('#713: -256 >> 22 === -1. Actual: ' + (-256 >> 22)); +} + + +if (-512 >> 22 !== -1) { + $ERROR('#714: -512 >> 22 === -1. Actual: ' + (-512 >> 22)); +} + + +if (-1024 >> 22 !== -1) { + $ERROR('#715: -1024 >> 22 === -1. Actual: ' + (-1024 >> 22)); +} + + +if (-2048 >> 22 !== -1) { + $ERROR('#716: -2048 >> 22 === -1. Actual: ' + (-2048 >> 22)); +} + + +if (-4096 >> 22 !== -1) { + $ERROR('#717: -4096 >> 22 === -1. Actual: ' + (-4096 >> 22)); +} + + +if (-8192 >> 22 !== -1) { + $ERROR('#718: -8192 >> 22 === -1. Actual: ' + (-8192 >> 22)); +} + + +if (-16384 >> 22 !== -1) { + $ERROR('#719: -16384 >> 22 === -1. Actual: ' + (-16384 >> 22)); +} + + +if (-32768 >> 22 !== -1) { + $ERROR('#720: -32768 >> 22 === -1. Actual: ' + (-32768 >> 22)); +} + + +if (-65536 >> 22 !== -1) { + $ERROR('#721: -65536 >> 22 === -1. Actual: ' + (-65536 >> 22)); +} + + +if (-131072 >> 22 !== -1) { + $ERROR('#722: -131072 >> 22 === -1. Actual: ' + (-131072 >> 22)); +} + + +if (-262144 >> 22 !== -1) { + $ERROR('#723: -262144 >> 22 === -1. Actual: ' + (-262144 >> 22)); +} + + +if (-524288 >> 22 !== -1) { + $ERROR('#724: -524288 >> 22 === -1. Actual: ' + (-524288 >> 22)); +} + + +if (-1048576 >> 22 !== -1) { + $ERROR('#725: -1048576 >> 22 === -1. Actual: ' + (-1048576 >> 22)); +} + + +if (-2097152 >> 22 !== -1) { + $ERROR('#726: -2097152 >> 22 === -1. Actual: ' + (-2097152 >> 22)); +} + + +if (-4194304 >> 22 !== -1) { + $ERROR('#727: -4194304 >> 22 === -1. Actual: ' + (-4194304 >> 22)); +} + + +if (-8388608 >> 22 !== -2) { + $ERROR('#728: -8388608 >> 22 === -2. Actual: ' + (-8388608 >> 22)); +} + + +if (-16777216 >> 22 !== -4) { + $ERROR('#729: -16777216 >> 22 === -4. Actual: ' + (-16777216 >> 22)); +} + + +if (-33554432 >> 22 !== -8) { + $ERROR('#730: -33554432 >> 22 === -8. Actual: ' + (-33554432 >> 22)); +} + + +if (-67108864 >> 22 !== -16) { + $ERROR('#731: -67108864 >> 22 === -16. Actual: ' + (-67108864 >> 22)); +} + + +if (-134217728 >> 22 !== -32) { + $ERROR('#732: -134217728 >> 22 === -32. Actual: ' + (-134217728 >> 22)); +} + + +if (-268435456 >> 22 !== -64) { + $ERROR('#733: -268435456 >> 22 === -64. Actual: ' + (-268435456 >> 22)); +} + + +if (-536870912 >> 22 !== -128) { + $ERROR('#734: -536870912 >> 22 === -128. Actual: ' + (-536870912 >> 22)); +} + + +if (-1073741824 >> 22 !== -256) { + $ERROR('#735: -1073741824 >> 22 === -256. Actual: ' + (-1073741824 >> 22)); +} + + +if (-2147483648 >> 22 !== -512) { + $ERROR('#736: -2147483648 >> 22 === -512. Actual: ' + (-2147483648 >> 22)); +} + + +if (-1 >> 23 !== -1) { + $ERROR('#737: -1 >> 23 === -1. Actual: ' + (-1 >> 23)); +} + + +if (-2 >> 23 !== -1) { + $ERROR('#738: -2 >> 23 === -1. Actual: ' + (-2 >> 23)); +} + + +if (-4 >> 23 !== -1) { + $ERROR('#739: -4 >> 23 === -1. Actual: ' + (-4 >> 23)); +} + + +if (-8 >> 23 !== -1) { + $ERROR('#740: -8 >> 23 === -1. Actual: ' + (-8 >> 23)); +} + + +if (-16 >> 23 !== -1) { + $ERROR('#741: -16 >> 23 === -1. Actual: ' + (-16 >> 23)); +} + + +if (-32 >> 23 !== -1) { + $ERROR('#742: -32 >> 23 === -1. Actual: ' + (-32 >> 23)); +} + + +if (-64 >> 23 !== -1) { + $ERROR('#743: -64 >> 23 === -1. Actual: ' + (-64 >> 23)); +} + + +if (-128 >> 23 !== -1) { + $ERROR('#744: -128 >> 23 === -1. Actual: ' + (-128 >> 23)); +} + + +if (-256 >> 23 !== -1) { + $ERROR('#745: -256 >> 23 === -1. Actual: ' + (-256 >> 23)); +} + + +if (-512 >> 23 !== -1) { + $ERROR('#746: -512 >> 23 === -1. Actual: ' + (-512 >> 23)); +} + + +if (-1024 >> 23 !== -1) { + $ERROR('#747: -1024 >> 23 === -1. Actual: ' + (-1024 >> 23)); +} + + +if (-2048 >> 23 !== -1) { + $ERROR('#748: -2048 >> 23 === -1. Actual: ' + (-2048 >> 23)); +} + + +if (-4096 >> 23 !== -1) { + $ERROR('#749: -4096 >> 23 === -1. Actual: ' + (-4096 >> 23)); +} + + +if (-8192 >> 23 !== -1) { + $ERROR('#750: -8192 >> 23 === -1. Actual: ' + (-8192 >> 23)); +} + + +if (-16384 >> 23 !== -1) { + $ERROR('#751: -16384 >> 23 === -1. Actual: ' + (-16384 >> 23)); +} + + +if (-32768 >> 23 !== -1) { + $ERROR('#752: -32768 >> 23 === -1. Actual: ' + (-32768 >> 23)); +} + + +if (-65536 >> 23 !== -1) { + $ERROR('#753: -65536 >> 23 === -1. Actual: ' + (-65536 >> 23)); +} + + +if (-131072 >> 23 !== -1) { + $ERROR('#754: -131072 >> 23 === -1. Actual: ' + (-131072 >> 23)); +} + + +if (-262144 >> 23 !== -1) { + $ERROR('#755: -262144 >> 23 === -1. Actual: ' + (-262144 >> 23)); +} + + +if (-524288 >> 23 !== -1) { + $ERROR('#756: -524288 >> 23 === -1. Actual: ' + (-524288 >> 23)); +} + + +if (-1048576 >> 23 !== -1) { + $ERROR('#757: -1048576 >> 23 === -1. Actual: ' + (-1048576 >> 23)); +} + + +if (-2097152 >> 23 !== -1) { + $ERROR('#758: -2097152 >> 23 === -1. Actual: ' + (-2097152 >> 23)); +} + + +if (-4194304 >> 23 !== -1) { + $ERROR('#759: -4194304 >> 23 === -1. Actual: ' + (-4194304 >> 23)); +} + + +if (-8388608 >> 23 !== -1) { + $ERROR('#760: -8388608 >> 23 === -1. Actual: ' + (-8388608 >> 23)); +} + + +if (-16777216 >> 23 !== -2) { + $ERROR('#761: -16777216 >> 23 === -2. Actual: ' + (-16777216 >> 23)); +} + + +if (-33554432 >> 23 !== -4) { + $ERROR('#762: -33554432 >> 23 === -4. Actual: ' + (-33554432 >> 23)); +} + + +if (-67108864 >> 23 !== -8) { + $ERROR('#763: -67108864 >> 23 === -8. Actual: ' + (-67108864 >> 23)); +} + + +if (-134217728 >> 23 !== -16) { + $ERROR('#764: -134217728 >> 23 === -16. Actual: ' + (-134217728 >> 23)); +} + + +if (-268435456 >> 23 !== -32) { + $ERROR('#765: -268435456 >> 23 === -32. Actual: ' + (-268435456 >> 23)); +} + + +if (-536870912 >> 23 !== -64) { + $ERROR('#766: -536870912 >> 23 === -64. Actual: ' + (-536870912 >> 23)); +} + + +if (-1073741824 >> 23 !== -128) { + $ERROR('#767: -1073741824 >> 23 === -128. Actual: ' + (-1073741824 >> 23)); +} + + +if (-2147483648 >> 23 !== -256) { + $ERROR('#768: -2147483648 >> 23 === -256. Actual: ' + (-2147483648 >> 23)); +} + + +if (-1 >> 24 !== -1) { + $ERROR('#769: -1 >> 24 === -1. Actual: ' + (-1 >> 24)); +} + + +if (-2 >> 24 !== -1) { + $ERROR('#770: -2 >> 24 === -1. Actual: ' + (-2 >> 24)); +} + + +if (-4 >> 24 !== -1) { + $ERROR('#771: -4 >> 24 === -1. Actual: ' + (-4 >> 24)); +} + + +if (-8 >> 24 !== -1) { + $ERROR('#772: -8 >> 24 === -1. Actual: ' + (-8 >> 24)); +} + + +if (-16 >> 24 !== -1) { + $ERROR('#773: -16 >> 24 === -1. Actual: ' + (-16 >> 24)); +} + + +if (-32 >> 24 !== -1) { + $ERROR('#774: -32 >> 24 === -1. Actual: ' + (-32 >> 24)); +} + + +if (-64 >> 24 !== -1) { + $ERROR('#775: -64 >> 24 === -1. Actual: ' + (-64 >> 24)); +} + + +if (-128 >> 24 !== -1) { + $ERROR('#776: -128 >> 24 === -1. Actual: ' + (-128 >> 24)); +} + + +if (-256 >> 24 !== -1) { + $ERROR('#777: -256 >> 24 === -1. Actual: ' + (-256 >> 24)); +} + + +if (-512 >> 24 !== -1) { + $ERROR('#778: -512 >> 24 === -1. Actual: ' + (-512 >> 24)); +} + + +if (-1024 >> 24 !== -1) { + $ERROR('#779: -1024 >> 24 === -1. Actual: ' + (-1024 >> 24)); +} + + +if (-2048 >> 24 !== -1) { + $ERROR('#780: -2048 >> 24 === -1. Actual: ' + (-2048 >> 24)); +} + + +if (-4096 >> 24 !== -1) { + $ERROR('#781: -4096 >> 24 === -1. Actual: ' + (-4096 >> 24)); +} + + +if (-8192 >> 24 !== -1) { + $ERROR('#782: -8192 >> 24 === -1. Actual: ' + (-8192 >> 24)); +} + + +if (-16384 >> 24 !== -1) { + $ERROR('#783: -16384 >> 24 === -1. Actual: ' + (-16384 >> 24)); +} + + +if (-32768 >> 24 !== -1) { + $ERROR('#784: -32768 >> 24 === -1. Actual: ' + (-32768 >> 24)); +} + + +if (-65536 >> 24 !== -1) { + $ERROR('#785: -65536 >> 24 === -1. Actual: ' + (-65536 >> 24)); +} + + +if (-131072 >> 24 !== -1) { + $ERROR('#786: -131072 >> 24 === -1. Actual: ' + (-131072 >> 24)); +} + + +if (-262144 >> 24 !== -1) { + $ERROR('#787: -262144 >> 24 === -1. Actual: ' + (-262144 >> 24)); +} + + +if (-524288 >> 24 !== -1) { + $ERROR('#788: -524288 >> 24 === -1. Actual: ' + (-524288 >> 24)); +} + + +if (-1048576 >> 24 !== -1) { + $ERROR('#789: -1048576 >> 24 === -1. Actual: ' + (-1048576 >> 24)); +} + + +if (-2097152 >> 24 !== -1) { + $ERROR('#790: -2097152 >> 24 === -1. Actual: ' + (-2097152 >> 24)); +} + + +if (-4194304 >> 24 !== -1) { + $ERROR('#791: -4194304 >> 24 === -1. Actual: ' + (-4194304 >> 24)); +} + + +if (-8388608 >> 24 !== -1) { + $ERROR('#792: -8388608 >> 24 === -1. Actual: ' + (-8388608 >> 24)); +} + + +if (-16777216 >> 24 !== -1) { + $ERROR('#793: -16777216 >> 24 === -1. Actual: ' + (-16777216 >> 24)); +} + + +if (-33554432 >> 24 !== -2) { + $ERROR('#794: -33554432 >> 24 === -2. Actual: ' + (-33554432 >> 24)); +} + + +if (-67108864 >> 24 !== -4) { + $ERROR('#795: -67108864 >> 24 === -4. Actual: ' + (-67108864 >> 24)); +} + + +if (-134217728 >> 24 !== -8) { + $ERROR('#796: -134217728 >> 24 === -8. Actual: ' + (-134217728 >> 24)); +} + + +if (-268435456 >> 24 !== -16) { + $ERROR('#797: -268435456 >> 24 === -16. Actual: ' + (-268435456 >> 24)); +} + + +if (-536870912 >> 24 !== -32) { + $ERROR('#798: -536870912 >> 24 === -32. Actual: ' + (-536870912 >> 24)); +} + + +if (-1073741824 >> 24 !== -64) { + $ERROR('#799: -1073741824 >> 24 === -64. Actual: ' + (-1073741824 >> 24)); +} + + +if (-2147483648 >> 24 !== -128) { + $ERROR('#800: -2147483648 >> 24 === -128. Actual: ' + (-2147483648 >> 24)); +} + + +if (-1 >> 25 !== -1) { + $ERROR('#801: -1 >> 25 === -1. Actual: ' + (-1 >> 25)); +} + + +if (-2 >> 25 !== -1) { + $ERROR('#802: -2 >> 25 === -1. Actual: ' + (-2 >> 25)); +} + + +if (-4 >> 25 !== -1) { + $ERROR('#803: -4 >> 25 === -1. Actual: ' + (-4 >> 25)); +} + + +if (-8 >> 25 !== -1) { + $ERROR('#804: -8 >> 25 === -1. Actual: ' + (-8 >> 25)); +} + + +if (-16 >> 25 !== -1) { + $ERROR('#805: -16 >> 25 === -1. Actual: ' + (-16 >> 25)); +} + + +if (-32 >> 25 !== -1) { + $ERROR('#806: -32 >> 25 === -1. Actual: ' + (-32 >> 25)); +} + + +if (-64 >> 25 !== -1) { + $ERROR('#807: -64 >> 25 === -1. Actual: ' + (-64 >> 25)); +} + + +if (-128 >> 25 !== -1) { + $ERROR('#808: -128 >> 25 === -1. Actual: ' + (-128 >> 25)); +} + + +if (-256 >> 25 !== -1) { + $ERROR('#809: -256 >> 25 === -1. Actual: ' + (-256 >> 25)); +} + + +if (-512 >> 25 !== -1) { + $ERROR('#810: -512 >> 25 === -1. Actual: ' + (-512 >> 25)); +} + + +if (-1024 >> 25 !== -1) { + $ERROR('#811: -1024 >> 25 === -1. Actual: ' + (-1024 >> 25)); +} + + +if (-2048 >> 25 !== -1) { + $ERROR('#812: -2048 >> 25 === -1. Actual: ' + (-2048 >> 25)); +} + + +if (-4096 >> 25 !== -1) { + $ERROR('#813: -4096 >> 25 === -1. Actual: ' + (-4096 >> 25)); +} + + +if (-8192 >> 25 !== -1) { + $ERROR('#814: -8192 >> 25 === -1. Actual: ' + (-8192 >> 25)); +} + + +if (-16384 >> 25 !== -1) { + $ERROR('#815: -16384 >> 25 === -1. Actual: ' + (-16384 >> 25)); +} + + +if (-32768 >> 25 !== -1) { + $ERROR('#816: -32768 >> 25 === -1. Actual: ' + (-32768 >> 25)); +} + + +if (-65536 >> 25 !== -1) { + $ERROR('#817: -65536 >> 25 === -1. Actual: ' + (-65536 >> 25)); +} + + +if (-131072 >> 25 !== -1) { + $ERROR('#818: -131072 >> 25 === -1. Actual: ' + (-131072 >> 25)); +} + + +if (-262144 >> 25 !== -1) { + $ERROR('#819: -262144 >> 25 === -1. Actual: ' + (-262144 >> 25)); +} + + +if (-524288 >> 25 !== -1) { + $ERROR('#820: -524288 >> 25 === -1. Actual: ' + (-524288 >> 25)); +} + + +if (-1048576 >> 25 !== -1) { + $ERROR('#821: -1048576 >> 25 === -1. Actual: ' + (-1048576 >> 25)); +} + + +if (-2097152 >> 25 !== -1) { + $ERROR('#822: -2097152 >> 25 === -1. Actual: ' + (-2097152 >> 25)); +} + + +if (-4194304 >> 25 !== -1) { + $ERROR('#823: -4194304 >> 25 === -1. Actual: ' + (-4194304 >> 25)); +} + + +if (-8388608 >> 25 !== -1) { + $ERROR('#824: -8388608 >> 25 === -1. Actual: ' + (-8388608 >> 25)); +} + + +if (-16777216 >> 25 !== -1) { + $ERROR('#825: -16777216 >> 25 === -1. Actual: ' + (-16777216 >> 25)); +} + + +if (-33554432 >> 25 !== -1) { + $ERROR('#826: -33554432 >> 25 === -1. Actual: ' + (-33554432 >> 25)); +} + + +if (-67108864 >> 25 !== -2) { + $ERROR('#827: -67108864 >> 25 === -2. Actual: ' + (-67108864 >> 25)); +} + + +if (-134217728 >> 25 !== -4) { + $ERROR('#828: -134217728 >> 25 === -4. Actual: ' + (-134217728 >> 25)); +} + + +if (-268435456 >> 25 !== -8) { + $ERROR('#829: -268435456 >> 25 === -8. Actual: ' + (-268435456 >> 25)); +} + + +if (-536870912 >> 25 !== -16) { + $ERROR('#830: -536870912 >> 25 === -16. Actual: ' + (-536870912 >> 25)); +} + + +if (-1073741824 >> 25 !== -32) { + $ERROR('#831: -1073741824 >> 25 === -32. Actual: ' + (-1073741824 >> 25)); +} + + +if (-2147483648 >> 25 !== -64) { + $ERROR('#832: -2147483648 >> 25 === -64. Actual: ' + (-2147483648 >> 25)); +} + + +if (-1 >> 26 !== -1) { + $ERROR('#833: -1 >> 26 === -1. Actual: ' + (-1 >> 26)); +} + + +if (-2 >> 26 !== -1) { + $ERROR('#834: -2 >> 26 === -1. Actual: ' + (-2 >> 26)); +} + + +if (-4 >> 26 !== -1) { + $ERROR('#835: -4 >> 26 === -1. Actual: ' + (-4 >> 26)); +} + + +if (-8 >> 26 !== -1) { + $ERROR('#836: -8 >> 26 === -1. Actual: ' + (-8 >> 26)); +} + + +if (-16 >> 26 !== -1) { + $ERROR('#837: -16 >> 26 === -1. Actual: ' + (-16 >> 26)); +} + + +if (-32 >> 26 !== -1) { + $ERROR('#838: -32 >> 26 === -1. Actual: ' + (-32 >> 26)); +} + + +if (-64 >> 26 !== -1) { + $ERROR('#839: -64 >> 26 === -1. Actual: ' + (-64 >> 26)); +} + + +if (-128 >> 26 !== -1) { + $ERROR('#840: -128 >> 26 === -1. Actual: ' + (-128 >> 26)); +} + + +if (-256 >> 26 !== -1) { + $ERROR('#841: -256 >> 26 === -1. Actual: ' + (-256 >> 26)); +} + + +if (-512 >> 26 !== -1) { + $ERROR('#842: -512 >> 26 === -1. Actual: ' + (-512 >> 26)); +} + + +if (-1024 >> 26 !== -1) { + $ERROR('#843: -1024 >> 26 === -1. Actual: ' + (-1024 >> 26)); +} + + +if (-2048 >> 26 !== -1) { + $ERROR('#844: -2048 >> 26 === -1. Actual: ' + (-2048 >> 26)); +} + + +if (-4096 >> 26 !== -1) { + $ERROR('#845: -4096 >> 26 === -1. Actual: ' + (-4096 >> 26)); +} + + +if (-8192 >> 26 !== -1) { + $ERROR('#846: -8192 >> 26 === -1. Actual: ' + (-8192 >> 26)); +} + + +if (-16384 >> 26 !== -1) { + $ERROR('#847: -16384 >> 26 === -1. Actual: ' + (-16384 >> 26)); +} + + +if (-32768 >> 26 !== -1) { + $ERROR('#848: -32768 >> 26 === -1. Actual: ' + (-32768 >> 26)); +} + + +if (-65536 >> 26 !== -1) { + $ERROR('#849: -65536 >> 26 === -1. Actual: ' + (-65536 >> 26)); +} + + +if (-131072 >> 26 !== -1) { + $ERROR('#850: -131072 >> 26 === -1. Actual: ' + (-131072 >> 26)); +} + + +if (-262144 >> 26 !== -1) { + $ERROR('#851: -262144 >> 26 === -1. Actual: ' + (-262144 >> 26)); +} + + +if (-524288 >> 26 !== -1) { + $ERROR('#852: -524288 >> 26 === -1. Actual: ' + (-524288 >> 26)); +} + + +if (-1048576 >> 26 !== -1) { + $ERROR('#853: -1048576 >> 26 === -1. Actual: ' + (-1048576 >> 26)); +} + + +if (-2097152 >> 26 !== -1) { + $ERROR('#854: -2097152 >> 26 === -1. Actual: ' + (-2097152 >> 26)); +} + + +if (-4194304 >> 26 !== -1) { + $ERROR('#855: -4194304 >> 26 === -1. Actual: ' + (-4194304 >> 26)); +} + + +if (-8388608 >> 26 !== -1) { + $ERROR('#856: -8388608 >> 26 === -1. Actual: ' + (-8388608 >> 26)); +} + + +if (-16777216 >> 26 !== -1) { + $ERROR('#857: -16777216 >> 26 === -1. Actual: ' + (-16777216 >> 26)); +} + + +if (-33554432 >> 26 !== -1) { + $ERROR('#858: -33554432 >> 26 === -1. Actual: ' + (-33554432 >> 26)); +} + + +if (-67108864 >> 26 !== -1) { + $ERROR('#859: -67108864 >> 26 === -1. Actual: ' + (-67108864 >> 26)); +} + + +if (-134217728 >> 26 !== -2) { + $ERROR('#860: -134217728 >> 26 === -2. Actual: ' + (-134217728 >> 26)); +} + + +if (-268435456 >> 26 !== -4) { + $ERROR('#861: -268435456 >> 26 === -4. Actual: ' + (-268435456 >> 26)); +} + + +if (-536870912 >> 26 !== -8) { + $ERROR('#862: -536870912 >> 26 === -8. Actual: ' + (-536870912 >> 26)); +} + + +if (-1073741824 >> 26 !== -16) { + $ERROR('#863: -1073741824 >> 26 === -16. Actual: ' + (-1073741824 >> 26)); +} + + +if (-2147483648 >> 26 !== -32) { + $ERROR('#864: -2147483648 >> 26 === -32. Actual: ' + (-2147483648 >> 26)); +} + + +if (-1 >> 27 !== -1) { + $ERROR('#865: -1 >> 27 === -1. Actual: ' + (-1 >> 27)); +} + + +if (-2 >> 27 !== -1) { + $ERROR('#866: -2 >> 27 === -1. Actual: ' + (-2 >> 27)); +} + + +if (-4 >> 27 !== -1) { + $ERROR('#867: -4 >> 27 === -1. Actual: ' + (-4 >> 27)); +} + + +if (-8 >> 27 !== -1) { + $ERROR('#868: -8 >> 27 === -1. Actual: ' + (-8 >> 27)); +} + + +if (-16 >> 27 !== -1) { + $ERROR('#869: -16 >> 27 === -1. Actual: ' + (-16 >> 27)); +} + + +if (-32 >> 27 !== -1) { + $ERROR('#870: -32 >> 27 === -1. Actual: ' + (-32 >> 27)); +} + + +if (-64 >> 27 !== -1) { + $ERROR('#871: -64 >> 27 === -1. Actual: ' + (-64 >> 27)); +} + + +if (-128 >> 27 !== -1) { + $ERROR('#872: -128 >> 27 === -1. Actual: ' + (-128 >> 27)); +} + + +if (-256 >> 27 !== -1) { + $ERROR('#873: -256 >> 27 === -1. Actual: ' + (-256 >> 27)); +} + + +if (-512 >> 27 !== -1) { + $ERROR('#874: -512 >> 27 === -1. Actual: ' + (-512 >> 27)); +} + + +if (-1024 >> 27 !== -1) { + $ERROR('#875: -1024 >> 27 === -1. Actual: ' + (-1024 >> 27)); +} + + +if (-2048 >> 27 !== -1) { + $ERROR('#876: -2048 >> 27 === -1. Actual: ' + (-2048 >> 27)); +} + + +if (-4096 >> 27 !== -1) { + $ERROR('#877: -4096 >> 27 === -1. Actual: ' + (-4096 >> 27)); +} + + +if (-8192 >> 27 !== -1) { + $ERROR('#878: -8192 >> 27 === -1. Actual: ' + (-8192 >> 27)); +} + + +if (-16384 >> 27 !== -1) { + $ERROR('#879: -16384 >> 27 === -1. Actual: ' + (-16384 >> 27)); +} + + +if (-32768 >> 27 !== -1) { + $ERROR('#880: -32768 >> 27 === -1. Actual: ' + (-32768 >> 27)); +} + + +if (-65536 >> 27 !== -1) { + $ERROR('#881: -65536 >> 27 === -1. Actual: ' + (-65536 >> 27)); +} + + +if (-131072 >> 27 !== -1) { + $ERROR('#882: -131072 >> 27 === -1. Actual: ' + (-131072 >> 27)); +} + + +if (-262144 >> 27 !== -1) { + $ERROR('#883: -262144 >> 27 === -1. Actual: ' + (-262144 >> 27)); +} + + +if (-524288 >> 27 !== -1) { + $ERROR('#884: -524288 >> 27 === -1. Actual: ' + (-524288 >> 27)); +} + + +if (-1048576 >> 27 !== -1) { + $ERROR('#885: -1048576 >> 27 === -1. Actual: ' + (-1048576 >> 27)); +} + + +if (-2097152 >> 27 !== -1) { + $ERROR('#886: -2097152 >> 27 === -1. Actual: ' + (-2097152 >> 27)); +} + + +if (-4194304 >> 27 !== -1) { + $ERROR('#887: -4194304 >> 27 === -1. Actual: ' + (-4194304 >> 27)); +} + + +if (-8388608 >> 27 !== -1) { + $ERROR('#888: -8388608 >> 27 === -1. Actual: ' + (-8388608 >> 27)); +} + + +if (-16777216 >> 27 !== -1) { + $ERROR('#889: -16777216 >> 27 === -1. Actual: ' + (-16777216 >> 27)); +} + + +if (-33554432 >> 27 !== -1) { + $ERROR('#890: -33554432 >> 27 === -1. Actual: ' + (-33554432 >> 27)); +} + + +if (-67108864 >> 27 !== -1) { + $ERROR('#891: -67108864 >> 27 === -1. Actual: ' + (-67108864 >> 27)); +} + + +if (-134217728 >> 27 !== -1) { + $ERROR('#892: -134217728 >> 27 === -1. Actual: ' + (-134217728 >> 27)); +} + + +if (-268435456 >> 27 !== -2) { + $ERROR('#893: -268435456 >> 27 === -2. Actual: ' + (-268435456 >> 27)); +} + + +if (-536870912 >> 27 !== -4) { + $ERROR('#894: -536870912 >> 27 === -4. Actual: ' + (-536870912 >> 27)); +} + + +if (-1073741824 >> 27 !== -8) { + $ERROR('#895: -1073741824 >> 27 === -8. Actual: ' + (-1073741824 >> 27)); +} + + +if (-2147483648 >> 27 !== -16) { + $ERROR('#896: -2147483648 >> 27 === -16. Actual: ' + (-2147483648 >> 27)); +} + + +if (-1 >> 28 !== -1) { + $ERROR('#897: -1 >> 28 === -1. Actual: ' + (-1 >> 28)); +} + + +if (-2 >> 28 !== -1) { + $ERROR('#898: -2 >> 28 === -1. Actual: ' + (-2 >> 28)); +} + + +if (-4 >> 28 !== -1) { + $ERROR('#899: -4 >> 28 === -1. Actual: ' + (-4 >> 28)); +} + + +if (-8 >> 28 !== -1) { + $ERROR('#900: -8 >> 28 === -1. Actual: ' + (-8 >> 28)); +} + + +if (-16 >> 28 !== -1) { + $ERROR('#901: -16 >> 28 === -1. Actual: ' + (-16 >> 28)); +} + + +if (-32 >> 28 !== -1) { + $ERROR('#902: -32 >> 28 === -1. Actual: ' + (-32 >> 28)); +} + + +if (-64 >> 28 !== -1) { + $ERROR('#903: -64 >> 28 === -1. Actual: ' + (-64 >> 28)); +} + + +if (-128 >> 28 !== -1) { + $ERROR('#904: -128 >> 28 === -1. Actual: ' + (-128 >> 28)); +} + + +if (-256 >> 28 !== -1) { + $ERROR('#905: -256 >> 28 === -1. Actual: ' + (-256 >> 28)); +} + + +if (-512 >> 28 !== -1) { + $ERROR('#906: -512 >> 28 === -1. Actual: ' + (-512 >> 28)); +} + + +if (-1024 >> 28 !== -1) { + $ERROR('#907: -1024 >> 28 === -1. Actual: ' + (-1024 >> 28)); +} + + +if (-2048 >> 28 !== -1) { + $ERROR('#908: -2048 >> 28 === -1. Actual: ' + (-2048 >> 28)); +} + + +if (-4096 >> 28 !== -1) { + $ERROR('#909: -4096 >> 28 === -1. Actual: ' + (-4096 >> 28)); +} + + +if (-8192 >> 28 !== -1) { + $ERROR('#910: -8192 >> 28 === -1. Actual: ' + (-8192 >> 28)); +} + + +if (-16384 >> 28 !== -1) { + $ERROR('#911: -16384 >> 28 === -1. Actual: ' + (-16384 >> 28)); +} + + +if (-32768 >> 28 !== -1) { + $ERROR('#912: -32768 >> 28 === -1. Actual: ' + (-32768 >> 28)); +} + + +if (-65536 >> 28 !== -1) { + $ERROR('#913: -65536 >> 28 === -1. Actual: ' + (-65536 >> 28)); +} + + +if (-131072 >> 28 !== -1) { + $ERROR('#914: -131072 >> 28 === -1. Actual: ' + (-131072 >> 28)); +} + + +if (-262144 >> 28 !== -1) { + $ERROR('#915: -262144 >> 28 === -1. Actual: ' + (-262144 >> 28)); +} + + +if (-524288 >> 28 !== -1) { + $ERROR('#916: -524288 >> 28 === -1. Actual: ' + (-524288 >> 28)); +} + + +if (-1048576 >> 28 !== -1) { + $ERROR('#917: -1048576 >> 28 === -1. Actual: ' + (-1048576 >> 28)); +} + + +if (-2097152 >> 28 !== -1) { + $ERROR('#918: -2097152 >> 28 === -1. Actual: ' + (-2097152 >> 28)); +} + + +if (-4194304 >> 28 !== -1) { + $ERROR('#919: -4194304 >> 28 === -1. Actual: ' + (-4194304 >> 28)); +} + + +if (-8388608 >> 28 !== -1) { + $ERROR('#920: -8388608 >> 28 === -1. Actual: ' + (-8388608 >> 28)); +} + + +if (-16777216 >> 28 !== -1) { + $ERROR('#921: -16777216 >> 28 === -1. Actual: ' + (-16777216 >> 28)); +} + + +if (-33554432 >> 28 !== -1) { + $ERROR('#922: -33554432 >> 28 === -1. Actual: ' + (-33554432 >> 28)); +} + + +if (-67108864 >> 28 !== -1) { + $ERROR('#923: -67108864 >> 28 === -1. Actual: ' + (-67108864 >> 28)); +} + + +if (-134217728 >> 28 !== -1) { + $ERROR('#924: -134217728 >> 28 === -1. Actual: ' + (-134217728 >> 28)); +} + + +if (-268435456 >> 28 !== -1) { + $ERROR('#925: -268435456 >> 28 === -1. Actual: ' + (-268435456 >> 28)); +} + + +if (-536870912 >> 28 !== -2) { + $ERROR('#926: -536870912 >> 28 === -2. Actual: ' + (-536870912 >> 28)); +} + + +if (-1073741824 >> 28 !== -4) { + $ERROR('#927: -1073741824 >> 28 === -4. Actual: ' + (-1073741824 >> 28)); +} + + +if (-2147483648 >> 28 !== -8) { + $ERROR('#928: -2147483648 >> 28 === -8. Actual: ' + (-2147483648 >> 28)); +} + + +if (-1 >> 29 !== -1) { + $ERROR('#929: -1 >> 29 === -1. Actual: ' + (-1 >> 29)); +} + + +if (-2 >> 29 !== -1) { + $ERROR('#930: -2 >> 29 === -1. Actual: ' + (-2 >> 29)); +} + + +if (-4 >> 29 !== -1) { + $ERROR('#931: -4 >> 29 === -1. Actual: ' + (-4 >> 29)); +} + + +if (-8 >> 29 !== -1) { + $ERROR('#932: -8 >> 29 === -1. Actual: ' + (-8 >> 29)); +} + + +if (-16 >> 29 !== -1) { + $ERROR('#933: -16 >> 29 === -1. Actual: ' + (-16 >> 29)); +} + + +if (-32 >> 29 !== -1) { + $ERROR('#934: -32 >> 29 === -1. Actual: ' + (-32 >> 29)); +} + + +if (-64 >> 29 !== -1) { + $ERROR('#935: -64 >> 29 === -1. Actual: ' + (-64 >> 29)); +} + + +if (-128 >> 29 !== -1) { + $ERROR('#936: -128 >> 29 === -1. Actual: ' + (-128 >> 29)); +} + + +if (-256 >> 29 !== -1) { + $ERROR('#937: -256 >> 29 === -1. Actual: ' + (-256 >> 29)); +} + + +if (-512 >> 29 !== -1) { + $ERROR('#938: -512 >> 29 === -1. Actual: ' + (-512 >> 29)); +} + + +if (-1024 >> 29 !== -1) { + $ERROR('#939: -1024 >> 29 === -1. Actual: ' + (-1024 >> 29)); +} + + +if (-2048 >> 29 !== -1) { + $ERROR('#940: -2048 >> 29 === -1. Actual: ' + (-2048 >> 29)); +} + + +if (-4096 >> 29 !== -1) { + $ERROR('#941: -4096 >> 29 === -1. Actual: ' + (-4096 >> 29)); +} + + +if (-8192 >> 29 !== -1) { + $ERROR('#942: -8192 >> 29 === -1. Actual: ' + (-8192 >> 29)); +} + + +if (-16384 >> 29 !== -1) { + $ERROR('#943: -16384 >> 29 === -1. Actual: ' + (-16384 >> 29)); +} + + +if (-32768 >> 29 !== -1) { + $ERROR('#944: -32768 >> 29 === -1. Actual: ' + (-32768 >> 29)); +} + + +if (-65536 >> 29 !== -1) { + $ERROR('#945: -65536 >> 29 === -1. Actual: ' + (-65536 >> 29)); +} + + +if (-131072 >> 29 !== -1) { + $ERROR('#946: -131072 >> 29 === -1. Actual: ' + (-131072 >> 29)); +} + + +if (-262144 >> 29 !== -1) { + $ERROR('#947: -262144 >> 29 === -1. Actual: ' + (-262144 >> 29)); +} + + +if (-524288 >> 29 !== -1) { + $ERROR('#948: -524288 >> 29 === -1. Actual: ' + (-524288 >> 29)); +} + + +if (-1048576 >> 29 !== -1) { + $ERROR('#949: -1048576 >> 29 === -1. Actual: ' + (-1048576 >> 29)); +} + + +if (-2097152 >> 29 !== -1) { + $ERROR('#950: -2097152 >> 29 === -1. Actual: ' + (-2097152 >> 29)); +} + + +if (-4194304 >> 29 !== -1) { + $ERROR('#951: -4194304 >> 29 === -1. Actual: ' + (-4194304 >> 29)); +} + + +if (-8388608 >> 29 !== -1) { + $ERROR('#952: -8388608 >> 29 === -1. Actual: ' + (-8388608 >> 29)); +} + + +if (-16777216 >> 29 !== -1) { + $ERROR('#953: -16777216 >> 29 === -1. Actual: ' + (-16777216 >> 29)); +} + + +if (-33554432 >> 29 !== -1) { + $ERROR('#954: -33554432 >> 29 === -1. Actual: ' + (-33554432 >> 29)); +} + + +if (-67108864 >> 29 !== -1) { + $ERROR('#955: -67108864 >> 29 === -1. Actual: ' + (-67108864 >> 29)); +} + + +if (-134217728 >> 29 !== -1) { + $ERROR('#956: -134217728 >> 29 === -1. Actual: ' + (-134217728 >> 29)); +} + + +if (-268435456 >> 29 !== -1) { + $ERROR('#957: -268435456 >> 29 === -1. Actual: ' + (-268435456 >> 29)); +} + + +if (-536870912 >> 29 !== -1) { + $ERROR('#958: -536870912 >> 29 === -1. Actual: ' + (-536870912 >> 29)); +} + + +if (-1073741824 >> 29 !== -2) { + $ERROR('#959: -1073741824 >> 29 === -2. Actual: ' + (-1073741824 >> 29)); +} + + +if (-2147483648 >> 29 !== -4) { + $ERROR('#960: -2147483648 >> 29 === -4. Actual: ' + (-2147483648 >> 29)); +} + + +if (-1 >> 30 !== -1) { + $ERROR('#961: -1 >> 30 === -1. Actual: ' + (-1 >> 30)); +} + + +if (-2 >> 30 !== -1) { + $ERROR('#962: -2 >> 30 === -1. Actual: ' + (-2 >> 30)); +} + + +if (-4 >> 30 !== -1) { + $ERROR('#963: -4 >> 30 === -1. Actual: ' + (-4 >> 30)); +} + + +if (-8 >> 30 !== -1) { + $ERROR('#964: -8 >> 30 === -1. Actual: ' + (-8 >> 30)); +} + + +if (-16 >> 30 !== -1) { + $ERROR('#965: -16 >> 30 === -1. Actual: ' + (-16 >> 30)); +} + + +if (-32 >> 30 !== -1) { + $ERROR('#966: -32 >> 30 === -1. Actual: ' + (-32 >> 30)); +} + + +if (-64 >> 30 !== -1) { + $ERROR('#967: -64 >> 30 === -1. Actual: ' + (-64 >> 30)); +} + + +if (-128 >> 30 !== -1) { + $ERROR('#968: -128 >> 30 === -1. Actual: ' + (-128 >> 30)); +} + + +if (-256 >> 30 !== -1) { + $ERROR('#969: -256 >> 30 === -1. Actual: ' + (-256 >> 30)); +} + + +if (-512 >> 30 !== -1) { + $ERROR('#970: -512 >> 30 === -1. Actual: ' + (-512 >> 30)); +} + + +if (-1024 >> 30 !== -1) { + $ERROR('#971: -1024 >> 30 === -1. Actual: ' + (-1024 >> 30)); +} + + +if (-2048 >> 30 !== -1) { + $ERROR('#972: -2048 >> 30 === -1. Actual: ' + (-2048 >> 30)); +} + + +if (-4096 >> 30 !== -1) { + $ERROR('#973: -4096 >> 30 === -1. Actual: ' + (-4096 >> 30)); +} + + +if (-8192 >> 30 !== -1) { + $ERROR('#974: -8192 >> 30 === -1. Actual: ' + (-8192 >> 30)); +} + + +if (-16384 >> 30 !== -1) { + $ERROR('#975: -16384 >> 30 === -1. Actual: ' + (-16384 >> 30)); +} + + +if (-32768 >> 30 !== -1) { + $ERROR('#976: -32768 >> 30 === -1. Actual: ' + (-32768 >> 30)); +} + + +if (-65536 >> 30 !== -1) { + $ERROR('#977: -65536 >> 30 === -1. Actual: ' + (-65536 >> 30)); +} + + +if (-131072 >> 30 !== -1) { + $ERROR('#978: -131072 >> 30 === -1. Actual: ' + (-131072 >> 30)); +} + + +if (-262144 >> 30 !== -1) { + $ERROR('#979: -262144 >> 30 === -1. Actual: ' + (-262144 >> 30)); +} + + +if (-524288 >> 30 !== -1) { + $ERROR('#980: -524288 >> 30 === -1. Actual: ' + (-524288 >> 30)); +} + + +if (-1048576 >> 30 !== -1) { + $ERROR('#981: -1048576 >> 30 === -1. Actual: ' + (-1048576 >> 30)); +} + + +if (-2097152 >> 30 !== -1) { + $ERROR('#982: -2097152 >> 30 === -1. Actual: ' + (-2097152 >> 30)); +} + + +if (-4194304 >> 30 !== -1) { + $ERROR('#983: -4194304 >> 30 === -1. Actual: ' + (-4194304 >> 30)); +} + + +if (-8388608 >> 30 !== -1) { + $ERROR('#984: -8388608 >> 30 === -1. Actual: ' + (-8388608 >> 30)); +} + + +if (-16777216 >> 30 !== -1) { + $ERROR('#985: -16777216 >> 30 === -1. Actual: ' + (-16777216 >> 30)); +} + + +if (-33554432 >> 30 !== -1) { + $ERROR('#986: -33554432 >> 30 === -1. Actual: ' + (-33554432 >> 30)); +} + + +if (-67108864 >> 30 !== -1) { + $ERROR('#987: -67108864 >> 30 === -1. Actual: ' + (-67108864 >> 30)); +} + + +if (-134217728 >> 30 !== -1) { + $ERROR('#988: -134217728 >> 30 === -1. Actual: ' + (-134217728 >> 30)); +} + + +if (-268435456 >> 30 !== -1) { + $ERROR('#989: -268435456 >> 30 === -1. Actual: ' + (-268435456 >> 30)); +} + + +if (-536870912 >> 30 !== -1) { + $ERROR('#990: -536870912 >> 30 === -1. Actual: ' + (-536870912 >> 30)); +} + + +if (-1073741824 >> 30 !== -1) { + $ERROR('#991: -1073741824 >> 30 === -1. Actual: ' + (-1073741824 >> 30)); +} + + +if (-2147483648 >> 30 !== -2) { + $ERROR('#992: -2147483648 >> 30 === -2. Actual: ' + (-2147483648 >> 30)); +} + + +if (-1 >> 31 !== -1) { + $ERROR('#993: -1 >> 31 === -1. Actual: ' + (-1 >> 31)); +} + + +if (-2 >> 31 !== -1) { + $ERROR('#994: -2 >> 31 === -1. Actual: ' + (-2 >> 31)); +} + + +if (-4 >> 31 !== -1) { + $ERROR('#995: -4 >> 31 === -1. Actual: ' + (-4 >> 31)); +} + + +if (-8 >> 31 !== -1) { + $ERROR('#996: -8 >> 31 === -1. Actual: ' + (-8 >> 31)); +} + + +if (-16 >> 31 !== -1) { + $ERROR('#997: -16 >> 31 === -1. Actual: ' + (-16 >> 31)); +} + + +if (-32 >> 31 !== -1) { + $ERROR('#998: -32 >> 31 === -1. Actual: ' + (-32 >> 31)); +} + + +if (-64 >> 31 !== -1) { + $ERROR('#999: -64 >> 31 === -1. Actual: ' + (-64 >> 31)); +} + + +if (-128 >> 31 !== -1) { + $ERROR('#1000: -128 >> 31 === -1. Actual: ' + (-128 >> 31)); +} + + +if (-256 >> 31 !== -1) { + $ERROR('#1001: -256 >> 31 === -1. Actual: ' + (-256 >> 31)); +} + + +if (-512 >> 31 !== -1) { + $ERROR('#1002: -512 >> 31 === -1. Actual: ' + (-512 >> 31)); +} + + +if (-1024 >> 31 !== -1) { + $ERROR('#1003: -1024 >> 31 === -1. Actual: ' + (-1024 >> 31)); +} + + +if (-2048 >> 31 !== -1) { + $ERROR('#1004: -2048 >> 31 === -1. Actual: ' + (-2048 >> 31)); +} + + +if (-4096 >> 31 !== -1) { + $ERROR('#1005: -4096 >> 31 === -1. Actual: ' + (-4096 >> 31)); +} + + +if (-8192 >> 31 !== -1) { + $ERROR('#1006: -8192 >> 31 === -1. Actual: ' + (-8192 >> 31)); +} + + +if (-16384 >> 31 !== -1) { + $ERROR('#1007: -16384 >> 31 === -1. Actual: ' + (-16384 >> 31)); +} + + +if (-32768 >> 31 !== -1) { + $ERROR('#1008: -32768 >> 31 === -1. Actual: ' + (-32768 >> 31)); +} + + +if (-65536 >> 31 !== -1) { + $ERROR('#1009: -65536 >> 31 === -1. Actual: ' + (-65536 >> 31)); +} + + +if (-131072 >> 31 !== -1) { + $ERROR('#1010: -131072 >> 31 === -1. Actual: ' + (-131072 >> 31)); +} + + +if (-262144 >> 31 !== -1) { + $ERROR('#1011: -262144 >> 31 === -1. Actual: ' + (-262144 >> 31)); +} + + +if (-524288 >> 31 !== -1) { + $ERROR('#1012: -524288 >> 31 === -1. Actual: ' + (-524288 >> 31)); +} + + +if (-1048576 >> 31 !== -1) { + $ERROR('#1013: -1048576 >> 31 === -1. Actual: ' + (-1048576 >> 31)); +} + + +if (-2097152 >> 31 !== -1) { + $ERROR('#1014: -2097152 >> 31 === -1. Actual: ' + (-2097152 >> 31)); +} + + +if (-4194304 >> 31 !== -1) { + $ERROR('#1015: -4194304 >> 31 === -1. Actual: ' + (-4194304 >> 31)); +} + + +if (-8388608 >> 31 !== -1) { + $ERROR('#1016: -8388608 >> 31 === -1. Actual: ' + (-8388608 >> 31)); +} + + +if (-16777216 >> 31 !== -1) { + $ERROR('#1017: -16777216 >> 31 === -1. Actual: ' + (-16777216 >> 31)); +} + + +if (-33554432 >> 31 !== -1) { + $ERROR('#1018: -33554432 >> 31 === -1. Actual: ' + (-33554432 >> 31)); +} + + +if (-67108864 >> 31 !== -1) { + $ERROR('#1019: -67108864 >> 31 === -1. Actual: ' + (-67108864 >> 31)); +} + + +if (-134217728 >> 31 !== -1) { + $ERROR('#1020: -134217728 >> 31 === -1. Actual: ' + (-134217728 >> 31)); +} + + +if (-268435456 >> 31 !== -1) { + $ERROR('#1021: -268435456 >> 31 === -1. Actual: ' + (-268435456 >> 31)); +} + + +if (-536870912 >> 31 !== -1) { + $ERROR('#1022: -536870912 >> 31 === -1. Actual: ' + (-536870912 >> 31)); +} + + +if (-1073741824 >> 31 !== -1) { + $ERROR('#1023: -1073741824 >> 31 === -1. Actual: ' + (-1073741824 >> 31)); +} + + +if (-2147483648 >> 31 !== -1) { + $ERROR('#1024: -2147483648 >> 31 === -1. Actual: ' + (-2147483648 >> 31)); +} + diff --git a/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A4_T3.js b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A4_T3.js new file mode 100644 index 000000000..40f8d686d --- /dev/null +++ b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A4_T3.js @@ -0,0 +1,2571 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check x >> y operator in distinct points + * + * @path ch11/11.7/11.7.2/S11.7.2_A4_T3.js + * @description ShiftExpression = 2^n - 1, n = 0...15 + */ + +//CHECK + +if (0 >> 0 !== 0) { + $ERROR('#1: 0 >> 0 === 0. Actual: ' + (0 >> 0)); +} + + +if (1 >> 0 !== 1) { + $ERROR('#2: 1 >> 0 === 1. Actual: ' + (1 >> 0)); +} + + +if (3 >> 0 !== 3) { + $ERROR('#3: 3 >> 0 === 3. Actual: ' + (3 >> 0)); +} + + +if (7 >> 0 !== 7) { + $ERROR('#4: 7 >> 0 === 7. Actual: ' + (7 >> 0)); +} + + +if (15 >> 0 !== 15) { + $ERROR('#5: 15 >> 0 === 15. Actual: ' + (15 >> 0)); +} + + +if (31 >> 0 !== 31) { + $ERROR('#6: 31 >> 0 === 31. Actual: ' + (31 >> 0)); +} + + +if (63 >> 0 !== 63) { + $ERROR('#7: 63 >> 0 === 63. Actual: ' + (63 >> 0)); +} + + +if (127 >> 0 !== 127) { + $ERROR('#8: 127 >> 0 === 127. Actual: ' + (127 >> 0)); +} + + +if (255 >> 0 !== 255) { + $ERROR('#9: 255 >> 0 === 255. Actual: ' + (255 >> 0)); +} + + +if (511 >> 0 !== 511) { + $ERROR('#10: 511 >> 0 === 511. Actual: ' + (511 >> 0)); +} + + +if (1023 >> 0 !== 1023) { + $ERROR('#11: 1023 >> 0 === 1023. Actual: ' + (1023 >> 0)); +} + + +if (2047 >> 0 !== 2047) { + $ERROR('#12: 2047 >> 0 === 2047. Actual: ' + (2047 >> 0)); +} + + +if (4095 >> 0 !== 4095) { + $ERROR('#13: 4095 >> 0 === 4095. Actual: ' + (4095 >> 0)); +} + + +if (8191 >> 0 !== 8191) { + $ERROR('#14: 8191 >> 0 === 8191. Actual: ' + (8191 >> 0)); +} + + +if (16383 >> 0 !== 16383) { + $ERROR('#15: 16383 >> 0 === 16383. Actual: ' + (16383 >> 0)); +} + + +if (32767 >> 0 !== 32767) { + $ERROR('#16: 32767 >> 0 === 32767. Actual: ' + (32767 >> 0)); +} + + +if (65535 >> 0 !== 65535) { + $ERROR('#17: 65535 >> 0 === 65535. Actual: ' + (65535 >> 0)); +} + + +if (131071 >> 0 !== 131071) { + $ERROR('#18: 131071 >> 0 === 131071. Actual: ' + (131071 >> 0)); +} + + +if (262143 >> 0 !== 262143) { + $ERROR('#19: 262143 >> 0 === 262143. Actual: ' + (262143 >> 0)); +} + + +if (524287 >> 0 !== 524287) { + $ERROR('#20: 524287 >> 0 === 524287. Actual: ' + (524287 >> 0)); +} + + +if (1048575 >> 0 !== 1048575) { + $ERROR('#21: 1048575 >> 0 === 1048575. Actual: ' + (1048575 >> 0)); +} + + +if (2097151 >> 0 !== 2097151) { + $ERROR('#22: 2097151 >> 0 === 2097151. Actual: ' + (2097151 >> 0)); +} + + +if (4194303 >> 0 !== 4194303) { + $ERROR('#23: 4194303 >> 0 === 4194303. Actual: ' + (4194303 >> 0)); +} + + +if (8388607 >> 0 !== 8388607) { + $ERROR('#24: 8388607 >> 0 === 8388607. Actual: ' + (8388607 >> 0)); +} + + +if (16777215 >> 0 !== 16777215) { + $ERROR('#25: 16777215 >> 0 === 16777215. Actual: ' + (16777215 >> 0)); +} + + +if (33554431 >> 0 !== 33554431) { + $ERROR('#26: 33554431 >> 0 === 33554431. Actual: ' + (33554431 >> 0)); +} + + +if (67108863 >> 0 !== 67108863) { + $ERROR('#27: 67108863 >> 0 === 67108863. Actual: ' + (67108863 >> 0)); +} + + +if (134217727 >> 0 !== 134217727) { + $ERROR('#28: 134217727 >> 0 === 134217727. Actual: ' + (134217727 >> 0)); +} + + +if (268435455 >> 0 !== 268435455) { + $ERROR('#29: 268435455 >> 0 === 268435455. Actual: ' + (268435455 >> 0)); +} + + +if (536870911 >> 0 !== 536870911) { + $ERROR('#30: 536870911 >> 0 === 536870911. Actual: ' + (536870911 >> 0)); +} + + +if (1073741823 >> 0 !== 1073741823) { + $ERROR('#31: 1073741823 >> 0 === 1073741823. Actual: ' + (1073741823 >> 0)); +} + + +if (2147483647 >> 0 !== 2147483647) { + $ERROR('#32: 2147483647 >> 0 === 2147483647. Actual: ' + (2147483647 >> 0)); +} + + +if (0 >> 1 !== 0) { + $ERROR('#33: 0 >> 1 === 0. Actual: ' + (0 >> 1)); +} + + +if (1 >> 1 !== 0) { + $ERROR('#34: 1 >> 1 === 0. Actual: ' + (1 >> 1)); +} + + +if (3 >> 1 !== 1) { + $ERROR('#35: 3 >> 1 === 1. Actual: ' + (3 >> 1)); +} + + +if (7 >> 1 !== 3) { + $ERROR('#36: 7 >> 1 === 3. Actual: ' + (7 >> 1)); +} + + +if (15 >> 1 !== 7) { + $ERROR('#37: 15 >> 1 === 7. Actual: ' + (15 >> 1)); +} + + +if (31 >> 1 !== 15) { + $ERROR('#38: 31 >> 1 === 15. Actual: ' + (31 >> 1)); +} + + +if (63 >> 1 !== 31) { + $ERROR('#39: 63 >> 1 === 31. Actual: ' + (63 >> 1)); +} + + +if (127 >> 1 !== 63) { + $ERROR('#40: 127 >> 1 === 63. Actual: ' + (127 >> 1)); +} + + +if (255 >> 1 !== 127) { + $ERROR('#41: 255 >> 1 === 127. Actual: ' + (255 >> 1)); +} + + +if (511 >> 1 !== 255) { + $ERROR('#42: 511 >> 1 === 255. Actual: ' + (511 >> 1)); +} + + +if (1023 >> 1 !== 511) { + $ERROR('#43: 1023 >> 1 === 511. Actual: ' + (1023 >> 1)); +} + + +if (2047 >> 1 !== 1023) { + $ERROR('#44: 2047 >> 1 === 1023. Actual: ' + (2047 >> 1)); +} + + +if (4095 >> 1 !== 2047) { + $ERROR('#45: 4095 >> 1 === 2047. Actual: ' + (4095 >> 1)); +} + + +if (8191 >> 1 !== 4095) { + $ERROR('#46: 8191 >> 1 === 4095. Actual: ' + (8191 >> 1)); +} + + +if (16383 >> 1 !== 8191) { + $ERROR('#47: 16383 >> 1 === 8191. Actual: ' + (16383 >> 1)); +} + + +if (32767 >> 1 !== 16383) { + $ERROR('#48: 32767 >> 1 === 16383. Actual: ' + (32767 >> 1)); +} + + +if (65535 >> 1 !== 32767) { + $ERROR('#49: 65535 >> 1 === 32767. Actual: ' + (65535 >> 1)); +} + + +if (131071 >> 1 !== 65535) { + $ERROR('#50: 131071 >> 1 === 65535. Actual: ' + (131071 >> 1)); +} + + +if (262143 >> 1 !== 131071) { + $ERROR('#51: 262143 >> 1 === 131071. Actual: ' + (262143 >> 1)); +} + + +if (524287 >> 1 !== 262143) { + $ERROR('#52: 524287 >> 1 === 262143. Actual: ' + (524287 >> 1)); +} + + +if (1048575 >> 1 !== 524287) { + $ERROR('#53: 1048575 >> 1 === 524287. Actual: ' + (1048575 >> 1)); +} + + +if (2097151 >> 1 !== 1048575) { + $ERROR('#54: 2097151 >> 1 === 1048575. Actual: ' + (2097151 >> 1)); +} + + +if (4194303 >> 1 !== 2097151) { + $ERROR('#55: 4194303 >> 1 === 2097151. Actual: ' + (4194303 >> 1)); +} + + +if (8388607 >> 1 !== 4194303) { + $ERROR('#56: 8388607 >> 1 === 4194303. Actual: ' + (8388607 >> 1)); +} + + +if (16777215 >> 1 !== 8388607) { + $ERROR('#57: 16777215 >> 1 === 8388607. Actual: ' + (16777215 >> 1)); +} + + +if (33554431 >> 1 !== 16777215) { + $ERROR('#58: 33554431 >> 1 === 16777215. Actual: ' + (33554431 >> 1)); +} + + +if (67108863 >> 1 !== 33554431) { + $ERROR('#59: 67108863 >> 1 === 33554431. Actual: ' + (67108863 >> 1)); +} + + +if (134217727 >> 1 !== 67108863) { + $ERROR('#60: 134217727 >> 1 === 67108863. Actual: ' + (134217727 >> 1)); +} + + +if (268435455 >> 1 !== 134217727) { + $ERROR('#61: 268435455 >> 1 === 134217727. Actual: ' + (268435455 >> 1)); +} + + +if (536870911 >> 1 !== 268435455) { + $ERROR('#62: 536870911 >> 1 === 268435455. Actual: ' + (536870911 >> 1)); +} + + +if (1073741823 >> 1 !== 536870911) { + $ERROR('#63: 1073741823 >> 1 === 536870911. Actual: ' + (1073741823 >> 1)); +} + + +if (2147483647 >> 1 !== 1073741823) { + $ERROR('#64: 2147483647 >> 1 === 1073741823. Actual: ' + (2147483647 >> 1)); +} + + +if (0 >> 2 !== 0) { + $ERROR('#65: 0 >> 2 === 0. Actual: ' + (0 >> 2)); +} + + +if (1 >> 2 !== 0) { + $ERROR('#66: 1 >> 2 === 0. Actual: ' + (1 >> 2)); +} + + +if (3 >> 2 !== 0) { + $ERROR('#67: 3 >> 2 === 0. Actual: ' + (3 >> 2)); +} + + +if (7 >> 2 !== 1) { + $ERROR('#68: 7 >> 2 === 1. Actual: ' + (7 >> 2)); +} + + +if (15 >> 2 !== 3) { + $ERROR('#69: 15 >> 2 === 3. Actual: ' + (15 >> 2)); +} + + +if (31 >> 2 !== 7) { + $ERROR('#70: 31 >> 2 === 7. Actual: ' + (31 >> 2)); +} + + +if (63 >> 2 !== 15) { + $ERROR('#71: 63 >> 2 === 15. Actual: ' + (63 >> 2)); +} + + +if (127 >> 2 !== 31) { + $ERROR('#72: 127 >> 2 === 31. Actual: ' + (127 >> 2)); +} + + +if (255 >> 2 !== 63) { + $ERROR('#73: 255 >> 2 === 63. Actual: ' + (255 >> 2)); +} + + +if (511 >> 2 !== 127) { + $ERROR('#74: 511 >> 2 === 127. Actual: ' + (511 >> 2)); +} + + +if (1023 >> 2 !== 255) { + $ERROR('#75: 1023 >> 2 === 255. Actual: ' + (1023 >> 2)); +} + + +if (2047 >> 2 !== 511) { + $ERROR('#76: 2047 >> 2 === 511. Actual: ' + (2047 >> 2)); +} + + +if (4095 >> 2 !== 1023) { + $ERROR('#77: 4095 >> 2 === 1023. Actual: ' + (4095 >> 2)); +} + + +if (8191 >> 2 !== 2047) { + $ERROR('#78: 8191 >> 2 === 2047. Actual: ' + (8191 >> 2)); +} + + +if (16383 >> 2 !== 4095) { + $ERROR('#79: 16383 >> 2 === 4095. Actual: ' + (16383 >> 2)); +} + + +if (32767 >> 2 !== 8191) { + $ERROR('#80: 32767 >> 2 === 8191. Actual: ' + (32767 >> 2)); +} + + +if (65535 >> 2 !== 16383) { + $ERROR('#81: 65535 >> 2 === 16383. Actual: ' + (65535 >> 2)); +} + + +if (131071 >> 2 !== 32767) { + $ERROR('#82: 131071 >> 2 === 32767. Actual: ' + (131071 >> 2)); +} + + +if (262143 >> 2 !== 65535) { + $ERROR('#83: 262143 >> 2 === 65535. Actual: ' + (262143 >> 2)); +} + + +if (524287 >> 2 !== 131071) { + $ERROR('#84: 524287 >> 2 === 131071. Actual: ' + (524287 >> 2)); +} + + +if (1048575 >> 2 !== 262143) { + $ERROR('#85: 1048575 >> 2 === 262143. Actual: ' + (1048575 >> 2)); +} + + +if (2097151 >> 2 !== 524287) { + $ERROR('#86: 2097151 >> 2 === 524287. Actual: ' + (2097151 >> 2)); +} + + +if (4194303 >> 2 !== 1048575) { + $ERROR('#87: 4194303 >> 2 === 1048575. Actual: ' + (4194303 >> 2)); +} + + +if (8388607 >> 2 !== 2097151) { + $ERROR('#88: 8388607 >> 2 === 2097151. Actual: ' + (8388607 >> 2)); +} + + +if (16777215 >> 2 !== 4194303) { + $ERROR('#89: 16777215 >> 2 === 4194303. Actual: ' + (16777215 >> 2)); +} + + +if (33554431 >> 2 !== 8388607) { + $ERROR('#90: 33554431 >> 2 === 8388607. Actual: ' + (33554431 >> 2)); +} + + +if (67108863 >> 2 !== 16777215) { + $ERROR('#91: 67108863 >> 2 === 16777215. Actual: ' + (67108863 >> 2)); +} + + +if (134217727 >> 2 !== 33554431) { + $ERROR('#92: 134217727 >> 2 === 33554431. Actual: ' + (134217727 >> 2)); +} + + +if (268435455 >> 2 !== 67108863) { + $ERROR('#93: 268435455 >> 2 === 67108863. Actual: ' + (268435455 >> 2)); +} + + +if (536870911 >> 2 !== 134217727) { + $ERROR('#94: 536870911 >> 2 === 134217727. Actual: ' + (536870911 >> 2)); +} + + +if (1073741823 >> 2 !== 268435455) { + $ERROR('#95: 1073741823 >> 2 === 268435455. Actual: ' + (1073741823 >> 2)); +} + + +if (2147483647 >> 2 !== 536870911) { + $ERROR('#96: 2147483647 >> 2 === 536870911. Actual: ' + (2147483647 >> 2)); +} + + +if (0 >> 3 !== 0) { + $ERROR('#97: 0 >> 3 === 0. Actual: ' + (0 >> 3)); +} + + +if (1 >> 3 !== 0) { + $ERROR('#98: 1 >> 3 === 0. Actual: ' + (1 >> 3)); +} + + +if (3 >> 3 !== 0) { + $ERROR('#99: 3 >> 3 === 0. Actual: ' + (3 >> 3)); +} + + +if (7 >> 3 !== 0) { + $ERROR('#100: 7 >> 3 === 0. Actual: ' + (7 >> 3)); +} + + +if (15 >> 3 !== 1) { + $ERROR('#101: 15 >> 3 === 1. Actual: ' + (15 >> 3)); +} + + +if (31 >> 3 !== 3) { + $ERROR('#102: 31 >> 3 === 3. Actual: ' + (31 >> 3)); +} + + +if (63 >> 3 !== 7) { + $ERROR('#103: 63 >> 3 === 7. Actual: ' + (63 >> 3)); +} + + +if (127 >> 3 !== 15) { + $ERROR('#104: 127 >> 3 === 15. Actual: ' + (127 >> 3)); +} + + +if (255 >> 3 !== 31) { + $ERROR('#105: 255 >> 3 === 31. Actual: ' + (255 >> 3)); +} + + +if (511 >> 3 !== 63) { + $ERROR('#106: 511 >> 3 === 63. Actual: ' + (511 >> 3)); +} + + +if (1023 >> 3 !== 127) { + $ERROR('#107: 1023 >> 3 === 127. Actual: ' + (1023 >> 3)); +} + + +if (2047 >> 3 !== 255) { + $ERROR('#108: 2047 >> 3 === 255. Actual: ' + (2047 >> 3)); +} + + +if (4095 >> 3 !== 511) { + $ERROR('#109: 4095 >> 3 === 511. Actual: ' + (4095 >> 3)); +} + + +if (8191 >> 3 !== 1023) { + $ERROR('#110: 8191 >> 3 === 1023. Actual: ' + (8191 >> 3)); +} + + +if (16383 >> 3 !== 2047) { + $ERROR('#111: 16383 >> 3 === 2047. Actual: ' + (16383 >> 3)); +} + + +if (32767 >> 3 !== 4095) { + $ERROR('#112: 32767 >> 3 === 4095. Actual: ' + (32767 >> 3)); +} + + +if (65535 >> 3 !== 8191) { + $ERROR('#113: 65535 >> 3 === 8191. Actual: ' + (65535 >> 3)); +} + + +if (131071 >> 3 !== 16383) { + $ERROR('#114: 131071 >> 3 === 16383. Actual: ' + (131071 >> 3)); +} + + +if (262143 >> 3 !== 32767) { + $ERROR('#115: 262143 >> 3 === 32767. Actual: ' + (262143 >> 3)); +} + + +if (524287 >> 3 !== 65535) { + $ERROR('#116: 524287 >> 3 === 65535. Actual: ' + (524287 >> 3)); +} + + +if (1048575 >> 3 !== 131071) { + $ERROR('#117: 1048575 >> 3 === 131071. Actual: ' + (1048575 >> 3)); +} + + +if (2097151 >> 3 !== 262143) { + $ERROR('#118: 2097151 >> 3 === 262143. Actual: ' + (2097151 >> 3)); +} + + +if (4194303 >> 3 !== 524287) { + $ERROR('#119: 4194303 >> 3 === 524287. Actual: ' + (4194303 >> 3)); +} + + +if (8388607 >> 3 !== 1048575) { + $ERROR('#120: 8388607 >> 3 === 1048575. Actual: ' + (8388607 >> 3)); +} + + +if (16777215 >> 3 !== 2097151) { + $ERROR('#121: 16777215 >> 3 === 2097151. Actual: ' + (16777215 >> 3)); +} + + +if (33554431 >> 3 !== 4194303) { + $ERROR('#122: 33554431 >> 3 === 4194303. Actual: ' + (33554431 >> 3)); +} + + +if (67108863 >> 3 !== 8388607) { + $ERROR('#123: 67108863 >> 3 === 8388607. Actual: ' + (67108863 >> 3)); +} + + +if (134217727 >> 3 !== 16777215) { + $ERROR('#124: 134217727 >> 3 === 16777215. Actual: ' + (134217727 >> 3)); +} + + +if (268435455 >> 3 !== 33554431) { + $ERROR('#125: 268435455 >> 3 === 33554431. Actual: ' + (268435455 >> 3)); +} + + +if (536870911 >> 3 !== 67108863) { + $ERROR('#126: 536870911 >> 3 === 67108863. Actual: ' + (536870911 >> 3)); +} + + +if (1073741823 >> 3 !== 134217727) { + $ERROR('#127: 1073741823 >> 3 === 134217727. Actual: ' + (1073741823 >> 3)); +} + + +if (2147483647 >> 3 !== 268435455) { + $ERROR('#128: 2147483647 >> 3 === 268435455. Actual: ' + (2147483647 >> 3)); +} + + +if (0 >> 4 !== 0) { + $ERROR('#129: 0 >> 4 === 0. Actual: ' + (0 >> 4)); +} + + +if (1 >> 4 !== 0) { + $ERROR('#130: 1 >> 4 === 0. Actual: ' + (1 >> 4)); +} + + +if (3 >> 4 !== 0) { + $ERROR('#131: 3 >> 4 === 0. Actual: ' + (3 >> 4)); +} + + +if (7 >> 4 !== 0) { + $ERROR('#132: 7 >> 4 === 0. Actual: ' + (7 >> 4)); +} + + +if (15 >> 4 !== 0) { + $ERROR('#133: 15 >> 4 === 0. Actual: ' + (15 >> 4)); +} + + +if (31 >> 4 !== 1) { + $ERROR('#134: 31 >> 4 === 1. Actual: ' + (31 >> 4)); +} + + +if (63 >> 4 !== 3) { + $ERROR('#135: 63 >> 4 === 3. Actual: ' + (63 >> 4)); +} + + +if (127 >> 4 !== 7) { + $ERROR('#136: 127 >> 4 === 7. Actual: ' + (127 >> 4)); +} + + +if (255 >> 4 !== 15) { + $ERROR('#137: 255 >> 4 === 15. Actual: ' + (255 >> 4)); +} + + +if (511 >> 4 !== 31) { + $ERROR('#138: 511 >> 4 === 31. Actual: ' + (511 >> 4)); +} + + +if (1023 >> 4 !== 63) { + $ERROR('#139: 1023 >> 4 === 63. Actual: ' + (1023 >> 4)); +} + + +if (2047 >> 4 !== 127) { + $ERROR('#140: 2047 >> 4 === 127. Actual: ' + (2047 >> 4)); +} + + +if (4095 >> 4 !== 255) { + $ERROR('#141: 4095 >> 4 === 255. Actual: ' + (4095 >> 4)); +} + + +if (8191 >> 4 !== 511) { + $ERROR('#142: 8191 >> 4 === 511. Actual: ' + (8191 >> 4)); +} + + +if (16383 >> 4 !== 1023) { + $ERROR('#143: 16383 >> 4 === 1023. Actual: ' + (16383 >> 4)); +} + + +if (32767 >> 4 !== 2047) { + $ERROR('#144: 32767 >> 4 === 2047. Actual: ' + (32767 >> 4)); +} + + +if (65535 >> 4 !== 4095) { + $ERROR('#145: 65535 >> 4 === 4095. Actual: ' + (65535 >> 4)); +} + + +if (131071 >> 4 !== 8191) { + $ERROR('#146: 131071 >> 4 === 8191. Actual: ' + (131071 >> 4)); +} + + +if (262143 >> 4 !== 16383) { + $ERROR('#147: 262143 >> 4 === 16383. Actual: ' + (262143 >> 4)); +} + + +if (524287 >> 4 !== 32767) { + $ERROR('#148: 524287 >> 4 === 32767. Actual: ' + (524287 >> 4)); +} + + +if (1048575 >> 4 !== 65535) { + $ERROR('#149: 1048575 >> 4 === 65535. Actual: ' + (1048575 >> 4)); +} + + +if (2097151 >> 4 !== 131071) { + $ERROR('#150: 2097151 >> 4 === 131071. Actual: ' + (2097151 >> 4)); +} + + +if (4194303 >> 4 !== 262143) { + $ERROR('#151: 4194303 >> 4 === 262143. Actual: ' + (4194303 >> 4)); +} + + +if (8388607 >> 4 !== 524287) { + $ERROR('#152: 8388607 >> 4 === 524287. Actual: ' + (8388607 >> 4)); +} + + +if (16777215 >> 4 !== 1048575) { + $ERROR('#153: 16777215 >> 4 === 1048575. Actual: ' + (16777215 >> 4)); +} + + +if (33554431 >> 4 !== 2097151) { + $ERROR('#154: 33554431 >> 4 === 2097151. Actual: ' + (33554431 >> 4)); +} + + +if (67108863 >> 4 !== 4194303) { + $ERROR('#155: 67108863 >> 4 === 4194303. Actual: ' + (67108863 >> 4)); +} + + +if (134217727 >> 4 !== 8388607) { + $ERROR('#156: 134217727 >> 4 === 8388607. Actual: ' + (134217727 >> 4)); +} + + +if (268435455 >> 4 !== 16777215) { + $ERROR('#157: 268435455 >> 4 === 16777215. Actual: ' + (268435455 >> 4)); +} + + +if (536870911 >> 4 !== 33554431) { + $ERROR('#158: 536870911 >> 4 === 33554431. Actual: ' + (536870911 >> 4)); +} + + +if (1073741823 >> 4 !== 67108863) { + $ERROR('#159: 1073741823 >> 4 === 67108863. Actual: ' + (1073741823 >> 4)); +} + + +if (2147483647 >> 4 !== 134217727) { + $ERROR('#160: 2147483647 >> 4 === 134217727. Actual: ' + (2147483647 >> 4)); +} + + +if (0 >> 5 !== 0) { + $ERROR('#161: 0 >> 5 === 0. Actual: ' + (0 >> 5)); +} + + +if (1 >> 5 !== 0) { + $ERROR('#162: 1 >> 5 === 0. Actual: ' + (1 >> 5)); +} + + +if (3 >> 5 !== 0) { + $ERROR('#163: 3 >> 5 === 0. Actual: ' + (3 >> 5)); +} + + +if (7 >> 5 !== 0) { + $ERROR('#164: 7 >> 5 === 0. Actual: ' + (7 >> 5)); +} + + +if (15 >> 5 !== 0) { + $ERROR('#165: 15 >> 5 === 0. Actual: ' + (15 >> 5)); +} + + +if (31 >> 5 !== 0) { + $ERROR('#166: 31 >> 5 === 0. Actual: ' + (31 >> 5)); +} + + +if (63 >> 5 !== 1) { + $ERROR('#167: 63 >> 5 === 1. Actual: ' + (63 >> 5)); +} + + +if (127 >> 5 !== 3) { + $ERROR('#168: 127 >> 5 === 3. Actual: ' + (127 >> 5)); +} + + +if (255 >> 5 !== 7) { + $ERROR('#169: 255 >> 5 === 7. Actual: ' + (255 >> 5)); +} + + +if (511 >> 5 !== 15) { + $ERROR('#170: 511 >> 5 === 15. Actual: ' + (511 >> 5)); +} + + +if (1023 >> 5 !== 31) { + $ERROR('#171: 1023 >> 5 === 31. Actual: ' + (1023 >> 5)); +} + + +if (2047 >> 5 !== 63) { + $ERROR('#172: 2047 >> 5 === 63. Actual: ' + (2047 >> 5)); +} + + +if (4095 >> 5 !== 127) { + $ERROR('#173: 4095 >> 5 === 127. Actual: ' + (4095 >> 5)); +} + + +if (8191 >> 5 !== 255) { + $ERROR('#174: 8191 >> 5 === 255. Actual: ' + (8191 >> 5)); +} + + +if (16383 >> 5 !== 511) { + $ERROR('#175: 16383 >> 5 === 511. Actual: ' + (16383 >> 5)); +} + + +if (32767 >> 5 !== 1023) { + $ERROR('#176: 32767 >> 5 === 1023. Actual: ' + (32767 >> 5)); +} + + +if (65535 >> 5 !== 2047) { + $ERROR('#177: 65535 >> 5 === 2047. Actual: ' + (65535 >> 5)); +} + + +if (131071 >> 5 !== 4095) { + $ERROR('#178: 131071 >> 5 === 4095. Actual: ' + (131071 >> 5)); +} + + +if (262143 >> 5 !== 8191) { + $ERROR('#179: 262143 >> 5 === 8191. Actual: ' + (262143 >> 5)); +} + + +if (524287 >> 5 !== 16383) { + $ERROR('#180: 524287 >> 5 === 16383. Actual: ' + (524287 >> 5)); +} + + +if (1048575 >> 5 !== 32767) { + $ERROR('#181: 1048575 >> 5 === 32767. Actual: ' + (1048575 >> 5)); +} + + +if (2097151 >> 5 !== 65535) { + $ERROR('#182: 2097151 >> 5 === 65535. Actual: ' + (2097151 >> 5)); +} + + +if (4194303 >> 5 !== 131071) { + $ERROR('#183: 4194303 >> 5 === 131071. Actual: ' + (4194303 >> 5)); +} + + +if (8388607 >> 5 !== 262143) { + $ERROR('#184: 8388607 >> 5 === 262143. Actual: ' + (8388607 >> 5)); +} + + +if (16777215 >> 5 !== 524287) { + $ERROR('#185: 16777215 >> 5 === 524287. Actual: ' + (16777215 >> 5)); +} + + +if (33554431 >> 5 !== 1048575) { + $ERROR('#186: 33554431 >> 5 === 1048575. Actual: ' + (33554431 >> 5)); +} + + +if (67108863 >> 5 !== 2097151) { + $ERROR('#187: 67108863 >> 5 === 2097151. Actual: ' + (67108863 >> 5)); +} + + +if (134217727 >> 5 !== 4194303) { + $ERROR('#188: 134217727 >> 5 === 4194303. Actual: ' + (134217727 >> 5)); +} + + +if (268435455 >> 5 !== 8388607) { + $ERROR('#189: 268435455 >> 5 === 8388607. Actual: ' + (268435455 >> 5)); +} + + +if (536870911 >> 5 !== 16777215) { + $ERROR('#190: 536870911 >> 5 === 16777215. Actual: ' + (536870911 >> 5)); +} + + +if (1073741823 >> 5 !== 33554431) { + $ERROR('#191: 1073741823 >> 5 === 33554431. Actual: ' + (1073741823 >> 5)); +} + + +if (2147483647 >> 5 !== 67108863) { + $ERROR('#192: 2147483647 >> 5 === 67108863. Actual: ' + (2147483647 >> 5)); +} + + +if (0 >> 6 !== 0) { + $ERROR('#193: 0 >> 6 === 0. Actual: ' + (0 >> 6)); +} + + +if (1 >> 6 !== 0) { + $ERROR('#194: 1 >> 6 === 0. Actual: ' + (1 >> 6)); +} + + +if (3 >> 6 !== 0) { + $ERROR('#195: 3 >> 6 === 0. Actual: ' + (3 >> 6)); +} + + +if (7 >> 6 !== 0) { + $ERROR('#196: 7 >> 6 === 0. Actual: ' + (7 >> 6)); +} + + +if (15 >> 6 !== 0) { + $ERROR('#197: 15 >> 6 === 0. Actual: ' + (15 >> 6)); +} + + +if (31 >> 6 !== 0) { + $ERROR('#198: 31 >> 6 === 0. Actual: ' + (31 >> 6)); +} + + +if (63 >> 6 !== 0) { + $ERROR('#199: 63 >> 6 === 0. Actual: ' + (63 >> 6)); +} + + +if (127 >> 6 !== 1) { + $ERROR('#200: 127 >> 6 === 1. Actual: ' + (127 >> 6)); +} + + +if (255 >> 6 !== 3) { + $ERROR('#201: 255 >> 6 === 3. Actual: ' + (255 >> 6)); +} + + +if (511 >> 6 !== 7) { + $ERROR('#202: 511 >> 6 === 7. Actual: ' + (511 >> 6)); +} + + +if (1023 >> 6 !== 15) { + $ERROR('#203: 1023 >> 6 === 15. Actual: ' + (1023 >> 6)); +} + + +if (2047 >> 6 !== 31) { + $ERROR('#204: 2047 >> 6 === 31. Actual: ' + (2047 >> 6)); +} + + +if (4095 >> 6 !== 63) { + $ERROR('#205: 4095 >> 6 === 63. Actual: ' + (4095 >> 6)); +} + + +if (8191 >> 6 !== 127) { + $ERROR('#206: 8191 >> 6 === 127. Actual: ' + (8191 >> 6)); +} + + +if (16383 >> 6 !== 255) { + $ERROR('#207: 16383 >> 6 === 255. Actual: ' + (16383 >> 6)); +} + + +if (32767 >> 6 !== 511) { + $ERROR('#208: 32767 >> 6 === 511. Actual: ' + (32767 >> 6)); +} + + +if (65535 >> 6 !== 1023) { + $ERROR('#209: 65535 >> 6 === 1023. Actual: ' + (65535 >> 6)); +} + + +if (131071 >> 6 !== 2047) { + $ERROR('#210: 131071 >> 6 === 2047. Actual: ' + (131071 >> 6)); +} + + +if (262143 >> 6 !== 4095) { + $ERROR('#211: 262143 >> 6 === 4095. Actual: ' + (262143 >> 6)); +} + + +if (524287 >> 6 !== 8191) { + $ERROR('#212: 524287 >> 6 === 8191. Actual: ' + (524287 >> 6)); +} + + +if (1048575 >> 6 !== 16383) { + $ERROR('#213: 1048575 >> 6 === 16383. Actual: ' + (1048575 >> 6)); +} + + +if (2097151 >> 6 !== 32767) { + $ERROR('#214: 2097151 >> 6 === 32767. Actual: ' + (2097151 >> 6)); +} + + +if (4194303 >> 6 !== 65535) { + $ERROR('#215: 4194303 >> 6 === 65535. Actual: ' + (4194303 >> 6)); +} + + +if (8388607 >> 6 !== 131071) { + $ERROR('#216: 8388607 >> 6 === 131071. Actual: ' + (8388607 >> 6)); +} + + +if (16777215 >> 6 !== 262143) { + $ERROR('#217: 16777215 >> 6 === 262143. Actual: ' + (16777215 >> 6)); +} + + +if (33554431 >> 6 !== 524287) { + $ERROR('#218: 33554431 >> 6 === 524287. Actual: ' + (33554431 >> 6)); +} + + +if (67108863 >> 6 !== 1048575) { + $ERROR('#219: 67108863 >> 6 === 1048575. Actual: ' + (67108863 >> 6)); +} + + +if (134217727 >> 6 !== 2097151) { + $ERROR('#220: 134217727 >> 6 === 2097151. Actual: ' + (134217727 >> 6)); +} + + +if (268435455 >> 6 !== 4194303) { + $ERROR('#221: 268435455 >> 6 === 4194303. Actual: ' + (268435455 >> 6)); +} + + +if (536870911 >> 6 !== 8388607) { + $ERROR('#222: 536870911 >> 6 === 8388607. Actual: ' + (536870911 >> 6)); +} + + +if (1073741823 >> 6 !== 16777215) { + $ERROR('#223: 1073741823 >> 6 === 16777215. Actual: ' + (1073741823 >> 6)); +} + + +if (2147483647 >> 6 !== 33554431) { + $ERROR('#224: 2147483647 >> 6 === 33554431. Actual: ' + (2147483647 >> 6)); +} + + +if (0 >> 7 !== 0) { + $ERROR('#225: 0 >> 7 === 0. Actual: ' + (0 >> 7)); +} + + +if (1 >> 7 !== 0) { + $ERROR('#226: 1 >> 7 === 0. Actual: ' + (1 >> 7)); +} + + +if (3 >> 7 !== 0) { + $ERROR('#227: 3 >> 7 === 0. Actual: ' + (3 >> 7)); +} + + +if (7 >> 7 !== 0) { + $ERROR('#228: 7 >> 7 === 0. Actual: ' + (7 >> 7)); +} + + +if (15 >> 7 !== 0) { + $ERROR('#229: 15 >> 7 === 0. Actual: ' + (15 >> 7)); +} + + +if (31 >> 7 !== 0) { + $ERROR('#230: 31 >> 7 === 0. Actual: ' + (31 >> 7)); +} + + +if (63 >> 7 !== 0) { + $ERROR('#231: 63 >> 7 === 0. Actual: ' + (63 >> 7)); +} + + +if (127 >> 7 !== 0) { + $ERROR('#232: 127 >> 7 === 0. Actual: ' + (127 >> 7)); +} + + +if (255 >> 7 !== 1) { + $ERROR('#233: 255 >> 7 === 1. Actual: ' + (255 >> 7)); +} + + +if (511 >> 7 !== 3) { + $ERROR('#234: 511 >> 7 === 3. Actual: ' + (511 >> 7)); +} + + +if (1023 >> 7 !== 7) { + $ERROR('#235: 1023 >> 7 === 7. Actual: ' + (1023 >> 7)); +} + + +if (2047 >> 7 !== 15) { + $ERROR('#236: 2047 >> 7 === 15. Actual: ' + (2047 >> 7)); +} + + +if (4095 >> 7 !== 31) { + $ERROR('#237: 4095 >> 7 === 31. Actual: ' + (4095 >> 7)); +} + + +if (8191 >> 7 !== 63) { + $ERROR('#238: 8191 >> 7 === 63. Actual: ' + (8191 >> 7)); +} + + +if (16383 >> 7 !== 127) { + $ERROR('#239: 16383 >> 7 === 127. Actual: ' + (16383 >> 7)); +} + + +if (32767 >> 7 !== 255) { + $ERROR('#240: 32767 >> 7 === 255. Actual: ' + (32767 >> 7)); +} + + +if (65535 >> 7 !== 511) { + $ERROR('#241: 65535 >> 7 === 511. Actual: ' + (65535 >> 7)); +} + + +if (131071 >> 7 !== 1023) { + $ERROR('#242: 131071 >> 7 === 1023. Actual: ' + (131071 >> 7)); +} + + +if (262143 >> 7 !== 2047) { + $ERROR('#243: 262143 >> 7 === 2047. Actual: ' + (262143 >> 7)); +} + + +if (524287 >> 7 !== 4095) { + $ERROR('#244: 524287 >> 7 === 4095. Actual: ' + (524287 >> 7)); +} + + +if (1048575 >> 7 !== 8191) { + $ERROR('#245: 1048575 >> 7 === 8191. Actual: ' + (1048575 >> 7)); +} + + +if (2097151 >> 7 !== 16383) { + $ERROR('#246: 2097151 >> 7 === 16383. Actual: ' + (2097151 >> 7)); +} + + +if (4194303 >> 7 !== 32767) { + $ERROR('#247: 4194303 >> 7 === 32767. Actual: ' + (4194303 >> 7)); +} + + +if (8388607 >> 7 !== 65535) { + $ERROR('#248: 8388607 >> 7 === 65535. Actual: ' + (8388607 >> 7)); +} + + +if (16777215 >> 7 !== 131071) { + $ERROR('#249: 16777215 >> 7 === 131071. Actual: ' + (16777215 >> 7)); +} + + +if (33554431 >> 7 !== 262143) { + $ERROR('#250: 33554431 >> 7 === 262143. Actual: ' + (33554431 >> 7)); +} + + +if (67108863 >> 7 !== 524287) { + $ERROR('#251: 67108863 >> 7 === 524287. Actual: ' + (67108863 >> 7)); +} + + +if (134217727 >> 7 !== 1048575) { + $ERROR('#252: 134217727 >> 7 === 1048575. Actual: ' + (134217727 >> 7)); +} + + +if (268435455 >> 7 !== 2097151) { + $ERROR('#253: 268435455 >> 7 === 2097151. Actual: ' + (268435455 >> 7)); +} + + +if (536870911 >> 7 !== 4194303) { + $ERROR('#254: 536870911 >> 7 === 4194303. Actual: ' + (536870911 >> 7)); +} + + +if (1073741823 >> 7 !== 8388607) { + $ERROR('#255: 1073741823 >> 7 === 8388607. Actual: ' + (1073741823 >> 7)); +} + + +if (2147483647 >> 7 !== 16777215) { + $ERROR('#256: 2147483647 >> 7 === 16777215. Actual: ' + (2147483647 >> 7)); +} + + +if (0 >> 8 !== 0) { + $ERROR('#257: 0 >> 8 === 0. Actual: ' + (0 >> 8)); +} + + +if (1 >> 8 !== 0) { + $ERROR('#258: 1 >> 8 === 0. Actual: ' + (1 >> 8)); +} + + +if (3 >> 8 !== 0) { + $ERROR('#259: 3 >> 8 === 0. Actual: ' + (3 >> 8)); +} + + +if (7 >> 8 !== 0) { + $ERROR('#260: 7 >> 8 === 0. Actual: ' + (7 >> 8)); +} + + +if (15 >> 8 !== 0) { + $ERROR('#261: 15 >> 8 === 0. Actual: ' + (15 >> 8)); +} + + +if (31 >> 8 !== 0) { + $ERROR('#262: 31 >> 8 === 0. Actual: ' + (31 >> 8)); +} + + +if (63 >> 8 !== 0) { + $ERROR('#263: 63 >> 8 === 0. Actual: ' + (63 >> 8)); +} + + +if (127 >> 8 !== 0) { + $ERROR('#264: 127 >> 8 === 0. Actual: ' + (127 >> 8)); +} + + +if (255 >> 8 !== 0) { + $ERROR('#265: 255 >> 8 === 0. Actual: ' + (255 >> 8)); +} + + +if (511 >> 8 !== 1) { + $ERROR('#266: 511 >> 8 === 1. Actual: ' + (511 >> 8)); +} + + +if (1023 >> 8 !== 3) { + $ERROR('#267: 1023 >> 8 === 3. Actual: ' + (1023 >> 8)); +} + + +if (2047 >> 8 !== 7) { + $ERROR('#268: 2047 >> 8 === 7. Actual: ' + (2047 >> 8)); +} + + +if (4095 >> 8 !== 15) { + $ERROR('#269: 4095 >> 8 === 15. Actual: ' + (4095 >> 8)); +} + + +if (8191 >> 8 !== 31) { + $ERROR('#270: 8191 >> 8 === 31. Actual: ' + (8191 >> 8)); +} + + +if (16383 >> 8 !== 63) { + $ERROR('#271: 16383 >> 8 === 63. Actual: ' + (16383 >> 8)); +} + + +if (32767 >> 8 !== 127) { + $ERROR('#272: 32767 >> 8 === 127. Actual: ' + (32767 >> 8)); +} + + +if (65535 >> 8 !== 255) { + $ERROR('#273: 65535 >> 8 === 255. Actual: ' + (65535 >> 8)); +} + + +if (131071 >> 8 !== 511) { + $ERROR('#274: 131071 >> 8 === 511. Actual: ' + (131071 >> 8)); +} + + +if (262143 >> 8 !== 1023) { + $ERROR('#275: 262143 >> 8 === 1023. Actual: ' + (262143 >> 8)); +} + + +if (524287 >> 8 !== 2047) { + $ERROR('#276: 524287 >> 8 === 2047. Actual: ' + (524287 >> 8)); +} + + +if (1048575 >> 8 !== 4095) { + $ERROR('#277: 1048575 >> 8 === 4095. Actual: ' + (1048575 >> 8)); +} + + +if (2097151 >> 8 !== 8191) { + $ERROR('#278: 2097151 >> 8 === 8191. Actual: ' + (2097151 >> 8)); +} + + +if (4194303 >> 8 !== 16383) { + $ERROR('#279: 4194303 >> 8 === 16383. Actual: ' + (4194303 >> 8)); +} + + +if (8388607 >> 8 !== 32767) { + $ERROR('#280: 8388607 >> 8 === 32767. Actual: ' + (8388607 >> 8)); +} + + +if (16777215 >> 8 !== 65535) { + $ERROR('#281: 16777215 >> 8 === 65535. Actual: ' + (16777215 >> 8)); +} + + +if (33554431 >> 8 !== 131071) { + $ERROR('#282: 33554431 >> 8 === 131071. Actual: ' + (33554431 >> 8)); +} + + +if (67108863 >> 8 !== 262143) { + $ERROR('#283: 67108863 >> 8 === 262143. Actual: ' + (67108863 >> 8)); +} + + +if (134217727 >> 8 !== 524287) { + $ERROR('#284: 134217727 >> 8 === 524287. Actual: ' + (134217727 >> 8)); +} + + +if (268435455 >> 8 !== 1048575) { + $ERROR('#285: 268435455 >> 8 === 1048575. Actual: ' + (268435455 >> 8)); +} + + +if (536870911 >> 8 !== 2097151) { + $ERROR('#286: 536870911 >> 8 === 2097151. Actual: ' + (536870911 >> 8)); +} + + +if (1073741823 >> 8 !== 4194303) { + $ERROR('#287: 1073741823 >> 8 === 4194303. Actual: ' + (1073741823 >> 8)); +} + + +if (2147483647 >> 8 !== 8388607) { + $ERROR('#288: 2147483647 >> 8 === 8388607. Actual: ' + (2147483647 >> 8)); +} + + +if (0 >> 9 !== 0) { + $ERROR('#289: 0 >> 9 === 0. Actual: ' + (0 >> 9)); +} + + +if (1 >> 9 !== 0) { + $ERROR('#290: 1 >> 9 === 0. Actual: ' + (1 >> 9)); +} + + +if (3 >> 9 !== 0) { + $ERROR('#291: 3 >> 9 === 0. Actual: ' + (3 >> 9)); +} + + +if (7 >> 9 !== 0) { + $ERROR('#292: 7 >> 9 === 0. Actual: ' + (7 >> 9)); +} + + +if (15 >> 9 !== 0) { + $ERROR('#293: 15 >> 9 === 0. Actual: ' + (15 >> 9)); +} + + +if (31 >> 9 !== 0) { + $ERROR('#294: 31 >> 9 === 0. Actual: ' + (31 >> 9)); +} + + +if (63 >> 9 !== 0) { + $ERROR('#295: 63 >> 9 === 0. Actual: ' + (63 >> 9)); +} + + +if (127 >> 9 !== 0) { + $ERROR('#296: 127 >> 9 === 0. Actual: ' + (127 >> 9)); +} + + +if (255 >> 9 !== 0) { + $ERROR('#297: 255 >> 9 === 0. Actual: ' + (255 >> 9)); +} + + +if (511 >> 9 !== 0) { + $ERROR('#298: 511 >> 9 === 0. Actual: ' + (511 >> 9)); +} + + +if (1023 >> 9 !== 1) { + $ERROR('#299: 1023 >> 9 === 1. Actual: ' + (1023 >> 9)); +} + + +if (2047 >> 9 !== 3) { + $ERROR('#300: 2047 >> 9 === 3. Actual: ' + (2047 >> 9)); +} + + +if (4095 >> 9 !== 7) { + $ERROR('#301: 4095 >> 9 === 7. Actual: ' + (4095 >> 9)); +} + + +if (8191 >> 9 !== 15) { + $ERROR('#302: 8191 >> 9 === 15. Actual: ' + (8191 >> 9)); +} + + +if (16383 >> 9 !== 31) { + $ERROR('#303: 16383 >> 9 === 31. Actual: ' + (16383 >> 9)); +} + + +if (32767 >> 9 !== 63) { + $ERROR('#304: 32767 >> 9 === 63. Actual: ' + (32767 >> 9)); +} + + +if (65535 >> 9 !== 127) { + $ERROR('#305: 65535 >> 9 === 127. Actual: ' + (65535 >> 9)); +} + + +if (131071 >> 9 !== 255) { + $ERROR('#306: 131071 >> 9 === 255. Actual: ' + (131071 >> 9)); +} + + +if (262143 >> 9 !== 511) { + $ERROR('#307: 262143 >> 9 === 511. Actual: ' + (262143 >> 9)); +} + + +if (524287 >> 9 !== 1023) { + $ERROR('#308: 524287 >> 9 === 1023. Actual: ' + (524287 >> 9)); +} + + +if (1048575 >> 9 !== 2047) { + $ERROR('#309: 1048575 >> 9 === 2047. Actual: ' + (1048575 >> 9)); +} + + +if (2097151 >> 9 !== 4095) { + $ERROR('#310: 2097151 >> 9 === 4095. Actual: ' + (2097151 >> 9)); +} + + +if (4194303 >> 9 !== 8191) { + $ERROR('#311: 4194303 >> 9 === 8191. Actual: ' + (4194303 >> 9)); +} + + +if (8388607 >> 9 !== 16383) { + $ERROR('#312: 8388607 >> 9 === 16383. Actual: ' + (8388607 >> 9)); +} + + +if (16777215 >> 9 !== 32767) { + $ERROR('#313: 16777215 >> 9 === 32767. Actual: ' + (16777215 >> 9)); +} + + +if (33554431 >> 9 !== 65535) { + $ERROR('#314: 33554431 >> 9 === 65535. Actual: ' + (33554431 >> 9)); +} + + +if (67108863 >> 9 !== 131071) { + $ERROR('#315: 67108863 >> 9 === 131071. Actual: ' + (67108863 >> 9)); +} + + +if (134217727 >> 9 !== 262143) { + $ERROR('#316: 134217727 >> 9 === 262143. Actual: ' + (134217727 >> 9)); +} + + +if (268435455 >> 9 !== 524287) { + $ERROR('#317: 268435455 >> 9 === 524287. Actual: ' + (268435455 >> 9)); +} + + +if (536870911 >> 9 !== 1048575) { + $ERROR('#318: 536870911 >> 9 === 1048575. Actual: ' + (536870911 >> 9)); +} + + +if (1073741823 >> 9 !== 2097151) { + $ERROR('#319: 1073741823 >> 9 === 2097151. Actual: ' + (1073741823 >> 9)); +} + + +if (2147483647 >> 9 !== 4194303) { + $ERROR('#320: 2147483647 >> 9 === 4194303. Actual: ' + (2147483647 >> 9)); +} + + +if (0 >> 10 !== 0) { + $ERROR('#321: 0 >> 10 === 0. Actual: ' + (0 >> 10)); +} + + +if (1 >> 10 !== 0) { + $ERROR('#322: 1 >> 10 === 0. Actual: ' + (1 >> 10)); +} + + +if (3 >> 10 !== 0) { + $ERROR('#323: 3 >> 10 === 0. Actual: ' + (3 >> 10)); +} + + +if (7 >> 10 !== 0) { + $ERROR('#324: 7 >> 10 === 0. Actual: ' + (7 >> 10)); +} + + +if (15 >> 10 !== 0) { + $ERROR('#325: 15 >> 10 === 0. Actual: ' + (15 >> 10)); +} + + +if (31 >> 10 !== 0) { + $ERROR('#326: 31 >> 10 === 0. Actual: ' + (31 >> 10)); +} + + +if (63 >> 10 !== 0) { + $ERROR('#327: 63 >> 10 === 0. Actual: ' + (63 >> 10)); +} + + +if (127 >> 10 !== 0) { + $ERROR('#328: 127 >> 10 === 0. Actual: ' + (127 >> 10)); +} + + +if (255 >> 10 !== 0) { + $ERROR('#329: 255 >> 10 === 0. Actual: ' + (255 >> 10)); +} + + +if (511 >> 10 !== 0) { + $ERROR('#330: 511 >> 10 === 0. Actual: ' + (511 >> 10)); +} + + +if (1023 >> 10 !== 0) { + $ERROR('#331: 1023 >> 10 === 0. Actual: ' + (1023 >> 10)); +} + + +if (2047 >> 10 !== 1) { + $ERROR('#332: 2047 >> 10 === 1. Actual: ' + (2047 >> 10)); +} + + +if (4095 >> 10 !== 3) { + $ERROR('#333: 4095 >> 10 === 3. Actual: ' + (4095 >> 10)); +} + + +if (8191 >> 10 !== 7) { + $ERROR('#334: 8191 >> 10 === 7. Actual: ' + (8191 >> 10)); +} + + +if (16383 >> 10 !== 15) { + $ERROR('#335: 16383 >> 10 === 15. Actual: ' + (16383 >> 10)); +} + + +if (32767 >> 10 !== 31) { + $ERROR('#336: 32767 >> 10 === 31. Actual: ' + (32767 >> 10)); +} + + +if (65535 >> 10 !== 63) { + $ERROR('#337: 65535 >> 10 === 63. Actual: ' + (65535 >> 10)); +} + + +if (131071 >> 10 !== 127) { + $ERROR('#338: 131071 >> 10 === 127. Actual: ' + (131071 >> 10)); +} + + +if (262143 >> 10 !== 255) { + $ERROR('#339: 262143 >> 10 === 255. Actual: ' + (262143 >> 10)); +} + + +if (524287 >> 10 !== 511) { + $ERROR('#340: 524287 >> 10 === 511. Actual: ' + (524287 >> 10)); +} + + +if (1048575 >> 10 !== 1023) { + $ERROR('#341: 1048575 >> 10 === 1023. Actual: ' + (1048575 >> 10)); +} + + +if (2097151 >> 10 !== 2047) { + $ERROR('#342: 2097151 >> 10 === 2047. Actual: ' + (2097151 >> 10)); +} + + +if (4194303 >> 10 !== 4095) { + $ERROR('#343: 4194303 >> 10 === 4095. Actual: ' + (4194303 >> 10)); +} + + +if (8388607 >> 10 !== 8191) { + $ERROR('#344: 8388607 >> 10 === 8191. Actual: ' + (8388607 >> 10)); +} + + +if (16777215 >> 10 !== 16383) { + $ERROR('#345: 16777215 >> 10 === 16383. Actual: ' + (16777215 >> 10)); +} + + +if (33554431 >> 10 !== 32767) { + $ERROR('#346: 33554431 >> 10 === 32767. Actual: ' + (33554431 >> 10)); +} + + +if (67108863 >> 10 !== 65535) { + $ERROR('#347: 67108863 >> 10 === 65535. Actual: ' + (67108863 >> 10)); +} + + +if (134217727 >> 10 !== 131071) { + $ERROR('#348: 134217727 >> 10 === 131071. Actual: ' + (134217727 >> 10)); +} + + +if (268435455 >> 10 !== 262143) { + $ERROR('#349: 268435455 >> 10 === 262143. Actual: ' + (268435455 >> 10)); +} + + +if (536870911 >> 10 !== 524287) { + $ERROR('#350: 536870911 >> 10 === 524287. Actual: ' + (536870911 >> 10)); +} + + +if (1073741823 >> 10 !== 1048575) { + $ERROR('#351: 1073741823 >> 10 === 1048575. Actual: ' + (1073741823 >> 10)); +} + + +if (2147483647 >> 10 !== 2097151) { + $ERROR('#352: 2147483647 >> 10 === 2097151. Actual: ' + (2147483647 >> 10)); +} + + +if (0 >> 11 !== 0) { + $ERROR('#353: 0 >> 11 === 0. Actual: ' + (0 >> 11)); +} + + +if (1 >> 11 !== 0) { + $ERROR('#354: 1 >> 11 === 0. Actual: ' + (1 >> 11)); +} + + +if (3 >> 11 !== 0) { + $ERROR('#355: 3 >> 11 === 0. Actual: ' + (3 >> 11)); +} + + +if (7 >> 11 !== 0) { + $ERROR('#356: 7 >> 11 === 0. Actual: ' + (7 >> 11)); +} + + +if (15 >> 11 !== 0) { + $ERROR('#357: 15 >> 11 === 0. Actual: ' + (15 >> 11)); +} + + +if (31 >> 11 !== 0) { + $ERROR('#358: 31 >> 11 === 0. Actual: ' + (31 >> 11)); +} + + +if (63 >> 11 !== 0) { + $ERROR('#359: 63 >> 11 === 0. Actual: ' + (63 >> 11)); +} + + +if (127 >> 11 !== 0) { + $ERROR('#360: 127 >> 11 === 0. Actual: ' + (127 >> 11)); +} + + +if (255 >> 11 !== 0) { + $ERROR('#361: 255 >> 11 === 0. Actual: ' + (255 >> 11)); +} + + +if (511 >> 11 !== 0) { + $ERROR('#362: 511 >> 11 === 0. Actual: ' + (511 >> 11)); +} + + +if (1023 >> 11 !== 0) { + $ERROR('#363: 1023 >> 11 === 0. Actual: ' + (1023 >> 11)); +} + + +if (2047 >> 11 !== 0) { + $ERROR('#364: 2047 >> 11 === 0. Actual: ' + (2047 >> 11)); +} + + +if (4095 >> 11 !== 1) { + $ERROR('#365: 4095 >> 11 === 1. Actual: ' + (4095 >> 11)); +} + + +if (8191 >> 11 !== 3) { + $ERROR('#366: 8191 >> 11 === 3. Actual: ' + (8191 >> 11)); +} + + +if (16383 >> 11 !== 7) { + $ERROR('#367: 16383 >> 11 === 7. Actual: ' + (16383 >> 11)); +} + + +if (32767 >> 11 !== 15) { + $ERROR('#368: 32767 >> 11 === 15. Actual: ' + (32767 >> 11)); +} + + +if (65535 >> 11 !== 31) { + $ERROR('#369: 65535 >> 11 === 31. Actual: ' + (65535 >> 11)); +} + + +if (131071 >> 11 !== 63) { + $ERROR('#370: 131071 >> 11 === 63. Actual: ' + (131071 >> 11)); +} + + +if (262143 >> 11 !== 127) { + $ERROR('#371: 262143 >> 11 === 127. Actual: ' + (262143 >> 11)); +} + + +if (524287 >> 11 !== 255) { + $ERROR('#372: 524287 >> 11 === 255. Actual: ' + (524287 >> 11)); +} + + +if (1048575 >> 11 !== 511) { + $ERROR('#373: 1048575 >> 11 === 511. Actual: ' + (1048575 >> 11)); +} + + +if (2097151 >> 11 !== 1023) { + $ERROR('#374: 2097151 >> 11 === 1023. Actual: ' + (2097151 >> 11)); +} + + +if (4194303 >> 11 !== 2047) { + $ERROR('#375: 4194303 >> 11 === 2047. Actual: ' + (4194303 >> 11)); +} + + +if (8388607 >> 11 !== 4095) { + $ERROR('#376: 8388607 >> 11 === 4095. Actual: ' + (8388607 >> 11)); +} + + +if (16777215 >> 11 !== 8191) { + $ERROR('#377: 16777215 >> 11 === 8191. Actual: ' + (16777215 >> 11)); +} + + +if (33554431 >> 11 !== 16383) { + $ERROR('#378: 33554431 >> 11 === 16383. Actual: ' + (33554431 >> 11)); +} + + +if (67108863 >> 11 !== 32767) { + $ERROR('#379: 67108863 >> 11 === 32767. Actual: ' + (67108863 >> 11)); +} + + +if (134217727 >> 11 !== 65535) { + $ERROR('#380: 134217727 >> 11 === 65535. Actual: ' + (134217727 >> 11)); +} + + +if (268435455 >> 11 !== 131071) { + $ERROR('#381: 268435455 >> 11 === 131071. Actual: ' + (268435455 >> 11)); +} + + +if (536870911 >> 11 !== 262143) { + $ERROR('#382: 536870911 >> 11 === 262143. Actual: ' + (536870911 >> 11)); +} + + +if (1073741823 >> 11 !== 524287) { + $ERROR('#383: 1073741823 >> 11 === 524287. Actual: ' + (1073741823 >> 11)); +} + + +if (2147483647 >> 11 !== 1048575) { + $ERROR('#384: 2147483647 >> 11 === 1048575. Actual: ' + (2147483647 >> 11)); +} + + +if (0 >> 12 !== 0) { + $ERROR('#385: 0 >> 12 === 0. Actual: ' + (0 >> 12)); +} + + +if (1 >> 12 !== 0) { + $ERROR('#386: 1 >> 12 === 0. Actual: ' + (1 >> 12)); +} + + +if (3 >> 12 !== 0) { + $ERROR('#387: 3 >> 12 === 0. Actual: ' + (3 >> 12)); +} + + +if (7 >> 12 !== 0) { + $ERROR('#388: 7 >> 12 === 0. Actual: ' + (7 >> 12)); +} + + +if (15 >> 12 !== 0) { + $ERROR('#389: 15 >> 12 === 0. Actual: ' + (15 >> 12)); +} + + +if (31 >> 12 !== 0) { + $ERROR('#390: 31 >> 12 === 0. Actual: ' + (31 >> 12)); +} + + +if (63 >> 12 !== 0) { + $ERROR('#391: 63 >> 12 === 0. Actual: ' + (63 >> 12)); +} + + +if (127 >> 12 !== 0) { + $ERROR('#392: 127 >> 12 === 0. Actual: ' + (127 >> 12)); +} + + +if (255 >> 12 !== 0) { + $ERROR('#393: 255 >> 12 === 0. Actual: ' + (255 >> 12)); +} + + +if (511 >> 12 !== 0) { + $ERROR('#394: 511 >> 12 === 0. Actual: ' + (511 >> 12)); +} + + +if (1023 >> 12 !== 0) { + $ERROR('#395: 1023 >> 12 === 0. Actual: ' + (1023 >> 12)); +} + + +if (2047 >> 12 !== 0) { + $ERROR('#396: 2047 >> 12 === 0. Actual: ' + (2047 >> 12)); +} + + +if (4095 >> 12 !== 0) { + $ERROR('#397: 4095 >> 12 === 0. Actual: ' + (4095 >> 12)); +} + + +if (8191 >> 12 !== 1) { + $ERROR('#398: 8191 >> 12 === 1. Actual: ' + (8191 >> 12)); +} + + +if (16383 >> 12 !== 3) { + $ERROR('#399: 16383 >> 12 === 3. Actual: ' + (16383 >> 12)); +} + + +if (32767 >> 12 !== 7) { + $ERROR('#400: 32767 >> 12 === 7. Actual: ' + (32767 >> 12)); +} + + +if (65535 >> 12 !== 15) { + $ERROR('#401: 65535 >> 12 === 15. Actual: ' + (65535 >> 12)); +} + + +if (131071 >> 12 !== 31) { + $ERROR('#402: 131071 >> 12 === 31. Actual: ' + (131071 >> 12)); +} + + +if (262143 >> 12 !== 63) { + $ERROR('#403: 262143 >> 12 === 63. Actual: ' + (262143 >> 12)); +} + + +if (524287 >> 12 !== 127) { + $ERROR('#404: 524287 >> 12 === 127. Actual: ' + (524287 >> 12)); +} + + +if (1048575 >> 12 !== 255) { + $ERROR('#405: 1048575 >> 12 === 255. Actual: ' + (1048575 >> 12)); +} + + +if (2097151 >> 12 !== 511) { + $ERROR('#406: 2097151 >> 12 === 511. Actual: ' + (2097151 >> 12)); +} + + +if (4194303 >> 12 !== 1023) { + $ERROR('#407: 4194303 >> 12 === 1023. Actual: ' + (4194303 >> 12)); +} + + +if (8388607 >> 12 !== 2047) { + $ERROR('#408: 8388607 >> 12 === 2047. Actual: ' + (8388607 >> 12)); +} + + +if (16777215 >> 12 !== 4095) { + $ERROR('#409: 16777215 >> 12 === 4095. Actual: ' + (16777215 >> 12)); +} + + +if (33554431 >> 12 !== 8191) { + $ERROR('#410: 33554431 >> 12 === 8191. Actual: ' + (33554431 >> 12)); +} + + +if (67108863 >> 12 !== 16383) { + $ERROR('#411: 67108863 >> 12 === 16383. Actual: ' + (67108863 >> 12)); +} + + +if (134217727 >> 12 !== 32767) { + $ERROR('#412: 134217727 >> 12 === 32767. Actual: ' + (134217727 >> 12)); +} + + +if (268435455 >> 12 !== 65535) { + $ERROR('#413: 268435455 >> 12 === 65535. Actual: ' + (268435455 >> 12)); +} + + +if (536870911 >> 12 !== 131071) { + $ERROR('#414: 536870911 >> 12 === 131071. Actual: ' + (536870911 >> 12)); +} + + +if (1073741823 >> 12 !== 262143) { + $ERROR('#415: 1073741823 >> 12 === 262143. Actual: ' + (1073741823 >> 12)); +} + + +if (2147483647 >> 12 !== 524287) { + $ERROR('#416: 2147483647 >> 12 === 524287. Actual: ' + (2147483647 >> 12)); +} + + +if (0 >> 13 !== 0) { + $ERROR('#417: 0 >> 13 === 0. Actual: ' + (0 >> 13)); +} + + +if (1 >> 13 !== 0) { + $ERROR('#418: 1 >> 13 === 0. Actual: ' + (1 >> 13)); +} + + +if (3 >> 13 !== 0) { + $ERROR('#419: 3 >> 13 === 0. Actual: ' + (3 >> 13)); +} + + +if (7 >> 13 !== 0) { + $ERROR('#420: 7 >> 13 === 0. Actual: ' + (7 >> 13)); +} + + +if (15 >> 13 !== 0) { + $ERROR('#421: 15 >> 13 === 0. Actual: ' + (15 >> 13)); +} + + +if (31 >> 13 !== 0) { + $ERROR('#422: 31 >> 13 === 0. Actual: ' + (31 >> 13)); +} + + +if (63 >> 13 !== 0) { + $ERROR('#423: 63 >> 13 === 0. Actual: ' + (63 >> 13)); +} + + +if (127 >> 13 !== 0) { + $ERROR('#424: 127 >> 13 === 0. Actual: ' + (127 >> 13)); +} + + +if (255 >> 13 !== 0) { + $ERROR('#425: 255 >> 13 === 0. Actual: ' + (255 >> 13)); +} + + +if (511 >> 13 !== 0) { + $ERROR('#426: 511 >> 13 === 0. Actual: ' + (511 >> 13)); +} + + +if (1023 >> 13 !== 0) { + $ERROR('#427: 1023 >> 13 === 0. Actual: ' + (1023 >> 13)); +} + + +if (2047 >> 13 !== 0) { + $ERROR('#428: 2047 >> 13 === 0. Actual: ' + (2047 >> 13)); +} + + +if (4095 >> 13 !== 0) { + $ERROR('#429: 4095 >> 13 === 0. Actual: ' + (4095 >> 13)); +} + + +if (8191 >> 13 !== 0) { + $ERROR('#430: 8191 >> 13 === 0. Actual: ' + (8191 >> 13)); +} + + +if (16383 >> 13 !== 1) { + $ERROR('#431: 16383 >> 13 === 1. Actual: ' + (16383 >> 13)); +} + + +if (32767 >> 13 !== 3) { + $ERROR('#432: 32767 >> 13 === 3. Actual: ' + (32767 >> 13)); +} + + +if (65535 >> 13 !== 7) { + $ERROR('#433: 65535 >> 13 === 7. Actual: ' + (65535 >> 13)); +} + + +if (131071 >> 13 !== 15) { + $ERROR('#434: 131071 >> 13 === 15. Actual: ' + (131071 >> 13)); +} + + +if (262143 >> 13 !== 31) { + $ERROR('#435: 262143 >> 13 === 31. Actual: ' + (262143 >> 13)); +} + + +if (524287 >> 13 !== 63) { + $ERROR('#436: 524287 >> 13 === 63. Actual: ' + (524287 >> 13)); +} + + +if (1048575 >> 13 !== 127) { + $ERROR('#437: 1048575 >> 13 === 127. Actual: ' + (1048575 >> 13)); +} + + +if (2097151 >> 13 !== 255) { + $ERROR('#438: 2097151 >> 13 === 255. Actual: ' + (2097151 >> 13)); +} + + +if (4194303 >> 13 !== 511) { + $ERROR('#439: 4194303 >> 13 === 511. Actual: ' + (4194303 >> 13)); +} + + +if (8388607 >> 13 !== 1023) { + $ERROR('#440: 8388607 >> 13 === 1023. Actual: ' + (8388607 >> 13)); +} + + +if (16777215 >> 13 !== 2047) { + $ERROR('#441: 16777215 >> 13 === 2047. Actual: ' + (16777215 >> 13)); +} + + +if (33554431 >> 13 !== 4095) { + $ERROR('#442: 33554431 >> 13 === 4095. Actual: ' + (33554431 >> 13)); +} + + +if (67108863 >> 13 !== 8191) { + $ERROR('#443: 67108863 >> 13 === 8191. Actual: ' + (67108863 >> 13)); +} + + +if (134217727 >> 13 !== 16383) { + $ERROR('#444: 134217727 >> 13 === 16383. Actual: ' + (134217727 >> 13)); +} + + +if (268435455 >> 13 !== 32767) { + $ERROR('#445: 268435455 >> 13 === 32767. Actual: ' + (268435455 >> 13)); +} + + +if (536870911 >> 13 !== 65535) { + $ERROR('#446: 536870911 >> 13 === 65535. Actual: ' + (536870911 >> 13)); +} + + +if (1073741823 >> 13 !== 131071) { + $ERROR('#447: 1073741823 >> 13 === 131071. Actual: ' + (1073741823 >> 13)); +} + + +if (2147483647 >> 13 !== 262143) { + $ERROR('#448: 2147483647 >> 13 === 262143. Actual: ' + (2147483647 >> 13)); +} + + +if (0 >> 14 !== 0) { + $ERROR('#449: 0 >> 14 === 0. Actual: ' + (0 >> 14)); +} + + +if (1 >> 14 !== 0) { + $ERROR('#450: 1 >> 14 === 0. Actual: ' + (1 >> 14)); +} + + +if (3 >> 14 !== 0) { + $ERROR('#451: 3 >> 14 === 0. Actual: ' + (3 >> 14)); +} + + +if (7 >> 14 !== 0) { + $ERROR('#452: 7 >> 14 === 0. Actual: ' + (7 >> 14)); +} + + +if (15 >> 14 !== 0) { + $ERROR('#453: 15 >> 14 === 0. Actual: ' + (15 >> 14)); +} + + +if (31 >> 14 !== 0) { + $ERROR('#454: 31 >> 14 === 0. Actual: ' + (31 >> 14)); +} + + +if (63 >> 14 !== 0) { + $ERROR('#455: 63 >> 14 === 0. Actual: ' + (63 >> 14)); +} + + +if (127 >> 14 !== 0) { + $ERROR('#456: 127 >> 14 === 0. Actual: ' + (127 >> 14)); +} + + +if (255 >> 14 !== 0) { + $ERROR('#457: 255 >> 14 === 0. Actual: ' + (255 >> 14)); +} + + +if (511 >> 14 !== 0) { + $ERROR('#458: 511 >> 14 === 0. Actual: ' + (511 >> 14)); +} + + +if (1023 >> 14 !== 0) { + $ERROR('#459: 1023 >> 14 === 0. Actual: ' + (1023 >> 14)); +} + + +if (2047 >> 14 !== 0) { + $ERROR('#460: 2047 >> 14 === 0. Actual: ' + (2047 >> 14)); +} + + +if (4095 >> 14 !== 0) { + $ERROR('#461: 4095 >> 14 === 0. Actual: ' + (4095 >> 14)); +} + + +if (8191 >> 14 !== 0) { + $ERROR('#462: 8191 >> 14 === 0. Actual: ' + (8191 >> 14)); +} + + +if (16383 >> 14 !== 0) { + $ERROR('#463: 16383 >> 14 === 0. Actual: ' + (16383 >> 14)); +} + + +if (32767 >> 14 !== 1) { + $ERROR('#464: 32767 >> 14 === 1. Actual: ' + (32767 >> 14)); +} + + +if (65535 >> 14 !== 3) { + $ERROR('#465: 65535 >> 14 === 3. Actual: ' + (65535 >> 14)); +} + + +if (131071 >> 14 !== 7) { + $ERROR('#466: 131071 >> 14 === 7. Actual: ' + (131071 >> 14)); +} + + +if (262143 >> 14 !== 15) { + $ERROR('#467: 262143 >> 14 === 15. Actual: ' + (262143 >> 14)); +} + + +if (524287 >> 14 !== 31) { + $ERROR('#468: 524287 >> 14 === 31. Actual: ' + (524287 >> 14)); +} + + +if (1048575 >> 14 !== 63) { + $ERROR('#469: 1048575 >> 14 === 63. Actual: ' + (1048575 >> 14)); +} + + +if (2097151 >> 14 !== 127) { + $ERROR('#470: 2097151 >> 14 === 127. Actual: ' + (2097151 >> 14)); +} + + +if (4194303 >> 14 !== 255) { + $ERROR('#471: 4194303 >> 14 === 255. Actual: ' + (4194303 >> 14)); +} + + +if (8388607 >> 14 !== 511) { + $ERROR('#472: 8388607 >> 14 === 511. Actual: ' + (8388607 >> 14)); +} + + +if (16777215 >> 14 !== 1023) { + $ERROR('#473: 16777215 >> 14 === 1023. Actual: ' + (16777215 >> 14)); +} + + +if (33554431 >> 14 !== 2047) { + $ERROR('#474: 33554431 >> 14 === 2047. Actual: ' + (33554431 >> 14)); +} + + +if (67108863 >> 14 !== 4095) { + $ERROR('#475: 67108863 >> 14 === 4095. Actual: ' + (67108863 >> 14)); +} + + +if (134217727 >> 14 !== 8191) { + $ERROR('#476: 134217727 >> 14 === 8191. Actual: ' + (134217727 >> 14)); +} + + +if (268435455 >> 14 !== 16383) { + $ERROR('#477: 268435455 >> 14 === 16383. Actual: ' + (268435455 >> 14)); +} + + +if (536870911 >> 14 !== 32767) { + $ERROR('#478: 536870911 >> 14 === 32767. Actual: ' + (536870911 >> 14)); +} + + +if (1073741823 >> 14 !== 65535) { + $ERROR('#479: 1073741823 >> 14 === 65535. Actual: ' + (1073741823 >> 14)); +} + + +if (2147483647 >> 14 !== 131071) { + $ERROR('#480: 2147483647 >> 14 === 131071. Actual: ' + (2147483647 >> 14)); +} + + +if (0 >> 15 !== 0) { + $ERROR('#481: 0 >> 15 === 0. Actual: ' + (0 >> 15)); +} + + +if (1 >> 15 !== 0) { + $ERROR('#482: 1 >> 15 === 0. Actual: ' + (1 >> 15)); +} + + +if (3 >> 15 !== 0) { + $ERROR('#483: 3 >> 15 === 0. Actual: ' + (3 >> 15)); +} + + +if (7 >> 15 !== 0) { + $ERROR('#484: 7 >> 15 === 0. Actual: ' + (7 >> 15)); +} + + +if (15 >> 15 !== 0) { + $ERROR('#485: 15 >> 15 === 0. Actual: ' + (15 >> 15)); +} + + +if (31 >> 15 !== 0) { + $ERROR('#486: 31 >> 15 === 0. Actual: ' + (31 >> 15)); +} + + +if (63 >> 15 !== 0) { + $ERROR('#487: 63 >> 15 === 0. Actual: ' + (63 >> 15)); +} + + +if (127 >> 15 !== 0) { + $ERROR('#488: 127 >> 15 === 0. Actual: ' + (127 >> 15)); +} + + +if (255 >> 15 !== 0) { + $ERROR('#489: 255 >> 15 === 0. Actual: ' + (255 >> 15)); +} + + +if (511 >> 15 !== 0) { + $ERROR('#490: 511 >> 15 === 0. Actual: ' + (511 >> 15)); +} + + +if (1023 >> 15 !== 0) { + $ERROR('#491: 1023 >> 15 === 0. Actual: ' + (1023 >> 15)); +} + + +if (2047 >> 15 !== 0) { + $ERROR('#492: 2047 >> 15 === 0. Actual: ' + (2047 >> 15)); +} + + +if (4095 >> 15 !== 0) { + $ERROR('#493: 4095 >> 15 === 0. Actual: ' + (4095 >> 15)); +} + + +if (8191 >> 15 !== 0) { + $ERROR('#494: 8191 >> 15 === 0. Actual: ' + (8191 >> 15)); +} + + +if (16383 >> 15 !== 0) { + $ERROR('#495: 16383 >> 15 === 0. Actual: ' + (16383 >> 15)); +} + + +if (32767 >> 15 !== 0) { + $ERROR('#496: 32767 >> 15 === 0. Actual: ' + (32767 >> 15)); +} + + +if (65535 >> 15 !== 1) { + $ERROR('#497: 65535 >> 15 === 1. Actual: ' + (65535 >> 15)); +} + + +if (131071 >> 15 !== 3) { + $ERROR('#498: 131071 >> 15 === 3. Actual: ' + (131071 >> 15)); +} + + +if (262143 >> 15 !== 7) { + $ERROR('#499: 262143 >> 15 === 7. Actual: ' + (262143 >> 15)); +} + + +if (524287 >> 15 !== 15) { + $ERROR('#500: 524287 >> 15 === 15. Actual: ' + (524287 >> 15)); +} + + +if (1048575 >> 15 !== 31) { + $ERROR('#501: 1048575 >> 15 === 31. Actual: ' + (1048575 >> 15)); +} + + +if (2097151 >> 15 !== 63) { + $ERROR('#502: 2097151 >> 15 === 63. Actual: ' + (2097151 >> 15)); +} + + +if (4194303 >> 15 !== 127) { + $ERROR('#503: 4194303 >> 15 === 127. Actual: ' + (4194303 >> 15)); +} + + +if (8388607 >> 15 !== 255) { + $ERROR('#504: 8388607 >> 15 === 255. Actual: ' + (8388607 >> 15)); +} + + +if (16777215 >> 15 !== 511) { + $ERROR('#505: 16777215 >> 15 === 511. Actual: ' + (16777215 >> 15)); +} + + +if (33554431 >> 15 !== 1023) { + $ERROR('#506: 33554431 >> 15 === 1023. Actual: ' + (33554431 >> 15)); +} + + +if (67108863 >> 15 !== 2047) { + $ERROR('#507: 67108863 >> 15 === 2047. Actual: ' + (67108863 >> 15)); +} + + +if (134217727 >> 15 !== 4095) { + $ERROR('#508: 134217727 >> 15 === 4095. Actual: ' + (134217727 >> 15)); +} + + +if (268435455 >> 15 !== 8191) { + $ERROR('#509: 268435455 >> 15 === 8191. Actual: ' + (268435455 >> 15)); +} + + +if (536870911 >> 15 !== 16383) { + $ERROR('#510: 536870911 >> 15 === 16383. Actual: ' + (536870911 >> 15)); +} + + +if (1073741823 >> 15 !== 32767) { + $ERROR('#511: 1073741823 >> 15 === 32767. Actual: ' + (1073741823 >> 15)); +} + + +if (2147483647 >> 15 !== 65535) { + $ERROR('#512: 2147483647 >> 15 === 65535. Actual: ' + (2147483647 >> 15)); +} + diff --git a/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A4_T4.js b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A4_T4.js new file mode 100644 index 000000000..aa1e0065a --- /dev/null +++ b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A4_T4.js @@ -0,0 +1,2566 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check x >> y operator in distinct points + * + * @path ch11/11.7/11.7.2/S11.7.2_A4_T4.js + * @description ShiftExpression = 2^n - 1, n = 16...31 + */ + +//CHECK + +if (0 >> 16 !== 0) { + $ERROR('#513: 0 >> 16 === 0. Actual: ' + (0 >> 16)); +} + + +if (1 >> 16 !== 0) { + $ERROR('#514: 1 >> 16 === 0. Actual: ' + (1 >> 16)); +} + + +if (3 >> 16 !== 0) { + $ERROR('#515: 3 >> 16 === 0. Actual: ' + (3 >> 16)); +} + + +if (7 >> 16 !== 0) { + $ERROR('#516: 7 >> 16 === 0. Actual: ' + (7 >> 16)); +} + + +if (15 >> 16 !== 0) { + $ERROR('#517: 15 >> 16 === 0. Actual: ' + (15 >> 16)); +} + + +if (31 >> 16 !== 0) { + $ERROR('#518: 31 >> 16 === 0. Actual: ' + (31 >> 16)); +} + + +if (63 >> 16 !== 0) { + $ERROR('#519: 63 >> 16 === 0. Actual: ' + (63 >> 16)); +} + + +if (127 >> 16 !== 0) { + $ERROR('#520: 127 >> 16 === 0. Actual: ' + (127 >> 16)); +} + + +if (255 >> 16 !== 0) { + $ERROR('#521: 255 >> 16 === 0. Actual: ' + (255 >> 16)); +} + + +if (511 >> 16 !== 0) { + $ERROR('#522: 511 >> 16 === 0. Actual: ' + (511 >> 16)); +} + + +if (1023 >> 16 !== 0) { + $ERROR('#523: 1023 >> 16 === 0. Actual: ' + (1023 >> 16)); +} + + +if (2047 >> 16 !== 0) { + $ERROR('#524: 2047 >> 16 === 0. Actual: ' + (2047 >> 16)); +} + + +if (4095 >> 16 !== 0) { + $ERROR('#525: 4095 >> 16 === 0. Actual: ' + (4095 >> 16)); +} + + +if (8191 >> 16 !== 0) { + $ERROR('#526: 8191 >> 16 === 0. Actual: ' + (8191 >> 16)); +} + + +if (16383 >> 16 !== 0) { + $ERROR('#527: 16383 >> 16 === 0. Actual: ' + (16383 >> 16)); +} + + +if (32767 >> 16 !== 0) { + $ERROR('#528: 32767 >> 16 === 0. Actual: ' + (32767 >> 16)); +} + + +if (65535 >> 16 !== 0) { + $ERROR('#529: 65535 >> 16 === 0. Actual: ' + (65535 >> 16)); +} + + +if (131071 >> 16 !== 1) { + $ERROR('#530: 131071 >> 16 === 1. Actual: ' + (131071 >> 16)); +} + + +if (262143 >> 16 !== 3) { + $ERROR('#531: 262143 >> 16 === 3. Actual: ' + (262143 >> 16)); +} + + +if (524287 >> 16 !== 7) { + $ERROR('#532: 524287 >> 16 === 7. Actual: ' + (524287 >> 16)); +} + + +if (1048575 >> 16 !== 15) { + $ERROR('#533: 1048575 >> 16 === 15. Actual: ' + (1048575 >> 16)); +} + + +if (2097151 >> 16 !== 31) { + $ERROR('#534: 2097151 >> 16 === 31. Actual: ' + (2097151 >> 16)); +} + + +if (4194303 >> 16 !== 63) { + $ERROR('#535: 4194303 >> 16 === 63. Actual: ' + (4194303 >> 16)); +} + + +if (8388607 >> 16 !== 127) { + $ERROR('#536: 8388607 >> 16 === 127. Actual: ' + (8388607 >> 16)); +} + + +if (16777215 >> 16 !== 255) { + $ERROR('#537: 16777215 >> 16 === 255. Actual: ' + (16777215 >> 16)); +} + + +if (33554431 >> 16 !== 511) { + $ERROR('#538: 33554431 >> 16 === 511. Actual: ' + (33554431 >> 16)); +} + + +if (67108863 >> 16 !== 1023) { + $ERROR('#539: 67108863 >> 16 === 1023. Actual: ' + (67108863 >> 16)); +} + + +if (134217727 >> 16 !== 2047) { + $ERROR('#540: 134217727 >> 16 === 2047. Actual: ' + (134217727 >> 16)); +} + + +if (268435455 >> 16 !== 4095) { + $ERROR('#541: 268435455 >> 16 === 4095. Actual: ' + (268435455 >> 16)); +} + + +if (536870911 >> 16 !== 8191) { + $ERROR('#542: 536870911 >> 16 === 8191. Actual: ' + (536870911 >> 16)); +} + + +if (1073741823 >> 16 !== 16383) { + $ERROR('#543: 1073741823 >> 16 === 16383. Actual: ' + (1073741823 >> 16)); +} + + +if (2147483647 >> 16 !== 32767) { + $ERROR('#544: 2147483647 >> 16 === 32767. Actual: ' + (2147483647 >> 16)); +} + + +if (0 >> 17 !== 0) { + $ERROR('#545: 0 >> 17 === 0. Actual: ' + (0 >> 17)); +} + + +if (1 >> 17 !== 0) { + $ERROR('#546: 1 >> 17 === 0. Actual: ' + (1 >> 17)); +} + + +if (3 >> 17 !== 0) { + $ERROR('#547: 3 >> 17 === 0. Actual: ' + (3 >> 17)); +} + + +if (7 >> 17 !== 0) { + $ERROR('#548: 7 >> 17 === 0. Actual: ' + (7 >> 17)); +} + + +if (15 >> 17 !== 0) { + $ERROR('#549: 15 >> 17 === 0. Actual: ' + (15 >> 17)); +} + + +if (31 >> 17 !== 0) { + $ERROR('#550: 31 >> 17 === 0. Actual: ' + (31 >> 17)); +} + + +if (63 >> 17 !== 0) { + $ERROR('#551: 63 >> 17 === 0. Actual: ' + (63 >> 17)); +} + + +if (127 >> 17 !== 0) { + $ERROR('#552: 127 >> 17 === 0. Actual: ' + (127 >> 17)); +} + + +if (255 >> 17 !== 0) { + $ERROR('#553: 255 >> 17 === 0. Actual: ' + (255 >> 17)); +} + + +if (511 >> 17 !== 0) { + $ERROR('#554: 511 >> 17 === 0. Actual: ' + (511 >> 17)); +} + + +if (1023 >> 17 !== 0) { + $ERROR('#555: 1023 >> 17 === 0. Actual: ' + (1023 >> 17)); +} + + +if (2047 >> 17 !== 0) { + $ERROR('#556: 2047 >> 17 === 0. Actual: ' + (2047 >> 17)); +} + + +if (4095 >> 17 !== 0) { + $ERROR('#557: 4095 >> 17 === 0. Actual: ' + (4095 >> 17)); +} + + +if (8191 >> 17 !== 0) { + $ERROR('#558: 8191 >> 17 === 0. Actual: ' + (8191 >> 17)); +} + + +if (16383 >> 17 !== 0) { + $ERROR('#559: 16383 >> 17 === 0. Actual: ' + (16383 >> 17)); +} + + +if (32767 >> 17 !== 0) { + $ERROR('#560: 32767 >> 17 === 0. Actual: ' + (32767 >> 17)); +} + + +if (65535 >> 17 !== 0) { + $ERROR('#561: 65535 >> 17 === 0. Actual: ' + (65535 >> 17)); +} + + +if (131071 >> 17 !== 0) { + $ERROR('#562: 131071 >> 17 === 0. Actual: ' + (131071 >> 17)); +} + + +if (262143 >> 17 !== 1) { + $ERROR('#563: 262143 >> 17 === 1. Actual: ' + (262143 >> 17)); +} + + +if (524287 >> 17 !== 3) { + $ERROR('#564: 524287 >> 17 === 3. Actual: ' + (524287 >> 17)); +} + + +if (1048575 >> 17 !== 7) { + $ERROR('#565: 1048575 >> 17 === 7. Actual: ' + (1048575 >> 17)); +} + + +if (2097151 >> 17 !== 15) { + $ERROR('#566: 2097151 >> 17 === 15. Actual: ' + (2097151 >> 17)); +} + + +if (4194303 >> 17 !== 31) { + $ERROR('#567: 4194303 >> 17 === 31. Actual: ' + (4194303 >> 17)); +} + + +if (8388607 >> 17 !== 63) { + $ERROR('#568: 8388607 >> 17 === 63. Actual: ' + (8388607 >> 17)); +} + + +if (16777215 >> 17 !== 127) { + $ERROR('#569: 16777215 >> 17 === 127. Actual: ' + (16777215 >> 17)); +} + + +if (33554431 >> 17 !== 255) { + $ERROR('#570: 33554431 >> 17 === 255. Actual: ' + (33554431 >> 17)); +} + + +if (67108863 >> 17 !== 511) { + $ERROR('#571: 67108863 >> 17 === 511. Actual: ' + (67108863 >> 17)); +} + + +if (134217727 >> 17 !== 1023) { + $ERROR('#572: 134217727 >> 17 === 1023. Actual: ' + (134217727 >> 17)); +} + + +if (268435455 >> 17 !== 2047) { + $ERROR('#573: 268435455 >> 17 === 2047. Actual: ' + (268435455 >> 17)); +} + + +if (536870911 >> 17 !== 4095) { + $ERROR('#574: 536870911 >> 17 === 4095. Actual: ' + (536870911 >> 17)); +} + + +if (1073741823 >> 17 !== 8191) { + $ERROR('#575: 1073741823 >> 17 === 8191. Actual: ' + (1073741823 >> 17)); +} + + +if (2147483647 >> 17 !== 16383) { + $ERROR('#576: 2147483647 >> 17 === 16383. Actual: ' + (2147483647 >> 17)); +} + + +if (0 >> 18 !== 0) { + $ERROR('#577: 0 >> 18 === 0. Actual: ' + (0 >> 18)); +} + + +if (1 >> 18 !== 0) { + $ERROR('#578: 1 >> 18 === 0. Actual: ' + (1 >> 18)); +} + + +if (3 >> 18 !== 0) { + $ERROR('#579: 3 >> 18 === 0. Actual: ' + (3 >> 18)); +} + + +if (7 >> 18 !== 0) { + $ERROR('#580: 7 >> 18 === 0. Actual: ' + (7 >> 18)); +} + + +if (15 >> 18 !== 0) { + $ERROR('#581: 15 >> 18 === 0. Actual: ' + (15 >> 18)); +} + + +if (31 >> 18 !== 0) { + $ERROR('#582: 31 >> 18 === 0. Actual: ' + (31 >> 18)); +} + + +if (63 >> 18 !== 0) { + $ERROR('#583: 63 >> 18 === 0. Actual: ' + (63 >> 18)); +} + + +if (127 >> 18 !== 0) { + $ERROR('#584: 127 >> 18 === 0. Actual: ' + (127 >> 18)); +} + + +if (255 >> 18 !== 0) { + $ERROR('#585: 255 >> 18 === 0. Actual: ' + (255 >> 18)); +} + + +if (511 >> 18 !== 0) { + $ERROR('#586: 511 >> 18 === 0. Actual: ' + (511 >> 18)); +} + + +if (1023 >> 18 !== 0) { + $ERROR('#587: 1023 >> 18 === 0. Actual: ' + (1023 >> 18)); +} + + +if (2047 >> 18 !== 0) { + $ERROR('#588: 2047 >> 18 === 0. Actual: ' + (2047 >> 18)); +} + + +if (4095 >> 18 !== 0) { + $ERROR('#589: 4095 >> 18 === 0. Actual: ' + (4095 >> 18)); +} + + +if (8191 >> 18 !== 0) { + $ERROR('#590: 8191 >> 18 === 0. Actual: ' + (8191 >> 18)); +} + + +if (16383 >> 18 !== 0) { + $ERROR('#591: 16383 >> 18 === 0. Actual: ' + (16383 >> 18)); +} + + +if (32767 >> 18 !== 0) { + $ERROR('#592: 32767 >> 18 === 0. Actual: ' + (32767 >> 18)); +} + + +if (65535 >> 18 !== 0) { + $ERROR('#593: 65535 >> 18 === 0. Actual: ' + (65535 >> 18)); +} + + +if (131071 >> 18 !== 0) { + $ERROR('#594: 131071 >> 18 === 0. Actual: ' + (131071 >> 18)); +} + + +if (262143 >> 18 !== 0) { + $ERROR('#595: 262143 >> 18 === 0. Actual: ' + (262143 >> 18)); +} + + +if (524287 >> 18 !== 1) { + $ERROR('#596: 524287 >> 18 === 1. Actual: ' + (524287 >> 18)); +} + + +if (1048575 >> 18 !== 3) { + $ERROR('#597: 1048575 >> 18 === 3. Actual: ' + (1048575 >> 18)); +} + + +if (2097151 >> 18 !== 7) { + $ERROR('#598: 2097151 >> 18 === 7. Actual: ' + (2097151 >> 18)); +} + + +if (4194303 >> 18 !== 15) { + $ERROR('#599: 4194303 >> 18 === 15. Actual: ' + (4194303 >> 18)); +} + + +if (8388607 >> 18 !== 31) { + $ERROR('#600: 8388607 >> 18 === 31. Actual: ' + (8388607 >> 18)); +} + + +if (16777215 >> 18 !== 63) { + $ERROR('#601: 16777215 >> 18 === 63. Actual: ' + (16777215 >> 18)); +} + + +if (33554431 >> 18 !== 127) { + $ERROR('#602: 33554431 >> 18 === 127. Actual: ' + (33554431 >> 18)); +} + + +if (67108863 >> 18 !== 255) { + $ERROR('#603: 67108863 >> 18 === 255. Actual: ' + (67108863 >> 18)); +} + + +if (134217727 >> 18 !== 511) { + $ERROR('#604: 134217727 >> 18 === 511. Actual: ' + (134217727 >> 18)); +} + + +if (268435455 >> 18 !== 1023) { + $ERROR('#605: 268435455 >> 18 === 1023. Actual: ' + (268435455 >> 18)); +} + + +if (536870911 >> 18 !== 2047) { + $ERROR('#606: 536870911 >> 18 === 2047. Actual: ' + (536870911 >> 18)); +} + + +if (1073741823 >> 18 !== 4095) { + $ERROR('#607: 1073741823 >> 18 === 4095. Actual: ' + (1073741823 >> 18)); +} + + +if (2147483647 >> 18 !== 8191) { + $ERROR('#608: 2147483647 >> 18 === 8191. Actual: ' + (2147483647 >> 18)); +} + + +if (0 >> 19 !== 0) { + $ERROR('#609: 0 >> 19 === 0. Actual: ' + (0 >> 19)); +} + + +if (1 >> 19 !== 0) { + $ERROR('#610: 1 >> 19 === 0. Actual: ' + (1 >> 19)); +} + + +if (3 >> 19 !== 0) { + $ERROR('#611: 3 >> 19 === 0. Actual: ' + (3 >> 19)); +} + + +if (7 >> 19 !== 0) { + $ERROR('#612: 7 >> 19 === 0. Actual: ' + (7 >> 19)); +} + + +if (15 >> 19 !== 0) { + $ERROR('#613: 15 >> 19 === 0. Actual: ' + (15 >> 19)); +} + + +if (31 >> 19 !== 0) { + $ERROR('#614: 31 >> 19 === 0. Actual: ' + (31 >> 19)); +} + + +if (63 >> 19 !== 0) { + $ERROR('#615: 63 >> 19 === 0. Actual: ' + (63 >> 19)); +} + + +if (127 >> 19 !== 0) { + $ERROR('#616: 127 >> 19 === 0. Actual: ' + (127 >> 19)); +} + + +if (255 >> 19 !== 0) { + $ERROR('#617: 255 >> 19 === 0. Actual: ' + (255 >> 19)); +} + + +if (511 >> 19 !== 0) { + $ERROR('#618: 511 >> 19 === 0. Actual: ' + (511 >> 19)); +} + + +if (1023 >> 19 !== 0) { + $ERROR('#619: 1023 >> 19 === 0. Actual: ' + (1023 >> 19)); +} + + +if (2047 >> 19 !== 0) { + $ERROR('#620: 2047 >> 19 === 0. Actual: ' + (2047 >> 19)); +} + + +if (4095 >> 19 !== 0) { + $ERROR('#621: 4095 >> 19 === 0. Actual: ' + (4095 >> 19)); +} + + +if (8191 >> 19 !== 0) { + $ERROR('#622: 8191 >> 19 === 0. Actual: ' + (8191 >> 19)); +} + + +if (16383 >> 19 !== 0) { + $ERROR('#623: 16383 >> 19 === 0. Actual: ' + (16383 >> 19)); +} + + +if (32767 >> 19 !== 0) { + $ERROR('#624: 32767 >> 19 === 0. Actual: ' + (32767 >> 19)); +} + + +if (65535 >> 19 !== 0) { + $ERROR('#625: 65535 >> 19 === 0. Actual: ' + (65535 >> 19)); +} + + +if (131071 >> 19 !== 0) { + $ERROR('#626: 131071 >> 19 === 0. Actual: ' + (131071 >> 19)); +} + + +if (262143 >> 19 !== 0) { + $ERROR('#627: 262143 >> 19 === 0. Actual: ' + (262143 >> 19)); +} + + +if (524287 >> 19 !== 0) { + $ERROR('#628: 524287 >> 19 === 0. Actual: ' + (524287 >> 19)); +} + + +if (1048575 >> 19 !== 1) { + $ERROR('#629: 1048575 >> 19 === 1. Actual: ' + (1048575 >> 19)); +} + + +if (2097151 >> 19 !== 3) { + $ERROR('#630: 2097151 >> 19 === 3. Actual: ' + (2097151 >> 19)); +} + + +if (4194303 >> 19 !== 7) { + $ERROR('#631: 4194303 >> 19 === 7. Actual: ' + (4194303 >> 19)); +} + + +if (8388607 >> 19 !== 15) { + $ERROR('#632: 8388607 >> 19 === 15. Actual: ' + (8388607 >> 19)); +} + + +if (16777215 >> 19 !== 31) { + $ERROR('#633: 16777215 >> 19 === 31. Actual: ' + (16777215 >> 19)); +} + + +if (33554431 >> 19 !== 63) { + $ERROR('#634: 33554431 >> 19 === 63. Actual: ' + (33554431 >> 19)); +} + + +if (67108863 >> 19 !== 127) { + $ERROR('#635: 67108863 >> 19 === 127. Actual: ' + (67108863 >> 19)); +} + + +if (134217727 >> 19 !== 255) { + $ERROR('#636: 134217727 >> 19 === 255. Actual: ' + (134217727 >> 19)); +} + + +if (268435455 >> 19 !== 511) { + $ERROR('#637: 268435455 >> 19 === 511. Actual: ' + (268435455 >> 19)); +} + + +if (536870911 >> 19 !== 1023) { + $ERROR('#638: 536870911 >> 19 === 1023. Actual: ' + (536870911 >> 19)); +} + + +if (1073741823 >> 19 !== 2047) { + $ERROR('#639: 1073741823 >> 19 === 2047. Actual: ' + (1073741823 >> 19)); +} + + +if (2147483647 >> 19 !== 4095) { + $ERROR('#640: 2147483647 >> 19 === 4095. Actual: ' + (2147483647 >> 19)); +} + + +if (0 >> 20 !== 0) { + $ERROR('#641: 0 >> 20 === 0. Actual: ' + (0 >> 20)); +} + + +if (1 >> 20 !== 0) { + $ERROR('#642: 1 >> 20 === 0. Actual: ' + (1 >> 20)); +} + + +if (3 >> 20 !== 0) { + $ERROR('#643: 3 >> 20 === 0. Actual: ' + (3 >> 20)); +} + + +if (7 >> 20 !== 0) { + $ERROR('#644: 7 >> 20 === 0. Actual: ' + (7 >> 20)); +} + + +if (15 >> 20 !== 0) { + $ERROR('#645: 15 >> 20 === 0. Actual: ' + (15 >> 20)); +} + + +if (31 >> 20 !== 0) { + $ERROR('#646: 31 >> 20 === 0. Actual: ' + (31 >> 20)); +} + + +if (63 >> 20 !== 0) { + $ERROR('#647: 63 >> 20 === 0. Actual: ' + (63 >> 20)); +} + + +if (127 >> 20 !== 0) { + $ERROR('#648: 127 >> 20 === 0. Actual: ' + (127 >> 20)); +} + + +if (255 >> 20 !== 0) { + $ERROR('#649: 255 >> 20 === 0. Actual: ' + (255 >> 20)); +} + + +if (511 >> 20 !== 0) { + $ERROR('#650: 511 >> 20 === 0. Actual: ' + (511 >> 20)); +} + + +if (1023 >> 20 !== 0) { + $ERROR('#651: 1023 >> 20 === 0. Actual: ' + (1023 >> 20)); +} + + +if (2047 >> 20 !== 0) { + $ERROR('#652: 2047 >> 20 === 0. Actual: ' + (2047 >> 20)); +} + + +if (4095 >> 20 !== 0) { + $ERROR('#653: 4095 >> 20 === 0. Actual: ' + (4095 >> 20)); +} + + +if (8191 >> 20 !== 0) { + $ERROR('#654: 8191 >> 20 === 0. Actual: ' + (8191 >> 20)); +} + + +if (16383 >> 20 !== 0) { + $ERROR('#655: 16383 >> 20 === 0. Actual: ' + (16383 >> 20)); +} + + +if (32767 >> 20 !== 0) { + $ERROR('#656: 32767 >> 20 === 0. Actual: ' + (32767 >> 20)); +} + + +if (65535 >> 20 !== 0) { + $ERROR('#657: 65535 >> 20 === 0. Actual: ' + (65535 >> 20)); +} + + +if (131071 >> 20 !== 0) { + $ERROR('#658: 131071 >> 20 === 0. Actual: ' + (131071 >> 20)); +} + + +if (262143 >> 20 !== 0) { + $ERROR('#659: 262143 >> 20 === 0. Actual: ' + (262143 >> 20)); +} + + +if (524287 >> 20 !== 0) { + $ERROR('#660: 524287 >> 20 === 0. Actual: ' + (524287 >> 20)); +} + + +if (1048575 >> 20 !== 0) { + $ERROR('#661: 1048575 >> 20 === 0. Actual: ' + (1048575 >> 20)); +} + + +if (2097151 >> 20 !== 1) { + $ERROR('#662: 2097151 >> 20 === 1. Actual: ' + (2097151 >> 20)); +} + + +if (4194303 >> 20 !== 3) { + $ERROR('#663: 4194303 >> 20 === 3. Actual: ' + (4194303 >> 20)); +} + + +if (8388607 >> 20 !== 7) { + $ERROR('#664: 8388607 >> 20 === 7. Actual: ' + (8388607 >> 20)); +} + + +if (16777215 >> 20 !== 15) { + $ERROR('#665: 16777215 >> 20 === 15. Actual: ' + (16777215 >> 20)); +} + + +if (33554431 >> 20 !== 31) { + $ERROR('#666: 33554431 >> 20 === 31. Actual: ' + (33554431 >> 20)); +} + + +if (67108863 >> 20 !== 63) { + $ERROR('#667: 67108863 >> 20 === 63. Actual: ' + (67108863 >> 20)); +} + + +if (134217727 >> 20 !== 127) { + $ERROR('#668: 134217727 >> 20 === 127. Actual: ' + (134217727 >> 20)); +} + + +if (268435455 >> 20 !== 255) { + $ERROR('#669: 268435455 >> 20 === 255. Actual: ' + (268435455 >> 20)); +} + + +if (536870911 >> 20 !== 511) { + $ERROR('#670: 536870911 >> 20 === 511. Actual: ' + (536870911 >> 20)); +} + + +if (1073741823 >> 20 !== 1023) { + $ERROR('#671: 1073741823 >> 20 === 1023. Actual: ' + (1073741823 >> 20)); +} + + +if (2147483647 >> 20 !== 2047) { + $ERROR('#672: 2147483647 >> 20 === 2047. Actual: ' + (2147483647 >> 20)); +} + + +if (0 >> 21 !== 0) { + $ERROR('#673: 0 >> 21 === 0. Actual: ' + (0 >> 21)); +} + + +if (1 >> 21 !== 0) { + $ERROR('#674: 1 >> 21 === 0. Actual: ' + (1 >> 21)); +} + + +if (3 >> 21 !== 0) { + $ERROR('#675: 3 >> 21 === 0. Actual: ' + (3 >> 21)); +} + + +if (7 >> 21 !== 0) { + $ERROR('#676: 7 >> 21 === 0. Actual: ' + (7 >> 21)); +} + + +if (15 >> 21 !== 0) { + $ERROR('#677: 15 >> 21 === 0. Actual: ' + (15 >> 21)); +} + + +if (31 >> 21 !== 0) { + $ERROR('#678: 31 >> 21 === 0. Actual: ' + (31 >> 21)); +} + + +if (63 >> 21 !== 0) { + $ERROR('#679: 63 >> 21 === 0. Actual: ' + (63 >> 21)); +} + + +if (127 >> 21 !== 0) { + $ERROR('#680: 127 >> 21 === 0. Actual: ' + (127 >> 21)); +} + + +if (255 >> 21 !== 0) { + $ERROR('#681: 255 >> 21 === 0. Actual: ' + (255 >> 21)); +} + + +if (511 >> 21 !== 0) { + $ERROR('#682: 511 >> 21 === 0. Actual: ' + (511 >> 21)); +} + + +if (1023 >> 21 !== 0) { + $ERROR('#683: 1023 >> 21 === 0. Actual: ' + (1023 >> 21)); +} + + +if (2047 >> 21 !== 0) { + $ERROR('#684: 2047 >> 21 === 0. Actual: ' + (2047 >> 21)); +} + + +if (4095 >> 21 !== 0) { + $ERROR('#685: 4095 >> 21 === 0. Actual: ' + (4095 >> 21)); +} + + +if (8191 >> 21 !== 0) { + $ERROR('#686: 8191 >> 21 === 0. Actual: ' + (8191 >> 21)); +} + + +if (16383 >> 21 !== 0) { + $ERROR('#687: 16383 >> 21 === 0. Actual: ' + (16383 >> 21)); +} + + +if (32767 >> 21 !== 0) { + $ERROR('#688: 32767 >> 21 === 0. Actual: ' + (32767 >> 21)); +} + + +if (65535 >> 21 !== 0) { + $ERROR('#689: 65535 >> 21 === 0. Actual: ' + (65535 >> 21)); +} + + +if (131071 >> 21 !== 0) { + $ERROR('#690: 131071 >> 21 === 0. Actual: ' + (131071 >> 21)); +} + + +if (262143 >> 21 !== 0) { + $ERROR('#691: 262143 >> 21 === 0. Actual: ' + (262143 >> 21)); +} + + +if (524287 >> 21 !== 0) { + $ERROR('#692: 524287 >> 21 === 0. Actual: ' + (524287 >> 21)); +} + + +if (1048575 >> 21 !== 0) { + $ERROR('#693: 1048575 >> 21 === 0. Actual: ' + (1048575 >> 21)); +} + + +if (2097151 >> 21 !== 0) { + $ERROR('#694: 2097151 >> 21 === 0. Actual: ' + (2097151 >> 21)); +} + + +if (4194303 >> 21 !== 1) { + $ERROR('#695: 4194303 >> 21 === 1. Actual: ' + (4194303 >> 21)); +} + + +if (8388607 >> 21 !== 3) { + $ERROR('#696: 8388607 >> 21 === 3. Actual: ' + (8388607 >> 21)); +} + + +if (16777215 >> 21 !== 7) { + $ERROR('#697: 16777215 >> 21 === 7. Actual: ' + (16777215 >> 21)); +} + + +if (33554431 >> 21 !== 15) { + $ERROR('#698: 33554431 >> 21 === 15. Actual: ' + (33554431 >> 21)); +} + + +if (67108863 >> 21 !== 31) { + $ERROR('#699: 67108863 >> 21 === 31. Actual: ' + (67108863 >> 21)); +} + + +if (134217727 >> 21 !== 63) { + $ERROR('#700: 134217727 >> 21 === 63. Actual: ' + (134217727 >> 21)); +} + + +if (268435455 >> 21 !== 127) { + $ERROR('#701: 268435455 >> 21 === 127. Actual: ' + (268435455 >> 21)); +} + + +if (536870911 >> 21 !== 255) { + $ERROR('#702: 536870911 >> 21 === 255. Actual: ' + (536870911 >> 21)); +} + + +if (1073741823 >> 21 !== 511) { + $ERROR('#703: 1073741823 >> 21 === 511. Actual: ' + (1073741823 >> 21)); +} + + +if (2147483647 >> 21 !== 1023) { + $ERROR('#704: 2147483647 >> 21 === 1023. Actual: ' + (2147483647 >> 21)); +} + + +if (0 >> 22 !== 0) { + $ERROR('#705: 0 >> 22 === 0. Actual: ' + (0 >> 22)); +} + + +if (1 >> 22 !== 0) { + $ERROR('#706: 1 >> 22 === 0. Actual: ' + (1 >> 22)); +} + + +if (3 >> 22 !== 0) { + $ERROR('#707: 3 >> 22 === 0. Actual: ' + (3 >> 22)); +} + + +if (7 >> 22 !== 0) { + $ERROR('#708: 7 >> 22 === 0. Actual: ' + (7 >> 22)); +} + + +if (15 >> 22 !== 0) { + $ERROR('#709: 15 >> 22 === 0. Actual: ' + (15 >> 22)); +} + + +if (31 >> 22 !== 0) { + $ERROR('#710: 31 >> 22 === 0. Actual: ' + (31 >> 22)); +} + + +if (63 >> 22 !== 0) { + $ERROR('#711: 63 >> 22 === 0. Actual: ' + (63 >> 22)); +} + + +if (127 >> 22 !== 0) { + $ERROR('#712: 127 >> 22 === 0. Actual: ' + (127 >> 22)); +} + + +if (255 >> 22 !== 0) { + $ERROR('#713: 255 >> 22 === 0. Actual: ' + (255 >> 22)); +} + + +if (511 >> 22 !== 0) { + $ERROR('#714: 511 >> 22 === 0. Actual: ' + (511 >> 22)); +} + + +if (1023 >> 22 !== 0) { + $ERROR('#715: 1023 >> 22 === 0. Actual: ' + (1023 >> 22)); +} + + +if (2047 >> 22 !== 0) { + $ERROR('#716: 2047 >> 22 === 0. Actual: ' + (2047 >> 22)); +} + + +if (4095 >> 22 !== 0) { + $ERROR('#717: 4095 >> 22 === 0. Actual: ' + (4095 >> 22)); +} + + +if (8191 >> 22 !== 0) { + $ERROR('#718: 8191 >> 22 === 0. Actual: ' + (8191 >> 22)); +} + + +if (16383 >> 22 !== 0) { + $ERROR('#719: 16383 >> 22 === 0. Actual: ' + (16383 >> 22)); +} + + +if (32767 >> 22 !== 0) { + $ERROR('#720: 32767 >> 22 === 0. Actual: ' + (32767 >> 22)); +} + + +if (65535 >> 22 !== 0) { + $ERROR('#721: 65535 >> 22 === 0. Actual: ' + (65535 >> 22)); +} + + +if (131071 >> 22 !== 0) { + $ERROR('#722: 131071 >> 22 === 0. Actual: ' + (131071 >> 22)); +} + + +if (262143 >> 22 !== 0) { + $ERROR('#723: 262143 >> 22 === 0. Actual: ' + (262143 >> 22)); +} + + +if (524287 >> 22 !== 0) { + $ERROR('#724: 524287 >> 22 === 0. Actual: ' + (524287 >> 22)); +} + + +if (1048575 >> 22 !== 0) { + $ERROR('#725: 1048575 >> 22 === 0. Actual: ' + (1048575 >> 22)); +} + + +if (2097151 >> 22 !== 0) { + $ERROR('#726: 2097151 >> 22 === 0. Actual: ' + (2097151 >> 22)); +} + + +if (4194303 >> 22 !== 0) { + $ERROR('#727: 4194303 >> 22 === 0. Actual: ' + (4194303 >> 22)); +} + + +if (8388607 >> 22 !== 1) { + $ERROR('#728: 8388607 >> 22 === 1. Actual: ' + (8388607 >> 22)); +} + + +if (16777215 >> 22 !== 3) { + $ERROR('#729: 16777215 >> 22 === 3. Actual: ' + (16777215 >> 22)); +} + + +if (33554431 >> 22 !== 7) { + $ERROR('#730: 33554431 >> 22 === 7. Actual: ' + (33554431 >> 22)); +} + + +if (67108863 >> 22 !== 15) { + $ERROR('#731: 67108863 >> 22 === 15. Actual: ' + (67108863 >> 22)); +} + + +if (134217727 >> 22 !== 31) { + $ERROR('#732: 134217727 >> 22 === 31. Actual: ' + (134217727 >> 22)); +} + + +if (268435455 >> 22 !== 63) { + $ERROR('#733: 268435455 >> 22 === 63. Actual: ' + (268435455 >> 22)); +} + + +if (536870911 >> 22 !== 127) { + $ERROR('#734: 536870911 >> 22 === 127. Actual: ' + (536870911 >> 22)); +} + + +if (1073741823 >> 22 !== 255) { + $ERROR('#735: 1073741823 >> 22 === 255. Actual: ' + (1073741823 >> 22)); +} + + +if (2147483647 >> 22 !== 511) { + $ERROR('#736: 2147483647 >> 22 === 511. Actual: ' + (2147483647 >> 22)); +} + + +if (0 >> 23 !== 0) { + $ERROR('#737: 0 >> 23 === 0. Actual: ' + (0 >> 23)); +} + + +if (1 >> 23 !== 0) { + $ERROR('#738: 1 >> 23 === 0. Actual: ' + (1 >> 23)); +} + + +if (3 >> 23 !== 0) { + $ERROR('#739: 3 >> 23 === 0. Actual: ' + (3 >> 23)); +} + + +if (7 >> 23 !== 0) { + $ERROR('#740: 7 >> 23 === 0. Actual: ' + (7 >> 23)); +} + + +if (15 >> 23 !== 0) { + $ERROR('#741: 15 >> 23 === 0. Actual: ' + (15 >> 23)); +} + + +if (31 >> 23 !== 0) { + $ERROR('#742: 31 >> 23 === 0. Actual: ' + (31 >> 23)); +} + + +if (63 >> 23 !== 0) { + $ERROR('#743: 63 >> 23 === 0. Actual: ' + (63 >> 23)); +} + + +if (127 >> 23 !== 0) { + $ERROR('#744: 127 >> 23 === 0. Actual: ' + (127 >> 23)); +} + + +if (255 >> 23 !== 0) { + $ERROR('#745: 255 >> 23 === 0. Actual: ' + (255 >> 23)); +} + + +if (511 >> 23 !== 0) { + $ERROR('#746: 511 >> 23 === 0. Actual: ' + (511 >> 23)); +} + + +if (1023 >> 23 !== 0) { + $ERROR('#747: 1023 >> 23 === 0. Actual: ' + (1023 >> 23)); +} + + +if (2047 >> 23 !== 0) { + $ERROR('#748: 2047 >> 23 === 0. Actual: ' + (2047 >> 23)); +} + + +if (4095 >> 23 !== 0) { + $ERROR('#749: 4095 >> 23 === 0. Actual: ' + (4095 >> 23)); +} + + +if (8191 >> 23 !== 0) { + $ERROR('#750: 8191 >> 23 === 0. Actual: ' + (8191 >> 23)); +} + + +if (16383 >> 23 !== 0) { + $ERROR('#751: 16383 >> 23 === 0. Actual: ' + (16383 >> 23)); +} + + +if (32767 >> 23 !== 0) { + $ERROR('#752: 32767 >> 23 === 0. Actual: ' + (32767 >> 23)); +} + + +if (65535 >> 23 !== 0) { + $ERROR('#753: 65535 >> 23 === 0. Actual: ' + (65535 >> 23)); +} + + +if (131071 >> 23 !== 0) { + $ERROR('#754: 131071 >> 23 === 0. Actual: ' + (131071 >> 23)); +} + + +if (262143 >> 23 !== 0) { + $ERROR('#755: 262143 >> 23 === 0. Actual: ' + (262143 >> 23)); +} + + +if (524287 >> 23 !== 0) { + $ERROR('#756: 524287 >> 23 === 0. Actual: ' + (524287 >> 23)); +} + + +if (1048575 >> 23 !== 0) { + $ERROR('#757: 1048575 >> 23 === 0. Actual: ' + (1048575 >> 23)); +} + + +if (2097151 >> 23 !== 0) { + $ERROR('#758: 2097151 >> 23 === 0. Actual: ' + (2097151 >> 23)); +} + + +if (4194303 >> 23 !== 0) { + $ERROR('#759: 4194303 >> 23 === 0. Actual: ' + (4194303 >> 23)); +} + + +if (8388607 >> 23 !== 0) { + $ERROR('#760: 8388607 >> 23 === 0. Actual: ' + (8388607 >> 23)); +} + + +if (16777215 >> 23 !== 1) { + $ERROR('#761: 16777215 >> 23 === 1. Actual: ' + (16777215 >> 23)); +} + + +if (33554431 >> 23 !== 3) { + $ERROR('#762: 33554431 >> 23 === 3. Actual: ' + (33554431 >> 23)); +} + + +if (67108863 >> 23 !== 7) { + $ERROR('#763: 67108863 >> 23 === 7. Actual: ' + (67108863 >> 23)); +} + + +if (134217727 >> 23 !== 15) { + $ERROR('#764: 134217727 >> 23 === 15. Actual: ' + (134217727 >> 23)); +} + + +if (268435455 >> 23 !== 31) { + $ERROR('#765: 268435455 >> 23 === 31. Actual: ' + (268435455 >> 23)); +} + + +if (536870911 >> 23 !== 63) { + $ERROR('#766: 536870911 >> 23 === 63. Actual: ' + (536870911 >> 23)); +} + + +if (1073741823 >> 23 !== 127) { + $ERROR('#767: 1073741823 >> 23 === 127. Actual: ' + (1073741823 >> 23)); +} + + +if (2147483647 >> 23 !== 255) { + $ERROR('#768: 2147483647 >> 23 === 255. Actual: ' + (2147483647 >> 23)); +} + + +if (0 >> 24 !== 0) { + $ERROR('#769: 0 >> 24 === 0. Actual: ' + (0 >> 24)); +} + + +if (1 >> 24 !== 0) { + $ERROR('#770: 1 >> 24 === 0. Actual: ' + (1 >> 24)); +} + + +if (3 >> 24 !== 0) { + $ERROR('#771: 3 >> 24 === 0. Actual: ' + (3 >> 24)); +} + + +if (7 >> 24 !== 0) { + $ERROR('#772: 7 >> 24 === 0. Actual: ' + (7 >> 24)); +} + + +if (15 >> 24 !== 0) { + $ERROR('#773: 15 >> 24 === 0. Actual: ' + (15 >> 24)); +} + + +if (31 >> 24 !== 0) { + $ERROR('#774: 31 >> 24 === 0. Actual: ' + (31 >> 24)); +} + + +if (63 >> 24 !== 0) { + $ERROR('#775: 63 >> 24 === 0. Actual: ' + (63 >> 24)); +} + + +if (127 >> 24 !== 0) { + $ERROR('#776: 127 >> 24 === 0. Actual: ' + (127 >> 24)); +} + + +if (255 >> 24 !== 0) { + $ERROR('#777: 255 >> 24 === 0. Actual: ' + (255 >> 24)); +} + + +if (511 >> 24 !== 0) { + $ERROR('#778: 511 >> 24 === 0. Actual: ' + (511 >> 24)); +} + + +if (1023 >> 24 !== 0) { + $ERROR('#779: 1023 >> 24 === 0. Actual: ' + (1023 >> 24)); +} + + +if (2047 >> 24 !== 0) { + $ERROR('#780: 2047 >> 24 === 0. Actual: ' + (2047 >> 24)); +} + + +if (4095 >> 24 !== 0) { + $ERROR('#781: 4095 >> 24 === 0. Actual: ' + (4095 >> 24)); +} + + +if (8191 >> 24 !== 0) { + $ERROR('#782: 8191 >> 24 === 0. Actual: ' + (8191 >> 24)); +} + + +if (16383 >> 24 !== 0) { + $ERROR('#783: 16383 >> 24 === 0. Actual: ' + (16383 >> 24)); +} + + +if (32767 >> 24 !== 0) { + $ERROR('#784: 32767 >> 24 === 0. Actual: ' + (32767 >> 24)); +} + + +if (65535 >> 24 !== 0) { + $ERROR('#785: 65535 >> 24 === 0. Actual: ' + (65535 >> 24)); +} + + +if (131071 >> 24 !== 0) { + $ERROR('#786: 131071 >> 24 === 0. Actual: ' + (131071 >> 24)); +} + + +if (262143 >> 24 !== 0) { + $ERROR('#787: 262143 >> 24 === 0. Actual: ' + (262143 >> 24)); +} + + +if (524287 >> 24 !== 0) { + $ERROR('#788: 524287 >> 24 === 0. Actual: ' + (524287 >> 24)); +} + + +if (1048575 >> 24 !== 0) { + $ERROR('#789: 1048575 >> 24 === 0. Actual: ' + (1048575 >> 24)); +} + + +if (2097151 >> 24 !== 0) { + $ERROR('#790: 2097151 >> 24 === 0. Actual: ' + (2097151 >> 24)); +} + + +if (4194303 >> 24 !== 0) { + $ERROR('#791: 4194303 >> 24 === 0. Actual: ' + (4194303 >> 24)); +} + + +if (8388607 >> 24 !== 0) { + $ERROR('#792: 8388607 >> 24 === 0. Actual: ' + (8388607 >> 24)); +} + + +if (16777215 >> 24 !== 0) { + $ERROR('#793: 16777215 >> 24 === 0. Actual: ' + (16777215 >> 24)); +} + + +if (33554431 >> 24 !== 1) { + $ERROR('#794: 33554431 >> 24 === 1. Actual: ' + (33554431 >> 24)); +} + + +if (67108863 >> 24 !== 3) { + $ERROR('#795: 67108863 >> 24 === 3. Actual: ' + (67108863 >> 24)); +} + + +if (134217727 >> 24 !== 7) { + $ERROR('#796: 134217727 >> 24 === 7. Actual: ' + (134217727 >> 24)); +} + + +if (268435455 >> 24 !== 15) { + $ERROR('#797: 268435455 >> 24 === 15. Actual: ' + (268435455 >> 24)); +} + + +if (536870911 >> 24 !== 31) { + $ERROR('#798: 536870911 >> 24 === 31. Actual: ' + (536870911 >> 24)); +} + + +if (1073741823 >> 24 !== 63) { + $ERROR('#799: 1073741823 >> 24 === 63. Actual: ' + (1073741823 >> 24)); +} + + +if (2147483647 >> 24 !== 127) { + $ERROR('#800: 2147483647 >> 24 === 127. Actual: ' + (2147483647 >> 24)); +} + + +if (0 >> 25 !== 0) { + $ERROR('#801: 0 >> 25 === 0. Actual: ' + (0 >> 25)); +} + + +if (1 >> 25 !== 0) { + $ERROR('#802: 1 >> 25 === 0. Actual: ' + (1 >> 25)); +} + + +if (3 >> 25 !== 0) { + $ERROR('#803: 3 >> 25 === 0. Actual: ' + (3 >> 25)); +} + + +if (7 >> 25 !== 0) { + $ERROR('#804: 7 >> 25 === 0. Actual: ' + (7 >> 25)); +} + + +if (15 >> 25 !== 0) { + $ERROR('#805: 15 >> 25 === 0. Actual: ' + (15 >> 25)); +} + + +if (31 >> 25 !== 0) { + $ERROR('#806: 31 >> 25 === 0. Actual: ' + (31 >> 25)); +} + + +if (63 >> 25 !== 0) { + $ERROR('#807: 63 >> 25 === 0. Actual: ' + (63 >> 25)); +} + + +if (127 >> 25 !== 0) { + $ERROR('#808: 127 >> 25 === 0. Actual: ' + (127 >> 25)); +} + + +if (255 >> 25 !== 0) { + $ERROR('#809: 255 >> 25 === 0. Actual: ' + (255 >> 25)); +} + + +if (511 >> 25 !== 0) { + $ERROR('#810: 511 >> 25 === 0. Actual: ' + (511 >> 25)); +} + + +if (1023 >> 25 !== 0) { + $ERROR('#811: 1023 >> 25 === 0. Actual: ' + (1023 >> 25)); +} + + +if (2047 >> 25 !== 0) { + $ERROR('#812: 2047 >> 25 === 0. Actual: ' + (2047 >> 25)); +} + + +if (4095 >> 25 !== 0) { + $ERROR('#813: 4095 >> 25 === 0. Actual: ' + (4095 >> 25)); +} + + +if (8191 >> 25 !== 0) { + $ERROR('#814: 8191 >> 25 === 0. Actual: ' + (8191 >> 25)); +} + + +if (16383 >> 25 !== 0) { + $ERROR('#815: 16383 >> 25 === 0. Actual: ' + (16383 >> 25)); +} + + +if (32767 >> 25 !== 0) { + $ERROR('#816: 32767 >> 25 === 0. Actual: ' + (32767 >> 25)); +} + + +if (65535 >> 25 !== 0) { + $ERROR('#817: 65535 >> 25 === 0. Actual: ' + (65535 >> 25)); +} + + +if (131071 >> 25 !== 0) { + $ERROR('#818: 131071 >> 25 === 0. Actual: ' + (131071 >> 25)); +} + + +if (262143 >> 25 !== 0) { + $ERROR('#819: 262143 >> 25 === 0. Actual: ' + (262143 >> 25)); +} + + +if (524287 >> 25 !== 0) { + $ERROR('#820: 524287 >> 25 === 0. Actual: ' + (524287 >> 25)); +} + + +if (1048575 >> 25 !== 0) { + $ERROR('#821: 1048575 >> 25 === 0. Actual: ' + (1048575 >> 25)); +} + + +if (2097151 >> 25 !== 0) { + $ERROR('#822: 2097151 >> 25 === 0. Actual: ' + (2097151 >> 25)); +} + + +if (4194303 >> 25 !== 0) { + $ERROR('#823: 4194303 >> 25 === 0. Actual: ' + (4194303 >> 25)); +} + + +if (8388607 >> 25 !== 0) { + $ERROR('#824: 8388607 >> 25 === 0. Actual: ' + (8388607 >> 25)); +} + + +if (16777215 >> 25 !== 0) { + $ERROR('#825: 16777215 >> 25 === 0. Actual: ' + (16777215 >> 25)); +} + + +if (33554431 >> 25 !== 0) { + $ERROR('#826: 33554431 >> 25 === 0. Actual: ' + (33554431 >> 25)); +} + + +if (67108863 >> 25 !== 1) { + $ERROR('#827: 67108863 >> 25 === 1. Actual: ' + (67108863 >> 25)); +} + + +if (134217727 >> 25 !== 3) { + $ERROR('#828: 134217727 >> 25 === 3. Actual: ' + (134217727 >> 25)); +} + + +if (268435455 >> 25 !== 7) { + $ERROR('#829: 268435455 >> 25 === 7. Actual: ' + (268435455 >> 25)); +} + + +if (536870911 >> 25 !== 15) { + $ERROR('#830: 536870911 >> 25 === 15. Actual: ' + (536870911 >> 25)); +} + + +if (1073741823 >> 25 !== 31) { + $ERROR('#831: 1073741823 >> 25 === 31. Actual: ' + (1073741823 >> 25)); +} + + +if (2147483647 >> 25 !== 63) { + $ERROR('#832: 2147483647 >> 25 === 63. Actual: ' + (2147483647 >> 25)); +} + + +if (0 >> 26 !== 0) { + $ERROR('#833: 0 >> 26 === 0. Actual: ' + (0 >> 26)); +} + + +if (1 >> 26 !== 0) { + $ERROR('#834: 1 >> 26 === 0. Actual: ' + (1 >> 26)); +} + + +if (3 >> 26 !== 0) { + $ERROR('#835: 3 >> 26 === 0. Actual: ' + (3 >> 26)); +} + + +if (7 >> 26 !== 0) { + $ERROR('#836: 7 >> 26 === 0. Actual: ' + (7 >> 26)); +} + + +if (15 >> 26 !== 0) { + $ERROR('#837: 15 >> 26 === 0. Actual: ' + (15 >> 26)); +} + + +if (31 >> 26 !== 0) { + $ERROR('#838: 31 >> 26 === 0. Actual: ' + (31 >> 26)); +} + + +if (63 >> 26 !== 0) { + $ERROR('#839: 63 >> 26 === 0. Actual: ' + (63 >> 26)); +} + + +if (127 >> 26 !== 0) { + $ERROR('#840: 127 >> 26 === 0. Actual: ' + (127 >> 26)); +} + + +if (255 >> 26 !== 0) { + $ERROR('#841: 255 >> 26 === 0. Actual: ' + (255 >> 26)); +} + + +if (511 >> 26 !== 0) { + $ERROR('#842: 511 >> 26 === 0. Actual: ' + (511 >> 26)); +} + + +if (1023 >> 26 !== 0) { + $ERROR('#843: 1023 >> 26 === 0. Actual: ' + (1023 >> 26)); +} + + +if (2047 >> 26 !== 0) { + $ERROR('#844: 2047 >> 26 === 0. Actual: ' + (2047 >> 26)); +} + + +if (4095 >> 26 !== 0) { + $ERROR('#845: 4095 >> 26 === 0. Actual: ' + (4095 >> 26)); +} + + +if (8191 >> 26 !== 0) { + $ERROR('#846: 8191 >> 26 === 0. Actual: ' + (8191 >> 26)); +} + + +if (16383 >> 26 !== 0) { + $ERROR('#847: 16383 >> 26 === 0. Actual: ' + (16383 >> 26)); +} + + +if (32767 >> 26 !== 0) { + $ERROR('#848: 32767 >> 26 === 0. Actual: ' + (32767 >> 26)); +} + + +if (65535 >> 26 !== 0) { + $ERROR('#849: 65535 >> 26 === 0. Actual: ' + (65535 >> 26)); +} + + +if (131071 >> 26 !== 0) { + $ERROR('#850: 131071 >> 26 === 0. Actual: ' + (131071 >> 26)); +} + + +if (262143 >> 26 !== 0) { + $ERROR('#851: 262143 >> 26 === 0. Actual: ' + (262143 >> 26)); +} + + +if (524287 >> 26 !== 0) { + $ERROR('#852: 524287 >> 26 === 0. Actual: ' + (524287 >> 26)); +} + + +if (1048575 >> 26 !== 0) { + $ERROR('#853: 1048575 >> 26 === 0. Actual: ' + (1048575 >> 26)); +} + + +if (2097151 >> 26 !== 0) { + $ERROR('#854: 2097151 >> 26 === 0. Actual: ' + (2097151 >> 26)); +} + + +if (4194303 >> 26 !== 0) { + $ERROR('#855: 4194303 >> 26 === 0. Actual: ' + (4194303 >> 26)); +} + + +if (8388607 >> 26 !== 0) { + $ERROR('#856: 8388607 >> 26 === 0. Actual: ' + (8388607 >> 26)); +} + + +if (16777215 >> 26 !== 0) { + $ERROR('#857: 16777215 >> 26 === 0. Actual: ' + (16777215 >> 26)); +} + + +if (33554431 >> 26 !== 0) { + $ERROR('#858: 33554431 >> 26 === 0. Actual: ' + (33554431 >> 26)); +} + + +if (67108863 >> 26 !== 0) { + $ERROR('#859: 67108863 >> 26 === 0. Actual: ' + (67108863 >> 26)); +} + + +if (134217727 >> 26 !== 1) { + $ERROR('#860: 134217727 >> 26 === 1. Actual: ' + (134217727 >> 26)); +} + + +if (268435455 >> 26 !== 3) { + $ERROR('#861: 268435455 >> 26 === 3. Actual: ' + (268435455 >> 26)); +} + + +if (536870911 >> 26 !== 7) { + $ERROR('#862: 536870911 >> 26 === 7. Actual: ' + (536870911 >> 26)); +} + + +if (1073741823 >> 26 !== 15) { + $ERROR('#863: 1073741823 >> 26 === 15. Actual: ' + (1073741823 >> 26)); +} + + +if (2147483647 >> 26 !== 31) { + $ERROR('#864: 2147483647 >> 26 === 31. Actual: ' + (2147483647 >> 26)); +} + + +if (0 >> 27 !== 0) { + $ERROR('#865: 0 >> 27 === 0. Actual: ' + (0 >> 27)); +} + + +if (1 >> 27 !== 0) { + $ERROR('#866: 1 >> 27 === 0. Actual: ' + (1 >> 27)); +} + + +if (3 >> 27 !== 0) { + $ERROR('#867: 3 >> 27 === 0. Actual: ' + (3 >> 27)); +} + + +if (7 >> 27 !== 0) { + $ERROR('#868: 7 >> 27 === 0. Actual: ' + (7 >> 27)); +} + + +if (15 >> 27 !== 0) { + $ERROR('#869: 15 >> 27 === 0. Actual: ' + (15 >> 27)); +} + + +if (31 >> 27 !== 0) { + $ERROR('#870: 31 >> 27 === 0. Actual: ' + (31 >> 27)); +} + + +if (63 >> 27 !== 0) { + $ERROR('#871: 63 >> 27 === 0. Actual: ' + (63 >> 27)); +} + + +if (127 >> 27 !== 0) { + $ERROR('#872: 127 >> 27 === 0. Actual: ' + (127 >> 27)); +} + + +if (255 >> 27 !== 0) { + $ERROR('#873: 255 >> 27 === 0. Actual: ' + (255 >> 27)); +} + + +if (511 >> 27 !== 0) { + $ERROR('#874: 511 >> 27 === 0. Actual: ' + (511 >> 27)); +} + + +if (1023 >> 27 !== 0) { + $ERROR('#875: 1023 >> 27 === 0. Actual: ' + (1023 >> 27)); +} + + +if (2047 >> 27 !== 0) { + $ERROR('#876: 2047 >> 27 === 0. Actual: ' + (2047 >> 27)); +} + + +if (4095 >> 27 !== 0) { + $ERROR('#877: 4095 >> 27 === 0. Actual: ' + (4095 >> 27)); +} + + +if (8191 >> 27 !== 0) { + $ERROR('#878: 8191 >> 27 === 0. Actual: ' + (8191 >> 27)); +} + + +if (16383 >> 27 !== 0) { + $ERROR('#879: 16383 >> 27 === 0. Actual: ' + (16383 >> 27)); +} + + +if (32767 >> 27 !== 0) { + $ERROR('#880: 32767 >> 27 === 0. Actual: ' + (32767 >> 27)); +} + + +if (65535 >> 27 !== 0) { + $ERROR('#881: 65535 >> 27 === 0. Actual: ' + (65535 >> 27)); +} + + +if (131071 >> 27 !== 0) { + $ERROR('#882: 131071 >> 27 === 0. Actual: ' + (131071 >> 27)); +} + + +if (262143 >> 27 !== 0) { + $ERROR('#883: 262143 >> 27 === 0. Actual: ' + (262143 >> 27)); +} + + +if (524287 >> 27 !== 0) { + $ERROR('#884: 524287 >> 27 === 0. Actual: ' + (524287 >> 27)); +} + + +if (1048575 >> 27 !== 0) { + $ERROR('#885: 1048575 >> 27 === 0. Actual: ' + (1048575 >> 27)); +} + + +if (2097151 >> 27 !== 0) { + $ERROR('#886: 2097151 >> 27 === 0. Actual: ' + (2097151 >> 27)); +} + + +if (4194303 >> 27 !== 0) { + $ERROR('#887: 4194303 >> 27 === 0. Actual: ' + (4194303 >> 27)); +} + + +if (8388607 >> 27 !== 0) { + $ERROR('#888: 8388607 >> 27 === 0. Actual: ' + (8388607 >> 27)); +} + + +if (16777215 >> 27 !== 0) { + $ERROR('#889: 16777215 >> 27 === 0. Actual: ' + (16777215 >> 27)); +} + + +if (33554431 >> 27 !== 0) { + $ERROR('#890: 33554431 >> 27 === 0. Actual: ' + (33554431 >> 27)); +} + + +if (67108863 >> 27 !== 0) { + $ERROR('#891: 67108863 >> 27 === 0. Actual: ' + (67108863 >> 27)); +} + + +if (134217727 >> 27 !== 0) { + $ERROR('#892: 134217727 >> 27 === 0. Actual: ' + (134217727 >> 27)); +} + + +if (268435455 >> 27 !== 1) { + $ERROR('#893: 268435455 >> 27 === 1. Actual: ' + (268435455 >> 27)); +} + + +if (536870911 >> 27 !== 3) { + $ERROR('#894: 536870911 >> 27 === 3. Actual: ' + (536870911 >> 27)); +} + + +if (1073741823 >> 27 !== 7) { + $ERROR('#895: 1073741823 >> 27 === 7. Actual: ' + (1073741823 >> 27)); +} + + +if (2147483647 >> 27 !== 15) { + $ERROR('#896: 2147483647 >> 27 === 15. Actual: ' + (2147483647 >> 27)); +} + + +if (0 >> 28 !== 0) { + $ERROR('#897: 0 >> 28 === 0. Actual: ' + (0 >> 28)); +} + + +if (1 >> 28 !== 0) { + $ERROR('#898: 1 >> 28 === 0. Actual: ' + (1 >> 28)); +} + + +if (3 >> 28 !== 0) { + $ERROR('#899: 3 >> 28 === 0. Actual: ' + (3 >> 28)); +} + + +if (7 >> 28 !== 0) { + $ERROR('#900: 7 >> 28 === 0. Actual: ' + (7 >> 28)); +} + + +if (15 >> 28 !== 0) { + $ERROR('#901: 15 >> 28 === 0. Actual: ' + (15 >> 28)); +} + + +if (31 >> 28 !== 0) { + $ERROR('#902: 31 >> 28 === 0. Actual: ' + (31 >> 28)); +} + + +if (63 >> 28 !== 0) { + $ERROR('#903: 63 >> 28 === 0. Actual: ' + (63 >> 28)); +} + + +if (127 >> 28 !== 0) { + $ERROR('#904: 127 >> 28 === 0. Actual: ' + (127 >> 28)); +} + + +if (255 >> 28 !== 0) { + $ERROR('#905: 255 >> 28 === 0. Actual: ' + (255 >> 28)); +} + + +if (511 >> 28 !== 0) { + $ERROR('#906: 511 >> 28 === 0. Actual: ' + (511 >> 28)); +} + + +if (1023 >> 28 !== 0) { + $ERROR('#907: 1023 >> 28 === 0. Actual: ' + (1023 >> 28)); +} + + +if (2047 >> 28 !== 0) { + $ERROR('#908: 2047 >> 28 === 0. Actual: ' + (2047 >> 28)); +} + + +if (4095 >> 28 !== 0) { + $ERROR('#909: 4095 >> 28 === 0. Actual: ' + (4095 >> 28)); +} + + +if (8191 >> 28 !== 0) { + $ERROR('#910: 8191 >> 28 === 0. Actual: ' + (8191 >> 28)); +} + + +if (16383 >> 28 !== 0) { + $ERROR('#911: 16383 >> 28 === 0. Actual: ' + (16383 >> 28)); +} + + +if (32767 >> 28 !== 0) { + $ERROR('#912: 32767 >> 28 === 0. Actual: ' + (32767 >> 28)); +} + + +if (65535 >> 28 !== 0) { + $ERROR('#913: 65535 >> 28 === 0. Actual: ' + (65535 >> 28)); +} + + +if (131071 >> 28 !== 0) { + $ERROR('#914: 131071 >> 28 === 0. Actual: ' + (131071 >> 28)); +} + + +if (262143 >> 28 !== 0) { + $ERROR('#915: 262143 >> 28 === 0. Actual: ' + (262143 >> 28)); +} + + +if (524287 >> 28 !== 0) { + $ERROR('#916: 524287 >> 28 === 0. Actual: ' + (524287 >> 28)); +} + + +if (1048575 >> 28 !== 0) { + $ERROR('#917: 1048575 >> 28 === 0. Actual: ' + (1048575 >> 28)); +} + + +if (2097151 >> 28 !== 0) { + $ERROR('#918: 2097151 >> 28 === 0. Actual: ' + (2097151 >> 28)); +} + + +if (4194303 >> 28 !== 0) { + $ERROR('#919: 4194303 >> 28 === 0. Actual: ' + (4194303 >> 28)); +} + + +if (8388607 >> 28 !== 0) { + $ERROR('#920: 8388607 >> 28 === 0. Actual: ' + (8388607 >> 28)); +} + + +if (16777215 >> 28 !== 0) { + $ERROR('#921: 16777215 >> 28 === 0. Actual: ' + (16777215 >> 28)); +} + + +if (33554431 >> 28 !== 0) { + $ERROR('#922: 33554431 >> 28 === 0. Actual: ' + (33554431 >> 28)); +} + + +if (67108863 >> 28 !== 0) { + $ERROR('#923: 67108863 >> 28 === 0. Actual: ' + (67108863 >> 28)); +} + + +if (134217727 >> 28 !== 0) { + $ERROR('#924: 134217727 >> 28 === 0. Actual: ' + (134217727 >> 28)); +} + + +if (268435455 >> 28 !== 0) { + $ERROR('#925: 268435455 >> 28 === 0. Actual: ' + (268435455 >> 28)); +} + + +if (536870911 >> 28 !== 1) { + $ERROR('#926: 536870911 >> 28 === 1. Actual: ' + (536870911 >> 28)); +} + + +if (1073741823 >> 28 !== 3) { + $ERROR('#927: 1073741823 >> 28 === 3. Actual: ' + (1073741823 >> 28)); +} + + +if (2147483647 >> 28 !== 7) { + $ERROR('#928: 2147483647 >> 28 === 7. Actual: ' + (2147483647 >> 28)); +} + + +if (0 >> 29 !== 0) { + $ERROR('#929: 0 >> 29 === 0. Actual: ' + (0 >> 29)); +} + + +if (1 >> 29 !== 0) { + $ERROR('#930: 1 >> 29 === 0. Actual: ' + (1 >> 29)); +} + + +if (3 >> 29 !== 0) { + $ERROR('#931: 3 >> 29 === 0. Actual: ' + (3 >> 29)); +} + + +if (7 >> 29 !== 0) { + $ERROR('#932: 7 >> 29 === 0. Actual: ' + (7 >> 29)); +} + + +if (15 >> 29 !== 0) { + $ERROR('#933: 15 >> 29 === 0. Actual: ' + (15 >> 29)); +} + + +if (31 >> 29 !== 0) { + $ERROR('#934: 31 >> 29 === 0. Actual: ' + (31 >> 29)); +} + + +if (63 >> 29 !== 0) { + $ERROR('#935: 63 >> 29 === 0. Actual: ' + (63 >> 29)); +} + + +if (127 >> 29 !== 0) { + $ERROR('#936: 127 >> 29 === 0. Actual: ' + (127 >> 29)); +} + + +if (255 >> 29 !== 0) { + $ERROR('#937: 255 >> 29 === 0. Actual: ' + (255 >> 29)); +} + + +if (511 >> 29 !== 0) { + $ERROR('#938: 511 >> 29 === 0. Actual: ' + (511 >> 29)); +} + + +if (1023 >> 29 !== 0) { + $ERROR('#939: 1023 >> 29 === 0. Actual: ' + (1023 >> 29)); +} + + +if (2047 >> 29 !== 0) { + $ERROR('#940: 2047 >> 29 === 0. Actual: ' + (2047 >> 29)); +} + + +if (4095 >> 29 !== 0) { + $ERROR('#941: 4095 >> 29 === 0. Actual: ' + (4095 >> 29)); +} + + +if (8191 >> 29 !== 0) { + $ERROR('#942: 8191 >> 29 === 0. Actual: ' + (8191 >> 29)); +} + + +if (16383 >> 29 !== 0) { + $ERROR('#943: 16383 >> 29 === 0. Actual: ' + (16383 >> 29)); +} + + +if (32767 >> 29 !== 0) { + $ERROR('#944: 32767 >> 29 === 0. Actual: ' + (32767 >> 29)); +} + + +if (65535 >> 29 !== 0) { + $ERROR('#945: 65535 >> 29 === 0. Actual: ' + (65535 >> 29)); +} + + +if (131071 >> 29 !== 0) { + $ERROR('#946: 131071 >> 29 === 0. Actual: ' + (131071 >> 29)); +} + + +if (262143 >> 29 !== 0) { + $ERROR('#947: 262143 >> 29 === 0. Actual: ' + (262143 >> 29)); +} + + +if (524287 >> 29 !== 0) { + $ERROR('#948: 524287 >> 29 === 0. Actual: ' + (524287 >> 29)); +} + + +if (1048575 >> 29 !== 0) { + $ERROR('#949: 1048575 >> 29 === 0. Actual: ' + (1048575 >> 29)); +} + + +if (2097151 >> 29 !== 0) { + $ERROR('#950: 2097151 >> 29 === 0. Actual: ' + (2097151 >> 29)); +} + + +if (4194303 >> 29 !== 0) { + $ERROR('#951: 4194303 >> 29 === 0. Actual: ' + (4194303 >> 29)); +} + + +if (8388607 >> 29 !== 0) { + $ERROR('#952: 8388607 >> 29 === 0. Actual: ' + (8388607 >> 29)); +} + + +if (16777215 >> 29 !== 0) { + $ERROR('#953: 16777215 >> 29 === 0. Actual: ' + (16777215 >> 29)); +} + + +if (33554431 >> 29 !== 0) { + $ERROR('#954: 33554431 >> 29 === 0. Actual: ' + (33554431 >> 29)); +} + + +if (67108863 >> 29 !== 0) { + $ERROR('#955: 67108863 >> 29 === 0. Actual: ' + (67108863 >> 29)); +} + + +if (134217727 >> 29 !== 0) { + $ERROR('#956: 134217727 >> 29 === 0. Actual: ' + (134217727 >> 29)); +} + + +if (268435455 >> 29 !== 0) { + $ERROR('#957: 268435455 >> 29 === 0. Actual: ' + (268435455 >> 29)); +} + + +if (536870911 >> 29 !== 0) { + $ERROR('#958: 536870911 >> 29 === 0. Actual: ' + (536870911 >> 29)); +} + + +if (1073741823 >> 29 !== 1) { + $ERROR('#959: 1073741823 >> 29 === 1. Actual: ' + (1073741823 >> 29)); +} + + +if (2147483647 >> 29 !== 3) { + $ERROR('#960: 2147483647 >> 29 === 3. Actual: ' + (2147483647 >> 29)); +} + + +if (0 >> 30 !== 0) { + $ERROR('#961: 0 >> 30 === 0. Actual: ' + (0 >> 30)); +} + + +if (1 >> 30 !== 0) { + $ERROR('#962: 1 >> 30 === 0. Actual: ' + (1 >> 30)); +} + + +if (3 >> 30 !== 0) { + $ERROR('#963: 3 >> 30 === 0. Actual: ' + (3 >> 30)); +} + + +if (7 >> 30 !== 0) { + $ERROR('#964: 7 >> 30 === 0. Actual: ' + (7 >> 30)); +} + + +if (15 >> 30 !== 0) { + $ERROR('#965: 15 >> 30 === 0. Actual: ' + (15 >> 30)); +} + + +if (31 >> 30 !== 0) { + $ERROR('#966: 31 >> 30 === 0. Actual: ' + (31 >> 30)); +} + + +if (63 >> 30 !== 0) { + $ERROR('#967: 63 >> 30 === 0. Actual: ' + (63 >> 30)); +} + + +if (127 >> 30 !== 0) { + $ERROR('#968: 127 >> 30 === 0. Actual: ' + (127 >> 30)); +} + + +if (255 >> 30 !== 0) { + $ERROR('#969: 255 >> 30 === 0. Actual: ' + (255 >> 30)); +} + + +if (511 >> 30 !== 0) { + $ERROR('#970: 511 >> 30 === 0. Actual: ' + (511 >> 30)); +} + + +if (1023 >> 30 !== 0) { + $ERROR('#971: 1023 >> 30 === 0. Actual: ' + (1023 >> 30)); +} + + +if (2047 >> 30 !== 0) { + $ERROR('#972: 2047 >> 30 === 0. Actual: ' + (2047 >> 30)); +} + + +if (4095 >> 30 !== 0) { + $ERROR('#973: 4095 >> 30 === 0. Actual: ' + (4095 >> 30)); +} + + +if (8191 >> 30 !== 0) { + $ERROR('#974: 8191 >> 30 === 0. Actual: ' + (8191 >> 30)); +} + + +if (16383 >> 30 !== 0) { + $ERROR('#975: 16383 >> 30 === 0. Actual: ' + (16383 >> 30)); +} + + +if (32767 >> 30 !== 0) { + $ERROR('#976: 32767 >> 30 === 0. Actual: ' + (32767 >> 30)); +} + + +if (65535 >> 30 !== 0) { + $ERROR('#977: 65535 >> 30 === 0. Actual: ' + (65535 >> 30)); +} + + +if (131071 >> 30 !== 0) { + $ERROR('#978: 131071 >> 30 === 0. Actual: ' + (131071 >> 30)); +} + + +if (262143 >> 30 !== 0) { + $ERROR('#979: 262143 >> 30 === 0. Actual: ' + (262143 >> 30)); +} + + +if (524287 >> 30 !== 0) { + $ERROR('#980: 524287 >> 30 === 0. Actual: ' + (524287 >> 30)); +} + + +if (1048575 >> 30 !== 0) { + $ERROR('#981: 1048575 >> 30 === 0. Actual: ' + (1048575 >> 30)); +} + + +if (2097151 >> 30 !== 0) { + $ERROR('#982: 2097151 >> 30 === 0. Actual: ' + (2097151 >> 30)); +} + + +if (4194303 >> 30 !== 0) { + $ERROR('#983: 4194303 >> 30 === 0. Actual: ' + (4194303 >> 30)); +} + + +if (8388607 >> 30 !== 0) { + $ERROR('#984: 8388607 >> 30 === 0. Actual: ' + (8388607 >> 30)); +} + + +if (16777215 >> 30 !== 0) { + $ERROR('#985: 16777215 >> 30 === 0. Actual: ' + (16777215 >> 30)); +} + + +if (33554431 >> 30 !== 0) { + $ERROR('#986: 33554431 >> 30 === 0. Actual: ' + (33554431 >> 30)); +} + + +if (67108863 >> 30 !== 0) { + $ERROR('#987: 67108863 >> 30 === 0. Actual: ' + (67108863 >> 30)); +} + + +if (134217727 >> 30 !== 0) { + $ERROR('#988: 134217727 >> 30 === 0. Actual: ' + (134217727 >> 30)); +} + + +if (268435455 >> 30 !== 0) { + $ERROR('#989: 268435455 >> 30 === 0. Actual: ' + (268435455 >> 30)); +} + + +if (536870911 >> 30 !== 0) { + $ERROR('#990: 536870911 >> 30 === 0. Actual: ' + (536870911 >> 30)); +} + + +if (1073741823 >> 30 !== 0) { + $ERROR('#991: 1073741823 >> 30 === 0. Actual: ' + (1073741823 >> 30)); +} + + +if (2147483647 >> 30 !== 1) { + $ERROR('#992: 2147483647 >> 30 === 1. Actual: ' + (2147483647 >> 30)); +} + + +if (0 >> 31 !== 0) { + $ERROR('#993: 0 >> 31 === 0. Actual: ' + (0 >> 31)); +} + + +if (1 >> 31 !== 0) { + $ERROR('#994: 1 >> 31 === 0. Actual: ' + (1 >> 31)); +} + + +if (3 >> 31 !== 0) { + $ERROR('#995: 3 >> 31 === 0. Actual: ' + (3 >> 31)); +} + + +if (7 >> 31 !== 0) { + $ERROR('#996: 7 >> 31 === 0. Actual: ' + (7 >> 31)); +} + + +if (15 >> 31 !== 0) { + $ERROR('#997: 15 >> 31 === 0. Actual: ' + (15 >> 31)); +} + + +if (31 >> 31 !== 0) { + $ERROR('#998: 31 >> 31 === 0. Actual: ' + (31 >> 31)); +} + + +if (63 >> 31 !== 0) { + $ERROR('#999: 63 >> 31 === 0. Actual: ' + (63 >> 31)); +} + + +if (127 >> 31 !== 0) { + $ERROR('#1000: 127 >> 31 === 0. Actual: ' + (127 >> 31)); +} + + +if (255 >> 31 !== 0) { + $ERROR('#1001: 255 >> 31 === 0. Actual: ' + (255 >> 31)); +} + + +if (511 >> 31 !== 0) { + $ERROR('#1002: 511 >> 31 === 0. Actual: ' + (511 >> 31)); +} + + +if (1023 >> 31 !== 0) { + $ERROR('#1003: 1023 >> 31 === 0. Actual: ' + (1023 >> 31)); +} + + +if (2047 >> 31 !== 0) { + $ERROR('#1004: 2047 >> 31 === 0. Actual: ' + (2047 >> 31)); +} + + +if (4095 >> 31 !== 0) { + $ERROR('#1005: 4095 >> 31 === 0. Actual: ' + (4095 >> 31)); +} + + +if (8191 >> 31 !== 0) { + $ERROR('#1006: 8191 >> 31 === 0. Actual: ' + (8191 >> 31)); +} + + +if (16383 >> 31 !== 0) { + $ERROR('#1007: 16383 >> 31 === 0. Actual: ' + (16383 >> 31)); +} + + +if (32767 >> 31 !== 0) { + $ERROR('#1008: 32767 >> 31 === 0. Actual: ' + (32767 >> 31)); +} + + +if (65535 >> 31 !== 0) { + $ERROR('#1009: 65535 >> 31 === 0. Actual: ' + (65535 >> 31)); +} + + +if (131071 >> 31 !== 0) { + $ERROR('#1010: 131071 >> 31 === 0. Actual: ' + (131071 >> 31)); +} + + +if (262143 >> 31 !== 0) { + $ERROR('#1011: 262143 >> 31 === 0. Actual: ' + (262143 >> 31)); +} + + +if (524287 >> 31 !== 0) { + $ERROR('#1012: 524287 >> 31 === 0. Actual: ' + (524287 >> 31)); +} + + +if (1048575 >> 31 !== 0) { + $ERROR('#1013: 1048575 >> 31 === 0. Actual: ' + (1048575 >> 31)); +} + + +if (2097151 >> 31 !== 0) { + $ERROR('#1014: 2097151 >> 31 === 0. Actual: ' + (2097151 >> 31)); +} + + +if (4194303 >> 31 !== 0) { + $ERROR('#1015: 4194303 >> 31 === 0. Actual: ' + (4194303 >> 31)); +} + + +if (8388607 >> 31 !== 0) { + $ERROR('#1016: 8388607 >> 31 === 0. Actual: ' + (8388607 >> 31)); +} + + +if (16777215 >> 31 !== 0) { + $ERROR('#1017: 16777215 >> 31 === 0. Actual: ' + (16777215 >> 31)); +} + + +if (33554431 >> 31 !== 0) { + $ERROR('#1018: 33554431 >> 31 === 0. Actual: ' + (33554431 >> 31)); +} + + +if (67108863 >> 31 !== 0) { + $ERROR('#1019: 67108863 >> 31 === 0. Actual: ' + (67108863 >> 31)); +} + + +if (134217727 >> 31 !== 0) { + $ERROR('#1020: 134217727 >> 31 === 0. Actual: ' + (134217727 >> 31)); +} + + +if (268435455 >> 31 !== 0) { + $ERROR('#1021: 268435455 >> 31 === 0. Actual: ' + (268435455 >> 31)); +} + + +if (536870911 >> 31 !== 0) { + $ERROR('#1022: 536870911 >> 31 === 0. Actual: ' + (536870911 >> 31)); +} + + +if (1073741823 >> 31 !== 0) { + $ERROR('#1023: 1073741823 >> 31 === 0. Actual: ' + (1073741823 >> 31)); +} + diff --git a/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A5.1_T1.js b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A5.1_T1.js new file mode 100644 index 000000000..aa732c311 --- /dev/null +++ b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A5.1_T1.js @@ -0,0 +1,60 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Operator x >> y uses ToInt32(ShiftExpression) + * + * @path ch11/11.7/11.7.2/S11.7.2_A5.1_T1.js + * @description Checking boundary points + */ + +//CHECK#1 +if (2147483648.1 >> 0 !== -2147483648) { + $ERROR('#1: 2147483648.1 >> 0 === -2147483648. Actual: ' + (2147483648.1 >> 0)); +} + +//CHECK#2 +if (4294967296.1 >> 0 !== 0) { + $ERROR('#2: 4294967296.1 >> 0 === 0. Actual: ' + (4294967296.1 >> 0)); +} + +//CHECK#3 +if (6442450944.1 >> 0 !== -2147483648) { + $ERROR('#3: 6442450944.1 >> 0 === -2147483648. Actual: ' + (6442450944.1 >> 0)); +} + +//CHECK#4 +if (4294967295.1 >> 0 !== -1) { + $ERROR('#4: 4294967295.1 >> 0 === -1. Actual: ' + (4294967295.1 >> 0)); +} + +//CHECK#5 +if (6442450943.1 >> 0 !== 2147483647) { + $ERROR('#5: 6442450943.1 >> 0 === 2147483647. Actual: ' + (6442450943.1 >> 0)); +} + +//CHECK#6 +if (-2147483649.1 >> 0 !== 2147483647) { + $ERROR('#6: -2147483649.1 >> 0 === 2147483647. Actual: ' + (-2147483649.1 >> 0)); +} + +//CHECK#7 +if (-4294967297.1 >> 0 !== -1) { + $ERROR('#7: -4294967297.1 >> 0 === -1. Actual: ' + (-4294967297.1 >> 0)); +} + +//CHECK#8 +if (-6442450945.1 >> 0 !== 2147483647) { + $ERROR('#8: -6442450945.1 >> 0 === 2147483647. Actual: ' + (-6442450945.1 >> 0)); +} + +//CHECK#9 +if (-4294967296.1 >> 0 !== 0) { + $ERROR('#9: -4294967296.1 >> 0 === 0 . Actual: ' + (-4294967296.1 >> 0)); +} + +//CHECK#10 +if (-6442450944.1 >> 0 !== -2147483648) { + $ERROR('#10: -6442450944.1 >> 0 === -2147483648. Actual: ' + (-6442450944.1 >> 0)); +} + diff --git a/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A5.2_T1.js b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A5.2_T1.js new file mode 100644 index 000000000..64eca8df3 --- /dev/null +++ b/js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A5.2_T1.js @@ -0,0 +1,330 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Operator x >> y uses ToUint32(AdditiveExpression) & 31 + * + * @path ch11/11.7/11.7.2/S11.7.2_A5.2_T1.js + * @description Checking distinct points + */ + +//CHECK#1 +if (2147483647 >> -32.1 !== 2147483647) { + $ERROR('#1: 2147483647 >> -32.1 === 2147483647. Actual: ' + (2147483647 >> -32.1)); +} + +//CHECK#2 +if (2147483647 >> -31.1 !== 1073741823) { + $ERROR('#2: 2147483647 >> -31.1 === 1073741823. Actual: ' + (2147483647 >> -31.1)); +} + +//CHECK#3 +if (2147483647 >> -30.1 !== 536870911) { + $ERROR('#3: 2147483647 >> -30.1 === 536870911. Actual: ' + (2147483647 >> -30.1)); +} + +//CHECK#4 +if (2147483647 >> -29.1 !== 268435455) { + $ERROR('#4: 2147483647 >> -29.1 === 268435455. Actual: ' + (2147483647 >> -29.1)); +} + +//CHECK#5 +if (2147483647 >> -28.1 !== 134217727) { + $ERROR('#5: 2147483647 >> -28.1 === 134217727. Actual: ' + (2147483647 >> -28.1)); +} + +//CHECK#6 +if (2147483647 >> -27.1 !== 67108863) { + $ERROR('#6: 2147483647 >> -27.1 === 67108863. Actual: ' + (2147483647 >> -27.1)); +} + +//CHECK#7 +if (2147483647 >> -26.1 !== 33554431) { + $ERROR('#7: 2147483647 >> -26.1 === 33554431. Actual: ' + (2147483647 >> -26.1)); +} + +//CHECK#8 +if (2147483647 >> -25.1 !== 16777215) { + $ERROR('#8: 2147483647 >> -25.1 === 16777215. Actual: ' + (2147483647 >> -25.1)); +} + +//CHECK#9 +if (2147483647 >> -24.1 !== 8388607) { + $ERROR('#9: 2147483647 >> -24.1 === 8388607. Actual: ' + (2147483647 >> -24.1)); +} + +//CHECK#10 +if (2147483647 >> -23.1 !== 4194303) { + $ERROR('#10: 2147483647 >> -23.1 === 4194303. Actual: ' + (2147483647 >> -23.1)); +} + +//CHECK#11 +if (2147483647 >> -22.1 !== 2097151) { + $ERROR('#11: 2147483647 >> -22.1 === 2097151. Actual: ' + (2147483647 >> -22.1)); +} + +//CHECK#12 +if (2147483647 >> -21.1 !== 1048575) { + $ERROR('#12: 2147483647 >> -21.1 === 1048575. Actual: ' + (2147483647 >> -21.1)); +} + +//CHECK#13 +if (2147483647 >> -20.1 !== 524287) { + $ERROR('#13: 2147483647 >> -20.1 === 524287. Actual: ' + (2147483647 >> -20.1)); +} + +//CHECK#14 +if (2147483647 >> -19.1 !== 262143) { + $ERROR('#14: 2147483647 >> -19.1 === 262143. Actual: ' + (2147483647 >> -19.1)); +} + +//CHECK#15 +if (2147483647 >> -18.1 !== 131071) { + $ERROR('#15: 2147483647 >> -18.1 === 131071. Actual: ' + (2147483647 >> -18.1)); +} + +//CHECK#16 +if (2147483647 >> -17.1 !== 65535) { + $ERROR('#16: 2147483647 >> -17.1 === 65535. Actual: ' + (2147483647 >> -17.1)); +} + +//CHECK#17 +if (2147483647 >> -16.1 !== 32767) { + $ERROR('#17: 2147483647 >> -16.1 === 32767. Actual: ' + (2147483647 >> -16.1)); +} + +//CHECK#18 +if (2147483647 >> -15.1 !== 16383) { + $ERROR('#18: 2147483647 >> -15.1 === 16383. Actual: ' + (2147483647 >> -15.1)); +} + +//CHECK#19 +if (2147483647 >> -14.1 !== 8191) { + $ERROR('#19: 2147483647 >> -14.1 === 8191. Actual: ' + (2147483647 >> -14.1)); +} + +//CHECK#20 +if (2147483647 >> -13.1 !== 4095) { + $ERROR('#20: 2147483647 >> -13.1 === 4095. Actual: ' + (2147483647 >> -13.1)); +} + +//CHECK#21 +if (2147483647 >> -12.1 !== 2047) { + $ERROR('#21: 2147483647 >> -12.1 === 2047. Actual: ' + (2147483647 >> -12.1)); +} + +//CHECK#22 +if (2147483647 >> -11.1 !== 1023) { + $ERROR('#22: 2147483647 >> -11.1 === 1023. Actual: ' + (2147483647 >> -11.1)); +} + +//CHECK#23 +if (2147483647 >> -10.1 !== 511) { + $ERROR('#23: 2147483647 >> -10.1 === 511. Actual: ' + (2147483647 >> -10.1)); +} + +//CHECK#24 +if (2147483647 >> -9.1 !== 255) { + $ERROR('#24: 2147483647 >> -9.1 === 255. Actual: ' + (2147483647 >> -9.1)); +} + +//CHECK#25 +if (2147483647 >> -8.1 !== 127) { + $ERROR('#25: 2147483647 >> -8.1 === 127. Actual: ' + (2147483647 >> -8.1)); +} + +//CHECK#26 +if (2147483647 >> -7.1 !== 63) { + $ERROR('#26: 2147483647 >> -7.1 === 63. Actual: ' + (2147483647 >> -7.1)); +} + +//CHECK#27 +if (2147483647 >> -6.1 !== 31) { + $ERROR('#27: 2147483647 >> -6.1 === 31. Actual: ' + (2147483647 >> -6.1)); +} + +//CHECK#28 +if (2147483647 >> -5.1 !== 15) { + $ERROR('#28: 2147483647 >> -5.1 === 15. Actual: ' + (2147483647 >> -5.1)); +} + +//CHECK#29 +if (2147483647 >> -4.1 !== 7) { + $ERROR('#29: 2147483647 >> -4.1 === 7. Actual: ' + (2147483647 >> -4.1)); +} + +//CHECK#30 +if (2147483647 >> -3.1 !== 3) { + $ERROR('#30: 2147483647 >> -3.1 === 3. Actual: ' + (2147483647 >> -3.1)); +} + +//CHECK#31 +if (2147483647 >> -2.1 !== 1) { + $ERROR('#31: 2147483647 >> -2.1 === 1. Actual: ' + (2147483647 >> -2.1)); +} + +//CHECK#32 +if (2147483647 >> -1.1 !== 0) { + $ERROR('#32: 2147483647 >> -1.1 === 0. Actual: ' + (2147483647 >> -1.1)); +} + +//CHECK#33 +if (2147483647 >> 32.1 !== 2147483647) { + $ERROR('#33: 2147483647 >> 32.1 === 2147483647. Actual: ' + (2147483647 >> 32.1)); +} + +//CHECK#34 +if (2147483647 >> 33.1 !== 1073741823) { + $ERROR('#34: 2147483647 >> 33.1 === 1073741823. Actual: ' + (2147483647 >> 33.1)); +} + +//CHECK#35 +if (2147483647 >> 34.1 !== 536870911) { + $ERROR('#35: 2147483647 >> 34.1 === 536870911. Actual: ' + (2147483647 >> 34.1)); +} + +//CHECK#36 +if (2147483647 >> 35.1 !== 268435455) { + $ERROR('#36: 2147483647 >> 35.1 === 268435455. Actual: ' + (2147483647 >> 35.1)); +} + +//CHECK#37 +if (2147483647 >> 36.1 !== 134217727) { + $ERROR('#37: 2147483647 >> 36.1 === 134217727. Actual: ' + (2147483647 >> 36.1)); +} + +//CHECK#38 +if (2147483647 >> 37.1 !== 67108863) { + $ERROR('#38: 2147483647 >> 37.1 === 67108863. Actual: ' + (2147483647 >> 37.1)); +} + +//CHECK#39 +if (2147483647 >> 38.1 !== 33554431) { + $ERROR('#39: 2147483647 >> 38.1 === 33554431. Actual: ' + (2147483647 >> 38.1)); +} + +//CHECK#40 +if (2147483647 >> 39.1 !== 16777215) { + $ERROR('#40: 2147483647 >> 39.1 === 16777215. Actual: ' + (2147483647 >> 39.1)); +} + +//CHECK#41 +if (2147483647 >> 40.1 !== 8388607) { + $ERROR('#41: 2147483647 >> 40.1 === 8388607. Actual: ' + (2147483647 >> 40.1)); +} + +//CHECK#42 +if (2147483647 >> 41.1 !== 4194303) { + $ERROR('#42: 2147483647 >> 41.1 === 4194303. Actual: ' + (2147483647 >> 41.1)); +} + +//CHECK#43 +if (2147483647 >> 42.1 !== 2097151) { + $ERROR('#43: 2147483647 >> 42.1 === 2097151. Actual: ' + (2147483647 >> 42.1)); +} + +//CHECK#44 +if (2147483647 >> 43.1 !== 1048575) { + $ERROR('#44: 2147483647 >> 43.1 === 1048575. Actual: ' + (2147483647 >> 43.1)); +} + +//CHECK#45 +if (2147483647 >> 44.1 !== 524287) { + $ERROR('#45: 2147483647 >> 44.1 === 524287. Actual: ' + (2147483647 >> 44.1)); +} + +//CHECK#46 +if (2147483647 >> 45.1 !== 262143) { + $ERROR('#46: 2147483647 >> 45.1 === 262143. Actual: ' + (2147483647 >> 45.1)); +} + +//CHECK#47 +if (2147483647 >> 46.1 !== 131071) { + $ERROR('#47: 2147483647 >> 46.1 === 131071. Actual: ' + (2147483647 >> 46.1)); +} + +//CHECK#48 +if (2147483647 >> 47.1 !== 65535) { + $ERROR('#48: 2147483647 >> 47.1 === 65535. Actual: ' + (2147483647 >> 47.1)); +} + +//CHECK#49 +if (2147483647 >> 48.1 !== 32767) { + $ERROR('#49: 2147483647 >> 48.1 === 32767. Actual: ' + (2147483647 >> 48.1)); +} + +//CHECK#50 +if (2147483647 >> 49.1 !== 16383) { + $ERROR('#50: 2147483647 >> 49.1 === 16383. Actual: ' + (2147483647 >> 49.1)); +} + +//CHECK#51 +if (2147483647 >> 50.1 !== 8191) { + $ERROR('#51: 2147483647 >> 50.1 === 8191. Actual: ' + (2147483647 >> 50.1)); +} + +//CHECK#52 +if (2147483647 >> 51.1 !== 4095) { + $ERROR('#52: 2147483647 >> 51.1 === 4095. Actual: ' + (2147483647 >> 51.1)); +} + +//CHECK#53 +if (2147483647 >> 52.1 !== 2047) { + $ERROR('#53: 2147483647 >> 52.1 === 2047. Actual: ' + (2147483647 >> 52.1)); +} + +//CHECK#54 +if (2147483647 >> 53.1 !== 1023) { + $ERROR('#54: 2147483647 >> 53.1 === 1023. Actual: ' + (2147483647 >> 53.1)); +} + +//CHECK#55 +if (2147483647 >> 54.1 !== 511) { + $ERROR('#55: 2147483647 >> 54.1 === 511. Actual: ' + (2147483647 >> 54.1)); +} + +//CHECK#56 +if (2147483647 >> 55.1 !== 255) { + $ERROR('#56: 2147483647 >> 55.1 === 255. Actual: ' + (2147483647 >> 55.1)); +} + +//CHECK#57 +if (2147483647 >> 56.1 !== 127) { + $ERROR('#57: 2147483647 >> 56.1 === 127. Actual: ' + (2147483647 >> 56.1)); +} + +//CHECK#58 +if (2147483647 >> 57.1 !== 63) { + $ERROR('#58: 2147483647 >> 57.1 === 63. Actual: ' + (2147483647 >> 57.1)); +} + +//CHECK#59 +if (2147483647 >> 58.1 !== 31) { + $ERROR('#59: 2147483647 >> 58.1 === 31. Actual: ' + (2147483647 >> 58.1)); +} + +//CHECK#60 +if (2147483647 >> 59.1 !== 15) { + $ERROR('#60: 2147483647 >> 59.1 === 15. Actual: ' + (2147483647 >> 59.1)); +} + +//CHECK#61 +if (2147483647 >> 60.1 !== 7) { + $ERROR('#61: 2147483647 >> 60.1 === 7. Actual: ' + (2147483647 >> 60.1)); +} + +//CHECK#62 +if (2147483647 >> 61.1 !== 3) { + $ERROR('#62: 2147483647 >> 61.1 === 3. Actual: ' + (2147483647 >> 61.1)); +} + +//CHECK#63 +if (2147483647 >> 62.1 !== 1) { + $ERROR('#63: 2147483647 >> 62.1 === 1. Actual: ' + (2147483647 >> 62.1)); +} + +//CHECK#64 +if (2147483647 >> 63.1 !== 0) { + $ERROR('#64: 2147483647 >> 63.1 === 0. Actual: ' + (2147483647 >> 63.1)); +} + diff --git a/js/src/tests/test262/ch11/11.7/11.7.2/browser.js b/js/src/tests/test262/ch11/11.7/11.7.2/browser.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch11/11.7/11.7.2/browser.js diff --git a/js/src/tests/test262/ch11/11.7/11.7.2/shell.js b/js/src/tests/test262/ch11/11.7/11.7.2/shell.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch11/11.7/11.7.2/shell.js |