Quick actions

cmd+k|ctrl+k

Navigation

Languages

Preprocessor token math

Snippet info

Language

C

Visibility

public

Author

evine

Created

2021-04-25T09:32:34.723829Z

Updated

2021-04-25T09:32:34.723829Z

#include <stdio.h>
#include "dio.h"

void foo3() {
    printf("foo 3\n");
}

void foo4() {
    printf("foo 4\n");
}

void foo6() {
    printf("foo 6\n");
}

void foo7() {
    printf("foo 7\n");
}

void foo15() {
    printf("foo 15\n");
}


#define concat_(a, b) a##b
#define concat(a, b) concat_(a, b)
#define foo(f, a, b) concat(foo, f##a##_##b)()

int main(void) {
    foo(add, 5, 2);
    foo(sub, 9, 3);
    foo(rem, 3, 5);
    foo(mul, 3, 5);
    foo(div, 9, 2);
    
    printf("\n");
    
    for(int i = 0; i < 10; ++i) {
        for(int j = 0; j < 10; ++j) {
            printf("#define add%i_%i %i\n", i, j, i + j);
            printf("#define sub%i_%i %i\n", i, j, i - j);
            printf("#define mul%i_%i %i\n", i, j, i * j);
            if(j != 0) {
                printf("#define div%i_%i %i\n", i, j, i / j);
                printf("#define rem%i_%i %i\n", i, j, i % j);
            } else {
                printf("#define div%i_%i %i\n", i, j, 0);
                printf("#define rem%i_%i %i\n", i, j, 0);
            }
        }
    }
    return 0;
}
INFO