-
-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
Description
E.g. zz_add() for zz_add(const zz_t *, const zz_t *, zz_t *) and zz_add_i32(const zz_t *, int32_t, zz_t *). It's since C11, but CPython does require C11-conformant compiler.
Details
#include <math.h>
#include <stdio.h>
double mysin(double x)
{
return sin(x);
}
#define mysin(X) _Generic((X), \
double: mysin, \
float: sinf)(X)
int main(void)
{
double x = 8.0;
const float y = 3.375;
printf("sin(8.0) = %f\n", mysin(x));
printf("sinf(3.375) = %f\n", mysin(y));
// following not works:
// printf("sinl(3.375) = %f\n", mysin((long double)y));
return 0;
}