Created
August 18, 2013 12:30
-
-
Save geoff-nixon/6261423 to your computer and use it in GitHub Desktop.
gmp 5.1.2: tests/mpz/t-get_d_2exp intermediate file (clang -flto -save-temps)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #1 "t-get_d_2exp.c" | |
| #1 "<built-in>" 1 | |
| #1 "<built-in>" 3 | |
| #166 "<built-in>" 3 | |
| #1 "<command line>" 1 | |
| #1 "<built-in>" 2 | |
| #1 "t-get_d_2exp.c" 2 | |
| #20 "t-get_d_2exp.c" | |
| #1 "/usr/include/stdio.h" 1 3 4 | |
| #64 "/usr/include/stdio.h" 3 4 | |
| #1 "/usr/include/sys/cdefs.h" 1 3 4 | |
| #481 "/usr/include/sys/cdefs.h" 3 4 | |
| #1 "/usr/include/sys/_symbol_aliasing.h" 1 3 4 | |
| #482 "/usr/include/sys/cdefs.h" 2 3 4 | |
| #547 "/usr/include/sys/cdefs.h" 3 4 | |
| #1 "/usr/include/sys/_posix_availability.h" 1 3 4 | |
| #548 "/usr/include/sys/cdefs.h" 2 3 4 | |
| #65 "/usr/include/stdio.h" 2 3 4 | |
| #1 "/usr/include/Availability.h" 1 3 4 | |
| #148 "/usr/include/Availability.h" 3 4 | |
| #1 "/usr/include/AvailabilityInternal.h" 1 3 4 | |
| #149 "/usr/include/Availability.h" 2 3 4 | |
| #66 "/usr/include/stdio.h" 2 3 4 | |
| #1 "/usr/include/_types.h" 1 3 4 | |
| #27 "/usr/include/_types.h" 3 4 | |
| #1 "/usr/include/sys/_types.h" 1 3 4 | |
| #33 "/usr/include/sys/_types.h" 3 4 | |
| #1 "/usr/include/machine/_types.h" 1 3 4 | |
| #32 "/usr/include/machine/_types.h" 3 4 | |
| #1 "/usr/include/i386/_types.h" 1 3 4 | |
| #37 "/usr/include/i386/_types.h" 3 4 | |
| typedef signed char __int8_t; | |
| typedef unsigned char __uint8_t; | |
| typedef short __int16_t; | |
| typedef unsigned short __uint16_t; | |
| typedef int __int32_t; | |
| typedef unsigned int __uint32_t; | |
| typedef long long __int64_t; | |
| typedef unsigned long long __uint64_t; | |
| typedef long __darwin_intptr_t; | |
| typedef unsigned int __darwin_natural_t; | |
| #70 "/usr/include/i386/_types.h" 3 4 | |
| typedef int __darwin_ct_rune_t; | |
| typedef union { | |
| char __mbstate8[128]; | |
| long long _mbstateL; | |
| } __mbstate_t; | |
| typedef __mbstate_t __darwin_mbstate_t; | |
| typedef long int __darwin_ptrdiff_t; | |
| typedef long unsigned int __darwin_size_t; | |
| typedef __builtin_va_list __darwin_va_list; | |
| typedef int __darwin_wchar_t; | |
| typedef __darwin_wchar_t __darwin_rune_t; | |
| typedef int __darwin_wint_t; | |
| typedef unsigned long __darwin_clock_t; | |
| typedef __uint32_t __darwin_socklen_t; | |
| typedef long __darwin_ssize_t; | |
| typedef long __darwin_time_t; | |
| #33 "/usr/include/machine/_types.h" 2 3 4 | |
| #34 "/usr/include/sys/_types.h" 2 3 4 | |
| #58 "/usr/include/sys/_types.h" 3 4 | |
| struct __darwin_pthread_handler_rec { | |
| void (*__routine)(void *); | |
| void *__arg; | |
| struct __darwin_pthread_handler_rec *__next; | |
| }; | |
| struct _opaque_pthread_attr_t { | |
| long __sig; | |
| char __opaque[56]; | |
| }; | |
| struct _opaque_pthread_cond_t { | |
| long __sig; | |
| char __opaque[40]; | |
| }; | |
| struct _opaque_pthread_condattr_t { | |
| long __sig; | |
| char __opaque[8]; | |
| }; | |
| struct _opaque_pthread_mutex_t { | |
| long __sig; | |
| char __opaque[56]; | |
| }; | |
| struct _opaque_pthread_mutexattr_t { | |
| long __sig; | |
| char __opaque[8]; | |
| }; | |
| struct _opaque_pthread_once_t { | |
| long __sig; | |
| char __opaque[8]; | |
| }; | |
| struct _opaque_pthread_rwlock_t { | |
| long __sig; | |
| char __opaque[192]; | |
| }; | |
| struct _opaque_pthread_rwlockattr_t { | |
| long __sig; | |
| char __opaque[16]; | |
| }; | |
| struct _opaque_pthread_t { | |
| long __sig; | |
| struct __darwin_pthread_handler_rec *__cleanup_stack; | |
| char __opaque[1168]; | |
| }; | |
| #94 "/usr/include/sys/_types.h" 3 4 | |
| typedef __int64_t __darwin_blkcnt_t; | |
| typedef __int32_t __darwin_blksize_t; | |
| typedef __int32_t __darwin_dev_t; | |
| typedef unsigned int __darwin_fsblkcnt_t; | |
| typedef unsigned int __darwin_fsfilcnt_t; | |
| typedef __uint32_t __darwin_gid_t; | |
| typedef __uint32_t __darwin_id_t; | |
| typedef __uint64_t __darwin_ino64_t; | |
| typedef __darwin_ino64_t __darwin_ino_t; | |
| typedef __darwin_natural_t __darwin_mach_port_name_t; | |
| typedef __darwin_mach_port_name_t __darwin_mach_port_t; | |
| typedef __uint16_t __darwin_mode_t; | |
| typedef __int64_t __darwin_off_t; | |
| typedef __int32_t __darwin_pid_t; | |
| typedef struct _opaque_pthread_attr_t __darwin_pthread_attr_t; | |
| typedef struct _opaque_pthread_cond_t __darwin_pthread_cond_t; | |
| typedef struct _opaque_pthread_condattr_t __darwin_pthread_condattr_t; | |
| typedef unsigned long __darwin_pthread_key_t; | |
| typedef struct _opaque_pthread_mutex_t __darwin_pthread_mutex_t; | |
| typedef struct _opaque_pthread_mutexattr_t __darwin_pthread_mutexattr_t; | |
| typedef struct _opaque_pthread_once_t __darwin_pthread_once_t; | |
| typedef struct _opaque_pthread_rwlock_t __darwin_pthread_rwlock_t; | |
| typedef struct _opaque_pthread_rwlockattr_t __darwin_pthread_rwlockattr_t; | |
| typedef struct _opaque_pthread_t *__darwin_pthread_t; | |
| typedef __uint32_t __darwin_sigset_t; | |
| typedef __int32_t __darwin_suseconds_t; | |
| typedef __uint32_t __darwin_uid_t; | |
| typedef __uint32_t __darwin_useconds_t; | |
| typedef unsigned char __darwin_uuid_t[16]; | |
| typedef char __darwin_uuid_string_t[37]; | |
| #28 "/usr/include/_types.h" 2 3 4 | |
| #39 "/usr/include/_types.h" 3 4 | |
| typedef int __darwin_nl_item; | |
| typedef int __darwin_wctrans_t; | |
| typedef __uint32_t __darwin_wctype_t; | |
| #68 "/usr/include/stdio.h" 2 3 4 | |
| #1 "/usr/include/sys/_types/_va_list.h" 1 3 4 | |
| #31 "/usr/include/sys/_types/_va_list.h" 3 4 | |
| typedef __darwin_va_list va_list; | |
| #72 "/usr/include/stdio.h" 2 3 4 | |
| #1 "/usr/include/sys/_types/_size_t.h" 1 3 4 | |
| #30 "/usr/include/sys/_types/_size_t.h" 3 4 | |
| typedef __darwin_size_t size_t; | |
| #73 "/usr/include/stdio.h" 2 3 4 | |
| #1 "/usr/include/sys/_types/_null.h" 1 3 4 | |
| #74 "/usr/include/stdio.h" 2 3 4 | |
| typedef __darwin_off_t fpos_t; | |
| #86 "/usr/include/stdio.h" 3 4 | |
| struct __sbuf { | |
| unsigned char *_base; | |
| int _size; | |
| }; | |
| struct __sFILEX; | |
| #120 "/usr/include/stdio.h" 3 4 | |
| typedef struct __sFILE { | |
| unsigned char *_p; | |
| int _r; | |
| int _w; | |
| short _flags; | |
| short _file; | |
| struct __sbuf _bf; | |
| int _lbfsize; | |
| void *_cookie; | |
| int (*_close)(void *); | |
| int (*_read)(void *, char *, int); | |
| fpos_t (*_seek)(void *, fpos_t, int); | |
| int (*_write)(void *, const char *, int); | |
| struct __sbuf _ub; | |
| struct __sFILEX *_extra; | |
| int _ur; | |
| unsigned char _ubuf[3]; | |
| unsigned char _nbuf[1]; | |
| struct __sbuf _lb; | |
| int _blksize; | |
| fpos_t _offset; | |
| } FILE; | |
| extern FILE *__stdinp; | |
| extern FILE *__stdoutp; | |
| extern FILE *__stderrp; | |
| #229 "/usr/include/stdio.h" 3 4 | |
| void clearerr(FILE *); | |
| int fclose(FILE *); | |
| int feof(FILE *); | |
| int ferror(FILE *); | |
| int fflush(FILE *); | |
| int fgetc(FILE *); | |
| int fgetpos(FILE *restrict, fpos_t *); | |
| char *fgets(char *restrict, int, FILE *); | |
| FILE *fopen(const char *restrict, const char *restrict) __asm("_" | |
| "fopen"); | |
| int fprintf(FILE *restrict, const char *restrict, ...) | |
| __attribute__((__format__(__printf__, 2, 3))); | |
| int fputc(int, FILE *); | |
| int fputs(const char *restrict, FILE *restrict) __asm("_" | |
| "fputs"); | |
| size_t fread(void *restrict, size_t, size_t, FILE *restrict); | |
| FILE *freopen(const char *restrict, const char *restrict, | |
| FILE *restrict) __asm("_" | |
| "freopen"); | |
| int fscanf(FILE *restrict, const char *restrict, ...) | |
| __attribute__((__format__(__scanf__, 2, 3))); | |
| int fseek(FILE *, long, int); | |
| int fsetpos(FILE *, const fpos_t *); | |
| long ftell(FILE *); | |
| size_t fwrite(const void *restrict, size_t, size_t, | |
| FILE *restrict) __asm("_" | |
| "fwrite"); | |
| int getc(FILE *); | |
| int getchar(void); | |
| char *gets(char *); | |
| void perror(const char *); | |
| int printf(const char *restrict, ...) | |
| __attribute__((__format__(__printf__, 1, 2))); | |
| int putc(int, FILE *); | |
| int putchar(int); | |
| int puts(const char *); | |
| int remove(const char *); | |
| int rename(const char *, const char *); | |
| void rewind(FILE *); | |
| int scanf(const char *restrict, ...) | |
| __attribute__((__format__(__scanf__, 1, 2))); | |
| void setbuf(FILE *restrict, char *restrict); | |
| int setvbuf(FILE *restrict, char *restrict, int, size_t); | |
| int sprintf(char *restrict, const char *restrict, ...) | |
| __attribute__((__format__(__printf__, 2, 3))); | |
| int sscanf(const char *restrict, const char *restrict, ...) | |
| __attribute__((__format__(__scanf__, 2, 3))); | |
| FILE *tmpfile(void); | |
| __attribute__((deprecated( | |
| "This function is provided for compatibility reasons only. Due to " | |
| "security concerns inherent in the design of tmpnam(3), it is highly " | |
| "recommended that you use mkstemp(3) instead."))) char * | |
| tmpnam(char *); | |
| int ungetc(int, FILE *); | |
| int vfprintf(FILE *restrict, const char *restrict, va_list) | |
| __attribute__((__format__(__printf__, 2, 0))); | |
| int vprintf(const char *restrict, va_list) | |
| __attribute__((__format__(__printf__, 1, 0))); | |
| int vsprintf(char *restrict, const char *restrict, va_list) | |
| __attribute__((__format__(__printf__, 2, 0))); | |
| #294 "/usr/include/stdio.h" 3 4 | |
| char *ctermid(char *); | |
| FILE *fdopen(int, const char *) __asm("_" | |
| "fdopen"); | |
| int fileno(FILE *); | |
| #313 "/usr/include/stdio.h" 3 4 | |
| int pclose(FILE *); | |
| FILE *popen(const char *, const char *) __asm("_" | |
| "popen"); | |
| #335 "/usr/include/stdio.h" 3 4 | |
| int __srget(FILE *); | |
| int __svfscanf(FILE *, const char *, va_list) | |
| __attribute__((__format__(__scanf__, 2, 0))); | |
| int __swbuf(int, FILE *); | |
| #346 "/usr/include/stdio.h" 3 4 | |
| inline __attribute__((__always_inline__)) int __sputc(int _c, FILE *_p) { | |
| if (--_p->_w >= 0 || (_p->_w >= _p->_lbfsize && (char)_c != '\n')) | |
| return (*_p->_p++ = _c); | |
| else | |
| return (__swbuf(_c, _p)); | |
| } | |
| #372 "/usr/include/stdio.h" 3 4 | |
| void flockfile(FILE *); | |
| int ftrylockfile(FILE *); | |
| void funlockfile(FILE *); | |
| int getc_unlocked(FILE *); | |
| int getchar_unlocked(void); | |
| int putc_unlocked(int, FILE *); | |
| int putchar_unlocked(int); | |
| int getw(FILE *); | |
| int putw(int, FILE *); | |
| __attribute__((deprecated( | |
| "This function is provided for compatibility reasons only. Due to " | |
| "security concerns inherent in the design of tempnam(3), it is highly " | |
| "recommended that you use mkstemp(3) instead."))) char * | |
| tempnam(const char *, const char *) __asm("_" | |
| "tempnam"); | |
| #409 "/usr/include/stdio.h" 3 4 | |
| #1 "/usr/include/sys/_types/_off_t.h" 1 3 4 | |
| #30 "/usr/include/sys/_types/_off_t.h" 3 4 | |
| typedef __darwin_off_t off_t; | |
| #410 "/usr/include/stdio.h" 2 3 4 | |
| int fseeko(FILE *, off_t, int); | |
| off_t ftello(FILE *); | |
| int snprintf(char *restrict, size_t, const char *restrict, ...) | |
| __attribute__((__format__(__printf__, 3, 4))); | |
| int vfscanf(FILE *restrict, const char *restrict, va_list) | |
| __attribute__((__format__(__scanf__, 2, 0))); | |
| int vscanf(const char *restrict, va_list) | |
| __attribute__((__format__(__scanf__, 1, 0))); | |
| int vsnprintf(char *restrict, size_t, const char *restrict, va_list) | |
| __attribute__((__format__(__printf__, 3, 0))); | |
| int vsscanf(const char *restrict, const char *restrict, va_list) | |
| __attribute__((__format__(__scanf__, 2, 0))); | |
| #434 "/usr/include/stdio.h" 3 4 | |
| #1 "/usr/include/sys/_types/_ssize_t.h" 1 3 4 | |
| #30 "/usr/include/sys/_types/_ssize_t.h" 3 4 | |
| typedef __darwin_ssize_t ssize_t; | |
| #435 "/usr/include/stdio.h" 2 3 4 | |
| int dprintf(int, const char *restrict, ...) | |
| __attribute__((__format__(__printf__, 2, 3))) | |
| __attribute__((availability(macosx, introduced = 10.7))); | |
| int vdprintf(int, const char *restrict, va_list) | |
| __attribute__((__format__(__printf__, 2, 0))) | |
| __attribute__((availability(macosx, introduced = 10.7))); | |
| ssize_t getdelim(char **restrict, size_t *restrict, int, FILE *restrict) | |
| __attribute__((availability(macosx, introduced = 10.7))); | |
| ssize_t getline(char **restrict, size_t *restrict, FILE *restrict) | |
| __attribute__((availability(macosx, introduced = 10.7))); | |
| #450 "/usr/include/stdio.h" 3 4 | |
| extern const int sys_nerr; | |
| extern const char *const sys_errlist[]; | |
| int asprintf(char **restrict, const char *restrict, ...) | |
| __attribute__((__format__(__printf__, 2, 3))); | |
| char *ctermid_r(char *); | |
| char *fgetln(FILE *, size_t *); | |
| const char *fmtcheck(const char *, const char *); | |
| int fpurge(FILE *); | |
| void setbuffer(FILE *, char *, int); | |
| int setlinebuf(FILE *); | |
| int vasprintf(char **restrict, const char *restrict, va_list) | |
| __attribute__((__format__(__printf__, 2, 0))); | |
| FILE *zopen(const char *, const char *, int); | |
| FILE *funopen(const void *, int (*)(void *, char *, int), | |
| int (*)(void *, const char *, int), | |
| fpos_t (*)(void *, fpos_t, int), int (*)(void *)); | |
| #490 "/usr/include/stdio.h" 3 4 | |
| #1 "/usr/include/secure/_stdio.h" 1 3 4 | |
| #31 "/usr/include/secure/_stdio.h" 3 4 | |
| #1 "/usr/include/secure/_common.h" 1 3 4 | |
| #32 "/usr/include/secure/_stdio.h" 2 3 4 | |
| #42 "/usr/include/secure/_stdio.h" 3 4 | |
| extern int __sprintf_chk(char *restrict, int, size_t, const char *restrict, | |
| ...); | |
| #52 "/usr/include/secure/_stdio.h" 3 4 | |
| extern int __snprintf_chk(char *restrict, size_t, int, size_t, | |
| const char *restrict, ...); | |
| extern int __vsprintf_chk(char *restrict, int, size_t, const char *restrict, | |
| va_list); | |
| extern int __vsnprintf_chk(char *restrict, size_t, int, size_t, | |
| const char *restrict, va_list); | |
| #491 "/usr/include/stdio.h" 2 3 4 | |
| #21 "t-get_d_2exp.c" 2 | |
| #1 "/usr/include/stdlib.h" 1 3 4 | |
| #65 "/usr/include/stdlib.h" 3 4 | |
| #1 "/usr/include/sys/wait.h" 1 3 4 | |
| #79 "/usr/include/sys/wait.h" 3 4 | |
| typedef enum { | |
| P_ALL, | |
| P_PID, | |
| P_PGID | |
| } idtype_t; | |
| #1 "/usr/include/sys/_types/_pid_t.h" 1 3 4 | |
| #30 "/usr/include/sys/_types/_pid_t.h" 3 4 | |
| typedef __darwin_pid_t pid_t; | |
| #90 "/usr/include/sys/wait.h" 2 3 4 | |
| #1 "/usr/include/sys/_types/_id_t.h" 1 3 4 | |
| #30 "/usr/include/sys/_types/_id_t.h" 3 4 | |
| typedef __darwin_id_t id_t; | |
| #91 "/usr/include/sys/wait.h" 2 3 4 | |
| #109 "/usr/include/sys/wait.h" 3 4 | |
| #1 "/usr/include/sys/signal.h" 1 3 4 | |
| #73 "/usr/include/sys/signal.h" 3 4 | |
| #1 "/usr/include/sys/appleapiopts.h" 1 3 4 | |
| #74 "/usr/include/sys/signal.h" 2 3 4 | |
| #1 "/usr/include/machine/signal.h" 1 3 4 | |
| #32 "/usr/include/machine/signal.h" 3 4 | |
| #1 "/usr/include/i386/signal.h" 1 3 4 | |
| #39 "/usr/include/i386/signal.h" 3 4 | |
| typedef int sig_atomic_t; | |
| #33 "/usr/include/machine/signal.h" 2 3 4 | |
| #82 "/usr/include/sys/signal.h" 2 3 4 | |
| #145 "/usr/include/sys/signal.h" 3 4 | |
| #1 "/usr/include/machine/_mcontext.h" 1 3 4 | |
| #29 "/usr/include/machine/_mcontext.h" 3 4 | |
| #1 "/usr/include/i386/_mcontext.h" 1 3 4 | |
| #33 "/usr/include/i386/_mcontext.h" 3 4 | |
| #1 "/usr/include/mach/i386/_structs.h" 1 3 4 | |
| #43 "/usr/include/mach/i386/_structs.h" 3 4 | |
| struct __darwin_i386_thread_state { | |
| unsigned int __eax; | |
| unsigned int __ebx; | |
| unsigned int __ecx; | |
| unsigned int __edx; | |
| unsigned int __edi; | |
| unsigned int __esi; | |
| unsigned int __ebp; | |
| unsigned int __esp; | |
| unsigned int __ss; | |
| unsigned int __eflags; | |
| unsigned int __eip; | |
| unsigned int __cs; | |
| unsigned int __ds; | |
| unsigned int __es; | |
| unsigned int __fs; | |
| unsigned int __gs; | |
| }; | |
| #89 "/usr/include/mach/i386/_structs.h" 3 4 | |
| struct __darwin_fp_control { | |
| unsigned short __invalid | |
| : 1, | |
| __denorm : 1, | |
| __zdiv : 1, | |
| __ovrfl : 1, | |
| __undfl : 1, | |
| __precis : 1, | |
| : 2, | |
| __pc : 2, | |
| __rc | |
| : 2, | |
| : 1, | |
| : 3; | |
| }; | |
| typedef struct __darwin_fp_control __darwin_fp_control_t; | |
| #147 "/usr/include/mach/i386/_structs.h" 3 4 | |
| struct __darwin_fp_status { | |
| unsigned short __invalid | |
| : 1, | |
| __denorm : 1, | |
| __zdiv : 1, | |
| __ovrfl | |
| : 1, | |
| __undfl | |
| : 1, | |
| __precis | |
| : 1, | |
| __stkflt | |
| : 1, | |
| __errsumm | |
| : 1, | |
| __c0 : 1, | |
| __c1 : 1, | |
| __c2 : 1, | |
| __tos : 3, | |
| __c3 : 1, | |
| __busy | |
| : 1; | |
| }; | |
| typedef struct __darwin_fp_status __darwin_fp_status_t; | |
| #191 "/usr/include/mach/i386/_structs.h" 3 4 | |
| struct __darwin_mmst_reg { | |
| char __mmst_reg[10]; | |
| char __mmst_rsrv[6]; | |
| }; | |
| #210 "/usr/include/mach/i386/_structs.h" 3 4 | |
| struct __darwin_xmm_reg { | |
| char __xmm_reg[16]; | |
| }; | |
| #232 "/usr/include/mach/i386/_structs.h" 3 4 | |
| struct __darwin_i386_float_state { | |
| int __fpu_reserved[2]; | |
| struct __darwin_fp_control __fpu_fcw; | |
| struct __darwin_fp_status __fpu_fsw; | |
| __uint8_t __fpu_ftw; | |
| __uint8_t __fpu_rsrv1; | |
| __uint16_t __fpu_fop; | |
| __uint32_t __fpu_ip; | |
| __uint16_t __fpu_cs; | |
| __uint16_t __fpu_rsrv2; | |
| __uint32_t __fpu_dp; | |
| __uint16_t __fpu_ds; | |
| __uint16_t __fpu_rsrv3; | |
| __uint32_t __fpu_mxcsr; | |
| __uint32_t __fpu_mxcsrmask; | |
| struct __darwin_mmst_reg __fpu_stmm0; | |
| struct __darwin_mmst_reg __fpu_stmm1; | |
| struct __darwin_mmst_reg __fpu_stmm2; | |
| struct __darwin_mmst_reg __fpu_stmm3; | |
| struct __darwin_mmst_reg __fpu_stmm4; | |
| struct __darwin_mmst_reg __fpu_stmm5; | |
| struct __darwin_mmst_reg __fpu_stmm6; | |
| struct __darwin_mmst_reg __fpu_stmm7; | |
| struct __darwin_xmm_reg __fpu_xmm0; | |
| struct __darwin_xmm_reg __fpu_xmm1; | |
| struct __darwin_xmm_reg __fpu_xmm2; | |
| struct __darwin_xmm_reg __fpu_xmm3; | |
| struct __darwin_xmm_reg __fpu_xmm4; | |
| struct __darwin_xmm_reg __fpu_xmm5; | |
| struct __darwin_xmm_reg __fpu_xmm6; | |
| struct __darwin_xmm_reg __fpu_xmm7; | |
| char __fpu_rsrv4[14 * 16]; | |
| int __fpu_reserved1; | |
| }; | |
| struct __darwin_i386_avx_state { | |
| int __fpu_reserved[2]; | |
| struct __darwin_fp_control __fpu_fcw; | |
| struct __darwin_fp_status __fpu_fsw; | |
| __uint8_t __fpu_ftw; | |
| __uint8_t __fpu_rsrv1; | |
| __uint16_t __fpu_fop; | |
| __uint32_t __fpu_ip; | |
| __uint16_t __fpu_cs; | |
| __uint16_t __fpu_rsrv2; | |
| __uint32_t __fpu_dp; | |
| __uint16_t __fpu_ds; | |
| __uint16_t __fpu_rsrv3; | |
| __uint32_t __fpu_mxcsr; | |
| __uint32_t __fpu_mxcsrmask; | |
| struct __darwin_mmst_reg __fpu_stmm0; | |
| struct __darwin_mmst_reg __fpu_stmm1; | |
| struct __darwin_mmst_reg __fpu_stmm2; | |
| struct __darwin_mmst_reg __fpu_stmm3; | |
| struct __darwin_mmst_reg __fpu_stmm4; | |
| struct __darwin_mmst_reg __fpu_stmm5; | |
| struct __darwin_mmst_reg __fpu_stmm6; | |
| struct __darwin_mmst_reg __fpu_stmm7; | |
| struct __darwin_xmm_reg __fpu_xmm0; | |
| struct __darwin_xmm_reg __fpu_xmm1; | |
| struct __darwin_xmm_reg __fpu_xmm2; | |
| struct __darwin_xmm_reg __fpu_xmm3; | |
| struct __darwin_xmm_reg __fpu_xmm4; | |
| struct __darwin_xmm_reg __fpu_xmm5; | |
| struct __darwin_xmm_reg __fpu_xmm6; | |
| struct __darwin_xmm_reg __fpu_xmm7; | |
| char __fpu_rsrv4[14 * 16]; | |
| int __fpu_reserved1; | |
| char __avx_reserved1[64]; | |
| struct __darwin_xmm_reg __fpu_ymmh0; | |
| struct __darwin_xmm_reg __fpu_ymmh1; | |
| struct __darwin_xmm_reg __fpu_ymmh2; | |
| struct __darwin_xmm_reg __fpu_ymmh3; | |
| struct __darwin_xmm_reg __fpu_ymmh4; | |
| struct __darwin_xmm_reg __fpu_ymmh5; | |
| struct __darwin_xmm_reg __fpu_ymmh6; | |
| struct __darwin_xmm_reg __fpu_ymmh7; | |
| }; | |
| #402 "/usr/include/mach/i386/_structs.h" 3 4 | |
| struct __darwin_i386_exception_state { | |
| __uint16_t __trapno; | |
| __uint16_t __cpu; | |
| __uint32_t __err; | |
| __uint32_t __faultvaddr; | |
| }; | |
| #422 "/usr/include/mach/i386/_structs.h" 3 4 | |
| struct __darwin_x86_debug_state32 { | |
| unsigned int __dr0; | |
| unsigned int __dr1; | |
| unsigned int __dr2; | |
| unsigned int __dr3; | |
| unsigned int __dr4; | |
| unsigned int __dr5; | |
| unsigned int __dr6; | |
| unsigned int __dr7; | |
| }; | |
| #454 "/usr/include/mach/i386/_structs.h" 3 4 | |
| struct __darwin_x86_thread_state64 { | |
| __uint64_t __rax; | |
| __uint64_t __rbx; | |
| __uint64_t __rcx; | |
| __uint64_t __rdx; | |
| __uint64_t __rdi; | |
| __uint64_t __rsi; | |
| __uint64_t __rbp; | |
| __uint64_t __rsp; | |
| __uint64_t __r8; | |
| __uint64_t __r9; | |
| __uint64_t __r10; | |
| __uint64_t __r11; | |
| __uint64_t __r12; | |
| __uint64_t __r13; | |
| __uint64_t __r14; | |
| __uint64_t __r15; | |
| __uint64_t __rip; | |
| __uint64_t __rflags; | |
| __uint64_t __cs; | |
| __uint64_t __fs; | |
| __uint64_t __gs; | |
| }; | |
| #509 "/usr/include/mach/i386/_structs.h" 3 4 | |
| struct __darwin_x86_float_state64 { | |
| int __fpu_reserved[2]; | |
| struct __darwin_fp_control __fpu_fcw; | |
| struct __darwin_fp_status __fpu_fsw; | |
| __uint8_t __fpu_ftw; | |
| __uint8_t __fpu_rsrv1; | |
| __uint16_t __fpu_fop; | |
| __uint32_t __fpu_ip; | |
| __uint16_t __fpu_cs; | |
| __uint16_t __fpu_rsrv2; | |
| __uint32_t __fpu_dp; | |
| __uint16_t __fpu_ds; | |
| __uint16_t __fpu_rsrv3; | |
| __uint32_t __fpu_mxcsr; | |
| __uint32_t __fpu_mxcsrmask; | |
| struct __darwin_mmst_reg __fpu_stmm0; | |
| struct __darwin_mmst_reg __fpu_stmm1; | |
| struct __darwin_mmst_reg __fpu_stmm2; | |
| struct __darwin_mmst_reg __fpu_stmm3; | |
| struct __darwin_mmst_reg __fpu_stmm4; | |
| struct __darwin_mmst_reg __fpu_stmm5; | |
| struct __darwin_mmst_reg __fpu_stmm6; | |
| struct __darwin_mmst_reg __fpu_stmm7; | |
| struct __darwin_xmm_reg __fpu_xmm0; | |
| struct __darwin_xmm_reg __fpu_xmm1; | |
| struct __darwin_xmm_reg __fpu_xmm2; | |
| struct __darwin_xmm_reg __fpu_xmm3; | |
| struct __darwin_xmm_reg __fpu_xmm4; | |
| struct __darwin_xmm_reg __fpu_xmm5; | |
| struct __darwin_xmm_reg __fpu_xmm6; | |
| struct __darwin_xmm_reg __fpu_xmm7; | |
| struct __darwin_xmm_reg __fpu_xmm8; | |
| struct __darwin_xmm_reg __fpu_xmm9; | |
| struct __darwin_xmm_reg __fpu_xmm10; | |
| struct __darwin_xmm_reg __fpu_xmm11; | |
| struct __darwin_xmm_reg __fpu_xmm12; | |
| struct __darwin_xmm_reg __fpu_xmm13; | |
| struct __darwin_xmm_reg __fpu_xmm14; | |
| struct __darwin_xmm_reg __fpu_xmm15; | |
| char __fpu_rsrv4[6 * 16]; | |
| int __fpu_reserved1; | |
| }; | |
| struct __darwin_x86_avx_state64 { | |
| int __fpu_reserved[2]; | |
| struct __darwin_fp_control __fpu_fcw; | |
| struct __darwin_fp_status __fpu_fsw; | |
| __uint8_t __fpu_ftw; | |
| __uint8_t __fpu_rsrv1; | |
| __uint16_t __fpu_fop; | |
| __uint32_t __fpu_ip; | |
| __uint16_t __fpu_cs; | |
| __uint16_t __fpu_rsrv2; | |
| __uint32_t __fpu_dp; | |
| __uint16_t __fpu_ds; | |
| __uint16_t __fpu_rsrv3; | |
| __uint32_t __fpu_mxcsr; | |
| __uint32_t __fpu_mxcsrmask; | |
| struct __darwin_mmst_reg __fpu_stmm0; | |
| struct __darwin_mmst_reg __fpu_stmm1; | |
| struct __darwin_mmst_reg __fpu_stmm2; | |
| struct __darwin_mmst_reg __fpu_stmm3; | |
| struct __darwin_mmst_reg __fpu_stmm4; | |
| struct __darwin_mmst_reg __fpu_stmm5; | |
| struct __darwin_mmst_reg __fpu_stmm6; | |
| struct __darwin_mmst_reg __fpu_stmm7; | |
| struct __darwin_xmm_reg __fpu_xmm0; | |
| struct __darwin_xmm_reg __fpu_xmm1; | |
| struct __darwin_xmm_reg __fpu_xmm2; | |
| struct __darwin_xmm_reg __fpu_xmm3; | |
| struct __darwin_xmm_reg __fpu_xmm4; | |
| struct __darwin_xmm_reg __fpu_xmm5; | |
| struct __darwin_xmm_reg __fpu_xmm6; | |
| struct __darwin_xmm_reg __fpu_xmm7; | |
| struct __darwin_xmm_reg __fpu_xmm8; | |
| struct __darwin_xmm_reg __fpu_xmm9; | |
| struct __darwin_xmm_reg __fpu_xmm10; | |
| struct __darwin_xmm_reg __fpu_xmm11; | |
| struct __darwin_xmm_reg __fpu_xmm12; | |
| struct __darwin_xmm_reg __fpu_xmm13; | |
| struct __darwin_xmm_reg __fpu_xmm14; | |
| struct __darwin_xmm_reg __fpu_xmm15; | |
| char __fpu_rsrv4[6 * 16]; | |
| int __fpu_reserved1; | |
| char __avx_reserved1[64]; | |
| struct __darwin_xmm_reg __fpu_ymmh0; | |
| struct __darwin_xmm_reg __fpu_ymmh1; | |
| struct __darwin_xmm_reg __fpu_ymmh2; | |
| struct __darwin_xmm_reg __fpu_ymmh3; | |
| struct __darwin_xmm_reg __fpu_ymmh4; | |
| struct __darwin_xmm_reg __fpu_ymmh5; | |
| struct __darwin_xmm_reg __fpu_ymmh6; | |
| struct __darwin_xmm_reg __fpu_ymmh7; | |
| struct __darwin_xmm_reg __fpu_ymmh8; | |
| struct __darwin_xmm_reg __fpu_ymmh9; | |
| struct __darwin_xmm_reg __fpu_ymmh10; | |
| struct __darwin_xmm_reg __fpu_ymmh11; | |
| struct __darwin_xmm_reg __fpu_ymmh12; | |
| struct __darwin_xmm_reg __fpu_ymmh13; | |
| struct __darwin_xmm_reg __fpu_ymmh14; | |
| struct __darwin_xmm_reg __fpu_ymmh15; | |
| }; | |
| #751 "/usr/include/mach/i386/_structs.h" 3 4 | |
| struct __darwin_x86_exception_state64 { | |
| __uint16_t __trapno; | |
| __uint16_t __cpu; | |
| __uint32_t __err; | |
| __uint64_t __faultvaddr; | |
| }; | |
| #771 "/usr/include/mach/i386/_structs.h" 3 4 | |
| struct __darwin_x86_debug_state64 { | |
| __uint64_t __dr0; | |
| __uint64_t __dr1; | |
| __uint64_t __dr2; | |
| __uint64_t __dr3; | |
| __uint64_t __dr4; | |
| __uint64_t __dr5; | |
| __uint64_t __dr6; | |
| __uint64_t __dr7; | |
| }; | |
| #34 "/usr/include/i386/_mcontext.h" 2 3 4 | |
| struct __darwin_mcontext32 { | |
| struct __darwin_i386_exception_state __es; | |
| struct __darwin_i386_thread_state __ss; | |
| struct __darwin_i386_float_state __fs; | |
| }; | |
| struct __darwin_mcontext_avx32 { | |
| struct __darwin_i386_exception_state __es; | |
| struct __darwin_i386_thread_state __ss; | |
| struct __darwin_i386_avx_state __fs; | |
| }; | |
| #76 "/usr/include/i386/_mcontext.h" 3 4 | |
| struct __darwin_mcontext64 { | |
| struct __darwin_x86_exception_state64 __es; | |
| struct __darwin_x86_thread_state64 __ss; | |
| struct __darwin_x86_float_state64 __fs; | |
| }; | |
| struct __darwin_mcontext_avx64 { | |
| struct __darwin_x86_exception_state64 __es; | |
| struct __darwin_x86_thread_state64 __ss; | |
| struct __darwin_x86_avx_state64 __fs; | |
| }; | |
| #115 "/usr/include/i386/_mcontext.h" 3 4 | |
| typedef struct __darwin_mcontext64 *mcontext_t; | |
| #30 "/usr/include/machine/_mcontext.h" 2 3 4 | |
| #146 "/usr/include/sys/signal.h" 2 3 4 | |
| #1 "/usr/include/sys/_types/_sigaltstack.h" 1 3 4 | |
| #36 "/usr/include/sys/_types/_sigaltstack.h" 3 4 | |
| struct __darwin_sigaltstack { | |
| void *ss_sp; | |
| __darwin_size_t ss_size; | |
| int ss_flags; | |
| }; | |
| typedef struct __darwin_sigaltstack stack_t; | |
| #147 "/usr/include/sys/signal.h" 2 3 4 | |
| #1 "/usr/include/sys/_types/_ucontext.h" 1 3 4 | |
| #34 "/usr/include/sys/_types/_ucontext.h" 3 4 | |
| struct __darwin_ucontext { | |
| int uc_onstack; | |
| __darwin_sigset_t uc_sigmask; | |
| struct __darwin_sigaltstack uc_stack; | |
| struct __darwin_ucontext *uc_link; | |
| __darwin_size_t uc_mcsize; | |
| struct __darwin_mcontext64 *uc_mcontext; | |
| }; | |
| typedef struct __darwin_ucontext ucontext_t; | |
| #148 "/usr/include/sys/signal.h" 2 3 4 | |
| #1 "/usr/include/sys/_types/_pthread_attr_t.h" 1 3 4 | |
| #30 "/usr/include/sys/_types/_pthread_attr_t.h" 3 4 | |
| typedef __darwin_pthread_attr_t pthread_attr_t; | |
| #151 "/usr/include/sys/signal.h" 2 3 4 | |
| #1 "/usr/include/sys/_types/_sigset_t.h" 1 3 4 | |
| #30 "/usr/include/sys/_types/_sigset_t.h" 3 4 | |
| typedef __darwin_sigset_t sigset_t; | |
| #152 "/usr/include/sys/signal.h" 2 3 4 | |
| #1 "/usr/include/sys/_types/_uid_t.h" 1 3 4 | |
| #30 "/usr/include/sys/_types/_uid_t.h" 3 4 | |
| typedef __darwin_uid_t uid_t; | |
| #154 "/usr/include/sys/signal.h" 2 3 4 | |
| union sigval { | |
| int sival_int; | |
| void *sival_ptr; | |
| }; | |
| struct sigevent { | |
| int sigev_notify; | |
| int sigev_signo; | |
| union sigval sigev_value; | |
| void (*sigev_notify_function)(union sigval); | |
| pthread_attr_t *sigev_notify_attributes; | |
| }; | |
| typedef struct __siginfo { | |
| int si_signo; | |
| int si_errno; | |
| int si_code; | |
| pid_t si_pid; | |
| uid_t si_uid; | |
| int si_status; | |
| void *si_addr; | |
| union sigval si_value; | |
| long si_band; | |
| unsigned long __pad[7]; | |
| } siginfo_t; | |
| #266 "/usr/include/sys/signal.h" 3 4 | |
| union __sigaction_u { | |
| void (*__sa_handler)(int); | |
| void (*__sa_sigaction)(int, struct __siginfo *, void *); | |
| }; | |
| struct __sigaction { | |
| union __sigaction_u __sigaction_u; | |
| void (*sa_tramp)(void *, int, int, siginfo_t *, void *); | |
| sigset_t sa_mask; | |
| int sa_flags; | |
| }; | |
| struct sigaction { | |
| union __sigaction_u __sigaction_u; | |
| sigset_t sa_mask; | |
| int sa_flags; | |
| }; | |
| #328 "/usr/include/sys/signal.h" 3 4 | |
| typedef void (*sig_t)(int); | |
| #345 "/usr/include/sys/signal.h" 3 4 | |
| struct sigvec { | |
| void (*sv_handler)(int); | |
| int sv_mask; | |
| int sv_flags; | |
| }; | |
| #364 "/usr/include/sys/signal.h" 3 4 | |
| struct sigstack { | |
| char *ss_sp; | |
| int ss_onstack; | |
| }; | |
| #387 "/usr/include/sys/signal.h" 3 4 | |
| void (*signal(int, void (*)(int)))(int); | |
| #110 "/usr/include/sys/wait.h" 2 3 4 | |
| #1 "/usr/include/sys/resource.h" 1 3 4 | |
| #72 "/usr/include/sys/resource.h" 3 4 | |
| #1 "/usr/local/Cellar/llvm/3.3/bin/../lib/clang/3.4/include/stdint.h" 1 3 4 | |
| #64 "/usr/local/Cellar/llvm/3.3/bin/../lib/clang/3.4/include/stdint.h" 3 4 | |
| #1 "/usr/include/stdint.h" 1 3 4 | |
| #18 "/usr/include/stdint.h" 3 4 | |
| #1 "/usr/include/sys/_types/_int8_t.h" 1 3 4 | |
| #30 "/usr/include/sys/_types/_int8_t.h" 3 4 | |
| typedef signed char int8_t; | |
| #19 "/usr/include/stdint.h" 2 3 4 | |
| #1 "/usr/include/sys/_types/_int16_t.h" 1 3 4 | |
| #30 "/usr/include/sys/_types/_int16_t.h" 3 4 | |
| typedef short int16_t; | |
| #20 "/usr/include/stdint.h" 2 3 4 | |
| #1 "/usr/include/sys/_types/_int32_t.h" 1 3 4 | |
| #30 "/usr/include/sys/_types/_int32_t.h" 3 4 | |
| typedef int int32_t; | |
| #21 "/usr/include/stdint.h" 2 3 4 | |
| #1 "/usr/include/sys/_types/_int64_t.h" 1 3 4 | |
| #30 "/usr/include/sys/_types/_int64_t.h" 3 4 | |
| typedef long long int64_t; | |
| #22 "/usr/include/stdint.h" 2 3 4 | |
| #1 "/usr/include/_types/_uint8_t.h" 1 3 4 | |
| #31 "/usr/include/_types/_uint8_t.h" 3 4 | |
| typedef unsigned char uint8_t; | |
| #24 "/usr/include/stdint.h" 2 3 4 | |
| #1 "/usr/include/_types/_uint16_t.h" 1 3 4 | |
| #31 "/usr/include/_types/_uint16_t.h" 3 4 | |
| typedef unsigned short uint16_t; | |
| #25 "/usr/include/stdint.h" 2 3 4 | |
| #1 "/usr/include/_types/_uint32_t.h" 1 3 4 | |
| #31 "/usr/include/_types/_uint32_t.h" 3 4 | |
| typedef unsigned int uint32_t; | |
| #26 "/usr/include/stdint.h" 2 3 4 | |
| #1 "/usr/include/_types/_uint64_t.h" 1 3 4 | |
| #31 "/usr/include/_types/_uint64_t.h" 3 4 | |
| typedef unsigned long long uint64_t; | |
| #27 "/usr/include/stdint.h" 2 3 4 | |
| typedef int8_t int_least8_t; | |
| typedef int16_t int_least16_t; | |
| typedef int32_t int_least32_t; | |
| typedef int64_t int_least64_t; | |
| typedef uint8_t uint_least8_t; | |
| typedef uint16_t uint_least16_t; | |
| typedef uint32_t uint_least32_t; | |
| typedef uint64_t uint_least64_t; | |
| typedef int8_t int_fast8_t; | |
| typedef int16_t int_fast16_t; | |
| typedef int32_t int_fast32_t; | |
| typedef int64_t int_fast64_t; | |
| typedef uint8_t uint_fast8_t; | |
| typedef uint16_t uint_fast16_t; | |
| typedef uint32_t uint_fast32_t; | |
| typedef uint64_t uint_fast64_t; | |
| #1 "/usr/include/sys/_types/_intptr_t.h" 1 3 4 | |
| #30 "/usr/include/sys/_types/_intptr_t.h" 3 4 | |
| typedef __darwin_intptr_t intptr_t; | |
| #54 "/usr/include/stdint.h" 2 3 4 | |
| #1 "/usr/include/sys/_types/_uintptr_t.h" 1 3 4 | |
| #30 "/usr/include/sys/_types/_uintptr_t.h" 3 4 | |
| typedef unsigned long uintptr_t; | |
| #55 "/usr/include/stdint.h" 2 3 4 | |
| #1 "/usr/include/_types/_intmax_t.h" 1 3 4 | |
| #32 "/usr/include/_types/_intmax_t.h" 3 4 | |
| typedef long int intmax_t; | |
| #59 "/usr/include/stdint.h" 2 3 4 | |
| #1 "/usr/include/_types/_uintmax_t.h" 1 3 4 | |
| #32 "/usr/include/_types/_uintmax_t.h" 3 4 | |
| typedef long unsigned int uintmax_t; | |
| #60 "/usr/include/stdint.h" 2 3 4 | |
| #65 "/usr/local/Cellar/llvm/3.3/bin/../lib/clang/3.4/include/stdint.h" 2 3 4 | |
| #73 "/usr/include/sys/resource.h" 2 3 4 | |
| #1 "/usr/include/sys/_types/_timeval.h" 1 3 4 | |
| #30 "/usr/include/sys/_types/_timeval.h" 3 4 | |
| struct timeval { | |
| __darwin_time_t tv_sec; | |
| __darwin_suseconds_t tv_usec; | |
| }; | |
| #81 "/usr/include/sys/resource.h" 2 3 4 | |
| typedef __uint64_t rlim_t; | |
| #151 "/usr/include/sys/resource.h" 3 4 | |
| struct rusage { | |
| struct timeval ru_utime; | |
| struct timeval ru_stime; | |
| #162 "/usr/include/sys/resource.h" 3 4 | |
| long ru_maxrss; | |
| long ru_ixrss; | |
| long ru_idrss; | |
| long ru_isrss; | |
| long ru_minflt; | |
| long ru_majflt; | |
| long ru_nswap; | |
| long ru_inblock; | |
| long ru_oublock; | |
| long ru_msgsnd; | |
| long ru_msgrcv; | |
| long ru_nsignals; | |
| long ru_nvcsw; | |
| long ru_nivcsw; | |
| }; | |
| #190 "/usr/include/sys/resource.h" 3 4 | |
| typedef void *rusage_info_t; | |
| struct rusage_info_v0 { | |
| uint8_t ri_uuid[16]; | |
| uint64_t ri_user_time; | |
| uint64_t ri_system_time; | |
| uint64_t ri_pkg_idle_wkups; | |
| uint64_t ri_interrupt_wkups; | |
| uint64_t ri_pageins; | |
| uint64_t ri_wired_size; | |
| uint64_t ri_resident_size; | |
| uint64_t ri_phys_footprint; | |
| uint64_t ri_proc_start_abstime; | |
| uint64_t ri_proc_exit_abstime; | |
| }; | |
| struct rusage_info_v1 { | |
| uint8_t ri_uuid[16]; | |
| uint64_t ri_user_time; | |
| uint64_t ri_system_time; | |
| uint64_t ri_pkg_idle_wkups; | |
| uint64_t ri_interrupt_wkups; | |
| uint64_t ri_pageins; | |
| uint64_t ri_wired_size; | |
| uint64_t ri_resident_size; | |
| uint64_t ri_phys_footprint; | |
| uint64_t ri_proc_start_abstime; | |
| uint64_t ri_proc_exit_abstime; | |
| uint64_t ri_child_user_time; | |
| uint64_t ri_child_system_time; | |
| uint64_t ri_child_pkg_idle_wkups; | |
| uint64_t ri_child_interrupt_wkups; | |
| uint64_t ri_child_pageins; | |
| uint64_t ri_child_elapsed_abstime; | |
| }; | |
| struct rusage_info_v2 { | |
| uint8_t ri_uuid[16]; | |
| uint64_t ri_user_time; | |
| uint64_t ri_system_time; | |
| uint64_t ri_pkg_idle_wkups; | |
| uint64_t ri_interrupt_wkups; | |
| uint64_t ri_pageins; | |
| uint64_t ri_wired_size; | |
| uint64_t ri_resident_size; | |
| uint64_t ri_phys_footprint; | |
| uint64_t ri_proc_start_abstime; | |
| uint64_t ri_proc_exit_abstime; | |
| uint64_t ri_child_user_time; | |
| uint64_t ri_child_system_time; | |
| uint64_t ri_child_pkg_idle_wkups; | |
| uint64_t ri_child_interrupt_wkups; | |
| uint64_t ri_child_pageins; | |
| uint64_t ri_child_elapsed_abstime; | |
| uint64_t ri_diskio_bytesread; | |
| uint64_t ri_diskio_byteswritten; | |
| }; | |
| #290 "/usr/include/sys/resource.h" 3 4 | |
| struct rlimit { | |
| rlim_t rlim_cur; | |
| rlim_t rlim_max; | |
| }; | |
| #317 "/usr/include/sys/resource.h" 3 4 | |
| struct proc_rlimit_control_wakeupmon { | |
| uint32_t wm_flags; | |
| int32_t wm_rate; | |
| }; | |
| #347 "/usr/include/sys/resource.h" 3 4 | |
| int getpriority(int, id_t); | |
| int getiopolicy_np(int, int) | |
| __attribute__((availability(macosx, introduced = 10.5))); | |
| int getrlimit(int, struct rlimit *) __asm("_" | |
| "getrlimit"); | |
| int getrusage(int, struct rusage *); | |
| int setpriority(int, id_t, int); | |
| int setiopolicy_np(int, int, int) | |
| __attribute__((availability(macosx, introduced = 10.5))); | |
| int setrlimit(int, const struct rlimit *) __asm("_" | |
| "setrlimit"); | |
| #111 "/usr/include/sys/wait.h" 2 3 4 | |
| #186 "/usr/include/sys/wait.h" 3 4 | |
| #1 "/usr/include/machine/endian.h" 1 3 4 | |
| #35 "/usr/include/machine/endian.h" 3 4 | |
| #1 "/usr/include/i386/endian.h" 1 3 4 | |
| #99 "/usr/include/i386/endian.h" 3 4 | |
| #1 "/usr/include/sys/_endian.h" 1 3 4 | |
| #124 "/usr/include/sys/_endian.h" 3 4 | |
| #1 "/usr/include/libkern/_OSByteOrder.h" 1 3 4 | |
| #66 "/usr/include/libkern/_OSByteOrder.h" 3 4 | |
| #1 "/usr/include/libkern/i386/_OSByteOrder.h" 1 3 4 | |
| #44 "/usr/include/libkern/i386/_OSByteOrder.h" 3 4 | |
| static inline __uint16_t _OSSwapInt16(__uint16_t _data) { | |
| return ((__uint16_t)((_data << 8) | (_data >> 8))); | |
| } | |
| static inline __uint32_t _OSSwapInt32(__uint32_t _data) { | |
| return __builtin_bswap32(_data); | |
| } | |
| static inline __uint64_t _OSSwapInt64(__uint64_t _data) { | |
| return __builtin_bswap64(_data); | |
| } | |
| #67 "/usr/include/libkern/_OSByteOrder.h" 2 3 4 | |
| #125 "/usr/include/sys/_endian.h" 2 3 4 | |
| #100 "/usr/include/i386/endian.h" 2 3 4 | |
| #36 "/usr/include/machine/endian.h" 2 3 4 | |
| #187 "/usr/include/sys/wait.h" 2 3 4 | |
| union wait { | |
| int w_status; | |
| struct { | |
| unsigned int w_Termsig : 7, w_Coredump : 1, w_Retcode : 8, w_Filler : 16; | |
| } w_T; | |
| struct { | |
| unsigned int w_Stopval : 8, w_Stopsig : 8, w_Filler : 16; | |
| } w_S; | |
| }; | |
| #248 "/usr/include/sys/wait.h" 3 4 | |
| pid_t wait(int *) __asm("_" | |
| "wait"); | |
| pid_t waitpid(pid_t, int *, int) __asm("_" | |
| "waitpid"); | |
| int waitid(idtype_t, id_t, siginfo_t *, int) __asm("_" | |
| "waitid"); | |
| pid_t wait3(int *, int, struct rusage *); | |
| pid_t wait4(pid_t, int *, int, struct rusage *); | |
| #66 "/usr/include/stdlib.h" 2 3 4 | |
| #1 "/usr/include/alloca.h" 1 3 4 | |
| #32 "/usr/include/alloca.h" 3 4 | |
| void *alloca(size_t); | |
| #68 "/usr/include/stdlib.h" 2 3 4 | |
| #1 "/usr/include/sys/_types/_ct_rune_t.h" 1 3 4 | |
| #31 "/usr/include/sys/_types/_ct_rune_t.h" 3 4 | |
| typedef __darwin_ct_rune_t ct_rune_t; | |
| #77 "/usr/include/stdlib.h" 2 3 4 | |
| #1 "/usr/include/sys/_types/_rune_t.h" 1 3 4 | |
| #30 "/usr/include/sys/_types/_rune_t.h" 3 4 | |
| typedef __darwin_rune_t rune_t; | |
| #78 "/usr/include/stdlib.h" 2 3 4 | |
| #1 "/usr/include/sys/_types/_wchar_t.h" 1 3 4 | |
| #33 "/usr/include/sys/_types/_wchar_t.h" 3 4 | |
| typedef __darwin_wchar_t wchar_t; | |
| #81 "/usr/include/stdlib.h" 2 3 4 | |
| typedef struct { | |
| int quot; | |
| int rem; | |
| } div_t; | |
| typedef struct { | |
| long quot; | |
| long rem; | |
| } ldiv_t; | |
| typedef struct { | |
| long long quot; | |
| long long rem; | |
| } lldiv_t; | |
| #117 "/usr/include/stdlib.h" 3 4 | |
| extern int __mb_cur_max; | |
| #128 "/usr/include/stdlib.h" 3 4 | |
| void abort(void) __attribute__((noreturn)); | |
| int abs(int) __attribute__((const)); | |
| int atexit(void (*)(void)); | |
| double atof(const char *); | |
| int atoi(const char *); | |
| long atol(const char *); | |
| long long atoll(const char *); | |
| void *bsearch(const void *, const void *, size_t, size_t, | |
| int (*)(const void *, const void *)); | |
| void *calloc(size_t, size_t); | |
| div_t div(int, int) __attribute__((const)); | |
| void exit(int) __attribute__((noreturn)); | |
| void free(void *); | |
| char *getenv(const char *); | |
| long labs(long) __attribute__((const)); | |
| ldiv_t ldiv(long, long) __attribute__((const)); | |
| long long llabs(long long); | |
| lldiv_t lldiv(long long, long long); | |
| void *malloc(size_t); | |
| int mblen(const char *, size_t); | |
| size_t mbstowcs(wchar_t *restrict, const char *restrict, size_t); | |
| int mbtowc(wchar_t *restrict, const char *restrict, size_t); | |
| int posix_memalign(void **, size_t, size_t) | |
| __attribute__((availability(macosx, introduced = 10.6))); | |
| void qsort(void *, size_t, size_t, int (*)(const void *, const void *)); | |
| int rand(void); | |
| void *realloc(void *, size_t); | |
| void srand(unsigned); | |
| double strtod(const char *, char **) __asm("_" | |
| "strtod"); | |
| float strtof(const char *, char **) __asm("_" | |
| "strtof"); | |
| long strtol(const char *, char **, int); | |
| long double strtold(const char *, char **); | |
| long long strtoll(const char *, char **, int); | |
| unsigned long strtoul(const char *, char **, int); | |
| unsigned long long strtoull(const char *, char **, int); | |
| int system(const char *) __asm("_" | |
| "system"); | |
| size_t wcstombs(char *restrict, const wchar_t *restrict, size_t); | |
| int wctomb(char *, wchar_t); | |
| void _Exit(int) __attribute__((noreturn)); | |
| long a64l(const char *); | |
| double drand48(void); | |
| char *ecvt(double, int, int *restrict, int *restrict); | |
| double erand48(unsigned short[3]); | |
| char *fcvt(double, int, int *restrict, int *restrict); | |
| char *gcvt(double, int, char *); | |
| int getsubopt(char **, char *const *, char **); | |
| int grantpt(int); | |
| char *initstate(unsigned, char *, size_t); | |
| long jrand48(unsigned short[3]); | |
| char *l64a(long); | |
| void lcong48(unsigned short[7]); | |
| long lrand48(void); | |
| char *mktemp(char *); | |
| int mkstemp(char *); | |
| long mrand48(void); | |
| long nrand48(unsigned short[3]); | |
| int posix_openpt(int); | |
| char *ptsname(int); | |
| int putenv(char *) __asm("_" | |
| "putenv"); | |
| long random(void); | |
| int rand_r(unsigned *); | |
| char *realpath(const char *restrict, char *restrict) __asm("_" | |
| "realpath" | |
| "$DARWIN_EXTSN"); | |
| unsigned short *seed48(unsigned short[3]); | |
| int setenv(const char *, const char *, int) __asm("_" | |
| "setenv"); | |
| void setkey(const char *) __asm("_" | |
| "setkey"); | |
| char *setstate(const char *); | |
| void srand48(long); | |
| void srandom(unsigned); | |
| int unlockpt(int); | |
| int unsetenv(const char *) __asm("_" | |
| "unsetenv"); | |
| #1 "/usr/include/machine/types.h" 1 3 4 | |
| #35 "/usr/include/machine/types.h" 3 4 | |
| #1 "/usr/include/i386/types.h" 1 3 4 | |
| #81 "/usr/include/i386/types.h" 3 4 | |
| typedef unsigned char u_int8_t; | |
| typedef unsigned short u_int16_t; | |
| typedef unsigned int u_int32_t; | |
| typedef unsigned long long u_int64_t; | |
| typedef int64_t register_t; | |
| #97 "/usr/include/i386/types.h" 3 4 | |
| typedef u_int64_t user_addr_t; | |
| typedef u_int64_t user_size_t; | |
| typedef int64_t user_ssize_t; | |
| typedef int64_t user_long_t; | |
| typedef u_int64_t user_ulong_t; | |
| typedef int64_t user_time_t; | |
| typedef int64_t user_off_t; | |
| typedef u_int64_t syscall_arg_t; | |
| #1 "/usr/include/sys/_types/___offsetof.h" 1 3 4 | |
| #114 "/usr/include/i386/types.h" 2 3 4 | |
| #36 "/usr/include/machine/types.h" 2 3 4 | |
| #239 "/usr/include/stdlib.h" 2 3 4 | |
| #1 "/usr/include/sys/_types/_dev_t.h" 1 3 4 | |
| #30 "/usr/include/sys/_types/_dev_t.h" 3 4 | |
| typedef __darwin_dev_t dev_t; | |
| #241 "/usr/include/stdlib.h" 2 3 4 | |
| #1 "/usr/include/sys/_types/_mode_t.h" 1 3 4 | |
| #30 "/usr/include/sys/_types/_mode_t.h" 3 4 | |
| typedef __darwin_mode_t mode_t; | |
| #242 "/usr/include/stdlib.h" 2 3 4 | |
| u_int32_t arc4random(void); | |
| void arc4random_addrandom(unsigned char *, int); | |
| void arc4random_buf(void *, size_t) | |
| __attribute__((availability(macosx, introduced = 10.7))); | |
| void arc4random_stir(void); | |
| u_int32_t arc4random_uniform(u_int32_t) | |
| __attribute__((availability(macosx, introduced = 10.7))); | |
| int atexit_b(void (^)(void)) | |
| __attribute__((availability(macosx, introduced = 10.6))); | |
| void *bsearch_b(const void *, const void *, size_t, size_t, | |
| int (^)(const void *, const void *)) | |
| __attribute__((availability(macosx, introduced = 10.6))); | |
| char *cgetcap(char *, const char *, int); | |
| int cgetclose(void); | |
| int cgetent(char **, char **, const char *); | |
| int cgetfirst(char **, char **); | |
| int cgetmatch(const char *, const char *); | |
| int cgetnext(char **, char **); | |
| int cgetnum(char *, const char *, long *); | |
| int cgetset(const char *); | |
| int cgetstr(char *, const char *, char **); | |
| int cgetustr(char *, const char *, char **); | |
| int daemon(int, int) __asm("_" | |
| "daemon" | |
| "$1050") | |
| __attribute__((availability(macosx, introduced = 10.0, deprecated = 10.5))); | |
| char *devname(dev_t, mode_t); | |
| char *devname_r(dev_t, mode_t, char *buf, int len); | |
| char *getbsize(int *, long *); | |
| int getloadavg(double[], int); | |
| const char *getprogname(void); | |
| int heapsort(void *, size_t, size_t, int (*)(const void *, const void *)); | |
| int heapsort_b(void *, size_t, size_t, int (^)(const void *, const void *)) | |
| __attribute__((availability(macosx, introduced = 10.6))); | |
| int mergesort(void *, size_t, size_t, int (*)(const void *, const void *)); | |
| int mergesort_b(void *, size_t, size_t, int (^)(const void *, const void *)) | |
| __attribute__((availability(macosx, introduced = 10.6))); | |
| void psort(void *, size_t, size_t, int (*)(const void *, const void *)) | |
| __attribute__((availability(macosx, introduced = 10.6))); | |
| void psort_b(void *, size_t, size_t, int (^)(const void *, const void *)) | |
| __attribute__((availability(macosx, introduced = 10.6))); | |
| void psort_r(void *, size_t, size_t, void *, | |
| int (*)(void *, const void *, const void *)) | |
| __attribute__((availability(macosx, introduced = 10.6))); | |
| void qsort_b(void *, size_t, size_t, int (^)(const void *, const void *)) | |
| __attribute__((availability(macosx, introduced = 10.6))); | |
| void qsort_r(void *, size_t, size_t, void *, | |
| int (*)(void *, const void *, const void *)); | |
| int radixsort(const unsigned char **, int, const unsigned char *, unsigned); | |
| void setprogname(const char *); | |
| int sradixsort(const unsigned char **, int, const unsigned char *, unsigned); | |
| void sranddev(void); | |
| void srandomdev(void); | |
| void *reallocf(void *, size_t); | |
| long long strtoq(const char *, char **, int); | |
| unsigned long long strtouq(const char *, char **, int); | |
| extern char *suboptarg; | |
| void *valloc(size_t); | |
| #22 "t-get_d_2exp.c" 2 | |
| #1 "../../gmp.h" 1 | |
| #53 "../../gmp.h" | |
| #1 "/usr/local/Cellar/llvm/3.3/bin/../lib/clang/3.4/include/stddef.h" 1 3 4 | |
| #34 "/usr/local/Cellar/llvm/3.3/bin/../lib/clang/3.4/include/stddef.h" 3 4 | |
| typedef long int ptrdiff_t; | |
| #53 "/usr/local/Cellar/llvm/3.3/bin/../lib/clang/3.4/include/stddef.h" 3 4 | |
| typedef long unsigned int rsize_t; | |
| #54 "../../gmp.h" 2 | |
| #140 "../../gmp.h" | |
| typedef unsigned long int mp_limb_t; | |
| typedef long int mp_limb_signed_t; | |
| typedef unsigned long int mp_bitcnt_t; | |
| typedef struct { | |
| int _mp_alloc; | |
| int _mp_size; | |
| mp_limb_t *_mp_d; | |
| } __mpz_struct; | |
| typedef __mpz_struct MP_INT; | |
| typedef __mpz_struct mpz_t[1]; | |
| typedef mp_limb_t *mp_ptr; | |
| typedef const mp_limb_t *mp_srcptr; | |
| typedef long int mp_size_t; | |
| typedef long int mp_exp_t; | |
| typedef struct { | |
| __mpz_struct _mp_num; | |
| __mpz_struct _mp_den; | |
| } __mpq_struct; | |
| typedef __mpq_struct MP_RAT; | |
| typedef __mpq_struct mpq_t[1]; | |
| typedef struct { | |
| int _mp_prec; | |
| int _mp_size; | |
| mp_exp_t _mp_exp; | |
| mp_limb_t *_mp_d; | |
| } __mpf_struct; | |
| typedef __mpf_struct mpf_t[1]; | |
| typedef enum { | |
| GMP_RAND_ALG_DEFAULT = 0, | |
| GMP_RAND_ALG_LC = GMP_RAND_ALG_DEFAULT | |
| } gmp_randalg_t; | |
| typedef struct { | |
| mpz_t _mp_seed; | |
| gmp_randalg_t _mp_alg; | |
| union { | |
| void *_mp_lc; | |
| } _mp_algdata; | |
| } __gmp_randstate_struct; | |
| typedef __gmp_randstate_struct gmp_randstate_t[1]; | |
| typedef const __mpz_struct *mpz_srcptr; | |
| typedef __mpz_struct *mpz_ptr; | |
| typedef const __mpf_struct *mpf_srcptr; | |
| typedef __mpf_struct *mpf_ptr; | |
| typedef const __mpq_struct *mpq_srcptr; | |
| typedef __mpq_struct *mpq_ptr; | |
| #481 "../../gmp.h" | |
| void __gmp_set_memory_functions(void *(*)(size_t), | |
| void *(*)(void *, size_t, size_t), | |
| void (*)(void *, size_t)); | |
| void __gmp_get_memory_functions(void *(**)(size_t), | |
| void *(**)(void *, size_t, size_t), | |
| void (**)(void *, size_t)); | |
| extern const int __gmp_bits_per_limb; | |
| extern int __gmp_errno; | |
| extern const char *const __gmp_version; | |
| void __gmp_randinit(gmp_randstate_t, gmp_randalg_t, ...); | |
| void __gmp_randinit_default(gmp_randstate_t); | |
| void __gmp_randinit_lc_2exp(gmp_randstate_t, mpz_srcptr, unsigned long int, | |
| mp_bitcnt_t); | |
| int __gmp_randinit_lc_2exp_size(gmp_randstate_t, mp_bitcnt_t); | |
| void __gmp_randinit_mt(gmp_randstate_t); | |
| void __gmp_randinit_set(gmp_randstate_t, const __gmp_randstate_struct *); | |
| void __gmp_randseed(gmp_randstate_t, mpz_srcptr); | |
| void __gmp_randseed_ui(gmp_randstate_t, unsigned long int); | |
| void __gmp_randclear(gmp_randstate_t); | |
| unsigned long __gmp_urandomb_ui(gmp_randstate_t, unsigned long); | |
| unsigned long __gmp_urandomm_ui(gmp_randstate_t, unsigned long); | |
| int __gmp_asprintf(char **, const char *, ...); | |
| int __gmp_fprintf(FILE *, const char *, ...); | |
| #558 "../../gmp.h" | |
| int __gmp_printf(const char *, ...); | |
| int __gmp_snprintf(char *, size_t, const char *, ...); | |
| int __gmp_sprintf(char *, const char *, ...); | |
| #596 "../../gmp.h" | |
| int __gmp_fscanf(FILE *, const char *, ...); | |
| int __gmp_scanf(const char *, ...); | |
| int __gmp_sscanf(const char *, const char *, ...); | |
| #625 "../../gmp.h" | |
| void *__gmpz_realloc(mpz_ptr, mp_size_t); | |
| void __gmpz_abs(mpz_ptr, mpz_srcptr); | |
| void __gmpz_add(mpz_ptr, mpz_srcptr, mpz_srcptr); | |
| void __gmpz_add_ui(mpz_ptr, mpz_srcptr, unsigned long int); | |
| void __gmpz_addmul(mpz_ptr, mpz_srcptr, mpz_srcptr); | |
| void __gmpz_addmul_ui(mpz_ptr, mpz_srcptr, unsigned long int); | |
| void __gmpz_and(mpz_ptr, mpz_srcptr, mpz_srcptr); | |
| void __gmpz_array_init(mpz_ptr, mp_size_t, mp_size_t); | |
| void __gmpz_bin_ui(mpz_ptr, mpz_srcptr, unsigned long int); | |
| void __gmpz_bin_uiui(mpz_ptr, unsigned long int, unsigned long int); | |
| void __gmpz_cdiv_q(mpz_ptr, mpz_srcptr, mpz_srcptr); | |
| void __gmpz_cdiv_q_2exp(mpz_ptr, mpz_srcptr, mp_bitcnt_t); | |
| unsigned long int __gmpz_cdiv_q_ui(mpz_ptr, mpz_srcptr, unsigned long int); | |
| void __gmpz_cdiv_qr(mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); | |
| unsigned long int __gmpz_cdiv_qr_ui(mpz_ptr, mpz_ptr, mpz_srcptr, | |
| unsigned long int); | |
| void __gmpz_cdiv_r(mpz_ptr, mpz_srcptr, mpz_srcptr); | |
| void __gmpz_cdiv_r_2exp(mpz_ptr, mpz_srcptr, mp_bitcnt_t); | |
| unsigned long int __gmpz_cdiv_r_ui(mpz_ptr, mpz_srcptr, unsigned long int); | |
| unsigned long int __gmpz_cdiv_ui(mpz_srcptr, unsigned long int) | |
| __attribute__((__pure__)); | |
| void __gmpz_clear(mpz_ptr); | |
| void __gmpz_clears(mpz_ptr, ...); | |
| void __gmpz_clrbit(mpz_ptr, mp_bitcnt_t); | |
| int __gmpz_cmp(mpz_srcptr, mpz_srcptr) __attribute__((__pure__)); | |
| int __gmpz_cmp_d(mpz_srcptr, double) __attribute__((__pure__)); | |
| int __gmpz_cmp_si(mpz_srcptr, signed long int) __attribute__((__pure__)); | |
| int __gmpz_cmp_ui(mpz_srcptr, unsigned long int) __attribute__((__pure__)); | |
| int __gmpz_cmpabs(mpz_srcptr, mpz_srcptr) __attribute__((__pure__)); | |
| int __gmpz_cmpabs_d(mpz_srcptr, double) __attribute__((__pure__)); | |
| int __gmpz_cmpabs_ui(mpz_srcptr, unsigned long int) __attribute__((__pure__)); | |
| void __gmpz_com(mpz_ptr, mpz_srcptr); | |
| void __gmpz_combit(mpz_ptr, mp_bitcnt_t); | |
| int __gmpz_congruent_p(mpz_srcptr, mpz_srcptr, mpz_srcptr) | |
| __attribute__((__pure__)); | |
| int __gmpz_congruent_2exp_p(mpz_srcptr, mpz_srcptr, mp_bitcnt_t) | |
| __attribute__((__pure__)); | |
| int __gmpz_congruent_ui_p(mpz_srcptr, unsigned long, unsigned long) | |
| __attribute__((__pure__)); | |
| void __gmpz_divexact(mpz_ptr, mpz_srcptr, mpz_srcptr); | |
| void __gmpz_divexact_ui(mpz_ptr, mpz_srcptr, unsigned long); | |
| int __gmpz_divisible_p(mpz_srcptr, mpz_srcptr) __attribute__((__pure__)); | |
| int __gmpz_divisible_ui_p(mpz_srcptr, unsigned long) __attribute__((__pure__)); | |
| int __gmpz_divisible_2exp_p(mpz_srcptr, mp_bitcnt_t) __attribute__((__pure__)); | |
| void __gmpz_dump(mpz_srcptr); | |
| void *__gmpz_export(void *, size_t *, int, size_t, int, size_t, mpz_srcptr); | |
| void __gmpz_fac_ui(mpz_ptr, unsigned long int); | |
| void __gmpz_2fac_ui(mpz_ptr, unsigned long int); | |
| void __gmpz_mfac_uiui(mpz_ptr, unsigned long int, unsigned long int); | |
| void __gmpz_primorial_ui(mpz_ptr, unsigned long int); | |
| void __gmpz_fdiv_q(mpz_ptr, mpz_srcptr, mpz_srcptr); | |
| void __gmpz_fdiv_q_2exp(mpz_ptr, mpz_srcptr, mp_bitcnt_t); | |
| unsigned long int __gmpz_fdiv_q_ui(mpz_ptr, mpz_srcptr, unsigned long int); | |
| void __gmpz_fdiv_qr(mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); | |
| unsigned long int __gmpz_fdiv_qr_ui(mpz_ptr, mpz_ptr, mpz_srcptr, | |
| unsigned long int); | |
| void __gmpz_fdiv_r(mpz_ptr, mpz_srcptr, mpz_srcptr); | |
| void __gmpz_fdiv_r_2exp(mpz_ptr, mpz_srcptr, mp_bitcnt_t); | |
| unsigned long int __gmpz_fdiv_r_ui(mpz_ptr, mpz_srcptr, unsigned long int); | |
| unsigned long int __gmpz_fdiv_ui(mpz_srcptr, unsigned long int) | |
| __attribute__((__pure__)); | |
| void __gmpz_fib_ui(mpz_ptr, unsigned long int); | |
| void __gmpz_fib2_ui(mpz_ptr, mpz_ptr, unsigned long int); | |
| int __gmpz_fits_sint_p(mpz_srcptr) __attribute__((__pure__)); | |
| int __gmpz_fits_slong_p(mpz_srcptr) __attribute__((__pure__)); | |
| int __gmpz_fits_sshort_p(mpz_srcptr) __attribute__((__pure__)); | |
| int __gmpz_fits_uint_p(mpz_srcptr) __attribute__((__pure__)); | |
| int __gmpz_fits_ulong_p(mpz_srcptr) __attribute__((__pure__)); | |
| int __gmpz_fits_ushort_p(mpz_srcptr) __attribute__((__pure__)); | |
| void __gmpz_gcd(mpz_ptr, mpz_srcptr, mpz_srcptr); | |
| unsigned long int __gmpz_gcd_ui(mpz_ptr, mpz_srcptr, unsigned long int); | |
| void __gmpz_gcdext(mpz_ptr, mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); | |
| double __gmpz_get_d(mpz_srcptr) __attribute__((__pure__)); | |
| double __gmpz_get_d_2exp(signed long int *, mpz_srcptr); | |
| long int __gmpz_get_si(mpz_srcptr) __attribute__((__pure__)); | |
| char *__gmpz_get_str(char *, int, mpz_srcptr); | |
| unsigned long int __gmpz_get_ui(mpz_srcptr) __attribute__((__pure__)); | |
| mp_limb_t __gmpz_getlimbn(mpz_srcptr, mp_size_t) __attribute__((__pure__)); | |
| mp_bitcnt_t __gmpz_hamdist(mpz_srcptr, mpz_srcptr) __attribute__((__pure__)); | |
| void __gmpz_import(mpz_ptr, size_t, int, size_t, int, size_t, const void *); | |
| void __gmpz_init(mpz_ptr); | |
| void __gmpz_init2(mpz_ptr, mp_bitcnt_t); | |
| void __gmpz_inits(mpz_ptr, ...); | |
| void __gmpz_init_set(mpz_ptr, mpz_srcptr); | |
| void __gmpz_init_set_d(mpz_ptr, double); | |
| void __gmpz_init_set_si(mpz_ptr, signed long int); | |
| int __gmpz_init_set_str(mpz_ptr, const char *, int); | |
| void __gmpz_init_set_ui(mpz_ptr, unsigned long int); | |
| size_t __gmpz_inp_raw(mpz_ptr, FILE *); | |
| size_t __gmpz_inp_str(mpz_ptr, FILE *, int); | |
| int __gmpz_invert(mpz_ptr, mpz_srcptr, mpz_srcptr); | |
| void __gmpz_ior(mpz_ptr, mpz_srcptr, mpz_srcptr); | |
| int __gmpz_jacobi(mpz_srcptr, mpz_srcptr) __attribute__((__pure__)); | |
| int __gmpz_kronecker_si(mpz_srcptr, long) __attribute__((__pure__)); | |
| int __gmpz_kronecker_ui(mpz_srcptr, unsigned long) __attribute__((__pure__)); | |
| int __gmpz_si_kronecker(long, mpz_srcptr) __attribute__((__pure__)); | |
| int __gmpz_ui_kronecker(unsigned long, mpz_srcptr) __attribute__((__pure__)); | |
| void __gmpz_lcm(mpz_ptr, mpz_srcptr, mpz_srcptr); | |
| void __gmpz_lcm_ui(mpz_ptr, mpz_srcptr, unsigned long); | |
| void __gmpz_lucnum_ui(mpz_ptr, unsigned long int); | |
| void __gmpz_lucnum2_ui(mpz_ptr, mpz_ptr, unsigned long int); | |
| int __gmpz_millerrabin(mpz_srcptr, int) __attribute__((__pure__)); | |
| void __gmpz_mod(mpz_ptr, mpz_srcptr, mpz_srcptr); | |
| void __gmpz_mul(mpz_ptr, mpz_srcptr, mpz_srcptr); | |
| void __gmpz_mul_2exp(mpz_ptr, mpz_srcptr, mp_bitcnt_t); | |
| void __gmpz_mul_si(mpz_ptr, mpz_srcptr, long int); | |
| void __gmpz_mul_ui(mpz_ptr, mpz_srcptr, unsigned long int); | |
| void __gmpz_neg(mpz_ptr, mpz_srcptr); | |
| void __gmpz_nextprime(mpz_ptr, mpz_srcptr); | |
| size_t __gmpz_out_raw(FILE *, mpz_srcptr); | |
| size_t __gmpz_out_str(FILE *, int, mpz_srcptr); | |
| int __gmpz_perfect_power_p(mpz_srcptr) __attribute__((__pure__)); | |
| int __gmpz_perfect_square_p(mpz_srcptr) __attribute__((__pure__)); | |
| mp_bitcnt_t __gmpz_popcount(mpz_srcptr) __attribute__((__pure__)); | |
| void __gmpz_pow_ui(mpz_ptr, mpz_srcptr, unsigned long int); | |
| void __gmpz_powm(mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr); | |
| void __gmpz_powm_sec(mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr); | |
| void __gmpz_powm_ui(mpz_ptr, mpz_srcptr, unsigned long int, mpz_srcptr); | |
| int __gmpz_probab_prime_p(mpz_srcptr, int) __attribute__((__pure__)); | |
| void __gmpz_random(mpz_ptr, mp_size_t); | |
| void __gmpz_random2(mpz_ptr, mp_size_t); | |
| void __gmpz_realloc2(mpz_ptr, mp_bitcnt_t); | |
| mp_bitcnt_t __gmpz_remove(mpz_ptr, mpz_srcptr, mpz_srcptr); | |
| int __gmpz_root(mpz_ptr, mpz_srcptr, unsigned long int); | |
| void __gmpz_rootrem(mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); | |
| void __gmpz_rrandomb(mpz_ptr, gmp_randstate_t, mp_bitcnt_t); | |
| mp_bitcnt_t __gmpz_scan0(mpz_srcptr, mp_bitcnt_t) __attribute__((__pure__)); | |
| mp_bitcnt_t __gmpz_scan1(mpz_srcptr, mp_bitcnt_t) __attribute__((__pure__)); | |
| void __gmpz_set(mpz_ptr, mpz_srcptr); | |
| void __gmpz_set_d(mpz_ptr, double); | |
| void __gmpz_set_f(mpz_ptr, mpf_srcptr); | |
| void __gmpz_set_q(mpz_ptr, mpq_srcptr); | |
| void __gmpz_set_si(mpz_ptr, signed long int); | |
| int __gmpz_set_str(mpz_ptr, const char *, int); | |
| void __gmpz_set_ui(mpz_ptr, unsigned long int); | |
| void __gmpz_setbit(mpz_ptr, mp_bitcnt_t); | |
| size_t __gmpz_size(mpz_srcptr) __attribute__((__pure__)); | |
| size_t __gmpz_sizeinbase(mpz_srcptr, int) __attribute__((__pure__)); | |
| void __gmpz_sqrt(mpz_ptr, mpz_srcptr); | |
| void __gmpz_sqrtrem(mpz_ptr, mpz_ptr, mpz_srcptr); | |
| void __gmpz_sub(mpz_ptr, mpz_srcptr, mpz_srcptr); | |
| void __gmpz_sub_ui(mpz_ptr, mpz_srcptr, unsigned long int); | |
| void __gmpz_ui_sub(mpz_ptr, unsigned long int, mpz_srcptr); | |
| void __gmpz_submul(mpz_ptr, mpz_srcptr, mpz_srcptr); | |
| void __gmpz_submul_ui(mpz_ptr, mpz_srcptr, unsigned long int); | |
| void __gmpz_swap(mpz_ptr, mpz_ptr); | |
| unsigned long int __gmpz_tdiv_ui(mpz_srcptr, unsigned long int) | |
| __attribute__((__pure__)); | |
| void __gmpz_tdiv_q(mpz_ptr, mpz_srcptr, mpz_srcptr); | |
| void __gmpz_tdiv_q_2exp(mpz_ptr, mpz_srcptr, mp_bitcnt_t); | |
| unsigned long int __gmpz_tdiv_q_ui(mpz_ptr, mpz_srcptr, unsigned long int); | |
| void __gmpz_tdiv_qr(mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); | |
| unsigned long int __gmpz_tdiv_qr_ui(mpz_ptr, mpz_ptr, mpz_srcptr, | |
| unsigned long int); | |
| void __gmpz_tdiv_r(mpz_ptr, mpz_srcptr, mpz_srcptr); | |
| void __gmpz_tdiv_r_2exp(mpz_ptr, mpz_srcptr, mp_bitcnt_t); | |
| unsigned long int __gmpz_tdiv_r_ui(mpz_ptr, mpz_srcptr, unsigned long int); | |
| int __gmpz_tstbit(mpz_srcptr, mp_bitcnt_t) __attribute__((__pure__)); | |
| void __gmpz_ui_pow_ui(mpz_ptr, unsigned long int, unsigned long int); | |
| void __gmpz_urandomb(mpz_ptr, gmp_randstate_t, mp_bitcnt_t); | |
| void __gmpz_urandomm(mpz_ptr, gmp_randstate_t, mpz_srcptr); | |
| void __gmpz_xor(mpz_ptr, mpz_srcptr, mpz_srcptr); | |
| void __gmpq_abs(mpq_ptr, mpq_srcptr); | |
| void __gmpq_add(mpq_ptr, mpq_srcptr, mpq_srcptr); | |
| void __gmpq_canonicalize(mpq_ptr); | |
| void __gmpq_clear(mpq_ptr); | |
| void __gmpq_clears(mpq_ptr, ...); | |
| int __gmpq_cmp(mpq_srcptr, mpq_srcptr) __attribute__((__pure__)); | |
| int __gmpq_cmp_si(mpq_srcptr, long, unsigned long) __attribute__((__pure__)); | |
| int __gmpq_cmp_ui(mpq_srcptr, unsigned long int, unsigned long int) | |
| __attribute__((__pure__)); | |
| void __gmpq_div(mpq_ptr, mpq_srcptr, mpq_srcptr); | |
| void __gmpq_div_2exp(mpq_ptr, mpq_srcptr, mp_bitcnt_t); | |
| int __gmpq_equal(mpq_srcptr, mpq_srcptr) __attribute__((__pure__)); | |
| void __gmpq_get_num(mpz_ptr, mpq_srcptr); | |
| void __gmpq_get_den(mpz_ptr, mpq_srcptr); | |
| double __gmpq_get_d(mpq_srcptr) __attribute__((__pure__)); | |
| char *__gmpq_get_str(char *, int, mpq_srcptr); | |
| void __gmpq_init(mpq_ptr); | |
| void __gmpq_inits(mpq_ptr, ...); | |
| size_t __gmpq_inp_str(mpq_ptr, FILE *, int); | |
| void __gmpq_inv(mpq_ptr, mpq_srcptr); | |
| void __gmpq_mul(mpq_ptr, mpq_srcptr, mpq_srcptr); | |
| void __gmpq_mul_2exp(mpq_ptr, mpq_srcptr, mp_bitcnt_t); | |
| void __gmpq_neg(mpq_ptr, mpq_srcptr); | |
| size_t __gmpq_out_str(FILE *, int, mpq_srcptr); | |
| void __gmpq_set(mpq_ptr, mpq_srcptr); | |
| void __gmpq_set_d(mpq_ptr, double); | |
| void __gmpq_set_den(mpq_ptr, mpz_srcptr); | |
| void __gmpq_set_f(mpq_ptr, mpf_srcptr); | |
| void __gmpq_set_num(mpq_ptr, mpz_srcptr); | |
| void __gmpq_set_si(mpq_ptr, signed long int, unsigned long int); | |
| int __gmpq_set_str(mpq_ptr, const char *, int); | |
| void __gmpq_set_ui(mpq_ptr, unsigned long int, unsigned long int); | |
| void __gmpq_set_z(mpq_ptr, mpz_srcptr); | |
| void __gmpq_sub(mpq_ptr, mpq_srcptr, mpq_srcptr); | |
| void __gmpq_swap(mpq_ptr, mpq_ptr); | |
| void __gmpf_abs(mpf_ptr, mpf_srcptr); | |
| void __gmpf_add(mpf_ptr, mpf_srcptr, mpf_srcptr); | |
| void __gmpf_add_ui(mpf_ptr, mpf_srcptr, unsigned long int); | |
| void __gmpf_ceil(mpf_ptr, mpf_srcptr); | |
| void __gmpf_clear(mpf_ptr); | |
| void __gmpf_clears(mpf_ptr, ...); | |
| int __gmpf_cmp(mpf_srcptr, mpf_srcptr) __attribute__((__pure__)); | |
| int __gmpf_cmp_d(mpf_srcptr, double) __attribute__((__pure__)); | |
| int __gmpf_cmp_si(mpf_srcptr, signed long int) __attribute__((__pure__)); | |
| int __gmpf_cmp_ui(mpf_srcptr, unsigned long int) __attribute__((__pure__)); | |
| void __gmpf_div(mpf_ptr, mpf_srcptr, mpf_srcptr); | |
| void __gmpf_div_2exp(mpf_ptr, mpf_srcptr, mp_bitcnt_t); | |
| void __gmpf_div_ui(mpf_ptr, mpf_srcptr, unsigned long int); | |
| void __gmpf_dump(mpf_srcptr); | |
| int __gmpf_eq(mpf_srcptr, mpf_srcptr, mp_bitcnt_t) __attribute__((__pure__)); | |
| int __gmpf_fits_sint_p(mpf_srcptr) __attribute__((__pure__)); | |
| int __gmpf_fits_slong_p(mpf_srcptr) __attribute__((__pure__)); | |
| int __gmpf_fits_sshort_p(mpf_srcptr) __attribute__((__pure__)); | |
| int __gmpf_fits_uint_p(mpf_srcptr) __attribute__((__pure__)); | |
| int __gmpf_fits_ulong_p(mpf_srcptr) __attribute__((__pure__)); | |
| int __gmpf_fits_ushort_p(mpf_srcptr) __attribute__((__pure__)); | |
| void __gmpf_floor(mpf_ptr, mpf_srcptr); | |
| double __gmpf_get_d(mpf_srcptr) __attribute__((__pure__)); | |
| double __gmpf_get_d_2exp(signed long int *, mpf_srcptr); | |
| mp_bitcnt_t __gmpf_get_default_prec(void) __attribute__((__pure__)); | |
| mp_bitcnt_t __gmpf_get_prec(mpf_srcptr) __attribute__((__pure__)); | |
| long __gmpf_get_si(mpf_srcptr) __attribute__((__pure__)); | |
| char *__gmpf_get_str(char *, mp_exp_t *, int, size_t, mpf_srcptr); | |
| unsigned long __gmpf_get_ui(mpf_srcptr) __attribute__((__pure__)); | |
| void __gmpf_init(mpf_ptr); | |
| void __gmpf_init2(mpf_ptr, mp_bitcnt_t); | |
| void __gmpf_inits(mpf_ptr, ...); | |
| void __gmpf_init_set(mpf_ptr, mpf_srcptr); | |
| void __gmpf_init_set_d(mpf_ptr, double); | |
| void __gmpf_init_set_si(mpf_ptr, signed long int); | |
| int __gmpf_init_set_str(mpf_ptr, const char *, int); | |
| void __gmpf_init_set_ui(mpf_ptr, unsigned long int); | |
| size_t __gmpf_inp_str(mpf_ptr, FILE *, int); | |
| int __gmpf_integer_p(mpf_srcptr) __attribute__((__pure__)); | |
| void __gmpf_mul(mpf_ptr, mpf_srcptr, mpf_srcptr); | |
| void __gmpf_mul_2exp(mpf_ptr, mpf_srcptr, mp_bitcnt_t); | |
| void __gmpf_mul_ui(mpf_ptr, mpf_srcptr, unsigned long int); | |
| void __gmpf_neg(mpf_ptr, mpf_srcptr); | |
| size_t __gmpf_out_str(FILE *, int, size_t, mpf_srcptr); | |
| void __gmpf_pow_ui(mpf_ptr, mpf_srcptr, unsigned long int); | |
| void __gmpf_random2(mpf_ptr, mp_size_t, mp_exp_t); | |
| void __gmpf_reldiff(mpf_ptr, mpf_srcptr, mpf_srcptr); | |
| void __gmpf_set(mpf_ptr, mpf_srcptr); | |
| void __gmpf_set_d(mpf_ptr, double); | |
| void __gmpf_set_default_prec(mp_bitcnt_t); | |
| void __gmpf_set_prec(mpf_ptr, mp_bitcnt_t); | |
| void __gmpf_set_prec_raw(mpf_ptr, mp_bitcnt_t); | |
| void __gmpf_set_q(mpf_ptr, mpq_srcptr); | |
| void __gmpf_set_si(mpf_ptr, signed long int); | |
| int __gmpf_set_str(mpf_ptr, const char *, int); | |
| void __gmpf_set_ui(mpf_ptr, unsigned long int); | |
| void __gmpf_set_z(mpf_ptr, mpz_srcptr); | |
| size_t __gmpf_size(mpf_srcptr) __attribute__((__pure__)); | |
| void __gmpf_sqrt(mpf_ptr, mpf_srcptr); | |
| void __gmpf_sqrt_ui(mpf_ptr, unsigned long int); | |
| void __gmpf_sub(mpf_ptr, mpf_srcptr, mpf_srcptr); | |
| void __gmpf_sub_ui(mpf_ptr, mpf_srcptr, unsigned long int); | |
| void __gmpf_swap(mpf_ptr, mpf_ptr); | |
| void __gmpf_trunc(mpf_ptr, mpf_srcptr); | |
| void __gmpf_ui_div(mpf_ptr, unsigned long int, mpf_srcptr); | |
| void __gmpf_ui_sub(mpf_ptr, unsigned long int, mpf_srcptr); | |
| void __gmpf_urandomb(mpf_t, gmp_randstate_t, mp_bitcnt_t); | |
| #1447 "../../gmp.h" | |
| mp_limb_t __gmpn_add(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); | |
| mp_limb_t __gmpn_add_1(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); | |
| mp_limb_t __gmpn_add_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); | |
| mp_limb_t __gmpn_addmul_1(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); | |
| int __gmpn_cmp(mp_srcptr, mp_srcptr, mp_size_t) __attribute__((__pure__)); | |
| mp_limb_t __gmpn_divexact_by3c(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); | |
| mp_limb_t __gmpn_divrem(mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr, | |
| mp_size_t); | |
| mp_limb_t __gmpn_divrem_1(mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t); | |
| mp_limb_t __gmpn_divrem_2(mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr); | |
| mp_limb_t __gmpn_div_qr_2(mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); | |
| mp_size_t __gmpn_gcd(mp_ptr, mp_ptr, mp_size_t, mp_ptr, mp_size_t); | |
| mp_limb_t __gmpn_gcd_1(mp_srcptr, mp_size_t, mp_limb_t) | |
| __attribute__((__pure__)); | |
| mp_limb_t __gmpn_gcdext_1(mp_limb_signed_t *, mp_limb_signed_t *, mp_limb_t, | |
| mp_limb_t); | |
| mp_size_t __gmpn_gcdext(mp_ptr, mp_ptr, mp_size_t *, mp_ptr, mp_size_t, mp_ptr, | |
| mp_size_t); | |
| size_t __gmpn_get_str(unsigned char *, int, mp_ptr, mp_size_t); | |
| mp_bitcnt_t __gmpn_hamdist(mp_srcptr, mp_srcptr, mp_size_t) | |
| __attribute__((__pure__)); | |
| mp_limb_t __gmpn_lshift(mp_ptr, mp_srcptr, mp_size_t, unsigned int); | |
| mp_limb_t __gmpn_mod_1(mp_srcptr, mp_size_t, mp_limb_t) | |
| __attribute__((__pure__)); | |
| mp_limb_t __gmpn_mul(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); | |
| mp_limb_t __gmpn_mul_1(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); | |
| void __gmpn_mul_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); | |
| void __gmpn_sqr(mp_ptr, mp_srcptr, mp_size_t); | |
| mp_limb_t __gmpn_neg(mp_ptr, mp_srcptr, mp_size_t); | |
| void __gmpn_com(mp_ptr, mp_srcptr, mp_size_t); | |
| int __gmpn_perfect_square_p(mp_srcptr, mp_size_t) __attribute__((__pure__)); | |
| int __gmpn_perfect_power_p(mp_srcptr, mp_size_t) __attribute__((__pure__)); | |
| mp_bitcnt_t __gmpn_popcount(mp_srcptr, mp_size_t) __attribute__((__pure__)); | |
| mp_size_t __gmpn_pow_1(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr); | |
| mp_limb_t __gmpn_preinv_mod_1(mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t) | |
| __attribute__((__pure__)); | |
| void __gmpn_random(mp_ptr, mp_size_t); | |
| void __gmpn_random2(mp_ptr, mp_size_t); | |
| mp_limb_t __gmpn_rshift(mp_ptr, mp_srcptr, mp_size_t, unsigned int); | |
| mp_bitcnt_t __gmpn_scan0(mp_srcptr, mp_bitcnt_t) __attribute__((__pure__)); | |
| mp_bitcnt_t __gmpn_scan1(mp_srcptr, mp_bitcnt_t) __attribute__((__pure__)); | |
| mp_size_t __gmpn_set_str(mp_ptr, const unsigned char *, size_t, int); | |
| mp_size_t __gmpn_sqrtrem(mp_ptr, mp_ptr, mp_srcptr, mp_size_t); | |
| mp_limb_t __gmpn_sub(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); | |
| mp_limb_t __gmpn_sub_1(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); | |
| mp_limb_t __gmpn_sub_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); | |
| mp_limb_t __gmpn_submul_1(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); | |
| void __gmpn_tdiv_qr(mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, | |
| mp_size_t); | |
| void __gmpn_and_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); | |
| void __gmpn_andn_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); | |
| void __gmpn_nand_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); | |
| void __gmpn_ior_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); | |
| void __gmpn_iorn_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); | |
| void __gmpn_nior_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); | |
| void __gmpn_xor_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); | |
| void __gmpn_xnor_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); | |
| void __gmpn_copyi(mp_ptr, mp_srcptr, mp_size_t); | |
| void __gmpn_copyd(mp_ptr, mp_srcptr, mp_size_t); | |
| void __gmpn_zero(mp_ptr, mp_size_t); | |
| #1630 "../../gmp.h" | |
| extern __inline__ __attribute__((__gnu_inline__)) void | |
| __gmpz_abs(mpz_ptr __gmp_w, mpz_srcptr __gmp_u) { | |
| if (__gmp_w != __gmp_u) | |
| __gmpz_set(__gmp_w, __gmp_u); | |
| __gmp_w->_mp_size = | |
| ((__gmp_w->_mp_size) >= 0 ? (__gmp_w->_mp_size) : -(__gmp_w->_mp_size)); | |
| } | |
| #1654 "../../gmp.h" | |
| extern __inline__ __attribute__((__gnu_inline__)) int | |
| __gmpz_fits_uint_p(mpz_srcptr __gmp_z) { | |
| mp_size_t __gmp_n = __gmp_z->_mp_size; | |
| mp_ptr __gmp_p = __gmp_z->_mp_d; | |
| return (__gmp_n == 0 || (__gmp_n == 1 && __gmp_p[0] <= (~(unsigned)0))); | |
| ; | |
| } | |
| extern __inline__ __attribute__((__gnu_inline__)) int | |
| __gmpz_fits_ulong_p(mpz_srcptr __gmp_z) { | |
| mp_size_t __gmp_n = __gmp_z->_mp_size; | |
| mp_ptr __gmp_p = __gmp_z->_mp_d; | |
| return (__gmp_n == 0 || (__gmp_n == 1 && __gmp_p[0] <= (~(unsigned long)0))); | |
| ; | |
| } | |
| extern __inline__ __attribute__((__gnu_inline__)) int | |
| __gmpz_fits_ushort_p(mpz_srcptr __gmp_z) { | |
| mp_size_t __gmp_n = __gmp_z->_mp_size; | |
| mp_ptr __gmp_p = __gmp_z->_mp_d; | |
| return (__gmp_n == 0 || (__gmp_n == 1 && __gmp_p[0] <= ((unsigned short)~0))); | |
| ; | |
| } | |
| extern __inline__ __attribute__((__gnu_inline__)) unsigned long | |
| __gmpz_get_ui(mpz_srcptr __gmp_z) { | |
| mp_ptr __gmp_p = __gmp_z->_mp_d; | |
| mp_size_t __gmp_n = __gmp_z->_mp_size; | |
| mp_limb_t __gmp_l = __gmp_p[0]; | |
| return (__gmp_n != 0 ? __gmp_l : 0); | |
| #1710 "../../gmp.h" | |
| } | |
| extern __inline__ __attribute__((__gnu_inline__)) mp_limb_t | |
| __gmpz_getlimbn(mpz_srcptr __gmp_z, mp_size_t __gmp_n) { | |
| mp_limb_t __gmp_result = 0; | |
| if (__builtin_expect( | |
| (__gmp_n >= 0 && | |
| __gmp_n < ((__gmp_z->_mp_size) >= 0 ? (__gmp_z->_mp_size) | |
| : -(__gmp_z->_mp_size))) != 0, | |
| 1)) | |
| __gmp_result = __gmp_z->_mp_d[__gmp_n]; | |
| return __gmp_result; | |
| } | |
| extern __inline__ __attribute__((__gnu_inline__)) void | |
| __gmpz_neg(mpz_ptr __gmp_w, mpz_srcptr __gmp_u) { | |
| if (__gmp_w != __gmp_u) | |
| __gmpz_set(__gmp_w, __gmp_u); | |
| __gmp_w->_mp_size = -__gmp_w->_mp_size; | |
| } | |
| extern __inline__ __attribute__((__gnu_inline__)) int | |
| __gmpz_perfect_square_p(mpz_srcptr __gmp_a) { | |
| mp_size_t __gmp_asize; | |
| int __gmp_result; | |
| __gmp_asize = __gmp_a->_mp_size; | |
| __gmp_result = (__gmp_asize >= 0); | |
| if (__builtin_expect((__gmp_asize > 0) != 0, 1)) | |
| __gmp_result = __gmpn_perfect_square_p(__gmp_a->_mp_d, __gmp_asize); | |
| return __gmp_result; | |
| } | |
| extern __inline__ __attribute__((__gnu_inline__)) mp_bitcnt_t | |
| __gmpz_popcount(mpz_srcptr __gmp_u) { | |
| mp_size_t __gmp_usize; | |
| mp_bitcnt_t __gmp_result; | |
| __gmp_usize = __gmp_u->_mp_size; | |
| __gmp_result = (__gmp_usize < 0 ? (~(unsigned long)0) : 0); | |
| if (__builtin_expect((__gmp_usize > 0) != 0, 1)) | |
| __gmp_result = __gmpn_popcount(__gmp_u->_mp_d, __gmp_usize); | |
| return __gmp_result; | |
| } | |
| extern __inline__ __attribute__((__gnu_inline__)) void | |
| __gmpz_set_q(mpz_ptr __gmp_w, mpq_srcptr __gmp_u) { | |
| __gmpz_tdiv_q(__gmp_w, (&((__gmp_u)->_mp_num)), (&((__gmp_u)->_mp_den))); | |
| } | |
| extern __inline__ __attribute__((__gnu_inline__)) size_t | |
| __gmpz_size(mpz_srcptr __gmp_z) { | |
| return ((__gmp_z->_mp_size) >= 0 ? (__gmp_z->_mp_size) | |
| : -(__gmp_z->_mp_size)); | |
| } | |
| extern __inline__ __attribute__((__gnu_inline__)) void | |
| __gmpq_abs(mpq_ptr __gmp_w, mpq_srcptr __gmp_u) { | |
| if (__gmp_w != __gmp_u) | |
| __gmpq_set(__gmp_w, __gmp_u); | |
| __gmp_w->_mp_num._mp_size = | |
| ((__gmp_w->_mp_num._mp_size) >= 0 ? (__gmp_w->_mp_num._mp_size) | |
| : -(__gmp_w->_mp_num._mp_size)); | |
| } | |
| extern __inline__ __attribute__((__gnu_inline__)) void | |
| __gmpq_neg(mpq_ptr __gmp_w, mpq_srcptr __gmp_u) { | |
| if (__gmp_w != __gmp_u) | |
| __gmpq_set(__gmp_w, __gmp_u); | |
| __gmp_w->_mp_num._mp_size = -__gmp_w->_mp_num._mp_size; | |
| } | |
| #2052 "../../gmp.h" | |
| extern __inline__ __attribute__((__gnu_inline__)) mp_limb_t | |
| __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, mp_size_t __gmp_xsize, | |
| mp_srcptr __gmp_yp, mp_size_t __gmp_ysize) { | |
| mp_limb_t __gmp_c; | |
| do { | |
| mp_size_t __gmp_i; | |
| mp_limb_t __gmp_x; | |
| __gmp_i = (__gmp_ysize); | |
| if (__gmp_i != 0) { | |
| if (__gmpn_add_n(__gmp_wp, __gmp_xp, __gmp_yp, __gmp_i)) { | |
| do { | |
| if (__gmp_i >= (__gmp_xsize)) { | |
| (__gmp_c) = 1; | |
| goto __gmp_done; | |
| } | |
| __gmp_x = (__gmp_xp)[__gmp_i]; | |
| } while ((((__gmp_wp)[__gmp_i++] = | |
| (__gmp_x + 1) & ((~((mp_limb_t)(0))) >> 0)) == 0)); | |
| } | |
| } | |
| if ((__gmp_wp) != (__gmp_xp)) | |
| do { | |
| mp_size_t __gmp_j; | |
| ; | |
| for (__gmp_j = (__gmp_i); __gmp_j < (__gmp_xsize); __gmp_j++) | |
| (__gmp_wp)[__gmp_j] = (__gmp_xp)[__gmp_j]; | |
| } while (0); | |
| (__gmp_c) = 0; | |
| __gmp_done: | |
| ; | |
| } while (0); | |
| return __gmp_c; | |
| } | |
| extern __inline__ __attribute__((__gnu_inline__)) mp_limb_t | |
| __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, mp_size_t __gmp_size, | |
| mp_limb_t __gmp_n) { | |
| mp_limb_t __gmp_c; | |
| do { | |
| mp_size_t __gmp_i; | |
| mp_limb_t __gmp_x, __gmp_r; | |
| __gmp_x = (__gmp_src)[0]; | |
| __gmp_r = __gmp_x + (__gmp_n); | |
| (__gmp_dst)[0] = __gmp_r; | |
| if (((__gmp_r) < ((__gmp_n)))) { | |
| (__gmp_c) = 1; | |
| for (__gmp_i = 1; __gmp_i < (__gmp_size);) { | |
| __gmp_x = (__gmp_src)[__gmp_i]; | |
| __gmp_r = __gmp_x + 1; | |
| (__gmp_dst)[__gmp_i] = __gmp_r; | |
| ++__gmp_i; | |
| if (!((__gmp_r) < (1))) { | |
| if ((__gmp_src) != (__gmp_dst)) | |
| do { | |
| mp_size_t __gmp_j; | |
| ; | |
| for (__gmp_j = (__gmp_i); __gmp_j < (__gmp_size); __gmp_j++) | |
| (__gmp_dst)[__gmp_j] = (__gmp_src)[__gmp_j]; | |
| } while (0); | |
| (__gmp_c) = 0; | |
| break; | |
| } | |
| } | |
| } else { | |
| if ((__gmp_src) != (__gmp_dst)) | |
| do { | |
| mp_size_t __gmp_j; | |
| ; | |
| for (__gmp_j = (1); __gmp_j < (__gmp_size); __gmp_j++) | |
| (__gmp_dst)[__gmp_j] = (__gmp_src)[__gmp_j]; | |
| } while (0); | |
| (__gmp_c) = 0; | |
| } | |
| } while (0); | |
| return __gmp_c; | |
| } | |
| extern __inline__ __attribute__((__gnu_inline__)) int | |
| __gmpn_cmp(mp_srcptr __gmp_xp, mp_srcptr __gmp_yp, mp_size_t __gmp_size) { | |
| int __gmp_result; | |
| do { | |
| mp_size_t __gmp_i; | |
| mp_limb_t __gmp_x, __gmp_y; | |
| (__gmp_result) = 0; | |
| __gmp_i = (__gmp_size); | |
| while (--__gmp_i >= 0) { | |
| __gmp_x = (__gmp_xp)[__gmp_i]; | |
| __gmp_y = (__gmp_yp)[__gmp_i]; | |
| if (__gmp_x != __gmp_y) { | |
| (__gmp_result) = (__gmp_x > __gmp_y ? 1 : -1); | |
| break; | |
| } | |
| } | |
| } while (0); | |
| return __gmp_result; | |
| } | |
| extern __inline__ __attribute__((__gnu_inline__)) mp_limb_t | |
| __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, mp_size_t __gmp_xsize, | |
| mp_srcptr __gmp_yp, mp_size_t __gmp_ysize) { | |
| mp_limb_t __gmp_c; | |
| do { | |
| mp_size_t __gmp_i; | |
| mp_limb_t __gmp_x; | |
| __gmp_i = (__gmp_ysize); | |
| if (__gmp_i != 0) { | |
| if (__gmpn_sub_n(__gmp_wp, __gmp_xp, __gmp_yp, __gmp_i)) { | |
| do { | |
| if (__gmp_i >= (__gmp_xsize)) { | |
| (__gmp_c) = 1; | |
| goto __gmp_done; | |
| } | |
| __gmp_x = (__gmp_xp)[__gmp_i]; | |
| } while ((((__gmp_wp)[__gmp_i++] = | |
| (__gmp_x - 1) & ((~((mp_limb_t)(0))) >> 0)), | |
| __gmp_x == 0)); | |
| } | |
| } | |
| if ((__gmp_wp) != (__gmp_xp)) | |
| do { | |
| mp_size_t __gmp_j; | |
| ; | |
| for (__gmp_j = (__gmp_i); __gmp_j < (__gmp_xsize); __gmp_j++) | |
| (__gmp_wp)[__gmp_j] = (__gmp_xp)[__gmp_j]; | |
| } while (0); | |
| (__gmp_c) = 0; | |
| __gmp_done: | |
| ; | |
| } while (0); | |
| return __gmp_c; | |
| } | |
| extern __inline__ __attribute__((__gnu_inline__)) mp_limb_t | |
| __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, mp_size_t __gmp_size, | |
| mp_limb_t __gmp_n) { | |
| mp_limb_t __gmp_c; | |
| do { | |
| mp_size_t __gmp_i; | |
| mp_limb_t __gmp_x, __gmp_r; | |
| __gmp_x = (__gmp_src)[0]; | |
| __gmp_r = __gmp_x - (__gmp_n); | |
| (__gmp_dst)[0] = __gmp_r; | |
| if (((__gmp_x) < ((__gmp_n)))) { | |
| (__gmp_c) = 1; | |
| for (__gmp_i = 1; __gmp_i < (__gmp_size);) { | |
| __gmp_x = (__gmp_src)[__gmp_i]; | |
| __gmp_r = __gmp_x - 1; | |
| (__gmp_dst)[__gmp_i] = __gmp_r; | |
| ++__gmp_i; | |
| if (!((__gmp_x) < (1))) { | |
| if ((__gmp_src) != (__gmp_dst)) | |
| do { | |
| mp_size_t __gmp_j; | |
| ; | |
| for (__gmp_j = (__gmp_i); __gmp_j < (__gmp_size); __gmp_j++) | |
| (__gmp_dst)[__gmp_j] = (__gmp_src)[__gmp_j]; | |
| } while (0); | |
| (__gmp_c) = 0; | |
| break; | |
| } | |
| } | |
| } else { | |
| if ((__gmp_src) != (__gmp_dst)) | |
| do { | |
| mp_size_t __gmp_j; | |
| ; | |
| for (__gmp_j = (1); __gmp_j < (__gmp_size); __gmp_j++) | |
| (__gmp_dst)[__gmp_j] = (__gmp_src)[__gmp_j]; | |
| } while (0); | |
| (__gmp_c) = 0; | |
| } | |
| } while (0); | |
| return __gmp_c; | |
| } | |
| extern __inline__ __attribute__((__gnu_inline__)) mp_limb_t | |
| __gmpn_neg(mp_ptr __gmp_rp, mp_srcptr __gmp_up, mp_size_t __gmp_n) { | |
| mp_limb_t __gmp_ul, __gmp_cy; | |
| __gmp_cy = 0; | |
| do { | |
| __gmp_ul = *__gmp_up++; | |
| *__gmp_rp++ = -__gmp_ul - __gmp_cy; | |
| __gmp_cy |= __gmp_ul != 0; | |
| } while (--__gmp_n != 0); | |
| return __gmp_cy; | |
| } | |
| #2209 "../../gmp.h" | |
| enum { | |
| GMP_ERROR_NONE = 0, | |
| GMP_ERROR_UNSUPPORTED_ARGUMENT = 1, | |
| GMP_ERROR_DIVISION_BY_ZERO = 2, | |
| GMP_ERROR_SQRT_OF_NEGATIVE = 4, | |
| GMP_ERROR_INVALID_ARGUMENT = 8 | |
| }; | |
| #23 "t-get_d_2exp.c" 2 | |
| #1 "../../gmp-impl.h" 1 | |
| #133 "../../gmp-impl.h" | |
| #1 "../../config.h" 1 | |
| #134 "../../gmp-impl.h" 2 | |
| #1 "../../gmp-mparam.h" 1 | |
| #135 "../../gmp-impl.h" 2 | |
| #1 "../../fib_table.h" 1 | |
| #136 "../../gmp-impl.h" 2 | |
| #1 "../../fac_table.h" 1 | |
| #137 "../../gmp-impl.h" 2 | |
| #1 "../../mp_bases.h" 1 | |
| #138 "../../gmp-impl.h" 2 | |
| #1 "/usr/include/inttypes.h" 1 3 4 | |
| #238 "/usr/include/inttypes.h" 3 4 | |
| extern intmax_t imaxabs(intmax_t j); | |
| typedef struct { | |
| intmax_t quot; | |
| intmax_t rem; | |
| } imaxdiv_t; | |
| extern imaxdiv_t imaxdiv(intmax_t numer, intmax_t denom); | |
| extern intmax_t strtoimax(const char *restrict nptr, char **restrict endptr, | |
| int base); | |
| extern uintmax_t strtoumax(const char *restrict nptr, char **restrict endptr, | |
| int base); | |
| #1 "/usr/include/sys/_types/_wchar_t.h" 1 3 4 | |
| #253 "/usr/include/inttypes.h" 2 3 4 | |
| extern intmax_t wcstoimax(const wchar_t *restrict nptr, | |
| wchar_t **restrict endptr, int base); | |
| extern uintmax_t wcstoumax(const wchar_t *restrict nptr, | |
| wchar_t **restrict endptr, int base); | |
| #145 "../../gmp-impl.h" 2 | |
| #222 "../../gmp-impl.h" | |
| typedef uint_least32_t gmp_uint_least32_t; | |
| #238 "../../gmp-impl.h" | |
| typedef intptr_t gmp_intptr_t; | |
| typedef struct { | |
| mp_limb_t inv32; | |
| } gmp_pi1_t; | |
| typedef struct { | |
| mp_limb_t inv21, inv32, inv53; | |
| } gmp_pi2_t; | |
| #335 "../../gmp-impl.h" | |
| union tmp_align_t { | |
| mp_limb_t l; | |
| char *p; | |
| }; | |
| #352 "../../gmp-impl.h" | |
| struct tmp_reentrant_t { | |
| struct tmp_reentrant_t *next; | |
| size_t size; | |
| }; | |
| void *__gmp_tmp_reentrant_alloc(struct tmp_reentrant_t **, size_t) | |
| __attribute__((malloc)); | |
| void __gmp_tmp_reentrant_free(struct tmp_reentrant_t *); | |
| #694 "../../gmp-impl.h" | |
| extern void *(*__gmp_allocate_func)(size_t); | |
| extern void *(*__gmp_reallocate_func)(void *, size_t, size_t); | |
| extern void (*__gmp_free_func)(void *, size_t); | |
| void *__gmp_default_allocate(size_t); | |
| void *__gmp_default_reallocate(void *, size_t, size_t); | |
| void __gmp_default_free(void *, size_t); | |
| #801 "../../gmp-impl.h" | |
| void __gmpz_aorsmul_1(mpz_ptr, mpz_srcptr, mp_limb_t, mp_size_t); | |
| void __gmpz_n_pow_ui(mpz_ptr, mp_srcptr, mp_size_t, unsigned long); | |
| mp_limb_t __gmpn_addmul_1c(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t); | |
| mp_limb_t __gmpn_addmul_2(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); | |
| mp_limb_t __gmpn_addmul_3(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); | |
| mp_limb_t __gmpn_addmul_4(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); | |
| mp_limb_t __gmpn_addmul_5(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); | |
| mp_limb_t __gmpn_addmul_6(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); | |
| mp_limb_t __gmpn_addmul_7(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); | |
| mp_limb_t __gmpn_addmul_8(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); | |
| mp_limb_t __gmpn_addmul_2s(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); | |
| mp_limb_t __gmpn_addlsh1_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); | |
| mp_limb_t __gmpn_addlsh1_nc(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, mp_limb_t); | |
| mp_limb_t __gmpn_addlsh1_n_ip1(mp_ptr, mp_srcptr, mp_size_t); | |
| mp_limb_t __gmpn_addlsh1_nc_ip1(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); | |
| mp_limb_t __gmpn_addlsh2_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); | |
| mp_limb_t __gmpn_addlsh2_nc(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, mp_limb_t); | |
| mp_limb_t __gmpn_addlsh2_n_ip1(mp_ptr, mp_srcptr, mp_size_t); | |
| mp_limb_t __gmpn_addlsh2_nc_ip1(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); | |
| mp_limb_t __gmpn_addlsh_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, | |
| unsigned int); | |
| mp_limb_t __gmpn_addlsh_nc(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, | |
| unsigned int, mp_limb_t); | |
| mp_limb_t __gmpn_addlsh_n_ip1(mp_ptr, mp_srcptr, mp_size_t, unsigned int); | |
| mp_limb_t __gmpn_addlsh_nc_ip1(mp_ptr, mp_srcptr, mp_size_t, unsigned int, | |
| mp_limb_t); | |
| mp_limb_t __gmpn_sublsh1_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); | |
| mp_limb_t __gmpn_sublsh1_nc(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, mp_limb_t); | |
| mp_limb_t __gmpn_sublsh1_n_ip1(mp_ptr, mp_srcptr, mp_size_t); | |
| mp_limb_t __gmpn_sublsh1_nc_ip1(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); | |
| mp_limb_signed_t __gmpn_rsblsh1_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); | |
| mp_limb_signed_t __gmpn_rsblsh1_nc(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, | |
| mp_limb_t); | |
| mp_limb_t __gmpn_sublsh2_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); | |
| mp_limb_t __gmpn_sublsh2_nc(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, mp_limb_t); | |
| mp_limb_t __gmpn_sublsh2_n_ip1(mp_ptr, mp_srcptr, mp_size_t); | |
| mp_limb_t __gmpn_sublsh2_nc_ip1(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); | |
| mp_limb_t __gmpn_sublsh_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, | |
| unsigned int); | |
| mp_limb_t __gmpn_sublsh_n_ip1(mp_ptr, mp_srcptr, mp_size_t, unsigned int); | |
| mp_limb_t __gmpn_sublsh_nc_ip1(mp_ptr, mp_srcptr, mp_size_t, unsigned int, | |
| mp_limb_t); | |
| mp_limb_signed_t __gmpn_rsblsh2_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); | |
| mp_limb_signed_t __gmpn_rsblsh2_nc(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, | |
| mp_limb_t); | |
| mp_limb_signed_t __gmpn_rsblsh_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, | |
| unsigned int); | |
| mp_limb_signed_t __gmpn_rsblsh_nc(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, | |
| unsigned int, mp_limb_t); | |
| mp_limb_t __gmpn_rsh1add_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); | |
| mp_limb_t __gmpn_rsh1add_nc(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, mp_limb_t); | |
| mp_limb_t __gmpn_rsh1sub_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); | |
| mp_limb_t __gmpn_rsh1sub_nc(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, mp_limb_t); | |
| mp_limb_t __gmpn_lshiftc(mp_ptr, mp_srcptr, mp_size_t, unsigned int); | |
| mp_limb_t __gmpn_add_err1_n(mp_ptr, mp_srcptr, mp_srcptr, mp_ptr, mp_srcptr, | |
| mp_size_t, mp_limb_t); | |
| mp_limb_t __gmpn_add_err2_n(mp_ptr, mp_srcptr, mp_srcptr, mp_ptr, mp_srcptr, | |
| mp_srcptr, mp_size_t, mp_limb_t); | |
| mp_limb_t __gmpn_add_err3_n(mp_ptr, mp_srcptr, mp_srcptr, mp_ptr, mp_srcptr, | |
| mp_srcptr, mp_srcptr, mp_size_t, mp_limb_t); | |
| mp_limb_t __gmpn_sub_err1_n(mp_ptr, mp_srcptr, mp_srcptr, mp_ptr, mp_srcptr, | |
| mp_size_t, mp_limb_t); | |
| mp_limb_t __gmpn_sub_err2_n(mp_ptr, mp_srcptr, mp_srcptr, mp_ptr, mp_srcptr, | |
| mp_srcptr, mp_size_t, mp_limb_t); | |
| mp_limb_t __gmpn_sub_err3_n(mp_ptr, mp_srcptr, mp_srcptr, mp_ptr, mp_srcptr, | |
| mp_srcptr, mp_srcptr, mp_size_t, mp_limb_t); | |
| mp_limb_t __gmpn_add_n_sub_n(mp_ptr, mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); | |
| mp_limb_t __gmpn_add_n_sub_nc(mp_ptr, mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, | |
| mp_limb_t); | |
| mp_limb_t __gmpn_addaddmul_1msb0(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, | |
| mp_limb_t, mp_limb_t); | |
| mp_limb_t __gmpn_divrem_1c(mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t, | |
| mp_limb_t); | |
| void __gmpn_dump(mp_srcptr, mp_size_t); | |
| mp_size_t __gmpn_fib2_ui(mp_ptr, mp_ptr, unsigned long); | |
| int __gmpn_jacobi_base(mp_limb_t, mp_limb_t, int) __attribute__((const)); | |
| int __gmpn_jacobi_2(mp_srcptr, mp_srcptr, unsigned); | |
| int __gmpn_jacobi_n(mp_ptr, mp_ptr, mp_size_t, unsigned); | |
| mp_limb_t __gmpn_mod_1c(mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t) | |
| __attribute__((__pure__)); | |
| mp_limb_t __gmpn_mul_1c(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t); | |
| mp_limb_t __gmpn_mul_2(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); | |
| mp_limb_t __gmpn_mul_3(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); | |
| mp_limb_t __gmpn_mul_4(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); | |
| mp_limb_t __gmpn_mul_5(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); | |
| mp_limb_t __gmpn_mul_6(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); | |
| void __gmpn_mul_basecase(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); | |
| void __gmpn_mullo_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); | |
| void __gmpn_mullo_basecase(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); | |
| void __gmpn_sqr(mp_ptr, mp_srcptr, mp_size_t); | |
| void __gmpn_sqr_basecase(mp_ptr, mp_srcptr, mp_size_t); | |
| void __gmpn_mulmid_basecase(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); | |
| void __gmpn_mulmid_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); | |
| void __gmpn_mulmid(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); | |
| mp_limb_t __gmpn_submul_1c(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t); | |
| mp_limb_t __gmpn_redc_1(mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); | |
| mp_limb_t __gmpn_redc_2(mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); | |
| void __gmpn_redc_n(mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); | |
| void __gmpn_mod_1_1p_cps(mp_limb_t[4], mp_limb_t); | |
| mp_limb_t __gmpn_mod_1_1p(mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t[4]) | |
| __attribute__((__pure__)); | |
| void __gmpn_mod_1s_2p_cps(mp_limb_t[5], mp_limb_t); | |
| mp_limb_t __gmpn_mod_1s_2p(mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t[5]) | |
| __attribute__((__pure__)); | |
| void __gmpn_mod_1s_3p_cps(mp_limb_t[6], mp_limb_t); | |
| mp_limb_t __gmpn_mod_1s_3p(mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t[6]) | |
| __attribute__((__pure__)); | |
| void __gmpn_mod_1s_4p_cps(mp_limb_t[7], mp_limb_t); | |
| mp_limb_t __gmpn_mod_1s_4p(mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t[7]) | |
| __attribute__((__pure__)); | |
| void __gmpn_bc_mulmod_bnm1(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, mp_ptr); | |
| void __gmpn_mulmod_bnm1(mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, | |
| mp_size_t, mp_ptr); | |
| mp_size_t __gmpn_mulmod_bnm1_next_size(mp_size_t) __attribute__((const)); | |
| static inline mp_size_t mpn_mulmod_bnm1_itch(mp_size_t rn, mp_size_t an, | |
| mp_size_t bn) { | |
| mp_size_t n, itch; | |
| n = rn >> 1; | |
| itch = rn + 4 + (an > n ? (bn > n ? rn : n) : 0); | |
| return itch; | |
| } | |
| void __gmpn_sqrmod_bnm1(mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_ptr); | |
| mp_size_t __gmpn_sqrmod_bnm1_next_size(mp_size_t) __attribute__((const)); | |
| static inline mp_size_t mpn_sqrmod_bnm1_itch(mp_size_t rn, mp_size_t an) { | |
| mp_size_t n, itch; | |
| n = rn >> 1; | |
| itch = rn + 3 + (an > n ? an : 0); | |
| return itch; | |
| } | |
| typedef __gmp_randstate_struct *gmp_randstate_ptr; | |
| typedef const __gmp_randstate_struct *gmp_randstate_srcptr; | |
| typedef struct { | |
| void (*randseed_fn)(gmp_randstate_t, mpz_srcptr); | |
| void (*randget_fn)(gmp_randstate_t, mp_ptr, unsigned long int); | |
| void (*randclear_fn)(gmp_randstate_t); | |
| void (*randiset_fn)(gmp_randstate_ptr, gmp_randstate_srcptr); | |
| } gmp_randfnptr_t; | |
| #1217 "../../gmp-impl.h" | |
| void __gmp_randinit_mt_noseed(gmp_randstate_t); | |
| #1232 "../../gmp-impl.h" | |
| extern char __gmp_rands_initialized; | |
| extern gmp_randstate_t __gmp_rands; | |
| #1296 "../../gmp-impl.h" | |
| void __gmpn_sqr_diagonal(mp_ptr, mp_srcptr, mp_size_t); | |
| void __gmpn_sqr_diag_addlsh1(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); | |
| void __gmpn_toom_interpolate_5pts(mp_ptr, mp_ptr, mp_ptr, mp_size_t, mp_size_t, | |
| int, mp_limb_t); | |
| enum toom6_flags { | |
| toom6_all_pos = 0, | |
| toom6_vm1_neg = 1, | |
| toom6_vm2_neg = 2 | |
| }; | |
| void __gmpn_toom_interpolate_6pts(mp_ptr, mp_size_t, enum toom6_flags, mp_ptr, | |
| mp_ptr, mp_ptr, mp_size_t); | |
| enum toom7_flags { | |
| toom7_w1_neg = 1, | |
| toom7_w3_neg = 2 | |
| }; | |
| void __gmpn_toom_interpolate_7pts(mp_ptr, mp_size_t, enum toom7_flags, mp_ptr, | |
| mp_ptr, mp_ptr, mp_ptr, mp_size_t, mp_ptr); | |
| void __gmpn_toom_interpolate_8pts(mp_ptr, mp_size_t, mp_ptr, mp_ptr, mp_size_t, | |
| mp_ptr); | |
| void __gmpn_toom_interpolate_12pts(mp_ptr, mp_ptr, mp_ptr, mp_ptr, mp_size_t, | |
| mp_size_t, int, mp_ptr); | |
| void __gmpn_toom_interpolate_16pts(mp_ptr, mp_ptr, mp_ptr, mp_ptr, mp_ptr, | |
| mp_size_t, mp_size_t, int, mp_ptr); | |
| void __gmpn_toom_couple_handling(mp_ptr, mp_size_t, mp_ptr, int, mp_size_t, int, | |
| int); | |
| int __gmpn_toom_eval_dgr3_pm1(mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_size_t, | |
| mp_ptr); | |
| int __gmpn_toom_eval_dgr3_pm2(mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_size_t, | |
| mp_ptr); | |
| int __gmpn_toom_eval_pm1(mp_ptr, mp_ptr, unsigned, mp_srcptr, mp_size_t, | |
| mp_size_t, mp_ptr); | |
| int __gmpn_toom_eval_pm2(mp_ptr, mp_ptr, unsigned, mp_srcptr, mp_size_t, | |
| mp_size_t, mp_ptr); | |
| int __gmpn_toom_eval_pm2exp(mp_ptr, mp_ptr, unsigned, mp_srcptr, mp_size_t, | |
| mp_size_t, unsigned, mp_ptr); | |
| int __gmpn_toom_eval_pm2rexp(mp_ptr, mp_ptr, unsigned, mp_srcptr, mp_size_t, | |
| mp_size_t, unsigned, mp_ptr); | |
| void __gmpn_toom22_mul(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, | |
| mp_ptr); | |
| void __gmpn_toom32_mul(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, | |
| mp_ptr); | |
| void __gmpn_toom42_mul(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, | |
| mp_ptr); | |
| void __gmpn_toom52_mul(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, | |
| mp_ptr); | |
| void __gmpn_toom62_mul(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, | |
| mp_ptr); | |
| void __gmpn_toom2_sqr(mp_ptr, mp_srcptr, mp_size_t, mp_ptr); | |
| void __gmpn_toom33_mul(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, | |
| mp_ptr); | |
| void __gmpn_toom43_mul(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, | |
| mp_ptr); | |
| void __gmpn_toom53_mul(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, | |
| mp_ptr); | |
| void __gmpn_toom54_mul(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, | |
| mp_ptr); | |
| void __gmpn_toom63_mul(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, | |
| mp_ptr); | |
| void __gmpn_toom3_sqr(mp_ptr, mp_srcptr, mp_size_t, mp_ptr); | |
| void __gmpn_toom44_mul(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, | |
| mp_ptr); | |
| void __gmpn_toom4_sqr(mp_ptr, mp_srcptr, mp_size_t, mp_ptr); | |
| void __gmpn_toom6h_mul(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, | |
| mp_ptr); | |
| void __gmpn_toom6_sqr(mp_ptr, mp_srcptr, mp_size_t, mp_ptr); | |
| void __gmpn_toom8h_mul(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, | |
| mp_ptr); | |
| void __gmpn_toom8_sqr(mp_ptr, mp_srcptr, mp_size_t, mp_ptr); | |
| void __gmpn_toom42_mulmid(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, mp_ptr); | |
| int __gmpn_fft_best_k(mp_size_t, int) __attribute__((const)); | |
| mp_limb_t __gmpn_mul_fft(mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, | |
| mp_size_t, int); | |
| void __gmpn_mul_fft_full(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); | |
| void __gmpn_nussbaumer_mul(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); | |
| mp_size_t __gmpn_fft_next_size(mp_size_t, int) __attribute__((const)); | |
| mp_limb_t __gmpn_div_qr_2n_pi1(mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, | |
| mp_limb_t, mp_limb_t); | |
| mp_limb_t __gmpn_div_qr_2u_pi1(mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, | |
| mp_limb_t, int, mp_limb_t); | |
| mp_limb_t __gmpn_sbpi1_div_qr(mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, | |
| mp_limb_t); | |
| mp_limb_t __gmpn_sbpi1_div_q(mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, | |
| mp_limb_t); | |
| mp_limb_t __gmpn_sbpi1_divappr_q(mp_ptr, mp_ptr, mp_size_t, mp_srcptr, | |
| mp_size_t, mp_limb_t); | |
| mp_limb_t __gmpn_dcpi1_div_qr(mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, | |
| gmp_pi1_t *); | |
| mp_limb_t __gmpn_dcpi1_div_qr_n(mp_ptr, mp_ptr, mp_srcptr, mp_size_t, | |
| gmp_pi1_t *, mp_ptr); | |
| mp_limb_t __gmpn_dcpi1_div_q(mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, | |
| gmp_pi1_t *); | |
| mp_limb_t __gmpn_dcpi1_divappr_q(mp_ptr, mp_ptr, mp_size_t, mp_srcptr, | |
| mp_size_t, gmp_pi1_t *); | |
| mp_limb_t __gmpn_dcpi1_divappr_q_n(mp_ptr, mp_ptr, mp_srcptr, mp_size_t, | |
| gmp_pi1_t *, mp_ptr); | |
| mp_limb_t __gmpn_mu_div_qr(mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, | |
| mp_size_t, mp_ptr); | |
| mp_size_t __gmpn_mu_div_qr_itch(mp_size_t, mp_size_t, int); | |
| mp_size_t __gmpn_mu_div_qr_choose_in(mp_size_t, mp_size_t, int); | |
| mp_limb_t __gmpn_preinv_mu_div_qr(mp_ptr, mp_ptr, mp_srcptr, mp_size_t, | |
| mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, | |
| mp_ptr); | |
| mp_size_t __gmpn_preinv_mu_div_qr_itch(mp_size_t, mp_size_t, mp_size_t); | |
| mp_limb_t __gmpn_mu_divappr_q(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, | |
| mp_size_t, mp_ptr); | |
| mp_size_t __gmpn_mu_divappr_q_itch(mp_size_t, mp_size_t, int); | |
| mp_size_t __gmpn_mu_divappr_q_choose_in(mp_size_t, mp_size_t, int); | |
| mp_limb_t __gmpn_preinv_mu_divappr_q(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, | |
| mp_size_t, mp_srcptr, mp_size_t, mp_ptr); | |
| mp_limb_t __gmpn_mu_div_q(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, | |
| mp_ptr); | |
| mp_size_t __gmpn_mu_div_q_itch(mp_size_t, mp_size_t, int); | |
| void __gmpn_div_q(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, mp_ptr); | |
| void __gmpn_invert(mp_ptr, mp_srcptr, mp_size_t, mp_ptr); | |
| mp_limb_t __gmpn_ni_invertappr(mp_ptr, mp_srcptr, mp_size_t, mp_ptr); | |
| mp_limb_t __gmpn_invertappr(mp_ptr, mp_srcptr, mp_size_t, mp_ptr); | |
| void __gmpn_binvert(mp_ptr, mp_srcptr, mp_size_t, mp_ptr); | |
| mp_size_t __gmpn_binvert_itch(mp_size_t); | |
| mp_limb_t __gmpn_bdiv_q_1(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); | |
| mp_limb_t __gmpn_pi1_bdiv_q_1(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, | |
| mp_limb_t, int); | |
| mp_limb_t __gmpn_sbpi1_bdiv_qr(mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, | |
| mp_limb_t); | |
| void __gmpn_sbpi1_bdiv_q(mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, | |
| mp_limb_t); | |
| mp_limb_t __gmpn_dcpi1_bdiv_qr(mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, | |
| mp_limb_t); | |
| mp_size_t __gmpn_dcpi1_bdiv_qr_n_itch(mp_size_t); | |
| mp_limb_t __gmpn_dcpi1_bdiv_qr_n(mp_ptr, mp_ptr, mp_srcptr, mp_size_t, | |
| mp_limb_t, mp_ptr); | |
| void __gmpn_dcpi1_bdiv_q(mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, | |
| mp_limb_t); | |
| mp_size_t __gmpn_dcpi1_bdiv_q_n_itch(mp_size_t); | |
| void __gmpn_dcpi1_bdiv_q_n(mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, | |
| mp_ptr); | |
| mp_limb_t __gmpn_mu_bdiv_qr(mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, | |
| mp_size_t, mp_ptr); | |
| mp_size_t __gmpn_mu_bdiv_qr_itch(mp_size_t, mp_size_t); | |
| void __gmpn_mu_bdiv_q(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, | |
| mp_ptr); | |
| mp_size_t __gmpn_mu_bdiv_q_itch(mp_size_t, mp_size_t); | |
| mp_limb_t __gmpn_bdiv_qr(mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, | |
| mp_size_t, mp_ptr); | |
| mp_size_t __gmpn_bdiv_qr_itch(mp_size_t, mp_size_t); | |
| void __gmpn_bdiv_q(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, mp_ptr); | |
| mp_size_t __gmpn_bdiv_q_itch(mp_size_t, mp_size_t); | |
| void __gmpn_divexact(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); | |
| mp_size_t __gmpn_divexact_itch(mp_size_t, mp_size_t); | |
| mp_limb_t __gmpn_bdiv_dbm1c(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t); | |
| void __gmpn_powm(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, | |
| mp_size_t, mp_ptr); | |
| void __gmpn_powlo(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, mp_size_t, mp_ptr); | |
| void __gmpn_powm_sec(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, | |
| mp_srcptr, mp_size_t, mp_ptr); | |
| mp_size_t __gmpn_powm_sec_itch(mp_size_t, mp_size_t, mp_size_t); | |
| void __gmpn_tabselect(volatile mp_limb_t *, volatile mp_limb_t *, mp_size_t, | |
| mp_size_t, mp_size_t); | |
| mp_limb_t __gmpn_addcnd_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, mp_limb_t); | |
| mp_limb_t __gmpn_subcnd_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, mp_limb_t); | |
| void __gmpn_sb_div_qr_sec(mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, | |
| mp_ptr); | |
| mp_limb_t __gmpn_sbpi1_div_qr_sec(mp_ptr, mp_ptr, mp_size_t, mp_srcptr, | |
| mp_size_t, mp_limb_t, mp_ptr); | |
| void __gmpn_sb_div_r_sec(mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_ptr); | |
| void __gmpn_sbpi1_div_r_sec(mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t, | |
| mp_ptr); | |
| #1623 "../../gmp-impl.h" | |
| void __gmpz_divexact_gcd(mpz_ptr, mpz_srcptr, mpz_srcptr); | |
| mp_size_t __gmpz_prodlimbs(mpz_ptr, mp_ptr, mp_size_t); | |
| void __gmpz_oddfac_1(mpz_ptr, mp_limb_t, unsigned); | |
| size_t __gmpz_inp_str_nowhite(mpz_ptr, FILE *, int, int, size_t); | |
| int __gmpn_divisible_p(mp_srcptr, mp_size_t, mp_srcptr, mp_size_t) | |
| __attribute__((__pure__)); | |
| mp_size_t __gmpn_rootrem(mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); | |
| void __gmpn_broot(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); | |
| void __gmpn_broot_invm1(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); | |
| void __gmpn_brootinv(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr); | |
| void __gmpn_bsqrt(mp_ptr, mp_srcptr, mp_bitcnt_t, mp_ptr); | |
| int __gmpn_bsqrtinv(mp_ptr, mp_srcptr, mp_bitcnt_t, mp_ptr); | |
| #1960 "../../gmp-impl.h" | |
| extern const mp_limb_t __gmp_fib_table[]; | |
| extern const mp_limb_t __gmp_oddfac_table[]; | |
| extern const mp_limb_t __gmp_odd2fac_table[]; | |
| extern const unsigned char __gmp_fac2cnt_table[]; | |
| extern const mp_limb_t __gmp_limbroots_table[]; | |
| static inline unsigned log_n_max(mp_limb_t n) { | |
| unsigned log; | |
| for (log = 8; n > __gmp_limbroots_table[log - 1]; log--) | |
| ; | |
| return log; | |
| } | |
| typedef struct { | |
| unsigned long d; | |
| unsigned long s0; | |
| unsigned long sqrt_s0; | |
| unsigned char s[512 + 1]; | |
| } gmp_primesieve_t; | |
| void __gmp_init_primesieve(gmp_primesieve_t *); | |
| unsigned long int __gmp_nextprime(gmp_primesieve_t *); | |
| mp_limb_t __gmp_primesieve(mp_ptr, mp_limb_t); | |
| #2228 "../../gmp-impl.h" | |
| struct fft_table_nk { | |
| unsigned int n : 27; | |
| unsigned int k : 5; | |
| }; | |
| #2319 "../../gmp-impl.h" | |
| void __gmp_assert_header(const char *, int); | |
| void __gmp_assert_fail(const char *, int, const char *) | |
| __attribute__((noreturn)); | |
| #2531 "../../gmp-impl.h" | |
| mp_limb_t __gmpn_trialdiv(mp_srcptr, mp_size_t, mp_size_t, int *); | |
| mp_bitcnt_t __gmpn_remove(mp_ptr, mp_size_t *, mp_ptr, mp_size_t, mp_ptr, | |
| mp_size_t, mp_bitcnt_t); | |
| #2779 "../../gmp-impl.h" | |
| struct bases { | |
| int chars_per_limb; | |
| mp_limb_t logb2; | |
| mp_limb_t log2b; | |
| mp_limb_t big_base; | |
| mp_limb_t big_base_inverted; | |
| }; | |
| extern const struct bases __gmpn_bases[257]; | |
| #2940 "../../gmp-impl.h" | |
| mp_limb_t __gmpn_invert_limb(mp_limb_t) __attribute__((const)); | |
| #3098 "../../gmp-impl.h" | |
| mp_limb_t __gmpn_preinv_divrem_1(mp_ptr, mp_size_t, mp_srcptr, mp_size_t, | |
| mp_limb_t, mp_limb_t, int); | |
| #3131 "../../gmp-impl.h" | |
| mp_limb_t __gmpn_mod_34lsub1(mp_srcptr, mp_size_t) __attribute__((__pure__)); | |
| #3149 "../../gmp-impl.h" | |
| void __gmpn_divexact_1(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); | |
| #3165 "../../gmp-impl.h" | |
| mp_limb_t __gmpn_modexact_1c_odd(mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t) | |
| __attribute__((__pure__)); | |
| #3202 "../../gmp-impl.h" | |
| extern const unsigned char __gmp_binvert_limb_table[128]; | |
| #3646 "../../gmp-impl.h" | |
| typedef unsigned int UQItype __attribute__((mode(QI))); | |
| typedef int SItype __attribute__((mode(SI))); | |
| typedef unsigned int USItype __attribute__((mode(SI))); | |
| typedef int DItype __attribute__((mode(DI))); | |
| typedef unsigned int UDItype __attribute__((mode(DI))); | |
| #3664 "../../gmp-impl.h" | |
| typedef mp_limb_t UWtype; | |
| typedef unsigned int UHWtype; | |
| #3748 "../../gmp-impl.h" | |
| int __gmp_extract_double(mp_ptr, double); | |
| double __gmpn_get_d(mp_srcptr, mp_size_t, mp_size_t, long) | |
| __attribute__((__pure__)); | |
| #3820 "../../gmp-impl.h" | |
| extern const unsigned char __gmp_digit_value_tab[]; | |
| extern int __gmp_junk; | |
| extern const int __gmp_0; | |
| void __gmp_exception(int) __attribute__((noreturn)); | |
| void __gmp_divide_by_zero(void) __attribute__((noreturn)); | |
| void __gmp_sqrt_of_negative(void) __attribute__((noreturn)); | |
| void __gmp_invalid_operation(void) __attribute__((noreturn)); | |
| #4018 "../../gmp-impl.h" | |
| extern const unsigned char __gmp_jacobi_table[208]; | |
| #4028 "../../gmp-impl.h" | |
| static inline unsigned mpn_jacobi_init(unsigned a, unsigned b, unsigned s) { | |
| do { | |
| } while (0); | |
| do { | |
| } while (0); | |
| return ((a & 3) << 2) + (b & 2) + s; | |
| } | |
| static inline int mpn_jacobi_finish(unsigned bits) { | |
| do { | |
| } while (0); | |
| return 1 - 2 * (bits & 1); | |
| } | |
| static inline unsigned mpn_jacobi_update(unsigned bits, unsigned denominator, | |
| unsigned q) { | |
| do { | |
| } while (0); | |
| do { | |
| } while (0); | |
| do { | |
| } while (0); | |
| #4077 "../../gmp-impl.h" | |
| return bits = __gmp_jacobi_table[(bits << 3) + (denominator << 2) + q]; | |
| } | |
| void __gmpn_matrix22_mul(mp_ptr, mp_ptr, mp_ptr, mp_ptr, mp_size_t, mp_srcptr, | |
| mp_srcptr, mp_srcptr, mp_srcptr, mp_size_t, mp_ptr); | |
| void __gmpn_matrix22_mul_strassen(mp_ptr, mp_ptr, mp_ptr, mp_ptr, mp_size_t, | |
| mp_srcptr, mp_srcptr, mp_srcptr, mp_srcptr, | |
| mp_size_t, mp_ptr); | |
| mp_size_t __gmpn_matrix22_mul_itch(mp_size_t, mp_size_t); | |
| #4118 "../../gmp-impl.h" | |
| struct hgcd_matrix1 { | |
| mp_limb_t u[2][2]; | |
| }; | |
| int __gmpn_hgcd2(mp_limb_t, mp_limb_t, mp_limb_t, mp_limb_t, | |
| struct hgcd_matrix1 *); | |
| mp_size_t __gmpn_hgcd_mul_matrix1_vector(const struct hgcd_matrix1 *, mp_ptr, | |
| mp_srcptr, mp_ptr, mp_size_t); | |
| mp_size_t __gmpn_matrix22_mul1_inverse_vector(const struct hgcd_matrix1 *, | |
| mp_ptr, mp_srcptr, mp_ptr, | |
| mp_size_t); | |
| int __gmpn_hgcd2_jacobi(mp_limb_t, mp_limb_t, mp_limb_t, mp_limb_t, | |
| struct hgcd_matrix1 *, unsigned *); | |
| struct hgcd_matrix { | |
| mp_size_t alloc; | |
| mp_size_t n; | |
| mp_ptr p[2][2]; | |
| }; | |
| void __gmpn_hgcd_matrix_init(struct hgcd_matrix *, mp_size_t, mp_ptr); | |
| void __gmpn_hgcd_matrix_update_q(struct hgcd_matrix *, mp_srcptr, mp_size_t, | |
| unsigned, mp_ptr); | |
| void __gmpn_hgcd_matrix_mul_1(struct hgcd_matrix *, const struct hgcd_matrix1 *, | |
| mp_ptr); | |
| void __gmpn_hgcd_matrix_mul(struct hgcd_matrix *, const struct hgcd_matrix *, | |
| mp_ptr); | |
| mp_size_t __gmpn_hgcd_matrix_adjust(const struct hgcd_matrix *, mp_size_t, | |
| mp_ptr, mp_ptr, mp_size_t, mp_ptr); | |
| mp_size_t __gmpn_hgcd_step(mp_size_t, mp_ptr, mp_ptr, mp_size_t, | |
| struct hgcd_matrix *, mp_ptr); | |
| mp_size_t __gmpn_hgcd_reduce(struct hgcd_matrix *, mp_ptr, mp_ptr, mp_size_t, | |
| mp_size_t, mp_ptr); | |
| mp_size_t __gmpn_hgcd_reduce_itch(mp_size_t, mp_size_t); | |
| mp_size_t __gmpn_hgcd_itch(mp_size_t); | |
| mp_size_t __gmpn_hgcd(mp_ptr, mp_ptr, mp_size_t, struct hgcd_matrix *, mp_ptr); | |
| mp_size_t __gmpn_hgcd_appr_itch(mp_size_t); | |
| int __gmpn_hgcd_appr(mp_ptr, mp_ptr, mp_size_t, struct hgcd_matrix *, mp_ptr); | |
| mp_size_t __gmpn_hgcd_jacobi(mp_ptr, mp_ptr, mp_size_t, struct hgcd_matrix *, | |
| unsigned *, mp_ptr); | |
| typedef void gcd_subdiv_step_hook(void *, mp_srcptr, mp_size_t, mp_srcptr, | |
| mp_size_t, int); | |
| mp_size_t __gmpn_gcd_subdiv_step(mp_ptr, mp_ptr, mp_size_t, mp_size_t, | |
| gcd_subdiv_step_hook *, void *, mp_ptr); | |
| struct gcdext_ctx { | |
| mp_ptr gp; | |
| mp_size_t gn; | |
| mp_ptr up; | |
| mp_size_t *usize; | |
| mp_size_t un; | |
| mp_ptr u0, u1, tp; | |
| }; | |
| gcd_subdiv_step_hook __gmpn_gcdext_hook; | |
| mp_size_t __gmpn_gcdext_lehmer_n(mp_ptr, mp_ptr, mp_size_t *, mp_ptr, mp_ptr, | |
| mp_size_t, mp_ptr); | |
| #4236 "../../gmp-impl.h" | |
| struct powers { | |
| mp_ptr p; | |
| mp_size_t n; | |
| mp_size_t shift; | |
| size_t digits_in_base; | |
| int base; | |
| }; | |
| typedef struct powers powers_t; | |
| mp_size_t __gmpn_dc_set_str(mp_ptr, const unsigned char *, size_t, | |
| const powers_t *, mp_ptr); | |
| mp_size_t __gmpn_bc_set_str(mp_ptr, const unsigned char *, size_t, int); | |
| void __gmpn_set_str_compute_powtab(powers_t *, mp_ptr, mp_size_t, int); | |
| #4267 "../../gmp-impl.h" | |
| extern mp_size_t __gmp_default_fp_limb_precision; | |
| #4348 "../../gmp-impl.h" | |
| struct doprnt_params_t { | |
| int base; | |
| int conv; | |
| const char *expfmt; | |
| int exptimes4; | |
| char fill; | |
| int justify; | |
| int prec; | |
| int showbase; | |
| int showpoint; | |
| int showtrailing; | |
| char sign; | |
| int width; | |
| }; | |
| #4478 "../../gmp-impl.h" | |
| typedef int (*gmp_doscan_scan_t)(void *, const char *, ...); | |
| typedef void *(*gmp_doscan_step_t)(void *, int); | |
| typedef int (*gmp_doscan_get_t)(void *); | |
| typedef int (*gmp_doscan_unget_t)(int, void *); | |
| struct gmp_doscan_funs_t { | |
| gmp_doscan_scan_t scan; | |
| gmp_doscan_step_t step; | |
| gmp_doscan_get_t get; | |
| gmp_doscan_unget_t unget; | |
| }; | |
| extern const struct gmp_doscan_funs_t __gmp_fscanf_funs; | |
| extern const struct gmp_doscan_funs_t __gmp_sscanf_funs; | |
| #4598 "../../gmp-impl.h" | |
| void __gmpn_cpuvec_init(void); | |
| #4611 "../../gmp-impl.h" | |
| static inline mp_limb_t mpn_add_nc(mp_ptr rp, mp_srcptr up, mp_srcptr vp, | |
| mp_size_t n, mp_limb_t ci) { | |
| mp_limb_t co; | |
| co = __gmpn_add_n(rp, up, vp, n); | |
| co += __gmpn_add_1(rp, rp, n, ci); | |
| return co; | |
| } | |
| static inline mp_limb_t mpn_sub_nc(mp_ptr rp, mp_srcptr up, mp_srcptr vp, | |
| mp_size_t n, mp_limb_t ci) { | |
| mp_limb_t co; | |
| co = __gmpn_sub_n(rp, up, vp, n); | |
| co += __gmpn_sub_1(rp, rp, n, ci); | |
| return co; | |
| } | |
| static inline int mpn_zero_p(mp_srcptr ap, mp_size_t n) { | |
| mp_size_t i; | |
| for (i = n - 1; i >= 0; i--) { | |
| if (ap[i] != 0) | |
| return 0; | |
| } | |
| return 1; | |
| } | |
| #5020 "../../gmp-impl.h" | |
| static inline mp_size_t mpn_toom6h_mul_itch(mp_size_t an, mp_size_t bn) { | |
| mp_size_t estimatedN; | |
| estimatedN = (an + bn) / (size_t)10 + 1; | |
| return (((estimatedN * 6) - ((350 > 300) ? 350 : 300)) * 2 + | |
| ((((350 > 300) ? 350 : 300) * 2 + (64 - 0) * 6) > | |
| ((3 * (((350 > 300) ? 350 : 300)) + (64 - 0))) | |
| ? (((350 > 300) ? 350 : 300) * 2 + (64 - 0) * 6) | |
| : ((3 * (((350 > 300) ? 350 : 300)) + (64 - 0))))); | |
| } | |
| #5040 "../../gmp-impl.h" | |
| static inline mp_size_t mpn_toom8h_mul_itch(mp_size_t an, mp_size_t bn) { | |
| mp_size_t estimatedN; | |
| estimatedN = (an + bn) / (size_t)14 + 1; | |
| return ( | |
| (((estimatedN * 8) * 15) >> 3) - | |
| ((((450 > ((350 > 300) ? 350 : 300)) ? 450 : ((350 > 300) ? 350 : 300)) * | |
| 15) >> | |
| 3) + | |
| ((((((450 > ((350 > 300) ? 350 : 300)) ? 450 | |
| : ((350 > 300) ? 350 : 300)) * | |
| 15) >> | |
| 3) + | |
| (64 - 0) * 6) > | |
| ((((((450 > ((350 > 300) ? 350 : 300)) | |
| ? 450 | |
| : ((350 > 300) ? 350 : 300))) - | |
| ((350 > 300) ? 350 : 300)) * | |
| 2 + | |
| ((((350 > 300) ? 350 : 300) * 2 + (64 - 0) * 6) > | |
| ((3 * (((350 > 300) ? 350 : 300)) + (64 - 0))) | |
| ? (((350 > 300) ? 350 : 300) * 2 + (64 - 0) * 6) | |
| : ((3 * (((350 > 300) ? 350 : 300)) + (64 - 0)))))) | |
| ? (((((450 > ((350 > 300) ? 350 : 300)) | |
| ? 450 | |
| : ((350 > 300) ? 350 : 300)) * | |
| 15) >> | |
| 3) + | |
| (64 - 0) * 6) | |
| : ((((((450 > ((350 > 300) ? 350 : 300)) | |
| ? 450 | |
| : ((350 > 300) ? 350 : 300))) - | |
| ((350 > 300) ? 350 : 300)) * | |
| 2 + | |
| ((((350 > 300) ? 350 : 300) * 2 + (64 - 0) * 6) > | |
| ((3 * (((350 > 300) ? 350 : 300)) + (64 - 0))) | |
| ? (((350 > 300) ? 350 : 300) * 2 + (64 - 0) * 6) | |
| : ((3 * (((350 > 300) ? 350 : 300)) + (64 - 0)))))))); | |
| } | |
| static inline mp_size_t mpn_toom32_mul_itch(mp_size_t an, mp_size_t bn) { | |
| mp_size_t n = 1 + (2 * an >= 3 * bn ? (an - 1) / (size_t)3 : (bn - 1) >> 1); | |
| mp_size_t itch = 2 * n + 1; | |
| return itch; | |
| } | |
| static inline mp_size_t mpn_toom42_mul_itch(mp_size_t an, mp_size_t bn) { | |
| mp_size_t n = an >= 2 * bn ? (an + 3) >> 2 : (bn + 1) >> 1; | |
| return 6 * n + 3; | |
| } | |
| static inline mp_size_t mpn_toom43_mul_itch(mp_size_t an, mp_size_t bn) { | |
| mp_size_t n = 1 + (3 * an >= 4 * bn ? (an - 1) >> 2 : (bn - 1) / (size_t)3); | |
| return 6 * n + 4; | |
| } | |
| static inline mp_size_t mpn_toom52_mul_itch(mp_size_t an, mp_size_t bn) { | |
| mp_size_t n = 1 + (2 * an >= 5 * bn ? (an - 1) / (size_t)5 : (bn - 1) >> 1); | |
| return 6 * n + 4; | |
| } | |
| static inline mp_size_t mpn_toom53_mul_itch(mp_size_t an, mp_size_t bn) { | |
| mp_size_t n = | |
| 1 + (3 * an >= 5 * bn ? (an - 1) / (size_t)5 : (bn - 1) / (size_t)3); | |
| return 10 * n + 10; | |
| } | |
| static inline mp_size_t mpn_toom62_mul_itch(mp_size_t an, mp_size_t bn) { | |
| mp_size_t n = 1 + (an >= 3 * bn ? (an - 1) / (size_t)6 : (bn - 1) >> 1); | |
| return 10 * n + 10; | |
| } | |
| static inline mp_size_t mpn_toom63_mul_itch(mp_size_t an, mp_size_t bn) { | |
| mp_size_t n = | |
| 1 + (an >= 2 * bn ? (an - 1) / (size_t)6 : (bn - 1) / (size_t)3); | |
| return 9 * n + 3; | |
| } | |
| static inline mp_size_t mpn_toom54_mul_itch(mp_size_t an, mp_size_t bn) { | |
| mp_size_t n = | |
| 1 + (4 * an >= 5 * bn ? (an - 1) / (size_t)5 : (bn - 1) / (size_t)4); | |
| return 9 * n + 3; | |
| } | |
| #24 "t-get_d_2exp.c" 2 | |
| #1 "../../tests/tests.h" 1 | |
| #25 "../../tests/tests.h" | |
| #1 "../../config.h" 1 | |
| #26 "../../tests/tests.h" 2 | |
| #1 "/usr/include/setjmp.h" 1 3 4 | |
| #36 "/usr/include/setjmp.h" 3 4 | |
| typedef int jmp_buf[((9 * 2) + 3 + 16)]; | |
| typedef int sigjmp_buf[((9 * 2) + 3 + 16) + 1]; | |
| #73 "/usr/include/setjmp.h" 3 4 | |
| extern int setjmp(jmp_buf); | |
| extern void longjmp(jmp_buf, int) __attribute__((noreturn)); | |
| int _setjmp(jmp_buf); | |
| void _longjmp(jmp_buf, int) __attribute__((noreturn)); | |
| int sigsetjmp(sigjmp_buf, int); | |
| void siglongjmp(sigjmp_buf, int) __attribute__((noreturn)); | |
| void longjmperror(void); | |
| #28 "../../tests/tests.h" 2 | |
| #41 "../../tests/tests.h" | |
| void tests_start(void); | |
| void tests_end(void); | |
| void tests_memory_start(void); | |
| void tests_memory_end(void); | |
| void *tests_allocate(size_t); | |
| void *tests_reallocate(void *, size_t, size_t); | |
| void tests_free(void *, size_t); | |
| void tests_free_nosize(void *); | |
| int tests_memory_valid(void *); | |
| void tests_rand_start(void); | |
| void tests_rand_end(void); | |
| double tests_infinity_d(); | |
| int tests_hardware_getround(void); | |
| int tests_hardware_setround(int); | |
| int tests_isinf(double); | |
| int tests_dbl_mant_bits(void); | |
| void x86_fldcw(unsigned short); | |
| unsigned short x86_fstcw(void); | |
| #77 "../../tests/tests.h" | |
| void tests_sigfpe_handler(int); | |
| void tests_sigfpe_done(void); | |
| extern jmp_buf tests_sigfpe_target; | |
| #95 "../../tests/tests.h" | |
| extern int mp_trace_base; | |
| void mp_limb_trace(const char *, mp_limb_t); | |
| void mpn_trace(const char *, mp_srcptr, mp_size_t); | |
| void mpn_tracea(const char *, const mp_ptr *, int, mp_size_t); | |
| void mpn_tracen(const char *, int, mp_srcptr, mp_size_t); | |
| void mpn_trace_file(const char *, mp_srcptr, mp_size_t); | |
| void mpn_tracea_file(const char *, const mp_ptr *, int, mp_size_t); | |
| void mpf_trace(const char *, mpf_srcptr); | |
| void mpq_trace(const char *, mpq_srcptr); | |
| void mpz_trace(const char *, mpz_srcptr); | |
| void mpz_tracen(const char *, int, mpz_srcptr); | |
| void byte_trace(const char *, const void *, mp_size_t); | |
| void byte_tracen(const char *, int, const void *, mp_size_t); | |
| void d_trace(const char *, double); | |
| void spinner(void); | |
| extern unsigned long spinner_count; | |
| extern int spinner_wanted; | |
| extern int spinner_tick; | |
| void *align_pointer(void *, size_t); | |
| void *__gmp_allocate_func_aligned(size_t, size_t); | |
| void *__gmp_allocate_or_reallocate(void *, size_t, size_t); | |
| char *__gmp_allocate_strdup(const char *); | |
| char *strtoupper(char *); | |
| mp_limb_t urandom(void); | |
| void call_rand_algs(void (*func)(const char *, gmp_randstate_t)); | |
| void mpf_set_str_or_abort(mpf_ptr, const char *, int); | |
| void mpq_set_str_or_abort(mpq_ptr, const char *, int); | |
| void mpz_erandomb(mpz_ptr, gmp_randstate_t, unsigned long); | |
| void mpz_erandomb_nonzero(mpz_ptr, gmp_randstate_t, unsigned long); | |
| void mpz_errandomb(mpz_ptr, gmp_randstate_t, unsigned long); | |
| void mpz_errandomb_nonzero(mpz_ptr, gmp_randstate_t, unsigned long); | |
| void mpz_init_set_n(mpz_ptr, mp_srcptr, mp_size_t); | |
| void mpz_negrandom(mpz_ptr, gmp_randstate_t); | |
| int mpz_pow2abs_p(mpz_srcptr) __attribute__((__pure__)); | |
| void mpz_set_n(mpz_ptr, mp_srcptr, mp_size_t); | |
| void mpz_set_str_or_abort(mpz_ptr, const char *, int); | |
| mp_size_t mpn_diff_highest(mp_srcptr, mp_srcptr, mp_size_t) | |
| __attribute__((__pure__)); | |
| mp_size_t mpn_diff_lowest(mp_srcptr, mp_srcptr, mp_size_t) | |
| __attribute__((__pure__)); | |
| mp_size_t byte_diff_highest(const void *, const void *, mp_size_t) | |
| __attribute__((__pure__)); | |
| mp_size_t byte_diff_lowest(const void *, const void *, mp_size_t) | |
| __attribute__((__pure__)); | |
| mp_limb_t ref_addc_limb(mp_limb_t *, mp_limb_t, mp_limb_t); | |
| mp_limb_t ref_bswap_limb(mp_limb_t); | |
| unsigned long ref_popc_limb(mp_limb_t); | |
| mp_limb_t ref_subc_limb(mp_limb_t *, mp_limb_t, mp_limb_t); | |
| void refmpf_add(mpf_ptr, mpf_srcptr, mpf_srcptr); | |
| void refmpf_add_ulp(mpf_ptr); | |
| void refmpf_fill(mpf_ptr, mp_size_t, mp_limb_t); | |
| void refmpf_normalize(mpf_ptr); | |
| void refmpf_set_prec_limbs(mpf_ptr, unsigned long); | |
| unsigned long refmpf_set_overlap(mpf_ptr, mpf_srcptr); | |
| void refmpf_sub(mpf_ptr, mpf_srcptr, mpf_srcptr); | |
| int refmpf_validate(const char *, mpf_srcptr, mpf_srcptr); | |
| int refmpf_validate_division(const char *, mpf_srcptr, mpf_srcptr, mpf_srcptr); | |
| mp_limb_t refmpn_addcnd_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, mp_limb_t); | |
| mp_limb_t refmpn_subcnd_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, mp_limb_t); | |
| mp_limb_t refmpn_add(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); | |
| mp_limb_t refmpn_add_1(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); | |
| mp_limb_t refmpn_add_err1_n(mp_ptr, mp_srcptr, mp_srcptr, mp_ptr, mp_srcptr, | |
| mp_size_t, mp_limb_t); | |
| mp_limb_t refmpn_add_err2_n(mp_ptr, mp_srcptr, mp_srcptr, mp_ptr, mp_srcptr, | |
| mp_srcptr, mp_size_t, mp_limb_t); | |
| mp_limb_t refmpn_add_err3_n(mp_ptr, mp_srcptr, mp_srcptr, mp_ptr, mp_srcptr, | |
| mp_srcptr, mp_srcptr, mp_size_t, mp_limb_t); | |
| mp_limb_t refmpn_add_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); | |
| mp_limb_t refmpn_add_nc(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, mp_limb_t); | |
| mp_limb_t refmpn_addlsh1_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); | |
| mp_limb_t refmpn_addlsh2_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); | |
| mp_limb_t refmpn_addlsh_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, unsigned); | |
| mp_limb_t refmpn_addlsh1_n_ip1(mp_ptr, mp_srcptr, mp_size_t); | |
| mp_limb_t refmpn_addlsh2_n_ip1(mp_ptr, mp_srcptr, mp_size_t); | |
| mp_limb_t refmpn_addlsh_n_ip1(mp_ptr, mp_srcptr, mp_size_t, unsigned); | |
| mp_limb_t refmpn_addlsh1_n_ip2(mp_ptr, mp_srcptr, mp_size_t); | |
| mp_limb_t refmpn_addlsh2_n_ip2(mp_ptr, mp_srcptr, mp_size_t); | |
| mp_limb_t refmpn_addlsh_n_ip2(mp_ptr, mp_srcptr, mp_size_t, unsigned); | |
| mp_limb_t refmpn_addlsh1_nc(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, mp_limb_t); | |
| mp_limb_t refmpn_addlsh2_nc(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, mp_limb_t); | |
| mp_limb_t refmpn_addlsh_nc(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, unsigned, | |
| mp_limb_t); | |
| mp_limb_t refmpn_addmul_1(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); | |
| mp_limb_t refmpn_addmul_1c(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t); | |
| mp_limb_t refmpn_addmul_2(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); | |
| mp_limb_t refmpn_addmul_3(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); | |
| mp_limb_t refmpn_addmul_4(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); | |
| mp_limb_t refmpn_addmul_5(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); | |
| mp_limb_t refmpn_addmul_6(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); | |
| mp_limb_t refmpn_addmul_7(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); | |
| mp_limb_t refmpn_addmul_8(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); | |
| mp_limb_t refmpn_add_n_sub_n(mp_ptr, mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); | |
| mp_limb_t refmpn_add_n_sub_nc(mp_ptr, mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, | |
| mp_limb_t); | |
| void refmpn_and_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); | |
| void refmpn_andn_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); | |
| mp_limb_t refmpn_big_base(int); | |
| int refmpn_chars_per_limb(int); | |
| void refmpn_clrbit(mp_ptr, unsigned long); | |
| int refmpn_cmp(mp_srcptr, mp_srcptr, mp_size_t); | |
| int refmpn_cmp_allowzero(mp_srcptr, mp_srcptr, mp_size_t); | |
| int refmpn_cmp_twosizes(mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); | |
| void refmpn_com(mp_ptr, mp_srcptr, mp_size_t); | |
| void refmpn_copy(mp_ptr, mp_srcptr, mp_size_t); | |
| void refmpn_copyi(mp_ptr, mp_srcptr, mp_size_t); | |
| void refmpn_copyd(mp_ptr, mp_srcptr, mp_size_t); | |
| void refmpn_copy_extend(mp_ptr, mp_size_t, mp_srcptr, mp_size_t); | |
| unsigned refmpn_count_leading_zeros(mp_limb_t); | |
| unsigned refmpn_count_trailing_zeros(mp_limb_t); | |
| mp_limb_t refmpn_divexact_by3(mp_ptr, mp_srcptr, mp_size_t); | |
| mp_limb_t refmpn_divexact_by3c(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); | |
| mp_limb_t refmpn_divmod_1(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); | |
| mp_limb_t refmpn_divmod_1c(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t); | |
| mp_limb_t refmpn_divrem_1(mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t); | |
| mp_limb_t refmpn_divrem_1c(mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t, | |
| mp_limb_t); | |
| mp_limb_t refmpn_divrem_2(mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr); | |
| int refmpn_equal_anynail(mp_srcptr, mp_srcptr, mp_size_t); | |
| void refmpn_fill(mp_ptr, mp_size_t, mp_limb_t); | |
| mp_limb_t refmpn_gcd_1(mp_srcptr, mp_size_t, mp_limb_t); | |
| mp_limb_t refmpn_gcd(mp_ptr, mp_ptr, mp_size_t, mp_ptr, mp_size_t); | |
| size_t refmpn_get_str(unsigned char *, int, mp_ptr, mp_size_t); | |
| unsigned long refmpn_hamdist(mp_srcptr, mp_srcptr, mp_size_t); | |
| mp_limb_t refmpn_invert_limb(mp_limb_t); | |
| void refmpn_ior_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); | |
| void refmpn_iorn_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); | |
| mp_limb_t refmpn_lshift(mp_ptr, mp_srcptr, mp_size_t, unsigned); | |
| mp_limb_t refmpn_lshift_or_copy(mp_ptr, mp_srcptr, mp_size_t, unsigned); | |
| mp_limb_t refmpn_lshift_or_copy_any(mp_ptr, mp_srcptr, mp_size_t, unsigned); | |
| mp_limb_t refmpn_lshiftc(mp_ptr, mp_srcptr, mp_size_t, unsigned); | |
| void refmpn_com(mp_ptr, mp_srcptr, mp_size_t); | |
| mp_ptr refmpn_malloc_limbs(mp_size_t); | |
| mp_ptr refmpn_malloc_limbs_aligned(mp_size_t, size_t); | |
| void refmpn_free_limbs(mp_ptr); | |
| mp_limb_t refmpn_msbone(mp_limb_t); | |
| mp_limb_t refmpn_msbone_mask(mp_limb_t); | |
| mp_ptr refmpn_memdup_limbs(mp_srcptr, mp_size_t); | |
| mp_limb_t refmpn_mod_1(mp_srcptr, mp_size_t, mp_limb_t); | |
| mp_limb_t refmpn_mod_1c(mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t); | |
| mp_limb_t refmpn_mod_34lsub1(mp_srcptr, mp_size_t); | |
| mp_limb_t refmpn_mul_1(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); | |
| mp_limb_t refmpn_mul_1c(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t); | |
| mp_limb_t refmpn_mul_2(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); | |
| mp_limb_t refmpn_mul_3(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); | |
| mp_limb_t refmpn_mul_4(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); | |
| mp_limb_t refmpn_mul_5(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); | |
| mp_limb_t refmpn_mul_6(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); | |
| void refmpn_mul_basecase(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); | |
| void refmpn_mulmid_basecase(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); | |
| void refmpn_toom42_mulmid(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, mp_ptr); | |
| void refmpn_mulmid_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); | |
| void refmpn_mulmid(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); | |
| void refmpn_mullo_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); | |
| void refmpn_mul_any(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); | |
| void refmpn_mul_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); | |
| void refmpn_mul(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); | |
| void refmpn_nand_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); | |
| void refmpn_nior_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); | |
| mp_limb_t refmpn_neg(mp_ptr, mp_srcptr, mp_size_t); | |
| mp_size_t refmpn_normalize(mp_srcptr, mp_size_t); | |
| unsigned long refmpn_popcount(mp_srcptr, mp_size_t); | |
| mp_limb_t refmpn_preinv_divrem_1(mp_ptr, mp_size_t, mp_srcptr, mp_size_t, | |
| mp_limb_t, mp_limb_t, unsigned); | |
| mp_limb_t refmpn_preinv_mod_1(mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t); | |
| void refmpn_random(mp_ptr, mp_size_t); | |
| void refmpn_random2(mp_ptr, mp_size_t); | |
| mp_limb_t refmpn_random_limb(void); | |
| mp_limb_t refmpn_rsh1add_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); | |
| mp_limb_t refmpn_rsh1sub_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); | |
| mp_limb_t refmpn_rshift(mp_ptr, mp_srcptr, mp_size_t, unsigned); | |
| mp_limb_t refmpn_rshift_or_copy(mp_ptr, mp_srcptr, mp_size_t, unsigned); | |
| mp_limb_t refmpn_rshift_or_copy_any(mp_ptr, mp_srcptr, mp_size_t, unsigned); | |
| mp_limb_t refmpn_sb_div_qr(mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t); | |
| unsigned long refmpn_scan0(mp_srcptr, unsigned long); | |
| unsigned long refmpn_scan1(mp_srcptr, unsigned long); | |
| void refmpn_setbit(mp_ptr, unsigned long); | |
| void refmpn_sqr(mp_ptr, mp_srcptr, mp_size_t); | |
| mp_size_t refmpn_sqrtrem(mp_ptr, mp_ptr, mp_srcptr, mp_size_t); | |
| void refmpn_sub_ddmmss(mp_limb_t *, mp_limb_t *, mp_limb_t, mp_limb_t, | |
| mp_limb_t, mp_limb_t); | |
| mp_limb_t refmpn_sub(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); | |
| mp_limb_t refmpn_sub_1(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); | |
| mp_limb_t refmpn_sub_err1_n(mp_ptr, mp_srcptr, mp_srcptr, mp_ptr, mp_srcptr, | |
| mp_size_t, mp_limb_t); | |
| mp_limb_t refmpn_sub_err2_n(mp_ptr, mp_srcptr, mp_srcptr, mp_ptr, mp_srcptr, | |
| mp_srcptr, mp_size_t, mp_limb_t); | |
| mp_limb_t refmpn_sub_err3_n(mp_ptr, mp_srcptr, mp_srcptr, mp_ptr, mp_srcptr, | |
| mp_srcptr, mp_srcptr, mp_size_t, mp_limb_t); | |
| mp_limb_t refmpn_sub_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); | |
| mp_limb_t refmpn_sub_nc(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, mp_limb_t); | |
| mp_limb_t refmpn_sublsh1_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); | |
| mp_limb_t refmpn_sublsh2_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); | |
| mp_limb_t refmpn_sublsh_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, | |
| unsigned int); | |
| mp_limb_t refmpn_sublsh1_n_ip1(mp_ptr, mp_srcptr, mp_size_t); | |
| mp_limb_t refmpn_sublsh2_n_ip1(mp_ptr, mp_srcptr, mp_size_t); | |
| mp_limb_t refmpn_sublsh_n_ip1(mp_ptr, mp_srcptr, mp_size_t, unsigned int); | |
| mp_limb_t refmpn_sublsh1_nc(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, mp_limb_t); | |
| mp_limb_t refmpn_sublsh2_nc(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, mp_limb_t); | |
| mp_limb_t refmpn_sublsh_nc(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, | |
| unsigned int, mp_limb_t); | |
| mp_limb_t refmpn_submul_1(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); | |
| mp_limb_t refmpn_submul_1c(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t); | |
| mp_limb_signed_t refmpn_rsblsh1_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); | |
| mp_limb_signed_t refmpn_rsblsh2_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); | |
| mp_limb_signed_t refmpn_rsblsh_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, | |
| unsigned int); | |
| mp_limb_signed_t refmpn_rsblsh1_nc(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, | |
| mp_limb_signed_t); | |
| mp_limb_signed_t refmpn_rsblsh2_nc(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, | |
| mp_limb_signed_t); | |
| mp_limb_signed_t refmpn_rsblsh_nc(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, | |
| unsigned int, mp_limb_signed_t); | |
| void refmpn_tdiv_qr(mp_ptr, mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr, | |
| mp_size_t); | |
| int refmpn_tstbit(mp_srcptr, unsigned long); | |
| mp_limb_t refmpn_udiv_qrnnd(mp_limb_t *, mp_limb_t, mp_limb_t, mp_limb_t); | |
| mp_limb_t refmpn_udiv_qrnnd_r(mp_limb_t, mp_limb_t, mp_limb_t, mp_limb_t *); | |
| mp_limb_t refmpn_umul_ppmm(mp_limb_t *, mp_limb_t, mp_limb_t); | |
| mp_limb_t refmpn_umul_ppmm_r(mp_limb_t, mp_limb_t, mp_limb_t *); | |
| void refmpn_xnor_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); | |
| void refmpn_xor_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); | |
| void refmpn_zero(mp_ptr, mp_size_t); | |
| void refmpn_zero_extend(mp_ptr, mp_size_t, mp_size_t); | |
| int refmpn_zero_p(mp_srcptr, mp_size_t); | |
| void refmpn_binvert(mp_ptr, mp_srcptr, mp_size_t, mp_ptr); | |
| void refmpn_invert(mp_ptr, mp_srcptr, mp_size_t, mp_ptr); | |
| void refmpq_add(mpq_ptr, mpq_srcptr, mpq_srcptr); | |
| void refmpq_sub(mpq_ptr, mpq_srcptr, mpq_srcptr); | |
| void refmpz_combit(mpz_ptr, unsigned long); | |
| unsigned long refmpz_hamdist(mpz_srcptr, mpz_srcptr); | |
| int refmpz_kronecker(mpz_srcptr, mpz_srcptr); | |
| int refmpz_jacobi(mpz_srcptr, mpz_srcptr); | |
| int refmpz_legendre(mpz_srcptr, mpz_srcptr); | |
| int refmpz_kronecker_si(mpz_srcptr, long); | |
| int refmpz_kronecker_ui(mpz_srcptr, unsigned long); | |
| int refmpz_si_kronecker(long, mpz_srcptr); | |
| int refmpz_ui_kronecker(unsigned long, mpz_srcptr); | |
| void refmpz_pow_ui(mpz_ptr, mpz_srcptr, unsigned long); | |
| #25 "t-get_d_2exp.c" 2 | |
| static void check_zero(void) { | |
| mpz_t z; | |
| double got, want; | |
| long got_exp, want_exp; | |
| __gmpz_init_set_ui(z, 0); | |
| want = 0.0; | |
| want_exp = 0; | |
| got = __gmpz_get_d_2exp(&got_exp, z); | |
| if (got != want || got_exp != want_exp) { | |
| printf("mpz_get_d_2exp wrong on zero\n"); | |
| mpz_trace(" z ", z); | |
| d_trace(" want ", want); | |
| d_trace(" got ", got); | |
| printf(" want exp %ld\n", want_exp); | |
| printf(" got exp %ld\n", got_exp); | |
| abort(); | |
| } | |
| __gmpz_clear(z); | |
| } | |
| static void check_onebit(void) { | |
| static const unsigned long data[] = { 1, 32, 52, 53, 54, 63, 64, 65, 128, 256, | |
| 511, 512, 513 }; | |
| mpz_t z; | |
| double got, want; | |
| long got_exp, want_exp; | |
| int i; | |
| __gmpz_init(z); | |
| for (i = 0; i < (sizeof(data) / sizeof((data)[0])); i++) { | |
| __gmpz_set_ui(z, 1L); | |
| __gmpz_mul_2exp(z, z, data[i]); | |
| want = 0.5; | |
| want_exp = data[i] + 1; | |
| got = __gmpz_get_d_2exp(&got_exp, z); | |
| if (got != want || got_exp != want_exp) { | |
| printf("mpz_get_d_2exp wrong on 2**%ld\n", data[i]); | |
| mpz_trace(" z ", z); | |
| d_trace(" want ", want); | |
| d_trace(" got ", got); | |
| printf(" want exp %ld\n", want_exp); | |
| printf(" got exp %ld\n", got_exp); | |
| abort(); | |
| } | |
| __gmpz_set_si(z, -1L); | |
| __gmpz_mul_2exp(z, z, data[i]); | |
| want = -0.5; | |
| want_exp = data[i] + 1; | |
| got = __gmpz_get_d_2exp(&got_exp, z); | |
| if (got != want || got_exp != want_exp) { | |
| printf("mpz_get_d_2exp wrong on -2**%ld\n", data[i]); | |
| mpz_trace(" z ", z); | |
| d_trace(" want ", want); | |
| d_trace(" got ", got); | |
| printf(" want exp %ld\n", want_exp); | |
| printf(" got exp %ld\n", got_exp); | |
| abort(); | |
| } | |
| } | |
| __gmpz_clear(z); | |
| } | |
| static void check_round(void) { | |
| static const unsigned long data[] = { 1, 32, 53, 54, 64, 128, 256, 512 }; | |
| mpz_t z; | |
| double got; | |
| long got_exp; | |
| int i, rnd_mode, old_rnd_mode; | |
| __gmpz_init(z); | |
| old_rnd_mode = tests_hardware_getround(); | |
| for (rnd_mode = 0; rnd_mode < 4; rnd_mode++) { | |
| tests_hardware_setround(rnd_mode); | |
| for (i = 0; i < (sizeof(data) / sizeof((data)[0])); i++) { | |
| __gmpz_set_ui(z, 1L); | |
| __gmpz_mul_2exp(z, z, data[i]); | |
| __gmpz_sub_ui(z, z, 1L); | |
| got = __gmpz_get_d_2exp(&got_exp, z); | |
| if (got < 0.5 || got >= 1.0) { | |
| printf("mpz_get_d_2exp wrong on 2**%lu-1\n", data[i]); | |
| printf("result out of range, expect 0.5 <= got < 1.0\n"); | |
| printf(" rnd_mode = %d\n", rnd_mode); | |
| printf(" data[i] = %lu\n", data[i]); | |
| mpz_trace(" z ", z); | |
| d_trace(" got ", got); | |
| printf(" got exp %ld\n", got_exp); | |
| abort(); | |
| } | |
| __gmpz_neg(z, z); | |
| got = __gmpz_get_d_2exp(&got_exp, z); | |
| if (got <= -1.0 || got > -0.5) { | |
| printf("mpz_get_d_2exp wrong on -2**%lu-1\n", data[i]); | |
| printf("result out of range, expect -1.0 < got <= -0.5\n"); | |
| printf(" rnd_mode = %d\n", rnd_mode); | |
| printf(" data[i] = %lu\n", data[i]); | |
| mpz_trace(" z ", z); | |
| d_trace(" got ", got); | |
| printf(" got exp %ld\n", got_exp); | |
| abort(); | |
| } | |
| } | |
| } | |
| __gmpz_clear(z); | |
| tests_hardware_setround(old_rnd_mode); | |
| } | |
| static void check_rand(void) { | |
| gmp_randstate_ptr rands = | |
| ((__gmp_rands_initialized ? 0 | |
| : (__gmp_rands_initialized = 1, | |
| __gmp_randinit_mt_noseed(__gmp_rands), 0)), | |
| __gmp_rands); | |
| int i; | |
| mpz_t z; | |
| double got; | |
| long got_exp; | |
| unsigned long bits; | |
| __gmpz_init(z); | |
| for (i = 0; i < 200; i++) { | |
| bits = __gmp_urandomm_ui(rands, 512L); | |
| __gmpz_urandomb(z, rands, bits); | |
| got = __gmpz_get_d_2exp(&got_exp, z); | |
| if (((z)->_mp_size < 0 ? -1 : (z)->_mp_size > 0) == 0) | |
| continue; | |
| bits = __gmpz_sizeinbase(z, 2); | |
| if (got < 0.5 || got >= 1.0) { | |
| printf("mpz_get_d_2exp out of range, expect 0.5 <= got < 1.0\n"); | |
| mpz_trace(" z ", z); | |
| d_trace(" got ", got); | |
| printf(" got exp %ld\n", got_exp); | |
| abort(); | |
| } | |
| #205 "t-get_d_2exp.c" | |
| } | |
| __gmpz_clear(z); | |
| } | |
| int main(void) { | |
| tests_start(); | |
| mp_trace_base = -16; | |
| check_zero(); | |
| check_onebit(); | |
| check_round(); | |
| check_rand(); | |
| tests_end(); | |
| exit(0); | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment