exemple :
/* Exemple de C ANSI (c89 ou c90) */
/* Compiler par gcc -ansi -pedantic -Wall ansi.c -o ansi */
#include <stdio.h>
#define suffix(name,suffix) name##suffix
long double suffix(addition,_lg)(long double,void *,int);
int main(void)
{
long double d=0;
long double c=10000000.0L;
float f=1.0;
d=suffix(addition,_lg)(d,&c,sizeof c);
d=suffix(addition,_lg)(d,&f,sizeof f);
printf("result=%Lf\n",d);
return 0;
}
long double suffix(addition,_lg)(long double d,void *x,int size)
{
if(size==sizeof d) d+=*((long double *)x);
if(size==sizeof(double)) d+=*((double *)x);
if(size==sizeof(float)) d+=*((float *)x);
return d;
}