]>
Commit | Line | Data |
---|---|---|
1 | ||
2 | typedef long unsigned int size_t; | |
3 | typedef unsigned char __u_char; | |
4 | typedef unsigned short int __u_short; | |
5 | typedef unsigned int __u_int; | |
6 | typedef unsigned long int __u_long; | |
7 | typedef signed char __int8_t; | |
8 | typedef unsigned char __uint8_t; | |
9 | typedef signed short int __int16_t; | |
10 | typedef unsigned short int __uint16_t; | |
11 | typedef signed int __int32_t; | |
12 | typedef unsigned int __uint32_t; | |
13 | typedef signed long int __int64_t; | |
14 | typedef unsigned long int __uint64_t; | |
15 | typedef long int __quad_t; | |
16 | typedef unsigned long int __u_quad_t; | |
17 | typedef unsigned long int __dev_t; | |
18 | typedef unsigned int __uid_t; | |
19 | typedef unsigned int __gid_t; | |
20 | typedef unsigned long int __ino_t; | |
21 | typedef unsigned long int __ino64_t; | |
22 | typedef unsigned int __mode_t; | |
23 | typedef unsigned long int __nlink_t; | |
24 | typedef long int __off_t; | |
25 | typedef long int __off64_t; | |
26 | typedef int __pid_t; | |
27 | typedef struct { int __val[2]; } __fsid_t; | |
28 | typedef long int __clock_t; | |
29 | typedef unsigned long int __rlim_t; | |
30 | typedef unsigned long int __rlim64_t; | |
31 | typedef unsigned int __id_t; | |
32 | typedef long int __time_t; | |
33 | typedef unsigned int __useconds_t; | |
34 | typedef long int __suseconds_t; | |
35 | typedef int __daddr_t; | |
36 | typedef long int __swblk_t; | |
37 | typedef int __key_t; | |
38 | typedef int __clockid_t; | |
39 | typedef void * __timer_t; | |
40 | typedef long int __blksize_t; | |
41 | typedef long int __blkcnt_t; | |
42 | typedef long int __blkcnt64_t; | |
43 | typedef unsigned long int __fsblkcnt_t; | |
44 | typedef unsigned long int __fsblkcnt64_t; | |
45 | typedef unsigned long int __fsfilcnt_t; | |
46 | typedef unsigned long int __fsfilcnt64_t; | |
47 | typedef long int __ssize_t; | |
48 | typedef __off64_t __loff_t; | |
49 | typedef __quad_t *__qaddr_t; | |
50 | typedef char *__caddr_t; | |
51 | typedef long int __intptr_t; | |
52 | typedef unsigned int __socklen_t; | |
53 | struct _IO_FILE; | |
54 | ||
55 | typedef struct _IO_FILE FILE; | |
56 | ||
57 | ||
58 | typedef struct _IO_FILE __FILE; | |
59 | typedef struct | |
60 | { | |
61 | int __count; | |
62 | union | |
63 | { | |
64 | unsigned int __wch; | |
65 | char __wchb[4]; | |
66 | } __value; | |
67 | } __mbstate_t; | |
68 | typedef struct | |
69 | { | |
70 | __off_t __pos; | |
71 | __mbstate_t __state; | |
72 | } _G_fpos_t; | |
73 | typedef struct | |
74 | { | |
75 | __off64_t __pos; | |
76 | __mbstate_t __state; | |
77 | } _G_fpos64_t; | |
78 | typedef int _G_int16_t __attribute__ ((__mode__ (__HI__))); | |
79 | typedef int _G_int32_t __attribute__ ((__mode__ (__SI__))); | |
80 | typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__))); | |
81 | typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__))); | |
82 | typedef __builtin_va_list __gnuc_va_list; | |
83 | struct _IO_jump_t; struct _IO_FILE; | |
84 | typedef void _IO_lock_t; | |
85 | struct _IO_marker { | |
86 | struct _IO_marker *_next; | |
87 | struct _IO_FILE *_sbuf; | |
88 | int _pos; | |
89 | }; | |
90 | enum __codecvt_result | |
91 | { | |
92 | __codecvt_ok, | |
93 | __codecvt_partial, | |
94 | __codecvt_error, | |
95 | __codecvt_noconv | |
96 | }; | |
97 | struct _IO_FILE { | |
98 | int _flags; | |
99 | char* _IO_read_ptr; | |
100 | char* _IO_read_end; | |
101 | char* _IO_read_base; | |
102 | char* _IO_write_base; | |
103 | char* _IO_write_ptr; | |
104 | char* _IO_write_end; | |
105 | char* _IO_buf_base; | |
106 | char* _IO_buf_end; | |
107 | char *_IO_save_base; | |
108 | char *_IO_backup_base; | |
109 | char *_IO_save_end; | |
110 | struct _IO_marker *_markers; | |
111 | struct _IO_FILE *_chain; | |
112 | int _fileno; | |
113 | int _flags2; | |
114 | __off_t _old_offset; | |
115 | unsigned short _cur_column; | |
116 | signed char _vtable_offset; | |
117 | char _shortbuf[1]; | |
118 | _IO_lock_t *_lock; | |
119 | __off64_t _offset; | |
120 | void *__pad1; | |
121 | void *__pad2; | |
122 | void *__pad3; | |
123 | void *__pad4; | |
124 | size_t __pad5; | |
125 | int _mode; | |
126 | char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; | |
127 | }; | |
128 | typedef struct _IO_FILE _IO_FILE; | |
129 | struct _IO_FILE_plus; | |
130 | extern struct _IO_FILE_plus _IO_2_1_stdin_; | |
131 | extern struct _IO_FILE_plus _IO_2_1_stdout_; | |
132 | extern struct _IO_FILE_plus _IO_2_1_stderr_; | |
133 | typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes); | |
134 | typedef __ssize_t __io_write_fn (void *__cookie, __const char *__buf, | |
135 | size_t __n); | |
136 | typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w); | |
137 | typedef int __io_close_fn (void *__cookie); | |
138 | extern int __underflow (_IO_FILE *); | |
139 | extern int __uflow (_IO_FILE *); | |
140 | extern int __overflow (_IO_FILE *, int); | |
141 | extern int _IO_getc (_IO_FILE *__fp); | |
142 | extern int _IO_putc (int __c, _IO_FILE *__fp); | |
143 | extern int _IO_feof (_IO_FILE *__fp) __attribute__ ((__nothrow__)); | |
144 | extern int _IO_ferror (_IO_FILE *__fp) __attribute__ ((__nothrow__)); | |
145 | extern int _IO_peekc_locked (_IO_FILE *__fp); | |
146 | extern void _IO_flockfile (_IO_FILE *) __attribute__ ((__nothrow__)); | |
147 | extern void _IO_funlockfile (_IO_FILE *) __attribute__ ((__nothrow__)); | |
148 | extern int _IO_ftrylockfile (_IO_FILE *) __attribute__ ((__nothrow__)); | |
149 | extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict, | |
150 | __gnuc_va_list, int *__restrict); | |
151 | extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict, | |
152 | __gnuc_va_list); | |
153 | extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t); | |
154 | extern size_t _IO_sgetn (_IO_FILE *, void *, size_t); | |
155 | extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int); | |
156 | extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int); | |
157 | extern void _IO_free_backup_area (_IO_FILE *) __attribute__ ((__nothrow__)); | |
158 | ||
159 | typedef _G_fpos_t fpos_t; | |
160 | ||
161 | extern struct _IO_FILE *stdin; | |
162 | extern struct _IO_FILE *stdout; | |
163 | extern struct _IO_FILE *stderr; | |
164 | ||
165 | extern int remove (__const char *__filename) __attribute__ ((__nothrow__)); | |
166 | extern int rename (__const char *__old, __const char *__new) __attribute__ ((__nothrow__)); | |
167 | ||
168 | ||
169 | ||
170 | ||
171 | ||
172 | ||
173 | ||
174 | extern FILE *tmpfile (void) ; | |
175 | extern char *tmpnam (char *__s) __attribute__ ((__nothrow__)) ; | |
176 | ||
177 | extern char *tmpnam_r (char *__s) __attribute__ ((__nothrow__)) ; | |
178 | extern char *tempnam (__const char *__dir, __const char *__pfx) | |
179 | __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ; | |
180 | ||
181 | extern int fclose (FILE *__stream); | |
182 | extern int fflush (FILE *__stream); | |
183 | ||
184 | extern int fflush_unlocked (FILE *__stream); | |
185 | ||
186 | extern FILE *fopen (__const char *__restrict __filename, | |
187 | __const char *__restrict __modes) ; | |
188 | extern FILE *freopen (__const char *__restrict __filename, | |
189 | __const char *__restrict __modes, | |
190 | FILE *__restrict __stream) ; | |
191 | ||
192 | extern FILE *fdopen (int __fd, __const char *__modes) __attribute__ ((__nothrow__)) ; | |
193 | ||
194 | extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __attribute__ ((__nothrow__)); | |
195 | extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, | |
196 | int __modes, size_t __n) __attribute__ ((__nothrow__)); | |
197 | ||
198 | extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, | |
199 | size_t __size) __attribute__ ((__nothrow__)); | |
200 | extern void setlinebuf (FILE *__stream) __attribute__ ((__nothrow__)); | |
201 | ||
202 | extern int fprintf (FILE *__restrict __stream, | |
203 | __const char *__restrict __format, ...); | |
204 | extern int printf (__const char *__restrict __format, ...); | |
205 | extern int sprintf (char *__restrict __s, | |
206 | __const char *__restrict __format, ...) __attribute__ ((__nothrow__)); | |
207 | extern int vfprintf (FILE *__restrict __s, __const char *__restrict __format, | |
208 | __gnuc_va_list __arg); | |
209 | extern int vprintf (__const char *__restrict __format, __gnuc_va_list __arg); | |
210 | extern int vsprintf (char *__restrict __s, __const char *__restrict __format, | |
211 | __gnuc_va_list __arg) __attribute__ ((__nothrow__)); | |
212 | ||
213 | ||
214 | extern int snprintf (char *__restrict __s, size_t __maxlen, | |
215 | __const char *__restrict __format, ...) | |
216 | __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 4))); | |
217 | extern int vsnprintf (char *__restrict __s, size_t __maxlen, | |
218 | __const char *__restrict __format, __gnuc_va_list __arg) | |
219 | __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 0))); | |
220 | ||
221 | ||
222 | extern int fscanf (FILE *__restrict __stream, | |
223 | __const char *__restrict __format, ...) ; | |
224 | extern int scanf (__const char *__restrict __format, ...) ; | |
225 | extern int sscanf (__const char *__restrict __s, | |
226 | __const char *__restrict __format, ...) __attribute__ ((__nothrow__)); | |
227 | ||
228 | ||
229 | extern int fgetc (FILE *__stream); | |
230 | extern int getc (FILE *__stream); | |
231 | extern int getchar (void); | |
232 | ||
233 | extern int getc_unlocked (FILE *__stream); | |
234 | extern int getchar_unlocked (void); | |
235 | extern int fgetc_unlocked (FILE *__stream); | |
236 | ||
237 | extern int fputc (int __c, FILE *__stream); | |
238 | extern int putc (int __c, FILE *__stream); | |
239 | extern int putchar (int __c); | |
240 | ||
241 | extern int fputc_unlocked (int __c, FILE *__stream); | |
242 | extern int putc_unlocked (int __c, FILE *__stream); | |
243 | extern int putchar_unlocked (int __c); | |
244 | extern int getw (FILE *__stream); | |
245 | extern int putw (int __w, FILE *__stream); | |
246 | ||
247 | extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) | |
248 | ; | |
249 | extern char *gets (char *__s) ; | |
250 | ||
251 | ||
252 | extern int fputs (__const char *__restrict __s, FILE *__restrict __stream); | |
253 | extern int puts (__const char *__s); | |
254 | extern int ungetc (int __c, FILE *__stream); | |
255 | extern size_t fread (void *__restrict __ptr, size_t __size, | |
256 | size_t __n, FILE *__restrict __stream) ; | |
257 | extern size_t fwrite (__const void *__restrict __ptr, size_t __size, | |
258 | size_t __n, FILE *__restrict __s) ; | |
259 | ||
260 | extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, | |
261 | size_t __n, FILE *__restrict __stream) ; | |
262 | extern size_t fwrite_unlocked (__const void *__restrict __ptr, size_t __size, | |
263 | size_t __n, FILE *__restrict __stream) ; | |
264 | ||
265 | extern int fseek (FILE *__stream, long int __off, int __whence); | |
266 | extern long int ftell (FILE *__stream) ; | |
267 | extern void rewind (FILE *__stream); | |
268 | ||
269 | extern int fseeko (FILE *__stream, __off_t __off, int __whence); | |
270 | extern __off_t ftello (FILE *__stream) ; | |
271 | ||
272 | extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos); | |
273 | extern int fsetpos (FILE *__stream, __const fpos_t *__pos); | |
274 | ||
275 | ||
276 | extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__)); | |
277 | extern int feof (FILE *__stream) __attribute__ ((__nothrow__)) ; | |
278 | extern int ferror (FILE *__stream) __attribute__ ((__nothrow__)) ; | |
279 | ||
280 | extern void clearerr_unlocked (FILE *__stream) __attribute__ ((__nothrow__)); | |
281 | extern int feof_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ; | |
282 | extern int ferror_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ; | |
283 | ||
284 | extern void perror (__const char *__s); | |
285 | ||
286 | extern int sys_nerr; | |
287 | extern __const char *__const sys_errlist[]; | |
288 | extern int fileno (FILE *__stream) __attribute__ ((__nothrow__)) ; | |
289 | extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ; | |
290 | extern FILE *popen (__const char *__command, __const char *__modes) ; | |
291 | extern int pclose (FILE *__stream); | |
292 | extern char *ctermid (char *__s) __attribute__ ((__nothrow__)); | |
293 | extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__)); | |
294 | extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__)) ; | |
295 | extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__)); | |
296 | ||
297 | typedef int wchar_t; | |
298 | ||
299 | ||
300 | typedef struct | |
301 | { | |
302 | int quot; | |
303 | int rem; | |
304 | } div_t; | |
305 | typedef struct | |
306 | { | |
307 | long int quot; | |
308 | long int rem; | |
309 | } ldiv_t; | |
310 | ||
311 | extern size_t __ctype_get_mb_cur_max (void) __attribute__ ((__nothrow__)) ; | |
312 | ||
313 | extern double atof (__const char *__nptr) | |
314 | __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; | |
315 | extern int atoi (__const char *__nptr) | |
316 | __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; | |
317 | extern long int atol (__const char *__nptr) | |
318 | __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; | |
319 | ||
320 | ||
321 | __extension__ extern long long int atoll (__const char *__nptr) | |
322 | __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; | |
323 | ||
324 | ||
325 | extern double strtod (__const char *__restrict __nptr, | |
326 | char **__restrict __endptr) | |
327 | __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; | |
328 | ||
329 | ||
330 | extern long int strtol (__const char *__restrict __nptr, | |
331 | char **__restrict __endptr, int __base) | |
332 | __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; | |
333 | extern unsigned long int strtoul (__const char *__restrict __nptr, | |
334 | char **__restrict __endptr, int __base) | |
335 | __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; | |
336 | ||
337 | __extension__ | |
338 | extern long long int strtoq (__const char *__restrict __nptr, | |
339 | char **__restrict __endptr, int __base) | |
340 | __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; | |
341 | __extension__ | |
342 | extern unsigned long long int strtouq (__const char *__restrict __nptr, | |
343 | char **__restrict __endptr, int __base) | |
344 | __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; | |
345 | ||
346 | __extension__ | |
347 | extern long long int strtoll (__const char *__restrict __nptr, | |
348 | char **__restrict __endptr, int __base) | |
349 | __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; | |
350 | __extension__ | |
351 | extern unsigned long long int strtoull (__const char *__restrict __nptr, | |
352 | char **__restrict __endptr, int __base) | |
353 | __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; | |
354 | ||
355 | extern char *l64a (long int __n) __attribute__ ((__nothrow__)) ; | |
356 | extern long int a64l (__const char *__s) | |
357 | __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; | |
358 | ||
359 | typedef __u_char u_char; | |
360 | typedef __u_short u_short; | |
361 | typedef __u_int u_int; | |
362 | typedef __u_long u_long; | |
363 | typedef __quad_t quad_t; | |
364 | typedef __u_quad_t u_quad_t; | |
365 | typedef __fsid_t fsid_t; | |
366 | typedef __loff_t loff_t; | |
367 | typedef __ino_t ino_t; | |
368 | typedef __dev_t dev_t; | |
369 | typedef __gid_t gid_t; | |
370 | typedef __mode_t mode_t; | |
371 | typedef __nlink_t nlink_t; | |
372 | typedef __uid_t uid_t; | |
373 | typedef __off_t off_t; | |
374 | typedef __pid_t pid_t; | |
375 | typedef __id_t id_t; | |
376 | typedef __ssize_t ssize_t; | |
377 | typedef __daddr_t daddr_t; | |
378 | typedef __caddr_t caddr_t; | |
379 | typedef __key_t key_t; | |
380 | ||
381 | typedef __time_t time_t; | |
382 | ||
383 | ||
384 | typedef __clockid_t clockid_t; | |
385 | typedef __timer_t timer_t; | |
386 | typedef unsigned long int ulong; | |
387 | typedef unsigned short int ushort; | |
388 | typedef unsigned int uint; | |
389 | typedef int int8_t __attribute__ ((__mode__ (__QI__))); | |
390 | typedef int int16_t __attribute__ ((__mode__ (__HI__))); | |
391 | typedef int int32_t __attribute__ ((__mode__ (__SI__))); | |
392 | typedef int int64_t __attribute__ ((__mode__ (__DI__))); | |
393 | typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__))); | |
394 | typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__))); | |
395 | typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__))); | |
396 | typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__))); | |
397 | typedef int register_t __attribute__ ((__mode__ (__word__))); | |
398 | typedef int __sig_atomic_t; | |
399 | typedef struct | |
400 | { | |
401 | unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; | |
402 | } __sigset_t; | |
403 | typedef __sigset_t sigset_t; | |
404 | struct timespec | |
405 | { | |
406 | __time_t tv_sec; | |
407 | long int tv_nsec; | |
408 | }; | |
409 | struct timeval | |
410 | { | |
411 | __time_t tv_sec; | |
412 | __suseconds_t tv_usec; | |
413 | }; | |
414 | typedef __suseconds_t suseconds_t; | |
415 | typedef long int __fd_mask; | |
416 | typedef struct | |
417 | { | |
418 | __fd_mask __fds_bits[1024 / (8 * sizeof (__fd_mask))]; | |
419 | } fd_set; | |
420 | typedef __fd_mask fd_mask; | |
421 | ||
422 | extern int select (int __nfds, fd_set *__restrict __readfds, | |
423 | fd_set *__restrict __writefds, | |
424 | fd_set *__restrict __exceptfds, | |
425 | struct timeval *__restrict __timeout); | |
426 | extern int pselect (int __nfds, fd_set *__restrict __readfds, | |
427 | fd_set *__restrict __writefds, | |
428 | fd_set *__restrict __exceptfds, | |
429 | const struct timespec *__restrict __timeout, | |
430 | const __sigset_t *__restrict __sigmask); | |
431 | ||
432 | __extension__ | |
433 | extern unsigned int gnu_dev_major (unsigned long long int __dev) | |
434 | __attribute__ ((__nothrow__)); | |
435 | __extension__ | |
436 | extern unsigned int gnu_dev_minor (unsigned long long int __dev) | |
437 | __attribute__ ((__nothrow__)); | |
438 | __extension__ | |
439 | extern unsigned long long int gnu_dev_makedev (unsigned int __major, | |
440 | unsigned int __minor) | |
441 | __attribute__ ((__nothrow__)); | |
442 | typedef __blkcnt_t blkcnt_t; | |
443 | typedef __fsblkcnt_t fsblkcnt_t; | |
444 | typedef __fsfilcnt_t fsfilcnt_t; | |
445 | typedef unsigned long int pthread_t; | |
446 | typedef union | |
447 | { | |
448 | char __size[56]; | |
449 | long int __align; | |
450 | } pthread_attr_t; | |
451 | typedef struct __pthread_internal_list | |
452 | { | |
453 | struct __pthread_internal_list *__prev; | |
454 | struct __pthread_internal_list *__next; | |
455 | } __pthread_list_t; | |
456 | typedef union | |
457 | { | |
458 | struct __pthread_mutex_s | |
459 | { | |
460 | int __lock; | |
461 | unsigned int __count; | |
462 | int __owner; | |
463 | unsigned int __nusers; | |
464 | int __kind; | |
465 | int __spins; | |
466 | __pthread_list_t __list; | |
467 | } __data; | |
468 | char __size[40]; | |
469 | long int __align; | |
470 | } pthread_mutex_t; | |
471 | typedef union | |
472 | { | |
473 | char __size[4]; | |
474 | int __align; | |
475 | } pthread_mutexattr_t; | |
476 | typedef union | |
477 | { | |
478 | struct | |
479 | { | |
480 | int __lock; | |
481 | unsigned int __futex; | |
482 | __extension__ unsigned long long int __total_seq; | |
483 | __extension__ unsigned long long int __wakeup_seq; | |
484 | __extension__ unsigned long long int __woken_seq; | |
485 | void *__mutex; | |
486 | unsigned int __nwaiters; | |
487 | unsigned int __broadcast_seq; | |
488 | } __data; | |
489 | char __size[48]; | |
490 | __extension__ long long int __align; | |
491 | } pthread_cond_t; | |
492 | typedef union | |
493 | { | |
494 | char __size[4]; | |
495 | int __align; | |
496 | } pthread_condattr_t; | |
497 | typedef unsigned int pthread_key_t; | |
498 | typedef int pthread_once_t; | |
499 | typedef union | |
500 | { | |
501 | struct | |
502 | { | |
503 | int __lock; | |
504 | unsigned int __nr_readers; | |
505 | unsigned int __readers_wakeup; | |
506 | unsigned int __writer_wakeup; | |
507 | unsigned int __nr_readers_queued; | |
508 | unsigned int __nr_writers_queued; | |
509 | int __writer; | |
510 | int __shared; | |
511 | unsigned long int __pad1; | |
512 | unsigned long int __pad2; | |
513 | unsigned int __flags; | |
514 | } __data; | |
515 | char __size[56]; | |
516 | long int __align; | |
517 | } pthread_rwlock_t; | |
518 | typedef union | |
519 | { | |
520 | char __size[8]; | |
521 | long int __align; | |
522 | } pthread_rwlockattr_t; | |
523 | typedef volatile int pthread_spinlock_t; | |
524 | typedef union | |
525 | { | |
526 | char __size[32]; | |
527 | long int __align; | |
528 | } pthread_barrier_t; | |
529 | typedef union | |
530 | { | |
531 | char __size[4]; | |
532 | int __align; | |
533 | } pthread_barrierattr_t; | |
534 | ||
535 | extern long int random (void) __attribute__ ((__nothrow__)); | |
536 | extern void srandom (unsigned int __seed) __attribute__ ((__nothrow__)); | |
537 | extern char *initstate (unsigned int __seed, char *__statebuf, | |
538 | size_t __statelen) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); | |
539 | extern char *setstate (char *__statebuf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); | |
540 | struct random_data | |
541 | { | |
542 | int32_t *fptr; | |
543 | int32_t *rptr; | |
544 | int32_t *state; | |
545 | int rand_type; | |
546 | int rand_deg; | |
547 | int rand_sep; | |
548 | int32_t *end_ptr; | |
549 | }; | |
550 | extern int random_r (struct random_data *__restrict __buf, | |
551 | int32_t *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); | |
552 | extern int srandom_r (unsigned int __seed, struct random_data *__buf) | |
553 | __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); | |
554 | extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, | |
555 | size_t __statelen, | |
556 | struct random_data *__restrict __buf) | |
557 | __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 4))); | |
558 | extern int setstate_r (char *__restrict __statebuf, | |
559 | struct random_data *__restrict __buf) | |
560 | __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); | |
561 | ||
562 | extern int rand (void) __attribute__ ((__nothrow__)); | |
563 | extern void srand (unsigned int __seed) __attribute__ ((__nothrow__)); | |
564 | ||
565 | extern int rand_r (unsigned int *__seed) __attribute__ ((__nothrow__)); | |
566 | extern double drand48 (void) __attribute__ ((__nothrow__)); | |
567 | extern double erand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); | |
568 | extern long int lrand48 (void) __attribute__ ((__nothrow__)); | |
569 | extern long int nrand48 (unsigned short int __xsubi[3]) | |
570 | __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); | |
571 | extern long int mrand48 (void) __attribute__ ((__nothrow__)); | |
572 | extern long int jrand48 (unsigned short int __xsubi[3]) | |
573 | __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); | |
574 | extern void srand48 (long int __seedval) __attribute__ ((__nothrow__)); | |
575 | extern unsigned short int *seed48 (unsigned short int __seed16v[3]) | |
576 | __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); | |
577 | extern void lcong48 (unsigned short int __param[7]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); | |
578 | struct drand48_data | |
579 | { | |
580 | unsigned short int __x[3]; | |
581 | unsigned short int __old_x[3]; | |
582 | unsigned short int __c; | |
583 | unsigned short int __init; | |
584 | unsigned long long int __a; | |
585 | }; | |
586 | extern int drand48_r (struct drand48_data *__restrict __buffer, | |
587 | double *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); | |
588 | extern int erand48_r (unsigned short int __xsubi[3], | |
589 | struct drand48_data *__restrict __buffer, | |
590 | double *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); | |
591 | extern int lrand48_r (struct drand48_data *__restrict __buffer, | |
592 | long int *__restrict __result) | |
593 | __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); | |
594 | extern int nrand48_r (unsigned short int __xsubi[3], | |
595 | struct drand48_data *__restrict __buffer, | |
596 | long int *__restrict __result) | |
597 | __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); | |
598 | extern int mrand48_r (struct drand48_data *__restrict __buffer, | |
599 | long int *__restrict __result) | |
600 | __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); | |
601 | extern int jrand48_r (unsigned short int __xsubi[3], | |
602 | struct drand48_data *__restrict __buffer, | |
603 | long int *__restrict __result) | |
604 | __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); | |
605 | extern int srand48_r (long int __seedval, struct drand48_data *__buffer) | |
606 | __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); | |
607 | extern int seed48_r (unsigned short int __seed16v[3], | |
608 | struct drand48_data *__buffer) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); | |
609 | extern int lcong48_r (unsigned short int __param[7], | |
610 | struct drand48_data *__buffer) | |
611 | __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); | |
612 | ||
613 | extern void *malloc (size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ; | |
614 | extern void *calloc (size_t __nmemb, size_t __size) | |
615 | __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ; | |
616 | ||
617 | ||
618 | extern void *realloc (void *__ptr, size_t __size) | |
619 | __attribute__ ((__nothrow__)) __attribute__ ((__warn_unused_result__)); | |
620 | extern void free (void *__ptr) __attribute__ ((__nothrow__)); | |
621 | ||
622 | extern void cfree (void *__ptr) __attribute__ ((__nothrow__)); | |
623 | ||
624 | extern void *alloca (size_t __size) __attribute__ ((__nothrow__)); | |
625 | ||
626 | extern void *valloc (size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ; | |
627 | extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) | |
628 | __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; | |
629 | ||
630 | extern void abort (void) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__)); | |
631 | extern int atexit (void (*__func) (void)) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); | |
632 | ||
633 | extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) | |
634 | __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); | |
635 | ||
636 | extern void exit (int __status) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__)); | |
637 | ||
638 | ||
639 | extern char *getenv (__const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; | |
640 | ||
641 | extern char *__secure_getenv (__const char *__name) | |
642 | __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; | |
643 | extern int putenv (char *__string) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); | |
644 | extern int setenv (__const char *__name, __const char *__value, int __replace) | |
645 | __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); | |
646 | extern int unsetenv (__const char *__name) __attribute__ ((__nothrow__)); | |
647 | extern int clearenv (void) __attribute__ ((__nothrow__)); | |
648 | extern char *mktemp (char *__template) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; | |
649 | extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) ; | |
650 | extern char *mkdtemp (char *__template) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; | |
651 | ||
652 | extern int system (__const char *__command) ; | |
653 | ||
654 | extern char *realpath (__const char *__restrict __name, | |
655 | char *__restrict __resolved) __attribute__ ((__nothrow__)) ; | |
656 | typedef int (*__compar_fn_t) (__const void *, __const void *); | |
657 | ||
658 | extern void *bsearch (__const void *__key, __const void *__base, | |
659 | size_t __nmemb, size_t __size, __compar_fn_t __compar) | |
660 | __attribute__ ((__nonnull__ (1, 2, 5))) ; | |
661 | extern void qsort (void *__base, size_t __nmemb, size_t __size, | |
662 | __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4))); | |
663 | extern int abs (int __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ; | |
664 | extern long int labs (long int __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ; | |
665 | ||
666 | ||
667 | extern div_t div (int __numer, int __denom) | |
668 | __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ; | |
669 | extern ldiv_t ldiv (long int __numer, long int __denom) | |
670 | __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ; | |
671 | ||
672 | extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, | |
673 | int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ; | |
674 | extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, | |
675 | int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ; | |
676 | extern char *gcvt (double __value, int __ndigit, char *__buf) | |
677 | __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3))) ; | |
678 | extern char *qecvt (long double __value, int __ndigit, | |
679 | int *__restrict __decpt, int *__restrict __sign) | |
680 | __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ; | |
681 | extern char *qfcvt (long double __value, int __ndigit, | |
682 | int *__restrict __decpt, int *__restrict __sign) | |
683 | __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ; | |
684 | extern char *qgcvt (long double __value, int __ndigit, char *__buf) | |
685 | __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3))) ; | |
686 | extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, | |
687 | int *__restrict __sign, char *__restrict __buf, | |
688 | size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5))); | |
689 | extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, | |
690 | int *__restrict __sign, char *__restrict __buf, | |
691 | size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5))); | |
692 | extern int qecvt_r (long double __value, int __ndigit, | |
693 | int *__restrict __decpt, int *__restrict __sign, | |
694 | char *__restrict __buf, size_t __len) | |
695 | __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5))); | |
696 | extern int qfcvt_r (long double __value, int __ndigit, | |
697 | int *__restrict __decpt, int *__restrict __sign, | |
698 | char *__restrict __buf, size_t __len) | |
699 | __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5))); | |
700 | ||
701 | extern int mblen (__const char *__s, size_t __n) __attribute__ ((__nothrow__)) ; | |
702 | extern int mbtowc (wchar_t *__restrict __pwc, | |
703 | __const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__)) ; | |
704 | extern int wctomb (char *__s, wchar_t __wchar) __attribute__ ((__nothrow__)) ; | |
705 | extern size_t mbstowcs (wchar_t *__restrict __pwcs, | |
706 | __const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__)); | |
707 | extern size_t wcstombs (char *__restrict __s, | |
708 | __const wchar_t *__restrict __pwcs, size_t __n) | |
709 | __attribute__ ((__nothrow__)); | |
710 | ||
711 | extern int rpmatch (__const char *__response) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; | |
712 | extern int posix_openpt (int __oflag) ; | |
713 | extern int getloadavg (double __loadavg[], int __nelem) | |
714 | __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); | |
715 | ||
716 | ||
717 | extern double _Complex cacos (double _Complex __z) __attribute__ ((__nothrow__)); extern double _Complex __cacos (double _Complex __z) __attribute__ ((__nothrow__)); | |
718 | extern double _Complex casin (double _Complex __z) __attribute__ ((__nothrow__)); extern double _Complex __casin (double _Complex __z) __attribute__ ((__nothrow__)); | |
719 | extern double _Complex catan (double _Complex __z) __attribute__ ((__nothrow__)); extern double _Complex __catan (double _Complex __z) __attribute__ ((__nothrow__)); | |
720 | extern double _Complex ccos (double _Complex __z) __attribute__ ((__nothrow__)); extern double _Complex __ccos (double _Complex __z) __attribute__ ((__nothrow__)); | |
721 | extern double _Complex csin (double _Complex __z) __attribute__ ((__nothrow__)); extern double _Complex __csin (double _Complex __z) __attribute__ ((__nothrow__)); | |
722 | extern double _Complex ctan (double _Complex __z) __attribute__ ((__nothrow__)); extern double _Complex __ctan (double _Complex __z) __attribute__ ((__nothrow__)); | |
723 | extern double _Complex cacosh (double _Complex __z) __attribute__ ((__nothrow__)); extern double _Complex __cacosh (double _Complex __z) __attribute__ ((__nothrow__)); | |
724 | extern double _Complex casinh (double _Complex __z) __attribute__ ((__nothrow__)); extern double _Complex __casinh (double _Complex __z) __attribute__ ((__nothrow__)); | |
725 | extern double _Complex catanh (double _Complex __z) __attribute__ ((__nothrow__)); extern double _Complex __catanh (double _Complex __z) __attribute__ ((__nothrow__)); | |
726 | extern double _Complex ccosh (double _Complex __z) __attribute__ ((__nothrow__)); extern double _Complex __ccosh (double _Complex __z) __attribute__ ((__nothrow__)); | |
727 | extern double _Complex csinh (double _Complex __z) __attribute__ ((__nothrow__)); extern double _Complex __csinh (double _Complex __z) __attribute__ ((__nothrow__)); | |
728 | extern double _Complex ctanh (double _Complex __z) __attribute__ ((__nothrow__)); extern double _Complex __ctanh (double _Complex __z) __attribute__ ((__nothrow__)); | |
729 | extern double _Complex cexp (double _Complex __z) __attribute__ ((__nothrow__)); extern double _Complex __cexp (double _Complex __z) __attribute__ ((__nothrow__)); | |
730 | extern double _Complex clog (double _Complex __z) __attribute__ ((__nothrow__)); extern double _Complex __clog (double _Complex __z) __attribute__ ((__nothrow__)); | |
731 | extern double _Complex cpow (double _Complex __x, double _Complex __y) __attribute__ ((__nothrow__)); extern double _Complex __cpow (double _Complex __x, double _Complex __y) __attribute__ ((__nothrow__)); | |
732 | extern double _Complex csqrt (double _Complex __z) __attribute__ ((__nothrow__)); extern double _Complex __csqrt (double _Complex __z) __attribute__ ((__nothrow__)); | |
733 | extern double cabs (double _Complex __z) __attribute__ ((__nothrow__)); extern double __cabs (double _Complex __z) __attribute__ ((__nothrow__)); | |
734 | extern double carg (double _Complex __z) __attribute__ ((__nothrow__)); extern double __carg (double _Complex __z) __attribute__ ((__nothrow__)); | |
735 | extern double _Complex conj (double _Complex __z) __attribute__ ((__nothrow__)); extern double _Complex __conj (double _Complex __z) __attribute__ ((__nothrow__)); | |
736 | extern double _Complex cproj (double _Complex __z) __attribute__ ((__nothrow__)); extern double _Complex __cproj (double _Complex __z) __attribute__ ((__nothrow__)); | |
737 | extern double cimag (double _Complex __z) __attribute__ ((__nothrow__)); extern double __cimag (double _Complex __z) __attribute__ ((__nothrow__)); | |
738 | extern double creal (double _Complex __z) __attribute__ ((__nothrow__)); extern double __creal (double _Complex __z) __attribute__ ((__nothrow__)); | |
739 | extern float _Complex cacosf (float _Complex __z) __attribute__ ((__nothrow__)); extern float _Complex __cacosf (float _Complex __z) __attribute__ ((__nothrow__)); | |
740 | extern float _Complex casinf (float _Complex __z) __attribute__ ((__nothrow__)); extern float _Complex __casinf (float _Complex __z) __attribute__ ((__nothrow__)); | |
741 | extern float _Complex catanf (float _Complex __z) __attribute__ ((__nothrow__)); extern float _Complex __catanf (float _Complex __z) __attribute__ ((__nothrow__)); | |
742 | extern float _Complex ccosf (float _Complex __z) __attribute__ ((__nothrow__)); extern float _Complex __ccosf (float _Complex __z) __attribute__ ((__nothrow__)); | |
743 | extern float _Complex csinf (float _Complex __z) __attribute__ ((__nothrow__)); extern float _Complex __csinf (float _Complex __z) __attribute__ ((__nothrow__)); | |
744 | extern float _Complex ctanf (float _Complex __z) __attribute__ ((__nothrow__)); extern float _Complex __ctanf (float _Complex __z) __attribute__ ((__nothrow__)); | |
745 | extern float _Complex cacoshf (float _Complex __z) __attribute__ ((__nothrow__)); extern float _Complex __cacoshf (float _Complex __z) __attribute__ ((__nothrow__)); | |
746 | extern float _Complex casinhf (float _Complex __z) __attribute__ ((__nothrow__)); extern float _Complex __casinhf (float _Complex __z) __attribute__ ((__nothrow__)); | |
747 | extern float _Complex catanhf (float _Complex __z) __attribute__ ((__nothrow__)); extern float _Complex __catanhf (float _Complex __z) __attribute__ ((__nothrow__)); | |
748 | extern float _Complex ccoshf (float _Complex __z) __attribute__ ((__nothrow__)); extern float _Complex __ccoshf (float _Complex __z) __attribute__ ((__nothrow__)); | |
749 | extern float _Complex csinhf (float _Complex __z) __attribute__ ((__nothrow__)); extern float _Complex __csinhf (float _Complex __z) __attribute__ ((__nothrow__)); | |
750 | extern float _Complex ctanhf (float _Complex __z) __attribute__ ((__nothrow__)); extern float _Complex __ctanhf (float _Complex __z) __attribute__ ((__nothrow__)); | |
751 | extern float _Complex cexpf (float _Complex __z) __attribute__ ((__nothrow__)); extern float _Complex __cexpf (float _Complex __z) __attribute__ ((__nothrow__)); | |
752 | extern float _Complex clogf (float _Complex __z) __attribute__ ((__nothrow__)); extern float _Complex __clogf (float _Complex __z) __attribute__ ((__nothrow__)); | |
753 | extern float _Complex cpowf (float _Complex __x, float _Complex __y) __attribute__ ((__nothrow__)); extern float _Complex __cpowf (float _Complex __x, float _Complex __y) __attribute__ ((__nothrow__)); | |
754 | extern float _Complex csqrtf (float _Complex __z) __attribute__ ((__nothrow__)); extern float _Complex __csqrtf (float _Complex __z) __attribute__ ((__nothrow__)); | |
755 | extern float cabsf (float _Complex __z) __attribute__ ((__nothrow__)); extern float __cabsf (float _Complex __z) __attribute__ ((__nothrow__)); | |
756 | extern float cargf (float _Complex __z) __attribute__ ((__nothrow__)); extern float __cargf (float _Complex __z) __attribute__ ((__nothrow__)); | |
757 | extern float _Complex conjf (float _Complex __z) __attribute__ ((__nothrow__)); extern float _Complex __conjf (float _Complex __z) __attribute__ ((__nothrow__)); | |
758 | extern float _Complex cprojf (float _Complex __z) __attribute__ ((__nothrow__)); extern float _Complex __cprojf (float _Complex __z) __attribute__ ((__nothrow__)); | |
759 | extern float cimagf (float _Complex __z) __attribute__ ((__nothrow__)); extern float __cimagf (float _Complex __z) __attribute__ ((__nothrow__)); | |
760 | extern float crealf (float _Complex __z) __attribute__ ((__nothrow__)); extern float __crealf (float _Complex __z) __attribute__ ((__nothrow__)); | |
761 | extern long double _Complex cacosl (long double _Complex __z) __attribute__ ((__nothrow__)); extern long double _Complex __cacosl (long double _Complex __z) __attribute__ ((__nothrow__)); | |
762 | extern long double _Complex casinl (long double _Complex __z) __attribute__ ((__nothrow__)); extern long double _Complex __casinl (long double _Complex __z) __attribute__ ((__nothrow__)); | |
763 | extern long double _Complex catanl (long double _Complex __z) __attribute__ ((__nothrow__)); extern long double _Complex __catanl (long double _Complex __z) __attribute__ ((__nothrow__)); | |
764 | extern long double _Complex ccosl (long double _Complex __z) __attribute__ ((__nothrow__)); extern long double _Complex __ccosl (long double _Complex __z) __attribute__ ((__nothrow__)); | |
765 | extern long double _Complex csinl (long double _Complex __z) __attribute__ ((__nothrow__)); extern long double _Complex __csinl (long double _Complex __z) __attribute__ ((__nothrow__)); | |
766 | extern long double _Complex ctanl (long double _Complex __z) __attribute__ ((__nothrow__)); extern long double _Complex __ctanl (long double _Complex __z) __attribute__ ((__nothrow__)); | |
767 | extern long double _Complex cacoshl (long double _Complex __z) __attribute__ ((__nothrow__)); extern long double _Complex __cacoshl (long double _Complex __z) __attribute__ ((__nothrow__)); | |
768 | extern long double _Complex casinhl (long double _Complex __z) __attribute__ ((__nothrow__)); extern long double _Complex __casinhl (long double _Complex __z) __attribute__ ((__nothrow__)); | |
769 | extern long double _Complex catanhl (long double _Complex __z) __attribute__ ((__nothrow__)); extern long double _Complex __catanhl (long double _Complex __z) __attribute__ ((__nothrow__)); | |
770 | extern long double _Complex ccoshl (long double _Complex __z) __attribute__ ((__nothrow__)); extern long double _Complex __ccoshl (long double _Complex __z) __attribute__ ((__nothrow__)); | |
771 | extern long double _Complex csinhl (long double _Complex __z) __attribute__ ((__nothrow__)); extern long double _Complex __csinhl (long double _Complex __z) __attribute__ ((__nothrow__)); | |
772 | extern long double _Complex ctanhl (long double _Complex __z) __attribute__ ((__nothrow__)); extern long double _Complex __ctanhl (long double _Complex __z) __attribute__ ((__nothrow__)); | |
773 | extern long double _Complex cexpl (long double _Complex __z) __attribute__ ((__nothrow__)); extern long double _Complex __cexpl (long double _Complex __z) __attribute__ ((__nothrow__)); | |
774 | extern long double _Complex clogl (long double _Complex __z) __attribute__ ((__nothrow__)); extern long double _Complex __clogl (long double _Complex __z) __attribute__ ((__nothrow__)); | |
775 | extern long double _Complex cpowl (long double _Complex __x, long double _Complex __y) __attribute__ ((__nothrow__)); extern long double _Complex __cpowl (long double _Complex __x, long double _Complex __y) __attribute__ ((__nothrow__)); | |
776 | extern long double _Complex csqrtl (long double _Complex __z) __attribute__ ((__nothrow__)); extern long double _Complex __csqrtl (long double _Complex __z) __attribute__ ((__nothrow__)); | |
777 | extern long double cabsl (long double _Complex __z) __attribute__ ((__nothrow__)); extern long double __cabsl (long double _Complex __z) __attribute__ ((__nothrow__)); | |
778 | extern long double cargl (long double _Complex __z) __attribute__ ((__nothrow__)); extern long double __cargl (long double _Complex __z) __attribute__ ((__nothrow__)); | |
779 | extern long double _Complex conjl (long double _Complex __z) __attribute__ ((__nothrow__)); extern long double _Complex __conjl (long double _Complex __z) __attribute__ ((__nothrow__)); | |
780 | extern long double _Complex cprojl (long double _Complex __z) __attribute__ ((__nothrow__)); extern long double _Complex __cprojl (long double _Complex __z) __attribute__ ((__nothrow__)); | |
781 | extern long double cimagl (long double _Complex __z) __attribute__ ((__nothrow__)); extern long double __cimagl (long double _Complex __z) __attribute__ ((__nothrow__)); | |
782 | extern long double creall (long double _Complex __z) __attribute__ ((__nothrow__)); extern long double __creall (long double _Complex __z) __attribute__ ((__nothrow__)); | |
783 | ||
784 | ||
785 | ||
786 | extern double acos (double __x) __attribute__ ((__nothrow__)); extern double __acos (double __x) __attribute__ ((__nothrow__)); | |
787 | extern double asin (double __x) __attribute__ ((__nothrow__)); extern double __asin (double __x) __attribute__ ((__nothrow__)); | |
788 | extern double atan (double __x) __attribute__ ((__nothrow__)); extern double __atan (double __x) __attribute__ ((__nothrow__)); | |
789 | extern double atan2 (double __y, double __x) __attribute__ ((__nothrow__)); extern double __atan2 (double __y, double __x) __attribute__ ((__nothrow__)); | |
790 | extern double cos (double __x) __attribute__ ((__nothrow__)); extern double __cos (double __x) __attribute__ ((__nothrow__)); | |
791 | extern double sin (double __x) __attribute__ ((__nothrow__)); extern double __sin (double __x) __attribute__ ((__nothrow__)); | |
792 | extern double tan (double __x) __attribute__ ((__nothrow__)); extern double __tan (double __x) __attribute__ ((__nothrow__)); | |
793 | extern double cosh (double __x) __attribute__ ((__nothrow__)); extern double __cosh (double __x) __attribute__ ((__nothrow__)); | |
794 | extern double sinh (double __x) __attribute__ ((__nothrow__)); extern double __sinh (double __x) __attribute__ ((__nothrow__)); | |
795 | extern double tanh (double __x) __attribute__ ((__nothrow__)); extern double __tanh (double __x) __attribute__ ((__nothrow__)); | |
796 | ||
797 | ||
798 | extern double acosh (double __x) __attribute__ ((__nothrow__)); extern double __acosh (double __x) __attribute__ ((__nothrow__)); | |
799 | extern double asinh (double __x) __attribute__ ((__nothrow__)); extern double __asinh (double __x) __attribute__ ((__nothrow__)); | |
800 | extern double atanh (double __x) __attribute__ ((__nothrow__)); extern double __atanh (double __x) __attribute__ ((__nothrow__)); | |
801 | ||
802 | ||
803 | extern double exp (double __x) __attribute__ ((__nothrow__)); extern double __exp (double __x) __attribute__ ((__nothrow__)); | |
804 | extern double frexp (double __x, int *__exponent) __attribute__ ((__nothrow__)); extern double __frexp (double __x, int *__exponent) __attribute__ ((__nothrow__)); | |
805 | extern double ldexp (double __x, int __exponent) __attribute__ ((__nothrow__)); extern double __ldexp (double __x, int __exponent) __attribute__ ((__nothrow__)); | |
806 | extern double log (double __x) __attribute__ ((__nothrow__)); extern double __log (double __x) __attribute__ ((__nothrow__)); | |
807 | extern double log10 (double __x) __attribute__ ((__nothrow__)); extern double __log10 (double __x) __attribute__ ((__nothrow__)); | |
808 | extern double modf (double __x, double *__iptr) __attribute__ ((__nothrow__)); extern double __modf (double __x, double *__iptr) __attribute__ ((__nothrow__)); | |
809 | ||
810 | ||
811 | extern double expm1 (double __x) __attribute__ ((__nothrow__)); extern double __expm1 (double __x) __attribute__ ((__nothrow__)); | |
812 | extern double log1p (double __x) __attribute__ ((__nothrow__)); extern double __log1p (double __x) __attribute__ ((__nothrow__)); | |
813 | extern double logb (double __x) __attribute__ ((__nothrow__)); extern double __logb (double __x) __attribute__ ((__nothrow__)); | |
814 | ||
815 | ||
816 | extern double pow (double __x, double __y) __attribute__ ((__nothrow__)); extern double __pow (double __x, double __y) __attribute__ ((__nothrow__)); | |
817 | extern double sqrt (double __x) __attribute__ ((__nothrow__)); extern double __sqrt (double __x) __attribute__ ((__nothrow__)); | |
818 | ||
819 | ||
820 | extern double hypot (double __x, double __y) __attribute__ ((__nothrow__)); extern double __hypot (double __x, double __y) __attribute__ ((__nothrow__)); | |
821 | ||
822 | ||
823 | extern double cbrt (double __x) __attribute__ ((__nothrow__)); extern double __cbrt (double __x) __attribute__ ((__nothrow__)); | |
824 | ||
825 | ||
826 | extern double ceil (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double __ceil (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); | |
827 | extern double fabs (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double __fabs (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); | |
828 | extern double floor (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double __floor (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); | |
829 | extern double fmod (double __x, double __y) __attribute__ ((__nothrow__)); extern double __fmod (double __x, double __y) __attribute__ ((__nothrow__)); | |
830 | extern int __isinf (double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); | |
831 | extern int __finite (double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); | |
832 | ||
833 | extern int isinf (double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); | |
834 | extern int finite (double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); | |
835 | extern double drem (double __x, double __y) __attribute__ ((__nothrow__)); extern double __drem (double __x, double __y) __attribute__ ((__nothrow__)); | |
836 | extern double significand (double __x) __attribute__ ((__nothrow__)); extern double __significand (double __x) __attribute__ ((__nothrow__)); | |
837 | ||
838 | extern double copysign (double __x, double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double __copysign (double __x, double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); | |
839 | ||
840 | extern int __isnan (double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); | |
841 | extern int isnan (double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); | |
842 | extern double j0 (double) __attribute__ ((__nothrow__)); extern double __j0 (double) __attribute__ ((__nothrow__)); | |
843 | extern double j1 (double) __attribute__ ((__nothrow__)); extern double __j1 (double) __attribute__ ((__nothrow__)); | |
844 | extern double jn (int, double) __attribute__ ((__nothrow__)); extern double __jn (int, double) __attribute__ ((__nothrow__)); | |
845 | extern double y0 (double) __attribute__ ((__nothrow__)); extern double __y0 (double) __attribute__ ((__nothrow__)); | |
846 | extern double y1 (double) __attribute__ ((__nothrow__)); extern double __y1 (double) __attribute__ ((__nothrow__)); | |
847 | extern double yn (int, double) __attribute__ ((__nothrow__)); extern double __yn (int, double) __attribute__ ((__nothrow__)); | |
848 | ||
849 | extern double erf (double) __attribute__ ((__nothrow__)); extern double __erf (double) __attribute__ ((__nothrow__)); | |
850 | extern double erfc (double) __attribute__ ((__nothrow__)); extern double __erfc (double) __attribute__ ((__nothrow__)); | |
851 | extern double lgamma (double) __attribute__ ((__nothrow__)); extern double __lgamma (double) __attribute__ ((__nothrow__)); | |
852 | ||
853 | extern double gamma (double) __attribute__ ((__nothrow__)); extern double __gamma (double) __attribute__ ((__nothrow__)); | |
854 | extern double lgamma_r (double, int *__signgamp) __attribute__ ((__nothrow__)); extern double __lgamma_r (double, int *__signgamp) __attribute__ ((__nothrow__)); | |
855 | ||
856 | extern double rint (double __x) __attribute__ ((__nothrow__)); extern double __rint (double __x) __attribute__ ((__nothrow__)); | |
857 | extern double nextafter (double __x, double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double __nextafter (double __x, double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); | |
858 | extern double remainder (double __x, double __y) __attribute__ ((__nothrow__)); extern double __remainder (double __x, double __y) __attribute__ ((__nothrow__)); | |
859 | extern double scalbn (double __x, int __n) __attribute__ ((__nothrow__)); extern double __scalbn (double __x, int __n) __attribute__ ((__nothrow__)); | |
860 | extern int ilogb (double __x) __attribute__ ((__nothrow__)); extern int __ilogb (double __x) __attribute__ ((__nothrow__)); | |
861 | ||
862 | extern double scalb (double __x, double __n) __attribute__ ((__nothrow__)); extern double __scalb (double __x, double __n) __attribute__ ((__nothrow__)); | |
863 | ||
864 | extern float acosf (float __x) __attribute__ ((__nothrow__)); extern float __acosf (float __x) __attribute__ ((__nothrow__)); | |
865 | extern float asinf (float __x) __attribute__ ((__nothrow__)); extern float __asinf (float __x) __attribute__ ((__nothrow__)); | |
866 | extern float atanf (float __x) __attribute__ ((__nothrow__)); extern float __atanf (float __x) __attribute__ ((__nothrow__)); | |
867 | extern float atan2f (float __y, float __x) __attribute__ ((__nothrow__)); extern float __atan2f (float __y, float __x) __attribute__ ((__nothrow__)); | |
868 | extern float cosf (float __x) __attribute__ ((__nothrow__)); extern float __cosf (float __x) __attribute__ ((__nothrow__)); | |
869 | extern float sinf (float __x) __attribute__ ((__nothrow__)); extern float __sinf (float __x) __attribute__ ((__nothrow__)); | |
870 | extern float tanf (float __x) __attribute__ ((__nothrow__)); extern float __tanf (float __x) __attribute__ ((__nothrow__)); | |
871 | extern float coshf (float __x) __attribute__ ((__nothrow__)); extern float __coshf (float __x) __attribute__ ((__nothrow__)); | |
872 | extern float sinhf (float __x) __attribute__ ((__nothrow__)); extern float __sinhf (float __x) __attribute__ ((__nothrow__)); | |
873 | extern float tanhf (float __x) __attribute__ ((__nothrow__)); extern float __tanhf (float __x) __attribute__ ((__nothrow__)); | |
874 | ||
875 | ||
876 | extern float acoshf (float __x) __attribute__ ((__nothrow__)); extern float __acoshf (float __x) __attribute__ ((__nothrow__)); | |
877 | extern float asinhf (float __x) __attribute__ ((__nothrow__)); extern float __asinhf (float __x) __attribute__ ((__nothrow__)); | |
878 | extern float atanhf (float __x) __attribute__ ((__nothrow__)); extern float __atanhf (float __x) __attribute__ ((__nothrow__)); | |
879 | ||
880 | ||
881 | extern float expf (float __x) __attribute__ ((__nothrow__)); extern float __expf (float __x) __attribute__ ((__nothrow__)); | |
882 | extern float frexpf (float __x, int *__exponent) __attribute__ ((__nothrow__)); extern float __frexpf (float __x, int *__exponent) __attribute__ ((__nothrow__)); | |
883 | extern float ldexpf (float __x, int __exponent) __attribute__ ((__nothrow__)); extern float __ldexpf (float __x, int __exponent) __attribute__ ((__nothrow__)); | |
884 | extern float logf (float __x) __attribute__ ((__nothrow__)); extern float __logf (float __x) __attribute__ ((__nothrow__)); | |
885 | extern float log10f (float __x) __attribute__ ((__nothrow__)); extern float __log10f (float __x) __attribute__ ((__nothrow__)); | |
886 | extern float modff (float __x, float *__iptr) __attribute__ ((__nothrow__)); extern float __modff (float __x, float *__iptr) __attribute__ ((__nothrow__)); | |
887 | ||
888 | ||
889 | extern float expm1f (float __x) __attribute__ ((__nothrow__)); extern float __expm1f (float __x) __attribute__ ((__nothrow__)); | |
890 | extern float log1pf (float __x) __attribute__ ((__nothrow__)); extern float __log1pf (float __x) __attribute__ ((__nothrow__)); | |
891 | extern float logbf (float __x) __attribute__ ((__nothrow__)); extern float __logbf (float __x) __attribute__ ((__nothrow__)); | |
892 | ||
893 | ||
894 | extern float powf (float __x, float __y) __attribute__ ((__nothrow__)); extern float __powf (float __x, float __y) __attribute__ ((__nothrow__)); | |
895 | extern float sqrtf (float __x) __attribute__ ((__nothrow__)); extern float __sqrtf (float __x) __attribute__ ((__nothrow__)); | |
896 | ||
897 | ||
898 | extern float hypotf (float __x, float __y) __attribute__ ((__nothrow__)); extern float __hypotf (float __x, float __y) __attribute__ ((__nothrow__)); | |
899 | ||
900 | ||
901 | extern float cbrtf (float __x) __attribute__ ((__nothrow__)); extern float __cbrtf (float __x) __attribute__ ((__nothrow__)); | |
902 | ||
903 | ||
904 | extern float ceilf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float __ceilf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); | |
905 | extern float fabsf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float __fabsf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); | |
906 | extern float floorf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float __floorf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); | |
907 | extern float fmodf (float __x, float __y) __attribute__ ((__nothrow__)); extern float __fmodf (float __x, float __y) __attribute__ ((__nothrow__)); | |
908 | extern int __isinff (float __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); | |
909 | extern int __finitef (float __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); | |
910 | ||
911 | extern int isinff (float __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); | |
912 | extern int finitef (float __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); | |
913 | extern float dremf (float __x, float __y) __attribute__ ((__nothrow__)); extern float __dremf (float __x, float __y) __attribute__ ((__nothrow__)); | |
914 | extern float significandf (float __x) __attribute__ ((__nothrow__)); extern float __significandf (float __x) __attribute__ ((__nothrow__)); | |
915 | ||
916 | extern float copysignf (float __x, float __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float __copysignf (float __x, float __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); | |
917 | ||
918 | extern int __isnanf (float __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); | |
919 | extern int isnanf (float __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); | |
920 | extern float j0f (float) __attribute__ ((__nothrow__)); extern float __j0f (float) __attribute__ ((__nothrow__)); | |
921 | extern float j1f (float) __attribute__ ((__nothrow__)); extern float __j1f (float) __attribute__ ((__nothrow__)); | |
922 | extern float jnf (int, float) __attribute__ ((__nothrow__)); extern float __jnf (int, float) __attribute__ ((__nothrow__)); | |
923 | extern float y0f (float) __attribute__ ((__nothrow__)); extern float __y0f (float) __attribute__ ((__nothrow__)); | |
924 | extern float y1f (float) __attribute__ ((__nothrow__)); extern float __y1f (float) __attribute__ ((__nothrow__)); | |
925 | extern float ynf (int, float) __attribute__ ((__nothrow__)); extern float __ynf (int, float) __attribute__ ((__nothrow__)); | |
926 | ||
927 | extern float erff (float) __attribute__ ((__nothrow__)); extern float __erff (float) __attribute__ ((__nothrow__)); | |
928 | extern float erfcf (float) __attribute__ ((__nothrow__)); extern float __erfcf (float) __attribute__ ((__nothrow__)); | |
929 | extern float lgammaf (float) __attribute__ ((__nothrow__)); extern float __lgammaf (float) __attribute__ ((__nothrow__)); | |
930 | ||
931 | extern float gammaf (float) __attribute__ ((__nothrow__)); extern float __gammaf (float) __attribute__ ((__nothrow__)); | |
932 | extern float lgammaf_r (float, int *__signgamp) __attribute__ ((__nothrow__)); extern float __lgammaf_r (float, int *__signgamp) __attribute__ ((__nothrow__)); | |
933 | ||
934 | extern float rintf (float __x) __attribute__ ((__nothrow__)); extern float __rintf (float __x) __attribute__ ((__nothrow__)); | |
935 | extern float nextafterf (float __x, float __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float __nextafterf (float __x, float __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); | |
936 | extern float remainderf (float __x, float __y) __attribute__ ((__nothrow__)); extern float __remainderf (float __x, float __y) __attribute__ ((__nothrow__)); | |
937 | extern float scalbnf (float __x, int __n) __attribute__ ((__nothrow__)); extern float __scalbnf (float __x, int __n) __attribute__ ((__nothrow__)); | |
938 | extern int ilogbf (float __x) __attribute__ ((__nothrow__)); extern int __ilogbf (float __x) __attribute__ ((__nothrow__)); | |
939 | ||
940 | extern float scalbf (float __x, float __n) __attribute__ ((__nothrow__)); extern float __scalbf (float __x, float __n) __attribute__ ((__nothrow__)); | |
941 | ||
942 | extern long double acosl (long double __x) __attribute__ ((__nothrow__)); extern long double __acosl (long double __x) __attribute__ ((__nothrow__)); | |
943 | extern long double asinl (long double __x) __attribute__ ((__nothrow__)); extern long double __asinl (long double __x) __attribute__ ((__nothrow__)); | |
944 | extern long double atanl (long double __x) __attribute__ ((__nothrow__)); extern long double __atanl (long double __x) __attribute__ ((__nothrow__)); | |
945 | extern long double atan2l (long double __y, long double __x) __attribute__ ((__nothrow__)); extern long double __atan2l (long double __y, long double __x) __attribute__ ((__nothrow__)); | |
946 | extern long double cosl (long double __x) __attribute__ ((__nothrow__)); extern long double __cosl (long double __x) __attribute__ ((__nothrow__)); | |
947 | extern long double sinl (long double __x) __attribute__ ((__nothrow__)); extern long double __sinl (long double __x) __attribute__ ((__nothrow__)); | |
948 | extern long double tanl (long double __x) __attribute__ ((__nothrow__)); extern long double __tanl (long double __x) __attribute__ ((__nothrow__)); | |
949 | extern long double coshl (long double __x) __attribute__ ((__nothrow__)); extern long double __coshl (long double __x) __attribute__ ((__nothrow__)); | |
950 | extern long double sinhl (long double __x) __attribute__ ((__nothrow__)); extern long double __sinhl (long double __x) __attribute__ ((__nothrow__)); | |
951 | extern long double tanhl (long double __x) __attribute__ ((__nothrow__)); extern long double __tanhl (long double __x) __attribute__ ((__nothrow__)); | |
952 | ||
953 | ||
954 | extern long double acoshl (long double __x) __attribute__ ((__nothrow__)); extern long double __acoshl (long double __x) __attribute__ ((__nothrow__)); | |
955 | extern long double asinhl (long double __x) __attribute__ ((__nothrow__)); extern long double __asinhl (long double __x) __attribute__ ((__nothrow__)); | |
956 | extern long double atanhl (long double __x) __attribute__ ((__nothrow__)); extern long double __atanhl (long double __x) __attribute__ ((__nothrow__)); | |
957 | ||
958 | ||
959 | extern long double expl (long double __x) __attribute__ ((__nothrow__)); extern long double __expl (long double __x) __attribute__ ((__nothrow__)); | |
960 | extern long double frexpl (long double __x, int *__exponent) __attribute__ ((__nothrow__)); extern long double __frexpl (long double __x, int *__exponent) __attribute__ ((__nothrow__)); | |
961 | extern long double ldexpl (long double __x, int __exponent) __attribute__ ((__nothrow__)); extern long double __ldexpl (long double __x, int __exponent) __attribute__ ((__nothrow__)); | |
962 | extern long double logl (long double __x) __attribute__ ((__nothrow__)); extern long double __logl (long double __x) __attribute__ ((__nothrow__)); | |
963 | extern long double log10l (long double __x) __attribute__ ((__nothrow__)); extern long double __log10l (long double __x) __attribute__ ((__nothrow__)); | |
964 | extern long double modfl (long double __x, long double *__iptr) __attribute__ ((__nothrow__)); extern long double __modfl (long double __x, long double *__iptr) __attribute__ ((__nothrow__)); | |
965 | ||
966 | ||
967 | extern long double expm1l (long double __x) __attribute__ ((__nothrow__)); extern long double __expm1l (long double __x) __attribute__ ((__nothrow__)); | |
968 | extern long double log1pl (long double __x) __attribute__ ((__nothrow__)); extern long double __log1pl (long double __x) __attribute__ ((__nothrow__)); | |
969 | extern long double logbl (long double __x) __attribute__ ((__nothrow__)); extern long double __logbl (long double __x) __attribute__ ((__nothrow__)); | |
970 | ||
971 | ||
972 | extern long double powl (long double __x, long double __y) __attribute__ ((__nothrow__)); extern long double __powl (long double __x, long double __y) __attribute__ ((__nothrow__)); | |
973 | extern long double sqrtl (long double __x) __attribute__ ((__nothrow__)); extern long double __sqrtl (long double __x) __attribute__ ((__nothrow__)); | |
974 | ||
975 | ||
976 | extern long double hypotl (long double __x, long double __y) __attribute__ ((__nothrow__)); extern long double __hypotl (long double __x, long double __y) __attribute__ ((__nothrow__)); | |
977 | ||
978 | ||
979 | extern long double cbrtl (long double __x) __attribute__ ((__nothrow__)); extern long double __cbrtl (long double __x) __attribute__ ((__nothrow__)); | |
980 | ||
981 | ||
982 | extern long double ceill (long double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern long double __ceill (long double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); | |
983 | extern long double fabsl (long double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern long double __fabsl (long double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); | |
984 | extern long double floorl (long double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern long double __floorl (long double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); | |
985 | extern long double fmodl (long double __x, long double __y) __attribute__ ((__nothrow__)); extern long double __fmodl (long double __x, long double __y) __attribute__ ((__nothrow__)); | |
986 | extern int __isinfl (long double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); | |
987 | extern int __finitel (long double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); | |
988 | ||
989 | extern int isinfl (long double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); | |
990 | extern int finitel (long double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); | |
991 | extern long double dreml (long double __x, long double __y) __attribute__ ((__nothrow__)); extern long double __dreml (long double __x, long double __y) __attribute__ ((__nothrow__)); | |
992 | extern long double significandl (long double __x) __attribute__ ((__nothrow__)); extern long double __significandl (long double __x) __attribute__ ((__nothrow__)); | |
993 | ||
994 | extern long double copysignl (long double __x, long double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern long double __copysignl (long double __x, long double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); | |
995 | ||
996 | extern int __isnanl (long double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); | |
997 | extern int isnanl (long double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); | |
998 | extern long double j0l (long double) __attribute__ ((__nothrow__)); extern long double __j0l (long double) __attribute__ ((__nothrow__)); | |
999 | extern long double j1l (long double) __attribute__ ((__nothrow__)); extern long double __j1l (long double) __attribute__ ((__nothrow__)); | |
1000 | extern long double jnl (int, long double) __attribute__ ((__nothrow__)); extern long double __jnl (int, long double) __attribute__ ((__nothrow__)); | |
1001 | extern long double y0l (long double) __attribute__ ((__nothrow__)); extern long double __y0l (long double) __attribute__ ((__nothrow__)); | |
1002 | extern long double y1l (long double) __attribute__ ((__nothrow__)); extern long double __y1l (long double) __attribute__ ((__nothrow__)); | |
1003 | extern long double ynl (int, long double) __attribute__ ((__nothrow__)); extern long double __ynl (int, long double) __attribute__ ((__nothrow__)); | |
1004 | ||
1005 | extern long double erfl (long double) __attribute__ ((__nothrow__)); extern long double __erfl (long double) __attribute__ ((__nothrow__)); | |
1006 | extern long double erfcl (long double) __attribute__ ((__nothrow__)); extern long double __erfcl (long double) __attribute__ ((__nothrow__)); | |
1007 | extern long double lgammal (long double) __attribute__ ((__nothrow__)); extern long double __lgammal (long double) __attribute__ ((__nothrow__)); | |
1008 | ||
1009 | extern long double gammal (long double) __attribute__ ((__nothrow__)); extern long double __gammal (long double) __attribute__ ((__nothrow__)); | |
1010 | extern long double lgammal_r (long double, int *__signgamp) __attribute__ ((__nothrow__)); extern long double __lgammal_r (long double, int *__signgamp) __attribute__ ((__nothrow__)); | |
1011 | ||
1012 | extern long double rintl (long double __x) __attribute__ ((__nothrow__)); extern long double __rintl (long double __x) __attribute__ ((__nothrow__)); | |
1013 | extern long double nextafterl (long double __x, long double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern long double __nextafterl (long double __x, long double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); | |
1014 | extern long double remainderl (long double __x, long double __y) __attribute__ ((__nothrow__)); extern long double __remainderl (long double __x, long double __y) __attribute__ ((__nothrow__)); | |
1015 | extern long double scalbnl (long double __x, int __n) __attribute__ ((__nothrow__)); extern long double __scalbnl (long double __x, int __n) __attribute__ ((__nothrow__)); | |
1016 | extern int ilogbl (long double __x) __attribute__ ((__nothrow__)); extern int __ilogbl (long double __x) __attribute__ ((__nothrow__)); | |
1017 | ||
1018 | extern long double scalbl (long double __x, long double __n) __attribute__ ((__nothrow__)); extern long double __scalbl (long double __x, long double __n) __attribute__ ((__nothrow__)); | |
1019 | extern int signgam; | |
1020 | typedef enum | |
1021 | { | |
1022 | _IEEE_ = -1, | |
1023 | _SVID_, | |
1024 | _XOPEN_, | |
1025 | _POSIX_, | |
1026 | _ISOC_ | |
1027 | } _LIB_VERSION_TYPE; | |
1028 | extern _LIB_VERSION_TYPE _LIB_VERSION; | |
1029 | struct exception | |
1030 | { | |
1031 | int type; | |
1032 | char *name; | |
1033 | double arg1; | |
1034 | double arg2; | |
1035 | double retval; | |
1036 | }; | |
1037 | extern int matherr (struct exception *__exc); | |
1038 | ||
1039 | const int MAXX = 1000, MAXY = 1000; | |
1040 | void draw(double re, double im, int its, int mits) { | |
1041 | struct pxl { | |
1042 | char a,b,c; | |
1043 | } p; | |
1044 | p.a = 255 * (1.0 - powf((float)its/(float)mits,1/3.0)); | |
1045 | p.b = 255 * (1.0 - powf((float)((2*its)%(mits/5))/(float)(mits/5),1/3.0)); | |
1046 | p.c = 255 * (1.0 - powf((float)((3*its)%(mits/3))/(float)(mits/3),1/3.0)); | |
1047 | putchar(p.a); | |
1048 | putchar(p.b); | |
1049 | putchar(p.c); | |
1050 | }; | |
1051 | void mandel(double _Complex Zin, double _Complex C, int mits) { | |
1052 | int its = 0; | |
1053 | int drwn = 0; | |
1054 | int px, py; | |
1055 | double _Complex Z = 0 + 0; | |
1056 | for (py = 0; py != MAXY; py++) { | |
1057 | for (px = 0; px != MAXX; px++) { | |
1058 | Z = 0; | |
1059 | C = 4.0 * ((double)px / (double)MAXX) - 2.0 + (__extension__ 1.0iF) * (4.0 * ((double)py / (double)MAXY) - 2.0); | |
1060 | its = 0; | |
1061 | drwn = 0; | |
1062 | while (its < mits) { | |
1063 | Z = Z*Z + C; | |
1064 | its++; | |
1065 | if (cabs(Z) > 2) { | |
1066 | draw(px, py, its, mits); | |
1067 | drwn = 1; | |
1068 | break; | |
1069 | }; | |
1070 | }; | |
1071 | if (!drwn) { | |
1072 | char p[]={0,0,0}; | |
1073 | putchar(p[0]); | |
1074 | putchar(p[1]); | |
1075 | putchar(p[2]); | |
1076 | }; | |
1077 | } | |
1078 | }; | |
1079 | }; | |
1080 | int main(void) { | |
1081 | printf("P6\n%i %i\n255\n",MAXX, MAXY); | |
1082 | mandel(0,0,400); | |
1083 | return 0; | |
1084 | }; |