X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=gnu%2Fbitrotate.h;h=1665e996793c1feba451c0c56ef277bab4830753;hb=d30babc23b4f25be970ada2e63a50220a3672281;hp=9adefe3a91b08ee9bb47ef8a63f78c500ce17518;hpb=22f1eb8bc17e5be72dd23d42d6aaa60196ac22e6;p=debian%2Ftar diff --git a/gnu/bitrotate.h b/gnu/bitrotate.h index 9adefe3a..1665e996 100644 --- a/gnu/bitrotate.h +++ b/gnu/bitrotate.h @@ -1,7 +1,5 @@ -/* -*- buffer-read-only: t -*- vi: set ro: */ -/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* bitrotate.h - Rotate bits in integers - Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 2008-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -25,11 +23,19 @@ #include #include +#ifndef _GL_INLINE_HEADER_BEGIN + #error "Please include config.h first." +#endif +_GL_INLINE_HEADER_BEGIN +#ifndef BITROTATE_INLINE +# define BITROTATE_INLINE _GL_INLINE +#endif + #ifdef UINT64_MAX /* Given an unsigned 64-bit argument X, return the value corresponding to rotating the bits N steps to the left. N must be between 1 and 63 inclusive. */ -static inline uint64_t +BITROTATE_INLINE uint64_t rotl64 (uint64_t x, int n) { return ((x << n) | (x >> (64 - n))) & UINT64_MAX; @@ -38,7 +44,7 @@ rotl64 (uint64_t x, int n) /* Given an unsigned 64-bit argument X, return the value corresponding to rotating the bits N steps to the right. N must be between 1 to 63 inclusive.*/ -static inline uint64_t +BITROTATE_INLINE uint64_t rotr64 (uint64_t x, int n) { return ((x >> n) | (x << (64 - n))) & UINT64_MAX; @@ -48,7 +54,7 @@ rotr64 (uint64_t x, int n) /* Given an unsigned 32-bit argument X, return the value corresponding to rotating the bits N steps to the left. N must be between 1 and 31 inclusive. */ -static inline uint32_t +BITROTATE_INLINE uint32_t rotl32 (uint32_t x, int n) { return ((x << n) | (x >> (32 - n))) & UINT32_MAX; @@ -57,7 +63,7 @@ rotl32 (uint32_t x, int n) /* Given an unsigned 32-bit argument X, return the value corresponding to rotating the bits N steps to the right. N must be between 1 to 31 inclusive.*/ -static inline uint32_t +BITROTATE_INLINE uint32_t rotr32 (uint32_t x, int n) { return ((x >> n) | (x << (32 - n))) & UINT32_MAX; @@ -66,7 +72,7 @@ rotr32 (uint32_t x, int n) /* Given a size_t argument X, return the value corresponding to rotating the bits N steps to the left. N must be between 1 and (CHAR_BIT * sizeof (size_t) - 1) inclusive. */ -static inline size_t +BITROTATE_INLINE size_t rotl_sz (size_t x, int n) { return ((x << n) | (x >> ((CHAR_BIT * sizeof x) - n))) & SIZE_MAX; @@ -75,7 +81,7 @@ rotl_sz (size_t x, int n) /* Given a size_t argument X, return the value corresponding to rotating the bits N steps to the right. N must be between 1 to (CHAR_BIT * sizeof (size_t) - 1) inclusive. */ -static inline size_t +BITROTATE_INLINE size_t rotr_sz (size_t x, int n) { return ((x >> n) | (x << ((CHAR_BIT * sizeof x) - n))) & SIZE_MAX; @@ -86,7 +92,7 @@ rotr_sz (size_t x, int n) 15 inclusive, but on most relevant targets N can also be 0 and 16 because 'int' is at least 32 bits and the arguments must widen before shifting. */ -static inline uint16_t +BITROTATE_INLINE uint16_t rotl16 (uint16_t x, int n) { return ((x << n) | (x >> (16 - n))) & UINT16_MAX; @@ -97,7 +103,7 @@ rotl16 (uint16_t x, int n) inclusive, but on most relevant targets N can also be 0 and 16 because 'int' is at least 32 bits and the arguments must widen before shifting. */ -static inline uint16_t +BITROTATE_INLINE uint16_t rotr16 (uint16_t x, int n) { return ((x >> n) | (x << (16 - n))) & UINT16_MAX; @@ -108,7 +114,7 @@ rotr16 (uint16_t x, int n) inclusive, but on most relevant targets N can also be 0 and 8 because 'int' is at least 32 bits and the arguments must widen before shifting. */ -static inline uint8_t +BITROTATE_INLINE uint8_t rotl8 (uint8_t x, int n) { return ((x << n) | (x >> (8 - n))) & UINT8_MAX; @@ -119,10 +125,12 @@ rotl8 (uint8_t x, int n) inclusive, but on most relevant targets N can also be 0 and 8 because 'int' is at least 32 bits and the arguments must widen before shifting. */ -static inline uint8_t +BITROTATE_INLINE uint8_t rotr8 (uint8_t x, int n) { return ((x >> n) | (x << (8 - n))) & UINT8_MAX; } +_GL_INLINE_HEADER_END + #endif /* _GL_BITROTATE_H */