// /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/cc1 -fpreprocessed /root/.ccache/longobject.tmp.gurganbl.18662.i -quiet -dumpbase longobject.tmp.gurganbl.18662.i -march=pentium4 -mcpu=pentium4 -auxbase-strip /root/.ccache/tmp.hash.gurganbl.18662.o -O3 -fno-strict-aliasing -fprefetch-loop-arrays -fomit-frame-pointer -ffast-math -fnew-ra -ftracer -fPIC -o - # 1 "Objects/longobject.c" # 1 "" # 1 "" # 1 "Objects/longobject.c" # 1 "Include/Python.h" 1 # 1 "Include/patchlevel.h" 1 # 8 "Include/Python.h" 2 # 1 "pyconfig.h" 1 # 9 "Include/Python.h" 2 # 19 "Include/Python.h" # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/limits.h" 1 3 4 # 11 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/limits.h" 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/syslimits.h" 1 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/limits.h" 1 3 4 # 122 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/limits.h" 3 4 # 1 "/usr/include/limits.h" 1 3 4 # 26 "/usr/include/limits.h" 3 4 # 1 "/usr/include/features.h" 1 3 4 # 295 "/usr/include/features.h" 3 4 # 1 "/usr/include/sys/cdefs.h" 1 3 4 # 296 "/usr/include/features.h" 2 3 4 # 318 "/usr/include/features.h" 3 4 # 1 "/usr/include/gnu/stubs.h" 1 3 4 # 319 "/usr/include/features.h" 2 3 4 # 27 "/usr/include/limits.h" 2 3 4 # 144 "/usr/include/limits.h" 3 4 # 1 "/usr/include/bits/posix1_lim.h" 1 3 4 # 130 "/usr/include/bits/posix1_lim.h" 3 4 # 1 "/usr/include/bits/local_lim.h" 1 3 4 # 36 "/usr/include/bits/local_lim.h" 3 4 # 1 "/usr/include/linux/limits.h" 1 3 4 # 37 "/usr/include/bits/local_lim.h" 2 3 4 # 131 "/usr/include/bits/posix1_lim.h" 2 3 4 # 145 "/usr/include/limits.h" 2 3 4 # 1 "/usr/include/bits/posix2_lim.h" 1 3 4 # 149 "/usr/include/limits.h" 2 3 4 # 1 "/usr/include/bits/xopen_lim.h" 1 3 4 # 34 "/usr/include/bits/xopen_lim.h" 3 4 # 1 "/usr/include/bits/stdio_lim.h" 1 3 4 # 35 "/usr/include/bits/xopen_lim.h" 2 3 4 # 153 "/usr/include/limits.h" 2 3 4 # 123 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/limits.h" 2 3 4 # 8 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/syslimits.h" 2 3 4 # 12 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/limits.h" 2 3 4 # 20 "Include/Python.h" 2 # 28 "Include/Python.h" # 1 "/usr/include/stdio.h" 1 3 4 # 30 "/usr/include/stdio.h" 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 1 3 4 # 213 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 3 4 typedef unsigned int size_t; # 35 "/usr/include/stdio.h" 2 3 4 # 1 "/usr/include/bits/types.h" 1 3 4 # 28 "/usr/include/bits/types.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 29 "/usr/include/bits/types.h" 2 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 1 3 4 # 32 "/usr/include/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; __extension__ typedef signed long long int __int64_t; __extension__ typedef unsigned long long int __uint64_t; __extension__ typedef long long int __quad_t; __extension__ typedef unsigned long long int __u_quad_t; # 129 "/usr/include/bits/types.h" 3 4 # 1 "/usr/include/bits/typesizes.h" 1 3 4 # 130 "/usr/include/bits/types.h" 2 3 4 __extension__ typedef unsigned long long int __dev_t; __extension__ typedef unsigned int __uid_t; __extension__ typedef unsigned int __gid_t; __extension__ typedef unsigned long int __ino_t; __extension__ typedef unsigned long long int __ino64_t; __extension__ typedef unsigned int __mode_t; __extension__ typedef unsigned int __nlink_t; __extension__ typedef long int __off_t; __extension__ typedef long long int __off64_t; __extension__ typedef int __pid_t; __extension__ typedef struct { int __val[2]; } __fsid_t; __extension__ typedef long int __clock_t; __extension__ typedef unsigned long int __rlim_t; __extension__ typedef unsigned long long int __rlim64_t; __extension__ typedef unsigned int __id_t; __extension__ typedef long int __time_t; __extension__ typedef unsigned int __useconds_t; __extension__ typedef long int __suseconds_t; __extension__ typedef int __daddr_t; __extension__ typedef long int __swblk_t; __extension__ typedef int __key_t; __extension__ typedef int __clockid_t; __extension__ typedef void * __timer_t; __extension__ typedef long int __blksize_t; __extension__ typedef long int __blkcnt_t; __extension__ typedef long long int __blkcnt64_t; __extension__ typedef unsigned long int __fsblkcnt_t; __extension__ typedef unsigned long long int __fsblkcnt64_t; __extension__ typedef unsigned long int __fsfilcnt_t; __extension__ typedef unsigned long long int __fsfilcnt64_t; __extension__ typedef int __ssize_t; typedef __off64_t __loff_t; typedef __quad_t *__qaddr_t; typedef char *__caddr_t; __extension__ typedef int __intptr_t; __extension__ typedef unsigned int __socklen_t; # 37 "/usr/include/stdio.h" 2 3 4 # 46 "/usr/include/stdio.h" 3 4 typedef struct _IO_FILE FILE; # 62 "/usr/include/stdio.h" 3 4 typedef struct _IO_FILE __FILE; # 72 "/usr/include/stdio.h" 3 4 # 1 "/usr/include/libio.h" 1 3 4 # 32 "/usr/include/libio.h" 3 4 # 1 "/usr/include/_G_config.h" 1 3 4 # 14 "/usr/include/_G_config.h" 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 1 3 4 # 325 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 3 4 typedef long int wchar_t; # 354 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 3 4 typedef unsigned int wint_t; # 15 "/usr/include/_G_config.h" 2 3 4 # 24 "/usr/include/_G_config.h" 3 4 # 1 "/usr/include/wchar.h" 1 3 4 # 48 "/usr/include/wchar.h" 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 1 3 4 # 49 "/usr/include/wchar.h" 2 3 4 # 1 "/usr/include/bits/wchar.h" 1 3 4 # 51 "/usr/include/wchar.h" 2 3 4 # 76 "/usr/include/wchar.h" 3 4 typedef struct { int __count; union { wint_t __wch; char __wchb[4]; } __value; } __mbstate_t; # 25 "/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; # 44 "/usr/include/_G_config.h" 3 4 # 1 "/usr/include/gconv.h" 1 3 4 # 28 "/usr/include/gconv.h" 3 4 # 1 "/usr/include/wchar.h" 1 3 4 # 48 "/usr/include/wchar.h" 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 1 3 4 # 49 "/usr/include/wchar.h" 2 3 4 # 29 "/usr/include/gconv.h" 2 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 1 3 4 # 32 "/usr/include/gconv.h" 2 3 4 enum { __GCONV_OK = 0, __GCONV_NOCONV, __GCONV_NODB, __GCONV_NOMEM, __GCONV_EMPTY_INPUT, __GCONV_FULL_OUTPUT, __GCONV_ILLEGAL_INPUT, __GCONV_INCOMPLETE_INPUT, __GCONV_ILLEGAL_DESCRIPTOR, __GCONV_INTERNAL_ERROR }; enum { __GCONV_IS_LAST = 0x0001, __GCONV_IGNORE_ERRORS = 0x0002 }; struct __gconv_step; struct __gconv_step_data; struct __gconv_loaded_object; struct __gconv_trans_data; typedef int (*__gconv_fct) (struct __gconv_step *, struct __gconv_step_data *, __const unsigned char **, __const unsigned char *, unsigned char **, size_t *, int, int); typedef wint_t (*__gconv_btowc_fct) (struct __gconv_step *, unsigned char); typedef int (*__gconv_init_fct) (struct __gconv_step *); typedef void (*__gconv_end_fct) (struct __gconv_step *); typedef int (*__gconv_trans_fct) (struct __gconv_step *, struct __gconv_step_data *, void *, __const unsigned char *, __const unsigned char **, __const unsigned char *, unsigned char **, size_t *); typedef int (*__gconv_trans_context_fct) (void *, __const unsigned char *, __const unsigned char *, unsigned char *, unsigned char *); typedef int (*__gconv_trans_query_fct) (__const char *, __const char ***, size_t *); typedef int (*__gconv_trans_init_fct) (void **, const char *); typedef void (*__gconv_trans_end_fct) (void *); struct __gconv_trans_data { __gconv_trans_fct __trans_fct; __gconv_trans_context_fct __trans_context_fct; __gconv_trans_end_fct __trans_end_fct; void *__data; struct __gconv_trans_data *__next; }; struct __gconv_step { struct __gconv_loaded_object *__shlib_handle; __const char *__modname; int __counter; char *__from_name; char *__to_name; __gconv_fct __fct; __gconv_btowc_fct __btowc_fct; __gconv_init_fct __init_fct; __gconv_end_fct __end_fct; int __min_needed_from; int __max_needed_from; int __min_needed_to; int __max_needed_to; int __stateful; void *__data; }; struct __gconv_step_data { unsigned char *__outbuf; unsigned char *__outbufend; int __flags; int __invocation_counter; int __internal_use; __mbstate_t *__statep; __mbstate_t __state; struct __gconv_trans_data *__trans; }; typedef struct __gconv_info { size_t __nsteps; struct __gconv_step *__steps; __extension__ struct __gconv_step_data __data []; } *__gconv_t; # 45 "/usr/include/_G_config.h" 2 3 4 typedef union { struct __gconv_info __cd; struct { struct __gconv_info __cd; struct __gconv_step_data __data; } __combined; } _G_iconv_t; typedef int _G_int16_t __attribute__ ((__mode__ (__HI__))); typedef int _G_int32_t __attribute__ ((__mode__ (__SI__))); typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__))); typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__))); # 33 "/usr/include/libio.h" 2 3 4 # 53 "/usr/include/libio.h" 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stdarg.h" 1 3 4 # 43 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stdarg.h" 3 4 typedef __builtin_va_list __gnuc_va_list; # 54 "/usr/include/libio.h" 2 3 4 # 163 "/usr/include/libio.h" 3 4 struct _IO_jump_t; struct _IO_FILE; # 173 "/usr/include/libio.h" 3 4 typedef void _IO_lock_t; struct _IO_marker { struct _IO_marker *_next; struct _IO_FILE *_sbuf; int _pos; # 196 "/usr/include/libio.h" 3 4 }; enum __codecvt_result { __codecvt_ok, __codecvt_partial, __codecvt_error, __codecvt_noconv }; # 264 "/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; # 312 "/usr/include/libio.h" 3 4 __off64_t _offset; void *__pad1; void *__pad2; int _mode; char _unused2[15 * sizeof (int) - 2 * sizeof (void *)]; }; typedef struct _IO_FILE _IO_FILE; 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_; # 351 "/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 int __underflow (_IO_FILE *) ; extern int __uflow (_IO_FILE *) ; extern int __overflow (_IO_FILE *, int) ; extern wint_t __wunderflow (_IO_FILE *) ; extern wint_t __wuflow (_IO_FILE *) ; extern wint_t __woverflow (_IO_FILE *, wint_t) ; # 441 "/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) ; extern int _IO_ferror (_IO_FILE *__fp) ; extern int _IO_peekc_locked (_IO_FILE *__fp) ; extern void _IO_flockfile (_IO_FILE *) ; extern void _IO_funlockfile (_IO_FILE *) ; extern int _IO_ftrylockfile (_IO_FILE *) ; # 471 "/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 *) ; # 73 "/usr/include/stdio.h" 2 3 4 typedef __gnuc_va_list va_list; # 86 "/usr/include/stdio.h" 3 4 typedef _G_fpos64_t fpos_t; typedef _G_fpos64_t fpos64_t; # 138 "/usr/include/stdio.h" 3 4 # 1 "/usr/include/bits/stdio_lim.h" 1 3 4 # 139 "/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) ; extern int rename (__const char *__old, __const char *__new) ; # 167 "/usr/include/stdio.h" 3 4 extern FILE *tmpfile (void) __asm__ ("" "tmpfile64"); extern FILE *tmpfile64 (void); extern char *tmpnam (char *__s) ; extern char *tmpnam_r (char *__s) ; # 196 "/usr/include/stdio.h" 3 4 extern char *tempnam (__const char *__dir, __const char *__pfx) __attribute__ ((__malloc__)); # 206 "/usr/include/stdio.h" 3 4 extern int fclose (FILE *__stream); extern int fflush (FILE *__stream); # 221 "/usr/include/stdio.h" 3 4 extern int fflush_unlocked (FILE *__stream); # 231 "/usr/include/stdio.h" 3 4 extern int fcloseall (void); # 252 "/usr/include/stdio.h" 3 4 extern FILE *fopen (__const char *__restrict __filename, __const char *__restrict __modes) __asm__ ("" "fopen64"); extern FILE *freopen (__const char *__restrict __filename, __const char *__restrict __modes, FILE *__restrict __stream) __asm__ ("" "freopen64"); # 264 "/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) ; extern FILE *fopencookie (void *__restrict __magic_cookie, __const char *__restrict __modes, _IO_cookie_io_functions_t __io_funcs) ; extern FILE *fmemopen (void *__s, size_t __len, __const char *__modes) ; extern FILE *open_memstream (char **__restrict __bufloc, size_t *__restrict __sizeloc) ; extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) ; extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, int __modes, size_t __n) ; extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, size_t __size) ; extern void setlinebuf (FILE *__stream) ; # 321 "/usr/include/stdio.h" 3 4 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, ...) ; 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) ; extern int snprintf (char *__restrict __s, size_t __maxlen, __const char *__restrict __format, ...) __attribute__ ((__format__ (__printf__, 3, 4))); extern int vsnprintf (char *__restrict __s, size_t __maxlen, __const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__format__ (__printf__, 3, 0))); extern int vasprintf (char **__restrict __ptr, __const char *__restrict __f, __gnuc_va_list __arg) __attribute__ ((__format__ (__printf__, 2, 0))); extern int __asprintf (char **__restrict __ptr, __const char *__restrict __fmt, ...) __attribute__ ((__format__ (__printf__, 2, 3))); extern int asprintf (char **__restrict __ptr, __const char *__restrict __fmt, ...) __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))); # 393 "/usr/include/stdio.h" 3 4 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, ...) ; # 411 "/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) __attribute__ ((__format__ (__scanf__, 2, 0))); # 435 "/usr/include/stdio.h" 3 4 extern int fgetc (FILE *__stream); extern int getc (FILE *__stream); extern int getchar (void); # 454 "/usr/include/stdio.h" 3 4 extern int getc_unlocked (FILE *__stream); extern int getchar_unlocked (void); # 465 "/usr/include/stdio.h" 3 4 extern int fgetc_unlocked (FILE *__stream); # 477 "/usr/include/stdio.h" 3 4 extern int fputc (int __c, FILE *__stream); extern int putc (int __c, FILE *__stream); extern int putchar (int __c); # 498 "/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); # 526 "/usr/include/stdio.h" 3 4 extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream); extern char *gets (char *__s); # 543 "/usr/include/stdio.h" 3 4 extern char *fgets_unlocked (char *__restrict __s, int __n, FILE *__restrict __stream); # 559 "/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); # 583 "/usr/include/stdio.h" 3 4 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); # 620 "/usr/include/stdio.h" 3 4 extern int fputs_unlocked (__const char *__restrict __s, FILE *__restrict __stream); # 631 "/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); # 643 "/usr/include/stdio.h" 3 4 extern int fseek (FILE *__stream, long int __off, int __whence); extern long int ftell (FILE *__stream); extern void rewind (FILE *__stream); # 675 "/usr/include/stdio.h" 3 4 extern int fseeko (FILE *__stream, __off64_t __off, int __whence) __asm__ ("" "fseeko64"); extern __off64_t ftello (FILE *__stream) __asm__ ("" "ftello64"); # 700 "/usr/include/stdio.h" 3 4 extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos) __asm__ ("" "fgetpos64"); extern int fsetpos (FILE *__stream, __const fpos_t *__pos) __asm__ ("" "fsetpos64"); # 712 "/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) ; extern int feof (FILE *__stream) ; extern int ferror (FILE *__stream) ; extern void clearerr_unlocked (FILE *__stream) ; extern int feof_unlocked (FILE *__stream) ; extern int ferror_unlocked (FILE *__stream) ; # 740 "/usr/include/stdio.h" 3 4 extern void perror (__const char *__s); # 1 "/usr/include/bits/sys_errlist.h" 1 3 4 # 27 "/usr/include/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[]; # 748 "/usr/include/stdio.h" 2 3 4 extern int fileno (FILE *__stream) ; extern int fileno_unlocked (FILE *__stream) ; # 767 "/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) ; extern char *cuserid (char *__s); struct obstack; extern int obstack_printf (struct obstack *__restrict __obstack, __const char *__restrict __format, ...) __attribute__ ((__format__ (__printf__, 2, 3))); extern int obstack_vprintf (struct obstack *__restrict __obstack, __const char *__restrict __format, __gnuc_va_list __args) __attribute__ ((__format__ (__printf__, 2, 0))); extern void flockfile (FILE *__stream) ; extern int ftrylockfile (FILE *__stream) ; extern void funlockfile (FILE *__stream) ; # 828 "/usr/include/stdio.h" 3 4 # 1 "/usr/include/bits/stdio.h" 1 3 4 # 33 "/usr/include/bits/stdio.h" 3 4 extern __inline int vprintf (__const char *__restrict __fmt, __gnuc_va_list __arg) { return vfprintf (stdout, __fmt, __arg); } extern __inline int getchar (void) { return _IO_getc (stdin); } extern __inline int getc_unlocked (FILE *__fp) { return (__builtin_expect ((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end, 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); } extern __inline int getchar_unlocked (void) { return (__builtin_expect ((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end, 0) ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++); } extern __inline int putchar (int __c) { return _IO_putc (__c, stdout); } extern __inline int fputc_unlocked (int __c, FILE *__stream) { return (__builtin_expect ((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end, 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); } extern __inline int putc_unlocked (int __c, FILE *__stream) { return (__builtin_expect ((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end, 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); } extern __inline int putchar_unlocked (int __c) { return (__builtin_expect ((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end, 0) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c))); } extern __inline __ssize_t getline (char **__lineptr, size_t *__n, FILE *__stream) { return __getdelim (__lineptr, __n, '\n', __stream); } extern __inline int feof_unlocked (FILE *__stream) { return (((__stream)->_flags & 0x10) != 0); } extern __inline int ferror_unlocked (FILE *__stream) { return (((__stream)->_flags & 0x20) != 0); } # 829 "/usr/include/stdio.h" 2 3 4 # 29 "Include/Python.h" 2 # 1 "/usr/include/string.h" 1 3 4 # 28 "/usr/include/string.h" 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 1 3 4 # 34 "/usr/include/string.h" 2 3 4 extern void *memcpy (void *__restrict __dest, __const void *__restrict __src, size_t __n) ; extern void *memmove (void *__dest, __const void *__src, size_t __n) ; extern void *memccpy (void *__restrict __dest, __const void *__restrict __src, int __c, size_t __n) ; extern void *memset (void *__s, int __c, size_t __n) ; extern int memcmp (__const void *__s1, __const void *__s2, size_t __n) __attribute__ ((__pure__)); extern void *memchr (__const void *__s, int __c, size_t __n) __attribute__ ((__pure__)); extern void *rawmemchr (__const void *__s, int __c) __attribute__ ((__pure__)); extern void *memrchr (__const void *__s, int __c, size_t __n) __attribute__ ((__pure__)); extern char *strcpy (char *__restrict __dest, __const char *__restrict __src) ; extern char *strncpy (char *__restrict __dest, __const char *__restrict __src, size_t __n) ; extern char *strcat (char *__restrict __dest, __const char *__restrict __src) ; extern char *strncat (char *__restrict __dest, __const char *__restrict __src, size_t __n) ; extern int strcmp (__const char *__s1, __const char *__s2) __attribute__ ((__pure__)); extern int strncmp (__const char *__s1, __const char *__s2, size_t __n) __attribute__ ((__pure__)); extern int strcoll (__const char *__s1, __const char *__s2) __attribute__ ((__pure__)); extern size_t strxfrm (char *__restrict __dest, __const char *__restrict __src, size_t __n) ; # 1 "/usr/include/xlocale.h" 1 3 4 # 28 "/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; # 115 "/usr/include/string.h" 2 3 4 extern int strcoll_l (__const char *__s1, __const char *__s2, __locale_t __l) __attribute__ ((__pure__)); extern size_t strxfrm_l (char *__dest, __const char *__src, size_t __n, __locale_t __l) ; extern char *strdup (__const char *__s) __attribute__ ((__malloc__)); extern char *strndup (__const char *__string, size_t __n) __attribute__ ((__malloc__)); # 160 "/usr/include/string.h" 3 4 extern char *strchr (__const char *__s, int __c) __attribute__ ((__pure__)); extern char *strrchr (__const char *__s, int __c) __attribute__ ((__pure__)); extern char *strchrnul (__const char *__s, int __c) __attribute__ ((__pure__)); extern size_t strcspn (__const char *__s, __const char *__reject) __attribute__ ((__pure__)); extern size_t strspn (__const char *__s, __const char *__accept) __attribute__ ((__pure__)); extern char *strpbrk (__const char *__s, __const char *__accept) __attribute__ ((__pure__)); extern char *strstr (__const char *__haystack, __const char *__needle) __attribute__ ((__pure__)); extern char *strtok (char *__restrict __s, __const char *__restrict __delim) ; extern char *__strtok_r (char *__restrict __s, __const char *__restrict __delim, char **__restrict __save_ptr) ; extern char *strtok_r (char *__restrict __s, __const char *__restrict __delim, char **__restrict __save_ptr) ; extern char *strcasestr (__const char *__haystack, __const char *__needle) __attribute__ ((__pure__)); extern void *memmem (__const void *__haystack, size_t __haystacklen, __const void *__needle, size_t __needlelen) __attribute__ ((__pure__)); extern void *__mempcpy (void *__restrict __dest, __const void *__restrict __src, size_t __n) ; extern void *mempcpy (void *__restrict __dest, __const void *__restrict __src, size_t __n) ; extern size_t strlen (__const char *__s) __attribute__ ((__pure__)); extern size_t strnlen (__const char *__string, size_t __maxlen) __attribute__ ((__pure__)); extern char *strerror (int __errnum) ; extern char *strerror_r (int __errnum, char *__buf, size_t __buflen) ; extern void __bzero (void *__s, size_t __n) ; extern void bcopy (__const void *__src, void *__dest, size_t __n) ; extern void bzero (void *__s, size_t __n) ; extern int bcmp (__const void *__s1, __const void *__s2, size_t __n) __attribute__ ((__pure__)); extern char *index (__const char *__s, int __c) __attribute__ ((__pure__)); extern char *rindex (__const char *__s, int __c) __attribute__ ((__pure__)); extern int ffs (int __i) __attribute__ ((__const__)); extern int ffsl (long int __l) __attribute__ ((__const__)); __extension__ extern int ffsll (long long int __ll) __attribute__ ((__const__)); extern int strcasecmp (__const char *__s1, __const char *__s2) __attribute__ ((__pure__)); extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n) __attribute__ ((__pure__)); extern int strcasecmp_l (__const char *__s1, __const char *__s2, __locale_t __loc) __attribute__ ((__pure__)); extern int strncasecmp_l (__const char *__s1, __const char *__s2, size_t __n, __locale_t __loc) __attribute__ ((__pure__)); extern char *strsep (char **__restrict __stringp, __const char *__restrict __delim) ; extern int strverscmp (__const char *__s1, __const char *__s2) __attribute__ ((__pure__)); extern char *strsignal (int __sig) ; extern char *__stpcpy (char *__restrict __dest, __const char *__restrict __src) ; extern char *stpcpy (char *__restrict __dest, __const char *__restrict __src) ; extern char *__stpncpy (char *__restrict __dest, __const char *__restrict __src, size_t __n) ; extern char *stpncpy (char *__restrict __dest, __const char *__restrict __src, size_t __n) ; extern char *strfry (char *__string) ; extern void *memfrob (void *__s, size_t __n) ; extern char *basename (__const char *__filename) ; # 372 "/usr/include/string.h" 3 4 # 1 "/usr/include/bits/string.h" 1 3 4 # 373 "/usr/include/string.h" 2 3 4 # 1 "/usr/include/bits/string2.h" 1 3 4 # 52 "/usr/include/bits/string2.h" 3 4 # 1 "/usr/include/endian.h" 1 3 4 # 37 "/usr/include/endian.h" 3 4 # 1 "/usr/include/bits/endian.h" 1 3 4 # 38 "/usr/include/endian.h" 2 3 4 # 53 "/usr/include/bits/string2.h" 2 3 4 # 389 "/usr/include/bits/string2.h" 3 4 extern void *__rawmemchr (const void *__s, int __c); # 919 "/usr/include/bits/string2.h" 3 4 extern __inline size_t __strcspn_c1 (__const char *__s, int __reject); extern __inline size_t __strcspn_c1 (__const char *__s, int __reject) { register size_t __result = 0; while (__s[__result] != '\0' && __s[__result] != __reject) ++__result; return __result; } extern __inline size_t __strcspn_c2 (__const char *__s, int __reject1, int __reject2); extern __inline size_t __strcspn_c2 (__const char *__s, int __reject1, int __reject2) { register size_t __result = 0; while (__s[__result] != '\0' && __s[__result] != __reject1 && __s[__result] != __reject2) ++__result; return __result; } extern __inline size_t __strcspn_c3 (__const char *__s, int __reject1, int __reject2, int __reject3); extern __inline size_t __strcspn_c3 (__const char *__s, int __reject1, int __reject2, int __reject3) { register size_t __result = 0; while (__s[__result] != '\0' && __s[__result] != __reject1 && __s[__result] != __reject2 && __s[__result] != __reject3) ++__result; return __result; } # 976 "/usr/include/bits/string2.h" 3 4 extern __inline size_t __strspn_c1 (__const char *__s, int __accept); extern __inline size_t __strspn_c1 (__const char *__s, int __accept) { register size_t __result = 0; while (__s[__result] == __accept) ++__result; return __result; } extern __inline size_t __strspn_c2 (__const char *__s, int __accept1, int __accept2); extern __inline size_t __strspn_c2 (__const char *__s, int __accept1, int __accept2) { register size_t __result = 0; while (__s[__result] == __accept1 || __s[__result] == __accept2) ++__result; return __result; } extern __inline size_t __strspn_c3 (__const char *__s, int __accept1, int __accept2, int __accept3); extern __inline size_t __strspn_c3 (__const char *__s, int __accept1, int __accept2, int __accept3) { register size_t __result = 0; while (__s[__result] == __accept1 || __s[__result] == __accept2 || __s[__result] == __accept3) ++__result; return __result; } # 1033 "/usr/include/bits/string2.h" 3 4 extern __inline char *__strpbrk_c2 (__const char *__s, int __accept1, int __accept2); extern __inline char * __strpbrk_c2 (__const char *__s, int __accept1, int __accept2) { while (*__s != '\0' && *__s != __accept1 && *__s != __accept2) ++__s; return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s; } extern __inline char *__strpbrk_c3 (__const char *__s, int __accept1, int __accept2, int __accept3); extern __inline char * __strpbrk_c3 (__const char *__s, int __accept1, int __accept2, int __accept3) { while (*__s != '\0' && *__s != __accept1 && *__s != __accept2 && *__s != __accept3) ++__s; return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s; } # 1085 "/usr/include/bits/string2.h" 3 4 extern __inline char *__strtok_r_1c (char *__s, char __sep, char **__nextp); extern __inline char * __strtok_r_1c (char *__s, char __sep, char **__nextp) { char *__result; if (__s == ((void *)0)) __s = *__nextp; while (*__s == __sep) ++__s; __result = ((void *)0); if (*__s != '\0') { __result = __s++; while (*__s != '\0') if (*__s++ == __sep) { __s[-1] = '\0'; break; } *__nextp = __s; } return __result; } # 1117 "/usr/include/bits/string2.h" 3 4 extern char *__strsep_g (char **__stringp, __const char *__delim); # 1135 "/usr/include/bits/string2.h" 3 4 extern __inline char *__strsep_1c (char **__s, char __reject); extern __inline char * __strsep_1c (char **__s, char __reject) { register char *__retval = *__s; if (__retval != ((void *)0) && (*__s = (__extension__ (__builtin_constant_p (__reject) && (__reject) == '\0' ? (char *) __rawmemchr (__retval, __reject) : strchr (__retval, __reject)))) != ((void *)0)) *(*__s)++ = '\0'; return __retval; } extern __inline char *__strsep_2c (char **__s, char __reject1, char __reject2); extern __inline char * __strsep_2c (char **__s, char __reject1, char __reject2) { register char *__retval = *__s; if (__retval != ((void *)0)) { register char *__cp = __retval; while (1) { if (*__cp == '\0') { __cp = ((void *)0); break; } if (*__cp == __reject1 || *__cp == __reject2) { *__cp++ = '\0'; break; } ++__cp; } *__s = __cp; } return __retval; } extern __inline char *__strsep_3c (char **__s, char __reject1, char __reject2, char __reject3); extern __inline char * __strsep_3c (char **__s, char __reject1, char __reject2, char __reject3) { register char *__retval = *__s; if (__retval != ((void *)0)) { register char *__cp = __retval; while (1) { if (*__cp == '\0') { __cp = ((void *)0); break; } if (*__cp == __reject1 || *__cp == __reject2 || *__cp == __reject3) { *__cp++ = '\0'; break; } ++__cp; } *__s = __cp; } return __retval; } # 1211 "/usr/include/bits/string2.h" 3 4 # 1 "/usr/include/stdlib.h" 1 3 4 # 33 "/usr/include/stdlib.h" 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 1 3 4 # 34 "/usr/include/stdlib.h" 2 3 4 # 554 "/usr/include/stdlib.h" 3 4 extern void *malloc (size_t __size) __attribute__ ((__malloc__)); extern void *calloc (size_t __nmemb, size_t __size) __attribute__ ((__malloc__)); # 922 "/usr/include/stdlib.h" 3 4 # 1212 "/usr/include/bits/string2.h" 2 3 4 extern char *__strdup (__const char *__string) __attribute__ ((__malloc__)); # 1235 "/usr/include/bits/string2.h" 3 4 extern char *__strndup (__const char *__string, size_t __n) __attribute__ ((__malloc__)); # 376 "/usr/include/string.h" 2 3 4 # 34 "Include/Python.h" 2 # 1 "/usr/include/errno.h" 1 3 4 # 32 "/usr/include/errno.h" 3 4 # 1 "/usr/include/bits/errno.h" 1 3 4 # 25 "/usr/include/bits/errno.h" 3 4 # 1 "/usr/include/linux/errno.h" 1 3 4 # 1 "/usr/include/asm/errno.h" 1 3 4 # 5 "/usr/include/linux/errno.h" 2 3 4 # 26 "/usr/include/bits/errno.h" 2 3 4 # 38 "/usr/include/bits/errno.h" 3 4 extern int *__errno_location (void) __attribute__ ((__const__)); # 37 "/usr/include/errno.h" 2 3 4 # 55 "/usr/include/errno.h" 3 4 extern char *program_invocation_name, *program_invocation_short_name; # 69 "/usr/include/errno.h" 3 4 typedef int error_t; # 35 "Include/Python.h" 2 # 1 "/usr/include/stdlib.h" 1 3 4 # 33 "/usr/include/stdlib.h" 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 1 3 4 # 34 "/usr/include/stdlib.h" 2 3 4 # 42 "/usr/include/stdlib.h" 3 4 # 1 "/usr/include/bits/waitflags.h" 1 3 4 # 43 "/usr/include/stdlib.h" 2 3 4 # 1 "/usr/include/bits/waitstatus.h" 1 3 4 # 65 "/usr/include/bits/waitstatus.h" 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; }; # 44 "/usr/include/stdlib.h" 2 3 4 # 68 "/usr/include/stdlib.h" 3 4 typedef union { union wait *__uptr; int *__iptr; } __WAIT_STATUS __attribute__ ((__transparent_union__)); # 93 "/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; # 137 "/usr/include/stdlib.h" 3 4 extern size_t __ctype_get_mb_cur_max (void) ; extern double atof (__const char *__nptr) __attribute__ ((__pure__)); extern int atoi (__const char *__nptr) __attribute__ ((__pure__)); extern long int atol (__const char *__nptr) __attribute__ ((__pure__)); __extension__ extern long long int atoll (__const char *__nptr) __attribute__ ((__pure__)); extern double strtod (__const char *__restrict __nptr, char **__restrict __endptr) ; extern float strtof (__const char *__restrict __nptr, char **__restrict __endptr) ; extern long double strtold (__const char *__restrict __nptr, char **__restrict __endptr) ; extern long int strtol (__const char *__restrict __nptr, char **__restrict __endptr, int __base) ; extern unsigned long int strtoul (__const char *__restrict __nptr, char **__restrict __endptr, int __base) ; __extension__ extern long long int strtoq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) ; __extension__ extern unsigned long long int strtouq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) ; __extension__ extern long long int strtoll (__const char *__restrict __nptr, char **__restrict __endptr, int __base) ; __extension__ extern unsigned long long int strtoull (__const char *__restrict __nptr, char **__restrict __endptr, int __base) ; # 229 "/usr/include/stdlib.h" 3 4 extern long int strtol_l (__const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) ; extern unsigned long int strtoul_l (__const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) ; __extension__ extern long long int strtoll_l (__const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) ; __extension__ extern unsigned long long int strtoull_l (__const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) ; extern double strtod_l (__const char *__restrict __nptr, char **__restrict __endptr, __locale_t __loc) ; extern float strtof_l (__const char *__restrict __nptr, char **__restrict __endptr, __locale_t __loc) ; extern long double strtold_l (__const char *__restrict __nptr, char **__restrict __endptr, __locale_t __loc) ; extern double __strtod_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __group) ; extern float __strtof_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __group) ; extern long double __strtold_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __group) ; extern long int __strtol_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group) ; extern unsigned long int __strtoul_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group) ; __extension__ extern long long int __strtoll_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group) ; __extension__ extern unsigned long long int __strtoull_internal (__const char * __restrict __nptr, char **__restrict __endptr, int __base, int __group) ; # 308 "/usr/include/stdlib.h" 3 4 extern __inline double strtod (__const char *__restrict __nptr, char **__restrict __endptr) { return __strtod_internal (__nptr, __endptr, 0); } extern __inline long int strtol (__const char *__restrict __nptr, char **__restrict __endptr, int __base) { return __strtol_internal (__nptr, __endptr, __base, 0); } extern __inline unsigned long int strtoul (__const char *__restrict __nptr, char **__restrict __endptr, int __base) { return __strtoul_internal (__nptr, __endptr, __base, 0); } extern __inline float strtof (__const char *__restrict __nptr, char **__restrict __endptr) { return __strtof_internal (__nptr, __endptr, 0); } extern __inline long double strtold (__const char *__restrict __nptr, char **__restrict __endptr) { return __strtold_internal (__nptr, __endptr, 0); } __extension__ extern __inline long long int strtoq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) { return __strtoll_internal (__nptr, __endptr, __base, 0); } __extension__ extern __inline unsigned long long int strtouq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) { return __strtoull_internal (__nptr, __endptr, __base, 0); } __extension__ extern __inline long long int strtoll (__const char *__restrict __nptr, char **__restrict __endptr, int __base) { return __strtoll_internal (__nptr, __endptr, __base, 0); } __extension__ extern __inline unsigned long long int strtoull (__const char * __restrict __nptr, char **__restrict __endptr, int __base) { return __strtoull_internal (__nptr, __endptr, __base, 0); } extern __inline double atof (__const char *__nptr) { return strtod (__nptr, (char **) ((void *)0)); } extern __inline int atoi (__const char *__nptr) { return (int) strtol (__nptr, (char **) ((void *)0), 10); } extern __inline long int atol (__const char *__nptr) { return strtol (__nptr, (char **) ((void *)0), 10); } __extension__ extern __inline long long int atoll (__const char *__nptr) { return strtoll (__nptr, (char **) ((void *)0), 10); } # 408 "/usr/include/stdlib.h" 3 4 extern char *l64a (long int __n) ; extern long int a64l (__const char *__s) __attribute__ ((__pure__)); # 1 "/usr/include/sys/types.h" 1 3 4 # 29 "/usr/include/sys/types.h" 3 4 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 __ino64_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; typedef __off64_t off_t; typedef __off64_t off64_t; typedef __pid_t pid_t; typedef __id_t id_t; typedef __ssize_t ssize_t; typedef __daddr_t daddr_t; typedef __caddr_t caddr_t; typedef __key_t key_t; # 133 "/usr/include/sys/types.h" 3 4 # 1 "/usr/include/time.h" 1 3 4 # 58 "/usr/include/time.h" 3 4 typedef __clock_t clock_t; # 74 "/usr/include/time.h" 3 4 typedef __time_t time_t; # 92 "/usr/include/time.h" 3 4 typedef __clockid_t clockid_t; # 104 "/usr/include/time.h" 3 4 typedef __timer_t timer_t; # 134 "/usr/include/sys/types.h" 2 3 4 typedef __useconds_t useconds_t; typedef __suseconds_t suseconds_t; # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 1 3 4 # 148 "/usr/include/sys/types.h" 2 3 4 typedef unsigned long int ulong; typedef unsigned short int ushort; typedef unsigned int uint; # 191 "/usr/include/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__))); # 216 "/usr/include/sys/types.h" 3 4 # 1 "/usr/include/sys/select.h" 1 3 4 # 31 "/usr/include/sys/select.h" 3 4 # 1 "/usr/include/bits/select.h" 1 3 4 # 32 "/usr/include/sys/select.h" 2 3 4 # 1 "/usr/include/bits/sigset.h" 1 3 4 # 23 "/usr/include/bits/sigset.h" 3 4 typedef int __sig_atomic_t; typedef struct { unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; } __sigset_t; # 35 "/usr/include/sys/select.h" 2 3 4 typedef __sigset_t sigset_t; # 1 "/usr/include/time.h" 1 3 4 # 118 "/usr/include/time.h" 3 4 struct timespec { __time_t tv_sec; long int tv_nsec; }; # 45 "/usr/include/sys/select.h" 2 3 4 # 1 "/usr/include/bits/time.h" 1 3 4 # 69 "/usr/include/bits/time.h" 3 4 struct timeval { __time_t tv_sec; __suseconds_t tv_usec; }; # 47 "/usr/include/sys/select.h" 2 3 4 # 55 "/usr/include/sys/select.h" 3 4 typedef long int __fd_mask; # 67 "/usr/include/sys/select.h" 3 4 typedef struct { __fd_mask fds_bits[1024 / (8 * sizeof (__fd_mask))]; } fd_set; typedef __fd_mask fd_mask; # 99 "/usr/include/sys/select.h" 3 4 # 109 "/usr/include/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); # 121 "/usr/include/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); # 217 "/usr/include/sys/types.h" 2 3 4 # 1 "/usr/include/sys/sysmacros.h" 1 3 4 # 29 "/usr/include/sys/sysmacros.h" 3 4 __extension__ extern __inline unsigned int gnu_dev_major (unsigned long long int __dev) ; __extension__ extern __inline unsigned int gnu_dev_minor (unsigned long long int __dev) ; __extension__ extern __inline unsigned long long int gnu_dev_makedev (unsigned int __major, unsigned int __minor) ; __extension__ extern __inline unsigned int gnu_dev_major (unsigned long long int __dev) { return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) & ~0xfff); } __extension__ extern __inline unsigned int gnu_dev_minor (unsigned long long int __dev) { return (__dev & 0xff) | ((unsigned int) (__dev >> 12) & ~0xff); } __extension__ extern __inline unsigned long long int gnu_dev_makedev (unsigned int __major, unsigned int __minor) { return ((__minor & 0xff) | ((__major & 0xfff) << 8) | (((unsigned long long int) (__minor & ~0xff)) << 12) | (((unsigned long long int) (__major & ~0xfff)) << 32)); } # 220 "/usr/include/sys/types.h" 2 3 4 typedef __blksize_t blksize_t; # 244 "/usr/include/sys/types.h" 3 4 typedef __blkcnt64_t blkcnt_t; typedef __fsblkcnt64_t fsblkcnt_t; typedef __fsfilcnt64_t fsfilcnt_t; typedef __blkcnt64_t blkcnt64_t; typedef __fsblkcnt64_t fsblkcnt64_t; typedef __fsfilcnt64_t fsfilcnt64_t; # 1 "/usr/include/bits/pthreadtypes.h" 1 3 4 # 36 "/usr/include/bits/pthreadtypes.h" 3 4 typedef unsigned long int pthread_t; typedef union { char __size[36]; long int __align; } pthread_attr_t; typedef union { struct { int __lock; unsigned int __count; int __owner; int __kind; unsigned int __nusers; } __data; char __size[24]; long int __align; } pthread_mutex_t; typedef union { char __size[4]; long int __align; } pthread_mutexattr_t; typedef union { struct { int __lock; int __clock; unsigned long long int __total_seq; unsigned long long int __wakeup_seq; unsigned long long int __woken_seq; void *__mutex; } __data; char __size[48]; long long int __align; } pthread_cond_t; typedef union { char __size[4]; long 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; unsigned int __flags; int __writer; } __data; char __size[32]; 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[20]; long int __align; } pthread_barrier_t; typedef union { char __size[4]; int __align; } pthread_barrierattr_t; # 267 "/usr/include/sys/types.h" 2 3 4 # 417 "/usr/include/stdlib.h" 2 3 4 extern long int random (void) ; extern void srandom (unsigned int __seed) ; extern char *initstate (unsigned int __seed, char *__statebuf, size_t __statelen) ; extern char *setstate (char *__statebuf) ; 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) ; extern int srandom_r (unsigned int __seed, struct random_data *__buf) ; extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, size_t __statelen, struct random_data *__restrict __buf) ; extern int setstate_r (char *__restrict __statebuf, struct random_data *__restrict __buf) ; extern int rand (void) ; extern void srand (unsigned int __seed) ; extern int rand_r (unsigned int *__seed) ; extern double drand48 (void) ; extern double erand48 (unsigned short int __xsubi[3]) ; extern long int lrand48 (void) ; extern long int nrand48 (unsigned short int __xsubi[3]) ; extern long int mrand48 (void) ; extern long int jrand48 (unsigned short int __xsubi[3]) ; extern void srand48 (long int __seedval) ; extern unsigned short int *seed48 (unsigned short int __seed16v[3]) ; extern void lcong48 (unsigned short int __param[7]) ; struct drand48_data { unsigned short int __x[3]; unsigned short int __old_x[3]; unsigned short int __c; unsigned short int __init; unsigned long long int __a; }; extern int drand48_r (struct drand48_data *__restrict __buffer, double *__restrict __result) ; extern int erand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, double *__restrict __result) ; extern int lrand48_r (struct drand48_data *__restrict __buffer, long int *__restrict __result) ; extern int nrand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, long int *__restrict __result) ; extern int mrand48_r (struct drand48_data *__restrict __buffer, long int *__restrict __result) ; extern int jrand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, long int *__restrict __result) ; extern int srand48_r (long int __seedval, struct drand48_data *__buffer) ; extern int seed48_r (unsigned short int __seed16v[3], struct drand48_data *__buffer) ; extern int lcong48_r (unsigned short int __param[7], struct drand48_data *__buffer) ; # 564 "/usr/include/stdlib.h" 3 4 extern void *realloc (void *__ptr, size_t __size) __attribute__ ((__malloc__)); extern void free (void *__ptr) ; extern void cfree (void *__ptr) ; # 1 "/usr/include/alloca.h" 1 3 4 # 25 "/usr/include/alloca.h" 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 1 3 4 # 26 "/usr/include/alloca.h" 2 3 4 extern void *alloca (size_t __size) ; # 579 "/usr/include/stdlib.h" 2 3 4 extern void *valloc (size_t __size) __attribute__ ((__malloc__)); extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) __attribute__ ((__malloc__)); extern void abort (void) __attribute__ ((__noreturn__)); extern int atexit (void (*__func) (void)) ; extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) ; extern void exit (int __status) __attribute__ ((__noreturn__)); extern void _Exit (int __status) __attribute__ ((__noreturn__)); extern char *getenv (__const char *__name) ; extern char *__secure_getenv (__const char *__name) ; extern int putenv (char *__string) ; extern int setenv (__const char *__name, __const char *__value, int __replace) ; extern int unsetenv (__const char *__name) ; extern int clearenv (void) ; # 663 "/usr/include/stdlib.h" 3 4 extern char *mktemp (char *__template) ; # 677 "/usr/include/stdlib.h" 3 4 extern int mkstemp (char *__template) __asm__ ("" "mkstemp64"); extern int mkstemp64 (char *__template); # 693 "/usr/include/stdlib.h" 3 4 extern char *mkdtemp (char *__template) ; # 702 "/usr/include/stdlib.h" 3 4 extern int system (__const char *__command); extern char *canonicalize_file_name (__const char *__name) ; # 720 "/usr/include/stdlib.h" 3 4 extern char *realpath (__const char *__restrict __name, char *__restrict __resolved) ; typedef int (*__compar_fn_t) (__const void *, __const void *); typedef __compar_fn_t comparison_fn_t; extern void *bsearch (__const void *__key, __const void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar); extern void qsort (void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar); extern int abs (int __x) __attribute__ ((__const__)); extern long int labs (long int __x) __attribute__ ((__const__)); __extension__ extern long long int llabs (long long int __x) __attribute__ ((__const__)); extern div_t div (int __numer, int __denom) __attribute__ ((__const__)); extern ldiv_t ldiv (long int __numer, long int __denom) __attribute__ ((__const__)); __extension__ extern lldiv_t lldiv (long long int __numer, long long int __denom) __attribute__ ((__const__)); # 784 "/usr/include/stdlib.h" 3 4 extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) ; extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) ; extern char *gcvt (double __value, int __ndigit, char *__buf) ; extern char *qecvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) ; extern char *qfcvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) ; extern char *qgcvt (long double __value, int __ndigit, char *__buf) ; extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) ; extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) ; extern int qecvt_r (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) ; extern int qfcvt_r (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) ; extern int mblen (__const char *__s, size_t __n) ; extern int mbtowc (wchar_t *__restrict __pwc, __const char *__restrict __s, size_t __n) ; extern int wctomb (char *__s, wchar_t __wchar) ; extern size_t mbstowcs (wchar_t *__restrict __pwcs, __const char *__restrict __s, size_t __n) ; extern size_t wcstombs (char *__restrict __s, __const wchar_t *__restrict __pwcs, size_t __n) ; # 855 "/usr/include/stdlib.h" 3 4 extern int rpmatch (__const char *__response) ; # 866 "/usr/include/stdlib.h" 3 4 extern int getsubopt (char **__restrict __optionp, char *__const *__restrict __tokens, char **__restrict __valuep) ; extern void setkey (__const char *__key) ; extern int posix_openpt (int __oflag); extern int grantpt (int __fd) ; extern int unlockpt (int __fd) ; extern char *ptsname (int __fd) ; extern int ptsname_r (int __fd, char *__buf, size_t __buflen) ; extern int getpt (void); extern int getloadavg (double __loadavg[], int __nelem) ; # 37 "Include/Python.h" 2 # 1 "/usr/include/unistd.h" 1 3 4 # 28 "/usr/include/unistd.h" 3 4 # 171 "/usr/include/unistd.h" 3 4 # 1 "/usr/include/bits/posix_opt.h" 1 3 4 # 172 "/usr/include/unistd.h" 2 3 4 # 1 "/usr/include/bits/environments.h" 1 3 4 # 23 "/usr/include/bits/environments.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 24 "/usr/include/bits/environments.h" 2 3 4 # 176 "/usr/include/unistd.h" 2 3 4 # 195 "/usr/include/unistd.h" 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 1 3 4 # 196 "/usr/include/unistd.h" 2 3 4 # 236 "/usr/include/unistd.h" 3 4 typedef __intptr_t intptr_t; typedef __socklen_t socklen_t; # 256 "/usr/include/unistd.h" 3 4 extern int access (__const char *__name, int __type) ; extern int euidaccess (__const char *__name, int __type) ; # 289 "/usr/include/unistd.h" 3 4 extern __off64_t lseek (int __fd, __off64_t __offset, int __whence) __asm__ ("" "lseek64"); # 298 "/usr/include/unistd.h" 3 4 extern __off64_t lseek64 (int __fd, __off64_t __offset, int __whence) ; extern int close (int __fd); extern ssize_t read (int __fd, void *__buf, size_t __nbytes); extern ssize_t write (int __fd, __const void *__buf, size_t __n); # 340 "/usr/include/unistd.h" 3 4 extern ssize_t pread (int __fd, void *__buf, size_t __nbytes, __off64_t __offset) __asm__ ("" "pread64"); extern ssize_t pwrite (int __fd, __const void *__buf, size_t __nbytes, __off64_t __offset) __asm__ ("" "pwrite64"); # 356 "/usr/include/unistd.h" 3 4 extern ssize_t pread64 (int __fd, void *__buf, size_t __nbytes, __off64_t __offset); extern ssize_t pwrite64 (int __fd, __const void *__buf, size_t __n, __off64_t __offset); extern int pipe (int __pipedes[2]) ; # 378 "/usr/include/unistd.h" 3 4 extern unsigned int alarm (unsigned int __seconds) ; # 390 "/usr/include/unistd.h" 3 4 extern unsigned int sleep (unsigned int __seconds); extern __useconds_t ualarm (__useconds_t __value, __useconds_t __interval) ; extern int usleep (__useconds_t __useconds); # 414 "/usr/include/unistd.h" 3 4 extern int pause (void); extern int chown (__const char *__file, __uid_t __owner, __gid_t __group) ; extern int fchown (int __fd, __uid_t __owner, __gid_t __group) ; extern int lchown (__const char *__file, __uid_t __owner, __gid_t __group) ; extern int chdir (__const char *__path) ; extern int fchdir (int __fd) ; # 448 "/usr/include/unistd.h" 3 4 extern char *getcwd (char *__buf, size_t __size) ; extern char *get_current_dir_name (void) ; extern char *getwd (char *__buf) ; extern int dup (int __fd) ; extern int dup2 (int __fd, int __fd2) ; extern char **__environ; extern char **environ; extern int execve (__const char *__path, char *__const __argv[], char *__const __envp[]) ; extern int fexecve (int __fd, char *__const __argv[], char *__const __envp[]) ; extern int execv (__const char *__path, char *__const __argv[]) ; extern int execle (__const char *__path, __const char *__arg, ...) ; extern int execl (__const char *__path, __const char *__arg, ...) ; extern int execvp (__const char *__file, char *__const __argv[]) ; extern int execlp (__const char *__file, __const char *__arg, ...) ; extern int nice (int __inc) ; extern void _exit (int __status) __attribute__ ((__noreturn__)); # 1 "/usr/include/bits/confname.h" 1 3 4 # 25 "/usr/include/bits/confname.h" 3 4 enum { _PC_LINK_MAX, _PC_MAX_CANON, _PC_MAX_INPUT, _PC_NAME_MAX, _PC_PATH_MAX, _PC_PIPE_BUF, _PC_CHOWN_RESTRICTED, _PC_NO_TRUNC, _PC_VDISABLE, _PC_SYNC_IO, _PC_ASYNC_IO, _PC_PRIO_IO, _PC_SOCK_MAXBUF, _PC_FILESIZEBITS, _PC_REC_INCR_XFER_SIZE, _PC_REC_MAX_XFER_SIZE, _PC_REC_MIN_XFER_SIZE, _PC_REC_XFER_ALIGN, _PC_ALLOC_SIZE_MIN, _PC_SYMLINK_MAX, _PC_2_SYMLINKS }; enum { _SC_ARG_MAX, _SC_CHILD_MAX, _SC_CLK_TCK, _SC_NGROUPS_MAX, _SC_OPEN_MAX, _SC_STREAM_MAX, _SC_TZNAME_MAX, _SC_JOB_CONTROL, _SC_SAVED_IDS, _SC_REALTIME_SIGNALS, _SC_PRIORITY_SCHEDULING, _SC_TIMERS, _SC_ASYNCHRONOUS_IO, _SC_PRIORITIZED_IO, _SC_SYNCHRONIZED_IO, _SC_FSYNC, _SC_MAPPED_FILES, _SC_MEMLOCK, _SC_MEMLOCK_RANGE, _SC_MEMORY_PROTECTION, _SC_MESSAGE_PASSING, _SC_SEMAPHORES, _SC_SHARED_MEMORY_OBJECTS, _SC_AIO_LISTIO_MAX, _SC_AIO_MAX, _SC_AIO_PRIO_DELTA_MAX, _SC_DELAYTIMER_MAX, _SC_MQ_OPEN_MAX, _SC_MQ_PRIO_MAX, _SC_VERSION, _SC_PAGESIZE, _SC_RTSIG_MAX, _SC_SEM_NSEMS_MAX, _SC_SEM_VALUE_MAX, _SC_SIGQUEUE_MAX, _SC_TIMER_MAX, _SC_BC_BASE_MAX, _SC_BC_DIM_MAX, _SC_BC_SCALE_MAX, _SC_BC_STRING_MAX, _SC_COLL_WEIGHTS_MAX, _SC_EQUIV_CLASS_MAX, _SC_EXPR_NEST_MAX, _SC_LINE_MAX, _SC_RE_DUP_MAX, _SC_CHARCLASS_NAME_MAX, _SC_2_VERSION, _SC_2_C_BIND, _SC_2_C_DEV, _SC_2_FORT_DEV, _SC_2_FORT_RUN, _SC_2_SW_DEV, _SC_2_LOCALEDEF, _SC_PII, _SC_PII_XTI, _SC_PII_SOCKET, _SC_PII_INTERNET, _SC_PII_OSI, _SC_POLL, _SC_SELECT, _SC_UIO_MAXIOV, _SC_IOV_MAX = _SC_UIO_MAXIOV, _SC_PII_INTERNET_STREAM, _SC_PII_INTERNET_DGRAM, _SC_PII_OSI_COTS, _SC_PII_OSI_CLTS, _SC_PII_OSI_M, _SC_T_IOV_MAX, _SC_THREADS, _SC_THREAD_SAFE_FUNCTIONS, _SC_GETGR_R_SIZE_MAX, _SC_GETPW_R_SIZE_MAX, _SC_LOGIN_NAME_MAX, _SC_TTY_NAME_MAX, _SC_THREAD_DESTRUCTOR_ITERATIONS, _SC_THREAD_KEYS_MAX, _SC_THREAD_STACK_MIN, _SC_THREAD_THREADS_MAX, _SC_THREAD_ATTR_STACKADDR, _SC_THREAD_ATTR_STACKSIZE, _SC_THREAD_PRIORITY_SCHEDULING, _SC_THREAD_PRIO_INHERIT, _SC_THREAD_PRIO_PROTECT, _SC_THREAD_PROCESS_SHARED, _SC_NPROCESSORS_CONF, _SC_NPROCESSORS_ONLN, _SC_PHYS_PAGES, _SC_AVPHYS_PAGES, _SC_ATEXIT_MAX, _SC_PASS_MAX, _SC_XOPEN_VERSION, _SC_XOPEN_XCU_VERSION, _SC_XOPEN_UNIX, _SC_XOPEN_CRYPT, _SC_XOPEN_ENH_I18N, _SC_XOPEN_SHM, _SC_2_CHAR_TERM, _SC_2_C_VERSION, _SC_2_UPE, _SC_XOPEN_XPG2, _SC_XOPEN_XPG3, _SC_XOPEN_XPG4, _SC_CHAR_BIT, _SC_CHAR_MAX, _SC_CHAR_MIN, _SC_INT_MAX, _SC_INT_MIN, _SC_LONG_BIT, _SC_WORD_BIT, _SC_MB_LEN_MAX, _SC_NZERO, _SC_SSIZE_MAX, _SC_SCHAR_MAX, _SC_SCHAR_MIN, _SC_SHRT_MAX, _SC_SHRT_MIN, _SC_UCHAR_MAX, _SC_UINT_MAX, _SC_ULONG_MAX, _SC_USHRT_MAX, _SC_NL_ARGMAX, _SC_NL_LANGMAX, _SC_NL_MSGMAX, _SC_NL_NMAX, _SC_NL_SETMAX, _SC_NL_TEXTMAX, _SC_XBS5_ILP32_OFF32, _SC_XBS5_ILP32_OFFBIG, _SC_XBS5_LP64_OFF64, _SC_XBS5_LPBIG_OFFBIG, _SC_XOPEN_LEGACY, _SC_XOPEN_REALTIME, _SC_XOPEN_REALTIME_THREADS, _SC_ADVISORY_INFO, _SC_BARRIERS, _SC_BASE, _SC_C_LANG_SUPPORT, _SC_C_LANG_SUPPORT_R, _SC_CLOCK_SELECTION, _SC_CPUTIME, _SC_THREAD_CPUTIME, _SC_DEVICE_IO, _SC_DEVICE_SPECIFIC, _SC_DEVICE_SPECIFIC_R, _SC_FD_MGMT, _SC_FIFO, _SC_PIPE, _SC_FILE_ATTRIBUTES, _SC_FILE_LOCKING, _SC_FILE_SYSTEM, _SC_MONOTONIC_CLOCK, _SC_MULTI_PROCESS, _SC_SINGLE_PROCESS, _SC_NETWORKING, _SC_READER_WRITER_LOCKS, _SC_SPIN_LOCKS, _SC_REGEXP, _SC_REGEX_VERSION, _SC_SHELL, _SC_SIGNALS, _SC_SPAWN, _SC_SPORADIC_SERVER, _SC_THREAD_SPORADIC_SERVER, _SC_SYSTEM_DATABASE, _SC_SYSTEM_DATABASE_R, _SC_TIMEOUTS, _SC_TYPED_MEMORY_OBJECTS, _SC_USER_GROUPS, _SC_USER_GROUPS_R, _SC_2_PBS, _SC_2_PBS_ACCOUNTING, _SC_2_PBS_LOCATE, _SC_2_PBS_MESSAGE, _SC_2_PBS_TRACK, _SC_SYMLOOP_MAX, _SC_STREAMS, _SC_2_PBS_CHECKPOINT, _SC_V6_ILP32_OFF32, _SC_V6_ILP32_OFFBIG, _SC_V6_LP64_OFF64, _SC_V6_LPBIG_OFFBIG, _SC_HOST_NAME_MAX, _SC_TRACE, _SC_TRACE_EVENT_FILTER, _SC_TRACE_INHERIT, _SC_TRACE_LOG }; enum { _CS_PATH, _CS_V6_WIDTH_RESTRICTED_ENVS, _CS_GNU_LIBC_VERSION, _CS_GNU_LIBPTHREAD_VERSION, _CS_LFS_CFLAGS = 1000, _CS_LFS_LDFLAGS, _CS_LFS_LIBS, _CS_LFS_LINTFLAGS, _CS_LFS64_CFLAGS, _CS_LFS64_LDFLAGS, _CS_LFS64_LIBS, _CS_LFS64_LINTFLAGS, _CS_XBS5_ILP32_OFF32_CFLAGS = 1100, _CS_XBS5_ILP32_OFF32_LDFLAGS, _CS_XBS5_ILP32_OFF32_LIBS, _CS_XBS5_ILP32_OFF32_LINTFLAGS, _CS_XBS5_ILP32_OFFBIG_CFLAGS, _CS_XBS5_ILP32_OFFBIG_LDFLAGS, _CS_XBS5_ILP32_OFFBIG_LIBS, _CS_XBS5_ILP32_OFFBIG_LINTFLAGS, _CS_XBS5_LP64_OFF64_CFLAGS, _CS_XBS5_LP64_OFF64_LDFLAGS, _CS_XBS5_LP64_OFF64_LIBS, _CS_XBS5_LP64_OFF64_LINTFLAGS, _CS_XBS5_LPBIG_OFFBIG_CFLAGS, _CS_XBS5_LPBIG_OFFBIG_LDFLAGS, _CS_XBS5_LPBIG_OFFBIG_LIBS, _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS, _CS_POSIX_V6_ILP32_OFF32_CFLAGS, _CS_POSIX_V6_ILP32_OFF32_LDFLAGS, _CS_POSIX_V6_ILP32_OFF32_LIBS, _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS, _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS, _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS, _CS_POSIX_V6_ILP32_OFFBIG_LIBS, _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS, _CS_POSIX_V6_LP64_OFF64_CFLAGS, _CS_POSIX_V6_LP64_OFF64_LDFLAGS, _CS_POSIX_V6_LP64_OFF64_LIBS, _CS_POSIX_V6_LP64_OFF64_LINTFLAGS, _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS, _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS, _CS_POSIX_V6_LPBIG_OFFBIG_LIBS, _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS }; # 526 "/usr/include/unistd.h" 2 3 4 extern long int pathconf (__const char *__path, int __name) ; extern long int fpathconf (int __fd, int __name) ; extern long int sysconf (int __name) __attribute__ ((__const__)); extern size_t confstr (int __name, char *__buf, size_t __len) ; extern __pid_t getpid (void) ; extern __pid_t getppid (void) ; extern __pid_t getpgrp (void) ; # 561 "/usr/include/unistd.h" 3 4 extern __pid_t __getpgid (__pid_t __pid) ; extern __pid_t getpgid (__pid_t __pid) ; extern int setpgid (__pid_t __pid, __pid_t __pgid) ; # 587 "/usr/include/unistd.h" 3 4 extern int setpgrp (void) ; # 605 "/usr/include/unistd.h" 3 4 extern __pid_t setsid (void) ; extern __pid_t getsid (__pid_t __pid) ; extern __uid_t getuid (void) ; extern __uid_t geteuid (void) ; extern __gid_t getgid (void) ; extern __gid_t getegid (void) ; extern int getgroups (int __size, __gid_t __list[]) ; extern int group_member (__gid_t __gid) ; extern int setuid (__uid_t __uid) ; extern int setreuid (__uid_t __ruid, __uid_t __euid) ; extern int seteuid (__uid_t __uid) ; extern int setgid (__gid_t __gid) ; extern int setregid (__gid_t __rgid, __gid_t __egid) ; extern int setegid (__gid_t __gid) ; extern int getresuid (__uid_t *__euid, __uid_t *__ruid, __uid_t *__suid); extern int getresgid (__gid_t *__egid, __gid_t *__rgid, __gid_t *__sgid); extern int setresuid (__uid_t __euid, __uid_t __ruid, __uid_t __suid); extern int setresgid (__gid_t __egid, __gid_t __rgid, __gid_t __sgid); extern __pid_t fork (void) ; extern __pid_t vfork (void) ; extern char *ttyname (int __fd) ; extern int ttyname_r (int __fd, char *__buf, size_t __buflen) ; extern int isatty (int __fd) ; extern int ttyslot (void) ; extern int link (__const char *__from, __const char *__to) ; extern int symlink (__const char *__from, __const char *__to) ; extern int readlink (__const char *__restrict __path, char *__restrict __buf, size_t __len) ; extern int unlink (__const char *__name) ; extern int rmdir (__const char *__path) ; extern __pid_t tcgetpgrp (int __fd) ; extern int tcsetpgrp (int __fd, __pid_t __pgrp_id) ; extern char *getlogin (void); extern int getlogin_r (char *__name, size_t __name_len); extern int setlogin (__const char *__name) ; # 775 "/usr/include/unistd.h" 3 4 # 1 "/usr/include/getopt.h" 1 3 4 # 55 "/usr/include/getopt.h" 3 4 extern char *optarg; # 69 "/usr/include/getopt.h" 3 4 extern int optind; extern int opterr; extern int optopt; # 153 "/usr/include/getopt.h" 3 4 extern int getopt (int ___argc, char *const *___argv, const char *__shortopts) ; # 776 "/usr/include/unistd.h" 2 3 4 extern int gethostname (char *__name, size_t __len) ; extern int sethostname (__const char *__name, size_t __len) ; extern int sethostid (long int __id) ; extern int getdomainname (char *__name, size_t __len) ; extern int setdomainname (__const char *__name, size_t __len) ; extern int vhangup (void) ; extern int revoke (__const char *__file) ; extern int profil (unsigned short int *__sample_buffer, size_t __size, size_t __offset, unsigned int __scale) ; extern int acct (__const char *__name) ; extern char *getusershell (void) ; extern void endusershell (void) ; extern void setusershell (void) ; extern int daemon (int __nochdir, int __noclose) ; extern int chroot (__const char *__path) ; extern char *getpass (__const char *__prompt); # 857 "/usr/include/unistd.h" 3 4 extern int fsync (int __fd); extern long int gethostid (void); extern void sync (void) ; extern int getpagesize (void) __attribute__ ((__const__)); extern int truncate (__const char *__file, __off64_t __length) __asm__ ("" "truncate64"); extern int truncate64 (__const char *__file, __off64_t __length) ; extern int ftruncate (int __fd, __off64_t __length) __asm__ ("" "ftruncate64"); extern int ftruncate64 (int __fd, __off64_t __length) ; extern int getdtablesize (void) ; # 918 "/usr/include/unistd.h" 3 4 extern int brk (void *__addr) ; extern void *sbrk (intptr_t __delta) ; # 939 "/usr/include/unistd.h" 3 4 extern long int syscall (long int __sysno, ...) ; # 965 "/usr/include/unistd.h" 3 4 extern int lockf (int __fd, int __cmd, __off64_t __len) __asm__ ("" "lockf64"); extern int lockf64 (int __fd, int __cmd, __off64_t __len); # 993 "/usr/include/unistd.h" 3 4 extern int fdatasync (int __fildes) ; extern char *crypt (__const char *__key, __const char *__salt) ; extern void encrypt (char *__block, int __edflag) ; extern void swab (__const void *__restrict __from, void *__restrict __to, ssize_t __n) ; extern char *ctermid (char *__s) ; # 40 "Include/Python.h" 2 # 1 "/usr/include/assert.h" 1 3 4 # 47 "Include/Python.h" 2 # 1 "Include/pyport.h" 1 # 73 "Include/pyport.h" typedef unsigned int Py_uintptr_t; typedef int Py_intptr_t; # 92 "Include/pyport.h" # 1 "/usr/include/math.h" 1 3 4 # 29 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/huge_val.h" 1 3 4 # 34 "/usr/include/math.h" 2 3 4 # 1 "/usr/include/bits/nan.h" 1 3 4 # 38 "/usr/include/math.h" 2 3 4 # 1 "/usr/include/bits/mathdef.h" 1 3 4 # 29 "/usr/include/bits/mathdef.h" 3 4 typedef long double float_t; typedef long double double_t; # 41 "/usr/include/math.h" 2 3 4 # 65 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/mathcalls.h" 1 3 4 # 53 "/usr/include/bits/mathcalls.h" 3 4 extern double acos (double __x) ; extern double __acos (double __x) ; extern double asin (double __x) ; extern double __asin (double __x) ; extern double atan (double __x) ; extern double __atan (double __x) ; extern double atan2 (double __y, double __x) ; extern double __atan2 (double __y, double __x) ; extern double cos (double __x) ; extern double __cos (double __x) ; extern double sin (double __x) ; extern double __sin (double __x) ; extern double tan (double __x) ; extern double __tan (double __x) ; extern double cosh (double __x) ; extern double __cosh (double __x) ; extern double sinh (double __x) ; extern double __sinh (double __x) ; extern double tanh (double __x) ; extern double __tanh (double __x) ; extern void sincos (double __x, double *__sinx, double *__cosx) ; extern void __sincos (double __x, double *__sinx, double *__cosx) ; extern double acosh (double __x) ; extern double __acosh (double __x) ; extern double asinh (double __x) ; extern double __asinh (double __x) ; extern double atanh (double __x) ; extern double __atanh (double __x) ; extern double exp (double __x) ; extern double __exp (double __x) ; extern double frexp (double __x, int *__exponent) ; extern double __frexp (double __x, int *__exponent) ; extern double ldexp (double __x, int __exponent) ; extern double __ldexp (double __x, int __exponent) ; extern double log (double __x) ; extern double __log (double __x) ; extern double log10 (double __x) ; extern double __log10 (double __x) ; extern double modf (double __x, double *__iptr) ; extern double __modf (double __x, double *__iptr) ; extern double exp10 (double __x) ; extern double __exp10 (double __x) ; extern double pow10 (double __x) ; extern double __pow10 (double __x) ; extern double expm1 (double __x) ; extern double __expm1 (double __x) ; extern double log1p (double __x) ; extern double __log1p (double __x) ; extern double logb (double __x) ; extern double __logb (double __x) ; extern double exp2 (double __x) ; extern double __exp2 (double __x) ; extern double log2 (double __x) ; extern double __log2 (double __x) ; # 154 "/usr/include/bits/mathcalls.h" 3 4 extern double pow (double __x, double __y) ; extern double __pow (double __x, double __y) ; extern double sqrt (double __x) ; extern double __sqrt (double __x) ; extern double hypot (double __x, double __y) ; extern double __hypot (double __x, double __y) ; extern double cbrt (double __x) ; extern double __cbrt (double __x) ; # 179 "/usr/include/bits/mathcalls.h" 3 4 extern double ceil (double __x) __attribute__ ((__const__)); extern double __ceil (double __x) __attribute__ ((__const__)); extern double fabs (double __x) __attribute__ ((__const__)); extern double __fabs (double __x) __attribute__ ((__const__)); extern double floor (double __x) __attribute__ ((__const__)); extern double __floor (double __x) __attribute__ ((__const__)); extern double fmod (double __x, double __y) ; extern double __fmod (double __x, double __y) ; extern int __isinf (double __value) __attribute__ ((__const__)); extern int __finite (double __value) __attribute__ ((__const__)); extern int isinf (double __value) __attribute__ ((__const__)); extern int finite (double __value) __attribute__ ((__const__)); extern double drem (double __x, double __y) ; extern double __drem (double __x, double __y) ; extern double significand (double __x) ; extern double __significand (double __x) ; extern double copysign (double __x, double __y) __attribute__ ((__const__)); extern double __copysign (double __x, double __y) __attribute__ ((__const__)); extern double nan (__const char *__tagb) __attribute__ ((__const__)); extern double __nan (__const char *__tagb) __attribute__ ((__const__)); extern int __isnan (double __value) __attribute__ ((__const__)); extern int isnan (double __value) __attribute__ ((__const__)); extern double j0 (double) ; extern double __j0 (double) ; extern double j1 (double) ; extern double __j1 (double) ; extern double jn (int, double) ; extern double __jn (int, double) ; extern double y0 (double) ; extern double __y0 (double) ; extern double y1 (double) ; extern double __y1 (double) ; extern double yn (int, double) ; extern double __yn (int, double) ; extern double erf (double) ; extern double __erf (double) ; extern double erfc (double) ; extern double __erfc (double) ; extern double lgamma (double) ; extern double __lgamma (double) ; extern double tgamma (double) ; extern double __tgamma (double) ; extern double gamma (double) ; extern double __gamma (double) ; extern double lgamma_r (double, int *__signgamp) ; extern double __lgamma_r (double, int *__signgamp) ; extern double rint (double __x) ; extern double __rint (double __x) ; extern double nextafter (double __x, double __y) __attribute__ ((__const__)); extern double __nextafter (double __x, double __y) __attribute__ ((__const__)); extern double nexttoward (double __x, long double __y) __attribute__ ((__const__)); extern double __nexttoward (double __x, long double __y) __attribute__ ((__const__)); extern double remainder (double __x, double __y) ; extern double __remainder (double __x, double __y) ; extern double scalbn (double __x, int __n) ; extern double __scalbn (double __x, int __n) ; extern int ilogb (double __x) ; extern int __ilogb (double __x) ; extern double scalbln (double __x, long int __n) ; extern double __scalbln (double __x, long int __n) ; extern double nearbyint (double __x) ; extern double __nearbyint (double __x) ; extern double round (double __x) __attribute__ ((__const__)); extern double __round (double __x) __attribute__ ((__const__)); extern double trunc (double __x) __attribute__ ((__const__)); extern double __trunc (double __x) __attribute__ ((__const__)); extern double remquo (double __x, double __y, int *__quo) ; extern double __remquo (double __x, double __y, int *__quo) ; extern long int lrint (double __x) ; extern long int __lrint (double __x) ; extern long long int llrint (double __x) ; extern long long int __llrint (double __x) ; extern long int lround (double __x) ; extern long int __lround (double __x) ; extern long long int llround (double __x) ; extern long long int __llround (double __x) ; extern double fdim (double __x, double __y) ; extern double __fdim (double __x, double __y) ; extern double fmax (double __x, double __y) ; extern double __fmax (double __x, double __y) ; extern double fmin (double __x, double __y) ; extern double __fmin (double __x, double __y) ; extern int __fpclassify (double __value) __attribute__ ((__const__)); extern int __signbit (double __value) __attribute__ ((__const__)); extern double fma (double __x, double __y, double __z) ; extern double __fma (double __x, double __y, double __z) ; extern double scalb (double __x, double __n) ; extern double __scalb (double __x, double __n) ; # 66 "/usr/include/math.h" 2 3 4 # 88 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/mathcalls.h" 1 3 4 # 53 "/usr/include/bits/mathcalls.h" 3 4 extern float acosf (float __x) ; extern float __acosf (float __x) ; extern float asinf (float __x) ; extern float __asinf (float __x) ; extern float atanf (float __x) ; extern float __atanf (float __x) ; extern float atan2f (float __y, float __x) ; extern float __atan2f (float __y, float __x) ; extern float cosf (float __x) ; extern float __cosf (float __x) ; extern float sinf (float __x) ; extern float __sinf (float __x) ; extern float tanf (float __x) ; extern float __tanf (float __x) ; extern float coshf (float __x) ; extern float __coshf (float __x) ; extern float sinhf (float __x) ; extern float __sinhf (float __x) ; extern float tanhf (float __x) ; extern float __tanhf (float __x) ; extern void sincosf (float __x, float *__sinx, float *__cosx) ; extern void __sincosf (float __x, float *__sinx, float *__cosx) ; extern float acoshf (float __x) ; extern float __acoshf (float __x) ; extern float asinhf (float __x) ; extern float __asinhf (float __x) ; extern float atanhf (float __x) ; extern float __atanhf (float __x) ; extern float expf (float __x) ; extern float __expf (float __x) ; extern float frexpf (float __x, int *__exponent) ; extern float __frexpf (float __x, int *__exponent) ; extern float ldexpf (float __x, int __exponent) ; extern float __ldexpf (float __x, int __exponent) ; extern float logf (float __x) ; extern float __logf (float __x) ; extern float log10f (float __x) ; extern float __log10f (float __x) ; extern float modff (float __x, float *__iptr) ; extern float __modff (float __x, float *__iptr) ; extern float exp10f (float __x) ; extern float __exp10f (float __x) ; extern float pow10f (float __x) ; extern float __pow10f (float __x) ; extern float expm1f (float __x) ; extern float __expm1f (float __x) ; extern float log1pf (float __x) ; extern float __log1pf (float __x) ; extern float logbf (float __x) ; extern float __logbf (float __x) ; extern float exp2f (float __x) ; extern float __exp2f (float __x) ; extern float log2f (float __x) ; extern float __log2f (float __x) ; # 154 "/usr/include/bits/mathcalls.h" 3 4 extern float powf (float __x, float __y) ; extern float __powf (float __x, float __y) ; extern float sqrtf (float __x) ; extern float __sqrtf (float __x) ; extern float hypotf (float __x, float __y) ; extern float __hypotf (float __x, float __y) ; extern float cbrtf (float __x) ; extern float __cbrtf (float __x) ; # 179 "/usr/include/bits/mathcalls.h" 3 4 extern float ceilf (float __x) __attribute__ ((__const__)); extern float __ceilf (float __x) __attribute__ ((__const__)); extern float fabsf (float __x) __attribute__ ((__const__)); extern float __fabsf (float __x) __attribute__ ((__const__)); extern float floorf (float __x) __attribute__ ((__const__)); extern float __floorf (float __x) __attribute__ ((__const__)); extern float fmodf (float __x, float __y) ; extern float __fmodf (float __x, float __y) ; extern int __isinff (float __value) __attribute__ ((__const__)); extern int __finitef (float __value) __attribute__ ((__const__)); extern int isinff (float __value) __attribute__ ((__const__)); extern int finitef (float __value) __attribute__ ((__const__)); extern float dremf (float __x, float __y) ; extern float __dremf (float __x, float __y) ; extern float significandf (float __x) ; extern float __significandf (float __x) ; extern float copysignf (float __x, float __y) __attribute__ ((__const__)); extern float __copysignf (float __x, float __y) __attribute__ ((__const__)); extern float nanf (__const char *__tagb) __attribute__ ((__const__)); extern float __nanf (__const char *__tagb) __attribute__ ((__const__)); extern int __isnanf (float __value) __attribute__ ((__const__)); extern int isnanf (float __value) __attribute__ ((__const__)); extern float j0f (float) ; extern float __j0f (float) ; extern float j1f (float) ; extern float __j1f (float) ; extern float jnf (int, float) ; extern float __jnf (int, float) ; extern float y0f (float) ; extern float __y0f (float) ; extern float y1f (float) ; extern float __y1f (float) ; extern float ynf (int, float) ; extern float __ynf (int, float) ; extern float erff (float) ; extern float __erff (float) ; extern float erfcf (float) ; extern float __erfcf (float) ; extern float lgammaf (float) ; extern float __lgammaf (float) ; extern float tgammaf (float) ; extern float __tgammaf (float) ; extern float gammaf (float) ; extern float __gammaf (float) ; extern float lgammaf_r (float, int *__signgamp) ; extern float __lgammaf_r (float, int *__signgamp) ; extern float rintf (float __x) ; extern float __rintf (float __x) ; extern float nextafterf (float __x, float __y) __attribute__ ((__const__)); extern float __nextafterf (float __x, float __y) __attribute__ ((__const__)); extern float nexttowardf (float __x, long double __y) __attribute__ ((__const__)); extern float __nexttowardf (float __x, long double __y) __attribute__ ((__const__)); extern float remainderf (float __x, float __y) ; extern float __remainderf (float __x, float __y) ; extern float scalbnf (float __x, int __n) ; extern float __scalbnf (float __x, int __n) ; extern int ilogbf (float __x) ; extern int __ilogbf (float __x) ; extern float scalblnf (float __x, long int __n) ; extern float __scalblnf (float __x, long int __n) ; extern float nearbyintf (float __x) ; extern float __nearbyintf (float __x) ; extern float roundf (float __x) __attribute__ ((__const__)); extern float __roundf (float __x) __attribute__ ((__const__)); extern float truncf (float __x) __attribute__ ((__const__)); extern float __truncf (float __x) __attribute__ ((__const__)); extern float remquof (float __x, float __y, int *__quo) ; extern float __remquof (float __x, float __y, int *__quo) ; extern long int lrintf (float __x) ; extern long int __lrintf (float __x) ; extern long long int llrintf (float __x) ; extern long long int __llrintf (float __x) ; extern long int lroundf (float __x) ; extern long int __lroundf (float __x) ; extern long long int llroundf (float __x) ; extern long long int __llroundf (float __x) ; extern float fdimf (float __x, float __y) ; extern float __fdimf (float __x, float __y) ; extern float fmaxf (float __x, float __y) ; extern float __fmaxf (float __x, float __y) ; extern float fminf (float __x, float __y) ; extern float __fminf (float __x, float __y) ; extern int __fpclassifyf (float __value) __attribute__ ((__const__)); extern int __signbitf (float __value) __attribute__ ((__const__)); extern float fmaf (float __x, float __y, float __z) ; extern float __fmaf (float __x, float __y, float __z) ; extern float scalbf (float __x, float __n) ; extern float __scalbf (float __x, float __n) ; # 89 "/usr/include/math.h" 2 3 4 # 109 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/mathcalls.h" 1 3 4 # 53 "/usr/include/bits/mathcalls.h" 3 4 extern long double acosl (long double __x) ; extern long double __acosl (long double __x) ; extern long double asinl (long double __x) ; extern long double __asinl (long double __x) ; extern long double atanl (long double __x) ; extern long double __atanl (long double __x) ; extern long double atan2l (long double __y, long double __x) ; extern long double __atan2l (long double __y, long double __x) ; extern long double cosl (long double __x) ; extern long double __cosl (long double __x) ; extern long double sinl (long double __x) ; extern long double __sinl (long double __x) ; extern long double tanl (long double __x) ; extern long double __tanl (long double __x) ; extern long double coshl (long double __x) ; extern long double __coshl (long double __x) ; extern long double sinhl (long double __x) ; extern long double __sinhl (long double __x) ; extern long double tanhl (long double __x) ; extern long double __tanhl (long double __x) ; extern void sincosl (long double __x, long double *__sinx, long double *__cosx) ; extern void __sincosl (long double __x, long double *__sinx, long double *__cosx) ; extern long double acoshl (long double __x) ; extern long double __acoshl (long double __x) ; extern long double asinhl (long double __x) ; extern long double __asinhl (long double __x) ; extern long double atanhl (long double __x) ; extern long double __atanhl (long double __x) ; extern long double expl (long double __x) ; extern long double __expl (long double __x) ; extern long double frexpl (long double __x, int *__exponent) ; extern long double __frexpl (long double __x, int *__exponent) ; extern long double ldexpl (long double __x, int __exponent) ; extern long double __ldexpl (long double __x, int __exponent) ; extern long double logl (long double __x) ; extern long double __logl (long double __x) ; extern long double log10l (long double __x) ; extern long double __log10l (long double __x) ; extern long double modfl (long double __x, long double *__iptr) ; extern long double __modfl (long double __x, long double *__iptr) ; extern long double exp10l (long double __x) ; extern long double __exp10l (long double __x) ; extern long double pow10l (long double __x) ; extern long double __pow10l (long double __x) ; extern long double expm1l (long double __x) ; extern long double __expm1l (long double __x) ; extern long double log1pl (long double __x) ; extern long double __log1pl (long double __x) ; extern long double logbl (long double __x) ; extern long double __logbl (long double __x) ; extern long double exp2l (long double __x) ; extern long double __exp2l (long double __x) ; extern long double log2l (long double __x) ; extern long double __log2l (long double __x) ; # 154 "/usr/include/bits/mathcalls.h" 3 4 extern long double powl (long double __x, long double __y) ; extern long double __powl (long double __x, long double __y) ; extern long double sqrtl (long double __x) ; extern long double __sqrtl (long double __x) ; extern long double hypotl (long double __x, long double __y) ; extern long double __hypotl (long double __x, long double __y) ; extern long double cbrtl (long double __x) ; extern long double __cbrtl (long double __x) ; # 179 "/usr/include/bits/mathcalls.h" 3 4 extern long double ceill (long double __x) __attribute__ ((__const__)); extern long double __ceill (long double __x) __attribute__ ((__const__)); extern long double fabsl (long double __x) __attribute__ ((__const__)); extern long double __fabsl (long double __x) __attribute__ ((__const__)); extern long double floorl (long double __x) __attribute__ ((__const__)); extern long double __floorl (long double __x) __attribute__ ((__const__)); extern long double fmodl (long double __x, long double __y) ; extern long double __fmodl (long double __x, long double __y) ; extern int __isinfl (long double __value) __attribute__ ((__const__)); extern int __finitel (long double __value) __attribute__ ((__const__)); extern int isinfl (long double __value) __attribute__ ((__const__)); extern int finitel (long double __value) __attribute__ ((__const__)); extern long double dreml (long double __x, long double __y) ; extern long double __dreml (long double __x, long double __y) ; extern long double significandl (long double __x) ; extern long double __significandl (long double __x) ; extern long double copysignl (long double __x, long double __y) __attribute__ ((__const__)); extern long double __copysignl (long double __x, long double __y) __attribute__ ((__const__)); extern long double nanl (__const char *__tagb) __attribute__ ((__const__)); extern long double __nanl (__const char *__tagb) __attribute__ ((__const__)); extern int __isnanl (long double __value) __attribute__ ((__const__)); extern int isnanl (long double __value) __attribute__ ((__const__)); extern long double j0l (long double) ; extern long double __j0l (long double) ; extern long double j1l (long double) ; extern long double __j1l (long double) ; extern long double jnl (int, long double) ; extern long double __jnl (int, long double) ; extern long double y0l (long double) ; extern long double __y0l (long double) ; extern long double y1l (long double) ; extern long double __y1l (long double) ; extern long double ynl (int, long double) ; extern long double __ynl (int, long double) ; extern long double erfl (long double) ; extern long double __erfl (long double) ; extern long double erfcl (long double) ; extern long double __erfcl (long double) ; extern long double lgammal (long double) ; extern long double __lgammal (long double) ; extern long double tgammal (long double) ; extern long double __tgammal (long double) ; extern long double gammal (long double) ; extern long double __gammal (long double) ; extern long double lgammal_r (long double, int *__signgamp) ; extern long double __lgammal_r (long double, int *__signgamp) ; extern long double rintl (long double __x) ; extern long double __rintl (long double __x) ; extern long double nextafterl (long double __x, long double __y) __attribute__ ((__const__)); extern long double __nextafterl (long double __x, long double __y) __attribute__ ((__const__)); extern long double nexttowardl (long double __x, long double __y) __attribute__ ((__const__)); extern long double __nexttowardl (long double __x, long double __y) __attribute__ ((__const__)); extern long double remainderl (long double __x, long double __y) ; extern long double __remainderl (long double __x, long double __y) ; extern long double scalbnl (long double __x, int __n) ; extern long double __scalbnl (long double __x, int __n) ; extern int ilogbl (long double __x) ; extern int __ilogbl (long double __x) ; extern long double scalblnl (long double __x, long int __n) ; extern long double __scalblnl (long double __x, long int __n) ; extern long double nearbyintl (long double __x) ; extern long double __nearbyintl (long double __x) ; extern long double roundl (long double __x) __attribute__ ((__const__)); extern long double __roundl (long double __x) __attribute__ ((__const__)); extern long double truncl (long double __x) __attribute__ ((__const__)); extern long double __truncl (long double __x) __attribute__ ((__const__)); extern long double remquol (long double __x, long double __y, int *__quo) ; extern long double __remquol (long double __x, long double __y, int *__quo) ; extern long int lrintl (long double __x) ; extern long int __lrintl (long double __x) ; extern long long int llrintl (long double __x) ; extern long long int __llrintl (long double __x) ; extern long int lroundl (long double __x) ; extern long int __lroundl (long double __x) ; extern long long int llroundl (long double __x) ; extern long long int __llroundl (long double __x) ; extern long double fdiml (long double __x, long double __y) ; extern long double __fdiml (long double __x, long double __y) ; extern long double fmaxl (long double __x, long double __y) ; extern long double __fmaxl (long double __x, long double __y) ; extern long double fminl (long double __x, long double __y) ; extern long double __fminl (long double __x, long double __y) ; extern int __fpclassifyl (long double __value) __attribute__ ((__const__)); extern int __signbitl (long double __value) __attribute__ ((__const__)); extern long double fmal (long double __x, long double __y, long double __z) ; extern long double __fmal (long double __x, long double __y, long double __z) ; extern long double scalbl (long double __x, long double __n) ; extern long double __scalbl (long double __x, long double __n) ; # 110 "/usr/include/math.h" 2 3 4 # 125 "/usr/include/math.h" 3 4 extern int signgam; # 166 "/usr/include/math.h" 3 4 enum { FP_NAN, FP_INFINITE, FP_ZERO, FP_SUBNORMAL, FP_NORMAL }; # 252 "/usr/include/math.h" 3 4 typedef enum { _IEEE_ = -1, _SVID_, _XOPEN_, _POSIX_, _ISOC_ } _LIB_VERSION_TYPE; extern _LIB_VERSION_TYPE _LIB_VERSION; # 277 "/usr/include/math.h" 3 4 struct exception { int type; char *name; double arg1; double arg2; double retval; }; extern int matherr (struct exception *__exc); # 362 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/mathinline.h" 1 3 4 # 127 "/usr/include/bits/mathinline.h" 3 4 extern __inline int __signbitf (float __x) { __extension__ union { float __f; int __i; } __u = { __f: __x }; return __u.__i < 0; } extern __inline int __signbit (double __x) { __extension__ union { double __d; int __i[2]; } __u = { __d: __x }; return __u.__i[1] < 0; } extern __inline int __signbitl (long double __x) { __extension__ union { long double __l; int __i[3]; } __u = { __l: __x }; return (__u.__i[2] & 0x8000) != 0; } # 291 "/usr/include/bits/mathinline.h" 3 4 extern __inline double __sgn (double) ; extern __inline double __sgn (double __x) { return __x == 0.0 ? 0.0 : (__x > 0.0 ? 1.0 : -1.0); } extern __inline float __sgnf (float) ; extern __inline float __sgnf (float __x) { return __x == 0.0 ? 0.0 : (__x > 0.0 ? 1.0 : -1.0); } extern __inline long double __sgnl (long double) ; extern __inline long double __sgnl (long double __x) { return __x == 0.0 ? 0.0 : (__x > 0.0 ? 1.0 : -1.0); } extern __inline double __pow2 (double) ; extern __inline double __pow2 (double __x) { register long double __value; register long double __exponent; __extension__ long long int __p = (long long int) __x; if (__x == (long double) __p) { __asm __volatile__ ("fscale" : "=t" (__value) : "0" (1.0), "u" (__x)); return __value; } __asm __volatile__ ("fld %%st(0)\n\t" "frndint # int(x)\n\t" "fxch\n\t" "fsub %%st(1) # fract(x)\n\t" "f2xm1 # 2^(fract(x)) - 1\n\t" : "=t" (__value), "=u" (__exponent) : "0" (__x)); __value += 1.0; __asm __volatile__ ("fscale" : "=t" (__value) : "0" (__value), "u" (__exponent)); return __value; } extern __inline float __pow2f (float) ; extern __inline float __pow2f (float __x) { register long double __value; register long double __exponent; __extension__ long long int __p = (long long int) __x; if (__x == (long double) __p) { __asm __volatile__ ("fscale" : "=t" (__value) : "0" (1.0), "u" (__x)); return __value; } __asm __volatile__ ("fld %%st(0)\n\t" "frndint # int(x)\n\t" "fxch\n\t" "fsub %%st(1) # fract(x)\n\t" "f2xm1 # 2^(fract(x)) - 1\n\t" : "=t" (__value), "=u" (__exponent) : "0" (__x)); __value += 1.0; __asm __volatile__ ("fscale" : "=t" (__value) : "0" (__value), "u" (__exponent)); return __value; } extern __inline long double __pow2l (long double) ; extern __inline long double __pow2l (long double __x) { register long double __value; register long double __exponent; __extension__ long long int __p = (long long int) __x; if (__x == (long double) __p) { __asm __volatile__ ("fscale" : "=t" (__value) : "0" (1.0), "u" (__x)); return __value; } __asm __volatile__ ("fld %%st(0)\n\t" "frndint # int(x)\n\t" "fxch\n\t" "fsub %%st(1) # fract(x)\n\t" "f2xm1 # 2^(fract(x)) - 1\n\t" : "=t" (__value), "=u" (__exponent) : "0" (__x)); __value += 1.0; __asm __volatile__ ("fscale" : "=t" (__value) : "0" (__value), "u" (__exponent)); return __value; } # 343 "/usr/include/bits/mathinline.h" 3 4 extern __inline void __sincos (double __x, double *__sinx, double *__cosx) { register long double __cosr; register long double __sinr; __asm __volatile__ ("fsincos\n\t" "fnstsw %%ax\n\t" "testl $0x400, %%eax\n\t" "jz 1f\n\t" "fldpi\n\t" "fadd %%st(0)\n\t" "fxch %%st(1)\n\t" "2: fprem1\n\t" "fnstsw %%ax\n\t" "testl $0x400, %%eax\n\t" "jnz 2b\n\t" "fstp %%st(1)\n\t" "fsincos\n\t" "1:" : "=t" (__cosr), "=u" (__sinr) : "0" (__x)); *__sinx = __sinr; *__cosx = __cosr; } extern __inline void __sincosf (float __x, float *__sinx, float *__cosx) { register long double __cosr; register long double __sinr; __asm __volatile__ ("fsincos\n\t" "fnstsw %%ax\n\t" "testl $0x400, %%eax\n\t" "jz 1f\n\t" "fldpi\n\t" "fadd %%st(0)\n\t" "fxch %%st(1)\n\t" "2: fprem1\n\t" "fnstsw %%ax\n\t" "testl $0x400, %%eax\n\t" "jnz 2b\n\t" "fstp %%st(1)\n\t" "fsincos\n\t" "1:" : "=t" (__cosr), "=u" (__sinr) : "0" (__x)); *__sinx = __sinr; *__cosx = __cosr; } extern __inline void __sincosl (long double __x, long double *__sinx, long double *__cosx) { register long double __cosr; register long double __sinr; __asm __volatile__ ("fsincos\n\t" "fnstsw %%ax\n\t" "testl $0x400, %%eax\n\t" "jz 1f\n\t" "fldpi\n\t" "fadd %%st(0)\n\t" "fxch %%st(1)\n\t" "2: fprem1\n\t" "fnstsw %%ax\n\t" "testl $0x400, %%eax\n\t" "jnz 2b\n\t" "fstp %%st(1)\n\t" "fsincos\n\t" "1:" : "=t" (__cosr), "=u" (__sinr) : "0" (__x)); *__sinx = __sinr; *__cosx = __cosr; } # 386 "/usr/include/bits/mathinline.h" 3 4 extern __inline long double __expm1l (long double __x) { register long double __value; register long double __exponent; register long double __temp; __asm __volatile__ ("fldl2e # e^x - 1 = 2^(x * log2(e)) - 1\n\t" "fmul %%st(1) # x * log2(e)\n\t" "fst %%st(1)\n\t" "frndint # int(x * log2(e))\n\t" "fxch\n\t" "fsub %%st(1) # fract(x * log2(e))\n\t" "f2xm1 # 2^(fract(x * log2(e))) - 1\n\t" "fscale # 2^(x * log2(e)) - 2^(int(x * log2(e)))\n\t" : "=t" (__value), "=u" (__exponent) : "0" (__x)); __asm __volatile__ ("fscale # 2^int(x * log2(e))\n\t" : "=t" (__temp) : "0" (1.0), "u" (__exponent)); __temp -= 1.0; __temp += __value; return __temp ? __temp : __x; } # 406 "/usr/include/bits/mathinline.h" 3 4 extern __inline double exp (double __x) { register long double __value; register long double __exponent; __asm __volatile__ ("fldl2e # e^x = 2^(x * log2(e))\n\t" "fmul %%st(1) # x * log2(e)\n\t" "fst %%st(1)\n\t" "frndint # int(x * log2(e))\n\t" "fxch\n\t" "fsub %%st(1) # fract(x * log2(e))\n\t" "f2xm1 # 2^(fract(x * log2(e))) - 1\n\t" : "=t" (__value), "=u" (__exponent) : "0" (__x)); __value += 1.0; __asm __volatile__ ("fscale" : "=t" (__value) : "0" (__value), "u" (__exponent)); return __value; } extern __inline float expf (float __x) { register long double __value; register long double __exponent; __asm __volatile__ ("fldl2e # e^x = 2^(x * log2(e))\n\t" "fmul %%st(1) # x * log2(e)\n\t" "fst %%st(1)\n\t" "frndint # int(x * log2(e))\n\t" "fxch\n\t" "fsub %%st(1) # fract(x * log2(e))\n\t" "f2xm1 # 2^(fract(x * log2(e))) - 1\n\t" : "=t" (__value), "=u" (__exponent) : "0" (__x)); __value += 1.0; __asm __volatile__ ("fscale" : "=t" (__value) : "0" (__value), "u" (__exponent)); return __value; } extern __inline long double expl (long double __x) { register long double __value; register long double __exponent; __asm __volatile__ ("fldl2e # e^x = 2^(x * log2(e))\n\t" "fmul %%st(1) # x * log2(e)\n\t" "fst %%st(1)\n\t" "frndint # int(x * log2(e))\n\t" "fxch\n\t" "fsub %%st(1) # fract(x * log2(e))\n\t" "f2xm1 # 2^(fract(x * log2(e))) - 1\n\t" : "=t" (__value), "=u" (__exponent) : "0" (__x)); __value += 1.0; __asm __volatile__ ("fscale" : "=t" (__value) : "0" (__value), "u" (__exponent)); return __value; } extern __inline long double __expl (long double __x) { register long double __value; register long double __exponent; __asm __volatile__ ("fldl2e # e^x = 2^(x * log2(e))\n\t" "fmul %%st(1) # x * log2(e)\n\t" "fst %%st(1)\n\t" "frndint # int(x * log2(e))\n\t" "fxch\n\t" "fsub %%st(1) # fract(x * log2(e))\n\t" "f2xm1 # 2^(fract(x * log2(e))) - 1\n\t" : "=t" (__value), "=u" (__exponent) : "0" (__x)); __value += 1.0; __asm __volatile__ ("fscale" : "=t" (__value) : "0" (__value), "u" (__exponent)); return __value; } extern __inline double tan (double __x) { register long double __value; register long double __value2 __attribute__ ((__unused__)); __asm __volatile__ ("fptan" : "=t" (__value2), "=u" (__value) : "0" (__x)); return __value; } extern __inline float tanf (float __x) { register long double __value; register long double __value2 __attribute__ ((__unused__)); __asm __volatile__ ("fptan" : "=t" (__value2), "=u" (__value) : "0" (__x)); return __value; } extern __inline long double tanl (long double __x) { register long double __value; register long double __value2 __attribute__ ((__unused__)); __asm __volatile__ ("fptan" : "=t" (__value2), "=u" (__value) : "0" (__x)); return __value; } # 426 "/usr/include/bits/mathinline.h" 3 4 extern __inline double atan2 (double __y, double __x) { register long double __value; __asm __volatile__ ("fpatan" : "=t" (__value) : "0" (__x), "u" (__y) : "st(1)"); return __value; } extern __inline float atan2f (float __y, float __x) { register long double __value; __asm __volatile__ ("fpatan" : "=t" (__value) : "0" (__x), "u" (__y) : "st(1)"); return __value; } extern __inline long double atan2l (long double __y, long double __x) { register long double __value; __asm __volatile__ ("fpatan" : "=t" (__value) : "0" (__x), "u" (__y) : "st(1)"); return __value; } extern __inline long double __atan2l (long double __y, long double __x) { register long double __value; __asm __volatile__ ("fpatan" : "=t" (__value) : "0" (__x), "u" (__y) : "st(1)"); return __value; } extern __inline double fmod (double __x, double __y) { register long double __value; __asm __volatile__ ("1: fprem\n\t" "fnstsw %%ax\n\t" "sahf\n\t" "jp 1b" : "=t" (__value) : "0" (__x), "u" (__y) : "ax", "cc"); return __value; } extern __inline float fmodf (float __x, float __y) { register long double __value; __asm __volatile__ ("1: fprem\n\t" "fnstsw %%ax\n\t" "sahf\n\t" "jp 1b" : "=t" (__value) : "0" (__x), "u" (__y) : "ax", "cc"); return __value; } extern __inline long double fmodl (long double __x, long double __y) { register long double __value; __asm __volatile__ ("1: fprem\n\t" "fnstsw %%ax\n\t" "sahf\n\t" "jp 1b" : "=t" (__value) : "0" (__x), "u" (__y) : "ax", "cc"); return __value; } # 452 "/usr/include/bits/mathinline.h" 3 4 extern __inline double fabs (double __x) { return __builtin_fabs (__x); } extern __inline float fabsf (float __x) { return __builtin_fabsf (__x); } extern __inline long double fabsl (long double __x) { return __builtin_fabsl (__x); } extern __inline long double __fabsl (long double __x) { return __builtin_fabsl (__x); } extern __inline double sin (double __x) { register double __result; __asm __volatile__ ("fsin" : "=t" (__result) : "0" (__x)); return __result; } extern __inline float sinf (float __x) { register float __result; __asm __volatile__ ("fsin" : "=t" (__result) : "0" (__x)); return __result; } extern __inline long double sinl (long double __x) { register long double __result; __asm __volatile__ ("fsin" : "=t" (__result) : "0" (__x)); return __result; } extern __inline double cos (double __x) { register double __result; __asm __volatile__ ("fcos" : "=t" (__result) : "0" (__x)); return __result; } extern __inline float cosf (float __x) { register float __result; __asm __volatile__ ("fcos" : "=t" (__result) : "0" (__x)); return __result; } extern __inline long double cosl (long double __x) { register long double __result; __asm __volatile__ ("fcos" : "=t" (__result) : "0" (__x)); return __result; } extern __inline double log (double __x) { register double __result; __asm __volatile__ ("fldln2; fxch; fyl2x" : "=t" (__result) : "0" (__x) : "st(1)"); return __result; } extern __inline float logf (float __x) { register float __result; __asm __volatile__ ("fldln2; fxch; fyl2x" : "=t" (__result) : "0" (__x) : "st(1)"); return __result; } extern __inline long double logl (long double __x) { register long double __result; __asm __volatile__ ("fldln2; fxch; fyl2x" : "=t" (__result) : "0" (__x) : "st(1)"); return __result; } extern __inline double log10 (double __x) { register double __result; __asm __volatile__ ("fldlg2; fxch; fyl2x" : "=t" (__result) : "0" (__x) : "st(1)"); return __result; } extern __inline float log10f (float __x) { register float __result; __asm __volatile__ ("fldlg2; fxch; fyl2x" : "=t" (__result) : "0" (__x) : "st(1)"); return __result; } extern __inline long double log10l (long double __x) { register long double __result; __asm __volatile__ ("fldlg2; fxch; fyl2x" : "=t" (__result) : "0" (__x) : "st(1)"); return __result; } extern __inline double asin (double __x) { return __atan2l (__x, __builtin_sqrtl (1.0 - __x * __x)); } extern __inline float asinf (float __x) { return __atan2l (__x, __builtin_sqrtl (1.0 - __x * __x)); } extern __inline long double asinl (long double __x) { return __atan2l (__x, __builtin_sqrtl (1.0 - __x * __x)); } extern __inline double acos (double __x) { return __atan2l (__builtin_sqrtl (1.0 - __x * __x), __x); } extern __inline float acosf (float __x) { return __atan2l (__builtin_sqrtl (1.0 - __x * __x), __x); } extern __inline long double acosl (long double __x) { return __atan2l (__builtin_sqrtl (1.0 - __x * __x), __x); } extern __inline double atan (double __x) { register double __result; __asm __volatile__ ("fld1; fpatan" : "=t" (__result) : "0" (__x) : "st(1)"); return __result; } extern __inline float atanf (float __x) { register float __result; __asm __volatile__ ("fld1; fpatan" : "=t" (__result) : "0" (__x) : "st(1)"); return __result; } extern __inline long double atanl (long double __x) { register long double __result; __asm __volatile__ ("fld1; fpatan" : "=t" (__result) : "0" (__x) : "st(1)"); return __result; } extern __inline long double __sgn1l (long double) ; extern __inline long double __sgn1l (long double __x) { __extension__ union { long double __xld; unsigned int __xi[3]; } __n = { __xld: __x }; __n.__xi[2] = (__n.__xi[2] & 0x8000) | 0x3fff; __n.__xi[1] = 0x80000000; __n.__xi[0] = 0; return __n.__xld; } # 487 "/usr/include/bits/mathinline.h" 3 4 extern __inline double sinh (double __x) { register long double __exm1 = __expm1l (__fabsl (__x)); return 0.5 * (__exm1 / (__exm1 + 1.0) + __exm1) * __sgn1l (__x); } extern __inline float sinhf (float __x) { register long double __exm1 = __expm1l (__fabsl (__x)); return 0.5 * (__exm1 / (__exm1 + 1.0) + __exm1) * __sgn1l (__x); } extern __inline long double sinhl (long double __x) { register long double __exm1 = __expm1l (__fabsl (__x)); return 0.5 * (__exm1 / (__exm1 + 1.0) + __exm1) * __sgn1l (__x); } extern __inline double cosh (double __x) { register long double __ex = __expl (__x); return 0.5 * (__ex + 1.0 / __ex); } extern __inline float coshf (float __x) { register long double __ex = __expl (__x); return 0.5 * (__ex + 1.0 / __ex); } extern __inline long double coshl (long double __x) { register long double __ex = __expl (__x); return 0.5 * (__ex + 1.0 / __ex); } extern __inline double tanh (double __x) { register long double __exm1 = __expm1l (-__fabsl (__x + __x)); return __exm1 / (__exm1 + 2.0) * __sgn1l (-__x); } extern __inline float tanhf (float __x) { register long double __exm1 = __expm1l (-__fabsl (__x + __x)); return __exm1 / (__exm1 + 2.0) * __sgn1l (-__x); } extern __inline long double tanhl (long double __x) { register long double __exm1 = __expm1l (-__fabsl (__x + __x)); return __exm1 / (__exm1 + 2.0) * __sgn1l (-__x); } extern __inline double floor (double __x) { register long double __value; __volatile unsigned short int __cw; __volatile unsigned short int __cwtmp; __asm __volatile ("fnstcw %0" : "=m" (__cw)); __cwtmp = (__cw & 0xf3ff) | 0x0400; __asm __volatile ("fldcw %0" : : "m" (__cwtmp)); __asm __volatile ("frndint" : "=t" (__value) : "0" (__x)); __asm __volatile ("fldcw %0" : : "m" (__cw)); return __value; } extern __inline float floorf (float __x) { register long double __value; __volatile unsigned short int __cw; __volatile unsigned short int __cwtmp; __asm __volatile ("fnstcw %0" : "=m" (__cw)); __cwtmp = (__cw & 0xf3ff) | 0x0400; __asm __volatile ("fldcw %0" : : "m" (__cwtmp)); __asm __volatile ("frndint" : "=t" (__value) : "0" (__x)); __asm __volatile ("fldcw %0" : : "m" (__cw)); return __value; } extern __inline long double floorl (long double __x) { register long double __value; __volatile unsigned short int __cw; __volatile unsigned short int __cwtmp; __asm __volatile ("fnstcw %0" : "=m" (__cw)); __cwtmp = (__cw & 0xf3ff) | 0x0400; __asm __volatile ("fldcw %0" : : "m" (__cwtmp)); __asm __volatile ("frndint" : "=t" (__value) : "0" (__x)); __asm __volatile ("fldcw %0" : : "m" (__cw)); return __value; } # 511 "/usr/include/bits/mathinline.h" 3 4 extern __inline double ceil (double __x) { register long double __value; __volatile unsigned short int __cw; __volatile unsigned short int __cwtmp; __asm __volatile ("fnstcw %0" : "=m" (__cw)); __cwtmp = (__cw & 0xf3ff) | 0x0800; __asm __volatile ("fldcw %0" : : "m" (__cwtmp)); __asm __volatile ("frndint" : "=t" (__value) : "0" (__x)); __asm __volatile ("fldcw %0" : : "m" (__cw)); return __value; } extern __inline float ceilf (float __x) { register long double __value; __volatile unsigned short int __cw; __volatile unsigned short int __cwtmp; __asm __volatile ("fnstcw %0" : "=m" (__cw)); __cwtmp = (__cw & 0xf3ff) | 0x0800; __asm __volatile ("fldcw %0" : : "m" (__cwtmp)); __asm __volatile ("frndint" : "=t" (__value) : "0" (__x)); __asm __volatile ("fldcw %0" : : "m" (__cw)); return __value; } extern __inline long double ceill (long double __x) { register long double __value; __volatile unsigned short int __cw; __volatile unsigned short int __cwtmp; __asm __volatile ("fnstcw %0" : "=m" (__cw)); __cwtmp = (__cw & 0xf3ff) | 0x0800; __asm __volatile ("fldcw %0" : : "m" (__cwtmp)); __asm __volatile ("frndint" : "=t" (__value) : "0" (__x)); __asm __volatile ("fldcw %0" : : "m" (__cw)); return __value; } # 530 "/usr/include/bits/mathinline.h" 3 4 extern __inline double ldexp (double __x, int __y) { register long double __value; __asm __volatile__ ("fscale" : "=t" (__value) : "0" (__x), "u" ((long double) __y)); return __value; } extern __inline double expm1 (double __x) { register long double __value; register long double __exponent; register long double __temp; __asm __volatile__ ("fldl2e # e^x - 1 = 2^(x * log2(e)) - 1\n\t" "fmul %%st(1) # x * log2(e)\n\t" "fst %%st(1)\n\t" "frndint # int(x * log2(e))\n\t" "fxch\n\t" "fsub %%st(1) # fract(x * log2(e))\n\t" "f2xm1 # 2^(fract(x * log2(e))) - 1\n\t" "fscale # 2^(x * log2(e)) - 2^(int(x * log2(e)))\n\t" : "=t" (__value), "=u" (__exponent) : "0" (__x)); __asm __volatile__ ("fscale # 2^int(x * log2(e))\n\t" : "=t" (__temp) : "0" (1.0), "u" (__exponent)); __temp -= 1.0; __temp += __value; return __temp ? __temp : __x; } extern __inline float expm1f (float __x) { register long double __value; register long double __exponent; register long double __temp; __asm __volatile__ ("fldl2e # e^x - 1 = 2^(x * log2(e)) - 1\n\t" "fmul %%st(1) # x * log2(e)\n\t" "fst %%st(1)\n\t" "frndint # int(x * log2(e))\n\t" "fxch\n\t" "fsub %%st(1) # fract(x * log2(e))\n\t" "f2xm1 # 2^(fract(x * log2(e))) - 1\n\t" "fscale # 2^(x * log2(e)) - 2^(int(x * log2(e)))\n\t" : "=t" (__value), "=u" (__exponent) : "0" (__x)); __asm __volatile__ ("fscale # 2^int(x * log2(e))\n\t" : "=t" (__temp) : "0" (1.0), "u" (__exponent)); __temp -= 1.0; __temp += __value; return __temp ? __temp : __x; } extern __inline long double expm1l (long double __x) { register long double __value; register long double __exponent; register long double __temp; __asm __volatile__ ("fldl2e # e^x - 1 = 2^(x * log2(e)) - 1\n\t" "fmul %%st(1) # x * log2(e)\n\t" "fst %%st(1)\n\t" "frndint # int(x * log2(e))\n\t" "fxch\n\t" "fsub %%st(1) # fract(x * log2(e))\n\t" "f2xm1 # 2^(fract(x * log2(e))) - 1\n\t" "fscale # 2^(x * log2(e)) - 2^(int(x * log2(e)))\n\t" : "=t" (__value), "=u" (__exponent) : "0" (__x)); __asm __volatile__ ("fscale # 2^int(x * log2(e))\n\t" : "=t" (__temp) : "0" (1.0), "u" (__exponent)); __temp -= 1.0; __temp += __value; return __temp ? __temp : __x; } extern __inline double log1p (double __x) { register long double __value; if (__fabsl (__x) >= 1.0 - 0.5 * 1.41421356237309504880L) __value = logl (1.0 + __x); else __asm __volatile__ ("fldln2\n\t" "fxch\n\t" "fyl2xp1" : "=t" (__value) : "0" (__x) : "st(1)"); return __value; } extern __inline float log1pf (float __x) { register long double __value; if (__fabsl (__x) >= 1.0 - 0.5 * 1.41421356237309504880L) __value = logl (1.0 + __x); else __asm __volatile__ ("fldln2\n\t" "fxch\n\t" "fyl2xp1" : "=t" (__value) : "0" (__x) : "st(1)"); return __value; } extern __inline long double log1pl (long double __x) { register long double __value; if (__fabsl (__x) >= 1.0 - 0.5 * 1.41421356237309504880L) __value = logl (1.0 + __x); else __asm __volatile__ ("fldln2\n\t" "fxch\n\t" "fyl2xp1" : "=t" (__value) : "0" (__x) : "st(1)"); return __value; } # 562 "/usr/include/bits/mathinline.h" 3 4 extern __inline double asinh (double __x) { register long double __y = __fabsl (__x); return (log1pl (__y * __y / (__builtin_sqrtl (__y * __y + 1.0) + 1.0) + __y) * __sgn1l (__x)); } extern __inline float asinhf (float __x) { register long double __y = __fabsl (__x); return (log1pl (__y * __y / (__builtin_sqrtl (__y * __y + 1.0) + 1.0) + __y) * __sgn1l (__x)); } extern __inline long double asinhl (long double __x) { register long double __y = __fabsl (__x); return (log1pl (__y * __y / (__builtin_sqrtl (__y * __y + 1.0) + 1.0) + __y) * __sgn1l (__x)); } extern __inline double acosh (double __x) { return logl (__x + __builtin_sqrtl (__x - 1.0) * __builtin_sqrtl (__x + 1.0)); } extern __inline float acoshf (float __x) { return logl (__x + __builtin_sqrtl (__x - 1.0) * __builtin_sqrtl (__x + 1.0)); } extern __inline long double acoshl (long double __x) { return logl (__x + __builtin_sqrtl (__x - 1.0) * __builtin_sqrtl (__x + 1.0)); } extern __inline double atanh (double __x) { register long double __y = __fabsl (__x); return -0.5 * log1pl (-(__y + __y) / (1.0 + __y)) * __sgn1l (__x); } extern __inline float atanhf (float __x) { register long double __y = __fabsl (__x); return -0.5 * log1pl (-(__y + __y) / (1.0 + __y)) * __sgn1l (__x); } extern __inline long double atanhl (long double __x) { register long double __y = __fabsl (__x); return -0.5 * log1pl (-(__y + __y) / (1.0 + __y)) * __sgn1l (__x); } extern __inline double hypot (double __x, double __y) { return __builtin_sqrtl (__x * __x + __y * __y); } extern __inline float hypotf (float __x, float __y) { return __builtin_sqrtl (__x * __x + __y * __y); } extern __inline long double hypotl (long double __x, long double __y) { return __builtin_sqrtl (__x * __x + __y * __y); } extern __inline double logb (double __x) { register long double __value; register long double __junk; __asm __volatile__ ("fxtract\n\t" : "=t" (__junk), "=u" (__value) : "0" (__x)); return __value; } extern __inline float logbf (float __x) { register long double __value; register long double __junk; __asm __volatile__ ("fxtract\n\t" : "=t" (__junk), "=u" (__value) : "0" (__x)); return __value; } extern __inline long double logbl (long double __x) { register long double __value; register long double __junk; __asm __volatile__ ("fxtract\n\t" : "=t" (__junk), "=u" (__value) : "0" (__x)); return __value; } # 591 "/usr/include/bits/mathinline.h" 3 4 extern __inline double log2 (double __x) { register double __result; __asm __volatile__ ("fld1; fxch; fyl2x" : "=t" (__result) : "0" (__x) : "st(1)"); return __result; } extern __inline float log2f (float __x) { register float __result; __asm __volatile__ ("fld1; fxch; fyl2x" : "=t" (__result) : "0" (__x) : "st(1)"); return __result; } extern __inline long double log2l (long double __x) { register long double __result; __asm __volatile__ ("fld1; fxch; fyl2x" : "=t" (__result) : "0" (__x) : "st(1)"); return __result; } extern __inline float ldexpf (float __x, int __y) { register long double __value; __asm __volatile__ ("fscale" : "=t" (__value) : "0" (__x), "u" ((long double) __y)); return __value; } extern __inline long double ldexpl (long double __x, int __y) { register long double __value; __asm __volatile__ ("fscale" : "=t" (__value) : "0" (__x), "u" ((long double) __y)); return __value; } extern __inline double fma (double __x, double __y, double __z) { return (__x * __y) + __z; } extern __inline float fmaf (float __x, float __y, float __z) { return (__x * __y) + __z; } extern __inline long double fmal (long double __x, long double __y, long double __z) { return (__x * __y) + __z; } extern __inline double rint (double __x) { register double __result; __asm __volatile__ ("frndint" : "=t" (__result) : "0" (__x)); return __result; } extern __inline float rintf (float __x) { register float __result; __asm __volatile__ ("frndint" : "=t" (__result) : "0" (__x)); return __result; } extern __inline long double rintl (long double __x) { register long double __result; __asm __volatile__ ("frndint" : "=t" (__result) : "0" (__x)); return __result; } # 616 "/usr/include/bits/mathinline.h" 3 4 extern __inline long int lrintf (float __x) { long int __lrintres; __asm__ __volatile__ ("fistpl %0" : "=m" (__lrintres) : "t" (__x) : "st"); return __lrintres; } extern __inline long int lrint (double __x) { long int __lrintres; __asm__ __volatile__ ("fistpl %0" : "=m" (__lrintres) : "t" (__x) : "st"); return __lrintres; } extern __inline long int lrintl (long double __x) { long int __lrintres; __asm__ __volatile__ ("fistpl %0" : "=m" (__lrintres) : "t" (__x) : "st"); return __lrintres; } # 639 "/usr/include/bits/mathinline.h" 3 4 extern __inline long long int llrintf (float __x) { long long int __llrintres; __asm__ __volatile__ ("fistpll %0" : "=m" (__llrintres) : "t" (__x) : "st"); return __llrintres; } extern __inline long long int llrint (double __x) { long long int __llrintres; __asm__ __volatile__ ("fistpll %0" : "=m" (__llrintres) : "t" (__x) : "st"); return __llrintres; } extern __inline long long int llrintl (long double __x) { long long int __llrintres; __asm__ __volatile__ ("fistpll %0" : "=m" (__llrintres) : "t" (__x) : "st"); return __llrintres; } extern __inline double drem (double __x, double __y) { register double __value; register int __clobbered; __asm __volatile__ ("1: fprem1\n\t" "fstsw %%ax\n\t" "sahf\n\t" "jp 1b" : "=t" (__value), "=&a" (__clobbered) : "0" (__x), "u" (__y) : "cc"); return __value; } extern __inline float dremf (float __x, float __y) { register double __value; register int __clobbered; __asm __volatile__ ("1: fprem1\n\t" "fstsw %%ax\n\t" "sahf\n\t" "jp 1b" : "=t" (__value), "=&a" (__clobbered) : "0" (__x), "u" (__y) : "cc"); return __value; } extern __inline long double dreml (long double __x, long double __y) { register double __value; register int __clobbered; __asm __volatile__ ("1: fprem1\n\t" "fstsw %%ax\n\t" "sahf\n\t" "jp 1b" : "=t" (__value), "=&a" (__clobbered) : "0" (__x), "u" (__y) : "cc"); return __value; } # 674 "/usr/include/bits/mathinline.h" 3 4 extern __inline int __finite (double __x) { return (__extension__ (((((union { double __d; int __i[2]; }) {__d: __x}).__i[1] | 0x800fffffu) + 1) >> 31)); } extern __inline double __coshm1 (double) ; extern __inline double __coshm1 (double __x) { register long double __exm1 = __expm1l (__fabsl (__x)); return 0.5 * (__exm1 / (__exm1 + 1.0)) * __exm1; } extern __inline float __coshm1f (float) ; extern __inline float __coshm1f (float __x) { register long double __exm1 = __expm1l (__fabsl (__x)); return 0.5 * (__exm1 / (__exm1 + 1.0)) * __exm1; } extern __inline long double __coshm1l (long double) ; extern __inline long double __coshm1l (long double __x) { register long double __exm1 = __expm1l (__fabsl (__x)); return 0.5 * (__exm1 / (__exm1 + 1.0)) * __exm1; } extern __inline double __acosh1p (double) ; extern __inline double __acosh1p (double __x) { return log1pl (__x + __builtin_sqrtl (__x) * __builtin_sqrtl (__x + 2.0)); } extern __inline float __acosh1pf (float) ; extern __inline float __acosh1pf (float __x) { return log1pl (__x + __builtin_sqrtl (__x) * __builtin_sqrtl (__x + 2.0)); } extern __inline long double __acosh1pl (long double) ; extern __inline long double __acosh1pl (long double __x) { return log1pl (__x + __builtin_sqrtl (__x) * __builtin_sqrtl (__x + 2.0)); } # 363 "/usr/include/math.h" 2 3 4 # 423 "/usr/include/math.h" 3 4 # 93 "Include/pyport.h" 2 # 1 "/usr/include/sys/time.h" 1 3 4 # 26 "/usr/include/sys/time.h" 3 4 # 1 "/usr/include/time.h" 1 3 4 # 27 "/usr/include/sys/time.h" 2 3 4 # 1 "/usr/include/bits/time.h" 1 3 4 # 29 "/usr/include/sys/time.h" 2 3 4 # 38 "/usr/include/sys/time.h" 3 4 # 56 "/usr/include/sys/time.h" 3 4 struct timezone { int tz_minuteswest; int tz_dsttime; }; typedef struct timezone *__restrict __timezone_ptr_t; # 72 "/usr/include/sys/time.h" 3 4 extern int gettimeofday (struct timeval *__restrict __tv, __timezone_ptr_t __tz) ; extern int settimeofday (__const struct timeval *__tv, __const struct timezone *__tz) ; extern int adjtime (__const struct timeval *__delta, struct timeval *__olddelta) ; enum __itimer_which { ITIMER_REAL = 0, ITIMER_VIRTUAL = 1, ITIMER_PROF = 2 }; struct itimerval { struct timeval it_interval; struct timeval it_value; }; typedef enum __itimer_which __itimer_which_t; extern int getitimer (__itimer_which_t __which, struct itimerval *__value) ; extern int setitimer (__itimer_which_t __which, __const struct itimerval *__restrict __new, struct itimerval *__restrict __old) ; extern int utimes (__const char *__file, __const struct timeval __tvp[2]) ; extern int lutimes (__const char *__file, __const struct timeval __tvp[2]) ; extern int futimes (int __fd, __const struct timeval __tvp[2]) ; # 181 "/usr/include/sys/time.h" 3 4 # 100 "Include/pyport.h" 2 # 1 "/usr/include/time.h" 1 3 4 # 30 "/usr/include/time.h" 3 4 # 38 "/usr/include/time.h" 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 1 3 4 # 39 "/usr/include/time.h" 2 3 4 # 1 "/usr/include/bits/time.h" 1 3 4 # 43 "/usr/include/time.h" 2 3 4 # 129 "/usr/include/time.h" 3 4 struct tm { int tm_sec; int tm_min; int tm_hour; int tm_mday; int tm_mon; int tm_year; int tm_wday; int tm_yday; int tm_isdst; long int tm_gmtoff; __const char *tm_zone; }; # 159 "/usr/include/time.h" 3 4 struct itimerspec { struct timespec it_interval; struct timespec it_value; }; struct sigevent; # 178 "/usr/include/time.h" 3 4 extern clock_t clock (void) ; extern time_t time (time_t *__timer) ; extern double difftime (time_t __time1, time_t __time0) __attribute__ ((__const__)); extern time_t mktime (struct tm *__tp) ; extern size_t strftime (char *__restrict __s, size_t __maxsize, __const char *__restrict __format, __const struct tm *__restrict __tp) ; extern char *strptime (__const char *__restrict __s, __const char *__restrict __fmt, struct tm *__tp) ; extern size_t strftime_l (char *__restrict __s, size_t __maxsize, __const char *__restrict __format, __const struct tm *__restrict __tp, __locale_t __loc) ; extern char *strptime_l (__const char *__restrict __s, __const char *__restrict __fmt, struct tm *__tp, __locale_t __loc) ; extern struct tm *gmtime (__const time_t *__timer) ; extern struct tm *localtime (__const time_t *__timer) ; extern struct tm *gmtime_r (__const time_t *__restrict __timer, struct tm *__restrict __tp) ; extern struct tm *localtime_r (__const time_t *__restrict __timer, struct tm *__restrict __tp) ; extern char *asctime (__const struct tm *__tp) ; extern char *ctime (__const time_t *__timer) ; extern char *asctime_r (__const struct tm *__restrict __tp, char *__restrict __buf) ; extern char *ctime_r (__const time_t *__restrict __timer, char *__restrict __buf) ; extern char *__tzname[2]; extern int __daylight; extern long int __timezone; extern char *tzname[2]; extern void tzset (void) ; extern int daylight; extern long int timezone; extern int stime (__const time_t *__when) ; # 309 "/usr/include/time.h" 3 4 extern time_t timegm (struct tm *__tp) ; extern time_t timelocal (struct tm *__tp) ; extern int dysize (int __year) __attribute__ ((__const__)); # 324 "/usr/include/time.h" 3 4 extern int nanosleep (__const struct timespec *__requested_time, struct timespec *__remaining); extern int clock_getres (clockid_t __clock_id, struct timespec *__res) ; extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) ; extern int clock_settime (clockid_t __clock_id, __const struct timespec *__tp) ; extern int clock_nanosleep (clockid_t __clock_id, int __flags, __const struct timespec *__req, struct timespec *__rem); extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) ; extern int timer_create (clockid_t __clock_id, struct sigevent *__restrict __evp, timer_t *__restrict __timerid) ; extern int timer_delete (timer_t __timerid) ; extern int timer_settime (timer_t __timerid, int __flags, __const struct itimerspec *__restrict __value, struct itimerspec *__restrict __ovalue) ; extern int timer_gettime (timer_t __timerid, struct itimerspec *__value) ; extern int timer_getoverrun (timer_t __timerid) ; # 386 "/usr/include/time.h" 3 4 extern int getdate_err; # 395 "/usr/include/time.h" 3 4 extern struct tm *getdate (__const char *__string); # 409 "/usr/include/time.h" 3 4 extern int getdate_r (__const char *__restrict __string, struct tm *__restrict __resbufp); # 101 "Include/pyport.h" 2 # 157 "Include/pyport.h" # 1 "/usr/include/sys/stat.h" 1 3 4 # 103 "/usr/include/sys/stat.h" 3 4 # 1 "/usr/include/bits/stat.h" 1 3 4 # 36 "/usr/include/bits/stat.h" 3 4 struct stat { __dev_t st_dev; unsigned short int __pad1; __ino_t __st_ino; __mode_t st_mode; __nlink_t st_nlink; __uid_t st_uid; __gid_t st_gid; __dev_t st_rdev; unsigned short int __pad2; __off64_t st_size; __blksize_t st_blksize; __blkcnt64_t st_blocks; # 70 "/usr/include/bits/stat.h" 3 4 struct timespec st_atim; struct timespec st_mtim; struct timespec st_ctim; # 88 "/usr/include/bits/stat.h" 3 4 __ino64_t st_ino; }; struct stat64 { __dev_t st_dev; unsigned int __pad1; __ino_t __st_ino; __mode_t st_mode; __nlink_t st_nlink; __uid_t st_uid; __gid_t st_gid; __dev_t st_rdev; unsigned int __pad2; __off64_t st_size; __blksize_t st_blksize; __blkcnt64_t st_blocks; struct timespec st_atim; struct timespec st_mtim; struct timespec st_ctim; # 127 "/usr/include/bits/stat.h" 3 4 __ino64_t st_ino; }; # 106 "/usr/include/sys/stat.h" 2 3 4 # 215 "/usr/include/sys/stat.h" 3 4 extern int stat (__const char *__restrict __file, struct stat *__restrict __buf) __asm__ ("" "stat64"); extern int fstat (int __fd, struct stat *__buf) __asm__ ("" "fstat64"); extern int stat64 (__const char *__restrict __file, struct stat64 *__restrict __buf) ; extern int fstat64 (int __fd, struct stat64 *__buf) ; # 239 "/usr/include/sys/stat.h" 3 4 extern int lstat (__const char *__restrict __file, struct stat *__restrict __buf) __asm__ ("" "lstat64"); # 248 "/usr/include/sys/stat.h" 3 4 extern int lstat64 (__const char *__restrict __file, struct stat64 *__restrict __buf) ; extern int chmod (__const char *__file, __mode_t __mode) ; extern int lchmod (__const char *__file, __mode_t __mode) ; extern int fchmod (int __fd, __mode_t __mode) ; extern __mode_t umask (__mode_t __mask) ; extern __mode_t getumask (void) ; extern int mkdir (__const char *__path, __mode_t __mode) ; extern int mknod (__const char *__path, __mode_t __mode, __dev_t __dev) ; extern int mkfifo (__const char *__path, __mode_t __mode) ; # 326 "/usr/include/sys/stat.h" 3 4 extern int __fxstat (int __ver, int __fildes, struct stat *__stat_buf) __asm__ ("" "__fxstat64"); extern int __xstat (int __ver, __const char *__filename, struct stat *__stat_buf) __asm__ ("" "__xstat64"); extern int __lxstat (int __ver, __const char *__filename, struct stat *__stat_buf) __asm__ ("" "__lxstat64"); # 343 "/usr/include/sys/stat.h" 3 4 extern int __fxstat64 (int __ver, int __fildes, struct stat64 *__stat_buf) ; extern int __xstat64 (int __ver, __const char *__filename, struct stat64 *__stat_buf) ; extern int __lxstat64 (int __ver, __const char *__filename, struct stat64 *__stat_buf) ; extern int __xmknod (int __ver, __const char *__path, __mode_t __mode, __dev_t *__dev) ; extern __inline__ int stat (__const char *__path, struct stat *__statbuf) { return __xstat (3, __path, __statbuf); } extern __inline__ int lstat (__const char *__path, struct stat *__statbuf) { return __lxstat (3, __path, __statbuf); } extern __inline__ int fstat (int __fd, struct stat *__statbuf) { return __fxstat (3, __fd, __statbuf); } extern __inline__ int mknod (__const char *__path, __mode_t __mode, __dev_t __dev) { return __xmknod (1, __path, __mode, &__dev); } extern __inline__ int stat64 (__const char *__path, struct stat64 *__statbuf) { return __xstat64 (3, __path, __statbuf); } extern __inline__ int lstat64 (__const char *__path, struct stat64 *__statbuf) { return __lxstat64 (3, __path, __statbuf); } extern __inline__ int fstat64 (int __fd, struct stat64 *__statbuf) { return __fxstat64 (3, __fd, __statbuf); } # 158 "Include/pyport.h" 2 # 49 "Include/Python.h" 2 # 67 "Include/Python.h" # 1 "Include/pymem.h" 1 # 50 "Include/pymem.h" void * PyMem_Malloc(size_t); void * PyMem_Realloc(void *, size_t); void PyMem_Free(void *); # 68 "Include/Python.h" 2 # 1 "Include/object.h" 1 # 102 "Include/object.h" typedef struct _object { int ob_refcnt; struct _typeobject *ob_type; } PyObject; typedef struct { int ob_refcnt; struct _typeobject *ob_type; int ob_size; } PyVarObject; # 126 "Include/object.h" typedef PyObject * (*unaryfunc)(PyObject *); typedef PyObject * (*binaryfunc)(PyObject *, PyObject *); typedef PyObject * (*ternaryfunc)(PyObject *, PyObject *, PyObject *); typedef int (*inquiry)(PyObject *); typedef int (*coercion)(PyObject **, PyObject **); typedef PyObject *(*intargfunc)(PyObject *, int); typedef PyObject *(*intintargfunc)(PyObject *, int, int); typedef int(*intobjargproc)(PyObject *, int, PyObject *); typedef int(*intintobjargproc)(PyObject *, int, int, PyObject *); typedef int(*objobjargproc)(PyObject *, PyObject *, PyObject *); typedef int (*getreadbufferproc)(PyObject *, int, void **); typedef int (*getwritebufferproc)(PyObject *, int, void **); typedef int (*getsegcountproc)(PyObject *, int *); typedef int (*getcharbufferproc)(PyObject *, int, const char **); typedef int (*objobjproc)(PyObject *, PyObject *); typedef int (*visitproc)(PyObject *, void *); typedef int (*traverseproc)(PyObject *, visitproc, void *); typedef struct { # 153 "Include/object.h" binaryfunc nb_add; binaryfunc nb_subtract; binaryfunc nb_multiply; binaryfunc nb_divide; binaryfunc nb_remainder; binaryfunc nb_divmod; ternaryfunc nb_power; unaryfunc nb_negative; unaryfunc nb_positive; unaryfunc nb_absolute; inquiry nb_nonzero; unaryfunc nb_invert; binaryfunc nb_lshift; binaryfunc nb_rshift; binaryfunc nb_and; binaryfunc nb_xor; binaryfunc nb_or; coercion nb_coerce; unaryfunc nb_int; unaryfunc nb_long; unaryfunc nb_float; unaryfunc nb_oct; unaryfunc nb_hex; binaryfunc nb_inplace_add; binaryfunc nb_inplace_subtract; binaryfunc nb_inplace_multiply; binaryfunc nb_inplace_divide; binaryfunc nb_inplace_remainder; ternaryfunc nb_inplace_power; binaryfunc nb_inplace_lshift; binaryfunc nb_inplace_rshift; binaryfunc nb_inplace_and; binaryfunc nb_inplace_xor; binaryfunc nb_inplace_or; binaryfunc nb_floor_divide; binaryfunc nb_true_divide; binaryfunc nb_inplace_floor_divide; binaryfunc nb_inplace_true_divide; } PyNumberMethods; typedef struct { inquiry sq_length; binaryfunc sq_concat; intargfunc sq_repeat; intargfunc sq_item; intintargfunc sq_slice; intobjargproc sq_ass_item; intintobjargproc sq_ass_slice; objobjproc sq_contains; binaryfunc sq_inplace_concat; intargfunc sq_inplace_repeat; } PySequenceMethods; typedef struct { inquiry mp_length; binaryfunc mp_subscript; objobjargproc mp_ass_subscript; } PyMappingMethods; typedef struct { getreadbufferproc bf_getreadbuffer; getwritebufferproc bf_getwritebuffer; getsegcountproc bf_getsegcount; getcharbufferproc bf_getcharbuffer; } PyBufferProcs; typedef void (*freefunc)(void *); typedef void (*destructor)(PyObject *); typedef int (*printfunc)(PyObject *, FILE *, int); typedef PyObject *(*getattrfunc)(PyObject *, char *); typedef PyObject *(*getattrofunc)(PyObject *, PyObject *); typedef int (*setattrfunc)(PyObject *, char *, PyObject *); typedef int (*setattrofunc)(PyObject *, PyObject *, PyObject *); typedef int (*cmpfunc)(PyObject *, PyObject *); typedef PyObject *(*reprfunc)(PyObject *); typedef long (*hashfunc)(PyObject *); typedef PyObject *(*richcmpfunc) (PyObject *, PyObject *, int); typedef PyObject *(*getiterfunc) (PyObject *); typedef PyObject *(*iternextfunc) (PyObject *); typedef PyObject *(*descrgetfunc) (PyObject *, PyObject *, PyObject *); typedef int (*descrsetfunc) (PyObject *, PyObject *, PyObject *); typedef int (*initproc)(PyObject *, PyObject *, PyObject *); typedef PyObject *(*newfunc)(struct _typeobject *, PyObject *, PyObject *); typedef PyObject *(*allocfunc)(struct _typeobject *, int); typedef struct _typeobject { int ob_refcnt; struct _typeobject *ob_type; int ob_size; char *tp_name; int tp_basicsize, tp_itemsize; destructor tp_dealloc; printfunc tp_print; getattrfunc tp_getattr; setattrfunc tp_setattr; cmpfunc tp_compare; reprfunc tp_repr; PyNumberMethods *tp_as_number; PySequenceMethods *tp_as_sequence; PyMappingMethods *tp_as_mapping; hashfunc tp_hash; ternaryfunc tp_call; reprfunc tp_str; getattrofunc tp_getattro; setattrofunc tp_setattro; PyBufferProcs *tp_as_buffer; long tp_flags; char *tp_doc; traverseproc tp_traverse; inquiry tp_clear; richcmpfunc tp_richcompare; long tp_weaklistoffset; getiterfunc tp_iter; iternextfunc tp_iternext; struct PyMethodDef *tp_methods; struct PyMemberDef *tp_members; struct PyGetSetDef *tp_getset; struct _typeobject *tp_base; PyObject *tp_dict; descrgetfunc tp_descr_get; descrsetfunc tp_descr_set; long tp_dictoffset; initproc tp_init; allocfunc tp_alloc; newfunc tp_new; freefunc tp_free; inquiry tp_is_gc; PyObject *tp_bases; PyObject *tp_mro; PyObject *tp_cache; PyObject *tp_subclasses; PyObject *tp_weaklist; destructor tp_del; # 327 "Include/object.h" } PyTypeObject; typedef struct _heaptypeobject { PyTypeObject type; PyNumberMethods as_number; PyMappingMethods as_mapping; PySequenceMethods as_sequence; PyBufferProcs as_buffer; PyObject *name, *slots; } PyHeapTypeObject; int PyType_IsSubtype(PyTypeObject *, PyTypeObject *); extern PyTypeObject PyType_Type; extern PyTypeObject PyBaseObject_Type; extern PyTypeObject PySuper_Type; int PyType_Ready(PyTypeObject *); PyObject * PyType_GenericAlloc(PyTypeObject *, int); PyObject * PyType_GenericNew(PyTypeObject *, PyObject *, PyObject *); PyObject * _PyType_Lookup(PyTypeObject *, PyObject *); int PyObject_Print(PyObject *, FILE *, int); void _PyObject_Dump(PyObject *); PyObject * PyObject_Repr(PyObject *); PyObject * PyObject_Str(PyObject *); PyObject * PyObject_Unicode(PyObject *); int PyObject_Compare(PyObject *, PyObject *); PyObject * PyObject_RichCompare(PyObject *, PyObject *, int); int PyObject_RichCompareBool(PyObject *, PyObject *, int); PyObject * PyObject_GetAttrString(PyObject *, char *); int PyObject_SetAttrString(PyObject *, char *, PyObject *); int PyObject_HasAttrString(PyObject *, char *); PyObject * PyObject_GetAttr(PyObject *, PyObject *); int PyObject_SetAttr(PyObject *, PyObject *, PyObject *); int PyObject_HasAttr(PyObject *, PyObject *); PyObject ** _PyObject_GetDictPtr(PyObject *); PyObject * PyObject_SelfIter(PyObject *); PyObject * PyObject_GenericGetAttr(PyObject *, PyObject *); int PyObject_GenericSetAttr(PyObject *, PyObject *, PyObject *); long PyObject_Hash(PyObject *); int PyObject_IsTrue(PyObject *); int PyObject_Not(PyObject *); int PyCallable_Check(PyObject *); int PyNumber_Coerce(PyObject **, PyObject **); int PyNumber_CoerceEx(PyObject **, PyObject **); void PyObject_ClearWeakRefs(PyObject *); extern int _PyObject_SlotCompare(PyObject *, PyObject *); PyObject * PyObject_Dir(PyObject *); int Py_ReprEnter(PyObject *); void Py_ReprLeave(PyObject *); long _Py_HashDouble(double); long _Py_HashPointer(void*); # 633 "Include/object.h" extern PyObject _Py_NoneStruct; extern PyObject _Py_NotImplementedStruct; # 761 "Include/object.h" void _PyTrash_deposit_object(PyObject*); void _PyTrash_destroy_chain(void); extern int _PyTrash_delete_nesting; extern PyObject * _PyTrash_delete_later; # 70 "Include/Python.h" 2 # 1 "Include/objimpl.h" 1 # 97 "Include/objimpl.h" void * PyObject_Malloc(size_t); void * PyObject_Realloc(void *, size_t); void PyObject_Free(void *); # 147 "Include/objimpl.h" PyObject * PyObject_Init(PyObject *, PyTypeObject *); PyVarObject * PyObject_InitVar(PyVarObject *, PyTypeObject *, int); PyObject * _PyObject_New(PyTypeObject *); PyVarObject * _PyObject_NewVar(PyTypeObject *, int); # 232 "Include/objimpl.h" long PyGC_Collect(void); # 241 "Include/objimpl.h" PyVarObject * _PyObject_GC_Resize(PyVarObject *, int); typedef union _gc_head { struct { union _gc_head *gc_next; union _gc_head *gc_prev; int gc_refs; } gc; long double dummy; } PyGC_Head; extern PyGC_Head *_PyGC_generation0; # 292 "Include/objimpl.h" PyObject * _PyObject_GC_Malloc(size_t); PyObject * _PyObject_GC_New(PyTypeObject *); PyVarObject * _PyObject_GC_NewVar(PyTypeObject *, int); void PyObject_GC_Track(void *); void PyObject_GC_UnTrack(void *); void PyObject_GC_Del(void *); # 71 "Include/Python.h" 2 # 1 "Include/pydebug.h" 1 extern int Py_DebugFlag; extern int Py_VerboseFlag; extern int Py_InteractiveFlag; extern int Py_OptimizeFlag; extern int Py_NoSiteFlag; extern int Py_UseClassExceptionsFlag; extern int Py_FrozenFlag; extern int Py_TabcheckFlag; extern int Py_UnicodeFlag; extern int Py_IgnoreEnvironmentFlag; extern int Py_DivisionWarningFlag; extern int _Py_QnewFlag; void Py_FatalError(const char *message); # 73 "Include/Python.h" 2 # 1 "Include/unicodeobject.h" 1 # 55 "Include/unicodeobject.h" # 1 "/usr/include/ctype.h" 1 3 4 # 30 "/usr/include/ctype.h" 3 4 # 48 "/usr/include/ctype.h" 3 4 enum { _ISupper = ((0) < 8 ? ((1 << (0)) << 8) : ((1 << (0)) >> 8)), _ISlower = ((1) < 8 ? ((1 << (1)) << 8) : ((1 << (1)) >> 8)), _ISalpha = ((2) < 8 ? ((1 << (2)) << 8) : ((1 << (2)) >> 8)), _ISdigit = ((3) < 8 ? ((1 << (3)) << 8) : ((1 << (3)) >> 8)), _ISxdigit = ((4) < 8 ? ((1 << (4)) << 8) : ((1 << (4)) >> 8)), _ISspace = ((5) < 8 ? ((1 << (5)) << 8) : ((1 << (5)) >> 8)), _ISprint = ((6) < 8 ? ((1 << (6)) << 8) : ((1 << (6)) >> 8)), _ISgraph = ((7) < 8 ? ((1 << (7)) << 8) : ((1 << (7)) >> 8)), _ISblank = ((8) < 8 ? ((1 << (8)) << 8) : ((1 << (8)) >> 8)), _IScntrl = ((9) < 8 ? ((1 << (9)) << 8) : ((1 << (9)) >> 8)), _ISpunct = ((10) < 8 ? ((1 << (10)) << 8) : ((1 << (10)) >> 8)), _ISalnum = ((11) < 8 ? ((1 << (11)) << 8) : ((1 << (11)) >> 8)) }; # 81 "/usr/include/ctype.h" 3 4 extern __const unsigned short int **__ctype_b_loc (void) __attribute__ ((__const)); extern __const __int32_t **__ctype_tolower_loc (void) __attribute__ ((__const)); extern __const __int32_t **__ctype_toupper_loc (void) __attribute__ ((__const)); # 96 "/usr/include/ctype.h" 3 4 extern int isalnum (int) ; extern int isalpha (int) ; extern int iscntrl (int) ; extern int isdigit (int) ; extern int islower (int) ; extern int isgraph (int) ; extern int isprint (int) ; extern int ispunct (int) ; extern int isspace (int) ; extern int isupper (int) ; extern int isxdigit (int) ; extern int tolower (int __c) ; extern int toupper (int __c) ; # 128 "/usr/include/ctype.h" 3 4 extern int isblank (int) ; extern int isctype (int __c, int __mask) ; extern int isascii (int __c) ; extern int toascii (int __c) ; extern int _toupper (int) ; extern int _tolower (int) ; # 190 "/usr/include/ctype.h" 3 4 extern __inline int tolower (int __c) { return __c >= -128 && __c < 256 ? (*__ctype_tolower_loc ())[__c] : __c; } extern __inline int toupper (int __c) { return __c >= -128 && __c < 256 ? (*__ctype_toupper_loc ())[__c] : __c; } # 247 "/usr/include/ctype.h" 3 4 extern int isalnum_l (int, __locale_t) ; extern int isalpha_l (int, __locale_t) ; extern int iscntrl_l (int, __locale_t) ; extern int isdigit_l (int, __locale_t) ; extern int islower_l (int, __locale_t) ; extern int isgraph_l (int, __locale_t) ; extern int isprint_l (int, __locale_t) ; extern int ispunct_l (int, __locale_t) ; extern int isspace_l (int, __locale_t) ; extern int isupper_l (int, __locale_t) ; extern int isxdigit_l (int, __locale_t) ; extern int isblank_l (int, __locale_t) ; extern int __tolower_l (int __c, __locale_t __l) ; extern int tolower_l (int __c, __locale_t __l) ; extern int __toupper_l (int __c, __locale_t __l) ; extern int toupper_l (int __c, __locale_t __l) ; # 323 "/usr/include/ctype.h" 3 4 # 56 "Include/unicodeobject.h" 2 # 118 "Include/unicodeobject.h" # 1 "/usr/include/wchar.h" 1 3 4 # 40 "/usr/include/wchar.h" 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stdarg.h" 1 3 4 # 41 "/usr/include/wchar.h" 2 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 1 3 4 # 49 "/usr/include/wchar.h" 2 3 4 # 93 "/usr/include/wchar.h" 3 4 typedef __mbstate_t mbstate_t; # 118 "/usr/include/wchar.h" 3 4 struct tm; # 133 "/usr/include/wchar.h" 3 4 extern wchar_t *wcscpy (wchar_t *__restrict __dest, __const wchar_t *__restrict __src) ; extern wchar_t *wcsncpy (wchar_t *__restrict __dest, __const wchar_t *__restrict __src, size_t __n) ; extern wchar_t *wcscat (wchar_t *__restrict __dest, __const wchar_t *__restrict __src) ; extern wchar_t *wcsncat (wchar_t *__restrict __dest, __const wchar_t *__restrict __src, size_t __n) ; extern int wcscmp (__const wchar_t *__s1, __const wchar_t *__s2) __attribute__ ((__pure__)); extern int wcsncmp (__const wchar_t *__s1, __const wchar_t *__s2, size_t __n) __attribute__ ((__pure__)); extern int wcscasecmp (__const wchar_t *__s1, __const wchar_t *__s2) ; extern int wcsncasecmp (__const wchar_t *__s1, __const wchar_t *__s2, size_t __n) ; extern int wcscasecmp_l (__const wchar_t *__s1, __const wchar_t *__s2, __locale_t __loc) ; extern int wcsncasecmp_l (__const wchar_t *__s1, __const wchar_t *__s2, size_t __n, __locale_t __loc) ; extern int wcscoll (__const wchar_t *__s1, __const wchar_t *__s2) ; extern size_t wcsxfrm (wchar_t *__restrict __s1, __const wchar_t *__restrict __s2, size_t __n) ; # 192 "/usr/include/wchar.h" 3 4 extern int wcscoll_l (__const wchar_t *__s1, __const wchar_t *__s2, __locale_t __loc) ; extern size_t wcsxfrm_l (wchar_t *__s1, __const wchar_t *__s2, size_t __n, __locale_t __loc) ; extern wchar_t *wcsdup (__const wchar_t *__s) __attribute__ ((__malloc__)); extern wchar_t *wcschr (__const wchar_t *__wcs, wchar_t __wc) __attribute__ ((__pure__)); extern wchar_t *wcsrchr (__const wchar_t *__wcs, wchar_t __wc) __attribute__ ((__pure__)); extern wchar_t *wcschrnul (__const wchar_t *__s, wchar_t __wc) __attribute__ ((__pure__)); extern size_t wcscspn (__const wchar_t *__wcs, __const wchar_t *__reject) __attribute__ ((__pure__)); extern size_t wcsspn (__const wchar_t *__wcs, __const wchar_t *__accept) __attribute__ ((__pure__)); extern wchar_t *wcspbrk (__const wchar_t *__wcs, __const wchar_t *__accept) __attribute__ ((__pure__)); extern wchar_t *wcsstr (__const wchar_t *__haystack, __const wchar_t *__needle) __attribute__ ((__pure__)); extern wchar_t *wcstok (wchar_t *__restrict __s, __const wchar_t *__restrict __delim, wchar_t **__restrict __ptr) ; extern size_t wcslen (__const wchar_t *__s) __attribute__ ((__pure__)); extern wchar_t *wcswcs (__const wchar_t *__haystack, __const wchar_t *__needle) __attribute__ ((__pure__)); extern size_t wcsnlen (__const wchar_t *__s, size_t __maxlen) __attribute__ ((__pure__)); extern wchar_t *wmemchr (__const wchar_t *__s, wchar_t __c, size_t __n) __attribute__ ((__pure__)); extern int wmemcmp (__const wchar_t *__restrict __s1, __const wchar_t *__restrict __s2, size_t __n) __attribute__ ((__pure__)); extern wchar_t *wmemcpy (wchar_t *__restrict __s1, __const wchar_t *__restrict __s2, size_t __n) ; extern wchar_t *wmemmove (wchar_t *__s1, __const wchar_t *__s2, size_t __n) ; extern wchar_t *wmemset (wchar_t *__s, wchar_t __c, size_t __n) ; extern wchar_t *wmempcpy (wchar_t *__restrict __s1, __const wchar_t *__restrict __s2, size_t __n) ; extern wint_t btowc (int __c) ; extern int wctob (wint_t __c) ; extern int mbsinit (__const mbstate_t *__ps) __attribute__ ((__pure__)); extern size_t mbrtowc (wchar_t *__restrict __pwc, __const char *__restrict __s, size_t __n, mbstate_t *__p) ; extern size_t wcrtomb (char *__restrict __s, wchar_t __wc, mbstate_t *__restrict __ps) ; extern size_t __mbrlen (__const char *__restrict __s, size_t __n, mbstate_t *__restrict __ps) ; extern size_t mbrlen (__const char *__restrict __s, size_t __n, mbstate_t *__restrict __ps) ; extern __inline size_t mbrlen (__const char *__restrict __s, size_t __n, mbstate_t *__restrict __ps) { return (__ps != ((void *)0) ? mbrtowc (((void *)0), __s, __n, __ps) : __mbrlen (__s, __n, ((void *)0))); } extern size_t mbsrtowcs (wchar_t *__restrict __dst, __const char **__restrict __src, size_t __len, mbstate_t *__restrict __ps) ; extern size_t wcsrtombs (char *__restrict __dst, __const wchar_t **__restrict __src, size_t __len, mbstate_t *__restrict __ps) ; extern size_t mbsnrtowcs (wchar_t *__restrict __dst, __const char **__restrict __src, size_t __nmc, size_t __len, mbstate_t *__restrict __ps) ; extern size_t wcsnrtombs (char *__restrict __dst, __const wchar_t **__restrict __src, size_t __nwc, size_t __len, mbstate_t *__restrict __ps) ; extern int wcwidth (wchar_t __c) ; extern int wcswidth (__const wchar_t *__s, size_t __n) ; extern double wcstod (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr) ; extern float wcstof (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr) ; extern long double wcstold (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr) ; extern long int wcstol (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) ; extern unsigned long int wcstoul (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) ; __extension__ extern long long int wcstoll (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) ; __extension__ extern unsigned long long int wcstoull (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) ; __extension__ extern long long int wcstoq (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) ; __extension__ extern unsigned long long int wcstouq (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) ; # 448 "/usr/include/wchar.h" 3 4 extern long int wcstol_l (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base, __locale_t __loc) ; extern unsigned long int wcstoul_l (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base, __locale_t __loc) ; __extension__ extern long long int wcstoll_l (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base, __locale_t __loc) ; __extension__ extern unsigned long long int wcstoull_l (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base, __locale_t __loc) ; extern double wcstod_l (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, __locale_t __loc) ; extern float wcstof_l (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, __locale_t __loc) ; extern long double wcstold_l (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, __locale_t __loc) ; extern double __wcstod_internal (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __group) ; extern float __wcstof_internal (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __group) ; extern long double __wcstold_internal (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __group) ; extern long int __wcstol_internal (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base, int __group) ; extern unsigned long int __wcstoul_internal (__const wchar_t *__restrict __npt, wchar_t **__restrict __endptr, int __base, int __group) ; __extension__ extern long long int __wcstoll_internal (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base, int __group) ; __extension__ extern unsigned long long int __wcstoull_internal (__const wchar_t * __restrict __nptr, wchar_t ** __restrict __endptr, int __base, int __group) ; # 528 "/usr/include/wchar.h" 3 4 extern __inline double wcstod (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr) { return __wcstod_internal (__nptr, __endptr, 0); } extern __inline long int wcstol (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) { return __wcstol_internal (__nptr, __endptr, __base, 0); } extern __inline unsigned long int wcstoul (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) { return __wcstoul_internal (__nptr, __endptr, __base, 0); } extern __inline float wcstof (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr) { return __wcstof_internal (__nptr, __endptr, 0); } extern __inline long double wcstold (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr) { return __wcstold_internal (__nptr, __endptr, 0); } __extension__ extern __inline long long int wcstoq (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) { return __wcstoll_internal (__nptr, __endptr, __base, 0); } __extension__ extern __inline unsigned long long int wcstouq (__const wchar_t * __restrict __nptr, wchar_t **__restrict __endptr, int __base) { return __wcstoull_internal (__nptr, __endptr, __base, 0); } extern wchar_t *wcpcpy (wchar_t *__dest, __const wchar_t *__src) ; extern wchar_t *wcpncpy (wchar_t *__dest, __const wchar_t *__src, size_t __n) ; # 582 "/usr/include/wchar.h" 3 4 extern int fwide (__FILE *__fp, int __mode) ; extern int fwprintf (__FILE *__restrict __stream, __const wchar_t *__restrict __format, ...) ; extern int wprintf (__const wchar_t *__restrict __format, ...) ; extern int swprintf (wchar_t *__restrict __s, size_t __n, __const wchar_t *__restrict __format, ...) ; extern int vfwprintf (__FILE *__restrict __s, __const wchar_t *__restrict __format, __gnuc_va_list __arg) ; extern int vwprintf (__const wchar_t *__restrict __format, __gnuc_va_list __arg) ; extern int vswprintf (wchar_t *__restrict __s, size_t __n, __const wchar_t *__restrict __format, __gnuc_va_list __arg) ; extern int fwscanf (__FILE *__restrict __stream, __const wchar_t *__restrict __format, ...) ; extern int wscanf (__const wchar_t *__restrict __format, ...) ; extern int swscanf (__const wchar_t *__restrict __s, __const wchar_t *__restrict __format, ...) ; # 654 "/usr/include/wchar.h" 3 4 extern int vfwscanf (__FILE *__restrict __s, __const wchar_t *__restrict __format, __gnuc_va_list __arg) ; extern int vwscanf (__const wchar_t *__restrict __format, __gnuc_va_list __arg) ; extern int vswscanf (__const wchar_t *__restrict __s, __const wchar_t *__restrict __format, __gnuc_va_list __arg) ; # 680 "/usr/include/wchar.h" 3 4 extern wint_t fgetwc (__FILE *__stream); extern wint_t getwc (__FILE *__stream); extern wint_t getwchar (void); extern wint_t fputwc (wchar_t __wc, __FILE *__stream); extern wint_t putwc (wchar_t __wc, __FILE *__stream); extern wint_t putwchar (wchar_t __wc); extern wchar_t *fgetws (wchar_t *__restrict __ws, int __n, __FILE *__restrict __stream); extern int fputws (__const wchar_t *__restrict __ws, __FILE *__restrict __stream); extern wint_t ungetwc (wint_t __wc, __FILE *__stream); # 736 "/usr/include/wchar.h" 3 4 extern wint_t getwc_unlocked (__FILE *__stream); extern wint_t getwchar_unlocked (void); extern wint_t fgetwc_unlocked (__FILE *__stream); extern wint_t fputwc_unlocked (wchar_t __wc, __FILE *__stream); # 762 "/usr/include/wchar.h" 3 4 extern wint_t putwc_unlocked (wchar_t __wc, __FILE *__stream); extern wint_t putwchar_unlocked (wchar_t __wc); # 772 "/usr/include/wchar.h" 3 4 extern wchar_t *fgetws_unlocked (wchar_t *__restrict __ws, int __n, __FILE *__restrict __stream); extern int fputws_unlocked (__const wchar_t *__restrict __ws, __FILE *__restrict __stream); extern size_t wcsftime (wchar_t *__restrict __s, size_t __maxsize, __const wchar_t *__restrict __format, __const struct tm *__restrict __tp) ; extern size_t wcsftime_l (wchar_t *__restrict __s, size_t __maxsize, __const wchar_t *__restrict __format, __const struct tm *__restrict __tp, __locale_t __loc) ; # 817 "/usr/include/wchar.h" 3 4 # 119 "Include/unicodeobject.h" 2 typedef unsigned int Py_UCS4; typedef wchar_t Py_UNICODE; # 366 "Include/unicodeobject.h" typedef struct { int ob_refcnt; struct _typeobject *ob_type; int length; Py_UNICODE *str; long hash; PyObject *defenc; } PyUnicodeObject; extern PyTypeObject PyUnicode_Type; # 414 "Include/unicodeobject.h" PyObject* PyUnicodeUCS4_FromUnicode( const Py_UNICODE *u, int size ); Py_UNICODE * PyUnicodeUCS4_AsUnicode( PyObject *unicode ); int PyUnicodeUCS4_GetSize( PyObject *unicode ); Py_UNICODE PyUnicodeUCS4_GetMax(void); # 449 "Include/unicodeobject.h" int PyUnicodeUCS4_Resize( PyObject **unicode, int length ); # 471 "Include/unicodeobject.h" PyObject* PyUnicodeUCS4_FromEncodedObject( register PyObject *obj, const char *encoding, const char *errors ); # 490 "Include/unicodeobject.h" PyObject* PyUnicodeUCS4_FromObject( register PyObject *obj ); # 503 "Include/unicodeobject.h" PyObject* PyUnicodeUCS4_FromWideChar( register const wchar_t *w, int size ); int PyUnicodeUCS4_AsWideChar( PyUnicodeObject *unicode, register wchar_t *w, int size ); # 532 "Include/unicodeobject.h" PyObject* PyUnicodeUCS4_FromOrdinal(int ordinal); # 568 "Include/unicodeobject.h" PyObject * _PyUnicodeUCS4_AsDefaultEncodedString( PyObject *, const char *); # 580 "Include/unicodeobject.h" const char* PyUnicodeUCS4_GetDefaultEncoding(void); int PyUnicodeUCS4_SetDefaultEncoding( const char *encoding ); PyObject* PyUnicodeUCS4_Decode( const char *s, int size, const char *encoding, const char *errors ); PyObject* PyUnicodeUCS4_Encode( const Py_UNICODE *s, int size, const char *encoding, const char *errors ); PyObject* PyUnicodeUCS4_AsEncodedString( PyObject *unicode, const char *encoding, const char *errors ); PyObject* PyUnicode_DecodeUTF7( const char *string, int length, const char *errors ); PyObject* PyUnicode_EncodeUTF7( const Py_UNICODE *data, int length, int encodeSetO, int encodeWhiteSpace, const char *errors ); PyObject* PyUnicodeUCS4_DecodeUTF8( const char *string, int length, const char *errors ); PyObject* PyUnicodeUCS4_AsUTF8String( PyObject *unicode ); PyObject* PyUnicodeUCS4_EncodeUTF8( const Py_UNICODE *data, int length, const char *errors ); # 684 "Include/unicodeobject.h" PyObject* PyUnicodeUCS4_DecodeUTF16( const char *string, int length, const char *errors, int *byteorder ); PyObject* PyUnicodeUCS4_AsUTF16String( PyObject *unicode ); # 720 "Include/unicodeobject.h" PyObject* PyUnicodeUCS4_EncodeUTF16( const Py_UNICODE *data, int length, const char *errors, int byteorder ); PyObject* PyUnicodeUCS4_DecodeUnicodeEscape( const char *string, int length, const char *errors ); PyObject* PyUnicodeUCS4_AsUnicodeEscapeString( PyObject *unicode ); PyObject* PyUnicodeUCS4_EncodeUnicodeEscape( const Py_UNICODE *data, int length ); PyObject* PyUnicodeUCS4_DecodeRawUnicodeEscape( const char *string, int length, const char *errors ); PyObject* PyUnicodeUCS4_AsRawUnicodeEscapeString( PyObject *unicode ); PyObject* PyUnicodeUCS4_EncodeRawUnicodeEscape( const Py_UNICODE *data, int length ); PyObject* PyUnicodeUCS4_DecodeLatin1( const char *string, int length, const char *errors ); PyObject* PyUnicodeUCS4_AsLatin1String( PyObject *unicode ); PyObject* PyUnicodeUCS4_EncodeLatin1( const Py_UNICODE *data, int length, const char *errors ); PyObject* PyUnicodeUCS4_DecodeASCII( const char *string, int length, const char *errors ); PyObject* PyUnicodeUCS4_AsASCIIString( PyObject *unicode ); PyObject* PyUnicodeUCS4_EncodeASCII( const Py_UNICODE *data, int length, const char *errors ); # 827 "Include/unicodeobject.h" PyObject* PyUnicodeUCS4_DecodeCharmap( const char *string, int length, PyObject *mapping, const char *errors ); PyObject* PyUnicodeUCS4_AsCharmapString( PyObject *unicode, PyObject *mapping ); PyObject* PyUnicodeUCS4_EncodeCharmap( const Py_UNICODE *data, int length, PyObject *mapping, const char *errors ); # 862 "Include/unicodeobject.h" PyObject * PyUnicodeUCS4_TranslateCharmap( const Py_UNICODE *data, int length, PyObject *table, const char *errors ); # 915 "Include/unicodeobject.h" int PyUnicodeUCS4_EncodeDecimal( Py_UNICODE *s, int length, char *output, const char *errors ); # 930 "Include/unicodeobject.h" PyObject* PyUnicodeUCS4_Concat( PyObject *left, PyObject *right ); # 946 "Include/unicodeobject.h" PyObject* PyUnicodeUCS4_Split( PyObject *s, PyObject *sep, int maxsplit ); PyObject* PyUnicodeUCS4_Splitlines( PyObject *s, int keepends ); # 974 "Include/unicodeobject.h" PyObject * PyUnicodeUCS4_Translate( PyObject *str, PyObject *table, const char *errors ); PyObject* PyUnicodeUCS4_Join( PyObject *separator, PyObject *seq ); int PyUnicodeUCS4_Tailmatch( PyObject *str, PyObject *substr, int start, int end, int direction ); int PyUnicodeUCS4_Find( PyObject *str, PyObject *substr, int start, int end, int direction ); int PyUnicodeUCS4_Count( PyObject *str, PyObject *substr, int start, int end ); PyObject * PyUnicodeUCS4_Replace( PyObject *str, PyObject *substr, PyObject *replstr, int maxcount ); int PyUnicodeUCS4_Compare( PyObject *left, PyObject *right ); PyObject * PyUnicodeUCS4_Format( PyObject *format, PyObject *args ); int PyUnicodeUCS4_Contains( PyObject *container, PyObject *element ); PyObject * _PyUnicode_XStrip( PyUnicodeObject *self, int striptype, PyObject *sepobj ); # 1074 "Include/unicodeobject.h" int _PyUnicodeUCS4_IsLowercase( Py_UNICODE ch ); int _PyUnicodeUCS4_IsUppercase( Py_UNICODE ch ); int _PyUnicodeUCS4_IsTitlecase( Py_UNICODE ch ); int _PyUnicodeUCS4_IsWhitespace( Py_UNICODE ch ); int _PyUnicodeUCS4_IsLinebreak( Py_UNICODE ch ); Py_UNICODE _PyUnicodeUCS4_ToLowercase( Py_UNICODE ch ); Py_UNICODE _PyUnicodeUCS4_ToUppercase( Py_UNICODE ch ); Py_UNICODE _PyUnicodeUCS4_ToTitlecase( Py_UNICODE ch ); int _PyUnicodeUCS4_ToDecimalDigit( Py_UNICODE ch ); int _PyUnicodeUCS4_ToDigit( Py_UNICODE ch ); double _PyUnicodeUCS4_ToNumeric( Py_UNICODE ch ); int _PyUnicodeUCS4_IsDecimalDigit( Py_UNICODE ch ); int _PyUnicodeUCS4_IsDigit( Py_UNICODE ch ); int _PyUnicodeUCS4_IsNumeric( Py_UNICODE ch ); int _PyUnicodeUCS4_IsAlpha( Py_UNICODE ch ); # 75 "Include/Python.h" 2 # 1 "Include/intobject.h" 1 # 23 "Include/intobject.h" typedef struct { int ob_refcnt; struct _typeobject *ob_type; long ob_ival; } PyIntObject; extern PyTypeObject PyInt_Type; PyObject * PyInt_FromString(char*, char**, int); PyObject * PyInt_FromUnicode(Py_UNICODE*, int, int); PyObject * PyInt_FromLong(long); long PyInt_AsLong(PyObject *); unsigned long PyInt_AsUnsignedLongMask(PyObject *); unsigned long long PyInt_AsUnsignedLongLongMask(PyObject *); long PyInt_GetMax(void); # 55 "Include/intobject.h" unsigned long PyOS_strtoul(char *, char **, int); long PyOS_strtol(char *, char **, int); # 76 "Include/Python.h" 2 # 1 "Include/boolobject.h" 1 # 10 "Include/boolobject.h" typedef PyIntObject PyBoolObject; extern PyTypeObject PyBool_Type; extern PyIntObject _Py_ZeroStruct, _Py_TrueStruct; PyObject * PyBool_FromLong(long); # 77 "Include/Python.h" 2 # 1 "Include/longobject.h" 1 # 10 "Include/longobject.h" typedef struct _longobject PyLongObject; extern PyTypeObject PyLong_Type; PyObject * PyLong_FromLong(long); PyObject * PyLong_FromUnsignedLong(unsigned long); PyObject * PyLong_FromDouble(double); long PyLong_AsLong(PyObject *); unsigned long PyLong_AsUnsignedLong(PyObject *); unsigned long PyLong_AsUnsignedLongMask(PyObject *); double _PyLong_AsScaledDouble(PyObject *vv, int *e); double PyLong_AsDouble(PyObject *); PyObject * PyLong_FromVoidPtr(void *); void * PyLong_AsVoidPtr(PyObject *); PyObject * PyLong_FromLongLong(long long); PyObject * PyLong_FromUnsignedLongLong(unsigned long long); long long PyLong_AsLongLong(PyObject *); unsigned long long PyLong_AsUnsignedLongLong(PyObject *); unsigned long long PyLong_AsUnsignedLongLongMask(PyObject *); PyObject * PyLong_FromString(char *, char **, int); PyObject * PyLong_FromUnicode(Py_UNICODE*, int, int); int _PyLong_Sign(PyObject *v); size_t _PyLong_NumBits(PyObject *v); size_t _PyLong_NumBits(PyObject *v); # 79 "Include/longobject.h" PyObject * _PyLong_FromByteArray( const unsigned char* bytes, size_t n, int little_endian, int is_signed); # 102 "Include/longobject.h" int _PyLong_AsByteArray(PyLongObject* v, unsigned char* bytes, size_t n, int little_endian, int is_signed); # 78 "Include/Python.h" 2 # 1 "Include/floatobject.h" 1 # 14 "Include/floatobject.h" typedef struct { int ob_refcnt; struct _typeobject *ob_type; double ob_fval; } PyFloatObject; extern PyTypeObject PyFloat_Type; PyObject * PyFloat_FromString(PyObject*, char** junk); PyObject * PyFloat_FromDouble(double); double PyFloat_AsDouble(PyObject *); void PyFloat_AsReprString(char*, PyFloatObject *v); void PyFloat_AsString(char*, PyFloatObject *v); # 76 "Include/floatobject.h" int _PyFloat_Pack4(double x, unsigned char *p, int le); int _PyFloat_Pack8(double x, unsigned char *p, int le); # 88 "Include/floatobject.h" double _PyFloat_Unpack4(const unsigned char *p, int le); double _PyFloat_Unpack8(const unsigned char *p, int le); # 79 "Include/Python.h" 2 # 1 "Include/complexobject.h" 1 # 9 "Include/complexobject.h" typedef struct { double real; double imag; } Py_complex; # 23 "Include/complexobject.h" Py_complex _Py_c_sum(Py_complex, Py_complex); Py_complex _Py_c_diff(Py_complex, Py_complex); Py_complex _Py_c_neg(Py_complex); Py_complex _Py_c_prod(Py_complex, Py_complex); Py_complex _Py_c_quot(Py_complex, Py_complex); Py_complex _Py_c_pow(Py_complex, Py_complex); # 38 "Include/complexobject.h" typedef struct { int ob_refcnt; struct _typeobject *ob_type; Py_complex cval; } PyComplexObject; extern PyTypeObject PyComplex_Type; PyObject * PyComplex_FromCComplex(Py_complex); PyObject * PyComplex_FromDoubles(double real, double imag); double PyComplex_RealAsDouble(PyObject *op); double PyComplex_ImagAsDouble(PyObject *op); Py_complex PyComplex_AsCComplex(PyObject *op); # 81 "Include/Python.h" 2 # 1 "Include/rangeobject.h" 1 # 18 "Include/rangeobject.h" extern PyTypeObject PyRange_Type; PyObject * PyRange_New(long, long, long, int); # 83 "Include/Python.h" 2 # 1 "Include/stringobject.h" 1 # 10 "Include/stringobject.h" # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stdarg.h" 1 3 4 # 11 "Include/stringobject.h" 2 # 35 "Include/stringobject.h" typedef struct { int ob_refcnt; struct _typeobject *ob_type; int ob_size; long ob_shash; int ob_sstate; char ob_sval[1]; } PyStringObject; extern PyTypeObject PyBaseString_Type; extern PyTypeObject PyString_Type; PyObject * PyString_FromStringAndSize(const char *, int); PyObject * PyString_FromString(const char *); PyObject * PyString_FromFormatV(const char*, va_list) __attribute__((format(printf, 1, 0))); PyObject * PyString_FromFormat(const char*, ...) __attribute__((format(printf, 1, 2))); int PyString_Size(PyObject *); char * PyString_AsString(PyObject *); PyObject * PyString_Repr(PyObject *, int); void PyString_Concat(PyObject **, PyObject *); void PyString_ConcatAndDel(PyObject **, PyObject *); int _PyString_Resize(PyObject **, int); int _PyString_Eq(PyObject *, PyObject*); PyObject * PyString_Format(PyObject *, PyObject *); PyObject * _PyString_FormatLong(PyObject*, int, int, int, char**, int*); PyObject * PyString_DecodeEscape(const char *, int, const char *, int, const char *); void PyString_InternInPlace(PyObject **); void PyString_InternImmortal(PyObject **); PyObject * PyString_InternFromString(const char *); void _Py_ReleaseInternedStrings(void); # 86 "Include/stringobject.h" PyObject * _PyString_Join(PyObject *sep, PyObject *x); PyObject* PyString_Decode( const char *s, int size, const char *encoding, const char *errors ); PyObject* PyString_Encode( const char *s, int size, const char *encoding, const char *errors ); PyObject* PyString_AsEncodedObject( PyObject *str, const char *encoding, const char *errors ); # 127 "Include/stringobject.h" PyObject* PyString_AsEncodedString( PyObject *str, const char *encoding, const char *errors ); PyObject* PyString_AsDecodedObject( PyObject *str, const char *encoding, const char *errors ); # 150 "Include/stringobject.h" PyObject* PyString_AsDecodedString( PyObject *str, const char *encoding, const char *errors ); int PyString_AsStringAndSize( register PyObject *obj, register char **s, register int *len ); # 84 "Include/Python.h" 2 # 1 "Include/bufferobject.h" 1 # 13 "Include/bufferobject.h" extern PyTypeObject PyBuffer_Type; PyObject * PyBuffer_FromObject(PyObject *base, int offset, int size); PyObject * PyBuffer_FromReadWriteObject(PyObject *base, int offset, int size); PyObject * PyBuffer_FromMemory(void *ptr, int size); PyObject * PyBuffer_FromReadWriteMemory(void *ptr, int size); PyObject * PyBuffer_New(int size); # 85 "Include/Python.h" 2 # 1 "Include/tupleobject.h" 1 # 22 "Include/tupleobject.h" typedef struct { int ob_refcnt; struct _typeobject *ob_type; int ob_size; PyObject *ob_item[1]; } PyTupleObject; extern PyTypeObject PyTuple_Type; PyObject * PyTuple_New(int size); int PyTuple_Size(PyObject *); PyObject * PyTuple_GetItem(PyObject *, int); int PyTuple_SetItem(PyObject *, int, PyObject *); PyObject * PyTuple_GetSlice(PyObject *, int, int); int _PyTuple_Resize(PyObject **, int); # 86 "Include/Python.h" 2 # 1 "Include/listobject.h" 1 # 22 "Include/listobject.h" typedef struct { int ob_refcnt; struct _typeobject *ob_type; int ob_size; PyObject **ob_item; } PyListObject; extern PyTypeObject PyList_Type; PyObject * PyList_New(int size); int PyList_Size(PyObject *); PyObject * PyList_GetItem(PyObject *, int); int PyList_SetItem(PyObject *, int, PyObject *); int PyList_Insert(PyObject *, int, PyObject *); int PyList_Append(PyObject *, PyObject *); PyObject * PyList_GetSlice(PyObject *, int, int); int PyList_SetSlice(PyObject *, int, int, PyObject *); int PyList_Sort(PyObject *); int PyList_Reverse(PyObject *); PyObject * PyList_AsTuple(PyObject *); # 87 "Include/Python.h" 2 # 1 "Include/dictobject.h" 1 # 50 "Include/dictobject.h" typedef struct { long me_hash; PyObject *me_key; PyObject *me_value; } PyDictEntry; # 65 "Include/dictobject.h" typedef struct _dictobject PyDictObject; struct _dictobject { int ob_refcnt; struct _typeobject *ob_type; int ma_fill; int ma_used; int ma_mask; PyDictEntry *ma_table; PyDictEntry *(*ma_lookup)(PyDictObject *mp, PyObject *key, long hash); PyDictEntry ma_smalltable[8]; }; extern PyTypeObject PyDict_Type; PyObject * PyDict_New(void); PyObject * PyDict_GetItem(PyObject *mp, PyObject *key); int PyDict_SetItem(PyObject *mp, PyObject *key, PyObject *item); int PyDict_DelItem(PyObject *mp, PyObject *key); void PyDict_Clear(PyObject *mp); int PyDict_Next( PyObject *mp, int *pos, PyObject **key, PyObject **value); PyObject * PyDict_Keys(PyObject *mp); PyObject * PyDict_Values(PyObject *mp); PyObject * PyDict_Items(PyObject *mp); int PyDict_Size(PyObject *mp); PyObject * PyDict_Copy(PyObject *mp); int PyDict_Update(PyObject *mp, PyObject *other); int PyDict_Merge(PyObject *mp, PyObject *other, int override); int PyDict_MergeFromSeq2(PyObject *d, PyObject *seq2, int override); PyObject * PyDict_GetItemString(PyObject *dp, const char *key); int PyDict_SetItemString(PyObject *dp, const char *key, PyObject *item); int PyDict_DelItemString(PyObject *dp, const char *key); # 88 "Include/Python.h" 2 # 1 "Include/enumobject.h" 1 # 10 "Include/enumobject.h" extern PyTypeObject PyEnum_Type; # 89 "Include/Python.h" 2 # 1 "Include/methodobject.h" 1 # 10 "Include/methodobject.h" extern PyTypeObject PyCFunction_Type; typedef PyObject *(*PyCFunction)(PyObject *, PyObject *); typedef PyObject *(*PyCFunctionWithKeywords)(PyObject *, PyObject *, PyObject *); typedef PyObject *(*PyNoArgsFunction)(PyObject *); PyCFunction PyCFunction_GetFunction(PyObject *); PyObject * PyCFunction_GetSelf(PyObject *); int PyCFunction_GetFlags(PyObject *); # 31 "Include/methodobject.h" PyObject * PyCFunction_Call(PyObject *, PyObject *, PyObject *); struct PyMethodDef { char *ml_name; PyCFunction ml_meth; int ml_flags; char *ml_doc; }; typedef struct PyMethodDef PyMethodDef; PyObject * Py_FindMethod(PyMethodDef[], PyObject *, char *); PyObject * PyCFunction_NewEx(PyMethodDef *, PyObject *, PyObject *); # 61 "Include/methodobject.h" typedef struct PyMethodChain { PyMethodDef *methods; struct PyMethodChain *link; } PyMethodChain; PyObject * Py_FindMethodInChain(PyMethodChain *, PyObject *, char *); typedef struct { int ob_refcnt; struct _typeobject *ob_type; PyMethodDef *m_ml; PyObject *m_self; PyObject *m_module; } PyCFunctionObject; # 90 "Include/Python.h" 2 # 1 "Include/moduleobject.h" 1 # 10 "Include/moduleobject.h" extern PyTypeObject PyModule_Type; PyObject * PyModule_New(char *); PyObject * PyModule_GetDict(PyObject *); char * PyModule_GetName(PyObject *); char * PyModule_GetFilename(PyObject *); void _PyModule_Clear(PyObject *); # 91 "Include/Python.h" 2 # 1 "Include/funcobject.h" 1 # 10 "Include/funcobject.h" typedef struct { int ob_refcnt; struct _typeobject *ob_type; PyObject *func_code; PyObject *func_globals; PyObject *func_defaults; PyObject *func_closure; PyObject *func_doc; PyObject *func_name; PyObject *func_dict; PyObject *func_weakreflist; PyObject *func_module; } PyFunctionObject; extern PyTypeObject PyFunction_Type; PyObject * PyFunction_New(PyObject *, PyObject *); PyObject * PyFunction_GetCode(PyObject *); PyObject * PyFunction_GetGlobals(PyObject *); PyObject * PyFunction_GetModule(PyObject *); PyObject * PyFunction_GetDefaults(PyObject *); int PyFunction_SetDefaults(PyObject *, PyObject *); PyObject * PyFunction_GetClosure(PyObject *); int PyFunction_SetClosure(PyObject *, PyObject *); # 50 "Include/funcobject.h" extern PyTypeObject PyClassMethod_Type; extern PyTypeObject PyStaticMethod_Type; PyObject * PyClassMethod_New(PyObject *); PyObject * PyStaticMethod_New(PyObject *); # 92 "Include/Python.h" 2 # 1 "Include/classobject.h" 1 # 12 "Include/classobject.h" typedef struct { int ob_refcnt; struct _typeobject *ob_type; PyObject *cl_bases; PyObject *cl_dict; PyObject *cl_name; PyObject *cl_getattr; PyObject *cl_setattr; PyObject *cl_delattr; } PyClassObject; typedef struct { int ob_refcnt; struct _typeobject *ob_type; PyClassObject *in_class; PyObject *in_dict; PyObject *in_weakreflist; } PyInstanceObject; typedef struct { int ob_refcnt; struct _typeobject *ob_type; PyObject *im_func; PyObject *im_self; PyObject *im_class; PyObject *im_weakreflist; } PyMethodObject; extern PyTypeObject PyClass_Type, PyInstance_Type, PyMethod_Type; PyObject * PyClass_New(PyObject *, PyObject *, PyObject *); PyObject * PyInstance_New(PyObject *, PyObject *, PyObject *); PyObject * PyInstance_NewRaw(PyObject *, PyObject *); PyObject * PyMethod_New(PyObject *, PyObject *, PyObject *); PyObject * PyMethod_Function(PyObject *); PyObject * PyMethod_Self(PyObject *); PyObject * PyMethod_Class(PyObject *); # 64 "Include/classobject.h" PyObject * _PyInstance_Lookup(PyObject *pinst, PyObject *name); # 75 "Include/classobject.h" int PyClass_IsSubclass(PyObject *, PyObject *); # 93 "Include/Python.h" 2 # 1 "Include/fileobject.h" 1 # 10 "Include/fileobject.h" typedef struct { int ob_refcnt; struct _typeobject *ob_type; FILE *f_fp; PyObject *f_name; PyObject *f_mode; int (*f_close)(FILE *); int f_softspace; int f_binary; char* f_buf; char* f_bufend; char* f_bufptr; char *f_setbuf; int f_univ_newline; int f_newlinetypes; int f_skipnextlf; PyObject *f_encoding; } PyFileObject; extern PyTypeObject PyFile_Type; PyObject * PyFile_FromString(char *, char *); void PyFile_SetBufSize(PyObject *, int); int PyFile_SetEncoding(PyObject *, const char *); PyObject * PyFile_FromFile(FILE *, char *, char *, int (*)(FILE *)); FILE * PyFile_AsFile(PyObject *); PyObject * PyFile_Name(PyObject *); PyObject * PyFile_GetLine(PyObject *, int); int PyFile_WriteObject(PyObject *, PyObject *, int); int PyFile_SoftSpace(PyObject *, int); int PyFile_WriteString(const char *, PyObject *); int PyObject_AsFileDescriptor(PyObject *); extern const char * Py_FileSystemDefaultEncoding; char *Py_UniversalNewlineFgets(char *, int, FILE*, PyObject *); size_t Py_UniversalNewlineFread(char *, size_t, FILE *, PyObject *); # 94 "Include/Python.h" 2 # 1 "Include/cobject.h" 1 # 17 "Include/cobject.h" extern PyTypeObject PyCObject_Type; # 27 "Include/cobject.h" PyObject * PyCObject_FromVoidPtr( void *cobj, void (*destruct)(void*)); PyObject * PyCObject_FromVoidPtrAndDesc( void *cobj, void *desc, void (*destruct)(void*,void*)); void * PyCObject_AsVoidPtr(PyObject *); void * PyCObject_GetDesc(PyObject *); void * PyCObject_Import(char *module_name, char *cobject_name); # 95 "Include/Python.h" 2 # 1 "Include/traceback.h" 1 # 10 "Include/traceback.h" struct _frame; int PyTraceBack_Here(struct _frame *); int PyTraceBack_Print(PyObject *, PyObject *); extern PyTypeObject PyTraceBack_Type; # 96 "Include/Python.h" 2 # 1 "Include/sliceobject.h" 1 # 9 "Include/sliceobject.h" extern PyObject _Py_EllipsisObject; # 22 "Include/sliceobject.h" typedef struct { int ob_refcnt; struct _typeobject *ob_type; PyObject *start, *stop, *step; } PySliceObject; extern PyTypeObject PySlice_Type; PyObject * PySlice_New(PyObject* start, PyObject* stop, PyObject* step); int PySlice_GetIndices(PySliceObject *r, int length, int *start, int *stop, int *step); int PySlice_GetIndicesEx(PySliceObject *r, int length, int *start, int *stop, int *step, int *slicelength); # 97 "Include/Python.h" 2 # 1 "Include/cellobject.h" 1 # 9 "Include/cellobject.h" typedef struct { int ob_refcnt; struct _typeobject *ob_type; PyObject *ob_ref; } PyCellObject; extern PyTypeObject PyCell_Type; PyObject * PyCell_New(PyObject *); PyObject * PyCell_Get(PyObject *); int PyCell_Set(PyObject *, PyObject *); # 98 "Include/Python.h" 2 # 1 "Include/iterobject.h" 1 extern PyTypeObject PySeqIter_Type; PyObject * PySeqIter_New(PyObject *); extern PyTypeObject PyCallIter_Type; PyObject * PyCallIter_New(PyObject *, PyObject *); # 99 "Include/Python.h" 2 # 1 "Include/descrobject.h" 1 typedef PyObject *(*getter)(PyObject *, void *); typedef int (*setter)(PyObject *, PyObject *, void *); typedef struct PyGetSetDef { char *name; getter get; setter set; char *doc; void *closure; } PyGetSetDef; typedef PyObject *(*wrapperfunc)(PyObject *self, PyObject *args, void *wrapped); typedef PyObject *(*wrapperfunc_kwds)(PyObject *self, PyObject *args, void *wrapped, PyObject *kwds); struct wrapperbase { char *name; int offset; void *function; wrapperfunc wrapper; char *doc; int flags; PyObject *name_strobj; }; # 45 "Include/descrobject.h" typedef struct { int ob_refcnt; struct _typeobject *ob_type; PyTypeObject *d_type; PyObject *d_name; } PyDescrObject; typedef struct { int ob_refcnt; struct _typeobject *ob_type; PyTypeObject *d_type; PyObject *d_name; PyMethodDef *d_method; } PyMethodDescrObject; typedef struct { int ob_refcnt; struct _typeobject *ob_type; PyTypeObject *d_type; PyObject *d_name; struct PyMemberDef *d_member; } PyMemberDescrObject; typedef struct { int ob_refcnt; struct _typeobject *ob_type; PyTypeObject *d_type; PyObject *d_name; PyGetSetDef *d_getset; } PyGetSetDescrObject; typedef struct { int ob_refcnt; struct _typeobject *ob_type; PyTypeObject *d_type; PyObject *d_name; struct wrapperbase *d_base; void *d_wrapped; } PyWrapperDescrObject; extern PyTypeObject PyWrapperDescr_Type; PyObject * PyDescr_NewMethod(PyTypeObject *, PyMethodDef *); PyObject * PyDescr_NewClassMethod(PyTypeObject *, PyMethodDef *); PyObject * PyDescr_NewMember(PyTypeObject *, struct PyMemberDef *); PyObject * PyDescr_NewGetSet(PyTypeObject *, struct PyGetSetDef *); PyObject * PyDescr_NewWrapper(PyTypeObject *, struct wrapperbase *, void *); PyObject * PyDictProxy_New(PyObject *); PyObject * PyWrapper_New(PyObject *, PyObject *); extern PyTypeObject PyProperty_Type; # 100 "Include/Python.h" 2 # 1 "Include/weakrefobject.h" 1 # 10 "Include/weakrefobject.h" typedef struct _PyWeakReference PyWeakReference; struct _PyWeakReference { int ob_refcnt; struct _typeobject *ob_type; PyObject *wr_object; PyObject *wr_callback; long hash; PyWeakReference *wr_prev; PyWeakReference *wr_next; }; extern PyTypeObject _PyWeakref_RefType; extern PyTypeObject _PyWeakref_ProxyType; extern PyTypeObject _PyWeakref_CallableProxyType; # 34 "Include/weakrefobject.h" PyObject * PyWeakref_NewRef(PyObject *ob, PyObject *callback); PyObject * PyWeakref_NewProxy(PyObject *ob, PyObject *callback); PyObject * PyWeakref_GetObject(PyObject *ref); long _PyWeakref_GetWeakrefCount(PyWeakReference *head); void _PyWeakref_ClearRef(PyWeakReference *self); # 101 "Include/Python.h" 2 # 1 "Include/codecs.h" 1 # 26 "Include/codecs.h" int PyCodec_Register( PyObject *search_function ); # 48 "Include/codecs.h" PyObject * _PyCodec_Lookup( const char *encoding ); # 62 "Include/codecs.h" PyObject * PyCodec_Encode( PyObject *object, const char *encoding, const char *errors ); # 78 "Include/codecs.h" PyObject * PyCodec_Decode( PyObject *object, const char *encoding, const char *errors ); # 94 "Include/codecs.h" PyObject * PyCodec_Encoder( const char *encoding ); PyObject * PyCodec_Decoder( const char *encoding ); PyObject * PyCodec_StreamReader( const char *encoding, PyObject *stream, const char *errors ); PyObject * PyCodec_StreamWriter( const char *encoding, PyObject *stream, const char *errors ); # 128 "Include/codecs.h" int PyCodec_RegisterError(const char *name, PyObject *error); PyObject * PyCodec_LookupError(const char *name); PyObject * PyCodec_StrictErrors(PyObject *exc); PyObject * PyCodec_IgnoreErrors(PyObject *exc); PyObject * PyCodec_ReplaceErrors(PyObject *exc); PyObject * PyCodec_XMLCharRefReplaceErrors(PyObject *exc); PyObject * PyCodec_BackslashReplaceErrors(PyObject *exc); # 103 "Include/Python.h" 2 # 1 "Include/pyerrors.h" 1 # 10 "Include/pyerrors.h" void PyErr_SetNone(PyObject *); void PyErr_SetObject(PyObject *, PyObject *); void PyErr_SetString(PyObject *, const char *); PyObject * PyErr_Occurred(void); void PyErr_Clear(void); void PyErr_Fetch(PyObject **, PyObject **, PyObject **); void PyErr_Restore(PyObject *, PyObject *, PyObject *); int PyErr_GivenExceptionMatches(PyObject *, PyObject *); int PyErr_ExceptionMatches(PyObject *); void PyErr_NormalizeException(PyObject**, PyObject**, PyObject**); extern PyObject * PyExc_Exception; extern PyObject * PyExc_StopIteration; extern PyObject * PyExc_StandardError; extern PyObject * PyExc_ArithmeticError; extern PyObject * PyExc_LookupError; extern PyObject * PyExc_AssertionError; extern PyObject * PyExc_AttributeError; extern PyObject * PyExc_EOFError; extern PyObject * PyExc_FloatingPointError; extern PyObject * PyExc_EnvironmentError; extern PyObject * PyExc_IOError; extern PyObject * PyExc_OSError; extern PyObject * PyExc_ImportError; extern PyObject * PyExc_IndexError; extern PyObject * PyExc_KeyError; extern PyObject * PyExc_KeyboardInterrupt; extern PyObject * PyExc_MemoryError; extern PyObject * PyExc_NameError; extern PyObject * PyExc_OverflowError; extern PyObject * PyExc_RuntimeError; extern PyObject * PyExc_NotImplementedError; extern PyObject * PyExc_SyntaxError; extern PyObject * PyExc_IndentationError; extern PyObject * PyExc_TabError; extern PyObject * PyExc_ReferenceError; extern PyObject * PyExc_SystemError; extern PyObject * PyExc_SystemExit; extern PyObject * PyExc_TypeError; extern PyObject * PyExc_UnboundLocalError; extern PyObject * PyExc_UnicodeError; extern PyObject * PyExc_UnicodeEncodeError; extern PyObject * PyExc_UnicodeDecodeError; extern PyObject * PyExc_UnicodeTranslateError; extern PyObject * PyExc_ValueError; extern PyObject * PyExc_ZeroDivisionError; extern PyObject * PyExc_MemoryErrorInst; extern PyObject * PyExc_Warning; extern PyObject * PyExc_UserWarning; extern PyObject * PyExc_DeprecationWarning; extern PyObject * PyExc_PendingDeprecationWarning; extern PyObject * PyExc_SyntaxWarning; extern PyObject * PyExc_OverflowWarning; extern PyObject * PyExc_RuntimeWarning; extern PyObject * PyExc_FutureWarning; int PyErr_BadArgument(void); PyObject * PyErr_NoMemory(void); PyObject * PyErr_SetFromErrno(PyObject *); PyObject * PyErr_SetFromErrnoWithFilenameObject( PyObject *, PyObject *); PyObject * PyErr_SetFromErrnoWithFilename(PyObject *, char *); PyObject * PyErr_Format(PyObject *, const char *, ...) __attribute__((format(printf, 2, 3))); # 120 "Include/pyerrors.h" void PyErr_BadInternalCall(void); void _PyErr_BadInternalCall(char *filename, int lineno); PyObject * PyErr_NewException(char *name, PyObject *base, PyObject *dict); void PyErr_WriteUnraisable(PyObject *); int PyErr_Warn(PyObject *, char *); int PyErr_WarnExplicit(PyObject *, const char *, const char *, int, const char *, PyObject *); int PyErr_CheckSignals(void); void PyErr_SetInterrupt(void); void PyErr_SyntaxLocation(const char *, int); PyObject * PyErr_ProgramText(const char *, int); PyObject * PyUnicodeDecodeError_Create( const char *, const char *, int, int, int, const char *); PyObject * PyUnicodeEncodeError_Create( const char *, const Py_UNICODE *, int, int, int, const char *); PyObject * PyUnicodeTranslateError_Create( const Py_UNICODE *, int, int, int, const char *); PyObject * PyUnicodeEncodeError_GetEncoding(PyObject *); PyObject * PyUnicodeDecodeError_GetEncoding(PyObject *); PyObject * PyUnicodeEncodeError_GetObject(PyObject *); PyObject * PyUnicodeDecodeError_GetObject(PyObject *); PyObject * PyUnicodeTranslateError_GetObject(PyObject *); int PyUnicodeEncodeError_GetStart(PyObject *, int *); int PyUnicodeDecodeError_GetStart(PyObject *, int *); int PyUnicodeTranslateError_GetStart(PyObject *, int *); int PyUnicodeEncodeError_SetStart(PyObject *, int); int PyUnicodeDecodeError_SetStart(PyObject *, int); int PyUnicodeTranslateError_SetStart(PyObject *, int); int PyUnicodeEncodeError_GetEnd(PyObject *, int *); int PyUnicodeDecodeError_GetEnd(PyObject *, int *); int PyUnicodeTranslateError_GetEnd(PyObject *, int *); int PyUnicodeEncodeError_SetEnd(PyObject *, int); int PyUnicodeDecodeError_SetEnd(PyObject *, int); int PyUnicodeTranslateError_SetEnd(PyObject *, int); PyObject * PyUnicodeEncodeError_GetReason(PyObject *); PyObject * PyUnicodeDecodeError_GetReason(PyObject *); PyObject * PyUnicodeTranslateError_GetReason(PyObject *); int PyUnicodeEncodeError_SetReason( PyObject *, const char *); int PyUnicodeDecodeError_SetReason( PyObject *, const char *); int PyUnicodeTranslateError_SetReason( PyObject *, const char *); # 225 "Include/pyerrors.h" int PyOS_snprintf(char *str, size_t size, const char *format, ...) __attribute__((format(printf, 3, 4))); int PyOS_vsnprintf(char *str, size_t size, const char *format, va_list va) __attribute__((format(printf, 3, 0))); # 104 "Include/Python.h" 2 # 1 "Include/pystate.h" 1 # 13 "Include/pystate.h" struct _ts; struct _is; typedef struct _is { struct _is *next; struct _ts *tstate_head; PyObject *modules; PyObject *sysdict; PyObject *builtins; PyObject *codec_search_path; PyObject *codec_search_cache; PyObject *codec_error_registry; int dlopenflags; } PyInterpreterState; struct _frame; typedef int (*Py_tracefunc)(PyObject *, struct _frame *, int, PyObject *); typedef struct _ts { struct _ts *next; PyInterpreterState *interp; struct _frame *frame; int recursion_depth; int tracing; int use_tracing; Py_tracefunc c_profilefunc; Py_tracefunc c_tracefunc; PyObject *c_profileobj; PyObject *c_traceobj; PyObject *curexc_type; PyObject *curexc_value; PyObject *curexc_traceback; PyObject *exc_type; PyObject *exc_value; PyObject *exc_traceback; PyObject *dict; int tick_counter; int gilstate_counter; PyObject *async_exc; long thread_id; } PyThreadState; PyInterpreterState * PyInterpreterState_New(void); void PyInterpreterState_Clear(PyInterpreterState *); void PyInterpreterState_Delete(PyInterpreterState *); PyThreadState * PyThreadState_New(PyInterpreterState *); void PyThreadState_Clear(PyThreadState *); void PyThreadState_Delete(PyThreadState *); void PyThreadState_DeleteCurrent(void); PyThreadState * PyThreadState_Get(void); PyThreadState * PyThreadState_Swap(PyThreadState *); PyObject * PyThreadState_GetDict(void); int PyThreadState_SetAsyncExc(long, PyObject *); extern PyThreadState * _PyThreadState_Current; typedef enum {PyGILState_LOCKED, PyGILState_UNLOCKED} PyGILState_STATE; # 137 "Include/pystate.h" PyGILState_STATE PyGILState_Ensure(void); # 147 "Include/pystate.h" void PyGILState_Release(PyGILState_STATE); PyThreadState * PyGILState_GetThisThreadState(void); PyInterpreterState * PyInterpreterState_Head(void); PyInterpreterState * PyInterpreterState_Next(PyInterpreterState *); PyThreadState * PyInterpreterState_ThreadHead(PyInterpreterState *); PyThreadState * PyThreadState_Next(PyThreadState *); typedef struct _frame *(*PyThreadFrameGetter)(PyThreadState *self_); extern PyThreadFrameGetter _PyThreadState_GetFrame; # 106 "Include/Python.h" 2 # 1 "Include/modsupport.h" 1 # 12 "Include/modsupport.h" int PyArg_Parse(PyObject *, char *, ...); int PyArg_ParseTuple(PyObject *, char *, ...); int PyArg_ParseTupleAndKeywords(PyObject *, PyObject *, char *, char **, ...); int PyArg_UnpackTuple(PyObject *, char *, int, int, ...); PyObject * Py_BuildValue(char *, ...); int PyArg_VaParse(PyObject *, char *, va_list); PyObject * Py_VaBuildValue(char *, va_list); int PyModule_AddObject(PyObject *, char *, PyObject *); int PyModule_AddIntConstant(PyObject *, char *, long); int PyModule_AddStringConstant(PyObject *, char *, char *); # 84 "Include/modsupport.h" PyObject * Py_InitModule4(char *name, PyMethodDef *methods, char *doc, PyObject *self, int apiver); # 96 "Include/modsupport.h" extern char * _Py_PackageContext; # 108 "Include/Python.h" 2 # 1 "Include/pythonrun.h" 1 # 15 "Include/pythonrun.h" typedef struct { int cf_flags; } PyCompilerFlags; void Py_SetProgramName(char *); char * Py_GetProgramName(void); void Py_SetPythonHome(char *); char * Py_GetPythonHome(void); void Py_Initialize(void); void Py_Finalize(void); int Py_IsInitialized(void); PyThreadState * Py_NewInterpreter(void); void Py_EndInterpreter(PyThreadState *); int PyRun_AnyFile(FILE *, const char *); int PyRun_AnyFileEx(FILE *, const char *, int); int PyRun_AnyFileFlags(FILE *, const char *, PyCompilerFlags *); int PyRun_AnyFileExFlags(FILE *, const char *, int, PyCompilerFlags *); int PyRun_SimpleString(const char *); int PyRun_SimpleStringFlags(const char *, PyCompilerFlags *); int PyRun_SimpleFile(FILE *, const char *); int PyRun_SimpleFileEx(FILE *, const char *, int); int PyRun_SimpleFileExFlags(FILE *, const char *, int, PyCompilerFlags *); int PyRun_InteractiveOne(FILE *, const char *); int PyRun_InteractiveOneFlags(FILE *, const char *, PyCompilerFlags *); int PyRun_InteractiveLoop(FILE *, const char *); int PyRun_InteractiveLoopFlags(FILE *, const char *, PyCompilerFlags *); struct _node * PyParser_SimpleParseString(const char *, int); struct _node * PyParser_SimpleParseFile(FILE *, const char *, int); struct _node * PyParser_SimpleParseStringFlags(const char *, int, int); struct _node * PyParser_SimpleParseStringFlagsFilename(const char *, const char *, int, int); struct _node * PyParser_SimpleParseFileFlags(FILE *, const char *, int, int); PyObject * PyRun_String(const char *, int, PyObject *, PyObject *); PyObject * PyRun_File(FILE *, const char *, int, PyObject *, PyObject *); PyObject * PyRun_FileEx(FILE *, const char *, int, PyObject *, PyObject *, int); PyObject * PyRun_StringFlags(const char *, int, PyObject *, PyObject *, PyCompilerFlags *); PyObject * PyRun_FileFlags(FILE *, const char *, int, PyObject *, PyObject *, PyCompilerFlags *); PyObject * PyRun_FileExFlags(FILE *, const char *, int, PyObject *, PyObject *, int, PyCompilerFlags *); PyObject * Py_CompileString(const char *, const char *, int); PyObject * Py_CompileStringFlags(const char *, const char *, int, PyCompilerFlags *); struct symtable * Py_SymtableString(const char *, const char *, int); void PyErr_Print(void); void PyErr_PrintEx(int); void PyErr_Display(PyObject *, PyObject *, PyObject *); int Py_AtExit(void (*func)(void)); void Py_Exit(int); int Py_FdIsInteractive(FILE *, const char *); int Py_Main(int argc, char **argv); char * Py_GetProgramFullPath(void); char * Py_GetPrefix(void); char * Py_GetExecPrefix(void); char * Py_GetPath(void); const char * Py_GetVersion(void); const char * Py_GetPlatform(void); const char * Py_GetCopyright(void); const char * Py_GetCompiler(void); const char * Py_GetBuildInfo(void); PyObject * _PyBuiltin_Init(void); PyObject * _PySys_Init(void); void _PyImport_Init(void); void _PyExc_Init(void); void _PyImportHooks_Init(void); int _PyFrame_Init(void); int _PyInt_Init(void); void _PyExc_Fini(void); void _PyImport_Fini(void); void PyMethod_Fini(void); void PyFrame_Fini(void); void PyCFunction_Fini(void); void PyTuple_Fini(void); void PyString_Fini(void); void PyInt_Fini(void); void PyFloat_Fini(void); void PyOS_FiniInterrupts(void); char * PyOS_Readline(FILE *, FILE *, char *); extern int (*PyOS_InputHook)(void); extern char *(*PyOS_ReadlineFunctionPointer)(FILE *, FILE *, char *); # 141 "Include/pythonrun.h" typedef void (*PyOS_sighandler_t)(int); PyOS_sighandler_t PyOS_getsig(int); PyOS_sighandler_t PyOS_setsig(int, PyOS_sighandler_t); # 109 "Include/Python.h" 2 # 1 "Include/ceval.h" 1 # 10 "Include/ceval.h" PyObject * PyEval_CallObjectWithKeywords( PyObject *, PyObject *, PyObject *); PyObject * PyEval_CallObject(PyObject *, PyObject *); PyObject * PyEval_CallFunction(PyObject *obj, char *format, ...); PyObject * PyEval_CallMethod(PyObject *obj, char *methodname, char *format, ...); void PyEval_SetProfile(Py_tracefunc, PyObject *); void PyEval_SetTrace(Py_tracefunc, PyObject *); struct _frame; PyObject * PyEval_GetBuiltins(void); PyObject * PyEval_GetGlobals(void); PyObject * PyEval_GetLocals(void); struct _frame * PyEval_GetFrame(void); int PyEval_GetRestricted(void); int PyEval_MergeCompilerFlags(PyCompilerFlags *cf); int Py_FlushLine(void); int Py_AddPendingCall(int (*func)(void *), void *arg); int Py_MakePendingCalls(void); void Py_SetRecursionLimit(int); int Py_GetRecursionLimit(void); char * PyEval_GetFuncName(PyObject *); char * PyEval_GetFuncDesc(PyObject *); PyObject * PyEval_GetCallStats(PyObject *); extern volatile int _Py_Ticker; extern int _Py_CheckInterval; # 103 "Include/ceval.h" PyThreadState * PyEval_SaveThread(void); void PyEval_RestoreThread(PyThreadState *); void PyEval_InitThreads(void); void PyEval_AcquireLock(void); void PyEval_ReleaseLock(void); void PyEval_AcquireThread(PyThreadState *tstate); void PyEval_ReleaseThread(PyThreadState *tstate); void PyEval_ReInitThreads(void); # 132 "Include/ceval.h" int _PyEval_SliceIndex(PyObject *, int *); # 110 "Include/Python.h" 2 # 1 "Include/sysmodule.h" 1 # 10 "Include/sysmodule.h" PyObject * PySys_GetObject(char *); int PySys_SetObject(char *, PyObject *); FILE * PySys_GetFile(char *, FILE *); void PySys_SetArgv(int, char **); void PySys_SetPath(char *); void PySys_WriteStdout(const char *format, ...) __attribute__((format(printf, 1, 2))); void PySys_WriteStderr(const char *format, ...) __attribute__((format(printf, 1, 2))); extern PyObject * _PySys_TraceFunc, *_PySys_ProfileFunc; extern int _PySys_CheckInterval; void PySys_ResetWarnOptions(void); void PySys_AddWarnOption(char *); # 111 "Include/Python.h" 2 # 1 "Include/intrcheck.h" 1 int PyOS_InterruptOccurred(void); void PyOS_InitInterrupts(void); void PyOS_AfterFork(void); # 112 "Include/Python.h" 2 # 1 "Include/import.h" 1 # 10 "Include/import.h" long PyImport_GetMagicNumber(void); PyObject * PyImport_ExecCodeModule(char *name, PyObject *co); PyObject * PyImport_ExecCodeModuleEx( char *name, PyObject *co, char *pathname); PyObject * PyImport_GetModuleDict(void); PyObject * PyImport_AddModule(char *name); PyObject * PyImport_ImportModule(char *name); PyObject * PyImport_ImportModuleEx( char *name, PyObject *globals, PyObject *locals, PyObject *fromlist); PyObject * PyImport_Import(PyObject *name); PyObject * PyImport_ReloadModule(PyObject *m); void PyImport_Cleanup(void); int PyImport_ImportFrozenModule(char *); PyObject *_PyImport_FindExtension(char *, char *); PyObject *_PyImport_FixupExtension(char *, char *); struct _inittab { char *name; void (*initfunc)(void); }; extern struct _inittab * PyImport_Inittab; int PyImport_AppendInittab(char *name, void (*initfunc)(void)); int PyImport_ExtendInittab(struct _inittab *newtab); struct _frozen { char *name; unsigned char *code; int size; }; extern struct _frozen * PyImport_FrozenModules; # 113 "Include/Python.h" 2 # 1 "Include/abstract.h" 1 # 226 "Include/abstract.h" int PyObject_Cmp(PyObject *o1, PyObject *o2, int *result); # 286 "Include/abstract.h" int PyCallable_Check(PyObject *o); # 298 "Include/abstract.h" PyObject * PyObject_Call(PyObject *callable_object, PyObject *args, PyObject *kw); # 308 "Include/abstract.h" PyObject * PyObject_CallObject(PyObject *callable_object, PyObject *args); # 320 "Include/abstract.h" PyObject * PyObject_CallFunction(PyObject *callable_object, char *format, ...); # 334 "Include/abstract.h" PyObject * PyObject_CallMethod(PyObject *o, char *m, char *format, ...); # 347 "Include/abstract.h" PyObject * PyObject_CallFunctionObjArgs(PyObject *callable, ...); # 359 "Include/abstract.h" PyObject * PyObject_CallMethodObjArgs(PyObject *o, PyObject *m, ...); # 402 "Include/abstract.h" PyObject * PyObject_Type(PyObject *o); int PyObject_Size(PyObject *o); # 422 "Include/abstract.h" int PyObject_Length(PyObject *o); PyObject * PyObject_GetItem(PyObject *o, PyObject *key); # 435 "Include/abstract.h" int PyObject_SetItem(PyObject *o, PyObject *key, PyObject *v); int PyObject_DelItemString(PyObject *o, char *key); int PyObject_DelItem(PyObject *o, PyObject *key); int PyObject_AsCharBuffer(PyObject *obj, const char **buffer, int *buffer_len); # 474 "Include/abstract.h" int PyObject_CheckReadBuffer(PyObject *obj); # 483 "Include/abstract.h" int PyObject_AsReadBuffer(PyObject *obj, const void **buffer, int *buffer_len); # 499 "Include/abstract.h" int PyObject_AsWriteBuffer(PyObject *obj, void **buffer, int *buffer_len); # 516 "Include/abstract.h" PyObject * PyObject_GetIter(PyObject *); # 525 "Include/abstract.h" PyObject * PyIter_Next(PyObject *); int PyNumber_Check(PyObject *o); # 543 "Include/abstract.h" PyObject * PyNumber_Add(PyObject *o1, PyObject *o2); # 552 "Include/abstract.h" PyObject * PyNumber_Subtract(PyObject *o1, PyObject *o2); # 561 "Include/abstract.h" PyObject * PyNumber_Multiply(PyObject *o1, PyObject *o2); # 571 "Include/abstract.h" PyObject * PyNumber_Divide(PyObject *o1, PyObject *o2); # 580 "Include/abstract.h" PyObject * PyNumber_FloorDivide(PyObject *o1, PyObject *o2); # 590 "Include/abstract.h" PyObject * PyNumber_TrueDivide(PyObject *o1, PyObject *o2); # 600 "Include/abstract.h" PyObject * PyNumber_Remainder(PyObject *o1, PyObject *o2); # 610 "Include/abstract.h" PyObject * PyNumber_Divmod(PyObject *o1, PyObject *o2); # 620 "Include/abstract.h" PyObject * PyNumber_Power(PyObject *o1, PyObject *o2, PyObject *o3); # 630 "Include/abstract.h" PyObject * PyNumber_Negative(PyObject *o); PyObject * PyNumber_Positive(PyObject *o); PyObject * PyNumber_Absolute(PyObject *o); PyObject * PyNumber_Invert(PyObject *o); # 664 "Include/abstract.h" PyObject * PyNumber_Lshift(PyObject *o1, PyObject *o2); # 674 "Include/abstract.h" PyObject * PyNumber_Rshift(PyObject *o1, PyObject *o2); # 683 "Include/abstract.h" PyObject * PyNumber_And(PyObject *o1, PyObject *o2); # 693 "Include/abstract.h" PyObject * PyNumber_Xor(PyObject *o1, PyObject *o2); # 703 "Include/abstract.h" PyObject * PyNumber_Or(PyObject *o1, PyObject *o2); # 731 "Include/abstract.h" PyObject * PyNumber_Int(PyObject *o); # 740 "Include/abstract.h" PyObject * PyNumber_Long(PyObject *o); # 749 "Include/abstract.h" PyObject * PyNumber_Float(PyObject *o); # 759 "Include/abstract.h" PyObject * PyNumber_InPlaceAdd(PyObject *o1, PyObject *o2); # 768 "Include/abstract.h" PyObject * PyNumber_InPlaceSubtract(PyObject *o1, PyObject *o2); # 777 "Include/abstract.h" PyObject * PyNumber_InPlaceMultiply(PyObject *o1, PyObject *o2); # 786 "Include/abstract.h" PyObject * PyNumber_InPlaceDivide(PyObject *o1, PyObject *o2); # 795 "Include/abstract.h" PyObject * PyNumber_InPlaceFloorDivide(PyObject *o1, PyObject *o2); # 806 "Include/abstract.h" PyObject * PyNumber_InPlaceTrueDivide(PyObject *o1, PyObject *o2); # 817 "Include/abstract.h" PyObject * PyNumber_InPlaceRemainder(PyObject *o1, PyObject *o2); # 826 "Include/abstract.h" PyObject * PyNumber_InPlacePower(PyObject *o1, PyObject *o2, PyObject *o3); # 836 "Include/abstract.h" PyObject * PyNumber_InPlaceLshift(PyObject *o1, PyObject *o2); # 845 "Include/abstract.h" PyObject * PyNumber_InPlaceRshift(PyObject *o1, PyObject *o2); # 854 "Include/abstract.h" PyObject * PyNumber_InPlaceAnd(PyObject *o1, PyObject *o2); # 863 "Include/abstract.h" PyObject * PyNumber_InPlaceXor(PyObject *o1, PyObject *o2); # 872 "Include/abstract.h" PyObject * PyNumber_InPlaceOr(PyObject *o1, PyObject *o2); # 884 "Include/abstract.h" int PySequence_Check(PyObject *o); # 894 "Include/abstract.h" int PySequence_Size(PyObject *o); # 903 "Include/abstract.h" int PySequence_Length(PyObject *o); PyObject * PySequence_Concat(PyObject *o1, PyObject *o2); # 916 "Include/abstract.h" PyObject * PySequence_Repeat(PyObject *o, int count); # 925 "Include/abstract.h" PyObject * PySequence_GetItem(PyObject *o, int i); PyObject * PySequence_GetSlice(PyObject *o, int i1, int i2); # 941 "Include/abstract.h" int PySequence_SetItem(PyObject *o, int i, PyObject *v); # 950 "Include/abstract.h" int PySequence_DelItem(PyObject *o, int i); int PySequence_SetSlice(PyObject *o, int i1, int i2, PyObject *v); int PySequence_DelSlice(PyObject *o, int i1, int i2); PyObject * PySequence_Tuple(PyObject *o); PyObject * PySequence_List(PyObject *o); PyObject * PySequence_Fast(PyObject *o, const char* m); # 1019 "Include/abstract.h" int PySequence_Count(PyObject *o, PyObject *value); # 1028 "Include/abstract.h" int PySequence_Contains(PyObject *seq, PyObject *ob); # 1037 "Include/abstract.h" int _PySequence_IterSearch(PyObject *seq, PyObject *obj, int operation); # 1052 "Include/abstract.h" int PySequence_In(PyObject *o, PyObject *value); # 1063 "Include/abstract.h" int PySequence_Index(PyObject *o, PyObject *value); # 1073 "Include/abstract.h" PyObject * PySequence_InPlaceConcat(PyObject *o1, PyObject *o2); # 1082 "Include/abstract.h" PyObject * PySequence_InPlaceRepeat(PyObject *o, int count); # 1093 "Include/abstract.h" int PyMapping_Check(PyObject *o); # 1102 "Include/abstract.h" int PyMapping_Size(PyObject *o); # 1112 "Include/abstract.h" int PyMapping_Length(PyObject *o); # 1136 "Include/abstract.h" int PyMapping_HasKeyString(PyObject *o, char *key); # 1146 "Include/abstract.h" int PyMapping_HasKey(PyObject *o, PyObject *key); # 1189 "Include/abstract.h" PyObject * PyMapping_GetItemString(PyObject *o, char *key); int PyMapping_SetItemString(PyObject *o, char *key, PyObject *value); # 1207 "Include/abstract.h" int PyObject_IsInstance(PyObject *object, PyObject *typeorclass); int PyObject_IsSubclass(PyObject *object, PyObject *typeorclass); # 115 "Include/Python.h" 2 int _Py_Mangle(char *p, char *name, char *buffer, size_t maxlen); # 135 "Include/Python.h" # 1 "Include/pyfpe.h" 1 # 129 "Include/pyfpe.h" # 1 "/usr/include/signal.h" 1 3 4 # 31 "/usr/include/signal.h" 3 4 # 1 "/usr/include/bits/sigset.h" 1 3 4 # 103 "/usr/include/bits/sigset.h" 3 4 extern int __sigismember (__const __sigset_t *, int); extern int __sigaddset (__sigset_t *, int); extern int __sigdelset (__sigset_t *, int); # 117 "/usr/include/bits/sigset.h" 3 4 extern __inline int __sigismember (__const __sigset_t *__set, int __sig) { unsigned long int __mask = (((unsigned long int) 1) << (((__sig) - 1) % (8 * sizeof (unsigned long int)))); unsigned long int __word = (((__sig) - 1) / (8 * sizeof (unsigned long int))); return (__set->__val[__word] & __mask) ? 1 : 0; } extern __inline int __sigaddset ( __sigset_t *__set, int __sig) { unsigned long int __mask = (((unsigned long int) 1) << (((__sig) - 1) % (8 * sizeof (unsigned long int)))); unsigned long int __word = (((__sig) - 1) / (8 * sizeof (unsigned long int))); return ((__set->__val[__word] |= __mask), 0); } extern __inline int __sigdelset ( __sigset_t *__set, int __sig) { unsigned long int __mask = (((unsigned long int) 1) << (((__sig) - 1) % (8 * sizeof (unsigned long int)))); unsigned long int __word = (((__sig) - 1) / (8 * sizeof (unsigned long int))); return ((__set->__val[__word] &= ~__mask), 0); } # 34 "/usr/include/signal.h" 2 3 4 typedef __sig_atomic_t sig_atomic_t; # 58 "/usr/include/signal.h" 3 4 # 1 "/usr/include/bits/signum.h" 1 3 4 # 59 "/usr/include/signal.h" 2 3 4 # 73 "/usr/include/signal.h" 3 4 typedef void (*__sighandler_t) (int); extern __sighandler_t __sysv_signal (int __sig, __sighandler_t __handler) ; extern __sighandler_t sysv_signal (int __sig, __sighandler_t __handler) ; extern __sighandler_t signal (int __sig, __sighandler_t __handler) ; # 102 "/usr/include/signal.h" 3 4 extern __sighandler_t bsd_signal (int __sig, __sighandler_t __handler) ; extern int kill (__pid_t __pid, int __sig) ; extern int killpg (__pid_t __pgrp, int __sig) ; extern int raise (int __sig) ; extern __sighandler_t ssignal (int __sig, __sighandler_t __handler) ; extern int gsignal (int __sig) ; extern void psignal (int __sig, __const char *__s); # 149 "/usr/include/signal.h" 3 4 extern int __sigpause (int __sig_or_mask, int __is_sig); extern int sigpause (int __mask) ; # 177 "/usr/include/signal.h" 3 4 extern int sigblock (int __mask) ; extern int sigsetmask (int __mask) ; extern int siggetmask (void) ; # 192 "/usr/include/signal.h" 3 4 typedef __sighandler_t sighandler_t; typedef __sighandler_t sig_t; # 208 "/usr/include/signal.h" 3 4 # 1 "/usr/include/bits/siginfo.h" 1 3 4 # 25 "/usr/include/bits/siginfo.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 26 "/usr/include/bits/siginfo.h" 2 3 4 typedef union sigval { int sival_int; void *sival_ptr; } sigval_t; # 51 "/usr/include/bits/siginfo.h" 3 4 typedef struct siginfo { int si_signo; int si_errno; int si_code; union { int _pad[((128 / sizeof (int)) - 3)]; struct { __pid_t si_pid; __uid_t si_uid; } _kill; struct { int si_tid; int si_overrun; sigval_t si_sigval; } _timer; struct { __pid_t si_pid; __uid_t si_uid; sigval_t si_sigval; } _rt; struct { __pid_t si_pid; __uid_t si_uid; int si_status; __clock_t si_utime; __clock_t si_stime; } _sigchld; struct { void *si_addr; } _sigfault; struct { long int si_band; int si_fd; } _sigpoll; } _sifields; } siginfo_t; # 129 "/usr/include/bits/siginfo.h" 3 4 enum { SI_ASYNCNL = -60, SI_TKILL = -6, SI_SIGIO, SI_ASYNCIO, SI_MESGQ, SI_TIMER, SI_QUEUE, SI_USER, SI_KERNEL = 0x80 }; enum { ILL_ILLOPC = 1, ILL_ILLOPN, ILL_ILLADR, ILL_ILLTRP, ILL_PRVOPC, ILL_PRVREG, ILL_COPROC, ILL_BADSTK }; enum { FPE_INTDIV = 1, FPE_INTOVF, FPE_FLTDIV, FPE_FLTOVF, FPE_FLTUND, FPE_FLTRES, FPE_FLTINV, FPE_FLTSUB }; enum { SEGV_MAPERR = 1, SEGV_ACCERR }; enum { BUS_ADRALN = 1, BUS_ADRERR, BUS_OBJERR }; enum { TRAP_BRKPT = 1, TRAP_TRACE }; enum { CLD_EXITED = 1, CLD_KILLED, CLD_DUMPED, CLD_TRAPPED, CLD_STOPPED, CLD_CONTINUED }; enum { POLL_IN = 1, POLL_OUT, POLL_MSG, POLL_ERR, POLL_PRI, POLL_HUP }; # 273 "/usr/include/bits/siginfo.h" 3 4 typedef struct sigevent { sigval_t sigev_value; int sigev_signo; int sigev_notify; union { int _pad[((64 / sizeof (int)) - 3)]; __pid_t _tid; struct { void (*_function) (sigval_t); void *_attribute; } _sigev_thread; } _sigev_un; } sigevent_t; enum { SIGEV_SIGNAL = 0, SIGEV_NONE, SIGEV_THREAD, SIGEV_THREAD_ID = 4 }; # 209 "/usr/include/signal.h" 2 3 4 extern int sigemptyset (sigset_t *__set) ; extern int sigfillset (sigset_t *__set) ; extern int sigaddset (sigset_t *__set, int __signo) ; extern int sigdelset (sigset_t *__set, int __signo) ; extern int sigismember (__const sigset_t *__set, int __signo) ; extern int sigisemptyset (__const sigset_t *__set) ; extern int sigandset (sigset_t *__set, __const sigset_t *__left, __const sigset_t *__right) ; extern int sigorset (sigset_t *__set, __const sigset_t *__left, __const sigset_t *__right) ; # 1 "/usr/include/bits/sigaction.h" 1 3 4 # 25 "/usr/include/bits/sigaction.h" 3 4 struct sigaction { union { __sighandler_t sa_handler; void (*sa_sigaction) (int, siginfo_t *, void *); } __sigaction_handler; __sigset_t sa_mask; int sa_flags; void (*sa_restorer) (void); }; # 242 "/usr/include/signal.h" 2 3 4 extern int sigprocmask (int __how, __const sigset_t *__restrict __set, sigset_t *__restrict __oset) ; extern int sigsuspend (__const sigset_t *__set); extern int sigaction (int __sig, __const struct sigaction *__restrict __act, struct sigaction *__restrict __oact) ; extern int sigpending (sigset_t *__set) ; extern int sigwait (__const sigset_t *__restrict __set, int *__restrict __sig); extern int sigwaitinfo (__const sigset_t *__restrict __set, siginfo_t *__restrict __info); extern int sigtimedwait (__const sigset_t *__restrict __set, siginfo_t *__restrict __info, __const struct timespec *__restrict __timeout); extern int sigqueue (__pid_t __pid, int __sig, __const union sigval __val) ; # 297 "/usr/include/signal.h" 3 4 extern __const char *__const _sys_siglist[65]; extern __const char *__const sys_siglist[65]; struct sigvec { __sighandler_t sv_handler; int sv_mask; int sv_flags; }; # 321 "/usr/include/signal.h" 3 4 extern int sigvec (int __sig, __const struct sigvec *__vec, struct sigvec *__ovec) ; # 1 "/usr/include/bits/sigcontext.h" 1 3 4 # 28 "/usr/include/bits/sigcontext.h" 3 4 # 1 "/usr/include/asm/sigcontext.h" 1 3 4 # 18 "/usr/include/asm/sigcontext.h" 3 4 struct _fpreg { unsigned short significand[4]; unsigned short exponent; }; struct _fpxreg { unsigned short significand[4]; unsigned short exponent; unsigned short padding[3]; }; struct _xmmreg { unsigned long element[4]; }; struct _fpstate { unsigned long cw; unsigned long sw; unsigned long tag; unsigned long ipoff; unsigned long cssel; unsigned long dataoff; unsigned long datasel; struct _fpreg _st[8]; unsigned short status; unsigned short magic; unsigned long _fxsr_env[6]; unsigned long mxcsr; unsigned long reserved; struct _fpxreg _fxsr_st[8]; struct _xmmreg _xmm[8]; unsigned long padding[56]; }; struct sigcontext { unsigned short gs, __gsh; unsigned short fs, __fsh; unsigned short es, __esh; unsigned short ds, __dsh; unsigned long edi; unsigned long esi; unsigned long ebp; unsigned long esp; unsigned long ebx; unsigned long edx; unsigned long ecx; unsigned long eax; unsigned long trapno; unsigned long err; unsigned long eip; unsigned short cs, __csh; unsigned long eflags; unsigned long esp_at_signal; unsigned short ss, __ssh; struct _fpstate * fpstate; unsigned long oldmask; unsigned long cr2; }; # 29 "/usr/include/bits/sigcontext.h" 2 3 4 # 327 "/usr/include/signal.h" 2 3 4 extern int sigreturn (struct sigcontext *__scp) ; # 339 "/usr/include/signal.h" 3 4 extern int siginterrupt (int __sig, int __interrupt) ; # 1 "/usr/include/bits/sigstack.h" 1 3 4 # 26 "/usr/include/bits/sigstack.h" 3 4 struct sigstack { void *ss_sp; int ss_onstack; }; enum { SS_ONSTACK = 1, SS_DISABLE }; # 50 "/usr/include/bits/sigstack.h" 3 4 typedef struct sigaltstack { void *ss_sp; int ss_flags; size_t ss_size; } stack_t; # 342 "/usr/include/signal.h" 2 3 4 # 1 "/usr/include/sys/ucontext.h" 1 3 4 # 23 "/usr/include/sys/ucontext.h" 3 4 # 1 "/usr/include/signal.h" 1 3 4 # 24 "/usr/include/sys/ucontext.h" 2 3 4 # 1 "/usr/include/bits/sigcontext.h" 1 3 4 # 28 "/usr/include/sys/ucontext.h" 2 3 4 typedef int greg_t; typedef greg_t gregset_t[19]; enum { REG_GS = 0, REG_FS, REG_ES, REG_DS, REG_EDI, REG_ESI, REG_EBP, REG_ESP, REG_EBX, REG_EDX, REG_ECX, REG_EAX, REG_TRAPNO, REG_ERR, REG_EIP, REG_CS, REG_EFL, REG_UESP, REG_SS }; struct _libc_fpreg { unsigned short int significand[4]; unsigned short int exponent; }; struct _libc_fpstate { unsigned long int cw; unsigned long int sw; unsigned long int tag; unsigned long int ipoff; unsigned long int cssel; unsigned long int dataoff; unsigned long int datasel; struct _libc_fpreg _st[8]; unsigned long int status; }; typedef struct _libc_fpstate *fpregset_t; typedef struct { gregset_t gregs; fpregset_t fpregs; unsigned long int oldmask; unsigned long int cr2; } mcontext_t; typedef struct ucontext { unsigned long int uc_flags; struct ucontext *uc_link; stack_t uc_stack; mcontext_t uc_mcontext; __sigset_t uc_sigmask; struct _libc_fpstate __fpregs_mem; } ucontext_t; # 345 "/usr/include/signal.h" 2 3 4 extern int sigstack (struct sigstack *__ss, struct sigstack *__oss) ; extern int sigaltstack (__const struct sigaltstack *__restrict __ss, struct sigaltstack *__restrict __oss) ; extern int sighold (int __sig) ; extern int sigrelse (int __sig) ; extern int sigignore (int __sig) ; extern __sighandler_t sigset (int __sig, __sighandler_t __disp) ; # 1 "/usr/include/bits/sigthread.h" 1 3 4 # 31 "/usr/include/bits/sigthread.h" 3 4 extern int pthread_sigmask (int __how, __const __sigset_t *__restrict __newmask, __sigset_t *__restrict __oldmask); extern int pthread_kill (pthread_t __threadid, int __signo) ; # 380 "/usr/include/signal.h" 2 3 4 extern int __libc_current_sigrtmin (void) ; extern int __libc_current_sigrtmax (void) ; # 130 "Include/pyfpe.h" 2 # 1 "/usr/include/setjmp.h" 1 3 4 # 28 "/usr/include/setjmp.h" 3 4 # 1 "/usr/include/bits/setjmp.h" 1 3 4 # 38 "/usr/include/bits/setjmp.h" 3 4 typedef int __jmp_buf[6]; # 31 "/usr/include/setjmp.h" 2 3 4 # 1 "/usr/include/bits/sigset.h" 1 3 4 # 32 "/usr/include/setjmp.h" 2 3 4 typedef struct __jmp_buf_tag { __jmp_buf __jmpbuf; int __mask_was_saved; __sigset_t __saved_mask; } jmp_buf[1]; extern int setjmp (jmp_buf __env) ; extern int __sigsetjmp (struct __jmp_buf_tag __env[1], int __savemask) ; extern int _setjmp (struct __jmp_buf_tag __env[1]) ; # 76 "/usr/include/setjmp.h" 3 4 extern void longjmp (struct __jmp_buf_tag __env[1], int __val) __attribute__ ((__noreturn__)); extern void _longjmp (struct __jmp_buf_tag __env[1], int __val) __attribute__ ((__noreturn__)); typedef struct __jmp_buf_tag sigjmp_buf[1]; # 108 "/usr/include/setjmp.h" 3 4 extern void siglongjmp (sigjmp_buf __env, int __val) __attribute__ ((__noreturn__)); # 131 "Include/pyfpe.h" 2 extern jmp_buf PyFPE_jbuf; extern int PyFPE_counter; extern double PyFPE_dummy(void *); # 136 "Include/Python.h" 2 # 7 "Objects/longobject.c" 2 # 1 "Include/longintrepr.h" 1 # 20 "Include/longintrepr.h" typedef unsigned short digit; typedef unsigned int wdigit; typedef unsigned long twodigits; typedef long stwodigits; # 45 "Include/longintrepr.h" struct _longobject { int ob_refcnt; struct _typeobject *ob_type; int ob_size; digit ob_digit[1]; }; PyLongObject * _PyLong_New(int); PyObject * _PyLong_Copy(PyLongObject *src); # 8 "Objects/longobject.c" 2 # 25 "Objects/longobject.c" static PyLongObject *long_normalize(PyLongObject *); static PyLongObject *mul1(PyLongObject *, wdigit); static PyLongObject *muladd1(PyLongObject *, wdigit, wdigit); static PyLongObject *divrem1(PyLongObject *, digit, digit *); static PyObject *long_format(PyObject *aa, int base, int addL); # 41 "Objects/longobject.c" static PyLongObject * long_normalize(register PyLongObject *v) { int j = ((v->ob_size) < 0 ? -(v->ob_size) : (v->ob_size)); register int i = j; while (i > 0 && v->ob_digit[i-1] == 0) --i; if (i != j) v->ob_size = (v->ob_size < 0) ? -(i) : i; return v; } PyLongObject * _PyLong_New(int size) { return ( (PyLongObject *) PyObject_InitVar( (PyVarObject *) PyObject_Malloc((size_t) ( ( ((&PyLong_Type))->tp_basicsize + ((size))*((&PyLong_Type))->tp_itemsize + (4 - 1) ) & ~(4 - 1) ) ), (&PyLong_Type), (size)) ); } PyObject * _PyLong_Copy(PyLongObject *src) { PyLongObject *result; int i; ((void) (0)); i = src->ob_size; if (i < 0) i = -(i); result = _PyLong_New(i); if (result != ((void *)0)) { result->ob_size = src->ob_size; while (--i >= 0) result->ob_digit[i] = src->ob_digit[i]; } return (PyObject *)result; } PyObject * PyLong_FromLong(long ival) { PyLongObject *v; unsigned long t; int ndigits = 0; int negative = 0; if (ival < 0) { ival = -ival; negative = 1; } t = (unsigned long)ival; while (t) { ++ndigits; t >>= 15; } v = _PyLong_New(ndigits); if (v != ((void *)0)) { digit *p = v->ob_digit; v->ob_size = negative ? -ndigits : ndigits; t = (unsigned long)ival; while (t) { *p++ = (digit)(t & ((int)(((digit)1 << 15) - 1))); t >>= 15; } } return (PyObject *)v; } PyObject * PyLong_FromUnsignedLong(unsigned long ival) { PyLongObject *v; unsigned long t; int ndigits = 0; t = (unsigned long)ival; while (t) { ++ndigits; t >>= 15; } v = _PyLong_New(ndigits); if (v != ((void *)0)) { digit *p = v->ob_digit; v->ob_size = ndigits; while (ival) { *p++ = (digit)(ival & ((int)(((digit)1 << 15) - 1))); ival >>= 15; } } return (PyObject *)v; } PyObject * PyLong_FromDouble(double dval) { PyLongObject *v; double frac; int i, ndig, expo, neg; neg = 0; if (((dval) && (dval)*0.5 == (dval))) { PyErr_SetString(PyExc_OverflowError, "cannot convert float infinity to long"); return ((void *)0); } if (dval < 0.0) { neg = 1; dval = -dval; } frac = frexp(dval, &expo); if (expo <= 0) return PyLong_FromLong(0L); ndig = (expo-1) / 15 + 1; v = _PyLong_New(ndig); if (v == ((void *)0)) return ((void *)0); frac = ldexp(frac, (expo-1) % 15 + 1); for (i = ndig; --i >= 0; ) { long bits = (long)frac; v->ob_digit[i] = (digit) bits; frac = frac - (double)bits; frac = ldexp(frac, 15); } if (neg) v->ob_size = -(v->ob_size); return (PyObject *)v; } long PyLong_AsLong(PyObject *vv) { register PyLongObject *v; unsigned long x, prev; int i, sign; if (vv == ((void *)0) || !((vv)->ob_type == (&PyLong_Type) || PyType_IsSubtype((vv)->ob_type, (&PyLong_Type)))) { if (vv != ((void *)0) && ((vv)->ob_type == (&PyInt_Type) || PyType_IsSubtype((vv)->ob_type, (&PyInt_Type)))) return PyInt_AsLong(vv); _PyErr_BadInternalCall("Objects/longobject.c", 197); return -1; } v = (PyLongObject *)vv; i = v->ob_size; sign = 1; x = 0; if (i < 0) { sign = -1; i = -(i); } while (--i >= 0) { prev = x; x = (x << 15) + v->ob_digit[i]; if ((x >> 15) != prev) goto overflow; } if ((long)x < 0 && (sign > 0 || (x << 1) != 0)) goto overflow; return (long)x * sign; overflow: PyErr_SetString(PyExc_OverflowError, "long int too large to convert to int"); return -1; } unsigned long PyLong_AsUnsignedLong(PyObject *vv) { register PyLongObject *v; unsigned long x, prev; int i; if (vv == ((void *)0) || !((vv)->ob_type == (&PyLong_Type) || PyType_IsSubtype((vv)->ob_type, (&PyLong_Type)))) { _PyErr_BadInternalCall("Objects/longobject.c", 240); return (unsigned long) -1; } v = (PyLongObject *)vv; i = v->ob_size; x = 0; if (i < 0) { PyErr_SetString(PyExc_OverflowError, "can't convert negative value to unsigned long"); return (unsigned long) -1; } while (--i >= 0) { prev = x; x = (x << 15) + v->ob_digit[i]; if ((x >> 15) != prev) { PyErr_SetString(PyExc_OverflowError, "long int too large to convert"); return (unsigned long) -1; } } return x; } unsigned long PyLong_AsUnsignedLongMask(PyObject *vv) { register PyLongObject *v; unsigned long x; int i, sign; if (vv == ((void *)0) || !((vv)->ob_type == (&PyLong_Type) || PyType_IsSubtype((vv)->ob_type, (&PyLong_Type)))) { _PyErr_BadInternalCall("Objects/longobject.c", 274); return (unsigned long) -1; } v = (PyLongObject *)vv; i = v->ob_size; sign = 1; x = 0; if (i < 0) { sign = -1; i = -i; } while (--i >= 0) { x = (x << 15) + v->ob_digit[i]; } return x * sign; } int _PyLong_Sign(PyObject *vv) { PyLongObject *v = (PyLongObject *)vv; ((void) (0)); ((void) (0)); return v->ob_size == 0 ? 0 : (v->ob_size < 0 ? -1 : 1); } size_t _PyLong_NumBits(PyObject *vv) { PyLongObject *v = (PyLongObject *)vv; size_t result = 0; int ndigits; ((void) (0)); ((void) (0)); ndigits = ((v->ob_size) < 0 ? -(v->ob_size) : (v->ob_size)); ((void) (0)); if (ndigits > 0) { digit msd = v->ob_digit[ndigits - 1]; result = (ndigits - 1) * 15; if (result / 15 != (size_t)ndigits - 1) goto Overflow; do { ++result; if (result == 0) goto Overflow; msd >>= 1; } while (msd); } return result; Overflow: PyErr_SetString(PyExc_OverflowError, "long has too many bits " "to express in a platform size_t"); return (size_t)-1; } PyObject * _PyLong_FromByteArray(const unsigned char* bytes, size_t n, int little_endian, int is_signed) { const unsigned char* pstartbyte; int incr; const unsigned char* pendbyte; size_t numsignificantbytes; size_t ndigits; PyLongObject* v; int idigit = 0; if (n == 0) return PyLong_FromLong(0L); if (little_endian) { pstartbyte = bytes; pendbyte = bytes + n - 1; incr = 1; } else { pstartbyte = bytes + n - 1; pendbyte = bytes; incr = -1; } if (is_signed) is_signed = *pendbyte >= 0x80; { size_t i; const unsigned char* p = pendbyte; const int pincr = -incr; const unsigned char insignficant = is_signed ? 0xff : 0x00; for (i = 0; i < n; ++i, p += pincr) { if (*p != insignficant) break; } numsignificantbytes = n - i; if (is_signed && numsignificantbytes < n) ++numsignificantbytes; } ndigits = (numsignificantbytes * 8 + 15 - 1) / 15; if (ndigits > (size_t)2147483647) return PyErr_NoMemory(); v = _PyLong_New((int)ndigits); if (v == ((void *)0)) return ((void *)0); { size_t i; twodigits carry = 1; twodigits accum = 0; unsigned int accumbits = 0; const unsigned char* p = pstartbyte; for (i = 0; i < numsignificantbytes; ++i, p += incr) { twodigits thisbyte = *p; if (is_signed) { thisbyte = (0xff ^ thisbyte) + carry; carry = thisbyte >> 8; thisbyte &= 0xff; } accum |= thisbyte << accumbits; accumbits += 8; if (accumbits >= 15) { ((void) (0)); v->ob_digit[idigit] = (digit)(accum & ((int)(((digit)1 << 15) - 1))); ++idigit; accum >>= 15; accumbits -= 15; ((void) (0)); } } ((void) (0)); if (accumbits) { ((void) (0)); v->ob_digit[idigit] = (digit)accum; ++idigit; } } v->ob_size = is_signed ? -idigit : idigit; return (PyObject *)long_normalize(v); } int _PyLong_AsByteArray(PyLongObject* v, unsigned char* bytes, size_t n, int little_endian, int is_signed) { int i; int ndigits; twodigits accum; unsigned int accumbits; int do_twos_comp; twodigits carry; size_t j; unsigned char* p; int pincr; ((void) (0)); if (v->ob_size < 0) { ndigits = -(v->ob_size); if (!is_signed) { PyErr_SetString(PyExc_TypeError, "can't convert negative long to unsigned"); return -1; } do_twos_comp = 1; } else { ndigits = v->ob_size; do_twos_comp = 0; } if (little_endian) { p = bytes; pincr = 1; } else { p = bytes + n - 1; pincr = -1; } ((void) (0)); j = 0; accum = 0; accumbits = 0; carry = do_twos_comp ? 1 : 0; for (i = 0; i < ndigits; ++i) { twodigits thisdigit = v->ob_digit[i]; if (do_twos_comp) { thisdigit = (thisdigit ^ ((int)(((digit)1 << 15) - 1))) + carry; carry = thisdigit >> 15; thisdigit &= ((int)(((digit)1 << 15) - 1)); } accum |= thisdigit << accumbits; accumbits += 15; if (i == ndigits - 1) { stwodigits s = (stwodigits)(thisdigit << (8*sizeof(stwodigits) - 15)); unsigned int nsignbits = 0; while ((s < 0) == do_twos_comp && nsignbits < 15) { ++nsignbits; s <<= 1; } accumbits -= nsignbits; } while (accumbits >= 8) { if (j >= n) goto Overflow; ++j; *p = (unsigned char)(accum & 0xff); p += pincr; accumbits -= 8; accum >>= 8; } } ((void) (0)); ((void) (0)); if (accumbits > 0) { if (j >= n) goto Overflow; ++j; if (do_twos_comp) { accum |= (~(twodigits)0) << accumbits; } *p = (unsigned char)(accum & 0xff); p += pincr; } else if (j == n && n > 0 && is_signed) { unsigned char msb = *(p - pincr); int sign_bit_set = msb >= 0x80; ((void) (0)); if (sign_bit_set == do_twos_comp) return 0; else goto Overflow; } { unsigned char signbyte = do_twos_comp ? 0xffU : 0U; for ( ; j < n; ++j, p += pincr) *p = signbyte; } return 0; Overflow: PyErr_SetString(PyExc_OverflowError, "long too big to convert"); return -1; } double _PyLong_AsScaledDouble(PyObject *vv, int *exponent) { # 592 "Objects/longobject.c" PyLongObject *v; double x; const double multiplier = (double)(1L << 15); int i, sign; int nbitsneeded; if (vv == ((void *)0) || !((vv)->ob_type == (&PyLong_Type) || PyType_IsSubtype((vv)->ob_type, (&PyLong_Type)))) { _PyErr_BadInternalCall("Objects/longobject.c", 599); return -1; } v = (PyLongObject *)vv; i = v->ob_size; sign = 1; if (i < 0) { sign = -1; i = -(i); } else if (i == 0) { *exponent = 0; return 0.0; } --i; x = (double)v->ob_digit[i]; nbitsneeded = 57 - 1; while (i > 0 && nbitsneeded > 0) { --i; x = x * multiplier + (double)v->ob_digit[i]; nbitsneeded -= 15; } *exponent = i; ((void) (0)); return x * sign; } double PyLong_AsDouble(PyObject *vv) { int e; double x; if (vv == ((void *)0) || !((vv)->ob_type == (&PyLong_Type) || PyType_IsSubtype((vv)->ob_type, (&PyLong_Type)))) { _PyErr_BadInternalCall("Objects/longobject.c", 639); return -1; } x = _PyLong_AsScaledDouble(vv, &e); if (x == -1.0 && PyErr_Occurred()) return -1.0; if (e > 2147483647 / 15) goto overflow; (*__errno_location ()) = 0; x = ldexp(x, e * 15); if (((x) != 0.0 && ((*__errno_location ()) == 34 || (x) == (__extension__ 0x1.0p2047) || (x) == -(__extension__ 0x1.0p2047)))) goto overflow; return x; overflow: PyErr_SetString(PyExc_OverflowError, "long int too large to convert to float"); return -1.0; } PyObject * PyLong_FromVoidPtr(void *p) { return PyInt_FromLong((long)p); # 680 "Objects/longobject.c" } void * PyLong_AsVoidPtr(PyObject *vv) { long x; if (((vv)->ob_type == (&PyInt_Type) || PyType_IsSubtype((vv)->ob_type, (&PyInt_Type)))) x = (((PyIntObject *)(vv))->ob_ival); else x = PyLong_AsLong(vv); # 715 "Objects/longobject.c" if (x == -1 && PyErr_Occurred()) return ((void *)0); return (void *)x; } # 730 "Objects/longobject.c" PyObject * PyLong_FromLongLong(long long ival) { long long bytes = ival; int one = 1; return _PyLong_FromByteArray( (unsigned char *)&bytes, 8, (int)*(unsigned char*)&one, 1); } PyObject * PyLong_FromUnsignedLongLong(unsigned long long ival) { unsigned long long bytes = ival; int one = 1; return _PyLong_FromByteArray( (unsigned char *)&bytes, 8, (int)*(unsigned char*)&one, 0); } long long PyLong_AsLongLong(PyObject *vv) { long long bytes; int one = 1; int res; if (vv == ((void *)0)) { _PyErr_BadInternalCall("Objects/longobject.c", 763); return -1; } if (!((vv)->ob_type == (&PyLong_Type) || PyType_IsSubtype((vv)->ob_type, (&PyLong_Type)))) { if (((vv)->ob_type == (&PyInt_Type) || PyType_IsSubtype((vv)->ob_type, (&PyInt_Type)))) return (long long)PyInt_AsLong(vv); _PyErr_BadInternalCall("Objects/longobject.c", 769); return -1; } res = _PyLong_AsByteArray( (PyLongObject *)vv, (unsigned char *)&bytes, 8, (int)*(unsigned char*)&one, 1); if (res < 0) return (long long)-1; else return bytes; } unsigned long long PyLong_AsUnsignedLongLong(PyObject *vv) { unsigned long long bytes; int one = 1; int res; if (vv == ((void *)0) || !((vv)->ob_type == (&PyLong_Type) || PyType_IsSubtype((vv)->ob_type, (&PyLong_Type)))) { _PyErr_BadInternalCall("Objects/longobject.c", 795); return -1; } res = _PyLong_AsByteArray( (PyLongObject *)vv, (unsigned char *)&bytes, 8, (int)*(unsigned char*)&one, 0); if (res < 0) return (unsigned long long)res; else return bytes; } unsigned long long PyLong_AsUnsignedLongLongMask(PyObject *vv) { register PyLongObject *v; unsigned long long x; int i, sign; if (vv == ((void *)0) || !((vv)->ob_type == (&PyLong_Type) || PyType_IsSubtype((vv)->ob_type, (&PyLong_Type)))) { _PyErr_BadInternalCall("Objects/longobject.c", 821); return (unsigned long) -1; } v = (PyLongObject *)vv; i = v->ob_size; sign = 1; x = 0; if (i < 0) { sign = -1; i = -i; } while (--i >= 0) { x = (x << 15) + v->ob_digit[i]; } return x * sign; } static int convert_binop(PyObject *v, PyObject *w, PyLongObject **a, PyLongObject **b) { if (((v)->ob_type == (&PyLong_Type) || PyType_IsSubtype((v)->ob_type, (&PyLong_Type)))) { *a = (PyLongObject *) v; ( (v)->ob_refcnt++); } else if (((v)->ob_type == (&PyInt_Type) || PyType_IsSubtype((v)->ob_type, (&PyInt_Type)))) { *a = (PyLongObject *) PyLong_FromLong((((PyIntObject *)(v))->ob_ival)); } else { return 0; } if (((w)->ob_type == (&PyLong_Type) || PyType_IsSubtype((w)->ob_type, (&PyLong_Type)))) { *b = (PyLongObject *) w; ( (w)->ob_refcnt++); } else if (((w)->ob_type == (&PyInt_Type) || PyType_IsSubtype((w)->ob_type, (&PyInt_Type)))) { *b = (PyLongObject *) PyLong_FromLong((((PyIntObject *)(w))->ob_ival)); } else { if ( --(*a)->ob_refcnt != 0) ; else ( (*((PyObject *)(*a))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(*a)))); return 0; } return 1; } # 878 "Objects/longobject.c" static digit v_iadd(digit *x, int m, digit *y, int n) { int i; digit carry = 0; ((void) (0)); for (i = 0; i < n; ++i) { carry += x[i] + y[i]; x[i] = carry & ((int)(((digit)1 << 15) - 1)); carry >>= 15; ((void) (0)); } for (; carry && i < m; ++i) { carry += x[i]; x[i] = carry & ((int)(((digit)1 << 15) - 1)); carry >>= 15; ((void) (0)); } return carry; } static digit v_isub(digit *x, int m, digit *y, int n) { int i; digit borrow = 0; ((void) (0)); for (i = 0; i < n; ++i) { borrow = x[i] - y[i] - borrow; x[i] = borrow & ((int)(((digit)1 << 15) - 1)); borrow >>= 15; borrow &= 1; } for (; borrow && i < m; ++i) { borrow = x[i] - borrow; x[i] = borrow & ((int)(((digit)1 << 15) - 1)); borrow >>= 15; borrow &= 1; } return borrow; } static PyLongObject * mul1(PyLongObject *a, wdigit n) { return muladd1(a, n, (digit)0); } static PyLongObject * muladd1(PyLongObject *a, wdigit n, wdigit extra) { int size_a = ((a->ob_size) < 0 ? -(a->ob_size) : (a->ob_size)); PyLongObject *z = _PyLong_New(size_a+1); twodigits carry = extra; int i; if (z == ((void *)0)) return ((void *)0); for (i = 0; i < size_a; ++i) { carry += (twodigits)a->ob_digit[i] * n; z->ob_digit[i] = (digit) (carry & ((int)(((digit)1 << 15) - 1))); carry >>= 15; } z->ob_digit[i] = (digit) carry; return long_normalize(z); } static digit inplace_divrem1(digit *pout, digit *pin, int size, digit n) { twodigits rem = 0; ((void) (0)); pin += size; pout += size; while (--size >= 0) { digit hi; rem = (rem << 15) + *--pin; *--pout = hi = (digit)(rem / n); rem -= hi * n; } return (digit)rem; } static PyLongObject * divrem1(PyLongObject *a, digit n, digit *prem) { const int size = ((a->ob_size) < 0 ? -(a->ob_size) : (a->ob_size)); PyLongObject *z; ((void) (0)); z = _PyLong_New(size); if (z == ((void *)0)) return ((void *)0); *prem = inplace_divrem1(z->ob_digit, a->ob_digit, size, n); return long_normalize(z); } static PyObject * long_format(PyObject *aa, int base, int addL) { register PyLongObject *a = (PyLongObject *)aa; PyStringObject *str; int i; const int size_a = ((a->ob_size) < 0 ? -(a->ob_size) : (a->ob_size)); char *p; int bits; char sign = '\0'; if (a == ((void *)0) || !((a)->ob_type == (&PyLong_Type) || PyType_IsSubtype((a)->ob_type, (&PyLong_Type)))) { _PyErr_BadInternalCall("Objects/longobject.c", 1012); return ((void *)0); } ((void) (0)); i = base; bits = 0; while (i > 1) { ++bits; i >>= 1; } i = 5 + (addL ? 1 : 0) + (size_a*15 + bits-1) / bits; str = (PyStringObject *) PyString_FromStringAndSize((char *)0, i); if (str == ((void *)0)) return ((void *)0); p = (((PyStringObject *)(str))->ob_sval) + i; *p = '\0'; if (addL) *--p = 'L'; if (a->ob_size < 0) sign = '-'; if (a->ob_size == 0) { *--p = '0'; } else if ((base & (base - 1)) == 0) { twodigits accum = 0; int accumbits = 0; int basebits = 1; i = base; while ((i >>= 1) > 1) ++basebits; for (i = 0; i < size_a; ++i) { accum |= (twodigits)a->ob_digit[i] << accumbits; accumbits += 15; ((void) (0)); do { char cdigit = (char)(accum & (base - 1)); cdigit += (cdigit < 10) ? '0' : 'A'-10; ((void) (0)); *--p = cdigit; accumbits -= basebits; accum >>= basebits; } while (i < size_a-1 ? accumbits >= basebits : accum > 0); } } else { int size = size_a; digit *pin = a->ob_digit; PyLongObject *scratch; digit powbase = base; int power = 1; for (;;) { unsigned long newpow = powbase * (unsigned long)base; if (newpow >> 15) break; powbase = (digit)newpow; ++power; } scratch = _PyLong_New(size); if (scratch == ((void *)0)) { if ( --(str)->ob_refcnt != 0) ; else ( (*((PyObject *)(str))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(str)))); return ((void *)0); } do { int ntostore = power; digit rem = inplace_divrem1(scratch->ob_digit, pin, size, powbase); pin = scratch->ob_digit; if (pin[size - 1] == 0) --size; if (--_Py_Ticker < 0) { _Py_Ticker = _Py_CheckInterval; if (PyErr_CheckSignals()) { { if ( --(scratch)->ob_refcnt != 0) ; else ( (*((PyObject *)(scratch))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(scratch)))); if ( --(str)->ob_refcnt != 0) ; else ( (*((PyObject *)(str))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(str)))); return ((void *)0); }; } } ((void) (0)); do { digit nextrem = (digit)(rem / base); char c = (char)(rem - nextrem * base); ((void) (0)); c += (c < 10) ? '0' : 'A'-10; *--p = c; rem = nextrem; --ntostore; } while (ntostore && (size || rem)); } while (size != 0); if ( --(scratch)->ob_refcnt != 0) ; else ( (*((PyObject *)(scratch))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(scratch)))); } if (base == 8) { if (size_a != 0) *--p = '0'; } else if (base == 16) { *--p = 'x'; *--p = '0'; } else if (base != 10) { *--p = '#'; *--p = '0' + base%10; if (base > 10) *--p = '0' + base/10; } if (sign) *--p = sign; if (p != (((PyStringObject *)(str))->ob_sval)) { char *q = (((PyStringObject *)(str))->ob_sval); ((void) (0)); do { } while ((*q++ = *p++) != '\0'); q--; _PyString_Resize((PyObject **)&str, (int) (q - (((PyStringObject *)(str))->ob_sval))); } return (PyObject *)str; } static PyLongObject * long_from_binary_base(char **str, int base) { char *p = *str; char *start = p; int bits_per_char; int n; PyLongObject *z; twodigits accum; int bits_in_accum; digit *pdigit; ((void) (0)); n = base; for (bits_per_char = -1; n; ++bits_per_char) n >>= 1; n = 0; for (;;) { int k = -1; char ch = *p; if (ch <= '9') k = ch - '0'; else if (ch >= 'a') k = ch - 'a' + 10; else if (ch >= 'A') k = ch - 'A' + 10; if (k < 0 || k >= base) break; ++p; } *str = p; n = (p - start) * bits_per_char; if (n / bits_per_char != p - start) { PyErr_SetString(PyExc_ValueError, "long string too large to convert"); return ((void *)0); } n = (n + 15 - 1) / 15; z = _PyLong_New(n); if (z == ((void *)0)) return ((void *)0); accum = 0; bits_in_accum = 0; pdigit = z->ob_digit; while (--p >= start) { int k; char ch = *p; if (ch <= '9') k = ch - '0'; else if (ch >= 'a') k = ch - 'a' + 10; else { ((void) (0)); k = ch - 'A' + 10; } ((void) (0)); accum |= (twodigits)(k << bits_in_accum); bits_in_accum += bits_per_char; if (bits_in_accum >= 15) { *pdigit++ = (digit)(accum & ((int)(((digit)1 << 15) - 1))); ((void) (0)); accum >>= 15; bits_in_accum -= 15; ((void) (0)); } } if (bits_in_accum) { ((void) (0)); *pdigit++ = (digit)accum; ((void) (0)); } while (pdigit - z->ob_digit < n) *pdigit++ = 0; return long_normalize(z); } PyObject * PyLong_FromString(char *str, char **pend, int base) { int sign = 1; char *start, *orig_str = str; PyLongObject *z; if ((base != 0 && base < 2) || base > 36) { PyErr_SetString(PyExc_ValueError, "long() arg 2 must be >= 2 and <= 36"); return ((void *)0); } while (*str != '\0' && ((*__ctype_b_loc ())[(int) ((((*str) & 0xff)))] & (unsigned short int) _ISspace)) str++; if (*str == '+') ++str; else if (*str == '-') { ++str; sign = -1; } while (*str != '\0' && ((*__ctype_b_loc ())[(int) ((((*str) & 0xff)))] & (unsigned short int) _ISspace)) str++; if (base == 0) { if (str[0] != '0') base = 10; else if (str[1] == 'x' || str[1] == 'X') base = 16; else base = 8; } if (base == 16 && str[0] == '0' && (str[1] == 'x' || str[1] == 'X')) str += 2; start = str; if ((base & (base - 1)) == 0) z = long_from_binary_base(&str, base); else { z = _PyLong_New(0); for ( ; z != ((void *)0); ++str) { int k = -1; PyLongObject *temp; if (*str <= '9') k = *str - '0'; else if (*str >= 'a') k = *str - 'a' + 10; else if (*str >= 'A') k = *str - 'A' + 10; if (k < 0 || k >= base) break; temp = muladd1(z, (digit)base, (digit)k); if ( --(z)->ob_refcnt != 0) ; else ( (*((PyObject *)(z))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(z)))); z = temp; } } if (z == ((void *)0)) return ((void *)0); if (str == start) goto onError; if (sign < 0 && z != ((void *)0) && z->ob_size != 0) z->ob_size = -(z->ob_size); if (*str == 'L' || *str == 'l') str++; while (*str && ((*__ctype_b_loc ())[(int) ((((*str) & 0xff)))] & (unsigned short int) _ISspace)) str++; if (*str != '\0') goto onError; if (pend) *pend = str; return (PyObject *) z; onError: PyErr_Format(PyExc_ValueError, "invalid literal for long(): %.200s", orig_str); if ((z) == ((void *)0)) ; else if ( --(z)->ob_refcnt != 0) ; else ( (*((PyObject *)(z))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(z)))); return ((void *)0); } PyObject * PyLong_FromUnicode(Py_UNICODE *u, int length, int base) { PyObject *result; char *buffer = malloc((length+1) ? (length+1) : 1); if (buffer == ((void *)0)) return ((void *)0); if (PyUnicodeUCS4_EncodeDecimal(u, length, buffer, ((void *)0))) { PyObject_Free(buffer); return ((void *)0); } result = PyLong_FromString(buffer, ((void *)0), base); PyObject_Free(buffer); return result; } static PyLongObject *x_divrem (PyLongObject *, PyLongObject *, PyLongObject **); static PyObject *long_pos(PyLongObject *); static int long_divrem(PyLongObject *, PyLongObject *, PyLongObject **, PyLongObject **); static int long_divrem(PyLongObject *a, PyLongObject *b, PyLongObject **pdiv, PyLongObject **prem) { int size_a = ((a->ob_size) < 0 ? -(a->ob_size) : (a->ob_size)), size_b = ((b->ob_size) < 0 ? -(b->ob_size) : (b->ob_size)); PyLongObject *z; if (size_b == 0) { PyErr_SetString(PyExc_ZeroDivisionError, "long division or modulo by zero"); return -1; } if (size_a < size_b || (size_a == size_b && a->ob_digit[size_a-1] < b->ob_digit[size_b-1])) { *pdiv = _PyLong_New(0); ( (a)->ob_refcnt++); *prem = (PyLongObject *) a; return 0; } if (size_b == 1) { digit rem = 0; z = divrem1(a, b->ob_digit[0], &rem); if (z == ((void *)0)) return -1; *prem = (PyLongObject *) PyLong_FromLong((long)rem); } else { z = x_divrem(a, b, prem); if (z == ((void *)0)) return -1; } if ((a->ob_size < 0) != (b->ob_size < 0)) z->ob_size = -(z->ob_size); if (a->ob_size < 0 && (*prem)->ob_size != 0) (*prem)->ob_size = -((*prem)->ob_size); *pdiv = z; return 0; } static PyLongObject * x_divrem(PyLongObject *v1, PyLongObject *w1, PyLongObject **prem) { int size_v = ((v1->ob_size) < 0 ? -(v1->ob_size) : (v1->ob_size)), size_w = ((w1->ob_size) < 0 ? -(w1->ob_size) : (w1->ob_size)); digit d = (digit) ((twodigits)((digit)1 << 15) / (w1->ob_digit[size_w-1] + 1)); PyLongObject *v = mul1(v1, d); PyLongObject *w = mul1(w1, d); PyLongObject *a; int j, k; if (v == ((void *)0) || w == ((void *)0)) { if ((v) == ((void *)0)) ; else if ( --(v)->ob_refcnt != 0) ; else ( (*((PyObject *)(v))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(v)))); if ((w) == ((void *)0)) ; else if ( --(w)->ob_refcnt != 0) ; else ( (*((PyObject *)(w))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(w)))); return ((void *)0); } ((void) (0)); ((void) (0)); ((void) (0)); size_v = ((v->ob_size) < 0 ? -(v->ob_size) : (v->ob_size)); a = _PyLong_New(size_v - size_w + 1); for (j = size_v, k = a->ob_size-1; a != ((void *)0) && k >= 0; --j, --k) { digit vj = (j >= size_v) ? 0 : v->ob_digit[j]; twodigits q; stwodigits carry = 0; int i; if (--_Py_Ticker < 0) { _Py_Ticker = _Py_CheckInterval; if (PyErr_CheckSignals()) { { if ( --(a)->ob_refcnt != 0) ; else ( (*((PyObject *)(a))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(a)))); a = ((void *)0); break; }; } } if (vj == w->ob_digit[size_w-1]) q = ((int)(((digit)1 << 15) - 1)); else q = (((twodigits)vj << 15) + v->ob_digit[j-1]) / w->ob_digit[size_w-1]; while (w->ob_digit[size_w-2]*q > (( ((twodigits)vj << 15) + v->ob_digit[j-1] - q*w->ob_digit[size_w-1] ) << 15) + v->ob_digit[j-2]) --q; for (i = 0; i < size_w && i+k < size_v; ++i) { twodigits z = w->ob_digit[i] * q; digit zz = (digit) (z >> 15); carry += v->ob_digit[i+k] - z + ((twodigits)zz << 15); v->ob_digit[i+k] = (digit)(carry & ((int)(((digit)1 << 15) - 1))); carry = ((carry) >> (15)); carry -= zz; } if (i+k < size_v) { carry += v->ob_digit[i+k]; v->ob_digit[i+k] = 0; } if (carry == 0) a->ob_digit[k] = (digit) q; else { ((void) (0)); a->ob_digit[k] = (digit) q-1; carry = 0; for (i = 0; i < size_w && i+k < size_v; ++i) { carry += v->ob_digit[i+k] + w->ob_digit[i]; v->ob_digit[i+k] = (digit)(carry & ((int)(((digit)1 << 15) - 1))); carry = ((carry) >> (15)); } } } if (a == ((void *)0)) *prem = ((void *)0); else { a = long_normalize(a); *prem = divrem1(v, d, &d); if (*prem == ((void *)0)) { if ( --(a)->ob_refcnt != 0) ; else ( (*((PyObject *)(a))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(a)))); a = ((void *)0); } } if ( --(v)->ob_refcnt != 0) ; else ( (*((PyObject *)(v))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(v)))); if ( --(w)->ob_refcnt != 0) ; else ( (*((PyObject *)(w))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(w)))); return a; } static void long_dealloc(PyObject *v) { v->ob_type->tp_free(v); } static PyObject * long_repr(PyObject *v) { return long_format(v, 10, 1); } static PyObject * long_str(PyObject *v) { return long_format(v, 10, 0); } static int long_compare(PyLongObject *a, PyLongObject *b) { int sign; if (a->ob_size != b->ob_size) { if (((a->ob_size) < 0 ? -(a->ob_size) : (a->ob_size)) == 0 && ((b->ob_size) < 0 ? -(b->ob_size) : (b->ob_size)) == 0) sign = 0; else sign = a->ob_size - b->ob_size; } else { int i = ((a->ob_size) < 0 ? -(a->ob_size) : (a->ob_size)); while (--i >= 0 && a->ob_digit[i] == b->ob_digit[i]) ; if (i < 0) sign = 0; else { sign = (int)a->ob_digit[i] - (int)b->ob_digit[i]; if (a->ob_size < 0) sign = -sign; } } return sign < 0 ? -1 : sign > 0 ? 1 : 0; } static long long_hash(PyLongObject *v) { long x; int i, sign; i = v->ob_size; sign = 1; x = 0; if (i < 0) { sign = -1; i = -(i); } while (--i >= 0) { x = ((x << 15) & ~((int)(((digit)1 << 15) - 1))) | ((x >> (8*sizeof(long) - 15)) & ((int)(((digit)1 << 15) - 1))); x += v->ob_digit[i]; } x = x * sign; if (x == -1) x = -2; return x; } static PyLongObject * x_add(PyLongObject *a, PyLongObject *b) { int size_a = ((a->ob_size) < 0 ? -(a->ob_size) : (a->ob_size)), size_b = ((b->ob_size) < 0 ? -(b->ob_size) : (b->ob_size)); PyLongObject *z; int i; digit carry = 0; if (size_a < size_b) { { PyLongObject *temp = a; a = b; b = temp; } { int size_temp = size_a; size_a = size_b; size_b = size_temp; } } z = _PyLong_New(size_a+1); if (z == ((void *)0)) return ((void *)0); for (i = 0; i < size_b; ++i) { carry += a->ob_digit[i] + b->ob_digit[i]; z->ob_digit[i] = carry & ((int)(((digit)1 << 15) - 1)); carry >>= 15; } for (; i < size_a; ++i) { carry += a->ob_digit[i]; z->ob_digit[i] = carry & ((int)(((digit)1 << 15) - 1)); carry >>= 15; } z->ob_digit[i] = carry; return long_normalize(z); } static PyLongObject * x_sub(PyLongObject *a, PyLongObject *b) { int size_a = ((a->ob_size) < 0 ? -(a->ob_size) : (a->ob_size)), size_b = ((b->ob_size) < 0 ? -(b->ob_size) : (b->ob_size)); PyLongObject *z; int i; int sign = 1; digit borrow = 0; if (size_a < size_b) { sign = -1; { PyLongObject *temp = a; a = b; b = temp; } { int size_temp = size_a; size_a = size_b; size_b = size_temp; } } else if (size_a == size_b) { i = size_a; while (--i >= 0 && a->ob_digit[i] == b->ob_digit[i]) ; if (i < 0) return _PyLong_New(0); if (a->ob_digit[i] < b->ob_digit[i]) { sign = -1; { PyLongObject *temp = a; a = b; b = temp; } } size_a = size_b = i+1; } z = _PyLong_New(size_a); if (z == ((void *)0)) return ((void *)0); for (i = 0; i < size_b; ++i) { borrow = a->ob_digit[i] - b->ob_digit[i] - borrow; z->ob_digit[i] = borrow & ((int)(((digit)1 << 15) - 1)); borrow >>= 15; borrow &= 1; } for (; i < size_a; ++i) { borrow = a->ob_digit[i] - borrow; z->ob_digit[i] = borrow & ((int)(((digit)1 << 15) - 1)); borrow >>= 15; borrow &= 1; } ((void) (0)); if (sign < 0) z->ob_size = -(z->ob_size); return long_normalize(z); } static PyObject * long_add(PyLongObject *v, PyLongObject *w) { PyLongObject *a, *b, *z; if (!convert_binop((PyObject *)v, (PyObject *)w, &a, &b)) { ( ((&_Py_NotImplementedStruct))->ob_refcnt++); return (&_Py_NotImplementedStruct); }; if (a->ob_size < 0) { if (b->ob_size < 0) { z = x_add(a, b); if (z != ((void *)0) && z->ob_size != 0) z->ob_size = -(z->ob_size); } else z = x_sub(b, a); } else { if (b->ob_size < 0) z = x_sub(a, b); else z = x_add(a, b); } if ( --(a)->ob_refcnt != 0) ; else ( (*((PyObject *)(a))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(a)))); if ( --(b)->ob_refcnt != 0) ; else ( (*((PyObject *)(b))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(b)))); return (PyObject *)z; } static PyObject * long_sub(PyLongObject *v, PyLongObject *w) { PyLongObject *a, *b, *z; if (!convert_binop((PyObject *)v, (PyObject *)w, &a, &b)) { ( ((&_Py_NotImplementedStruct))->ob_refcnt++); return (&_Py_NotImplementedStruct); }; if (a->ob_size < 0) { if (b->ob_size < 0) z = x_sub(a, b); else z = x_add(a, b); if (z != ((void *)0) && z->ob_size != 0) z->ob_size = -(z->ob_size); } else { if (b->ob_size < 0) z = x_add(a, b); else z = x_sub(a, b); } if ( --(a)->ob_refcnt != 0) ; else ( (*((PyObject *)(a))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(a)))); if ( --(b)->ob_refcnt != 0) ; else ( (*((PyObject *)(b))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(b)))); return (PyObject *)z; } static PyLongObject * x_mul(PyLongObject *a, PyLongObject *b) { PyLongObject *z; int size_a = ((a->ob_size) < 0 ? -(a->ob_size) : (a->ob_size)); int size_b = ((b->ob_size) < 0 ? -(b->ob_size) : (b->ob_size)); int i; z = _PyLong_New(size_a + size_b); if (z == ((void *)0)) return ((void *)0); (__extension__ (__builtin_constant_p (z->ob_size * sizeof(digit)) && (z->ob_size * sizeof(digit)) <= 16 ? ((z->ob_size * sizeof(digit)) == 1 ? ({ void *__s = (z->ob_digit); *((__uint8_t *) __s) = (__uint8_t) 0; __s; }) : ({ void *__s = (z->ob_digit); union { unsigned int __ui; unsigned short int __usi; unsigned char __uc; } *__u = __s; __uint8_t __c = (__uint8_t) (0); switch ((unsigned int) (z->ob_size * sizeof(digit))) { case 15: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 11: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 7: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 3: __u->__usi = (unsigned short int) __c * 0x0101; __u = __extension__ ((void *) __u + 2); __u->__uc = (unsigned char) __c; break; case 14: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 10: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 6: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 2: __u->__usi = (unsigned short int) __c * 0x0101; break; case 13: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 9: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 5: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 1: __u->__uc = (unsigned char) __c; break; case 16: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 12: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 8: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 4: __u->__ui = __c * 0x01010101; case 0: break; } __s; })) : (__builtin_constant_p (0) && (0) == '\0' ? ({ void *__s = (z->ob_digit); __builtin_memset (__s, '\0', z->ob_size * sizeof(digit)); __s; }) : memset (z->ob_digit, 0, z->ob_size * sizeof(digit))))); for (i = 0; i < size_a; ++i) { twodigits carry = 0; twodigits f = a->ob_digit[i]; int j; digit *pz = z->ob_digit + i; if (--_Py_Ticker < 0) { _Py_Ticker = _Py_CheckInterval; if (PyErr_CheckSignals()) { { if ( --(z)->ob_refcnt != 0) ; else ( (*((PyObject *)(z))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(z)))); return ((void *)0); }; } } for (j = 0; j < size_b; ++j) { carry += *pz + b->ob_digit[j] * f; *pz++ = (digit) (carry & ((int)(((digit)1 << 15) - 1))); carry >>= 15; } for (; carry != 0; ++j) { ((void) (0)); carry += *pz; *pz++ = (digit) (carry & ((int)(((digit)1 << 15) - 1))); carry >>= 15; } } return long_normalize(z); } # 1752 "Objects/longobject.c" static int kmul_split(PyLongObject *n, int size, PyLongObject **high, PyLongObject **low) { PyLongObject *hi, *lo; int size_lo, size_hi; const int size_n = ((n->ob_size) < 0 ? -(n->ob_size) : (n->ob_size)); size_lo = ((size_n) > (size) ? (size) : (size_n)); size_hi = size_n - size_lo; if ((hi = _PyLong_New(size_hi)) == ((void *)0)) return -1; if ((lo = _PyLong_New(size_lo)) == ((void *)0)) { if ( --(hi)->ob_refcnt != 0) ; else ( (*((PyObject *)(hi))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(hi)))); return -1; } memcpy(lo->ob_digit, n->ob_digit, size_lo * sizeof(digit)); memcpy(hi->ob_digit, n->ob_digit + size_lo, size_hi * sizeof(digit)); *high = long_normalize(hi); *low = long_normalize(lo); return 0; } static PyLongObject *k_lopsided_mul(PyLongObject *a, PyLongObject *b); static PyLongObject * k_mul(PyLongObject *a, PyLongObject *b) { int asize = ((a->ob_size) < 0 ? -(a->ob_size) : (a->ob_size)); int bsize = ((b->ob_size) < 0 ? -(b->ob_size) : (b->ob_size)); PyLongObject *ah = ((void *)0); PyLongObject *al = ((void *)0); PyLongObject *bh = ((void *)0); PyLongObject *bl = ((void *)0); PyLongObject *ret = ((void *)0); PyLongObject *t1, *t2, *t3; int shift; int i; # 1808 "Objects/longobject.c" if (asize > bsize) { t1 = a; a = b; b = t1; i = asize; asize = bsize; bsize = i; } if (asize <= 35) { if (asize == 0) return _PyLong_New(0); else return x_mul(a, b); } if (2 * asize <= bsize) return k_lopsided_mul(a, b); shift = bsize >> 1; if (kmul_split(a, shift, &ah, &al) < 0) goto fail; ((void) (0)); if (kmul_split(b, shift, &bh, &bl) < 0) goto fail; # 1859 "Objects/longobject.c" ret = _PyLong_New(asize + bsize); if (ret == ((void *)0)) goto fail; if ((t1 = k_mul(ah, bh)) == ((void *)0)) goto fail; ((void) (0)); ((void) (0)); memcpy(ret->ob_digit + 2*shift, t1->ob_digit, t1->ob_size * sizeof(digit)); i = ret->ob_size - 2*shift - t1->ob_size; if (i) (__extension__ (__builtin_constant_p (i * sizeof(digit)) && (i * sizeof(digit)) <= 16 ? ((i * sizeof(digit)) == 1 ? ({ void *__s = (ret->ob_digit + 2*shift + t1->ob_size); *((__uint8_t *) __s) = (__uint8_t) 0; __s; }) : ({ void *__s = (ret->ob_digit + 2*shift + t1->ob_size); union { unsigned int __ui; unsigned short int __usi; unsigned char __uc; } *__u = __s; __uint8_t __c = (__uint8_t) (0); switch ((unsigned int) (i * sizeof(digit))) { case 15: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 11: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 7: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 3: __u->__usi = (unsigned short int) __c * 0x0101; __u = __extension__ ((void *) __u + 2); __u->__uc = (unsigned char) __c; break; case 14: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 10: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 6: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 2: __u->__usi = (unsigned short int) __c * 0x0101; break; case 13: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 9: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 5: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 1: __u->__uc = (unsigned char) __c; break; case 16: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 12: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 8: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 4: __u->__ui = __c * 0x01010101; case 0: break; } __s; })) : (__builtin_constant_p (0) && (0) == '\0' ? ({ void *__s = (ret->ob_digit + 2*shift + t1->ob_size); __builtin_memset (__s, '\0', i * sizeof(digit)); __s; }) : memset (ret->ob_digit + 2*shift + t1->ob_size, 0, i * sizeof(digit))))); if ((t2 = k_mul(al, bl)) == ((void *)0)) { if ( --(t1)->ob_refcnt != 0) ; else ( (*((PyObject *)(t1))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(t1)))); goto fail; } ((void) (0)); ((void) (0)); memcpy(ret->ob_digit, t2->ob_digit, t2->ob_size * sizeof(digit)); i = 2*shift - t2->ob_size; if (i) (__extension__ (__builtin_constant_p (i * sizeof(digit)) && (i * sizeof(digit)) <= 16 ? ((i * sizeof(digit)) == 1 ? ({ void *__s = (ret->ob_digit + t2->ob_size); *((__uint8_t *) __s) = (__uint8_t) 0; __s; }) : ({ void *__s = (ret->ob_digit + t2->ob_size); union { unsigned int __ui; unsigned short int __usi; unsigned char __uc; } *__u = __s; __uint8_t __c = (__uint8_t) (0); switch ((unsigned int) (i * sizeof(digit))) { case 15: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 11: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 7: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 3: __u->__usi = (unsigned short int) __c * 0x0101; __u = __extension__ ((void *) __u + 2); __u->__uc = (unsigned char) __c; break; case 14: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 10: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 6: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 2: __u->__usi = (unsigned short int) __c * 0x0101; break; case 13: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 9: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 5: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 1: __u->__uc = (unsigned char) __c; break; case 16: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 12: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 8: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 4: __u->__ui = __c * 0x01010101; case 0: break; } __s; })) : (__builtin_constant_p (0) && (0) == '\0' ? ({ void *__s = (ret->ob_digit + t2->ob_size); __builtin_memset (__s, '\0', i * sizeof(digit)); __s; }) : memset (ret->ob_digit + t2->ob_size, 0, i * sizeof(digit))))); i = ret->ob_size - shift; (void)v_isub(ret->ob_digit + shift, i, t2->ob_digit, t2->ob_size); if ( --(t2)->ob_refcnt != 0) ; else ( (*((PyObject *)(t2))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(t2)))); (void)v_isub(ret->ob_digit + shift, i, t1->ob_digit, t1->ob_size); if ( --(t1)->ob_refcnt != 0) ; else ( (*((PyObject *)(t1))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(t1)))); if ((t1 = x_add(ah, al)) == ((void *)0)) goto fail; if ( --(ah)->ob_refcnt != 0) ; else ( (*((PyObject *)(ah))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(ah)))); if ( --(al)->ob_refcnt != 0) ; else ( (*((PyObject *)(al))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(al)))); ah = al = ((void *)0); if ((t2 = x_add(bh, bl)) == ((void *)0)) { if ( --(t1)->ob_refcnt != 0) ; else ( (*((PyObject *)(t1))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(t1)))); goto fail; } if ( --(bh)->ob_refcnt != 0) ; else ( (*((PyObject *)(bh))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(bh)))); if ( --(bl)->ob_refcnt != 0) ; else ( (*((PyObject *)(bl))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(bl)))); bh = bl = ((void *)0); t3 = k_mul(t1, t2); if ( --(t1)->ob_refcnt != 0) ; else ( (*((PyObject *)(t1))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(t1)))); if ( --(t2)->ob_refcnt != 0) ; else ( (*((PyObject *)(t2))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(t2)))); if (t3 == ((void *)0)) goto fail; ((void) (0)); (void)v_iadd(ret->ob_digit + shift, i, t3->ob_digit, t3->ob_size); if ( --(t3)->ob_refcnt != 0) ; else ( (*((PyObject *)(t3))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(t3)))); return long_normalize(ret); fail: if ((ret) == ((void *)0)) ; else if ( --(ret)->ob_refcnt != 0) ; else ( (*((PyObject *)(ret))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(ret)))); if ((ah) == ((void *)0)) ; else if ( --(ah)->ob_refcnt != 0) ; else ( (*((PyObject *)(ah))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(ah)))); if ((al) == ((void *)0)) ; else if ( --(al)->ob_refcnt != 0) ; else ( (*((PyObject *)(al))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(al)))); if ((bh) == ((void *)0)) ; else if ( --(bh)->ob_refcnt != 0) ; else ( (*((PyObject *)(bh))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(bh)))); if ((bl) == ((void *)0)) ; else if ( --(bl)->ob_refcnt != 0) ; else ( (*((PyObject *)(bl))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(bl)))); return ((void *)0); } # 1993 "Objects/longobject.c" static PyLongObject * k_lopsided_mul(PyLongObject *a, PyLongObject *b) { const int asize = ((a->ob_size) < 0 ? -(a->ob_size) : (a->ob_size)); int bsize = ((b->ob_size) < 0 ? -(b->ob_size) : (b->ob_size)); int nbdone; PyLongObject *ret; PyLongObject *bslice = ((void *)0); ((void) (0)); ((void) (0)); ret = _PyLong_New(asize + bsize); if (ret == ((void *)0)) return ((void *)0); (__extension__ (__builtin_constant_p (ret->ob_size * sizeof(digit)) && (ret->ob_size * sizeof(digit)) <= 16 ? ((ret->ob_size * sizeof(digit)) == 1 ? ({ void *__s = (ret->ob_digit); *((__uint8_t *) __s) = (__uint8_t) 0; __s; }) : ({ void *__s = (ret->ob_digit); union { unsigned int __ui; unsigned short int __usi; unsigned char __uc; } *__u = __s; __uint8_t __c = (__uint8_t) (0); switch ((unsigned int) (ret->ob_size * sizeof(digit))) { case 15: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 11: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 7: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 3: __u->__usi = (unsigned short int) __c * 0x0101; __u = __extension__ ((void *) __u + 2); __u->__uc = (unsigned char) __c; break; case 14: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 10: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 6: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 2: __u->__usi = (unsigned short int) __c * 0x0101; break; case 13: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 9: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 5: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 1: __u->__uc = (unsigned char) __c; break; case 16: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 12: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 8: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 4: __u->__ui = __c * 0x01010101; case 0: break; } __s; })) : (__builtin_constant_p (0) && (0) == '\0' ? ({ void *__s = (ret->ob_digit); __builtin_memset (__s, '\0', ret->ob_size * sizeof(digit)); __s; }) : memset (ret->ob_digit, 0, ret->ob_size * sizeof(digit))))); bslice = _PyLong_New(asize); if (bslice == ((void *)0)) goto fail; nbdone = 0; while (bsize > 0) { PyLongObject *product; const int nbtouse = ((bsize) > (asize) ? (asize) : (bsize)); memcpy(bslice->ob_digit, b->ob_digit + nbdone, nbtouse * sizeof(digit)); bslice->ob_size = nbtouse; product = k_mul(a, bslice); if (product == ((void *)0)) goto fail; (void)v_iadd(ret->ob_digit + nbdone, ret->ob_size - nbdone, product->ob_digit, product->ob_size); if ( --(product)->ob_refcnt != 0) ; else ( (*((PyObject *)(product))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(product)))); bsize -= nbtouse; nbdone += nbtouse; } if ( --(bslice)->ob_refcnt != 0) ; else ( (*((PyObject *)(bslice))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(bslice)))); return long_normalize(ret); fail: if ( --(ret)->ob_refcnt != 0) ; else ( (*((PyObject *)(ret))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(ret)))); if ((bslice) == ((void *)0)) ; else if ( --(bslice)->ob_refcnt != 0) ; else ( (*((PyObject *)(bslice))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(bslice)))); return ((void *)0); } static PyObject * long_mul(PyLongObject *v, PyLongObject *w) { PyLongObject *a, *b, *z; if (!convert_binop((PyObject *)v, (PyObject *)w, &a, &b)) { ( ((&_Py_NotImplementedStruct))->ob_refcnt++); return (&_Py_NotImplementedStruct); } z = k_mul(a, b); if (((a->ob_size ^ b->ob_size) < 0) && z) z->ob_size = -(z->ob_size); if ( --(a)->ob_refcnt != 0) ; else ( (*((PyObject *)(a))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(a)))); if ( --(b)->ob_refcnt != 0) ; else ( (*((PyObject *)(b))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(b)))); return (PyObject *)z; } # 2081 "Objects/longobject.c" static int l_divmod(PyLongObject *v, PyLongObject *w, PyLongObject **pdiv, PyLongObject **pmod) { PyLongObject *div, *mod; if (long_divrem(v, w, &div, &mod) < 0) return -1; if ((mod->ob_size < 0 && w->ob_size > 0) || (mod->ob_size > 0 && w->ob_size < 0)) { PyLongObject *temp; PyLongObject *one; temp = (PyLongObject *) long_add(mod, w); if ( --(mod)->ob_refcnt != 0) ; else ( (*((PyObject *)(mod))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(mod)))); mod = temp; if (mod == ((void *)0)) { if ( --(div)->ob_refcnt != 0) ; else ( (*((PyObject *)(div))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(div)))); return -1; } one = (PyLongObject *) PyLong_FromLong(1L); if (one == ((void *)0) || (temp = (PyLongObject *) long_sub(div, one)) == ((void *)0)) { if ( --(mod)->ob_refcnt != 0) ; else ( (*((PyObject *)(mod))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(mod)))); if ( --(div)->ob_refcnt != 0) ; else ( (*((PyObject *)(div))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(div)))); if ((one) == ((void *)0)) ; else if ( --(one)->ob_refcnt != 0) ; else ( (*((PyObject *)(one))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(one)))); return -1; } if ( --(one)->ob_refcnt != 0) ; else ( (*((PyObject *)(one))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(one)))); if ( --(div)->ob_refcnt != 0) ; else ( (*((PyObject *)(div))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(div)))); div = temp; } *pdiv = div; *pmod = mod; return 0; } static PyObject * long_div(PyObject *v, PyObject *w) { PyLongObject *a, *b, *div, *mod; if (!convert_binop(v, w, &a, &b)) { ( ((&_Py_NotImplementedStruct))->ob_refcnt++); return (&_Py_NotImplementedStruct); }; if (l_divmod(a, b, &div, &mod) < 0) { if ( --(a)->ob_refcnt != 0) ; else ( (*((PyObject *)(a))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(a)))); if ( --(b)->ob_refcnt != 0) ; else ( (*((PyObject *)(b))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(b)))); return ((void *)0); } if ( --(a)->ob_refcnt != 0) ; else ( (*((PyObject *)(a))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(a)))); if ( --(b)->ob_refcnt != 0) ; else ( (*((PyObject *)(b))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(b)))); if ( --(mod)->ob_refcnt != 0) ; else ( (*((PyObject *)(mod))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(mod)))); return (PyObject *)div; } static PyObject * long_classic_div(PyObject *v, PyObject *w) { PyLongObject *a, *b, *div, *mod; if (!convert_binop(v, w, &a, &b)) { ( ((&_Py_NotImplementedStruct))->ob_refcnt++); return (&_Py_NotImplementedStruct); }; if (Py_DivisionWarningFlag && PyErr_Warn(PyExc_DeprecationWarning, "classic long division") < 0) div = ((void *)0); else if (l_divmod(a, b, &div, &mod) < 0) div = ((void *)0); else if ( --(mod)->ob_refcnt != 0) ; else ( (*((PyObject *)(mod))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(mod)))); if ( --(a)->ob_refcnt != 0) ; else ( (*((PyObject *)(a))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(a)))); if ( --(b)->ob_refcnt != 0) ; else ( (*((PyObject *)(b))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(b)))); return (PyObject *)div; } static PyObject * long_true_divide(PyObject *v, PyObject *w) { PyLongObject *a, *b; double ad, bd; int aexp, bexp, failed; if (!convert_binop(v, w, &a, &b)) { ( ((&_Py_NotImplementedStruct))->ob_refcnt++); return (&_Py_NotImplementedStruct); }; ad = _PyLong_AsScaledDouble((PyObject *)a, &aexp); bd = _PyLong_AsScaledDouble((PyObject *)b, &bexp); failed = (ad == -1.0 || bd == -1.0) && PyErr_Occurred(); if ( --(a)->ob_refcnt != 0) ; else ( (*((PyObject *)(a))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(a)))); if ( --(b)->ob_refcnt != 0) ; else ( (*((PyObject *)(b))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(b)))); if (failed) return ((void *)0); if (bd == 0.0) { PyErr_SetString(PyExc_ZeroDivisionError, "long division or modulo by zero"); return ((void *)0); } ad /= bd; aexp -= bexp; if (aexp > 2147483647 / 15) goto overflow; else if (aexp < -(2147483647 / 15)) return PyFloat_FromDouble(0.0); (*__errno_location ()) = 0; ad = ldexp(ad, aexp * 15); if (((ad) != 0.0 && ((*__errno_location ()) == 34 || (ad) == (__extension__ 0x1.0p2047) || (ad) == -(__extension__ 0x1.0p2047)))) goto overflow; return PyFloat_FromDouble(ad); overflow: PyErr_SetString(PyExc_OverflowError, "long/long too large for a float"); return ((void *)0); } static PyObject * long_mod(PyObject *v, PyObject *w) { PyLongObject *a, *b, *div, *mod; if (!convert_binop(v, w, &a, &b)) { ( ((&_Py_NotImplementedStruct))->ob_refcnt++); return (&_Py_NotImplementedStruct); }; if (l_divmod(a, b, &div, &mod) < 0) { if ( --(a)->ob_refcnt != 0) ; else ( (*((PyObject *)(a))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(a)))); if ( --(b)->ob_refcnt != 0) ; else ( (*((PyObject *)(b))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(b)))); return ((void *)0); } if ( --(a)->ob_refcnt != 0) ; else ( (*((PyObject *)(a))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(a)))); if ( --(b)->ob_refcnt != 0) ; else ( (*((PyObject *)(b))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(b)))); if ( --(div)->ob_refcnt != 0) ; else ( (*((PyObject *)(div))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(div)))); return (PyObject *)mod; } static PyObject * long_divmod(PyObject *v, PyObject *w) { PyLongObject *a, *b, *div, *mod; PyObject *z; if (!convert_binop(v, w, &a, &b)) { ( ((&_Py_NotImplementedStruct))->ob_refcnt++); return (&_Py_NotImplementedStruct); }; if (l_divmod(a, b, &div, &mod) < 0) { if ( --(a)->ob_refcnt != 0) ; else ( (*((PyObject *)(a))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(a)))); if ( --(b)->ob_refcnt != 0) ; else ( (*((PyObject *)(b))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(b)))); return ((void *)0); } z = PyTuple_New(2); if (z != ((void *)0)) { PyTuple_SetItem(z, 0, (PyObject *) div); PyTuple_SetItem(z, 1, (PyObject *) mod); } else { if ( --(div)->ob_refcnt != 0) ; else ( (*((PyObject *)(div))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(div)))); if ( --(mod)->ob_refcnt != 0) ; else ( (*((PyObject *)(mod))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(mod)))); } if ( --(a)->ob_refcnt != 0) ; else ( (*((PyObject *)(a))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(a)))); if ( --(b)->ob_refcnt != 0) ; else ( (*((PyObject *)(b))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(b)))); return z; } static PyObject * long_pow(PyObject *v, PyObject *w, PyObject *x) { PyLongObject *a, *b; PyObject *c; PyLongObject *z, *div, *mod; int size_b, i; if (!convert_binop(v, w, &a, &b)) { ( ((&_Py_NotImplementedStruct))->ob_refcnt++); return (&_Py_NotImplementedStruct); }; if (((x)->ob_type == (&PyLong_Type) || PyType_IsSubtype((x)->ob_type, (&PyLong_Type))) || (&_Py_NoneStruct) == x) { c = x; ( (x)->ob_refcnt++); } else if (((x)->ob_type == (&PyInt_Type) || PyType_IsSubtype((x)->ob_type, (&PyInt_Type)))) { c = PyLong_FromLong((((PyIntObject *)(x))->ob_ival)); } else { if ( --(a)->ob_refcnt != 0) ; else ( (*((PyObject *)(a))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(a)))); if ( --(b)->ob_refcnt != 0) ; else ( (*((PyObject *)(b))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(b)))); ( ((&_Py_NotImplementedStruct))->ob_refcnt++); return (&_Py_NotImplementedStruct); } if (c != (&_Py_NoneStruct) && ((PyLongObject *)c)->ob_size == 0) { PyErr_SetString(PyExc_ValueError, "pow() 3rd argument cannot be 0"); z = ((void *)0); goto error; } size_b = b->ob_size; if (size_b < 0) { if ( --(a)->ob_refcnt != 0) ; else ( (*((PyObject *)(a))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(a)))); if ( --(b)->ob_refcnt != 0) ; else ( (*((PyObject *)(b))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(b)))); if ( --(c)->ob_refcnt != 0) ; else ( (*((PyObject *)(c))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(c)))); if (x != (&_Py_NoneStruct)) { PyErr_SetString(PyExc_TypeError, "pow() 2nd argument " "cannot be negative when 3rd argument specified"); return ((void *)0); } return PyFloat_Type.tp_as_number->nb_power(v, w, x); } z = (PyLongObject *)PyLong_FromLong(1L); for (i = 0; i < size_b; ++i) { digit bi = b->ob_digit[i]; int j; for (j = 0; j < 15; ++j) { PyLongObject *temp; if (bi & 1) { temp = (PyLongObject *)long_mul(z, a); if ( --(z)->ob_refcnt != 0) ; else ( (*((PyObject *)(z))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(z)))); if (c!=(&_Py_NoneStruct) && temp!=((void *)0)) { if (l_divmod(temp,(PyLongObject *)c, &div,&mod) < 0) { if ( --(temp)->ob_refcnt != 0) ; else ( (*((PyObject *)(temp))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(temp)))); z = ((void *)0); goto error; } if ((div) == ((void *)0)) ; else if ( --(div)->ob_refcnt != 0) ; else ( (*((PyObject *)(div))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(div)))); if ( --(temp)->ob_refcnt != 0) ; else ( (*((PyObject *)(temp))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(temp)))); temp = mod; } z = temp; if (z == ((void *)0)) break; } bi >>= 1; if (bi == 0 && i+1 == size_b) break; temp = (PyLongObject *)long_mul(a, a); if ( --(a)->ob_refcnt != 0) ; else ( (*((PyObject *)(a))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(a)))); if (c!=(&_Py_NoneStruct) && temp!=((void *)0)) { if (l_divmod(temp, (PyLongObject *)c, &div, &mod) < 0) { if ( --(temp)->ob_refcnt != 0) ; else ( (*((PyObject *)(temp))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(temp)))); z = ((void *)0); goto error; } if ((div) == ((void *)0)) ; else if ( --(div)->ob_refcnt != 0) ; else ( (*((PyObject *)(div))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(div)))); if ( --(temp)->ob_refcnt != 0) ; else ( (*((PyObject *)(temp))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(temp)))); temp = mod; } a = temp; if (a == ((void *)0)) { if ( --(z)->ob_refcnt != 0) ; else ( (*((PyObject *)(z))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(z)))); z = ((void *)0); break; } } if (a == ((void *)0) || z == ((void *)0)) break; } if (c!=(&_Py_NoneStruct) && z!=((void *)0)) { if (l_divmod(z, (PyLongObject *)c, &div, &mod) < 0) { if ( --(z)->ob_refcnt != 0) ; else ( (*((PyObject *)(z))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(z)))); z = ((void *)0); } else { if ((div) == ((void *)0)) ; else if ( --(div)->ob_refcnt != 0) ; else ( (*((PyObject *)(div))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(div)))); if ( --(z)->ob_refcnt != 0) ; else ( (*((PyObject *)(z))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(z)))); z = mod; } } error: if ((a) == ((void *)0)) ; else if ( --(a)->ob_refcnt != 0) ; else ( (*((PyObject *)(a))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(a)))); if ( --(b)->ob_refcnt != 0) ; else ( (*((PyObject *)(b))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(b)))); if ( --(c)->ob_refcnt != 0) ; else ( (*((PyObject *)(c))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(c)))); return (PyObject *)z; } static PyObject * long_invert(PyLongObject *v) { PyLongObject *x; PyLongObject *w; w = (PyLongObject *)PyLong_FromLong(1L); if (w == ((void *)0)) return ((void *)0); x = (PyLongObject *) long_add(v, w); if ( --(w)->ob_refcnt != 0) ; else ( (*((PyObject *)(w))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(w)))); if (x == ((void *)0)) return ((void *)0); x->ob_size = -(x->ob_size); return (PyObject *)x; } static PyObject * long_pos(PyLongObject *v) { if (((v)->ob_type == &PyLong_Type)) { ( (v)->ob_refcnt++); return (PyObject *)v; } else return _PyLong_Copy(v); } static PyObject * long_neg(PyLongObject *v) { PyLongObject *z; if (v->ob_size == 0 && ((v)->ob_type == &PyLong_Type)) { ( (v)->ob_refcnt++); return (PyObject *) v; } z = (PyLongObject *)_PyLong_Copy(v); if (z != ((void *)0)) z->ob_size = -(v->ob_size); return (PyObject *)z; } static PyObject * long_abs(PyLongObject *v) { if (v->ob_size < 0) return long_neg(v); else return long_pos(v); } static int long_nonzero(PyLongObject *v) { return ((v->ob_size) < 0 ? -(v->ob_size) : (v->ob_size)) != 0; } static PyObject * long_rshift(PyLongObject *v, PyLongObject *w) { PyLongObject *a, *b; PyLongObject *z = ((void *)0); long shiftby; int newsize, wordshift, loshift, hishift, i, j; digit lomask, himask; if (!convert_binop((PyObject *)v, (PyObject *)w, &a, &b)) { ( ((&_Py_NotImplementedStruct))->ob_refcnt++); return (&_Py_NotImplementedStruct); }; if (a->ob_size < 0) { PyLongObject *a1, *a2; a1 = (PyLongObject *) long_invert(a); if (a1 == ((void *)0)) goto rshift_error; a2 = (PyLongObject *) long_rshift(a1, b); if ( --(a1)->ob_refcnt != 0) ; else ( (*((PyObject *)(a1))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(a1)))); if (a2 == ((void *)0)) goto rshift_error; z = (PyLongObject *) long_invert(a2); if ( --(a2)->ob_refcnt != 0) ; else ( (*((PyObject *)(a2))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(a2)))); } else { shiftby = PyLong_AsLong((PyObject *)b); if (shiftby == -1L && PyErr_Occurred()) goto rshift_error; if (shiftby < 0) { PyErr_SetString(PyExc_ValueError, "negative shift count"); goto rshift_error; } wordshift = shiftby / 15; newsize = ((a->ob_size) < 0 ? -(a->ob_size) : (a->ob_size)) - wordshift; if (newsize <= 0) { z = _PyLong_New(0); if ( --(a)->ob_refcnt != 0) ; else ( (*((PyObject *)(a))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(a)))); if ( --(b)->ob_refcnt != 0) ; else ( (*((PyObject *)(b))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(b)))); return (PyObject *)z; } loshift = shiftby % 15; hishift = 15 - loshift; lomask = ((digit)1 << hishift) - 1; himask = ((int)(((digit)1 << 15) - 1)) ^ lomask; z = _PyLong_New(newsize); if (z == ((void *)0)) goto rshift_error; if (a->ob_size < 0) z->ob_size = -(z->ob_size); for (i = 0, j = wordshift; i < newsize; i++, j++) { z->ob_digit[i] = (a->ob_digit[j] >> loshift) & lomask; if (i+1 < newsize) z->ob_digit[i] |= (a->ob_digit[j+1] << hishift) & himask; } z = long_normalize(z); } rshift_error: if ( --(a)->ob_refcnt != 0) ; else ( (*((PyObject *)(a))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(a)))); if ( --(b)->ob_refcnt != 0) ; else ( (*((PyObject *)(b))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(b)))); return (PyObject *) z; } static PyObject * long_lshift(PyObject *v, PyObject *w) { PyLongObject *a, *b; PyLongObject *z = ((void *)0); long shiftby; int oldsize, newsize, wordshift, remshift, i, j; twodigits accum; if (!convert_binop(v, w, &a, &b)) { ( ((&_Py_NotImplementedStruct))->ob_refcnt++); return (&_Py_NotImplementedStruct); }; shiftby = PyLong_AsLong((PyObject *)b); if (shiftby == -1L && PyErr_Occurred()) goto lshift_error; if (shiftby < 0) { PyErr_SetString(PyExc_ValueError, "negative shift count"); goto lshift_error; } if ((long)(int)shiftby != shiftby) { PyErr_SetString(PyExc_ValueError, "outrageous left shift count"); goto lshift_error; } wordshift = (int)shiftby / 15; remshift = (int)shiftby - wordshift * 15; oldsize = ((a->ob_size) < 0 ? -(a->ob_size) : (a->ob_size)); newsize = oldsize + wordshift; if (remshift) ++newsize; z = _PyLong_New(newsize); if (z == ((void *)0)) goto lshift_error; if (a->ob_size < 0) z->ob_size = -(z->ob_size); for (i = 0; i < wordshift; i++) z->ob_digit[i] = 0; accum = 0; for (i = wordshift, j = 0; j < oldsize; i++, j++) { accum |= (twodigits)a->ob_digit[j] << remshift; z->ob_digit[i] = (digit)(accum & ((int)(((digit)1 << 15) - 1))); accum >>= 15; } if (remshift) z->ob_digit[newsize-1] = (digit)accum; else ((void) (0)); z = long_normalize(z); lshift_error: if ( --(a)->ob_refcnt != 0) ; else ( (*((PyObject *)(a))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(a)))); if ( --(b)->ob_refcnt != 0) ; else ( (*((PyObject *)(b))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(b)))); return (PyObject *) z; } static PyObject * long_bitwise(PyLongObject *a, int op, PyLongObject *b) { digit maska, maskb; int negz; int size_a, size_b, size_z; PyLongObject *z; int i; digit diga, digb; PyObject *v; if (a->ob_size < 0) { a = (PyLongObject *) long_invert(a); maska = ((int)(((digit)1 << 15) - 1)); } else { ( (a)->ob_refcnt++); maska = 0; } if (b->ob_size < 0) { b = (PyLongObject *) long_invert(b); maskb = ((int)(((digit)1 << 15) - 1)); } else { ( (b)->ob_refcnt++); maskb = 0; } negz = 0; switch (op) { case '^': if (maska != maskb) { maska ^= ((int)(((digit)1 << 15) - 1)); negz = -1; } break; case '&': if (maska && maskb) { op = '|'; maska ^= ((int)(((digit)1 << 15) - 1)); maskb ^= ((int)(((digit)1 << 15) - 1)); negz = -1; } break; case '|': if (maska || maskb) { op = '&'; maska ^= ((int)(((digit)1 << 15) - 1)); maskb ^= ((int)(((digit)1 << 15) - 1)); negz = -1; } break; } # 2606 "Objects/longobject.c" size_a = a->ob_size; size_b = b->ob_size; size_z = op == '&' ? (maska ? size_b : (maskb ? size_a : ((size_a) > (size_b) ? (size_b) : (size_a)))) : ((size_a) < (size_b) ? (size_b) : (size_a)); z = _PyLong_New(size_z); if (a == ((void *)0) || b == ((void *)0) || z == ((void *)0)) { if ((a) == ((void *)0)) ; else if ( --(a)->ob_refcnt != 0) ; else ( (*((PyObject *)(a))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(a)))); if ((b) == ((void *)0)) ; else if ( --(b)->ob_refcnt != 0) ; else ( (*((PyObject *)(b))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(b)))); if ((z) == ((void *)0)) ; else if ( --(z)->ob_refcnt != 0) ; else ( (*((PyObject *)(z))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(z)))); return ((void *)0); } for (i = 0; i < size_z; ++i) { diga = (i < size_a ? a->ob_digit[i] : 0) ^ maska; digb = (i < size_b ? b->ob_digit[i] : 0) ^ maskb; switch (op) { case '&': z->ob_digit[i] = diga & digb; break; case '|': z->ob_digit[i] = diga | digb; break; case '^': z->ob_digit[i] = diga ^ digb; break; } } if ( --(a)->ob_refcnt != 0) ; else ( (*((PyObject *)(a))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(a)))); if ( --(b)->ob_refcnt != 0) ; else ( (*((PyObject *)(b))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(b)))); z = long_normalize(z); if (negz == 0) return (PyObject *) z; v = long_invert(z); if ( --(z)->ob_refcnt != 0) ; else ( (*((PyObject *)(z))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(z)))); return v; } static PyObject * long_and(PyObject *v, PyObject *w) { PyLongObject *a, *b; PyObject *c; if (!convert_binop(v, w, &a, &b)) { ( ((&_Py_NotImplementedStruct))->ob_refcnt++); return (&_Py_NotImplementedStruct); }; c = long_bitwise(a, '&', b); if ( --(a)->ob_refcnt != 0) ; else ( (*((PyObject *)(a))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(a)))); if ( --(b)->ob_refcnt != 0) ; else ( (*((PyObject *)(b))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(b)))); return c; } static PyObject * long_xor(PyObject *v, PyObject *w) { PyLongObject *a, *b; PyObject *c; if (!convert_binop(v, w, &a, &b)) { ( ((&_Py_NotImplementedStruct))->ob_refcnt++); return (&_Py_NotImplementedStruct); }; c = long_bitwise(a, '^', b); if ( --(a)->ob_refcnt != 0) ; else ( (*((PyObject *)(a))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(a)))); if ( --(b)->ob_refcnt != 0) ; else ( (*((PyObject *)(b))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(b)))); return c; } static PyObject * long_or(PyObject *v, PyObject *w) { PyLongObject *a, *b; PyObject *c; if (!convert_binop(v, w, &a, &b)) { ( ((&_Py_NotImplementedStruct))->ob_refcnt++); return (&_Py_NotImplementedStruct); }; c = long_bitwise(a, '|', b); if ( --(a)->ob_refcnt != 0) ; else ( (*((PyObject *)(a))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(a)))); if ( --(b)->ob_refcnt != 0) ; else ( (*((PyObject *)(b))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(b)))); return c; } static int long_coerce(PyObject **pv, PyObject **pw) { if (((*pw)->ob_type == (&PyInt_Type) || PyType_IsSubtype((*pw)->ob_type, (&PyInt_Type)))) { *pw = PyLong_FromLong((((PyIntObject *)(*pw))->ob_ival)); ( (*pv)->ob_refcnt++); return 0; } else if (((*pw)->ob_type == (&PyLong_Type) || PyType_IsSubtype((*pw)->ob_type, (&PyLong_Type)))) { ( (*pv)->ob_refcnt++); ( (*pw)->ob_refcnt++); return 0; } return 1; } static PyObject * long_long(PyObject *v) { ( (v)->ob_refcnt++); return v; } static PyObject * long_int(PyObject *v) { long x; x = PyLong_AsLong(v); if (PyErr_Occurred()) { if (PyErr_ExceptionMatches(PyExc_OverflowError)) { PyErr_Clear(); if (((v)->ob_type == &PyLong_Type)) { ( (v)->ob_refcnt++); return v; } else return _PyLong_Copy((PyLongObject *)v); } else return ((void *)0); } return PyInt_FromLong(x); } static PyObject * long_float(PyObject *v) { double result; result = PyLong_AsDouble(v); if (result == -1.0 && PyErr_Occurred()) return ((void *)0); return PyFloat_FromDouble(result); } static PyObject * long_oct(PyObject *v) { return long_format(v, 8, 1); } static PyObject * long_hex(PyObject *v) { return long_format(v, 16, 1); } static PyObject * long_subtype_new(PyTypeObject *type, PyObject *args, PyObject *kwds); static PyObject * long_new(PyTypeObject *type, PyObject *args, PyObject *kwds) { PyObject *x = ((void *)0); int base = -909; static char *kwlist[] = {"x", "base", 0}; if (type != &PyLong_Type) return long_subtype_new(type, args, kwds); if (!PyArg_ParseTupleAndKeywords(args, kwds, "|Oi:long", kwlist, &x, &base)) return ((void *)0); if (x == ((void *)0)) return PyLong_FromLong(0L); if (base == -909) return PyNumber_Long(x); else if (((x)->ob_type == (&PyString_Type) || PyType_IsSubtype((x)->ob_type, (&PyString_Type)))) return PyLong_FromString((((PyStringObject *)(x))->ob_sval), ((void *)0), base); else if (((x)->ob_type == (&PyUnicode_Type) || PyType_IsSubtype((x)->ob_type, (&PyUnicode_Type)))) return PyLong_FromUnicode((((PyUnicodeObject *)(x))->str), (((PyUnicodeObject *)(x))->length), base); else { PyErr_SetString(PyExc_TypeError, "long() can't convert non-string with explicit base"); return ((void *)0); } } static PyObject * long_subtype_new(PyTypeObject *type, PyObject *args, PyObject *kwds) { PyLongObject *tmp, *new; int i, n; ((void) (0)); tmp = (PyLongObject *)long_new(&PyLong_Type, args, kwds); if (tmp == ((void *)0)) return ((void *)0); ((void) (0)); n = tmp->ob_size; if (n < 0) n = -n; new = (PyLongObject *)type->tp_alloc(type, n); if (new == ((void *)0)) { if ( --(tmp)->ob_refcnt != 0) ; else ( (*((PyObject *)(tmp))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(tmp)))); return ((void *)0); } ((void) (0)); new->ob_size = tmp->ob_size; for (i = 0; i < n; i++) new->ob_digit[i] = tmp->ob_digit[i]; if ( --(tmp)->ob_refcnt != 0) ; else ( (*((PyObject *)(tmp))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(tmp)))); return (PyObject *)new; } static PyObject * long_getnewargs(PyLongObject *v) { return Py_BuildValue("(N)", _PyLong_Copy(v)); } static PyMethodDef long_methods[] = { {"__getnewargs__", (PyCFunction)long_getnewargs, 0x0004}, {((void *)0), ((void *)0)} }; static char long_doc[] = "long(x[, base]) -> integer\n\nConvert a string or number to a long integer, if possible. A floating\npoint argument will be truncated towards zero (this does not include a\nstring representation of a floating point number!) When converting a\nstring, use the optional base. It is an error to supply a base when\nconverting a non-string."; # 2829 "Objects/longobject.c" static PyNumberMethods long_as_number = { (binaryfunc) long_add, (binaryfunc) long_sub, (binaryfunc) long_mul, (binaryfunc) long_classic_div, (binaryfunc) long_mod, (binaryfunc) long_divmod, (ternaryfunc) long_pow, (unaryfunc) long_neg, (unaryfunc) long_pos, (unaryfunc) long_abs, (inquiry) long_nonzero, (unaryfunc) long_invert, (binaryfunc) long_lshift, (binaryfunc) long_rshift, (binaryfunc) long_and, (binaryfunc) long_xor, (binaryfunc) long_or, (coercion) long_coerce, (unaryfunc) long_int, (unaryfunc) long_long, (unaryfunc) long_float, (unaryfunc) long_oct, (unaryfunc) long_hex, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (binaryfunc)long_div, long_true_divide, 0, 0, }; PyTypeObject PyLong_Type = { 1, &PyType_Type, 0, "long", sizeof(PyLongObject) - sizeof(digit), sizeof(digit), (destructor)long_dealloc, 0, 0, 0, (cmpfunc)long_compare, (reprfunc)long_repr, &long_as_number, 0, 0, (hashfunc)long_hash, 0, (reprfunc)long_str, PyObject_GenericGetAttr, 0, 0, ( (1L<<0) | (1L<<1) | (1L<<3) | (1L<<5) | (1L<<6) | (1L<<7) | (1L<<8) | 0 | 0) | (1L<<4) | (1L<<10), long_doc, 0, 0, 0, 0, 0, 0, long_methods, 0, 0, 0, 0, 0, 0, 0, 0, 0, long_new, PyObject_Free, };