#ifndef _COMPARE_H #define _COMPARE_H #include #include #include #include #include #include #include #include #include #include // réel aléatoire dans [0,1] #define RAND01 ((double)random() / RAND_MAX) #define RANDINT(n) (random() % (n)) /* compare.c */ int fcmp_int(const void *x, const void *y); int fcmp_char(const void *x, const void *y); int fcmp_double(const void *x, const void *y); int fcmp_string(const void *x, const void *y); int fcmp_pointx(const void *p, const void *q); #define BAR "-" // un tiret #define MAXSTR 7 // taille max d'une string #define xstr(s) str(s) // permet l'expansion d'une macro #define str(s) #s // Ex: scanf("%"xstr(DMAX)"s",buffer); typedef int (*fcmp)(const void *, const void *); // type fonction de comparaison typedef char *string; // type chaîne de caractères typedef struct { double x, y; } point; #define NUMTYPES 5 typedef enum { // pour les switch() INT = 0, CHAR, DOUBLE, STRING, POINT, } type_t; // tableau des types pour l'aide extern char *type[]; // tableau des tailles des types extern int size[]; // tableau des tailles d'affichage des types extern int psize[]; // tableau des fonctions de comparaison extern fcmp cmp[]; #endif