I need to implement some methods that do stuff with different kinds of number arrays. Usually, I'd use generics for that job, but as C doesn't provide them, I'm now trying to emulate them using macros.
Here's an example of what I'm trying to do:
#ifndef TYPE
#define TYPE int
#endif
TYPE get_minimum_##TYPE (TYPE * nums, int len){
    TYPE min = nums[0];
    for (int i = 1; i < len; i++) {
        if (nums[i] < min) {
            min = nums[i];
        }
    }
    return min;
}
However, this won't compile. The clang error message:
error: expected ';' after top level declarator
Is there any way to do this in C? Or do I need implement this for every type by hand?