aboutsummaryrefslogtreecommitdiff
path: root/rcc-legacy/tests/performance/20_powmod.sy
blob: 107918a920b6bfaf72555242c0f742fd57b1f3a2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int naive_powmod(int a, int b, int n) {
    int i = 0;
    int res = 1;
    while (i < b) {
        res = (res * a) % n;
        i = i + 1;
    }
    return res;
}

int main() {
    starttime();
    putint(naive_powmod(2, 5, 3));
    putint(naive_powmod(2, 10000, 3));
    putint(naive_powmod(2, 1000000, 3));
    putint(naive_powmod(2, 100000000, 3));
    putint(naive_powmod(2, 1000000000, 3));
    stoptime();
    return 0;
}