pike.git / src / pike_macros.h

version» Context lines:

pike.git/src/pike_macros.h:13:   #define BASEOF(ptr, str_type, field) \   ((struct str_type *)((char*)ptr - (char*)& (((struct str_type *)0)->field)))      #define NELEM(a) (sizeof (a) / sizeof ((a)[0]))   #define ALLOC_STRUCT(X) ( (struct X *)xalloc(sizeof(struct X)) )      #define MINIMUM(X,Y) ((X)<(Y)?(X):(Y))   #define MAXIMUM(X,Y) ((X)>(Y)?(X):(Y))       - #define is8bitalnum(X) ("0000000000000000000000000000100000000000000000001111111111000000011111111111111111111111111000010111111111111111111111111110000000000000000000000000000000000000101111010110001011110110011011100000000001111111111111101111111111111111111111111111111011111111"[((unsigned)(X))&0xff] == '1') + #define is8bitalnum(X) ("0000000000000000" \ +  "0000000000001000" \ +  "0000000000000000" \ +  "1111111111000000" \ +  "0111111111111111" \ +  "1111111111100001" \ +  "0111111111111111" \ +  "1111111111100000" \ +  "0000000000000000" \ +  "0000000000000000" \ +  "1011110101100010" \ +  "1011011001101110" \ +  "1111111111111111" \ +  "1111111011111111" \ +  "1111111111111111" \ +  "1111111011111111"[((unsigned)(X))&0xff] == '1')      #define isidchar(X) is8bitalnum(X)      #define ALIGN_BOUND sizeof(char *)   #define DO_ALIGN(X,Y) (((long)(X)+(Y-1)) & -(Y))   #define MY_ALIGN(X) DO_ALIGN(X,ALIGN_BOUND)      #endif