aboutsummaryrefslogtreecommitdiff
path: root/arm9/source/bang.c
blob: 6065267fa8f2168da4b75886876ce1cb588d904a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include "bang.h"


// Left-rotate a byte.
u8 ROL1(u8 v, u8 d) {
    d %= 8;
    return v << d | v >> (8-d);
}

// Left-rotate a double.
u16 ROLD(u16 v, u8 d) {
    d %= 16;
    return v << d | v >> (16-d);
}

// Right-rotate a byte.
u8 ROR1(u8 v, u8 d) {
    d %= 8;
    return v << (8-d) | v >> d;
}

// Right-rotate a double.
u16 RORD(u16 v, u8 d) {
    d %= 16;
    return v << (16-d) | v >> d;
}