-
Notifications
You must be signed in to change notification settings - Fork 8
/
c.h
32 lines (26 loc) · 836 Bytes
/
c.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
typedef unsigned char C,*S,*K;
typedef int I;
typedef long J;
typedef double F;
typedef void V;
V*memcpy();
J strlen(const char*);
#define R return
#define P(b,a...) if(b)return(a);
#define N(n,a...) {I i=0,_n=(n);while(i<_n){a;++i;}}
#define W(b...) while((b)) //while
#define $(b,a...) if(b){a;}else //cond
#define C(i,a...) case i:{a;}break; //case
#define S(i,c,a...) switch(i){c default:a;} //switch
#define typeof __typeof__
#define MN(a,b) ({typeof(a)_a=(a);typeof(a)_b=(b);_a<_b?_a:_b;})
#define MX(a,b) ({typeof(a)_a=(a);typeof(a)_b=(b);_a>_b?_a:_b;})
#define ZI static I
#define ZC static C
#define ZS static S
#define ZJ static J
#define ZF static F
#define ZK static K
#define ZV static V
#define _ static inline
#define AB(s) (os(s),exit(1),(V*)0L) //abort string