Mercurial > projects > dcrypt
view dcrypt/misc/Bitwise.d @ 36:fc97fffd106d default tip
Added tag 0.1 for changeset 6b2c35b84186
author | Thomas Dixon <reikon@reikon.us> |
---|---|
date | Thu, 14 May 2009 17:46:46 -0400 |
parents | 21847420b1ac |
children |
line wrap: on
line source
/** * This file is part of the dcrypt project. * * Copyright: Copyright (C) dcrypt contributors 2009. All rights reserved. * License: MIT * Authors: Thomas Dixon */ module dcrypt.misc.Bitwise; /** Common bitwise operations */ struct Bitwise { static uint rotateLeft(uint x, int y) { return (x << y) | (x >> (32-y)); } static uint rotateLeft(uint x, uint y) { return (x << y) | (x >> (32u-y)); } static ulong rotateLeft(ulong x, int y) { return (x << y) | (x >> (64-y)); } static ulong rotateLeft(ulong x, uint y) { return (x << y) | (x >> (64u-y)); } static uint rotateRight(uint x, int y) { return (x >> y) | (x << (32-y)); } static uint rotateRight(uint x, uint y) { return (x >> y) | (x << (32u-y)); } static ulong rotateRight(ulong x, int y) { return (x >> y) | (x << (64-y)); } static ulong rotateRight(ulong x, uint y) { return (x >> y) | (x << (64u-y)); } }