// Copyright 2014 the V8 project authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. var stdlib = {}; var foreign = {}; var heap = new ArrayBuffer(64 * 1024); var rol = (function Module(stdlib, foreign, heap) { "use asm"; function rol(x, y) { x = x | 0; y = y | 0; return (x << y) | (x >>> (32 - y)) | 0; } return { rol: rol }; })(stdlib, foreign, heap).rol; assertEquals(10, rol(10, 0)); assertEquals(2, rol(1, 1)); assertEquals(0x40000000, rol(1, 30)); assertEquals(-0x80000000, rol(1, 31)); var ror = (function Module(stdlib, foreign, heap) { "use asm"; function ror(x, y) { x = x | 0; y = y | 0; return (x << (32 - y)) | (x >>> y) | 0; } return { ror: ror }; })(stdlib, foreign, heap).ror; assertEquals(10, ror(10, 0)); assertEquals(-0x80000000, ror(1, 1)); assertEquals(0x40000000, ror(1, 2)); assertEquals(2, ror(1, 31));