]>
glassweightruler.freedombox.rocks Git - Ventoy.git/blob - wimboot/wimboot-2.7.3/src/rotate.h
11 static inline __attribute__ (( always_inline
)) uint8_t
12 rol8 ( uint8_t data
, unsigned int rotation
) {
13 return ( ( data
<< rotation
) | ( data
>> ( 8 - rotation
) ) );
16 static inline __attribute__ (( always_inline
)) uint8_t
17 ror8 ( uint8_t data
, unsigned int rotation
) {
18 return ( ( data
>> rotation
) | ( data
<< ( 8 - rotation
) ) );
21 static inline __attribute__ (( always_inline
)) uint16_t
22 rol16 ( uint16_t data
, unsigned int rotation
) {
23 return ( ( data
<< rotation
) | ( data
>> ( 16 - rotation
) ) );
26 static inline __attribute__ (( always_inline
)) uint16_t
27 ror16 ( uint16_t data
, unsigned int rotation
) {
28 return ( ( data
>> rotation
) | ( data
<< ( 16 - rotation
) ) );
31 static inline __attribute__ (( always_inline
)) uint32_t
32 rol32 ( uint32_t data
, unsigned int rotation
) {
33 return ( ( data
<< rotation
) | ( data
>> ( 32 - rotation
) ) );
36 static inline __attribute__ (( always_inline
)) uint32_t
37 ror32 ( uint32_t data
, unsigned int rotation
) {
38 return ( ( data
>> rotation
) | ( data
<< ( 32 - rotation
) ) );
41 static inline __attribute__ (( always_inline
)) uint64_t
42 rol64 ( uint64_t data
, unsigned int rotation
) {
43 return ( ( data
<< rotation
) | ( data
>> ( 64 - rotation
) ) );
46 static inline __attribute__ (( always_inline
)) uint64_t
47 ror64 ( uint64_t data
, unsigned int rotation
) {
48 return ( ( data
>> rotation
) | ( data
<< ( 64 - rotation
) ) );
51 #endif /* _ROTATE_H */