|
@@ -10,6 +10,26 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
|
10
|
10
|
|
11
|
11
|
#include <stdint.h>
|
12
|
12
|
|
|
13
|
+static inline __attribute__ (( always_inline )) uint8_t
|
|
14
|
+rol8 ( uint8_t data, unsigned int rotation ) {
|
|
15
|
+ return ( ( data << rotation ) | ( data >> ( 8 - rotation ) ) );
|
|
16
|
+}
|
|
17
|
+
|
|
18
|
+static inline __attribute__ (( always_inline )) uint8_t
|
|
19
|
+ror8 ( uint8_t data, unsigned int rotation ) {
|
|
20
|
+ return ( ( data >> rotation ) | ( data << ( 8 - rotation ) ) );
|
|
21
|
+}
|
|
22
|
+
|
|
23
|
+static inline __attribute__ (( always_inline )) uint16_t
|
|
24
|
+rol16 ( uint16_t data, unsigned int rotation ) {
|
|
25
|
+ return ( ( data << rotation ) | ( data >> ( 16 - rotation ) ) );
|
|
26
|
+}
|
|
27
|
+
|
|
28
|
+static inline __attribute__ (( always_inline )) uint16_t
|
|
29
|
+ror16 ( uint16_t data, unsigned int rotation ) {
|
|
30
|
+ return ( ( data >> rotation ) | ( data << ( 16 - rotation ) ) );
|
|
31
|
+}
|
|
32
|
+
|
13
|
33
|
static inline __attribute__ (( always_inline )) uint32_t
|
14
|
34
|
rol32 ( uint32_t data, unsigned int rotation ) {
|
15
|
35
|
return ( ( data << rotation ) | ( data >> ( 32 - rotation ) ) );
|