michael@0: // Copyright 2009 the Sputnik authors. All rights reserved. michael@0: // This code is governed by the BSD license found in the LICENSE file. michael@0: michael@0: /** michael@0: * Compute result modulo 2^32 michael@0: * michael@0: * @path ch09/9.5/S9.5_A2.2_T2.js michael@0: * @description Use operator ~ michael@0: */ michael@0: michael@0: // CHECK#1 michael@0: if (~-2147483647 !== 2147483646) { michael@0: $ERROR('#1: ~-2147483647 === 2147483646)'); michael@0: } michael@0: michael@0: // CHECK#2 michael@0: if (~-2147483648 !== ~-2147483648) { michael@0: $ERROR('#2: ~-2147483648 ==== ~-2147483648)'); michael@0: } michael@0: michael@0: // CHECK#3 michael@0: if (~-2147483649 !== ~2147483647) { michael@0: $ERROR('#3: ~-2147483649 ==== ~2147483647)'); michael@0: } michael@0: michael@0: // CHECK#4 michael@0: if ((~4294967295 << 0) !== ~-1) { michael@0: $ERROR('#4: (~4294967295 << 0) === ~-1)'); michael@0: } michael@0: michael@0: // CHECK#5 michael@0: if ((~4294967296 << 0) !== ~0) { michael@0: $ERROR('#5: (~4294967296 << 0) === ~0)'); michael@0: } michael@0: michael@0: // CHECK#6 michael@0: if ((~4294967297 << 0) !== ~1) { michael@0: $ERROR('#6: (~4294967297 << 0) === ~1)'); michael@0: } michael@0: michael@0: // CHECK#7 michael@0: if ((~-4294967295 << 0) !== ~1) { michael@0: $ERROR('#7: (~-4294967295 << 0) === ~1)'); michael@0: } michael@0: michael@0: // CHECK#8 michael@0: if ((~-4294967296 << 0) !== ~0) { michael@0: $ERROR('#8: (~-4294967296 << 0) === ~0)'); michael@0: } michael@0: michael@0: // CHECK#9 michael@0: if ((~-4294967297 << 0) !== ~-1) { michael@0: $ERROR('#9: (~-4294967297 << 0) === ~-1)'); michael@0: } michael@0: michael@0: // CHECK#10 michael@0: if ((~8589934591 << 0) !== ~-1) { michael@0: $ERROR('#10: (~8589934591 << 0) === ~-1)'); michael@0: } michael@0: michael@0: // CHECK#11 michael@0: if ((~8589934592 << 0) !== ~0) { michael@0: $ERROR('#11: (~8589934592 << 0) === ~0)'); michael@0: } michael@0: michael@0: // CHECK#12 michael@0: if ((~8589934593 << 0) !== ~1) { michael@0: $ERROR('#12: (~8589934593 << 0) === ~1)'); michael@0: } michael@0: