Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # 1 "test.cpp"
- # 1 "<built-in>"
- # 1 "<command-line>"
- # 1 "/usr/include/stdc-predef.h" 1 3 4
- # 1 "<command-line>" 2
- # 1 "test.cpp"
- # 1 "/usr/include/stdio.h" 1 3 4
- # 27 "/usr/include/stdio.h" 3 4
- # 1 "/usr/include/features.h" 1 3 4
- # 374 "/usr/include/features.h" 3 4
- # 1 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 1 3 4
- # 385 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4
- # 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4
- # 386 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 2 3 4
- # 375 "/usr/include/features.h" 2 3 4
- # 398 "/usr/include/features.h" 3 4
- # 1 "/usr/include/x86_64-linux-gnu/gnu/stubs.h" 1 3 4
- # 10 "/usr/include/x86_64-linux-gnu/gnu/stubs.h" 3 4
- # 1 "/usr/include/x86_64-linux-gnu/gnu/stubs-64.h" 1 3 4
- # 11 "/usr/include/x86_64-linux-gnu/gnu/stubs.h" 2 3 4
- # 399 "/usr/include/features.h" 2 3 4
- # 28 "/usr/include/stdio.h" 2 3 4
- extern "C" {
- # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.9/include/stddef.h" 1 3 4
- # 212 "/usr/lib/gcc/x86_64-linux-gnu/4.9/include/stddef.h" 3 4
- typedef long unsigned int size_t;
- # 34 "/usr/include/stdio.h" 2 3 4
- # 1 "/usr/include/x86_64-linux-gnu/bits/types.h" 1 3 4
- # 27 "/usr/include/x86_64-linux-gnu/bits/types.h" 3 4
- # 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4
- # 28 "/usr/include/x86_64-linux-gnu/bits/types.h" 2 3 4
- typedef unsigned char __u_char;
- typedef unsigned short int __u_short;
- typedef unsigned int __u_int;
- typedef unsigned long int __u_long;
- typedef signed char __int8_t;
- typedef unsigned char __uint8_t;
- typedef signed short int __int16_t;
- typedef unsigned short int __uint16_t;
- typedef signed int __int32_t;
- typedef unsigned int __uint32_t;
- typedef signed long int __int64_t;
- typedef unsigned long int __uint64_t;
- typedef long int __quad_t;
- typedef unsigned long int __u_quad_t;
- # 121 "/usr/include/x86_64-linux-gnu/bits/types.h" 3 4
- # 1 "/usr/include/x86_64-linux-gnu/bits/typesizes.h" 1 3 4
- # 122 "/usr/include/x86_64-linux-gnu/bits/types.h" 2 3 4
- typedef unsigned long int __dev_t;
- typedef unsigned int __uid_t;
- typedef unsigned int __gid_t;
- typedef unsigned long int __ino_t;
- typedef unsigned long int __ino64_t;
- typedef unsigned int __mode_t;
- typedef unsigned long int __nlink_t;
- typedef long int __off_t;
- typedef long int __off64_t;
- typedef int __pid_t;
- typedef struct { int __val[2]; } __fsid_t;
- typedef long int __clock_t;
- typedef unsigned long int __rlim_t;
- typedef unsigned long int __rlim64_t;
- typedef unsigned int __id_t;
- typedef long int __time_t;
- typedef unsigned int __useconds_t;
- typedef long int __suseconds_t;
- typedef int __daddr_t;
- typedef int __key_t;
- typedef int __clockid_t;
- typedef void * __timer_t;
- typedef long int __blksize_t;
- typedef long int __blkcnt_t;
- typedef long int __blkcnt64_t;
- typedef unsigned long int __fsblkcnt_t;
- typedef unsigned long int __fsblkcnt64_t;
- typedef unsigned long int __fsfilcnt_t;
- typedef unsigned long int __fsfilcnt64_t;
- typedef long int __fsword_t;
- typedef long int __ssize_t;
- typedef long int __syscall_slong_t;
- typedef unsigned long int __syscall_ulong_t;
- typedef __off64_t __loff_t;
- typedef __quad_t *__qaddr_t;
- typedef char *__caddr_t;
- typedef long int __intptr_t;
- typedef unsigned int __socklen_t;
- # 36 "/usr/include/stdio.h" 2 3 4
- # 44 "/usr/include/stdio.h" 3 4
- struct _IO_FILE;
- typedef struct _IO_FILE FILE;
- # 64 "/usr/include/stdio.h" 3 4
- typedef struct _IO_FILE __FILE;
- # 74 "/usr/include/stdio.h" 3 4
- # 1 "/usr/include/libio.h" 1 3 4
- # 31 "/usr/include/libio.h" 3 4
- # 1 "/usr/include/_G_config.h" 1 3 4
- # 15 "/usr/include/_G_config.h" 3 4
- # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.9/include/stddef.h" 1 3 4
- # 16 "/usr/include/_G_config.h" 2 3 4
- # 1 "/usr/include/wchar.h" 1 3 4
- # 82 "/usr/include/wchar.h" 3 4
- typedef struct
- {
- int __count;
- union
- {
- unsigned int __wch;
- char __wchb[4];
- } __value;
- } __mbstate_t;
- # 21 "/usr/include/_G_config.h" 2 3 4
- typedef struct
- {
- __off_t __pos;
- __mbstate_t __state;
- } _G_fpos_t;
- typedef struct
- {
- __off64_t __pos;
- __mbstate_t __state;
- } _G_fpos64_t;
- # 32 "/usr/include/libio.h" 2 3 4
- # 49 "/usr/include/libio.h" 3 4
- # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.9/include/stdarg.h" 1 3 4
- # 40 "/usr/lib/gcc/x86_64-linux-gnu/4.9/include/stdarg.h" 3 4
- typedef __builtin_va_list __gnuc_va_list;
- # 50 "/usr/include/libio.h" 2 3 4
- # 144 "/usr/include/libio.h" 3 4
- struct _IO_jump_t; struct _IO_FILE;
- # 154 "/usr/include/libio.h" 3 4
- typedef void _IO_lock_t;
- struct _IO_marker {
- struct _IO_marker *_next;
- struct _IO_FILE *_sbuf;
- int _pos;
- # 177 "/usr/include/libio.h" 3 4
- };
- enum __codecvt_result
- {
- __codecvt_ok,
- __codecvt_partial,
- __codecvt_error,
- __codecvt_noconv
- };
- # 245 "/usr/include/libio.h" 3 4
- struct _IO_FILE {
- int _flags;
- char* _IO_read_ptr;
- char* _IO_read_end;
- char* _IO_read_base;
- char* _IO_write_base;
- char* _IO_write_ptr;
- char* _IO_write_end;
- char* _IO_buf_base;
- char* _IO_buf_end;
- char *_IO_save_base;
- char *_IO_backup_base;
- char *_IO_save_end;
- struct _IO_marker *_markers;
- struct _IO_FILE *_chain;
- int _fileno;
- int _flags2;
- __off_t _old_offset;
- unsigned short _cur_column;
- signed char _vtable_offset;
- char _shortbuf[1];
- _IO_lock_t *_lock;
- # 293 "/usr/include/libio.h" 3 4
- __off64_t _offset;
- # 302 "/usr/include/libio.h" 3 4
- void *__pad1;
- void *__pad2;
- void *__pad3;
- void *__pad4;
- size_t __pad5;
- int _mode;
- char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)];
- };
- struct _IO_FILE_plus;
- extern struct _IO_FILE_plus _IO_2_1_stdin_;
- extern struct _IO_FILE_plus _IO_2_1_stdout_;
- extern struct _IO_FILE_plus _IO_2_1_stderr_;
- # 338 "/usr/include/libio.h" 3 4
- typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes);
- typedef __ssize_t __io_write_fn (void *__cookie, const char *__buf,
- size_t __n);
- typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w);
- typedef int __io_close_fn (void *__cookie);
- typedef __io_read_fn cookie_read_function_t;
- typedef __io_write_fn cookie_write_function_t;
- typedef __io_seek_fn cookie_seek_function_t;
- typedef __io_close_fn cookie_close_function_t;
- typedef struct
- {
- __io_read_fn *read;
- __io_write_fn *write;
- __io_seek_fn *seek;
- __io_close_fn *close;
- } _IO_cookie_io_functions_t;
- typedef _IO_cookie_io_functions_t cookie_io_functions_t;
- struct _IO_cookie_file;
- extern void _IO_cookie_init (struct _IO_cookie_file *__cfile, int __read_write,
- void *__cookie, _IO_cookie_io_functions_t __fns);
- extern "C" {
- extern int __underflow (_IO_FILE *);
- extern int __uflow (_IO_FILE *);
- extern int __overflow (_IO_FILE *, int);
- # 434 "/usr/include/libio.h" 3 4
- extern int _IO_getc (_IO_FILE *__fp);
- extern int _IO_putc (int __c, _IO_FILE *__fp);
- extern int _IO_feof (_IO_FILE *__fp) throw ();
- extern int _IO_ferror (_IO_FILE *__fp) throw ();
- extern int _IO_peekc_locked (_IO_FILE *__fp);
- extern void _IO_flockfile (_IO_FILE *) throw ();
- extern void _IO_funlockfile (_IO_FILE *) throw ();
- extern int _IO_ftrylockfile (_IO_FILE *) throw ();
- # 464 "/usr/include/libio.h" 3 4
- extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict,
- __gnuc_va_list, int *__restrict);
- extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict,
- __gnuc_va_list);
- extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t);
- extern size_t _IO_sgetn (_IO_FILE *, void *, size_t);
- extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int);
- extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int);
- extern void _IO_free_backup_area (_IO_FILE *) throw ();
- # 526 "/usr/include/libio.h" 3 4
- }
- # 75 "/usr/include/stdio.h" 2 3 4
- typedef __gnuc_va_list va_list;
- # 90 "/usr/include/stdio.h" 3 4
- typedef __off_t off_t;
- typedef __off64_t off64_t;
- typedef __ssize_t ssize_t;
- typedef _G_fpos_t fpos_t;
- typedef _G_fpos64_t fpos64_t;
- # 164 "/usr/include/stdio.h" 3 4
- # 1 "/usr/include/x86_64-linux-gnu/bits/stdio_lim.h" 1 3 4
- # 165 "/usr/include/stdio.h" 2 3 4
- extern struct _IO_FILE *stdin;
- extern struct _IO_FILE *stdout;
- extern struct _IO_FILE *stderr;
- extern int remove (const char *__filename) throw ();
- extern int rename (const char *__old, const char *__new) throw ();
- extern int renameat (int __oldfd, const char *__old, int __newfd,
- const char *__new) throw ();
- extern FILE *tmpfile (void) ;
- # 205 "/usr/include/stdio.h" 3 4
- extern FILE *tmpfile64 (void) ;
- extern char *tmpnam (char *__s) throw () ;
- extern char *tmpnam_r (char *__s) throw () ;
- # 227 "/usr/include/stdio.h" 3 4
- extern char *tempnam (const char *__dir, const char *__pfx)
- throw () __attribute__ ((__malloc__)) ;
- extern int fclose (FILE *__stream);
- extern int fflush (FILE *__stream);
- # 252 "/usr/include/stdio.h" 3 4
- extern int fflush_unlocked (FILE *__stream);
- # 262 "/usr/include/stdio.h" 3 4
- extern int fcloseall (void);
- extern FILE *fopen (const char *__restrict __filename,
- const char *__restrict __modes) ;
- extern FILE *freopen (const char *__restrict __filename,
- const char *__restrict __modes,
- FILE *__restrict __stream) ;
- # 295 "/usr/include/stdio.h" 3 4
- extern FILE *fopen64 (const char *__restrict __filename,
- const char *__restrict __modes) ;
- extern FILE *freopen64 (const char *__restrict __filename,
- const char *__restrict __modes,
- FILE *__restrict __stream) ;
- extern FILE *fdopen (int __fd, const char *__modes) throw () ;
- extern FILE *fopencookie (void *__restrict __magic_cookie,
- const char *__restrict __modes,
- _IO_cookie_io_functions_t __io_funcs) throw () ;
- extern FILE *fmemopen (void *__s, size_t __len, const char *__modes)
- throw () ;
- extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) throw () ;
- extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) throw ();
- extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf,
- int __modes, size_t __n) throw ();
- extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf,
- size_t __size) throw ();
- extern void setlinebuf (FILE *__stream) throw ();
- extern int fprintf (FILE *__restrict __stream,
- const char *__restrict __format, ...);
- extern int printf (const char *__restrict __format, ...);
- extern int sprintf (char *__restrict __s,
- const char *__restrict __format, ...) throw ();
- extern int vfprintf (FILE *__restrict __s, const char *__restrict __format,
- __gnuc_va_list __arg);
- extern int vprintf (const char *__restrict __format, __gnuc_va_list __arg);
- extern int vsprintf (char *__restrict __s, const char *__restrict __format,
- __gnuc_va_list __arg) throw ();
- extern int snprintf (char *__restrict __s, size_t __maxlen,
- const char *__restrict __format, ...)
- throw () __attribute__ ((__format__ (__printf__, 3, 4)));
- extern int vsnprintf (char *__restrict __s, size_t __maxlen,
- const char *__restrict __format, __gnuc_va_list __arg)
- throw () __attribute__ ((__format__ (__printf__, 3, 0)));
- extern int vasprintf (char **__restrict __ptr, const char *__restrict __f,
- __gnuc_va_list __arg)
- throw () __attribute__ ((__format__ (__printf__, 2, 0))) ;
- extern int __asprintf (char **__restrict __ptr,
- const char *__restrict __fmt, ...)
- throw () __attribute__ ((__format__ (__printf__, 2, 3))) ;
- extern int asprintf (char **__restrict __ptr,
- const char *__restrict __fmt, ...)
- throw () __attribute__ ((__format__ (__printf__, 2, 3))) ;
- extern int vdprintf (int __fd, const char *__restrict __fmt,
- __gnuc_va_list __arg)
- __attribute__ ((__format__ (__printf__, 2, 0)));
- extern int dprintf (int __fd, const char *__restrict __fmt, ...)
- __attribute__ ((__format__ (__printf__, 2, 3)));
- extern int fscanf (FILE *__restrict __stream,
- const char *__restrict __format, ...) ;
- extern int scanf (const char *__restrict __format, ...) ;
- extern int sscanf (const char *__restrict __s,
- const char *__restrict __format, ...) throw ();
- # 463 "/usr/include/stdio.h" 3 4
- extern int vfscanf (FILE *__restrict __s, const char *__restrict __format,
- __gnuc_va_list __arg)
- __attribute__ ((__format__ (__scanf__, 2, 0))) ;
- extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg)
- __attribute__ ((__format__ (__scanf__, 1, 0))) ;
- extern int vsscanf (const char *__restrict __s,
- const char *__restrict __format, __gnuc_va_list __arg)
- throw () __attribute__ ((__format__ (__scanf__, 2, 0)));
- # 522 "/usr/include/stdio.h" 3 4
- extern int fgetc (FILE *__stream);
- extern int getc (FILE *__stream);
- extern int getchar (void);
- # 550 "/usr/include/stdio.h" 3 4
- extern int getc_unlocked (FILE *__stream);
- extern int getchar_unlocked (void);
- # 561 "/usr/include/stdio.h" 3 4
- extern int fgetc_unlocked (FILE *__stream);
- extern int fputc (int __c, FILE *__stream);
- extern int putc (int __c, FILE *__stream);
- extern int putchar (int __c);
- # 594 "/usr/include/stdio.h" 3 4
- extern int fputc_unlocked (int __c, FILE *__stream);
- extern int putc_unlocked (int __c, FILE *__stream);
- extern int putchar_unlocked (int __c);
- extern int getw (FILE *__stream);
- extern int putw (int __w, FILE *__stream);
- extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
- ;
- # 638 "/usr/include/stdio.h" 3 4
- extern char *gets (char *__s) __attribute__ ((__deprecated__));
- # 649 "/usr/include/stdio.h" 3 4
- extern char *fgets_unlocked (char *__restrict __s, int __n,
- FILE *__restrict __stream) ;
- # 665 "/usr/include/stdio.h" 3 4
- extern __ssize_t __getdelim (char **__restrict __lineptr,
- size_t *__restrict __n, int __delimiter,
- FILE *__restrict __stream) ;
- extern __ssize_t getdelim (char **__restrict __lineptr,
- size_t *__restrict __n, int __delimiter,
- FILE *__restrict __stream) ;
- extern __ssize_t getline (char **__restrict __lineptr,
- size_t *__restrict __n,
- FILE *__restrict __stream) ;
- extern int fputs (const char *__restrict __s, FILE *__restrict __stream);
- extern int puts (const char *__s);
- extern int ungetc (int __c, FILE *__stream);
- extern size_t fread (void *__restrict __ptr, size_t __size,
- size_t __n, FILE *__restrict __stream) ;
- extern size_t fwrite (const void *__restrict __ptr, size_t __size,
- size_t __n, FILE *__restrict __s);
- # 726 "/usr/include/stdio.h" 3 4
- extern int fputs_unlocked (const char *__restrict __s,
- FILE *__restrict __stream);
- # 737 "/usr/include/stdio.h" 3 4
- extern size_t fread_unlocked (void *__restrict __ptr, size_t __size,
- size_t __n, FILE *__restrict __stream) ;
- extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size,
- size_t __n, FILE *__restrict __stream);
- extern int fseek (FILE *__stream, long int __off, int __whence);
- extern long int ftell (FILE *__stream) ;
- extern void rewind (FILE *__stream);
- # 773 "/usr/include/stdio.h" 3 4
- extern int fseeko (FILE *__stream, __off_t __off, int __whence);
- extern __off_t ftello (FILE *__stream) ;
- # 792 "/usr/include/stdio.h" 3 4
- extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos);
- extern int fsetpos (FILE *__stream, const fpos_t *__pos);
- # 815 "/usr/include/stdio.h" 3 4
- extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence);
- extern __off64_t ftello64 (FILE *__stream) ;
- extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos);
- extern int fsetpos64 (FILE *__stream, const fpos64_t *__pos);
- extern void clearerr (FILE *__stream) throw ();
- extern int feof (FILE *__stream) throw () ;
- extern int ferror (FILE *__stream) throw () ;
- extern void clearerr_unlocked (FILE *__stream) throw ();
- extern int feof_unlocked (FILE *__stream) throw () ;
- extern int ferror_unlocked (FILE *__stream) throw () ;
- extern void perror (const char *__s);
- # 1 "/usr/include/x86_64-linux-gnu/bits/sys_errlist.h" 1 3 4
- # 26 "/usr/include/x86_64-linux-gnu/bits/sys_errlist.h" 3 4
- extern int sys_nerr;
- extern const char *const sys_errlist[];
- extern int _sys_nerr;
- extern const char *const _sys_errlist[];
- # 854 "/usr/include/stdio.h" 2 3 4
- extern int fileno (FILE *__stream) throw () ;
- extern int fileno_unlocked (FILE *__stream) throw () ;
- # 873 "/usr/include/stdio.h" 3 4
- extern FILE *popen (const char *__command, const char *__modes) ;
- extern int pclose (FILE *__stream);
- extern char *ctermid (char *__s) throw ();
- extern char *cuserid (char *__s);
- struct obstack;
- extern int obstack_printf (struct obstack *__restrict __obstack,
- const char *__restrict __format, ...)
- throw () __attribute__ ((__format__ (__printf__, 2, 3)));
- extern int obstack_vprintf (struct obstack *__restrict __obstack,
- const char *__restrict __format,
- __gnuc_va_list __args)
- throw () __attribute__ ((__format__ (__printf__, 2, 0)));
- extern void flockfile (FILE *__stream) throw ();
- extern int ftrylockfile (FILE *__stream) throw () ;
- extern void funlockfile (FILE *__stream) throw ();
- # 943 "/usr/include/stdio.h" 3 4
- }
- # 2 "test.cpp" 2
- # 1 "/usr/include/stdlib.h" 1 3 4
- # 32 "/usr/include/stdlib.h" 3 4
- # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.9/include/stddef.h" 1 3 4
- # 33 "/usr/include/stdlib.h" 2 3 4
- extern "C" {
- # 1 "/usr/include/x86_64-linux-gnu/bits/waitflags.h" 1 3 4
- # 50 "/usr/include/x86_64-linux-gnu/bits/waitflags.h" 3 4
- typedef enum
- {
- P_ALL,
- P_PID,
- P_PGID
- } idtype_t;
- # 42 "/usr/include/stdlib.h" 2 3 4
- # 1 "/usr/include/x86_64-linux-gnu/bits/waitstatus.h" 1 3 4
- # 64 "/usr/include/x86_64-linux-gnu/bits/waitstatus.h" 3 4
- # 1 "/usr/include/endian.h" 1 3 4
- # 36 "/usr/include/endian.h" 3 4
- # 1 "/usr/include/x86_64-linux-gnu/bits/endian.h" 1 3 4
- # 37 "/usr/include/endian.h" 2 3 4
- # 60 "/usr/include/endian.h" 3 4
- # 1 "/usr/include/x86_64-linux-gnu/bits/byteswap.h" 1 3 4
- # 28 "/usr/include/x86_64-linux-gnu/bits/byteswap.h" 3 4
- # 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4
- # 29 "/usr/include/x86_64-linux-gnu/bits/byteswap.h" 2 3 4
- # 1 "/usr/include/x86_64-linux-gnu/bits/byteswap-16.h" 1 3 4
- # 36 "/usr/include/x86_64-linux-gnu/bits/byteswap.h" 2 3 4
- # 44 "/usr/include/x86_64-linux-gnu/bits/byteswap.h" 3 4
- static __inline unsigned int
- __bswap_32 (unsigned int __bsx)
- {
- return __builtin_bswap32 (__bsx);
- }
- # 108 "/usr/include/x86_64-linux-gnu/bits/byteswap.h" 3 4
- static __inline __uint64_t
- __bswap_64 (__uint64_t __bsx)
- {
- return __builtin_bswap64 (__bsx);
- }
- # 61 "/usr/include/endian.h" 2 3 4
- # 65 "/usr/include/x86_64-linux-gnu/bits/waitstatus.h" 2 3 4
- union wait
- {
- int w_status;
- struct
- {
- unsigned int __w_termsig:7;
- unsigned int __w_coredump:1;
- unsigned int __w_retcode:8;
- unsigned int:16;
- } __wait_terminated;
- struct
- {
- unsigned int __w_stopval:8;
- unsigned int __w_stopsig:8;
- unsigned int:16;
- } __wait_stopped;
- };
- # 43 "/usr/include/stdlib.h" 2 3 4
- # 95 "/usr/include/stdlib.h" 3 4
- typedef struct
- {
- int quot;
- int rem;
- } div_t;
- typedef struct
- {
- long int quot;
- long int rem;
- } ldiv_t;
- __extension__ typedef struct
- {
- long long int quot;
- long long int rem;
- } lldiv_t;
- # 139 "/usr/include/stdlib.h" 3 4
- extern size_t __ctype_get_mb_cur_max (void) throw () ;
- extern double atof (const char *__nptr)
- throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
- extern int atoi (const char *__nptr)
- throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
- extern long int atol (const char *__nptr)
- throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
- __extension__ extern long long int atoll (const char *__nptr)
- throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
- extern double strtod (const char *__restrict __nptr,
- char **__restrict __endptr)
- throw () __attribute__ ((__nonnull__ (1)));
- extern float strtof (const char *__restrict __nptr,
- char **__restrict __endptr) throw () __attribute__ ((__nonnull__ (1)));
- extern long double strtold (const char *__restrict __nptr,
- char **__restrict __endptr)
- throw () __attribute__ ((__nonnull__ (1)));
- extern long int strtol (const char *__restrict __nptr,
- char **__restrict __endptr, int __base)
- throw () __attribute__ ((__nonnull__ (1)));
- extern unsigned long int strtoul (const char *__restrict __nptr,
- char **__restrict __endptr, int __base)
- throw () __attribute__ ((__nonnull__ (1)));
- __extension__
- extern long long int strtoq (const char *__restrict __nptr,
- char **__restrict __endptr, int __base)
- throw () __attribute__ ((__nonnull__ (1)));
- __extension__
- extern unsigned long long int strtouq (const char *__restrict __nptr,
- char **__restrict __endptr, int __base)
- throw () __attribute__ ((__nonnull__ (1)));
- __extension__
- extern long long int strtoll (const char *__restrict __nptr,
- char **__restrict __endptr, int __base)
- throw () __attribute__ ((__nonnull__ (1)));
- __extension__
- extern unsigned long long int strtoull (const char *__restrict __nptr,
- char **__restrict __endptr, int __base)
- throw () __attribute__ ((__nonnull__ (1)));
- # 235 "/usr/include/stdlib.h" 3 4
- # 1 "/usr/include/xlocale.h" 1 3 4
- # 27 "/usr/include/xlocale.h" 3 4
- typedef struct __locale_struct
- {
- struct __locale_data *__locales[13];
- const unsigned short int *__ctype_b;
- const int *__ctype_tolower;
- const int *__ctype_toupper;
- const char *__names[13];
- } *__locale_t;
- typedef __locale_t locale_t;
- # 236 "/usr/include/stdlib.h" 2 3 4
- extern long int strtol_l (const char *__restrict __nptr,
- char **__restrict __endptr, int __base,
- __locale_t __loc) throw () __attribute__ ((__nonnull__ (1, 4)));
- extern unsigned long int strtoul_l (const char *__restrict __nptr,
- char **__restrict __endptr,
- int __base, __locale_t __loc)
- throw () __attribute__ ((__nonnull__ (1, 4)));
- __extension__
- extern long long int strtoll_l (const char *__restrict __nptr,
- char **__restrict __endptr, int __base,
- __locale_t __loc)
- throw () __attribute__ ((__nonnull__ (1, 4)));
- __extension__
- extern unsigned long long int strtoull_l (const char *__restrict __nptr,
- char **__restrict __endptr,
- int __base, __locale_t __loc)
- throw () __attribute__ ((__nonnull__ (1, 4)));
- extern double strtod_l (const char *__restrict __nptr,
- char **__restrict __endptr, __locale_t __loc)
- throw () __attribute__ ((__nonnull__ (1, 3)));
- extern float strtof_l (const char *__restrict __nptr,
- char **__restrict __endptr, __locale_t __loc)
- throw () __attribute__ ((__nonnull__ (1, 3)));
- extern long double strtold_l (const char *__restrict __nptr,
- char **__restrict __endptr,
- __locale_t __loc)
- throw () __attribute__ ((__nonnull__ (1, 3)));
- # 305 "/usr/include/stdlib.h" 3 4
- extern char *l64a (long int __n) throw () ;
- extern long int a64l (const char *__s)
- throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
- # 1 "/usr/include/x86_64-linux-gnu/sys/types.h" 1 3 4
- # 27 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4
- extern "C" {
- typedef __u_char u_char;
- typedef __u_short u_short;
- typedef __u_int u_int;
- typedef __u_long u_long;
- typedef __quad_t quad_t;
- typedef __u_quad_t u_quad_t;
- typedef __fsid_t fsid_t;
- typedef __loff_t loff_t;
- typedef __ino_t ino_t;
- typedef __ino64_t ino64_t;
- typedef __dev_t dev_t;
- typedef __gid_t gid_t;
- typedef __mode_t mode_t;
- typedef __nlink_t nlink_t;
- typedef __uid_t uid_t;
- # 98 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4
- typedef __pid_t pid_t;
- typedef __id_t id_t;
- # 115 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4
- typedef __daddr_t daddr_t;
- typedef __caddr_t caddr_t;
- typedef __key_t key_t;
- # 132 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4
- # 1 "/usr/include/time.h" 1 3 4
- # 57 "/usr/include/time.h" 3 4
- typedef __clock_t clock_t;
- # 73 "/usr/include/time.h" 3 4
- typedef __time_t time_t;
- # 91 "/usr/include/time.h" 3 4
- typedef __clockid_t clockid_t;
- # 103 "/usr/include/time.h" 3 4
- typedef __timer_t timer_t;
- # 133 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4
- typedef __useconds_t useconds_t;
- typedef __suseconds_t suseconds_t;
- # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.9/include/stddef.h" 1 3 4
- # 147 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4
- typedef unsigned long int ulong;
- typedef unsigned short int ushort;
- typedef unsigned int uint;
- # 194 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4
- typedef int int8_t __attribute__ ((__mode__ (__QI__)));
- typedef int int16_t __attribute__ ((__mode__ (__HI__)));
- typedef int int32_t __attribute__ ((__mode__ (__SI__)));
- typedef int int64_t __attribute__ ((__mode__ (__DI__)));
- typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__)));
- typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__)));
- typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__)));
- typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__)));
- typedef int register_t __attribute__ ((__mode__ (__word__)));
- # 219 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4
- # 1 "/usr/include/x86_64-linux-gnu/sys/select.h" 1 3 4
- # 30 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4
- # 1 "/usr/include/x86_64-linux-gnu/bits/select.h" 1 3 4
- # 22 "/usr/include/x86_64-linux-gnu/bits/select.h" 3 4
- # 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4
- # 23 "/usr/include/x86_64-linux-gnu/bits/select.h" 2 3 4
- # 31 "/usr/include/x86_64-linux-gnu/sys/select.h" 2 3 4
- # 1 "/usr/include/x86_64-linux-gnu/bits/sigset.h" 1 3 4
- # 22 "/usr/include/x86_64-linux-gnu/bits/sigset.h" 3 4
- typedef int __sig_atomic_t;
- typedef struct
- {
- unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))];
- } __sigset_t;
- # 34 "/usr/include/x86_64-linux-gnu/sys/select.h" 2 3 4
- typedef __sigset_t sigset_t;
- # 1 "/usr/include/time.h" 1 3 4
- # 120 "/usr/include/time.h" 3 4
- struct timespec
- {
- __time_t tv_sec;
- __syscall_slong_t tv_nsec;
- };
- # 44 "/usr/include/x86_64-linux-gnu/sys/select.h" 2 3 4
- # 1 "/usr/include/x86_64-linux-gnu/bits/time.h" 1 3 4
- # 30 "/usr/include/x86_64-linux-gnu/bits/time.h" 3 4
- struct timeval
- {
- __time_t tv_sec;
- __suseconds_t tv_usec;
- };
- # 46 "/usr/include/x86_64-linux-gnu/sys/select.h" 2 3 4
- # 54 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4
- typedef long int __fd_mask;
- # 64 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4
- typedef struct
- {
- __fd_mask fds_bits[1024 / (8 * (int) sizeof (__fd_mask))];
- } fd_set;
- typedef __fd_mask fd_mask;
- # 96 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4
- extern "C" {
- # 106 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4
- extern int select (int __nfds, fd_set *__restrict __readfds,
- fd_set *__restrict __writefds,
- fd_set *__restrict __exceptfds,
- struct timeval *__restrict __timeout);
- # 118 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4
- extern int pselect (int __nfds, fd_set *__restrict __readfds,
- fd_set *__restrict __writefds,
- fd_set *__restrict __exceptfds,
- const struct timespec *__restrict __timeout,
- const __sigset_t *__restrict __sigmask);
- # 131 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4
- }
- # 220 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4
- # 1 "/usr/include/x86_64-linux-gnu/sys/sysmacros.h" 1 3 4
- # 24 "/usr/include/x86_64-linux-gnu/sys/sysmacros.h" 3 4
- extern "C" {
- __extension__
- extern unsigned int gnu_dev_major (unsigned long long int __dev)
- throw () __attribute__ ((__const__));
- __extension__
- extern unsigned int gnu_dev_minor (unsigned long long int __dev)
- throw () __attribute__ ((__const__));
- __extension__
- extern unsigned long long int gnu_dev_makedev (unsigned int __major,
- unsigned int __minor)
- throw () __attribute__ ((__const__));
- # 58 "/usr/include/x86_64-linux-gnu/sys/sysmacros.h" 3 4
- }
- # 223 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4
- typedef __blksize_t blksize_t;
- typedef __blkcnt_t blkcnt_t;
- typedef __fsblkcnt_t fsblkcnt_t;
- typedef __fsfilcnt_t fsfilcnt_t;
- # 262 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4
- typedef __blkcnt64_t blkcnt64_t;
- typedef __fsblkcnt64_t fsblkcnt64_t;
- typedef __fsfilcnt64_t fsfilcnt64_t;
- # 1 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 1 3 4
- # 21 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 3 4
- # 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4
- # 22 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 2 3 4
- # 60 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 3 4
- typedef unsigned long int pthread_t;
- union pthread_attr_t
- {
- char __size[56];
- long int __align;
- };
- typedef union pthread_attr_t pthread_attr_t;
- typedef struct __pthread_internal_list
- {
- struct __pthread_internal_list *__prev;
- struct __pthread_internal_list *__next;
- } __pthread_list_t;
- # 90 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 3 4
- typedef union
- {
- struct __pthread_mutex_s
- {
- int __lock;
- unsigned int __count;
- int __owner;
- unsigned int __nusers;
- int __kind;
- short __spins;
- short __elision;
- __pthread_list_t __list;
- # 124 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 3 4
- } __data;
- char __size[40];
- long int __align;
- } pthread_mutex_t;
- typedef union
- {
- char __size[4];
- int __align;
- } pthread_mutexattr_t;
- typedef union
- {
- struct
- {
- int __lock;
- unsigned int __futex;
- __extension__ unsigned long long int __total_seq;
- __extension__ unsigned long long int __wakeup_seq;
- __extension__ unsigned long long int __woken_seq;
- void *__mutex;
- unsigned int __nwaiters;
- unsigned int __broadcast_seq;
- } __data;
- char __size[48];
- __extension__ long long int __align;
- } pthread_cond_t;
- typedef union
- {
- char __size[4];
- int __align;
- } pthread_condattr_t;
- typedef unsigned int pthread_key_t;
- typedef int pthread_once_t;
- typedef union
- {
- struct
- {
- int __lock;
- unsigned int __nr_readers;
- unsigned int __readers_wakeup;
- unsigned int __writer_wakeup;
- unsigned int __nr_readers_queued;
- unsigned int __nr_writers_queued;
- int __writer;
- int __shared;
- unsigned long int __pad1;
- unsigned long int __pad2;
- unsigned int __flags;
- } __data;
- # 211 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 3 4
- char __size[56];
- long int __align;
- } pthread_rwlock_t;
- typedef union
- {
- char __size[8];
- long int __align;
- } pthread_rwlockattr_t;
- typedef volatile int pthread_spinlock_t;
- typedef union
- {
- char __size[32];
- long int __align;
- } pthread_barrier_t;
- typedef union
- {
- char __size[4];
- int __align;
- } pthread_barrierattr_t;
- # 271 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4
- }
- # 315 "/usr/include/stdlib.h" 2 3 4
- extern long int random (void) throw ();
- extern void srandom (unsigned int __seed) throw ();
- extern char *initstate (unsigned int __seed, char *__statebuf,
- size_t __statelen) throw () __attribute__ ((__nonnull__ (2)));
- extern char *setstate (char *__statebuf) throw () __attribute__ ((__nonnull__ (1)));
- struct random_data
- {
- int32_t *fptr;
- int32_t *rptr;
- int32_t *state;
- int rand_type;
- int rand_deg;
- int rand_sep;
- int32_t *end_ptr;
- };
- extern int random_r (struct random_data *__restrict __buf,
- int32_t *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2)));
- extern int srandom_r (unsigned int __seed, struct random_data *__buf)
- throw () __attribute__ ((__nonnull__ (2)));
- extern int initstate_r (unsigned int __seed, char *__restrict __statebuf,
- size_t __statelen,
- struct random_data *__restrict __buf)
- throw () __attribute__ ((__nonnull__ (2, 4)));
- extern int setstate_r (char *__restrict __statebuf,
- struct random_data *__restrict __buf)
- throw () __attribute__ ((__nonnull__ (1, 2)));
- extern int rand (void) throw ();
- extern void srand (unsigned int __seed) throw ();
- extern int rand_r (unsigned int *__seed) throw ();
- extern double drand48 (void) throw ();
- extern double erand48 (unsigned short int __xsubi[3]) throw () __attribute__ ((__nonnull__ (1)));
- extern long int lrand48 (void) throw ();
- extern long int nrand48 (unsigned short int __xsubi[3])
- throw () __attribute__ ((__nonnull__ (1)));
- extern long int mrand48 (void) throw ();
- extern long int jrand48 (unsigned short int __xsubi[3])
- throw () __attribute__ ((__nonnull__ (1)));
- extern void srand48 (long int __seedval) throw ();
- extern unsigned short int *seed48 (unsigned short int __seed16v[3])
- throw () __attribute__ ((__nonnull__ (1)));
- extern void lcong48 (unsigned short int __param[7]) throw () __attribute__ ((__nonnull__ (1)));
- struct drand48_data
- {
- unsigned short int __x[3];
- unsigned short int __old_x[3];
- unsigned short int __c;
- unsigned short int __init;
- __extension__ unsigned long long int __a;
- };
- extern int drand48_r (struct drand48_data *__restrict __buffer,
- double *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2)));
- extern int erand48_r (unsigned short int __xsubi[3],
- struct drand48_data *__restrict __buffer,
- double *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2)));
- extern int lrand48_r (struct drand48_data *__restrict __buffer,
- long int *__restrict __result)
- throw () __attribute__ ((__nonnull__ (1, 2)));
- extern int nrand48_r (unsigned short int __xsubi[3],
- struct drand48_data *__restrict __buffer,
- long int *__restrict __result)
- throw () __attribute__ ((__nonnull__ (1, 2)));
- extern int mrand48_r (struct drand48_data *__restrict __buffer,
- long int *__restrict __result)
- throw () __attribute__ ((__nonnull__ (1, 2)));
- extern int jrand48_r (unsigned short int __xsubi[3],
- struct drand48_data *__restrict __buffer,
- long int *__restrict __result)
- throw () __attribute__ ((__nonnull__ (1, 2)));
- extern int srand48_r (long int __seedval, struct drand48_data *__buffer)
- throw () __attribute__ ((__nonnull__ (2)));
- extern int seed48_r (unsigned short int __seed16v[3],
- struct drand48_data *__buffer) throw () __attribute__ ((__nonnull__ (1, 2)));
- extern int lcong48_r (unsigned short int __param[7],
- struct drand48_data *__buffer)
- throw () __attribute__ ((__nonnull__ (1, 2)));
- extern void *malloc (size_t __size) throw () __attribute__ ((__malloc__)) ;
- extern void *calloc (size_t __nmemb, size_t __size)
- throw () __attribute__ ((__malloc__)) ;
- extern void *realloc (void *__ptr, size_t __size)
- throw () __attribute__ ((__warn_unused_result__));
- extern void free (void *__ptr) throw ();
- extern void cfree (void *__ptr) throw ();
- # 1 "/usr/include/alloca.h" 1 3 4
- # 24 "/usr/include/alloca.h" 3 4
- # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.9/include/stddef.h" 1 3 4
- # 25 "/usr/include/alloca.h" 2 3 4
- extern "C" {
- extern void *alloca (size_t __size) throw ();
- }
- # 493 "/usr/include/stdlib.h" 2 3 4
- extern void *valloc (size_t __size) throw () __attribute__ ((__malloc__)) ;
- extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size)
- throw () __attribute__ ((__nonnull__ (1))) ;
- extern void *aligned_alloc (size_t __alignment, size_t __size)
- throw () __attribute__ ((__malloc__)) __attribute__ ((__alloc_size__ (2))) ;
- extern void abort (void) throw () __attribute__ ((__noreturn__));
- extern int atexit (void (*__func) (void)) throw () __attribute__ ((__nonnull__ (1)));
- extern "C++" int at_quick_exit (void (*__func) (void))
- throw () __asm ("at_quick_exit") __attribute__ ((__nonnull__ (1)));
- extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg)
- throw () __attribute__ ((__nonnull__ (1)));
- extern void exit (int __status) throw () __attribute__ ((__noreturn__));
- extern void quick_exit (int __status) throw () __attribute__ ((__noreturn__));
- extern void _Exit (int __status) throw () __attribute__ ((__noreturn__));
- extern char *getenv (const char *__name) throw () __attribute__ ((__nonnull__ (1))) ;
- extern char *secure_getenv (const char *__name)
- throw () __attribute__ ((__nonnull__ (1))) ;
- extern int putenv (char *__string) throw () __attribute__ ((__nonnull__ (1)));
- extern int setenv (const char *__name, const char *__value, int __replace)
- throw () __attribute__ ((__nonnull__ (2)));
- extern int unsetenv (const char *__name) throw () __attribute__ ((__nonnull__ (1)));
- extern int clearenv (void) throw ();
- # 606 "/usr/include/stdlib.h" 3 4
- extern char *mktemp (char *__template) throw () __attribute__ ((__nonnull__ (1)));
- # 620 "/usr/include/stdlib.h" 3 4
- extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) ;
- # 630 "/usr/include/stdlib.h" 3 4
- extern int mkstemp64 (char *__template) __attribute__ ((__nonnull__ (1))) ;
- # 642 "/usr/include/stdlib.h" 3 4
- extern int mkstemps (char *__template, int __suffixlen) __attribute__ ((__nonnull__ (1))) ;
- # 652 "/usr/include/stdlib.h" 3 4
- extern int mkstemps64 (char *__template, int __suffixlen)
- __attribute__ ((__nonnull__ (1))) ;
- # 663 "/usr/include/stdlib.h" 3 4
- extern char *mkdtemp (char *__template) throw () __attribute__ ((__nonnull__ (1))) ;
- # 674 "/usr/include/stdlib.h" 3 4
- extern int mkostemp (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) ;
- # 684 "/usr/include/stdlib.h" 3 4
- extern int mkostemp64 (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) ;
- # 694 "/usr/include/stdlib.h" 3 4
- extern int mkostemps (char *__template, int __suffixlen, int __flags)
- __attribute__ ((__nonnull__ (1))) ;
- # 706 "/usr/include/stdlib.h" 3 4
- extern int mkostemps64 (char *__template, int __suffixlen, int __flags)
- __attribute__ ((__nonnull__ (1))) ;
- extern int system (const char *__command) ;
- extern char *canonicalize_file_name (const char *__name)
- throw () __attribute__ ((__nonnull__ (1))) ;
- # 734 "/usr/include/stdlib.h" 3 4
- extern char *realpath (const char *__restrict __name,
- char *__restrict __resolved) throw () ;
- typedef int (*__compar_fn_t) (const void *, const void *);
- typedef __compar_fn_t comparison_fn_t;
- typedef int (*__compar_d_fn_t) (const void *, const void *, void *);
- extern void *bsearch (const void *__key, const void *__base,
- size_t __nmemb, size_t __size, __compar_fn_t __compar)
- __attribute__ ((__nonnull__ (1, 2, 5))) ;
- extern void qsort (void *__base, size_t __nmemb, size_t __size,
- __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4)));
- extern void qsort_r (void *__base, size_t __nmemb, size_t __size,
- __compar_d_fn_t __compar, void *__arg)
- __attribute__ ((__nonnull__ (1, 4)));
- extern int abs (int __x) throw () __attribute__ ((__const__)) ;
- extern long int labs (long int __x) throw () __attribute__ ((__const__)) ;
- __extension__ extern long long int llabs (long long int __x)
- throw () __attribute__ ((__const__)) ;
- extern div_t div (int __numer, int __denom)
- throw () __attribute__ ((__const__)) ;
- extern ldiv_t ldiv (long int __numer, long int __denom)
- throw () __attribute__ ((__const__)) ;
- __extension__ extern lldiv_t lldiv (long long int __numer,
- long long int __denom)
- throw () __attribute__ ((__const__)) ;
- # 812 "/usr/include/stdlib.h" 3 4
- extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt,
- int *__restrict __sign) throw () __attribute__ ((__nonnull__ (3, 4))) ;
- extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt,
- int *__restrict __sign) throw () __attribute__ ((__nonnull__ (3, 4))) ;
- extern char *gcvt (double __value, int __ndigit, char *__buf)
- throw () __attribute__ ((__nonnull__ (3))) ;
- extern char *qecvt (long double __value, int __ndigit,
- int *__restrict __decpt, int *__restrict __sign)
- throw () __attribute__ ((__nonnull__ (3, 4))) ;
- extern char *qfcvt (long double __value, int __ndigit,
- int *__restrict __decpt, int *__restrict __sign)
- throw () __attribute__ ((__nonnull__ (3, 4))) ;
- extern char *qgcvt (long double __value, int __ndigit, char *__buf)
- throw () __attribute__ ((__nonnull__ (3))) ;
- extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt,
- int *__restrict __sign, char *__restrict __buf,
- size_t __len) throw () __attribute__ ((__nonnull__ (3, 4, 5)));
- extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt,
- int *__restrict __sign, char *__restrict __buf,
- size_t __len) throw () __attribute__ ((__nonnull__ (3, 4, 5)));
- extern int qecvt_r (long double __value, int __ndigit,
- int *__restrict __decpt, int *__restrict __sign,
- char *__restrict __buf, size_t __len)
- throw () __attribute__ ((__nonnull__ (3, 4, 5)));
- extern int qfcvt_r (long double __value, int __ndigit,
- int *__restrict __decpt, int *__restrict __sign,
- char *__restrict __buf, size_t __len)
- throw () __attribute__ ((__nonnull__ (3, 4, 5)));
- extern int mblen (const char *__s, size_t __n) throw ();
- extern int mbtowc (wchar_t *__restrict __pwc,
- const char *__restrict __s, size_t __n) throw ();
- extern int wctomb (char *__s, wchar_t __wchar) throw ();
- extern size_t mbstowcs (wchar_t *__restrict __pwcs,
- const char *__restrict __s, size_t __n) throw ();
- extern size_t wcstombs (char *__restrict __s,
- const wchar_t *__restrict __pwcs, size_t __n)
- throw ();
- extern int rpmatch (const char *__response) throw () __attribute__ ((__nonnull__ (1))) ;
- # 899 "/usr/include/stdlib.h" 3 4
- extern int getsubopt (char **__restrict __optionp,
- char *const *__restrict __tokens,
- char **__restrict __valuep)
- throw () __attribute__ ((__nonnull__ (1, 2, 3))) ;
- extern void setkey (const char *__key) throw () __attribute__ ((__nonnull__ (1)));
- extern int posix_openpt (int __oflag) ;
- extern int grantpt (int __fd) throw ();
- extern int unlockpt (int __fd) throw ();
- extern char *ptsname (int __fd) throw () ;
- extern int ptsname_r (int __fd, char *__buf, size_t __buflen)
- throw () __attribute__ ((__nonnull__ (2)));
- extern int getpt (void);
- extern int getloadavg (double __loadavg[], int __nelem)
- throw () __attribute__ ((__nonnull__ (1)));
- # 1 "/usr/include/x86_64-linux-gnu/bits/stdlib-float.h" 1 3 4
- # 956 "/usr/include/stdlib.h" 2 3 4
- # 968 "/usr/include/stdlib.h" 3 4
- }
- # 3 "test.cpp" 2
- # 17 "test.cpp"
- typedef unsigned char uchar;
- typedef unsigned short ushort;
- typedef unsigned int uint;
- typedef unsigned long ulong;
- typedef uchar bool;
- enum {
- false = 0,
- true = !false
- };
- # 381 "test.cpp"
- typedef struct intMaybe intMaybe; struct intMaybe { bool IsNothing; int Value; }; intMaybe intNothing() { intMaybe result; result.IsNothing = true; return result; } intMaybe intJust(int just) { intMaybe result; result.IsNothing = false; result.Value = just; return result; }
- typedef struct doubleMaybe doubleMaybe; struct doubleMaybe { bool IsNothing; double Value; }; doubleMaybe doubleNothing() { doubleMaybe result; result.IsNothing = true; return result; } doubleMaybe doubleJust(double just) { doubleMaybe result; result.IsNothing = false; result.Value = just; return result; }
- enum { doubleMaybeIsintMaybeFunctor = true }; intMaybe doubleMaybeintMaybemap(doubleMaybe maybe, int (*function)(double)) { { return (maybe.IsNothing) ? (intNothing()) : (intJust(function(maybe.Value))); } }
- typedef double (*intMaybedoubleMaybedoubleintApplicativeF) (int) ; typedef struct intMaybedoubleMaybedoubleintApplicativeFMaybe intMaybedoubleMaybedoubleintApplicativeFMaybe; struct intMaybedoubleMaybedoubleintApplicativeFMaybe { bool IsNothing; intMaybedoubleMaybedoubleintApplicativeF Value; }; intMaybedoubleMaybedoubleintApplicativeFMaybe intMaybedoubleMaybedoubleintApplicativeFNothing() { intMaybedoubleMaybedoubleintApplicativeFMaybe result; result.IsNothing = true; return result; } intMaybedoubleMaybedoubleintApplicativeFMaybe intMaybedoubleMaybedoubleintApplicativeFJust(intMaybedoubleMaybedoubleintApplicativeF just) { intMaybedoubleMaybedoubleintApplicativeFMaybe result; result.IsNothing = false; result.Value = just; return result; } enum { intMaybeIsdoubleMaybeApplicative = true }; enum { doubleMaybeIsAintMaybeFunctor384 = doubleMaybeIsintMaybeFunctor }; intMaybe intMaybedoubleMaybePure(int just) { { return intJust(just); } } doubleMaybe intMaybedoubleMaybeApply(intMaybe maybe, intMaybedoubleMaybedoubleintApplicativeFMaybe function) { { return doubleJust(function.Value(maybe.Value)); } }
- double ToDouble(int a) {
- return a + 1;
- }
- int main(void) {
- doubleMaybe Foo = intMaybedoubleMaybeApply(intJust(10),
- intMaybedoubleMaybedoubleintApplicativeFJust
- (ToDouble));
- printf("%lf\n", Foo.Value);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement