Something went wrong. Try again.
Reactos
Something went wrong. Try again.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546//// rotl.cpp//// Copyright (c) Microsoft Corporation. All rights reserved.//// Defines _lrotl(), _rotl(), and _rotl64(), which perform a rotate-left on an// integer.//#include <stdlib.h>#include <limits.h>
#pragma function(_lrotl, _rotl, _rotl64)
#if UINT_MAX != 0xffffffff #error This source file assumes 32-bit integers#endif
#if UINT_MAX != ULONG_MAX #error This source file assumes sizeof(int) == sizeof(long)#endif
extern "C" unsigned long __cdecl _lrotl(unsigned long value, int shift){ shift &= 0x1f; value = (value >> (0x20 - shift)) | (value << shift); return value;}
extern "C" unsigned __cdecl _rotl(unsigned value, int shift){ shift &= 0x1f; value = (value >> (0x20 - shift)) | (value << shift); return value;}
extern "C" unsigned __int64 __cdecl _rotl64(unsigned __int64 value, int shift){ shift &= 0x3f; value = (value >> (0x40 - shift)) | (value << shift); return value;}