-
Notifications
You must be signed in to change notification settings - Fork 0
/
checklist
299 lines (285 loc) · 9.24 KB
/
checklist
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
## [x] = in headers; [N] nolibc compatible; [X] = tested and fully C89 complient
- [X] <ctype.h>
- [X] <stdarg.h>
- [X] <errno.h>
- [N] <stdio.h>
- [N] <stdlib.h>
- [N] <string.h>
- [N] <time.h>
C89
- [X] <assert.h>
- [ ] <math.h>
- [ ] <setjmp.h>
- [ ] <signal.h>
- [X] <stddef.h>
- [X] <float.h>
- [X] <limits.h>
- [X] <locale.h>
- [X] errno
C89
- [X] EDOM
- [X] ERANGE
C89
- [X] NULL
- [x] offsetof( type, member-designator)
- [X] ptrdiff_t
- [X] size_t
- [X] wchar_t
C89
- [X] NDEBUG
- [X] void assert(int expression);
- [X] int isalnum(int c);
- [X] int isalpha(int c);
- [X] int iscntrl(int c);
- [X] int isdigit(int c);
- [X] int isgraph(int c);
- [X] int islower(int c);
- [X] int isprint(int c);
- [X] int ispunct(int c);
- [X] int isspace(int c);
- [X] int isupper(int c);
- [X] int isxdigit(int c);
- [X] int tolower(int c);
- [X] int toupper(int c);
C89
- [X] LC_ALL
- [X] LC_COLLATE
- [X] LC_CTYPE
- [X] LC_MONETARY
- [X] LC_NUMERIC
- [X] LC_TIME
- [X] NULL
- [X] struct lconv
- [X] char *setlocale(int category, const char *locale);
- [X] struct lconv *localeconv(void);
C89
- [X] HUGE_VAL
- [X] double cos(double x);
- [X] double sin(double x);
- [X] double sqrt(double x);
- [X] double fabs(double x);
- [ ] double log(double x);
- [X] double atan(double x);
- [X] double atan2(double y, double x);
- [X] double tan(double x);
- [ ] double log10(double x);
- [x] double acos(double x);
- [x] double asin(double x);
- [ ] double cosh(double x);
- [ ] double sinh(double x);
- [ ] double tanh(double x);
- [ ] double exp(double x);
- [x] double ldexp(double x, int exp);
- [ ] double pow(double x, double y);
- [x] double frexp(double value, int *exp);
- [ ] double modf(double value, double *iptr);
- [x] double ceil(double x);
- [x] double floor(double x);
- [ ] double fmod(double x, double y);
C89
- [x] SIGABRT
- [x] SIGFPE
- [x] SIGILL
- [x] SIGINT
- [x] SIGSEGV
- [x] SIGTERM
- [x] int raise(int sig);
- [ ] jmp_buf
- [ ] int setjmp(jmp_buf env);
- [ ] void longjmp(jmp_buf env, int val);
- [ ] sig_atomic_t
- [ ] SIG_DFL
- [ ] SIG_ERR
- [ ] SIG_IGN
- [ ] void (*signal(int sig, void (*func)(int)))(int);
- [X] va_list
- [X] void va_start(va_list ap, parmN);
- [X] type va_arg(va_list ap, type);
- [X] void va_end(va_list ap);
- [X] EOF
- [X] NULL
- [X] FILE
- [x] _IOFBF
- [x] _IOLBF
- [x] _IONBF
- [x] int fclose(FILE *stream);
- [x] int fflush(FILE *stream);
- [x] FILE *freopen(const char *filename, const char *mode, FILE *stream);
- [x] int setvbuf(FILE *stream, char *buf, int mode, size_t size);
- [X] FILE *fopen(const char *filename, const char *mode);
- [x] int fputc(int c, FILE *stream);
- [X] int fputs(const char *s, FILE *stream);
- [x] int getc(FILE *stream);
- [x] size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
- [X] size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);
- [x] int getchar(void);
C89
- [X] BUFSIZ
- [X] FOPEN_MAX
- [ ] fpos_t
- [X] FILENAME_MAX
- [ ] L_tmpnam
- [x] void setbuf(FILE *stream, char *buf);
- [X] SEEK_CUR
- [X] SEEK_END
- [X] SEEK_SET
- [X] size_t
- [X] stderr
- [X] stdin
- [X] stdout
- [X] TMP_MAX
- [ ] int remove(const char *filename);
- [x] int rename(const char *old, const char *new);
- [ ] FILE *tmpfile(void);
- [ ] char *tmpnam(char *s);
- [X] int fprintf(FILE *stream, const char *format, ...);
- [X] int fscanf(FILE *stream, const char *format, ...);
- [X] int printf(const char *format, ...);
- [ ] int scanf(const char *format, ...);
- [ ] int sprintf(char *s, const char *format, ...);
- [ ] int sscanf(const char *s, const char *format, ...);
- [X] int vfprintf(FILE *stream, const char *format, va_list arg);
- [x] int vprintf(const char *format, va_list arg);
- [ ] int vsprintf(char *s, const char *format, va_list arg);
- [x] int fgetc(FILE *stream);
- [ ] char *fgets(char *s, int n, FILE *stream);
- [ ] char *gets(char *s);
- [x] int putc(int c, FILE *stream);
- [X] int putchar(int c);
- [X] int puts(const char *s);
- [ ] int ungetc(int c, FILE *stream);
- [ ] int fgetpos(FILE *stream, fpos_t *pos);
- [x] int fseek(FILE *stream, long int offset, int whence);
- [ ] int fsetpos(FILE *stream, const fpos_t *pos);
- [ ] long int ftell(FILE *stream);
- [x] void rewind(FILE *stream);
- [ ] void clearerr(FILE *stream);
- [x] int feof(FILE *stream);
- [ ] int ferror(FILE *stream);
- [X] void perror(const char *s);
- [X] EXIT_FAILURE
- [X] EXIT_SUCCESS
- [X] void abort(void);
- [X] MB_CUR_MAX
- [X] NULL
- [X] size_t
- [X] wchar_t
- [X] int atoi(const char *nptr);
- [X] long int atol(const char *nptr);
- [X] void *calloc(size_t nmemb, size_t size);
- [X] void free(void *ptr);
- [X] void *malloc(size_t size);
- [x] void *realloc(void *ptr, size_t size);
- [X] int atexit(void (*func)(void));
- [X] void exit(int status);
- [X] char *getenv(const char *name);
- [X] int abs(int j);
C89
- [ ] unsigned long int strtoul(const char *nptr, char **endptr, int base);
- [ ] double strtod(const char *nptr, char **endptr);
- [ ] long int strtol(const char *nptr, char **endptr, int base);
- [ ] double atof(const char *nptr);
- [ ] RAND_MAX
- [ ] div_t
- [ ] ldiv_t
- [X] int rand(void);
- [X] void srand(unsigned int seed);
- [x] int system(const char *string);
- [X] void *bsearch(const void *key, const void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *));
- [X] void qsort(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *));
- [ ] div_t div(int numer, int denom);
- [X] long int labs(long int j);
- [ ] ldiv_t ldiv(long int numer, long int denom);
- [ ] int mblen(const char *s, size_t n);
- [ ] int mbtowc(wchar_t *pwc, const char *s, size_t n);
- [ ] int wctomb(char *s, wchar_t wchar);
- [ ] size_t mbstowcs(wchar_t *pwcs, const char *s, size_t n);
- [ ] size_t wcstombs(char *s, const wchar_t *pwcs, size_t n);
- [X] NULL
- [X] size_t
- [X] void *memcpy(void *s1, const void *s2, size_t n);
- [X] void *memmove(void *s1, const void *s2, size_t n);
- [X] char *strcpy(char *s1, const char *s2);
- [X] char *strcat(char *s1, const char *s2);
- [X] int memcmp(const void *s1, const void *s2, size_t n);
- [X] int strcmp(const char *s1, const char *s2);
- [X] void *memchr(const void *s, int c, size_t n);
- [X] char *strchr(const char *s, int c);
- [X] void *memset(void *s, int c, size_t n);
- [X] size_t strlen(const char *s);
- [X] int strncmp(const char *s1, const char *s2, size_t n);
- [X] char *strncpy(char *s1, const char *s2, size_t n);
- [x] char *strncat(char *s1, const char *s2, size_t n);
C89
- [x] char *strerror(int errnum);
- [X] size_t strxfrm(char *s1, const char *s2, size_t n);
- [X] int strcoll(const char *s1, const char *s2);
- [ ] size_t strcspn(const char *s1, const char *s2);
- [ ] char *strpbrk(const char *s1, const char *s2);
- [x] char *strrchr(const char *s, int c);
- [ ] size_t strspn(const char *s1, const char *s2);
- [ ] char *strstr(const char *s1, const char *s2);
- [ ] char *strtok(char *s1, const char *s2);
- [X] NULL
- [X] time_t
C89
- [x] CLK_TCK
- [x] clock_t
- [X] size_t
- [x] struct tm
- [ ] clock_t clock(void);
- [x] double difftime(time_t time1, time_t time0);
- [x] time_t mktime(struct tm *timeptr);
- [x] time_t time(time_t *timer);
- [ ] char *asctime(const struct tm *timeptr);
- [ ] char *ctime(const time_t *timer);
- [ ] struct tm *gmtime(const time_t *timer);
- [ ] struct tm *localtime(const time_t *timer);
- [ ] size_t strftime(char *s, size_t maxsize, const char *format, const struct tm *timeptr);
C89
- [X] #define CHAR_BIT 8
- [X] #define CHAR_MAX UCHAR_MAX or SCHAR_MAX
- [X] #define CHAR_MIN 0 or SCHAR_MIN
- [X] #define MB_LEN_MAX 1
- [X] #define INT_MAX +32767
- [X] #define INT_MIN -32767
- [X] #define LONG_MAX +2147483647
- [X] #define LONG_MIN -2147483647
- [X] #define SCHAR_MAX +127
- [X] #define SCHAR_MIN -127
- [X] #define SHRT_MAX +32767
- [X] #define SHRT_MIN -32767
- [X] #define UCHAR_MAX 255
- [X] #define UINT_MAX 65535
- [X] #define ULONG_MAX 4294967295
- [X] #define USHRT_MAX 65535
C89
- [X] #define DBL_DIG 10
- [X] #define DBL_EPSILON 1E-9
- [X] #define DBL_MANT_DIG
- [X] #define DBL_MAX 1E+37
- [X] #define DBL_MAX_10_EXP +37
- [X] #define DBL_MAX_EXP
- [X] #define DBL_MIN 1E-37
- [X] #define DBL_MIN_10_EXP -37
- [X] #define DBL_MIN_EXP
- [X] #define FLT_DIG 6
- [X] #define FLT_EPSILON 1E-5
- [X] #define FLT_MANT_DIG
- [X] #define FLT_MAX 1E+37
- [X] #define FLT_MAX_10_EXP +37
- [X] #define FLT_MAX_EXP
- [X] #define FLT_MIN 1E-37
- [X] #define FLT_MIN_10_EXP -37
- [X] #define FLT_MIN_EXP
- [X] #define FLT_RADIX 3
- [X] #define FLT_ROUNDS
- [X] #define LDBL_DIG 10
- [X] #define LDBL_EPSILON 1E-9
- [X] #define LDBL_MANT_DIG
- [X] #define LDBL_MAX 1E+37
- [X] #define LDBL_MAX_10_EXP +37
- [X] #define LDBL_MAX_EXP
- [X] #define LDBL_MIN 1E-37
- [X] #define LDBL_MIN_10_EXP -37
- [X] #define LDBL_MIN_EXP