1pub const __GMP_HAVE_HOST_CPU_FAMILY_power: u32 = 0;
4pub const __GMP_HAVE_HOST_CPU_FAMILY_powerpc: u32 = 0;
5pub const GMP_LIMB_BITS: u32 = 64;
6pub const GMP_NAIL_BITS: u32 = 0;
7pub const GMP_NUMB_BITS: u32 = 64;
8pub const __GNU_MP__: u32 = 6;
9pub const _LIBC_LIMITS_H_: u32 = 1;
10pub const _FEATURES_H: u32 = 1;
11pub const _DEFAULT_SOURCE: u32 = 1;
12pub const __USE_ISOC11: u32 = 1;
13pub const __USE_ISOC99: u32 = 1;
14pub const __USE_ISOC95: u32 = 1;
15pub const __USE_POSIX_IMPLICITLY: u32 = 1;
16pub const _POSIX_SOURCE: u32 = 1;
17pub const _POSIX_C_SOURCE: u32 = 200809;
18pub const __USE_POSIX: u32 = 1;
19pub const __USE_POSIX2: u32 = 1;
20pub const __USE_POSIX199309: u32 = 1;
21pub const __USE_POSIX199506: u32 = 1;
22pub const __USE_XOPEN2K: u32 = 1;
23pub const __USE_XOPEN2K8: u32 = 1;
24pub const _ATFILE_SOURCE: u32 = 1;
25pub const __USE_MISC: u32 = 1;
26pub const __USE_ATFILE: u32 = 1;
27pub const __USE_FORTIFY_LEVEL: u32 = 0;
28pub const __GLIBC_USE_DEPRECATED_GETS: u32 = 0;
29pub const __GLIBC_USE_DEPRECATED_SCANF: u32 = 0;
30pub const _STDC_PREDEF_H: u32 = 1;
31pub const __STDC_IEC_559__: u32 = 1;
32pub const __STDC_IEC_559_COMPLEX__: u32 = 1;
33pub const __STDC_ISO_10646__: u32 = 201706;
34pub const __GNU_LIBRARY__: u32 = 6;
35pub const __GLIBC__: u32 = 2;
36pub const __GLIBC_MINOR__: u32 = 30;
37pub const _SYS_CDEFS_H: u32 = 1;
38pub const __glibc_c99_flexarr_available: u32 = 1;
39pub const __WORDSIZE: u32 = 64;
40pub const __WORDSIZE_TIME64_COMPAT32: u32 = 1;
41pub const __SYSCALL_WORDSIZE: u32 = 64;
42pub const __HAVE_GENERIC_SELECTION: u32 = 1;
43pub const __GLIBC_USE_LIB_EXT2: u32 = 0;
44pub const __GLIBC_USE_IEC_60559_BFP_EXT: u32 = 0;
45pub const __GLIBC_USE_IEC_60559_FUNCS_EXT: u32 = 0;
46pub const __GLIBC_USE_IEC_60559_TYPES_EXT: u32 = 0;
47pub const MB_LEN_MAX: u32 = 16;
48pub const _BITS_POSIX1_LIM_H: u32 = 1;
49pub const _POSIX_AIO_LISTIO_MAX: u32 = 2;
50pub const _POSIX_AIO_MAX: u32 = 1;
51pub const _POSIX_ARG_MAX: u32 = 4096;
52pub const _POSIX_CHILD_MAX: u32 = 25;
53pub const _POSIX_DELAYTIMER_MAX: u32 = 32;
54pub const _POSIX_HOST_NAME_MAX: u32 = 255;
55pub const _POSIX_LINK_MAX: u32 = 8;
56pub const _POSIX_LOGIN_NAME_MAX: u32 = 9;
57pub const _POSIX_MAX_CANON: u32 = 255;
58pub const _POSIX_MAX_INPUT: u32 = 255;
59pub const _POSIX_MQ_OPEN_MAX: u32 = 8;
60pub const _POSIX_MQ_PRIO_MAX: u32 = 32;
61pub const _POSIX_NAME_MAX: u32 = 14;
62pub const _POSIX_NGROUPS_MAX: u32 = 8;
63pub const _POSIX_OPEN_MAX: u32 = 20;
64pub const _POSIX_PATH_MAX: u32 = 256;
65pub const _POSIX_PIPE_BUF: u32 = 512;
66pub const _POSIX_RE_DUP_MAX: u32 = 255;
67pub const _POSIX_RTSIG_MAX: u32 = 8;
68pub const _POSIX_SEM_NSEMS_MAX: u32 = 256;
69pub const _POSIX_SEM_VALUE_MAX: u32 = 32767;
70pub const _POSIX_SIGQUEUE_MAX: u32 = 32;
71pub const _POSIX_SSIZE_MAX: u32 = 32767;
72pub const _POSIX_STREAM_MAX: u32 = 8;
73pub const _POSIX_SYMLINK_MAX: u32 = 255;
74pub const _POSIX_SYMLOOP_MAX: u32 = 8;
75pub const _POSIX_TIMER_MAX: u32 = 32;
76pub const _POSIX_TTY_NAME_MAX: u32 = 9;
77pub const _POSIX_TZNAME_MAX: u32 = 6;
78pub const _POSIX_CLOCKRES_MIN: u32 = 20000000;
79pub const NR_OPEN: u32 = 1024;
80pub const NGROUPS_MAX: u32 = 65536;
81pub const ARG_MAX: u32 = 131072;
82pub const LINK_MAX: u32 = 127;
83pub const MAX_CANON: u32 = 255;
84pub const MAX_INPUT: u32 = 255;
85pub const NAME_MAX: u32 = 255;
86pub const PATH_MAX: u32 = 4096;
87pub const PIPE_BUF: u32 = 4096;
88pub const XATTR_NAME_MAX: u32 = 255;
89pub const XATTR_SIZE_MAX: u32 = 65536;
90pub const XATTR_LIST_MAX: u32 = 65536;
91pub const RTSIG_MAX: u32 = 32;
92pub const _POSIX_THREAD_KEYS_MAX: u32 = 128;
93pub const PTHREAD_KEYS_MAX: u32 = 1024;
94pub const _POSIX_THREAD_DESTRUCTOR_ITERATIONS: u32 = 4;
95pub const PTHREAD_DESTRUCTOR_ITERATIONS: u32 = 4;
96pub const _POSIX_THREAD_THREADS_MAX: u32 = 64;
97pub const AIO_PRIO_DELTA_MAX: u32 = 20;
98pub const PTHREAD_STACK_MIN: u32 = 16384;
99pub const DELAYTIMER_MAX: u32 = 2147483647;
100pub const TTY_NAME_MAX: u32 = 32;
101pub const LOGIN_NAME_MAX: u32 = 256;
102pub const HOST_NAME_MAX: u32 = 64;
103pub const MQ_PRIO_MAX: u32 = 32768;
104pub const SEM_VALUE_MAX: u32 = 2147483647;
105pub const _BITS_POSIX2_LIM_H: u32 = 1;
106pub const _POSIX2_BC_BASE_MAX: u32 = 99;
107pub const _POSIX2_BC_DIM_MAX: u32 = 2048;
108pub const _POSIX2_BC_SCALE_MAX: u32 = 99;
109pub const _POSIX2_BC_STRING_MAX: u32 = 1000;
110pub const _POSIX2_COLL_WEIGHTS_MAX: u32 = 2;
111pub const _POSIX2_EXPR_NEST_MAX: u32 = 32;
112pub const _POSIX2_LINE_MAX: u32 = 2048;
113pub const _POSIX2_RE_DUP_MAX: u32 = 255;
114pub const _POSIX2_CHARCLASS_NAME_MAX: u32 = 14;
115pub const BC_BASE_MAX: u32 = 99;
116pub const BC_DIM_MAX: u32 = 2048;
117pub const BC_SCALE_MAX: u32 = 99;
118pub const BC_STRING_MAX: u32 = 1000;
119pub const COLL_WEIGHTS_MAX: u32 = 255;
120pub const EXPR_NEST_MAX: u32 = 32;
121pub const LINE_MAX: u32 = 2048;
122pub const CHARCLASS_NAME_MAX: u32 = 2048;
123pub const RE_DUP_MAX: u32 = 32767;
124pub const __GMP_LIBGMP_DLL: u32 = 0;
125pub const __GMP_MP_SIZE_T_INT: u32 = 0;
126pub const __GMP_INLINE_PROTOTYPES: u32 = 1;
127pub const __GMP_CC: &'static [u8; 21usize] = b"x86_64-linux-gnu-gcc\0";
128pub const __GMP_CFLAGS : & 'static [ u8 ; 123usize ] = b"-g -O2 -fdebug-prefix-map=/build/gmp-7RFi5X/gmp-6.2.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3\0" ;
129pub const __GNU_MP_VERSION: u32 = 6;
130pub const __GNU_MP_VERSION_MINOR: u32 = 2;
131pub const __GNU_MP_VERSION_PATCHLEVEL: u32 = 0;
132pub const __GNU_MP_RELEASE: u32 = 60200;
133pub const _SYS_PARAM_H: u32 = 1;
134pub const _SYS_TYPES_H: u32 = 1;
135pub const _BITS_TYPES_H: u32 = 1;
136pub const __TIMESIZE: u32 = 64;
137pub const _BITS_TYPESIZES_H: u32 = 1;
138pub const __OFF_T_MATCHES_OFF64_T: u32 = 1;
139pub const __INO_T_MATCHES_INO64_T: u32 = 1;
140pub const __RLIM_T_MATCHES_RLIM64_T: u32 = 1;
141pub const __FD_SETSIZE: u32 = 1024;
142pub const _BITS_TIME64_H: u32 = 1;
143pub const __clock_t_defined: u32 = 1;
144pub const __clockid_t_defined: u32 = 1;
145pub const __time_t_defined: u32 = 1;
146pub const __timer_t_defined: u32 = 1;
147pub const _BITS_STDINT_INTN_H: u32 = 1;
148pub const __BIT_TYPES_DEFINED__: u32 = 1;
149pub const _ENDIAN_H: u32 = 1;
150pub const __LITTLE_ENDIAN: u32 = 1234;
151pub const __BIG_ENDIAN: u32 = 4321;
152pub const __PDP_ENDIAN: u32 = 3412;
153pub const __BYTE_ORDER: u32 = 1234;
154pub const __FLOAT_WORD_ORDER: u32 = 1234;
155pub const LITTLE_ENDIAN: u32 = 1234;
156pub const BIG_ENDIAN: u32 = 4321;
157pub const PDP_ENDIAN: u32 = 3412;
158pub const BYTE_ORDER: u32 = 1234;
159pub const _BITS_BYTESWAP_H: u32 = 1;
160pub const _BITS_UINTN_IDENTITY_H: u32 = 1;
161pub const _SYS_SELECT_H: u32 = 1;
162pub const __FD_ZERO_STOS: &'static [u8; 6usize] = b"stosq\0";
163pub const __sigset_t_defined: u32 = 1;
164pub const __timeval_defined: u32 = 1;
165pub const _STRUCT_TIMESPEC: u32 = 1;
166pub const FD_SETSIZE: u32 = 1024;
167pub const _BITS_PTHREADTYPES_COMMON_H: u32 = 1;
168pub const _THREAD_SHARED_TYPES_H: u32 = 1;
169pub const _BITS_PTHREADTYPES_ARCH_H: u32 = 1;
170pub const __SIZEOF_PTHREAD_MUTEX_T: u32 = 40;
171pub const __SIZEOF_PTHREAD_ATTR_T: u32 = 56;
172pub const __SIZEOF_PTHREAD_RWLOCK_T: u32 = 56;
173pub const __SIZEOF_PTHREAD_BARRIER_T: u32 = 32;
174pub const __SIZEOF_PTHREAD_MUTEXATTR_T: u32 = 4;
175pub const __SIZEOF_PTHREAD_COND_T: u32 = 48;
176pub const __SIZEOF_PTHREAD_CONDATTR_T: u32 = 4;
177pub const __SIZEOF_PTHREAD_RWLOCKATTR_T: u32 = 8;
178pub const __SIZEOF_PTHREAD_BARRIERATTR_T: u32 = 4;
179pub const __PTHREAD_MUTEX_LOCK_ELISION: u32 = 1;
180pub const __PTHREAD_MUTEX_NUSERS_AFTER_KIND: u32 = 0;
181pub const __PTHREAD_MUTEX_USE_UNION: u32 = 0;
182pub const __PTHREAD_RWLOCK_INT_FLAGS_SHARED: u32 = 1;
183pub const __PTHREAD_MUTEX_HAVE_PREV: u32 = 1;
184pub const __have_pthread_attr_t: u32 = 1;
185pub const _BITS_SIGNUM_H: u32 = 1;
186pub const _BITS_SIGNUM_GENERIC_H: u32 = 1;
187pub const SIGINT: u32 = 2;
188pub const SIGILL: u32 = 4;
189pub const SIGABRT: u32 = 6;
190pub const SIGFPE: u32 = 8;
191pub const SIGSEGV: u32 = 11;
192pub const SIGTERM: u32 = 15;
193pub const SIGHUP: u32 = 1;
194pub const SIGQUIT: u32 = 3;
195pub const SIGTRAP: u32 = 5;
196pub const SIGKILL: u32 = 9;
197pub const SIGBUS: u32 = 10;
198pub const SIGSYS: u32 = 12;
199pub const SIGPIPE: u32 = 13;
200pub const SIGALRM: u32 = 14;
201pub const SIGURG: u32 = 16;
202pub const SIGSTOP: u32 = 17;
203pub const SIGTSTP: u32 = 18;
204pub const SIGCONT: u32 = 19;
205pub const SIGCHLD: u32 = 20;
206pub const SIGTTIN: u32 = 21;
207pub const SIGTTOU: u32 = 22;
208pub const SIGPOLL: u32 = 23;
209pub const SIGXCPU: u32 = 24;
210pub const SIGXFSZ: u32 = 25;
211pub const SIGVTALRM: u32 = 26;
212pub const SIGPROF: u32 = 27;
213pub const SIGUSR1: u32 = 30;
214pub const SIGUSR2: u32 = 31;
215pub const SIGWINCH: u32 = 28;
216pub const SIGIO: u32 = 23;
217pub const SIGIOT: u32 = 6;
218pub const SIGCLD: u32 = 20;
219pub const __SIGRTMIN: u32 = 32;
220pub const __SIGRTMAX: u32 = 32;
221pub const _NSIG: u32 = 33;
222pub const SIGSTKFLT: u32 = 16;
223pub const SIGPWR: u32 = 30;
224pub const __sig_atomic_t_defined: u32 = 1;
225pub const __siginfo_t_defined: u32 = 1;
226pub const __SI_MAX_SIZE: u32 = 128;
227pub const _BITS_SIGINFO_ARCH_H: u32 = 1;
228pub const __SI_ERRNO_THEN_CODE: u32 = 1;
229pub const __SI_HAVE_SIGSYS: u32 = 1;
230pub const _BITS_SIGINFO_CONSTS_H: u32 = 1;
231pub const __SI_ASYNCIO_AFTER_SIGIO: u32 = 1;
232pub const __sigevent_t_defined: u32 = 1;
233pub const __SIGEV_MAX_SIZE: u32 = 64;
234pub const _BITS_SIGEVENT_CONSTS_H: u32 = 1;
235pub const NSIG: u32 = 33;
236pub const _BITS_SIGACTION_H: u32 = 1;
237pub const SA_NOCLDSTOP: u32 = 1;
238pub const SA_NOCLDWAIT: u32 = 2;
239pub const SA_SIGINFO: u32 = 4;
240pub const SA_ONSTACK: u32 = 134217728;
241pub const SA_RESTART: u32 = 268435456;
242pub const SA_NODEFER: u32 = 1073741824;
243pub const SA_RESETHAND: u32 = 2147483648;
244pub const SA_INTERRUPT: u32 = 536870912;
245pub const SA_NOMASK: u32 = 1073741824;
246pub const SA_ONESHOT: u32 = 2147483648;
247pub const SA_STACK: u32 = 134217728;
248pub const SIG_BLOCK: u32 = 0;
249pub const SIG_UNBLOCK: u32 = 1;
250pub const SIG_SETMASK: u32 = 2;
251pub const _BITS_SIGCONTEXT_H: u32 = 1;
252pub const FP_XSTATE_MAGIC1: u32 = 1179670611;
253pub const FP_XSTATE_MAGIC2: u32 = 1179670597;
254pub const __stack_t_defined: u32 = 1;
255pub const _SYS_UCONTEXT_H: u32 = 1;
256pub const __NGREG: u32 = 23;
257pub const NGREG: u32 = 23;
258pub const _BITS_SIGSTACK_H: u32 = 1;
259pub const MINSIGSTKSZ: u32 = 2048;
260pub const SIGSTKSZ: u32 = 8192;
261pub const _BITS_SS_FLAGS_H: u32 = 1;
262pub const __sigstack_defined: u32 = 1;
263pub const _BITS_SIGTHREAD_H: u32 = 1;
264pub const HZ: u32 = 100;
265pub const EXEC_PAGESIZE: u32 = 4096;
266pub const NOGROUP: i32 = -1;
267pub const MAXHOSTNAMELEN: u32 = 64;
268pub const MAXSYMLINKS: u32 = 20;
269pub const NOFILE: u32 = 256;
270pub const NCARGS: u32 = 131072;
271pub const NGROUPS: u32 = 65536;
272pub const CANBSIZ: u32 = 255;
273pub const MAXPATHLEN: u32 = 4096;
274pub const DEV_BSIZE: u32 = 512;
275pub const MPFR_VERSION_MAJOR: u32 = 4;
276pub const MPFR_VERSION_MINOR: u32 = 0;
277pub const MPFR_VERSION_PATCHLEVEL: u32 = 2;
278pub const MPFR_VERSION_STRING: &'static [u8; 6usize] = b"4.0.2\0";
279pub const MPFR_FLAGS_UNDERFLOW: u32 = 1;
280pub const MPFR_FLAGS_OVERFLOW: u32 = 2;
281pub const MPFR_FLAGS_NAN: u32 = 4;
282pub const MPFR_FLAGS_INEXACT: u32 = 8;
283pub const MPFR_FLAGS_ERANGE: u32 = 16;
284pub const MPFR_FLAGS_DIVBY0: u32 = 32;
285pub const MPFR_FLAGS_ALL: u32 = 63;
286pub const _MPFR_PREC_FORMAT: u32 = 3;
287pub const _MPFR_EXP_FORMAT: u32 = 3;
288pub const MPFR_PREC_MIN: u32 = 1;
289pub const MPFR_USE_C99_FEATURE: u32 = 1;
290pub const __GNUC_VA_LIST: u32 = 1;
291pub const _STDIO_H: u32 = 1;
292pub const _____fpos_t_defined: u32 = 1;
293pub const ____mbstate_t_defined: u32 = 1;
294pub const _____fpos64_t_defined: u32 = 1;
295pub const ____FILE_defined: u32 = 1;
296pub const __FILE_defined: u32 = 1;
297pub const __struct_FILE_defined: u32 = 1;
298pub const _IO_EOF_SEEN: u32 = 16;
299pub const _IO_ERR_SEEN: u32 = 32;
300pub const _IO_USER_LOCK: u32 = 32768;
301pub const _IOFBF: u32 = 0;
302pub const _IOLBF: u32 = 1;
303pub const _IONBF: u32 = 2;
304pub const BUFSIZ: u32 = 8192;
305pub const EOF: i32 = -1;
306pub const SEEK_SET: u32 = 0;
307pub const SEEK_CUR: u32 = 1;
308pub const SEEK_END: u32 = 2;
309pub const P_tmpdir: &'static [u8; 5usize] = b"/tmp\0";
310pub const _BITS_STDIO_LIM_H: u32 = 1;
311pub const L_tmpnam: u32 = 20;
312pub const TMP_MAX: u32 = 238328;
313pub const FILENAME_MAX: u32 = 4096;
314pub const L_ctermid: u32 = 9;
315pub const FOPEN_MAX: u32 = 16;
316pub const _STDLIB_H: u32 = 1;
317pub const WNOHANG: u32 = 1;
318pub const WUNTRACED: u32 = 2;
319pub const WSTOPPED: u32 = 2;
320pub const WEXITED: u32 = 4;
321pub const WCONTINUED: u32 = 8;
322pub const WNOWAIT: u32 = 16777216;
323pub const __WNOTHREAD: u32 = 536870912;
324pub const __WALL: u32 = 1073741824;
325pub const __WCLONE: u32 = 2147483648;
326pub const __ENUM_IDTYPE_T: u32 = 1;
327pub const __W_CONTINUED: u32 = 65535;
328pub const __WCOREFLAG: u32 = 128;
329pub const __HAVE_FLOAT128: u32 = 0;
330pub const __HAVE_DISTINCT_FLOAT128: u32 = 0;
331pub const __HAVE_FLOAT64X: u32 = 1;
332pub const __HAVE_FLOAT64X_LONG_DOUBLE: u32 = 1;
333pub const __HAVE_FLOAT16: u32 = 0;
334pub const __HAVE_FLOAT32: u32 = 1;
335pub const __HAVE_FLOAT64: u32 = 1;
336pub const __HAVE_FLOAT32X: u32 = 1;
337pub const __HAVE_FLOAT128X: u32 = 0;
338pub const __HAVE_DISTINCT_FLOAT16: u32 = 0;
339pub const __HAVE_DISTINCT_FLOAT32: u32 = 0;
340pub const __HAVE_DISTINCT_FLOAT64: u32 = 0;
341pub const __HAVE_DISTINCT_FLOAT32X: u32 = 0;
342pub const __HAVE_DISTINCT_FLOAT64X: u32 = 0;
343pub const __HAVE_DISTINCT_FLOAT128X: u32 = 0;
344pub const __HAVE_FLOATN_NOT_TYPEDEF: u32 = 0;
345pub const __ldiv_t_defined: u32 = 1;
346pub const __lldiv_t_defined: u32 = 1;
347pub const RAND_MAX: u32 = 2147483647;
348pub const EXIT_FAILURE: u32 = 1;
349pub const EXIT_SUCCESS: u32 = 0;
350pub const _ALLOCA_H: u32 = 1;
351pub const FLINT_KNOW_STRONG_ORDER: u32 = 0;
352pub const HAVE_BLAS: u32 = 0;
353pub const HAVE_TLS: u32 = 1;
354pub const HAVE_FENV: u32 = 1;
355pub const HAVE_PTHREAD: u32 = 1;
356pub const HAVE_GC: u32 = 0;
357pub const HAVE_CPU_SET_T: u32 = 1;
358pub const FLINT_REENTRANT: u32 = 0;
359pub const WANT_ASSERT: u32 = 0;
360pub const __FLINT_VERSION: u32 = 2;
361pub const __FLINT_VERSION_MINOR: u32 = 6;
362pub const __FLINT_VERSION_PATCHLEVEL: u32 = 0;
363pub const FLINT_VERSION: &'static [u8; 6usize] = b"2.6.0\0";
364pub const __FLINT_RELEASE: u32 = 20600;
365pub const WORD_FMT: &'static [u8; 3usize] = b"%l\0";
366pub const WORD_WIDTH_FMT: &'static [u8; 4usize] = b"%*l\0";
367pub const FLINT_BITS: u32 = 64;
368pub const FLINT_D_BITS: u32 = 53;
369pub const FLINT64: u32 = 1;
370pub const FLINT_MAX_FACTORS_IN_LIMB: u32 = 15;
371pub const FLINT_ODDPRIME_SMALL_CUTOFF: u32 = 4096;
372pub const FLINT_NUM_PRIMES_SMALL: u32 = 172;
373pub const FLINT_PRIMES_SMALL_CUTOFF: u32 = 1030;
374pub const FLINT_PSEUDOSQUARES_CUTOFF: u32 = 1000;
375pub const FLINT_FACTOR_TRIAL_PRIMES: u32 = 3000;
376pub const FLINT_PRIMES_TAB_DEFAULT_CUTOFF: u32 = 1000000;
377pub const FLINT_FACTOR_SQUFOF_ITERS: u32 = 50000;
378pub const FLINT_FACTOR_ONE_LINE_ITERS: u32 = 40000;
379pub const FLINT_PRIME_PI_ODD_LOOKUP_CUTOFF: u32 = 311;
380pub const FLINT_SIEVE_SIZE: u32 = 65536;
381pub const _PTHREAD_H: u32 = 1;
382pub const _SCHED_H: u32 = 1;
383pub const _BITS_SCHED_H: u32 = 1;
384pub const SCHED_OTHER: u32 = 0;
385pub const SCHED_FIFO: u32 = 1;
386pub const SCHED_RR: u32 = 2;
387pub const _BITS_TYPES_STRUCT_SCHED_PARAM: u32 = 1;
388pub const _BITS_CPU_SET_H: u32 = 1;
389pub const __CPU_SETSIZE: u32 = 1024;
390pub const _TIME_H: u32 = 1;
391pub const _BITS_TIME_H: u32 = 1;
392pub const CLOCK_REALTIME: u32 = 0;
393pub const CLOCK_MONOTONIC: u32 = 1;
394pub const CLOCK_PROCESS_CPUTIME_ID: u32 = 2;
395pub const CLOCK_THREAD_CPUTIME_ID: u32 = 3;
396pub const CLOCK_MONOTONIC_RAW: u32 = 4;
397pub const CLOCK_REALTIME_COARSE: u32 = 5;
398pub const CLOCK_MONOTONIC_COARSE: u32 = 6;
399pub const CLOCK_BOOTTIME: u32 = 7;
400pub const CLOCK_REALTIME_ALARM: u32 = 8;
401pub const CLOCK_BOOTTIME_ALARM: u32 = 9;
402pub const CLOCK_TAI: u32 = 11;
403pub const TIMER_ABSTIME: u32 = 1;
404pub const __struct_tm_defined: u32 = 1;
405pub const __itimerspec_defined: u32 = 1;
406pub const _BITS_TYPES_LOCALE_T_H: u32 = 1;
407pub const _BITS_TYPES___LOCALE_T_H: u32 = 1;
408pub const TIME_UTC: u32 = 1;
409pub const _BITS_SETJMP_H: u32 = 1;
410pub const PTHREAD_ONCE_INIT: u32 = 0;
411pub const PTHREAD_BARRIER_SERIAL_THREAD: i32 = -1;
412pub const FLINT_FMPZ_LOG_MULTI_MOD_CUTOFF: u32 = 2;
413pub const FLINT_DEFAULT_THREAD_LIMIT: u32 = 99999;
414pub const NMOD_MAT_MUL_TRANSPOSE_CUTOFF: u32 = 20;
415pub const NMOD_MAT_SOLVE_TRI_ROWS_CUTOFF: u32 = 64;
416pub const NMOD_MAT_SOLVE_TRI_COLS_CUTOFF: u32 = 64;
417pub const NMOD_MAT_LU_RECURSIVE_CUTOFF: u32 = 4;
418pub const NMOD_MAT_OPTIMAL_MODULUS_BITS: u32 = 59;
419pub const NMOD_DIVREM_DIVCONQUER_CUTOFF: u32 = 300;
420pub const NMOD_DIV_DIVCONQUER_CUTOFF: u32 = 300;
421pub const NMOD_POLY_HGCD_CUTOFF: u32 = 100;
422pub const NMOD_POLY_GCD_CUTOFF: u32 = 340;
423pub const NMOD_POLY_SMALL_GCD_CUTOFF: u32 = 200;
424pub const FMPZ_POLY_INV_NEWTON_CUTOFF: u32 = 32;
425pub const FMPZ_POLY_SQRT_DIVCONQUER_CUTOFF: u32 = 16;
426pub const FMPZ_POLY_SQRTREM_DIVCONQUER_CUTOFF: u32 = 16;
427pub const _MATH_H: u32 = 1;
428pub const _BITS_LIBM_SIMD_DECL_STUBS_H: u32 = 1;
429pub const __FP_LOGB0_IS_MIN: u32 = 1;
430pub const __FP_LOGBNAN_IS_MIN: u32 = 1;
431pub const FP_ILOGB0: i32 = -2147483648;
432pub const FP_ILOGBNAN: i32 = -2147483648;
433pub const __MATH_DECLARING_DOUBLE: u32 = 1;
434pub const __MATH_DECLARING_FLOATN: u32 = 0;
435pub const __MATH_DECLARE_LDOUBLE: u32 = 1;
436pub const FP_NAN: u32 = 0;
437pub const FP_INFINITE: u32 = 1;
438pub const FP_ZERO: u32 = 2;
439pub const FP_SUBNORMAL: u32 = 3;
440pub const FP_NORMAL: u32 = 4;
441pub const MATH_ERRNO: u32 = 1;
442pub const MATH_ERREXCEPT: u32 = 2;
443pub const math_errhandling: u32 = 3;
444pub const M_E: f64 = 2.718281828459045;
445pub const M_LOG2E: f64 = 1.4426950408889634;
446pub const M_LOG10E: f64 = 0.4342944819032518;
447pub const M_LN2: f64 = 0.6931471805599453;
448pub const M_LN10: f64 = 2.302585092994046;
449pub const M_PI: f64 = 3.141592653589793;
450pub const M_PI_2: f64 = 1.5707963267948966;
451pub const M_PI_4: f64 = 0.7853981633974483;
452pub const M_1_PI: f64 = 0.3183098861837907;
453pub const M_2_PI: f64 = 0.6366197723675814;
454pub const M_2_SQRTPI: f64 = 1.1283791670955126;
455pub const M_SQRT2: f64 = 1.4142135623730951;
456pub const M_SQRT1_2: f64 = 0.7071067811865476;
457pub const D_BITS: u32 = 53;
458pub const WEAK_CANONICALISE_CUTOFF: u32 = 25600;
459pub const FMPZ_MOD_MAT_MUL_TRANSPOSE_CUTOFF: u32 = 10;
460pub const FMPZ_MOD_POLY_HGCD_CUTOFF: u32 = 128;
461pub const FMPZ_MOD_POLY_GCD_CUTOFF: u32 = 256;
462pub const FMPZ_MOD_POLY_INV_NEWTON_CUTOFF: u32 = 64;
463pub const NF_POWERS_CUTOFF: u32 = 30;
464pub const NF_GENERIC: u32 = 0;
465pub const NF_MONIC: u32 = 1;
466pub const NF_LINEAR: u32 = 2;
467pub const NF_QUADRATIC: u32 = 4;
468pub type wchar_t = ::std::os::raw::c_int;
469#[repr(C)]
470#[repr(align(16))]
471#[derive(Debug, Copy, Clone)]
472pub struct max_align_t {
473 pub __clang_max_align_nonce1: ::std::os::raw::c_longlong,
474 pub __bindgen_padding_0: u64,
475 pub __clang_max_align_nonce2: u128,
476}
477#[test]
478fn bindgen_test_layout_max_align_t() {
479 assert_eq!(
480 ::std::mem::size_of::<max_align_t>(),
481 32usize,
482 concat!("Size of: ", stringify!(max_align_t))
483 );
484 assert_eq!(
485 ::std::mem::align_of::<max_align_t>(),
486 16usize,
487 concat!("Alignment of ", stringify!(max_align_t))
488 );
489 assert_eq!(
490 unsafe {
491 &(*(::std::ptr::null::<max_align_t>())).__clang_max_align_nonce1 as *const _ as usize
492 },
493 0usize,
494 concat!(
495 "Offset of field: ",
496 stringify!(max_align_t),
497 "::",
498 stringify!(__clang_max_align_nonce1)
499 )
500 );
501 assert_eq!(
502 unsafe {
503 &(*(::std::ptr::null::<max_align_t>())).__clang_max_align_nonce2 as *const _ as usize
504 },
505 16usize,
506 concat!(
507 "Offset of field: ",
508 stringify!(max_align_t),
509 "::",
510 stringify!(__clang_max_align_nonce2)
511 )
512 );
513}
514pub type mp_limb_t = ::std::os::raw::c_ulong;
515pub type mp_limb_signed_t = ::std::os::raw::c_long;
516pub type mp_bitcnt_t = ::std::os::raw::c_ulong;
517#[repr(C)]
518#[derive(Debug, Copy, Clone)]
519pub struct __mpz_struct {
520 pub _mp_alloc: ::std::os::raw::c_int,
521 pub _mp_size: ::std::os::raw::c_int,
522 pub _mp_d: *mut mp_limb_t,
523}
524#[test]
525fn bindgen_test_layout___mpz_struct() {
526 assert_eq!(
527 ::std::mem::size_of::<__mpz_struct>(),
528 16usize,
529 concat!("Size of: ", stringify!(__mpz_struct))
530 );
531 assert_eq!(
532 ::std::mem::align_of::<__mpz_struct>(),
533 8usize,
534 concat!("Alignment of ", stringify!(__mpz_struct))
535 );
536 assert_eq!(
537 unsafe { &(*(::std::ptr::null::<__mpz_struct>()))._mp_alloc as *const _ as usize },
538 0usize,
539 concat!(
540 "Offset of field: ",
541 stringify!(__mpz_struct),
542 "::",
543 stringify!(_mp_alloc)
544 )
545 );
546 assert_eq!(
547 unsafe { &(*(::std::ptr::null::<__mpz_struct>()))._mp_size as *const _ as usize },
548 4usize,
549 concat!(
550 "Offset of field: ",
551 stringify!(__mpz_struct),
552 "::",
553 stringify!(_mp_size)
554 )
555 );
556 assert_eq!(
557 unsafe { &(*(::std::ptr::null::<__mpz_struct>()))._mp_d as *const _ as usize },
558 8usize,
559 concat!(
560 "Offset of field: ",
561 stringify!(__mpz_struct),
562 "::",
563 stringify!(_mp_d)
564 )
565 );
566}
567pub type MP_INT = __mpz_struct;
568pub type mpz_t = [__mpz_struct; 1usize];
569pub type mp_ptr = *mut mp_limb_t;
570pub type mp_srcptr = *const mp_limb_t;
571pub type mp_size_t = ::std::os::raw::c_long;
572pub type mp_exp_t = ::std::os::raw::c_long;
573#[repr(C)]
574#[derive(Debug, Copy, Clone)]
575pub struct __mpq_struct {
576 pub _mp_num: __mpz_struct,
577 pub _mp_den: __mpz_struct,
578}
579#[test]
580fn bindgen_test_layout___mpq_struct() {
581 assert_eq!(
582 ::std::mem::size_of::<__mpq_struct>(),
583 32usize,
584 concat!("Size of: ", stringify!(__mpq_struct))
585 );
586 assert_eq!(
587 ::std::mem::align_of::<__mpq_struct>(),
588 8usize,
589 concat!("Alignment of ", stringify!(__mpq_struct))
590 );
591 assert_eq!(
592 unsafe { &(*(::std::ptr::null::<__mpq_struct>()))._mp_num as *const _ as usize },
593 0usize,
594 concat!(
595 "Offset of field: ",
596 stringify!(__mpq_struct),
597 "::",
598 stringify!(_mp_num)
599 )
600 );
601 assert_eq!(
602 unsafe { &(*(::std::ptr::null::<__mpq_struct>()))._mp_den as *const _ as usize },
603 16usize,
604 concat!(
605 "Offset of field: ",
606 stringify!(__mpq_struct),
607 "::",
608 stringify!(_mp_den)
609 )
610 );
611}
612pub type MP_RAT = __mpq_struct;
613pub type mpq_t = [__mpq_struct; 1usize];
614#[repr(C)]
615#[derive(Debug, Copy, Clone)]
616pub struct __mpf_struct {
617 pub _mp_prec: ::std::os::raw::c_int,
618 pub _mp_size: ::std::os::raw::c_int,
619 pub _mp_exp: mp_exp_t,
620 pub _mp_d: *mut mp_limb_t,
621}
622#[test]
623fn bindgen_test_layout___mpf_struct() {
624 assert_eq!(
625 ::std::mem::size_of::<__mpf_struct>(),
626 24usize,
627 concat!("Size of: ", stringify!(__mpf_struct))
628 );
629 assert_eq!(
630 ::std::mem::align_of::<__mpf_struct>(),
631 8usize,
632 concat!("Alignment of ", stringify!(__mpf_struct))
633 );
634 assert_eq!(
635 unsafe { &(*(::std::ptr::null::<__mpf_struct>()))._mp_prec as *const _ as usize },
636 0usize,
637 concat!(
638 "Offset of field: ",
639 stringify!(__mpf_struct),
640 "::",
641 stringify!(_mp_prec)
642 )
643 );
644 assert_eq!(
645 unsafe { &(*(::std::ptr::null::<__mpf_struct>()))._mp_size as *const _ as usize },
646 4usize,
647 concat!(
648 "Offset of field: ",
649 stringify!(__mpf_struct),
650 "::",
651 stringify!(_mp_size)
652 )
653 );
654 assert_eq!(
655 unsafe { &(*(::std::ptr::null::<__mpf_struct>()))._mp_exp as *const _ as usize },
656 8usize,
657 concat!(
658 "Offset of field: ",
659 stringify!(__mpf_struct),
660 "::",
661 stringify!(_mp_exp)
662 )
663 );
664 assert_eq!(
665 unsafe { &(*(::std::ptr::null::<__mpf_struct>()))._mp_d as *const _ as usize },
666 16usize,
667 concat!(
668 "Offset of field: ",
669 stringify!(__mpf_struct),
670 "::",
671 stringify!(_mp_d)
672 )
673 );
674}
675pub type mpf_t = [__mpf_struct; 1usize];
676pub const gmp_randalg_t_GMP_RAND_ALG_DEFAULT: gmp_randalg_t = 0;
677pub const gmp_randalg_t_GMP_RAND_ALG_LC: gmp_randalg_t = 0;
678pub type gmp_randalg_t = u32;
679#[repr(C)]
680#[derive(Copy, Clone)]
681pub struct __gmp_randstate_struct {
682 pub _mp_seed: mpz_t,
683 pub _mp_alg: gmp_randalg_t,
684 pub _mp_algdata: __gmp_randstate_struct__bindgen_ty_1,
685}
686#[repr(C)]
687#[derive(Copy, Clone)]
688pub union __gmp_randstate_struct__bindgen_ty_1 {
689 pub _mp_lc: *mut ::std::os::raw::c_void,
690 _bindgen_union_align: u64,
691}
692#[test]
693fn bindgen_test_layout___gmp_randstate_struct__bindgen_ty_1() {
694 assert_eq!(
695 ::std::mem::size_of::<__gmp_randstate_struct__bindgen_ty_1>(),
696 8usize,
697 concat!(
698 "Size of: ",
699 stringify!(__gmp_randstate_struct__bindgen_ty_1)
700 )
701 );
702 assert_eq!(
703 ::std::mem::align_of::<__gmp_randstate_struct__bindgen_ty_1>(),
704 8usize,
705 concat!(
706 "Alignment of ",
707 stringify!(__gmp_randstate_struct__bindgen_ty_1)
708 )
709 );
710 assert_eq!(
711 unsafe {
712 &(*(::std::ptr::null::<__gmp_randstate_struct__bindgen_ty_1>()))._mp_lc as *const _
713 as usize
714 },
715 0usize,
716 concat!(
717 "Offset of field: ",
718 stringify!(__gmp_randstate_struct__bindgen_ty_1),
719 "::",
720 stringify!(_mp_lc)
721 )
722 );
723}
724#[test]
725fn bindgen_test_layout___gmp_randstate_struct() {
726 assert_eq!(
727 ::std::mem::size_of::<__gmp_randstate_struct>(),
728 32usize,
729 concat!("Size of: ", stringify!(__gmp_randstate_struct))
730 );
731 assert_eq!(
732 ::std::mem::align_of::<__gmp_randstate_struct>(),
733 8usize,
734 concat!("Alignment of ", stringify!(__gmp_randstate_struct))
735 );
736 assert_eq!(
737 unsafe { &(*(::std::ptr::null::<__gmp_randstate_struct>()))._mp_seed as *const _ as usize },
738 0usize,
739 concat!(
740 "Offset of field: ",
741 stringify!(__gmp_randstate_struct),
742 "::",
743 stringify!(_mp_seed)
744 )
745 );
746 assert_eq!(
747 unsafe { &(*(::std::ptr::null::<__gmp_randstate_struct>()))._mp_alg as *const _ as usize },
748 16usize,
749 concat!(
750 "Offset of field: ",
751 stringify!(__gmp_randstate_struct),
752 "::",
753 stringify!(_mp_alg)
754 )
755 );
756 assert_eq!(
757 unsafe {
758 &(*(::std::ptr::null::<__gmp_randstate_struct>()))._mp_algdata as *const _ as usize
759 },
760 24usize,
761 concat!(
762 "Offset of field: ",
763 stringify!(__gmp_randstate_struct),
764 "::",
765 stringify!(_mp_algdata)
766 )
767 );
768}
769pub type gmp_randstate_t = [__gmp_randstate_struct; 1usize];
770pub type mpz_srcptr = *const __mpz_struct;
771pub type mpz_ptr = *mut __mpz_struct;
772pub type mpf_srcptr = *const __mpf_struct;
773pub type mpf_ptr = *mut __mpf_struct;
774pub type mpq_srcptr = *const __mpq_struct;
775pub type mpq_ptr = *mut __mpq_struct;
776extern "C" {
777 pub fn __gmp_set_memory_functions(
778 arg1: ::std::option::Option<
779 unsafe extern "C" fn(arg1: usize) -> *mut ::std::os::raw::c_void,
780 >,
781 arg2: ::std::option::Option<
782 unsafe extern "C" fn(
783 arg1: *mut ::std::os::raw::c_void,
784 arg2: usize,
785 arg3: usize,
786 ) -> *mut ::std::os::raw::c_void,
787 >,
788 arg3: ::std::option::Option<
789 unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void, arg2: usize),
790 >,
791 );
792}
793extern "C" {
794 pub fn __gmp_get_memory_functions(
795 arg1: *mut ::std::option::Option<
796 unsafe extern "C" fn(arg1: usize) -> *mut ::std::os::raw::c_void,
797 >,
798 arg2: *mut ::std::option::Option<
799 unsafe extern "C" fn(
800 arg1: *mut ::std::os::raw::c_void,
801 arg2: usize,
802 arg3: usize,
803 ) -> *mut ::std::os::raw::c_void,
804 >,
805 arg3: *mut ::std::option::Option<
806 unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void, arg2: usize),
807 >,
808 );
809}
810extern "C" {
811 pub static __gmp_bits_per_limb: ::std::os::raw::c_int;
812}
813extern "C" {
814 pub static mut __gmp_errno: ::std::os::raw::c_int;
815}
816extern "C" {
817 pub static __gmp_version: *const ::std::os::raw::c_char;
818}
819extern "C" {
820 pub fn __gmp_randinit(arg1: *mut __gmp_randstate_struct, arg2: gmp_randalg_t, ...);
821}
822extern "C" {
823 pub fn __gmp_randinit_default(arg1: *mut __gmp_randstate_struct);
824}
825extern "C" {
826 pub fn __gmp_randinit_lc_2exp(
827 arg1: *mut __gmp_randstate_struct,
828 arg2: mpz_srcptr,
829 arg3: ::std::os::raw::c_ulong,
830 arg4: mp_bitcnt_t,
831 );
832}
833extern "C" {
834 pub fn __gmp_randinit_lc_2exp_size(
835 arg1: *mut __gmp_randstate_struct,
836 arg2: mp_bitcnt_t,
837 ) -> ::std::os::raw::c_int;
838}
839extern "C" {
840 pub fn __gmp_randinit_mt(arg1: *mut __gmp_randstate_struct);
841}
842extern "C" {
843 pub fn __gmp_randinit_set(
844 arg1: *mut __gmp_randstate_struct,
845 arg2: *const __gmp_randstate_struct,
846 );
847}
848extern "C" {
849 pub fn __gmp_randseed(arg1: *mut __gmp_randstate_struct, arg2: mpz_srcptr);
850}
851extern "C" {
852 pub fn __gmp_randseed_ui(arg1: *mut __gmp_randstate_struct, arg2: ::std::os::raw::c_ulong);
853}
854extern "C" {
855 pub fn __gmp_randclear(arg1: *mut __gmp_randstate_struct);
856}
857extern "C" {
858 pub fn __gmp_urandomb_ui(
859 arg1: *mut __gmp_randstate_struct,
860 arg2: ::std::os::raw::c_ulong,
861 ) -> ::std::os::raw::c_ulong;
862}
863extern "C" {
864 pub fn __gmp_urandomm_ui(
865 arg1: *mut __gmp_randstate_struct,
866 arg2: ::std::os::raw::c_ulong,
867 ) -> ::std::os::raw::c_ulong;
868}
869extern "C" {
870 pub fn __gmp_asprintf(
871 arg1: *mut *mut ::std::os::raw::c_char,
872 arg2: *const ::std::os::raw::c_char,
873 ...
874 ) -> ::std::os::raw::c_int;
875}
876extern "C" {
877 pub fn __gmp_printf(arg1: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
878}
879extern "C" {
880 pub fn __gmp_snprintf(
881 arg1: *mut ::std::os::raw::c_char,
882 arg2: usize,
883 arg3: *const ::std::os::raw::c_char,
884 ...
885 ) -> ::std::os::raw::c_int;
886}
887extern "C" {
888 pub fn __gmp_sprintf(
889 arg1: *mut ::std::os::raw::c_char,
890 arg2: *const ::std::os::raw::c_char,
891 ...
892 ) -> ::std::os::raw::c_int;
893}
894extern "C" {
895 pub fn __gmp_scanf(arg1: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
896}
897extern "C" {
898 pub fn __gmp_sscanf(
899 arg1: *const ::std::os::raw::c_char,
900 arg2: *const ::std::os::raw::c_char,
901 ...
902 ) -> ::std::os::raw::c_int;
903}
904extern "C" {
905 pub fn __gmpz_realloc(arg1: mpz_ptr, arg2: mp_size_t) -> *mut ::std::os::raw::c_void;
906}
907extern "C" {
908 pub fn __gmpz_abs(arg1: mpz_ptr, arg2: mpz_srcptr);
909}
910extern "C" {
911 pub fn __gmpz_add(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr);
912}
913extern "C" {
914 pub fn __gmpz_add_ui(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: ::std::os::raw::c_ulong);
915}
916extern "C" {
917 pub fn __gmpz_addmul(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr);
918}
919extern "C" {
920 pub fn __gmpz_addmul_ui(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: ::std::os::raw::c_ulong);
921}
922extern "C" {
923 pub fn __gmpz_and(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr);
924}
925extern "C" {
926 pub fn __gmpz_array_init(arg1: mpz_ptr, arg2: mp_size_t, arg3: mp_size_t);
927}
928extern "C" {
929 pub fn __gmpz_bin_ui(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: ::std::os::raw::c_ulong);
930}
931extern "C" {
932 pub fn __gmpz_bin_uiui(
933 arg1: mpz_ptr,
934 arg2: ::std::os::raw::c_ulong,
935 arg3: ::std::os::raw::c_ulong,
936 );
937}
938extern "C" {
939 pub fn __gmpz_cdiv_q(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr);
940}
941extern "C" {
942 pub fn __gmpz_cdiv_q_2exp(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mp_bitcnt_t);
943}
944extern "C" {
945 pub fn __gmpz_cdiv_q_ui(
946 arg1: mpz_ptr,
947 arg2: mpz_srcptr,
948 arg3: ::std::os::raw::c_ulong,
949 ) -> ::std::os::raw::c_ulong;
950}
951extern "C" {
952 pub fn __gmpz_cdiv_qr(arg1: mpz_ptr, arg2: mpz_ptr, arg3: mpz_srcptr, arg4: mpz_srcptr);
953}
954extern "C" {
955 pub fn __gmpz_cdiv_qr_ui(
956 arg1: mpz_ptr,
957 arg2: mpz_ptr,
958 arg3: mpz_srcptr,
959 arg4: ::std::os::raw::c_ulong,
960 ) -> ::std::os::raw::c_ulong;
961}
962extern "C" {
963 pub fn __gmpz_cdiv_r(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr);
964}
965extern "C" {
966 pub fn __gmpz_cdiv_r_2exp(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mp_bitcnt_t);
967}
968extern "C" {
969 pub fn __gmpz_cdiv_r_ui(
970 arg1: mpz_ptr,
971 arg2: mpz_srcptr,
972 arg3: ::std::os::raw::c_ulong,
973 ) -> ::std::os::raw::c_ulong;
974}
975extern "C" {
976 pub fn __gmpz_cdiv_ui(
977 arg1: mpz_srcptr,
978 arg2: ::std::os::raw::c_ulong,
979 ) -> ::std::os::raw::c_ulong;
980}
981extern "C" {
982 pub fn __gmpz_clear(arg1: mpz_ptr);
983}
984extern "C" {
985 pub fn __gmpz_clears(arg1: mpz_ptr, ...);
986}
987extern "C" {
988 pub fn __gmpz_clrbit(arg1: mpz_ptr, arg2: mp_bitcnt_t);
989}
990extern "C" {
991 pub fn __gmpz_cmp(arg1: mpz_srcptr, arg2: mpz_srcptr) -> ::std::os::raw::c_int;
992}
993extern "C" {
994 pub fn __gmpz_cmp_d(arg1: mpz_srcptr, arg2: f64) -> ::std::os::raw::c_int;
995}
996extern "C" {
997 pub fn __gmpz_cmp_si(arg1: mpz_srcptr, arg2: ::std::os::raw::c_long) -> ::std::os::raw::c_int;
998}
999extern "C" {
1000 pub fn __gmpz_cmp_ui(arg1: mpz_srcptr, arg2: ::std::os::raw::c_ulong) -> ::std::os::raw::c_int;
1001}
1002extern "C" {
1003 pub fn __gmpz_cmpabs(arg1: mpz_srcptr, arg2: mpz_srcptr) -> ::std::os::raw::c_int;
1004}
1005extern "C" {
1006 pub fn __gmpz_cmpabs_d(arg1: mpz_srcptr, arg2: f64) -> ::std::os::raw::c_int;
1007}
1008extern "C" {
1009 pub fn __gmpz_cmpabs_ui(
1010 arg1: mpz_srcptr,
1011 arg2: ::std::os::raw::c_ulong,
1012 ) -> ::std::os::raw::c_int;
1013}
1014extern "C" {
1015 pub fn __gmpz_com(arg1: mpz_ptr, arg2: mpz_srcptr);
1016}
1017extern "C" {
1018 pub fn __gmpz_combit(arg1: mpz_ptr, arg2: mp_bitcnt_t);
1019}
1020extern "C" {
1021 pub fn __gmpz_congruent_p(
1022 arg1: mpz_srcptr,
1023 arg2: mpz_srcptr,
1024 arg3: mpz_srcptr,
1025 ) -> ::std::os::raw::c_int;
1026}
1027extern "C" {
1028 pub fn __gmpz_congruent_2exp_p(
1029 arg1: mpz_srcptr,
1030 arg2: mpz_srcptr,
1031 arg3: mp_bitcnt_t,
1032 ) -> ::std::os::raw::c_int;
1033}
1034extern "C" {
1035 pub fn __gmpz_congruent_ui_p(
1036 arg1: mpz_srcptr,
1037 arg2: ::std::os::raw::c_ulong,
1038 arg3: ::std::os::raw::c_ulong,
1039 ) -> ::std::os::raw::c_int;
1040}
1041extern "C" {
1042 pub fn __gmpz_divexact(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr);
1043}
1044extern "C" {
1045 pub fn __gmpz_divexact_ui(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: ::std::os::raw::c_ulong);
1046}
1047extern "C" {
1048 pub fn __gmpz_divisible_p(arg1: mpz_srcptr, arg2: mpz_srcptr) -> ::std::os::raw::c_int;
1049}
1050extern "C" {
1051 pub fn __gmpz_divisible_ui_p(
1052 arg1: mpz_srcptr,
1053 arg2: ::std::os::raw::c_ulong,
1054 ) -> ::std::os::raw::c_int;
1055}
1056extern "C" {
1057 pub fn __gmpz_divisible_2exp_p(arg1: mpz_srcptr, arg2: mp_bitcnt_t) -> ::std::os::raw::c_int;
1058}
1059extern "C" {
1060 pub fn __gmpz_dump(arg1: mpz_srcptr);
1061}
1062extern "C" {
1063 pub fn __gmpz_export(
1064 arg1: *mut ::std::os::raw::c_void,
1065 arg2: *mut usize,
1066 arg3: ::std::os::raw::c_int,
1067 arg4: usize,
1068 arg5: ::std::os::raw::c_int,
1069 arg6: usize,
1070 arg7: mpz_srcptr,
1071 ) -> *mut ::std::os::raw::c_void;
1072}
1073extern "C" {
1074 pub fn __gmpz_fac_ui(arg1: mpz_ptr, arg2: ::std::os::raw::c_ulong);
1075}
1076extern "C" {
1077 pub fn __gmpz_2fac_ui(arg1: mpz_ptr, arg2: ::std::os::raw::c_ulong);
1078}
1079extern "C" {
1080 pub fn __gmpz_mfac_uiui(
1081 arg1: mpz_ptr,
1082 arg2: ::std::os::raw::c_ulong,
1083 arg3: ::std::os::raw::c_ulong,
1084 );
1085}
1086extern "C" {
1087 pub fn __gmpz_primorial_ui(arg1: mpz_ptr, arg2: ::std::os::raw::c_ulong);
1088}
1089extern "C" {
1090 pub fn __gmpz_fdiv_q(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr);
1091}
1092extern "C" {
1093 pub fn __gmpz_fdiv_q_2exp(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mp_bitcnt_t);
1094}
1095extern "C" {
1096 pub fn __gmpz_fdiv_q_ui(
1097 arg1: mpz_ptr,
1098 arg2: mpz_srcptr,
1099 arg3: ::std::os::raw::c_ulong,
1100 ) -> ::std::os::raw::c_ulong;
1101}
1102extern "C" {
1103 pub fn __gmpz_fdiv_qr(arg1: mpz_ptr, arg2: mpz_ptr, arg3: mpz_srcptr, arg4: mpz_srcptr);
1104}
1105extern "C" {
1106 pub fn __gmpz_fdiv_qr_ui(
1107 arg1: mpz_ptr,
1108 arg2: mpz_ptr,
1109 arg3: mpz_srcptr,
1110 arg4: ::std::os::raw::c_ulong,
1111 ) -> ::std::os::raw::c_ulong;
1112}
1113extern "C" {
1114 pub fn __gmpz_fdiv_r(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr);
1115}
1116extern "C" {
1117 pub fn __gmpz_fdiv_r_2exp(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mp_bitcnt_t);
1118}
1119extern "C" {
1120 pub fn __gmpz_fdiv_r_ui(
1121 arg1: mpz_ptr,
1122 arg2: mpz_srcptr,
1123 arg3: ::std::os::raw::c_ulong,
1124 ) -> ::std::os::raw::c_ulong;
1125}
1126extern "C" {
1127 pub fn __gmpz_fdiv_ui(
1128 arg1: mpz_srcptr,
1129 arg2: ::std::os::raw::c_ulong,
1130 ) -> ::std::os::raw::c_ulong;
1131}
1132extern "C" {
1133 pub fn __gmpz_fib_ui(arg1: mpz_ptr, arg2: ::std::os::raw::c_ulong);
1134}
1135extern "C" {
1136 pub fn __gmpz_fib2_ui(arg1: mpz_ptr, arg2: mpz_ptr, arg3: ::std::os::raw::c_ulong);
1137}
1138extern "C" {
1139 pub fn __gmpz_fits_sint_p(arg1: mpz_srcptr) -> ::std::os::raw::c_int;
1140}
1141extern "C" {
1142 pub fn __gmpz_fits_slong_p(arg1: mpz_srcptr) -> ::std::os::raw::c_int;
1143}
1144extern "C" {
1145 pub fn __gmpz_fits_sshort_p(arg1: mpz_srcptr) -> ::std::os::raw::c_int;
1146}
1147extern "C" {
1148 pub fn __gmpz_fits_uint_p(arg1: mpz_srcptr) -> ::std::os::raw::c_int;
1149}
1150extern "C" {
1151 pub fn __gmpz_fits_ulong_p(arg1: mpz_srcptr) -> ::std::os::raw::c_int;
1152}
1153extern "C" {
1154 pub fn __gmpz_fits_ushort_p(arg1: mpz_srcptr) -> ::std::os::raw::c_int;
1155}
1156extern "C" {
1157 pub fn __gmpz_gcd(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr);
1158}
1159extern "C" {
1160 pub fn __gmpz_gcd_ui(
1161 arg1: mpz_ptr,
1162 arg2: mpz_srcptr,
1163 arg3: ::std::os::raw::c_ulong,
1164 ) -> ::std::os::raw::c_ulong;
1165}
1166extern "C" {
1167 pub fn __gmpz_gcdext(
1168 arg1: mpz_ptr,
1169 arg2: mpz_ptr,
1170 arg3: mpz_ptr,
1171 arg4: mpz_srcptr,
1172 arg5: mpz_srcptr,
1173 );
1174}
1175extern "C" {
1176 pub fn __gmpz_get_d(arg1: mpz_srcptr) -> f64;
1177}
1178extern "C" {
1179 pub fn __gmpz_get_d_2exp(arg1: *mut ::std::os::raw::c_long, arg2: mpz_srcptr) -> f64;
1180}
1181extern "C" {
1182 pub fn __gmpz_get_si(arg1: mpz_srcptr) -> ::std::os::raw::c_long;
1183}
1184extern "C" {
1185 pub fn __gmpz_get_str(
1186 arg1: *mut ::std::os::raw::c_char,
1187 arg2: ::std::os::raw::c_int,
1188 arg3: mpz_srcptr,
1189 ) -> *mut ::std::os::raw::c_char;
1190}
1191extern "C" {
1192 pub fn __gmpz_get_ui(arg1: mpz_srcptr) -> ::std::os::raw::c_ulong;
1193}
1194extern "C" {
1195 pub fn __gmpz_getlimbn(arg1: mpz_srcptr, arg2: mp_size_t) -> mp_limb_t;
1196}
1197extern "C" {
1198 pub fn __gmpz_hamdist(arg1: mpz_srcptr, arg2: mpz_srcptr) -> mp_bitcnt_t;
1199}
1200extern "C" {
1201 pub fn __gmpz_import(
1202 arg1: mpz_ptr,
1203 arg2: usize,
1204 arg3: ::std::os::raw::c_int,
1205 arg4: usize,
1206 arg5: ::std::os::raw::c_int,
1207 arg6: usize,
1208 arg7: *const ::std::os::raw::c_void,
1209 );
1210}
1211extern "C" {
1212 pub fn __gmpz_init(arg1: mpz_ptr);
1213}
1214extern "C" {
1215 pub fn __gmpz_init2(arg1: mpz_ptr, arg2: mp_bitcnt_t);
1216}
1217extern "C" {
1218 pub fn __gmpz_inits(arg1: mpz_ptr, ...);
1219}
1220extern "C" {
1221 pub fn __gmpz_init_set(arg1: mpz_ptr, arg2: mpz_srcptr);
1222}
1223extern "C" {
1224 pub fn __gmpz_init_set_d(arg1: mpz_ptr, arg2: f64);
1225}
1226extern "C" {
1227 pub fn __gmpz_init_set_si(arg1: mpz_ptr, arg2: ::std::os::raw::c_long);
1228}
1229extern "C" {
1230 pub fn __gmpz_init_set_str(
1231 arg1: mpz_ptr,
1232 arg2: *const ::std::os::raw::c_char,
1233 arg3: ::std::os::raw::c_int,
1234 ) -> ::std::os::raw::c_int;
1235}
1236extern "C" {
1237 pub fn __gmpz_init_set_ui(arg1: mpz_ptr, arg2: ::std::os::raw::c_ulong);
1238}
1239extern "C" {
1240 pub fn __gmpz_invert(
1241 arg1: mpz_ptr,
1242 arg2: mpz_srcptr,
1243 arg3: mpz_srcptr,
1244 ) -> ::std::os::raw::c_int;
1245}
1246extern "C" {
1247 pub fn __gmpz_ior(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr);
1248}
1249extern "C" {
1250 pub fn __gmpz_jacobi(arg1: mpz_srcptr, arg2: mpz_srcptr) -> ::std::os::raw::c_int;
1251}
1252extern "C" {
1253 pub fn __gmpz_kronecker_si(
1254 arg1: mpz_srcptr,
1255 arg2: ::std::os::raw::c_long,
1256 ) -> ::std::os::raw::c_int;
1257}
1258extern "C" {
1259 pub fn __gmpz_kronecker_ui(
1260 arg1: mpz_srcptr,
1261 arg2: ::std::os::raw::c_ulong,
1262 ) -> ::std::os::raw::c_int;
1263}
1264extern "C" {
1265 pub fn __gmpz_si_kronecker(
1266 arg1: ::std::os::raw::c_long,
1267 arg2: mpz_srcptr,
1268 ) -> ::std::os::raw::c_int;
1269}
1270extern "C" {
1271 pub fn __gmpz_ui_kronecker(
1272 arg1: ::std::os::raw::c_ulong,
1273 arg2: mpz_srcptr,
1274 ) -> ::std::os::raw::c_int;
1275}
1276extern "C" {
1277 pub fn __gmpz_lcm(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr);
1278}
1279extern "C" {
1280 pub fn __gmpz_lcm_ui(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: ::std::os::raw::c_ulong);
1281}
1282extern "C" {
1283 pub fn __gmpz_lucnum_ui(arg1: mpz_ptr, arg2: ::std::os::raw::c_ulong);
1284}
1285extern "C" {
1286 pub fn __gmpz_lucnum2_ui(arg1: mpz_ptr, arg2: mpz_ptr, arg3: ::std::os::raw::c_ulong);
1287}
1288extern "C" {
1289 pub fn __gmpz_millerrabin(
1290 arg1: mpz_srcptr,
1291 arg2: ::std::os::raw::c_int,
1292 ) -> ::std::os::raw::c_int;
1293}
1294extern "C" {
1295 pub fn __gmpz_mod(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr);
1296}
1297extern "C" {
1298 pub fn __gmpz_mul(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr);
1299}
1300extern "C" {
1301 pub fn __gmpz_mul_2exp(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mp_bitcnt_t);
1302}
1303extern "C" {
1304 pub fn __gmpz_mul_si(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: ::std::os::raw::c_long);
1305}
1306extern "C" {
1307 pub fn __gmpz_mul_ui(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: ::std::os::raw::c_ulong);
1308}
1309extern "C" {
1310 pub fn __gmpz_neg(arg1: mpz_ptr, arg2: mpz_srcptr);
1311}
1312extern "C" {
1313 pub fn __gmpz_nextprime(arg1: mpz_ptr, arg2: mpz_srcptr);
1314}
1315extern "C" {
1316 pub fn __gmpz_perfect_power_p(arg1: mpz_srcptr) -> ::std::os::raw::c_int;
1317}
1318extern "C" {
1319 pub fn __gmpz_perfect_square_p(arg1: mpz_srcptr) -> ::std::os::raw::c_int;
1320}
1321extern "C" {
1322 pub fn __gmpz_popcount(arg1: mpz_srcptr) -> mp_bitcnt_t;
1323}
1324extern "C" {
1325 pub fn __gmpz_pow_ui(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: ::std::os::raw::c_ulong);
1326}
1327extern "C" {
1328 pub fn __gmpz_powm(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr, arg4: mpz_srcptr);
1329}
1330extern "C" {
1331 pub fn __gmpz_powm_sec(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr, arg4: mpz_srcptr);
1332}
1333extern "C" {
1334 pub fn __gmpz_powm_ui(
1335 arg1: mpz_ptr,
1336 arg2: mpz_srcptr,
1337 arg3: ::std::os::raw::c_ulong,
1338 arg4: mpz_srcptr,
1339 );
1340}
1341extern "C" {
1342 pub fn __gmpz_probab_prime_p(
1343 arg1: mpz_srcptr,
1344 arg2: ::std::os::raw::c_int,
1345 ) -> ::std::os::raw::c_int;
1346}
1347extern "C" {
1348 pub fn __gmpz_random(arg1: mpz_ptr, arg2: mp_size_t);
1349}
1350extern "C" {
1351 pub fn __gmpz_random2(arg1: mpz_ptr, arg2: mp_size_t);
1352}
1353extern "C" {
1354 pub fn __gmpz_realloc2(arg1: mpz_ptr, arg2: mp_bitcnt_t);
1355}
1356extern "C" {
1357 pub fn __gmpz_remove(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr) -> mp_bitcnt_t;
1358}
1359extern "C" {
1360 pub fn __gmpz_root(
1361 arg1: mpz_ptr,
1362 arg2: mpz_srcptr,
1363 arg3: ::std::os::raw::c_ulong,
1364 ) -> ::std::os::raw::c_int;
1365}
1366extern "C" {
1367 pub fn __gmpz_rootrem(
1368 arg1: mpz_ptr,
1369 arg2: mpz_ptr,
1370 arg3: mpz_srcptr,
1371 arg4: ::std::os::raw::c_ulong,
1372 );
1373}
1374extern "C" {
1375 pub fn __gmpz_rrandomb(arg1: mpz_ptr, arg2: *mut __gmp_randstate_struct, arg3: mp_bitcnt_t);
1376}
1377extern "C" {
1378 pub fn __gmpz_scan0(arg1: mpz_srcptr, arg2: mp_bitcnt_t) -> mp_bitcnt_t;
1379}
1380extern "C" {
1381 pub fn __gmpz_scan1(arg1: mpz_srcptr, arg2: mp_bitcnt_t) -> mp_bitcnt_t;
1382}
1383extern "C" {
1384 pub fn __gmpz_set(arg1: mpz_ptr, arg2: mpz_srcptr);
1385}
1386extern "C" {
1387 pub fn __gmpz_set_d(arg1: mpz_ptr, arg2: f64);
1388}
1389extern "C" {
1390 pub fn __gmpz_set_f(arg1: mpz_ptr, arg2: mpf_srcptr);
1391}
1392extern "C" {
1393 pub fn __gmpz_set_q(arg1: mpz_ptr, arg2: mpq_srcptr);
1394}
1395extern "C" {
1396 pub fn __gmpz_set_si(arg1: mpz_ptr, arg2: ::std::os::raw::c_long);
1397}
1398extern "C" {
1399 pub fn __gmpz_set_str(
1400 arg1: mpz_ptr,
1401 arg2: *const ::std::os::raw::c_char,
1402 arg3: ::std::os::raw::c_int,
1403 ) -> ::std::os::raw::c_int;
1404}
1405extern "C" {
1406 pub fn __gmpz_set_ui(arg1: mpz_ptr, arg2: ::std::os::raw::c_ulong);
1407}
1408extern "C" {
1409 pub fn __gmpz_setbit(arg1: mpz_ptr, arg2: mp_bitcnt_t);
1410}
1411extern "C" {
1412 pub fn __gmpz_size(arg1: mpz_srcptr) -> usize;
1413}
1414extern "C" {
1415 pub fn __gmpz_sizeinbase(arg1: mpz_srcptr, arg2: ::std::os::raw::c_int) -> usize;
1416}
1417extern "C" {
1418 pub fn __gmpz_sqrt(arg1: mpz_ptr, arg2: mpz_srcptr);
1419}
1420extern "C" {
1421 pub fn __gmpz_sqrtrem(arg1: mpz_ptr, arg2: mpz_ptr, arg3: mpz_srcptr);
1422}
1423extern "C" {
1424 pub fn __gmpz_sub(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr);
1425}
1426extern "C" {
1427 pub fn __gmpz_sub_ui(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: ::std::os::raw::c_ulong);
1428}
1429extern "C" {
1430 pub fn __gmpz_ui_sub(arg1: mpz_ptr, arg2: ::std::os::raw::c_ulong, arg3: mpz_srcptr);
1431}
1432extern "C" {
1433 pub fn __gmpz_submul(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr);
1434}
1435extern "C" {
1436 pub fn __gmpz_submul_ui(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: ::std::os::raw::c_ulong);
1437}
1438extern "C" {
1439 pub fn __gmpz_swap(arg1: mpz_ptr, arg2: mpz_ptr);
1440}
1441extern "C" {
1442 pub fn __gmpz_tdiv_ui(
1443 arg1: mpz_srcptr,
1444 arg2: ::std::os::raw::c_ulong,
1445 ) -> ::std::os::raw::c_ulong;
1446}
1447extern "C" {
1448 pub fn __gmpz_tdiv_q(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr);
1449}
1450extern "C" {
1451 pub fn __gmpz_tdiv_q_2exp(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mp_bitcnt_t);
1452}
1453extern "C" {
1454 pub fn __gmpz_tdiv_q_ui(
1455 arg1: mpz_ptr,
1456 arg2: mpz_srcptr,
1457 arg3: ::std::os::raw::c_ulong,
1458 ) -> ::std::os::raw::c_ulong;
1459}
1460extern "C" {
1461 pub fn __gmpz_tdiv_qr(arg1: mpz_ptr, arg2: mpz_ptr, arg3: mpz_srcptr, arg4: mpz_srcptr);
1462}
1463extern "C" {
1464 pub fn __gmpz_tdiv_qr_ui(
1465 arg1: mpz_ptr,
1466 arg2: mpz_ptr,
1467 arg3: mpz_srcptr,
1468 arg4: ::std::os::raw::c_ulong,
1469 ) -> ::std::os::raw::c_ulong;
1470}
1471extern "C" {
1472 pub fn __gmpz_tdiv_r(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr);
1473}
1474extern "C" {
1475 pub fn __gmpz_tdiv_r_2exp(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mp_bitcnt_t);
1476}
1477extern "C" {
1478 pub fn __gmpz_tdiv_r_ui(
1479 arg1: mpz_ptr,
1480 arg2: mpz_srcptr,
1481 arg3: ::std::os::raw::c_ulong,
1482 ) -> ::std::os::raw::c_ulong;
1483}
1484extern "C" {
1485 pub fn __gmpz_tstbit(arg1: mpz_srcptr, arg2: mp_bitcnt_t) -> ::std::os::raw::c_int;
1486}
1487extern "C" {
1488 pub fn __gmpz_ui_pow_ui(
1489 arg1: mpz_ptr,
1490 arg2: ::std::os::raw::c_ulong,
1491 arg3: ::std::os::raw::c_ulong,
1492 );
1493}
1494extern "C" {
1495 pub fn __gmpz_urandomb(arg1: mpz_ptr, arg2: *mut __gmp_randstate_struct, arg3: mp_bitcnt_t);
1496}
1497extern "C" {
1498 pub fn __gmpz_urandomm(arg1: mpz_ptr, arg2: *mut __gmp_randstate_struct, arg3: mpz_srcptr);
1499}
1500extern "C" {
1501 pub fn __gmpz_xor(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr);
1502}
1503extern "C" {
1504 pub fn __gmpz_limbs_read(arg1: mpz_srcptr) -> mp_srcptr;
1505}
1506extern "C" {
1507 pub fn __gmpz_limbs_write(arg1: mpz_ptr, arg2: mp_size_t) -> mp_ptr;
1508}
1509extern "C" {
1510 pub fn __gmpz_limbs_modify(arg1: mpz_ptr, arg2: mp_size_t) -> mp_ptr;
1511}
1512extern "C" {
1513 pub fn __gmpz_limbs_finish(arg1: mpz_ptr, arg2: mp_size_t);
1514}
1515extern "C" {
1516 pub fn __gmpz_roinit_n(arg1: mpz_ptr, arg2: mp_srcptr, arg3: mp_size_t) -> mpz_srcptr;
1517}
1518extern "C" {
1519 pub fn __gmpq_abs(arg1: mpq_ptr, arg2: mpq_srcptr);
1520}
1521extern "C" {
1522 pub fn __gmpq_add(arg1: mpq_ptr, arg2: mpq_srcptr, arg3: mpq_srcptr);
1523}
1524extern "C" {
1525 pub fn __gmpq_canonicalize(arg1: mpq_ptr);
1526}
1527extern "C" {
1528 pub fn __gmpq_clear(arg1: mpq_ptr);
1529}
1530extern "C" {
1531 pub fn __gmpq_clears(arg1: mpq_ptr, ...);
1532}
1533extern "C" {
1534 pub fn __gmpq_cmp(arg1: mpq_srcptr, arg2: mpq_srcptr) -> ::std::os::raw::c_int;
1535}
1536extern "C" {
1537 pub fn __gmpq_cmp_si(
1538 arg1: mpq_srcptr,
1539 arg2: ::std::os::raw::c_long,
1540 arg3: ::std::os::raw::c_ulong,
1541 ) -> ::std::os::raw::c_int;
1542}
1543extern "C" {
1544 pub fn __gmpq_cmp_ui(
1545 arg1: mpq_srcptr,
1546 arg2: ::std::os::raw::c_ulong,
1547 arg3: ::std::os::raw::c_ulong,
1548 ) -> ::std::os::raw::c_int;
1549}
1550extern "C" {
1551 pub fn __gmpq_cmp_z(arg1: mpq_srcptr, arg2: mpz_srcptr) -> ::std::os::raw::c_int;
1552}
1553extern "C" {
1554 pub fn __gmpq_div(arg1: mpq_ptr, arg2: mpq_srcptr, arg3: mpq_srcptr);
1555}
1556extern "C" {
1557 pub fn __gmpq_div_2exp(arg1: mpq_ptr, arg2: mpq_srcptr, arg3: mp_bitcnt_t);
1558}
1559extern "C" {
1560 pub fn __gmpq_equal(arg1: mpq_srcptr, arg2: mpq_srcptr) -> ::std::os::raw::c_int;
1561}
1562extern "C" {
1563 pub fn __gmpq_get_num(arg1: mpz_ptr, arg2: mpq_srcptr);
1564}
1565extern "C" {
1566 pub fn __gmpq_get_den(arg1: mpz_ptr, arg2: mpq_srcptr);
1567}
1568extern "C" {
1569 pub fn __gmpq_get_d(arg1: mpq_srcptr) -> f64;
1570}
1571extern "C" {
1572 pub fn __gmpq_get_str(
1573 arg1: *mut ::std::os::raw::c_char,
1574 arg2: ::std::os::raw::c_int,
1575 arg3: mpq_srcptr,
1576 ) -> *mut ::std::os::raw::c_char;
1577}
1578extern "C" {
1579 pub fn __gmpq_init(arg1: mpq_ptr);
1580}
1581extern "C" {
1582 pub fn __gmpq_inits(arg1: mpq_ptr, ...);
1583}
1584extern "C" {
1585 pub fn __gmpq_inv(arg1: mpq_ptr, arg2: mpq_srcptr);
1586}
1587extern "C" {
1588 pub fn __gmpq_mul(arg1: mpq_ptr, arg2: mpq_srcptr, arg3: mpq_srcptr);
1589}
1590extern "C" {
1591 pub fn __gmpq_mul_2exp(arg1: mpq_ptr, arg2: mpq_srcptr, arg3: mp_bitcnt_t);
1592}
1593extern "C" {
1594 pub fn __gmpq_neg(arg1: mpq_ptr, arg2: mpq_srcptr);
1595}
1596extern "C" {
1597 pub fn __gmpq_set(arg1: mpq_ptr, arg2: mpq_srcptr);
1598}
1599extern "C" {
1600 pub fn __gmpq_set_d(arg1: mpq_ptr, arg2: f64);
1601}
1602extern "C" {
1603 pub fn __gmpq_set_den(arg1: mpq_ptr, arg2: mpz_srcptr);
1604}
1605extern "C" {
1606 pub fn __gmpq_set_f(arg1: mpq_ptr, arg2: mpf_srcptr);
1607}
1608extern "C" {
1609 pub fn __gmpq_set_num(arg1: mpq_ptr, arg2: mpz_srcptr);
1610}
1611extern "C" {
1612 pub fn __gmpq_set_si(
1613 arg1: mpq_ptr,
1614 arg2: ::std::os::raw::c_long,
1615 arg3: ::std::os::raw::c_ulong,
1616 );
1617}
1618extern "C" {
1619 pub fn __gmpq_set_str(
1620 arg1: mpq_ptr,
1621 arg2: *const ::std::os::raw::c_char,
1622 arg3: ::std::os::raw::c_int,
1623 ) -> ::std::os::raw::c_int;
1624}
1625extern "C" {
1626 pub fn __gmpq_set_ui(
1627 arg1: mpq_ptr,
1628 arg2: ::std::os::raw::c_ulong,
1629 arg3: ::std::os::raw::c_ulong,
1630 );
1631}
1632extern "C" {
1633 pub fn __gmpq_set_z(arg1: mpq_ptr, arg2: mpz_srcptr);
1634}
1635extern "C" {
1636 pub fn __gmpq_sub(arg1: mpq_ptr, arg2: mpq_srcptr, arg3: mpq_srcptr);
1637}
1638extern "C" {
1639 pub fn __gmpq_swap(arg1: mpq_ptr, arg2: mpq_ptr);
1640}
1641extern "C" {
1642 pub fn __gmpf_abs(arg1: mpf_ptr, arg2: mpf_srcptr);
1643}
1644extern "C" {
1645 pub fn __gmpf_add(arg1: mpf_ptr, arg2: mpf_srcptr, arg3: mpf_srcptr);
1646}
1647extern "C" {
1648 pub fn __gmpf_add_ui(arg1: mpf_ptr, arg2: mpf_srcptr, arg3: ::std::os::raw::c_ulong);
1649}
1650extern "C" {
1651 pub fn __gmpf_ceil(arg1: mpf_ptr, arg2: mpf_srcptr);
1652}
1653extern "C" {
1654 pub fn __gmpf_clear(arg1: mpf_ptr);
1655}
1656extern "C" {
1657 pub fn __gmpf_clears(arg1: mpf_ptr, ...);
1658}
1659extern "C" {
1660 pub fn __gmpf_cmp(arg1: mpf_srcptr, arg2: mpf_srcptr) -> ::std::os::raw::c_int;
1661}
1662extern "C" {
1663 pub fn __gmpf_cmp_z(arg1: mpf_srcptr, arg2: mpz_srcptr) -> ::std::os::raw::c_int;
1664}
1665extern "C" {
1666 pub fn __gmpf_cmp_d(arg1: mpf_srcptr, arg2: f64) -> ::std::os::raw::c_int;
1667}
1668extern "C" {
1669 pub fn __gmpf_cmp_si(arg1: mpf_srcptr, arg2: ::std::os::raw::c_long) -> ::std::os::raw::c_int;
1670}
1671extern "C" {
1672 pub fn __gmpf_cmp_ui(arg1: mpf_srcptr, arg2: ::std::os::raw::c_ulong) -> ::std::os::raw::c_int;
1673}
1674extern "C" {
1675 pub fn __gmpf_div(arg1: mpf_ptr, arg2: mpf_srcptr, arg3: mpf_srcptr);
1676}
1677extern "C" {
1678 pub fn __gmpf_div_2exp(arg1: mpf_ptr, arg2: mpf_srcptr, arg3: mp_bitcnt_t);
1679}
1680extern "C" {
1681 pub fn __gmpf_div_ui(arg1: mpf_ptr, arg2: mpf_srcptr, arg3: ::std::os::raw::c_ulong);
1682}
1683extern "C" {
1684 pub fn __gmpf_dump(arg1: mpf_srcptr);
1685}
1686extern "C" {
1687 pub fn __gmpf_eq(
1688 arg1: mpf_srcptr,
1689 arg2: mpf_srcptr,
1690 arg3: mp_bitcnt_t,
1691 ) -> ::std::os::raw::c_int;
1692}
1693extern "C" {
1694 pub fn __gmpf_fits_sint_p(arg1: mpf_srcptr) -> ::std::os::raw::c_int;
1695}
1696extern "C" {
1697 pub fn __gmpf_fits_slong_p(arg1: mpf_srcptr) -> ::std::os::raw::c_int;
1698}
1699extern "C" {
1700 pub fn __gmpf_fits_sshort_p(arg1: mpf_srcptr) -> ::std::os::raw::c_int;
1701}
1702extern "C" {
1703 pub fn __gmpf_fits_uint_p(arg1: mpf_srcptr) -> ::std::os::raw::c_int;
1704}
1705extern "C" {
1706 pub fn __gmpf_fits_ulong_p(arg1: mpf_srcptr) -> ::std::os::raw::c_int;
1707}
1708extern "C" {
1709 pub fn __gmpf_fits_ushort_p(arg1: mpf_srcptr) -> ::std::os::raw::c_int;
1710}
1711extern "C" {
1712 pub fn __gmpf_floor(arg1: mpf_ptr, arg2: mpf_srcptr);
1713}
1714extern "C" {
1715 pub fn __gmpf_get_d(arg1: mpf_srcptr) -> f64;
1716}
1717extern "C" {
1718 pub fn __gmpf_get_d_2exp(arg1: *mut ::std::os::raw::c_long, arg2: mpf_srcptr) -> f64;
1719}
1720extern "C" {
1721 pub fn __gmpf_get_default_prec() -> mp_bitcnt_t;
1722}
1723extern "C" {
1724 pub fn __gmpf_get_prec(arg1: mpf_srcptr) -> mp_bitcnt_t;
1725}
1726extern "C" {
1727 pub fn __gmpf_get_si(arg1: mpf_srcptr) -> ::std::os::raw::c_long;
1728}
1729extern "C" {
1730 pub fn __gmpf_get_str(
1731 arg1: *mut ::std::os::raw::c_char,
1732 arg2: *mut mp_exp_t,
1733 arg3: ::std::os::raw::c_int,
1734 arg4: usize,
1735 arg5: mpf_srcptr,
1736 ) -> *mut ::std::os::raw::c_char;
1737}
1738extern "C" {
1739 pub fn __gmpf_get_ui(arg1: mpf_srcptr) -> ::std::os::raw::c_ulong;
1740}
1741extern "C" {
1742 pub fn __gmpf_init(arg1: mpf_ptr);
1743}
1744extern "C" {
1745 pub fn __gmpf_init2(arg1: mpf_ptr, arg2: mp_bitcnt_t);
1746}
1747extern "C" {
1748 pub fn __gmpf_inits(arg1: mpf_ptr, ...);
1749}
1750extern "C" {
1751 pub fn __gmpf_init_set(arg1: mpf_ptr, arg2: mpf_srcptr);
1752}
1753extern "C" {
1754 pub fn __gmpf_init_set_d(arg1: mpf_ptr, arg2: f64);
1755}
1756extern "C" {
1757 pub fn __gmpf_init_set_si(arg1: mpf_ptr, arg2: ::std::os::raw::c_long);
1758}
1759extern "C" {
1760 pub fn __gmpf_init_set_str(
1761 arg1: mpf_ptr,
1762 arg2: *const ::std::os::raw::c_char,
1763 arg3: ::std::os::raw::c_int,
1764 ) -> ::std::os::raw::c_int;
1765}
1766extern "C" {
1767 pub fn __gmpf_init_set_ui(arg1: mpf_ptr, arg2: ::std::os::raw::c_ulong);
1768}
1769extern "C" {
1770 pub fn __gmpf_integer_p(arg1: mpf_srcptr) -> ::std::os::raw::c_int;
1771}
1772extern "C" {
1773 pub fn __gmpf_mul(arg1: mpf_ptr, arg2: mpf_srcptr, arg3: mpf_srcptr);
1774}
1775extern "C" {
1776 pub fn __gmpf_mul_2exp(arg1: mpf_ptr, arg2: mpf_srcptr, arg3: mp_bitcnt_t);
1777}
1778extern "C" {
1779 pub fn __gmpf_mul_ui(arg1: mpf_ptr, arg2: mpf_srcptr, arg3: ::std::os::raw::c_ulong);
1780}
1781extern "C" {
1782 pub fn __gmpf_neg(arg1: mpf_ptr, arg2: mpf_srcptr);
1783}
1784extern "C" {
1785 pub fn __gmpf_pow_ui(arg1: mpf_ptr, arg2: mpf_srcptr, arg3: ::std::os::raw::c_ulong);
1786}
1787extern "C" {
1788 pub fn __gmpf_random2(arg1: mpf_ptr, arg2: mp_size_t, arg3: mp_exp_t);
1789}
1790extern "C" {
1791 pub fn __gmpf_reldiff(arg1: mpf_ptr, arg2: mpf_srcptr, arg3: mpf_srcptr);
1792}
1793extern "C" {
1794 pub fn __gmpf_set(arg1: mpf_ptr, arg2: mpf_srcptr);
1795}
1796extern "C" {
1797 pub fn __gmpf_set_d(arg1: mpf_ptr, arg2: f64);
1798}
1799extern "C" {
1800 pub fn __gmpf_set_default_prec(arg1: mp_bitcnt_t);
1801}
1802extern "C" {
1803 pub fn __gmpf_set_prec(arg1: mpf_ptr, arg2: mp_bitcnt_t);
1804}
1805extern "C" {
1806 pub fn __gmpf_set_prec_raw(arg1: mpf_ptr, arg2: mp_bitcnt_t);
1807}
1808extern "C" {
1809 pub fn __gmpf_set_q(arg1: mpf_ptr, arg2: mpq_srcptr);
1810}
1811extern "C" {
1812 pub fn __gmpf_set_si(arg1: mpf_ptr, arg2: ::std::os::raw::c_long);
1813}
1814extern "C" {
1815 pub fn __gmpf_set_str(
1816 arg1: mpf_ptr,
1817 arg2: *const ::std::os::raw::c_char,
1818 arg3: ::std::os::raw::c_int,
1819 ) -> ::std::os::raw::c_int;
1820}
1821extern "C" {
1822 pub fn __gmpf_set_ui(arg1: mpf_ptr, arg2: ::std::os::raw::c_ulong);
1823}
1824extern "C" {
1825 pub fn __gmpf_set_z(arg1: mpf_ptr, arg2: mpz_srcptr);
1826}
1827extern "C" {
1828 pub fn __gmpf_size(arg1: mpf_srcptr) -> usize;
1829}
1830extern "C" {
1831 pub fn __gmpf_sqrt(arg1: mpf_ptr, arg2: mpf_srcptr);
1832}
1833extern "C" {
1834 pub fn __gmpf_sqrt_ui(arg1: mpf_ptr, arg2: ::std::os::raw::c_ulong);
1835}
1836extern "C" {
1837 pub fn __gmpf_sub(arg1: mpf_ptr, arg2: mpf_srcptr, arg3: mpf_srcptr);
1838}
1839extern "C" {
1840 pub fn __gmpf_sub_ui(arg1: mpf_ptr, arg2: mpf_srcptr, arg3: ::std::os::raw::c_ulong);
1841}
1842extern "C" {
1843 pub fn __gmpf_swap(arg1: mpf_ptr, arg2: mpf_ptr);
1844}
1845extern "C" {
1846 pub fn __gmpf_trunc(arg1: mpf_ptr, arg2: mpf_srcptr);
1847}
1848extern "C" {
1849 pub fn __gmpf_ui_div(arg1: mpf_ptr, arg2: ::std::os::raw::c_ulong, arg3: mpf_srcptr);
1850}
1851extern "C" {
1852 pub fn __gmpf_ui_sub(arg1: mpf_ptr, arg2: ::std::os::raw::c_ulong, arg3: mpf_srcptr);
1853}
1854extern "C" {
1855 pub fn __gmpf_urandomb(
1856 arg1: *mut __mpf_struct,
1857 arg2: *mut __gmp_randstate_struct,
1858 arg3: mp_bitcnt_t,
1859 );
1860}
1861extern "C" {
1862 pub fn __gmpn_add(
1863 arg1: mp_ptr,
1864 arg2: mp_srcptr,
1865 arg3: mp_size_t,
1866 arg4: mp_srcptr,
1867 arg5: mp_size_t,
1868 ) -> mp_limb_t;
1869}
1870extern "C" {
1871 pub fn __gmpn_add_1(
1872 arg1: mp_ptr,
1873 arg2: mp_srcptr,
1874 arg3: mp_size_t,
1875 arg4: mp_limb_t,
1876 ) -> mp_limb_t;
1877}
1878extern "C" {
1879 pub fn __gmpn_add_n(
1880 arg1: mp_ptr,
1881 arg2: mp_srcptr,
1882 arg3: mp_srcptr,
1883 arg4: mp_size_t,
1884 ) -> mp_limb_t;
1885}
1886extern "C" {
1887 pub fn __gmpn_addmul_1(
1888 arg1: mp_ptr,
1889 arg2: mp_srcptr,
1890 arg3: mp_size_t,
1891 arg4: mp_limb_t,
1892 ) -> mp_limb_t;
1893}
1894extern "C" {
1895 pub fn __gmpn_cmp(arg1: mp_srcptr, arg2: mp_srcptr, arg3: mp_size_t) -> ::std::os::raw::c_int;
1896}
1897extern "C" {
1898 pub fn __gmpn_zero_p(arg1: mp_srcptr, arg2: mp_size_t) -> ::std::os::raw::c_int;
1899}
1900extern "C" {
1901 pub fn __gmpn_divexact_1(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_size_t, arg4: mp_limb_t);
1902}
1903extern "C" {
1904 pub fn __gmpn_divexact_by3c(
1905 arg1: mp_ptr,
1906 arg2: mp_srcptr,
1907 arg3: mp_size_t,
1908 arg4: mp_limb_t,
1909 ) -> mp_limb_t;
1910}
1911extern "C" {
1912 pub fn __gmpn_divrem(
1913 arg1: mp_ptr,
1914 arg2: mp_size_t,
1915 arg3: mp_ptr,
1916 arg4: mp_size_t,
1917 arg5: mp_srcptr,
1918 arg6: mp_size_t,
1919 ) -> mp_limb_t;
1920}
1921extern "C" {
1922 pub fn __gmpn_divrem_1(
1923 arg1: mp_ptr,
1924 arg2: mp_size_t,
1925 arg3: mp_srcptr,
1926 arg4: mp_size_t,
1927 arg5: mp_limb_t,
1928 ) -> mp_limb_t;
1929}
1930extern "C" {
1931 pub fn __gmpn_divrem_2(
1932 arg1: mp_ptr,
1933 arg2: mp_size_t,
1934 arg3: mp_ptr,
1935 arg4: mp_size_t,
1936 arg5: mp_srcptr,
1937 ) -> mp_limb_t;
1938}
1939extern "C" {
1940 pub fn __gmpn_div_qr_1(
1941 arg1: mp_ptr,
1942 arg2: *mut mp_limb_t,
1943 arg3: mp_srcptr,
1944 arg4: mp_size_t,
1945 arg5: mp_limb_t,
1946 ) -> mp_limb_t;
1947}
1948extern "C" {
1949 pub fn __gmpn_div_qr_2(
1950 arg1: mp_ptr,
1951 arg2: mp_ptr,
1952 arg3: mp_srcptr,
1953 arg4: mp_size_t,
1954 arg5: mp_srcptr,
1955 ) -> mp_limb_t;
1956}
1957extern "C" {
1958 pub fn __gmpn_gcd(
1959 arg1: mp_ptr,
1960 arg2: mp_ptr,
1961 arg3: mp_size_t,
1962 arg4: mp_ptr,
1963 arg5: mp_size_t,
1964 ) -> mp_size_t;
1965}
1966extern "C" {
1967 pub fn __gmpn_gcd_11(arg1: mp_limb_t, arg2: mp_limb_t) -> mp_limb_t;
1968}
1969extern "C" {
1970 pub fn __gmpn_gcd_1(arg1: mp_srcptr, arg2: mp_size_t, arg3: mp_limb_t) -> mp_limb_t;
1971}
1972extern "C" {
1973 pub fn __gmpn_gcdext_1(
1974 arg1: *mut mp_limb_signed_t,
1975 arg2: *mut mp_limb_signed_t,
1976 arg3: mp_limb_t,
1977 arg4: mp_limb_t,
1978 ) -> mp_limb_t;
1979}
1980extern "C" {
1981 pub fn __gmpn_gcdext(
1982 arg1: mp_ptr,
1983 arg2: mp_ptr,
1984 arg3: *mut mp_size_t,
1985 arg4: mp_ptr,
1986 arg5: mp_size_t,
1987 arg6: mp_ptr,
1988 arg7: mp_size_t,
1989 ) -> mp_size_t;
1990}
1991extern "C" {
1992 pub fn __gmpn_get_str(
1993 arg1: *mut ::std::os::raw::c_uchar,
1994 arg2: ::std::os::raw::c_int,
1995 arg3: mp_ptr,
1996 arg4: mp_size_t,
1997 ) -> usize;
1998}
1999extern "C" {
2000 pub fn __gmpn_hamdist(arg1: mp_srcptr, arg2: mp_srcptr, arg3: mp_size_t) -> mp_bitcnt_t;
2001}
2002extern "C" {
2003 pub fn __gmpn_lshift(
2004 arg1: mp_ptr,
2005 arg2: mp_srcptr,
2006 arg3: mp_size_t,
2007 arg4: ::std::os::raw::c_uint,
2008 ) -> mp_limb_t;
2009}
2010extern "C" {
2011 pub fn __gmpn_mod_1(arg1: mp_srcptr, arg2: mp_size_t, arg3: mp_limb_t) -> mp_limb_t;
2012}
2013extern "C" {
2014 pub fn __gmpn_mul(
2015 arg1: mp_ptr,
2016 arg2: mp_srcptr,
2017 arg3: mp_size_t,
2018 arg4: mp_srcptr,
2019 arg5: mp_size_t,
2020 ) -> mp_limb_t;
2021}
2022extern "C" {
2023 pub fn __gmpn_mul_1(
2024 arg1: mp_ptr,
2025 arg2: mp_srcptr,
2026 arg3: mp_size_t,
2027 arg4: mp_limb_t,
2028 ) -> mp_limb_t;
2029}
2030extern "C" {
2031 pub fn __gmpn_mul_n(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_srcptr, arg4: mp_size_t);
2032}
2033extern "C" {
2034 pub fn __gmpn_sqr(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_size_t);
2035}
2036extern "C" {
2037 pub fn __gmpn_neg(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_size_t) -> mp_limb_t;
2038}
2039extern "C" {
2040 pub fn __gmpn_com(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_size_t);
2041}
2042extern "C" {
2043 pub fn __gmpn_perfect_square_p(arg1: mp_srcptr, arg2: mp_size_t) -> ::std::os::raw::c_int;
2044}
2045extern "C" {
2046 pub fn __gmpn_perfect_power_p(arg1: mp_srcptr, arg2: mp_size_t) -> ::std::os::raw::c_int;
2047}
2048extern "C" {
2049 pub fn __gmpn_popcount(arg1: mp_srcptr, arg2: mp_size_t) -> mp_bitcnt_t;
2050}
2051extern "C" {
2052 pub fn __gmpn_pow_1(
2053 arg1: mp_ptr,
2054 arg2: mp_srcptr,
2055 arg3: mp_size_t,
2056 arg4: mp_limb_t,
2057 arg5: mp_ptr,
2058 ) -> mp_size_t;
2059}
2060extern "C" {
2061 pub fn __gmpn_preinv_mod_1(
2062 arg1: mp_srcptr,
2063 arg2: mp_size_t,
2064 arg3: mp_limb_t,
2065 arg4: mp_limb_t,
2066 ) -> mp_limb_t;
2067}
2068extern "C" {
2069 pub fn __gmpn_random(arg1: mp_ptr, arg2: mp_size_t);
2070}
2071extern "C" {
2072 pub fn __gmpn_random2(arg1: mp_ptr, arg2: mp_size_t);
2073}
2074extern "C" {
2075 pub fn __gmpn_rshift(
2076 arg1: mp_ptr,
2077 arg2: mp_srcptr,
2078 arg3: mp_size_t,
2079 arg4: ::std::os::raw::c_uint,
2080 ) -> mp_limb_t;
2081}
2082extern "C" {
2083 pub fn __gmpn_scan0(arg1: mp_srcptr, arg2: mp_bitcnt_t) -> mp_bitcnt_t;
2084}
2085extern "C" {
2086 pub fn __gmpn_scan1(arg1: mp_srcptr, arg2: mp_bitcnt_t) -> mp_bitcnt_t;
2087}
2088extern "C" {
2089 pub fn __gmpn_set_str(
2090 arg1: mp_ptr,
2091 arg2: *const ::std::os::raw::c_uchar,
2092 arg3: usize,
2093 arg4: ::std::os::raw::c_int,
2094 ) -> mp_size_t;
2095}
2096extern "C" {
2097 pub fn __gmpn_sizeinbase(
2098 arg1: mp_srcptr,
2099 arg2: mp_size_t,
2100 arg3: ::std::os::raw::c_int,
2101 ) -> usize;
2102}
2103extern "C" {
2104 pub fn __gmpn_sqrtrem(
2105 arg1: mp_ptr,
2106 arg2: mp_ptr,
2107 arg3: mp_srcptr,
2108 arg4: mp_size_t,
2109 ) -> mp_size_t;
2110}
2111extern "C" {
2112 pub fn __gmpn_sub(
2113 arg1: mp_ptr,
2114 arg2: mp_srcptr,
2115 arg3: mp_size_t,
2116 arg4: mp_srcptr,
2117 arg5: mp_size_t,
2118 ) -> mp_limb_t;
2119}
2120extern "C" {
2121 pub fn __gmpn_sub_1(
2122 arg1: mp_ptr,
2123 arg2: mp_srcptr,
2124 arg3: mp_size_t,
2125 arg4: mp_limb_t,
2126 ) -> mp_limb_t;
2127}
2128extern "C" {
2129 pub fn __gmpn_sub_n(
2130 arg1: mp_ptr,
2131 arg2: mp_srcptr,
2132 arg3: mp_srcptr,
2133 arg4: mp_size_t,
2134 ) -> mp_limb_t;
2135}
2136extern "C" {
2137 pub fn __gmpn_submul_1(
2138 arg1: mp_ptr,
2139 arg2: mp_srcptr,
2140 arg3: mp_size_t,
2141 arg4: mp_limb_t,
2142 ) -> mp_limb_t;
2143}
2144extern "C" {
2145 pub fn __gmpn_tdiv_qr(
2146 arg1: mp_ptr,
2147 arg2: mp_ptr,
2148 arg3: mp_size_t,
2149 arg4: mp_srcptr,
2150 arg5: mp_size_t,
2151 arg6: mp_srcptr,
2152 arg7: mp_size_t,
2153 );
2154}
2155extern "C" {
2156 pub fn __gmpn_and_n(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_srcptr, arg4: mp_size_t);
2157}
2158extern "C" {
2159 pub fn __gmpn_andn_n(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_srcptr, arg4: mp_size_t);
2160}
2161extern "C" {
2162 pub fn __gmpn_nand_n(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_srcptr, arg4: mp_size_t);
2163}
2164extern "C" {
2165 pub fn __gmpn_ior_n(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_srcptr, arg4: mp_size_t);
2166}
2167extern "C" {
2168 pub fn __gmpn_iorn_n(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_srcptr, arg4: mp_size_t);
2169}
2170extern "C" {
2171 pub fn __gmpn_nior_n(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_srcptr, arg4: mp_size_t);
2172}
2173extern "C" {
2174 pub fn __gmpn_xor_n(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_srcptr, arg4: mp_size_t);
2175}
2176extern "C" {
2177 pub fn __gmpn_xnor_n(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_srcptr, arg4: mp_size_t);
2178}
2179extern "C" {
2180 pub fn __gmpn_copyi(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_size_t);
2181}
2182extern "C" {
2183 pub fn __gmpn_copyd(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_size_t);
2184}
2185extern "C" {
2186 pub fn __gmpn_zero(arg1: mp_ptr, arg2: mp_size_t);
2187}
2188extern "C" {
2189 pub fn __gmpn_cnd_add_n(
2190 arg1: mp_limb_t,
2191 arg2: mp_ptr,
2192 arg3: mp_srcptr,
2193 arg4: mp_srcptr,
2194 arg5: mp_size_t,
2195 ) -> mp_limb_t;
2196}
2197extern "C" {
2198 pub fn __gmpn_cnd_sub_n(
2199 arg1: mp_limb_t,
2200 arg2: mp_ptr,
2201 arg3: mp_srcptr,
2202 arg4: mp_srcptr,
2203 arg5: mp_size_t,
2204 ) -> mp_limb_t;
2205}
2206extern "C" {
2207 pub fn __gmpn_sec_add_1(
2208 arg1: mp_ptr,
2209 arg2: mp_srcptr,
2210 arg3: mp_size_t,
2211 arg4: mp_limb_t,
2212 arg5: mp_ptr,
2213 ) -> mp_limb_t;
2214}
2215extern "C" {
2216 pub fn __gmpn_sec_add_1_itch(arg1: mp_size_t) -> mp_size_t;
2217}
2218extern "C" {
2219 pub fn __gmpn_sec_sub_1(
2220 arg1: mp_ptr,
2221 arg2: mp_srcptr,
2222 arg3: mp_size_t,
2223 arg4: mp_limb_t,
2224 arg5: mp_ptr,
2225 ) -> mp_limb_t;
2226}
2227extern "C" {
2228 pub fn __gmpn_sec_sub_1_itch(arg1: mp_size_t) -> mp_size_t;
2229}
2230extern "C" {
2231 pub fn __gmpn_cnd_swap(
2232 arg1: mp_limb_t,
2233 arg2: *mut mp_limb_t,
2234 arg3: *mut mp_limb_t,
2235 arg4: mp_size_t,
2236 );
2237}
2238extern "C" {
2239 pub fn __gmpn_sec_mul(
2240 arg1: mp_ptr,
2241 arg2: mp_srcptr,
2242 arg3: mp_size_t,
2243 arg4: mp_srcptr,
2244 arg5: mp_size_t,
2245 arg6: mp_ptr,
2246 );
2247}
2248extern "C" {
2249 pub fn __gmpn_sec_mul_itch(arg1: mp_size_t, arg2: mp_size_t) -> mp_size_t;
2250}
2251extern "C" {
2252 pub fn __gmpn_sec_sqr(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_size_t, arg4: mp_ptr);
2253}
2254extern "C" {
2255 pub fn __gmpn_sec_sqr_itch(arg1: mp_size_t) -> mp_size_t;
2256}
2257extern "C" {
2258 pub fn __gmpn_sec_powm(
2259 arg1: mp_ptr,
2260 arg2: mp_srcptr,
2261 arg3: mp_size_t,
2262 arg4: mp_srcptr,
2263 arg5: mp_bitcnt_t,
2264 arg6: mp_srcptr,
2265 arg7: mp_size_t,
2266 arg8: mp_ptr,
2267 );
2268}
2269extern "C" {
2270 pub fn __gmpn_sec_powm_itch(arg1: mp_size_t, arg2: mp_bitcnt_t, arg3: mp_size_t) -> mp_size_t;
2271}
2272extern "C" {
2273 pub fn __gmpn_sec_tabselect(
2274 arg1: *mut mp_limb_t,
2275 arg2: *const mp_limb_t,
2276 arg3: mp_size_t,
2277 arg4: mp_size_t,
2278 arg5: mp_size_t,
2279 );
2280}
2281extern "C" {
2282 pub fn __gmpn_sec_div_qr(
2283 arg1: mp_ptr,
2284 arg2: mp_ptr,
2285 arg3: mp_size_t,
2286 arg4: mp_srcptr,
2287 arg5: mp_size_t,
2288 arg6: mp_ptr,
2289 ) -> mp_limb_t;
2290}
2291extern "C" {
2292 pub fn __gmpn_sec_div_qr_itch(arg1: mp_size_t, arg2: mp_size_t) -> mp_size_t;
2293}
2294extern "C" {
2295 pub fn __gmpn_sec_div_r(
2296 arg1: mp_ptr,
2297 arg2: mp_size_t,
2298 arg3: mp_srcptr,
2299 arg4: mp_size_t,
2300 arg5: mp_ptr,
2301 );
2302}
2303extern "C" {
2304 pub fn __gmpn_sec_div_r_itch(arg1: mp_size_t, arg2: mp_size_t) -> mp_size_t;
2305}
2306extern "C" {
2307 pub fn __gmpn_sec_invert(
2308 arg1: mp_ptr,
2309 arg2: mp_ptr,
2310 arg3: mp_srcptr,
2311 arg4: mp_size_t,
2312 arg5: mp_bitcnt_t,
2313 arg6: mp_ptr,
2314 ) -> ::std::os::raw::c_int;
2315}
2316extern "C" {
2317 pub fn __gmpn_sec_invert_itch(arg1: mp_size_t) -> mp_size_t;
2318}
2319pub const GMP_ERROR_NONE: _bindgen_ty_1 = 0;
2320pub const GMP_ERROR_UNSUPPORTED_ARGUMENT: _bindgen_ty_1 = 1;
2321pub const GMP_ERROR_DIVISION_BY_ZERO: _bindgen_ty_1 = 2;
2322pub const GMP_ERROR_SQRT_OF_NEGATIVE: _bindgen_ty_1 = 4;
2323pub const GMP_ERROR_INVALID_ARGUMENT: _bindgen_ty_1 = 8;
2324pub type _bindgen_ty_1 = u32;
2325pub type __u_char = ::std::os::raw::c_uchar;
2326pub type __u_short = ::std::os::raw::c_ushort;
2327pub type __u_int = ::std::os::raw::c_uint;
2328pub type __u_long = ::std::os::raw::c_ulong;
2329pub type __int8_t = ::std::os::raw::c_schar;
2330pub type __uint8_t = ::std::os::raw::c_uchar;
2331pub type __int16_t = ::std::os::raw::c_short;
2332pub type __uint16_t = ::std::os::raw::c_ushort;
2333pub type __int32_t = ::std::os::raw::c_int;
2334pub type __uint32_t = ::std::os::raw::c_uint;
2335pub type __int64_t = ::std::os::raw::c_long;
2336pub type __uint64_t = ::std::os::raw::c_ulong;
2337pub type __int_least8_t = __int8_t;
2338pub type __uint_least8_t = __uint8_t;
2339pub type __int_least16_t = __int16_t;
2340pub type __uint_least16_t = __uint16_t;
2341pub type __int_least32_t = __int32_t;
2342pub type __uint_least32_t = __uint32_t;
2343pub type __int_least64_t = __int64_t;
2344pub type __uint_least64_t = __uint64_t;
2345pub type __quad_t = ::std::os::raw::c_long;
2346pub type __u_quad_t = ::std::os::raw::c_ulong;
2347pub type __intmax_t = ::std::os::raw::c_long;
2348pub type __uintmax_t = ::std::os::raw::c_ulong;
2349pub type __dev_t = ::std::os::raw::c_ulong;
2350pub type __uid_t = ::std::os::raw::c_uint;
2351pub type __gid_t = ::std::os::raw::c_uint;
2352pub type __ino_t = ::std::os::raw::c_ulong;
2353pub type __ino64_t = ::std::os::raw::c_ulong;
2354pub type __mode_t = ::std::os::raw::c_uint;
2355pub type __nlink_t = ::std::os::raw::c_ulong;
2356pub type __off_t = ::std::os::raw::c_long;
2357pub type __off64_t = ::std::os::raw::c_long;
2358pub type __pid_t = ::std::os::raw::c_int;
2359#[repr(C)]
2360#[derive(Debug, Copy, Clone)]
2361pub struct __fsid_t {
2362 pub __val: [::std::os::raw::c_int; 2usize],
2363}
2364#[test]
2365fn bindgen_test_layout___fsid_t() {
2366 assert_eq!(
2367 ::std::mem::size_of::<__fsid_t>(),
2368 8usize,
2369 concat!("Size of: ", stringify!(__fsid_t))
2370 );
2371 assert_eq!(
2372 ::std::mem::align_of::<__fsid_t>(),
2373 4usize,
2374 concat!("Alignment of ", stringify!(__fsid_t))
2375 );
2376 assert_eq!(
2377 unsafe { &(*(::std::ptr::null::<__fsid_t>())).__val as *const _ as usize },
2378 0usize,
2379 concat!(
2380 "Offset of field: ",
2381 stringify!(__fsid_t),
2382 "::",
2383 stringify!(__val)
2384 )
2385 );
2386}
2387pub type __clock_t = ::std::os::raw::c_long;
2388pub type __rlim_t = ::std::os::raw::c_ulong;
2389pub type __rlim64_t = ::std::os::raw::c_ulong;
2390pub type __id_t = ::std::os::raw::c_uint;
2391pub type __time_t = ::std::os::raw::c_long;
2392pub type __useconds_t = ::std::os::raw::c_uint;
2393pub type __suseconds_t = ::std::os::raw::c_long;
2394pub type __daddr_t = ::std::os::raw::c_int;
2395pub type __key_t = ::std::os::raw::c_int;
2396pub type __clockid_t = ::std::os::raw::c_int;
2397pub type __timer_t = *mut ::std::os::raw::c_void;
2398pub type __blksize_t = ::std::os::raw::c_long;
2399pub type __blkcnt_t = ::std::os::raw::c_long;
2400pub type __blkcnt64_t = ::std::os::raw::c_long;
2401pub type __fsblkcnt_t = ::std::os::raw::c_ulong;
2402pub type __fsblkcnt64_t = ::std::os::raw::c_ulong;
2403pub type __fsfilcnt_t = ::std::os::raw::c_ulong;
2404pub type __fsfilcnt64_t = ::std::os::raw::c_ulong;
2405pub type __fsword_t = ::std::os::raw::c_long;
2406pub type __ssize_t = ::std::os::raw::c_long;
2407pub type __syscall_slong_t = ::std::os::raw::c_long;
2408pub type __syscall_ulong_t = ::std::os::raw::c_ulong;
2409pub type __loff_t = __off64_t;
2410pub type __caddr_t = *mut ::std::os::raw::c_char;
2411pub type __intptr_t = ::std::os::raw::c_long;
2412pub type __socklen_t = ::std::os::raw::c_uint;
2413pub type __sig_atomic_t = ::std::os::raw::c_int;
2414pub type u_char = __u_char;
2415pub type u_short = __u_short;
2416pub type u_int = __u_int;
2417pub type u_long = __u_long;
2418pub type quad_t = __quad_t;
2419pub type u_quad_t = __u_quad_t;
2420pub type fsid_t = __fsid_t;
2421pub type loff_t = __loff_t;
2422pub type ino_t = __ino_t;
2423pub type dev_t = __dev_t;
2424pub type gid_t = __gid_t;
2425pub type mode_t = __mode_t;
2426pub type nlink_t = __nlink_t;
2427pub type uid_t = __uid_t;
2428pub type off_t = __off_t;
2429pub type pid_t = __pid_t;
2430pub type id_t = __id_t;
2431pub type daddr_t = __daddr_t;
2432pub type caddr_t = __caddr_t;
2433pub type key_t = __key_t;
2434pub type clock_t = __clock_t;
2435pub type clockid_t = __clockid_t;
2436pub type time_t = __time_t;
2437pub type timer_t = __timer_t;
2438pub type ulongxx = ::std::os::raw::c_ulong;
2439pub type ushort = ::std::os::raw::c_ushort;
2440pub type uint = ::std::os::raw::c_uint;
2441pub type u_int8_t = __uint8_t;
2442pub type u_int16_t = __uint16_t;
2443pub type u_int32_t = __uint32_t;
2444pub type u_int64_t = __uint64_t;
2445pub type register_t = ::std::os::raw::c_long;
2446#[repr(C)]
2447#[derive(Debug, Copy, Clone)]
2448pub struct __sigset_t {
2449 pub __val: [::std::os::raw::c_ulong; 16usize],
2450}
2451#[test]
2452fn bindgen_test_layout___sigset_t() {
2453 assert_eq!(
2454 ::std::mem::size_of::<__sigset_t>(),
2455 128usize,
2456 concat!("Size of: ", stringify!(__sigset_t))
2457 );
2458 assert_eq!(
2459 ::std::mem::align_of::<__sigset_t>(),
2460 8usize,
2461 concat!("Alignment of ", stringify!(__sigset_t))
2462 );
2463 assert_eq!(
2464 unsafe { &(*(::std::ptr::null::<__sigset_t>())).__val as *const _ as usize },
2465 0usize,
2466 concat!(
2467 "Offset of field: ",
2468 stringify!(__sigset_t),
2469 "::",
2470 stringify!(__val)
2471 )
2472 );
2473}
2474pub type sigset_t = __sigset_t;
2475#[repr(C)]
2476#[derive(Debug, Copy, Clone)]
2477pub struct timeval {
2478 pub tv_sec: __time_t,
2479 pub tv_usec: __suseconds_t,
2480}
2481#[test]
2482fn bindgen_test_layout_timeval() {
2483 assert_eq!(
2484 ::std::mem::size_of::<timeval>(),
2485 16usize,
2486 concat!("Size of: ", stringify!(timeval))
2487 );
2488 assert_eq!(
2489 ::std::mem::align_of::<timeval>(),
2490 8usize,
2491 concat!("Alignment of ", stringify!(timeval))
2492 );
2493 assert_eq!(
2494 unsafe { &(*(::std::ptr::null::<timeval>())).tv_sec as *const _ as usize },
2495 0usize,
2496 concat!(
2497 "Offset of field: ",
2498 stringify!(timeval),
2499 "::",
2500 stringify!(tv_sec)
2501 )
2502 );
2503 assert_eq!(
2504 unsafe { &(*(::std::ptr::null::<timeval>())).tv_usec as *const _ as usize },
2505 8usize,
2506 concat!(
2507 "Offset of field: ",
2508 stringify!(timeval),
2509 "::",
2510 stringify!(tv_usec)
2511 )
2512 );
2513}
2514#[repr(C)]
2515#[derive(Debug, Copy, Clone)]
2516pub struct timespec {
2517 pub tv_sec: __time_t,
2518 pub tv_nsec: __syscall_slong_t,
2519}
2520#[test]
2521fn bindgen_test_layout_timespec() {
2522 assert_eq!(
2523 ::std::mem::size_of::<timespec>(),
2524 16usize,
2525 concat!("Size of: ", stringify!(timespec))
2526 );
2527 assert_eq!(
2528 ::std::mem::align_of::<timespec>(),
2529 8usize,
2530 concat!("Alignment of ", stringify!(timespec))
2531 );
2532 assert_eq!(
2533 unsafe { &(*(::std::ptr::null::<timespec>())).tv_sec as *const _ as usize },
2534 0usize,
2535 concat!(
2536 "Offset of field: ",
2537 stringify!(timespec),
2538 "::",
2539 stringify!(tv_sec)
2540 )
2541 );
2542 assert_eq!(
2543 unsafe { &(*(::std::ptr::null::<timespec>())).tv_nsec as *const _ as usize },
2544 8usize,
2545 concat!(
2546 "Offset of field: ",
2547 stringify!(timespec),
2548 "::",
2549 stringify!(tv_nsec)
2550 )
2551 );
2552}
2553pub type suseconds_t = __suseconds_t;
2554pub type __fd_mask = ::std::os::raw::c_long;
2555#[repr(C)]
2556#[derive(Debug, Copy, Clone)]
2557pub struct fd_set {
2558 pub __fds_bits: [__fd_mask; 16usize],
2559}
2560#[test]
2561fn bindgen_test_layout_fd_set() {
2562 assert_eq!(
2563 ::std::mem::size_of::<fd_set>(),
2564 128usize,
2565 concat!("Size of: ", stringify!(fd_set))
2566 );
2567 assert_eq!(
2568 ::std::mem::align_of::<fd_set>(),
2569 8usize,
2570 concat!("Alignment of ", stringify!(fd_set))
2571 );
2572 assert_eq!(
2573 unsafe { &(*(::std::ptr::null::<fd_set>())).__fds_bits as *const _ as usize },
2574 0usize,
2575 concat!(
2576 "Offset of field: ",
2577 stringify!(fd_set),
2578 "::",
2579 stringify!(__fds_bits)
2580 )
2581 );
2582}
2583pub type fd_mask = __fd_mask;
2584extern "C" {
2585 pub fn select(
2586 __nfds: ::std::os::raw::c_int,
2587 __readfds: *mut fd_set,
2588 __writefds: *mut fd_set,
2589 __exceptfds: *mut fd_set,
2590 __timeout: *mut timeval,
2591 ) -> ::std::os::raw::c_int;
2592}
2593extern "C" {
2594 pub fn pselect(
2595 __nfds: ::std::os::raw::c_int,
2596 __readfds: *mut fd_set,
2597 __writefds: *mut fd_set,
2598 __exceptfds: *mut fd_set,
2599 __timeout: *const timespec,
2600 __sigmask: *const __sigset_t,
2601 ) -> ::std::os::raw::c_int;
2602}
2603pub type blksize_t = __blksize_t;
2604pub type blkcnt_t = __blkcnt_t;
2605pub type fsblkcnt_t = __fsblkcnt_t;
2606pub type fsfilcnt_t = __fsfilcnt_t;
2607#[repr(C)]
2608#[derive(Debug, Copy, Clone)]
2609pub struct __pthread_rwlock_arch_t {
2610 pub __readers: ::std::os::raw::c_uint,
2611 pub __writers: ::std::os::raw::c_uint,
2612 pub __wrphase_futex: ::std::os::raw::c_uint,
2613 pub __writers_futex: ::std::os::raw::c_uint,
2614 pub __pad3: ::std::os::raw::c_uint,
2615 pub __pad4: ::std::os::raw::c_uint,
2616 pub __cur_writer: ::std::os::raw::c_int,
2617 pub __shared: ::std::os::raw::c_int,
2618 pub __rwelision: ::std::os::raw::c_schar,
2619 pub __pad1: [::std::os::raw::c_uchar; 7usize],
2620 pub __pad2: ::std::os::raw::c_ulong,
2621 pub __flags: ::std::os::raw::c_uint,
2622}
2623#[test]
2624fn bindgen_test_layout___pthread_rwlock_arch_t() {
2625 assert_eq!(
2626 ::std::mem::size_of::<__pthread_rwlock_arch_t>(),
2627 56usize,
2628 concat!("Size of: ", stringify!(__pthread_rwlock_arch_t))
2629 );
2630 assert_eq!(
2631 ::std::mem::align_of::<__pthread_rwlock_arch_t>(),
2632 8usize,
2633 concat!("Alignment of ", stringify!(__pthread_rwlock_arch_t))
2634 );
2635 assert_eq!(
2636 unsafe {
2637 &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__readers as *const _ as usize
2638 },
2639 0usize,
2640 concat!(
2641 "Offset of field: ",
2642 stringify!(__pthread_rwlock_arch_t),
2643 "::",
2644 stringify!(__readers)
2645 )
2646 );
2647 assert_eq!(
2648 unsafe {
2649 &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__writers as *const _ as usize
2650 },
2651 4usize,
2652 concat!(
2653 "Offset of field: ",
2654 stringify!(__pthread_rwlock_arch_t),
2655 "::",
2656 stringify!(__writers)
2657 )
2658 );
2659 assert_eq!(
2660 unsafe {
2661 &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__wrphase_futex as *const _ as usize
2662 },
2663 8usize,
2664 concat!(
2665 "Offset of field: ",
2666 stringify!(__pthread_rwlock_arch_t),
2667 "::",
2668 stringify!(__wrphase_futex)
2669 )
2670 );
2671 assert_eq!(
2672 unsafe {
2673 &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__writers_futex as *const _ as usize
2674 },
2675 12usize,
2676 concat!(
2677 "Offset of field: ",
2678 stringify!(__pthread_rwlock_arch_t),
2679 "::",
2680 stringify!(__writers_futex)
2681 )
2682 );
2683 assert_eq!(
2684 unsafe { &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__pad3 as *const _ as usize },
2685 16usize,
2686 concat!(
2687 "Offset of field: ",
2688 stringify!(__pthread_rwlock_arch_t),
2689 "::",
2690 stringify!(__pad3)
2691 )
2692 );
2693 assert_eq!(
2694 unsafe { &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__pad4 as *const _ as usize },
2695 20usize,
2696 concat!(
2697 "Offset of field: ",
2698 stringify!(__pthread_rwlock_arch_t),
2699 "::",
2700 stringify!(__pad4)
2701 )
2702 );
2703 assert_eq!(
2704 unsafe {
2705 &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__cur_writer as *const _ as usize
2706 },
2707 24usize,
2708 concat!(
2709 "Offset of field: ",
2710 stringify!(__pthread_rwlock_arch_t),
2711 "::",
2712 stringify!(__cur_writer)
2713 )
2714 );
2715 assert_eq!(
2716 unsafe {
2717 &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__shared as *const _ as usize
2718 },
2719 28usize,
2720 concat!(
2721 "Offset of field: ",
2722 stringify!(__pthread_rwlock_arch_t),
2723 "::",
2724 stringify!(__shared)
2725 )
2726 );
2727 assert_eq!(
2728 unsafe {
2729 &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__rwelision as *const _ as usize
2730 },
2731 32usize,
2732 concat!(
2733 "Offset of field: ",
2734 stringify!(__pthread_rwlock_arch_t),
2735 "::",
2736 stringify!(__rwelision)
2737 )
2738 );
2739 assert_eq!(
2740 unsafe { &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__pad1 as *const _ as usize },
2741 33usize,
2742 concat!(
2743 "Offset of field: ",
2744 stringify!(__pthread_rwlock_arch_t),
2745 "::",
2746 stringify!(__pad1)
2747 )
2748 );
2749 assert_eq!(
2750 unsafe { &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__pad2 as *const _ as usize },
2751 40usize,
2752 concat!(
2753 "Offset of field: ",
2754 stringify!(__pthread_rwlock_arch_t),
2755 "::",
2756 stringify!(__pad2)
2757 )
2758 );
2759 assert_eq!(
2760 unsafe { &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__flags as *const _ as usize },
2761 48usize,
2762 concat!(
2763 "Offset of field: ",
2764 stringify!(__pthread_rwlock_arch_t),
2765 "::",
2766 stringify!(__flags)
2767 )
2768 );
2769}
2770#[repr(C)]
2771#[derive(Debug, Copy, Clone)]
2772pub struct __pthread_internal_list {
2773 pub __prev: *mut __pthread_internal_list,
2774 pub __next: *mut __pthread_internal_list,
2775}
2776#[test]
2777fn bindgen_test_layout___pthread_internal_list() {
2778 assert_eq!(
2779 ::std::mem::size_of::<__pthread_internal_list>(),
2780 16usize,
2781 concat!("Size of: ", stringify!(__pthread_internal_list))
2782 );
2783 assert_eq!(
2784 ::std::mem::align_of::<__pthread_internal_list>(),
2785 8usize,
2786 concat!("Alignment of ", stringify!(__pthread_internal_list))
2787 );
2788 assert_eq!(
2789 unsafe { &(*(::std::ptr::null::<__pthread_internal_list>())).__prev as *const _ as usize },
2790 0usize,
2791 concat!(
2792 "Offset of field: ",
2793 stringify!(__pthread_internal_list),
2794 "::",
2795 stringify!(__prev)
2796 )
2797 );
2798 assert_eq!(
2799 unsafe { &(*(::std::ptr::null::<__pthread_internal_list>())).__next as *const _ as usize },
2800 8usize,
2801 concat!(
2802 "Offset of field: ",
2803 stringify!(__pthread_internal_list),
2804 "::",
2805 stringify!(__next)
2806 )
2807 );
2808}
2809pub type __pthread_list_t = __pthread_internal_list;
2810#[repr(C)]
2811#[derive(Debug, Copy, Clone)]
2812pub struct __pthread_mutex_s {
2813 pub __lock: ::std::os::raw::c_int,
2814 pub __count: ::std::os::raw::c_uint,
2815 pub __owner: ::std::os::raw::c_int,
2816 pub __nusers: ::std::os::raw::c_uint,
2817 pub __kind: ::std::os::raw::c_int,
2818 pub __spins: ::std::os::raw::c_short,
2819 pub __elision: ::std::os::raw::c_short,
2820 pub __list: __pthread_list_t,
2821}
2822#[test]
2823fn bindgen_test_layout___pthread_mutex_s() {
2824 assert_eq!(
2825 ::std::mem::size_of::<__pthread_mutex_s>(),
2826 40usize,
2827 concat!("Size of: ", stringify!(__pthread_mutex_s))
2828 );
2829 assert_eq!(
2830 ::std::mem::align_of::<__pthread_mutex_s>(),
2831 8usize,
2832 concat!("Alignment of ", stringify!(__pthread_mutex_s))
2833 );
2834 assert_eq!(
2835 unsafe { &(*(::std::ptr::null::<__pthread_mutex_s>())).__lock as *const _ as usize },
2836 0usize,
2837 concat!(
2838 "Offset of field: ",
2839 stringify!(__pthread_mutex_s),
2840 "::",
2841 stringify!(__lock)
2842 )
2843 );
2844 assert_eq!(
2845 unsafe { &(*(::std::ptr::null::<__pthread_mutex_s>())).__count as *const _ as usize },
2846 4usize,
2847 concat!(
2848 "Offset of field: ",
2849 stringify!(__pthread_mutex_s),
2850 "::",
2851 stringify!(__count)
2852 )
2853 );
2854 assert_eq!(
2855 unsafe { &(*(::std::ptr::null::<__pthread_mutex_s>())).__owner as *const _ as usize },
2856 8usize,
2857 concat!(
2858 "Offset of field: ",
2859 stringify!(__pthread_mutex_s),
2860 "::",
2861 stringify!(__owner)
2862 )
2863 );
2864 assert_eq!(
2865 unsafe { &(*(::std::ptr::null::<__pthread_mutex_s>())).__nusers as *const _ as usize },
2866 12usize,
2867 concat!(
2868 "Offset of field: ",
2869 stringify!(__pthread_mutex_s),
2870 "::",
2871 stringify!(__nusers)
2872 )
2873 );
2874 assert_eq!(
2875 unsafe { &(*(::std::ptr::null::<__pthread_mutex_s>())).__kind as *const _ as usize },
2876 16usize,
2877 concat!(
2878 "Offset of field: ",
2879 stringify!(__pthread_mutex_s),
2880 "::",
2881 stringify!(__kind)
2882 )
2883 );
2884 assert_eq!(
2885 unsafe { &(*(::std::ptr::null::<__pthread_mutex_s>())).__spins as *const _ as usize },
2886 20usize,
2887 concat!(
2888 "Offset of field: ",
2889 stringify!(__pthread_mutex_s),
2890 "::",
2891 stringify!(__spins)
2892 )
2893 );
2894 assert_eq!(
2895 unsafe { &(*(::std::ptr::null::<__pthread_mutex_s>())).__elision as *const _ as usize },
2896 22usize,
2897 concat!(
2898 "Offset of field: ",
2899 stringify!(__pthread_mutex_s),
2900 "::",
2901 stringify!(__elision)
2902 )
2903 );
2904 assert_eq!(
2905 unsafe { &(*(::std::ptr::null::<__pthread_mutex_s>())).__list as *const _ as usize },
2906 24usize,
2907 concat!(
2908 "Offset of field: ",
2909 stringify!(__pthread_mutex_s),
2910 "::",
2911 stringify!(__list)
2912 )
2913 );
2914}
2915#[repr(C)]
2916#[derive(Copy, Clone)]
2917pub struct __pthread_cond_s {
2918 pub __bindgen_anon_1: __pthread_cond_s__bindgen_ty_1,
2919 pub __bindgen_anon_2: __pthread_cond_s__bindgen_ty_2,
2920 pub __g_refs: [::std::os::raw::c_uint; 2usize],
2921 pub __g_size: [::std::os::raw::c_uint; 2usize],
2922 pub __g1_orig_size: ::std::os::raw::c_uint,
2923 pub __wrefs: ::std::os::raw::c_uint,
2924 pub __g_signals: [::std::os::raw::c_uint; 2usize],
2925}
2926#[repr(C)]
2927#[derive(Copy, Clone)]
2928pub union __pthread_cond_s__bindgen_ty_1 {
2929 pub __wseq: ::std::os::raw::c_ulonglong,
2930 pub __wseq32: __pthread_cond_s__bindgen_ty_1__bindgen_ty_1,
2931 _bindgen_union_align: u64,
2932}
2933#[repr(C)]
2934#[derive(Debug, Copy, Clone)]
2935pub struct __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 {
2936 pub __low: ::std::os::raw::c_uint,
2937 pub __high: ::std::os::raw::c_uint,
2938}
2939#[test]
2940fn bindgen_test_layout___pthread_cond_s__bindgen_ty_1__bindgen_ty_1() {
2941 assert_eq!(
2942 ::std::mem::size_of::<__pthread_cond_s__bindgen_ty_1__bindgen_ty_1>(),
2943 8usize,
2944 concat!(
2945 "Size of: ",
2946 stringify!(__pthread_cond_s__bindgen_ty_1__bindgen_ty_1)
2947 )
2948 );
2949 assert_eq!(
2950 ::std::mem::align_of::<__pthread_cond_s__bindgen_ty_1__bindgen_ty_1>(),
2951 4usize,
2952 concat!(
2953 "Alignment of ",
2954 stringify!(__pthread_cond_s__bindgen_ty_1__bindgen_ty_1)
2955 )
2956 );
2957 assert_eq!(
2958 unsafe {
2959 &(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_1__bindgen_ty_1>())).__low
2960 as *const _ as usize
2961 },
2962 0usize,
2963 concat!(
2964 "Offset of field: ",
2965 stringify!(__pthread_cond_s__bindgen_ty_1__bindgen_ty_1),
2966 "::",
2967 stringify!(__low)
2968 )
2969 );
2970 assert_eq!(
2971 unsafe {
2972 &(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_1__bindgen_ty_1>())).__high
2973 as *const _ as usize
2974 },
2975 4usize,
2976 concat!(
2977 "Offset of field: ",
2978 stringify!(__pthread_cond_s__bindgen_ty_1__bindgen_ty_1),
2979 "::",
2980 stringify!(__high)
2981 )
2982 );
2983}
2984#[test]
2985fn bindgen_test_layout___pthread_cond_s__bindgen_ty_1() {
2986 assert_eq!(
2987 ::std::mem::size_of::<__pthread_cond_s__bindgen_ty_1>(),
2988 8usize,
2989 concat!("Size of: ", stringify!(__pthread_cond_s__bindgen_ty_1))
2990 );
2991 assert_eq!(
2992 ::std::mem::align_of::<__pthread_cond_s__bindgen_ty_1>(),
2993 8usize,
2994 concat!("Alignment of ", stringify!(__pthread_cond_s__bindgen_ty_1))
2995 );
2996 assert_eq!(
2997 unsafe {
2998 &(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_1>())).__wseq as *const _ as usize
2999 },
3000 0usize,
3001 concat!(
3002 "Offset of field: ",
3003 stringify!(__pthread_cond_s__bindgen_ty_1),
3004 "::",
3005 stringify!(__wseq)
3006 )
3007 );
3008 assert_eq!(
3009 unsafe {
3010 &(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_1>())).__wseq32 as *const _ as usize
3011 },
3012 0usize,
3013 concat!(
3014 "Offset of field: ",
3015 stringify!(__pthread_cond_s__bindgen_ty_1),
3016 "::",
3017 stringify!(__wseq32)
3018 )
3019 );
3020}
3021#[repr(C)]
3022#[derive(Copy, Clone)]
3023pub union __pthread_cond_s__bindgen_ty_2 {
3024 pub __g1_start: ::std::os::raw::c_ulonglong,
3025 pub __g1_start32: __pthread_cond_s__bindgen_ty_2__bindgen_ty_1,
3026 _bindgen_union_align: u64,
3027}
3028#[repr(C)]
3029#[derive(Debug, Copy, Clone)]
3030pub struct __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 {
3031 pub __low: ::std::os::raw::c_uint,
3032 pub __high: ::std::os::raw::c_uint,
3033}
3034#[test]
3035fn bindgen_test_layout___pthread_cond_s__bindgen_ty_2__bindgen_ty_1() {
3036 assert_eq!(
3037 ::std::mem::size_of::<__pthread_cond_s__bindgen_ty_2__bindgen_ty_1>(),
3038 8usize,
3039 concat!(
3040 "Size of: ",
3041 stringify!(__pthread_cond_s__bindgen_ty_2__bindgen_ty_1)
3042 )
3043 );
3044 assert_eq!(
3045 ::std::mem::align_of::<__pthread_cond_s__bindgen_ty_2__bindgen_ty_1>(),
3046 4usize,
3047 concat!(
3048 "Alignment of ",
3049 stringify!(__pthread_cond_s__bindgen_ty_2__bindgen_ty_1)
3050 )
3051 );
3052 assert_eq!(
3053 unsafe {
3054 &(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_2__bindgen_ty_1>())).__low
3055 as *const _ as usize
3056 },
3057 0usize,
3058 concat!(
3059 "Offset of field: ",
3060 stringify!(__pthread_cond_s__bindgen_ty_2__bindgen_ty_1),
3061 "::",
3062 stringify!(__low)
3063 )
3064 );
3065 assert_eq!(
3066 unsafe {
3067 &(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_2__bindgen_ty_1>())).__high
3068 as *const _ as usize
3069 },
3070 4usize,
3071 concat!(
3072 "Offset of field: ",
3073 stringify!(__pthread_cond_s__bindgen_ty_2__bindgen_ty_1),
3074 "::",
3075 stringify!(__high)
3076 )
3077 );
3078}
3079#[test]
3080fn bindgen_test_layout___pthread_cond_s__bindgen_ty_2() {
3081 assert_eq!(
3082 ::std::mem::size_of::<__pthread_cond_s__bindgen_ty_2>(),
3083 8usize,
3084 concat!("Size of: ", stringify!(__pthread_cond_s__bindgen_ty_2))
3085 );
3086 assert_eq!(
3087 ::std::mem::align_of::<__pthread_cond_s__bindgen_ty_2>(),
3088 8usize,
3089 concat!("Alignment of ", stringify!(__pthread_cond_s__bindgen_ty_2))
3090 );
3091 assert_eq!(
3092 unsafe {
3093 &(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_2>())).__g1_start as *const _
3094 as usize
3095 },
3096 0usize,
3097 concat!(
3098 "Offset of field: ",
3099 stringify!(__pthread_cond_s__bindgen_ty_2),
3100 "::",
3101 stringify!(__g1_start)
3102 )
3103 );
3104 assert_eq!(
3105 unsafe {
3106 &(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_2>())).__g1_start32 as *const _
3107 as usize
3108 },
3109 0usize,
3110 concat!(
3111 "Offset of field: ",
3112 stringify!(__pthread_cond_s__bindgen_ty_2),
3113 "::",
3114 stringify!(__g1_start32)
3115 )
3116 );
3117}
3118#[test]
3119fn bindgen_test_layout___pthread_cond_s() {
3120 assert_eq!(
3121 ::std::mem::size_of::<__pthread_cond_s>(),
3122 48usize,
3123 concat!("Size of: ", stringify!(__pthread_cond_s))
3124 );
3125 assert_eq!(
3126 ::std::mem::align_of::<__pthread_cond_s>(),
3127 8usize,
3128 concat!("Alignment of ", stringify!(__pthread_cond_s))
3129 );
3130 assert_eq!(
3131 unsafe { &(*(::std::ptr::null::<__pthread_cond_s>())).__g_refs as *const _ as usize },
3132 16usize,
3133 concat!(
3134 "Offset of field: ",
3135 stringify!(__pthread_cond_s),
3136 "::",
3137 stringify!(__g_refs)
3138 )
3139 );
3140 assert_eq!(
3141 unsafe { &(*(::std::ptr::null::<__pthread_cond_s>())).__g_size as *const _ as usize },
3142 24usize,
3143 concat!(
3144 "Offset of field: ",
3145 stringify!(__pthread_cond_s),
3146 "::",
3147 stringify!(__g_size)
3148 )
3149 );
3150 assert_eq!(
3151 unsafe { &(*(::std::ptr::null::<__pthread_cond_s>())).__g1_orig_size as *const _ as usize },
3152 32usize,
3153 concat!(
3154 "Offset of field: ",
3155 stringify!(__pthread_cond_s),
3156 "::",
3157 stringify!(__g1_orig_size)
3158 )
3159 );
3160 assert_eq!(
3161 unsafe { &(*(::std::ptr::null::<__pthread_cond_s>())).__wrefs as *const _ as usize },
3162 36usize,
3163 concat!(
3164 "Offset of field: ",
3165 stringify!(__pthread_cond_s),
3166 "::",
3167 stringify!(__wrefs)
3168 )
3169 );
3170 assert_eq!(
3171 unsafe { &(*(::std::ptr::null::<__pthread_cond_s>())).__g_signals as *const _ as usize },
3172 40usize,
3173 concat!(
3174 "Offset of field: ",
3175 stringify!(__pthread_cond_s),
3176 "::",
3177 stringify!(__g_signals)
3178 )
3179 );
3180}
3181pub type pthread_t = ::std::os::raw::c_ulong;
3182#[repr(C)]
3183#[derive(Copy, Clone)]
3184pub union pthread_mutexattr_t {
3185 pub __size: [::std::os::raw::c_char; 4usize],
3186 pub __align: ::std::os::raw::c_int,
3187 _bindgen_union_align: u32,
3188}
3189#[test]
3190fn bindgen_test_layout_pthread_mutexattr_t() {
3191 assert_eq!(
3192 ::std::mem::size_of::<pthread_mutexattr_t>(),
3193 4usize,
3194 concat!("Size of: ", stringify!(pthread_mutexattr_t))
3195 );
3196 assert_eq!(
3197 ::std::mem::align_of::<pthread_mutexattr_t>(),
3198 4usize,
3199 concat!("Alignment of ", stringify!(pthread_mutexattr_t))
3200 );
3201 assert_eq!(
3202 unsafe { &(*(::std::ptr::null::<pthread_mutexattr_t>())).__size as *const _ as usize },
3203 0usize,
3204 concat!(
3205 "Offset of field: ",
3206 stringify!(pthread_mutexattr_t),
3207 "::",
3208 stringify!(__size)
3209 )
3210 );
3211 assert_eq!(
3212 unsafe { &(*(::std::ptr::null::<pthread_mutexattr_t>())).__align as *const _ as usize },
3213 0usize,
3214 concat!(
3215 "Offset of field: ",
3216 stringify!(pthread_mutexattr_t),
3217 "::",
3218 stringify!(__align)
3219 )
3220 );
3221}
3222#[repr(C)]
3223#[derive(Copy, Clone)]
3224pub union pthread_condattr_t {
3225 pub __size: [::std::os::raw::c_char; 4usize],
3226 pub __align: ::std::os::raw::c_int,
3227 _bindgen_union_align: u32,
3228}
3229#[test]
3230fn bindgen_test_layout_pthread_condattr_t() {
3231 assert_eq!(
3232 ::std::mem::size_of::<pthread_condattr_t>(),
3233 4usize,
3234 concat!("Size of: ", stringify!(pthread_condattr_t))
3235 );
3236 assert_eq!(
3237 ::std::mem::align_of::<pthread_condattr_t>(),
3238 4usize,
3239 concat!("Alignment of ", stringify!(pthread_condattr_t))
3240 );
3241 assert_eq!(
3242 unsafe { &(*(::std::ptr::null::<pthread_condattr_t>())).__size as *const _ as usize },
3243 0usize,
3244 concat!(
3245 "Offset of field: ",
3246 stringify!(pthread_condattr_t),
3247 "::",
3248 stringify!(__size)
3249 )
3250 );
3251 assert_eq!(
3252 unsafe { &(*(::std::ptr::null::<pthread_condattr_t>())).__align as *const _ as usize },
3253 0usize,
3254 concat!(
3255 "Offset of field: ",
3256 stringify!(pthread_condattr_t),
3257 "::",
3258 stringify!(__align)
3259 )
3260 );
3261}
3262pub type pthread_key_t = ::std::os::raw::c_uint;
3263pub type pthread_once_t = ::std::os::raw::c_int;
3264#[repr(C)]
3265#[derive(Copy, Clone)]
3266pub union pthread_attr_t {
3267 pub __size: [::std::os::raw::c_char; 56usize],
3268 pub __align: ::std::os::raw::c_long,
3269 _bindgen_union_align: [u64; 7usize],
3270}
3271#[test]
3272fn bindgen_test_layout_pthread_attr_t() {
3273 assert_eq!(
3274 ::std::mem::size_of::<pthread_attr_t>(),
3275 56usize,
3276 concat!("Size of: ", stringify!(pthread_attr_t))
3277 );
3278 assert_eq!(
3279 ::std::mem::align_of::<pthread_attr_t>(),
3280 8usize,
3281 concat!("Alignment of ", stringify!(pthread_attr_t))
3282 );
3283 assert_eq!(
3284 unsafe { &(*(::std::ptr::null::<pthread_attr_t>())).__size as *const _ as usize },
3285 0usize,
3286 concat!(
3287 "Offset of field: ",
3288 stringify!(pthread_attr_t),
3289 "::",
3290 stringify!(__size)
3291 )
3292 );
3293 assert_eq!(
3294 unsafe { &(*(::std::ptr::null::<pthread_attr_t>())).__align as *const _ as usize },
3295 0usize,
3296 concat!(
3297 "Offset of field: ",
3298 stringify!(pthread_attr_t),
3299 "::",
3300 stringify!(__align)
3301 )
3302 );
3303}
3304#[repr(C)]
3305#[derive(Copy, Clone)]
3306pub union pthread_mutex_t {
3307 pub __data: __pthread_mutex_s,
3308 pub __size: [::std::os::raw::c_char; 40usize],
3309 pub __align: ::std::os::raw::c_long,
3310 _bindgen_union_align: [u64; 5usize],
3311}
3312#[test]
3313fn bindgen_test_layout_pthread_mutex_t() {
3314 assert_eq!(
3315 ::std::mem::size_of::<pthread_mutex_t>(),
3316 40usize,
3317 concat!("Size of: ", stringify!(pthread_mutex_t))
3318 );
3319 assert_eq!(
3320 ::std::mem::align_of::<pthread_mutex_t>(),
3321 8usize,
3322 concat!("Alignment of ", stringify!(pthread_mutex_t))
3323 );
3324 assert_eq!(
3325 unsafe { &(*(::std::ptr::null::<pthread_mutex_t>())).__data as *const _ as usize },
3326 0usize,
3327 concat!(
3328 "Offset of field: ",
3329 stringify!(pthread_mutex_t),
3330 "::",
3331 stringify!(__data)
3332 )
3333 );
3334 assert_eq!(
3335 unsafe { &(*(::std::ptr::null::<pthread_mutex_t>())).__size as *const _ as usize },
3336 0usize,
3337 concat!(
3338 "Offset of field: ",
3339 stringify!(pthread_mutex_t),
3340 "::",
3341 stringify!(__size)
3342 )
3343 );
3344 assert_eq!(
3345 unsafe { &(*(::std::ptr::null::<pthread_mutex_t>())).__align as *const _ as usize },
3346 0usize,
3347 concat!(
3348 "Offset of field: ",
3349 stringify!(pthread_mutex_t),
3350 "::",
3351 stringify!(__align)
3352 )
3353 );
3354}
3355#[repr(C)]
3356#[derive(Copy, Clone)]
3357pub union pthread_cond_t {
3358 pub __data: __pthread_cond_s,
3359 pub __size: [::std::os::raw::c_char; 48usize],
3360 pub __align: ::std::os::raw::c_longlong,
3361 _bindgen_union_align: [u64; 6usize],
3362}
3363#[test]
3364fn bindgen_test_layout_pthread_cond_t() {
3365 assert_eq!(
3366 ::std::mem::size_of::<pthread_cond_t>(),
3367 48usize,
3368 concat!("Size of: ", stringify!(pthread_cond_t))
3369 );
3370 assert_eq!(
3371 ::std::mem::align_of::<pthread_cond_t>(),
3372 8usize,
3373 concat!("Alignment of ", stringify!(pthread_cond_t))
3374 );
3375 assert_eq!(
3376 unsafe { &(*(::std::ptr::null::<pthread_cond_t>())).__data as *const _ as usize },
3377 0usize,
3378 concat!(
3379 "Offset of field: ",
3380 stringify!(pthread_cond_t),
3381 "::",
3382 stringify!(__data)
3383 )
3384 );
3385 assert_eq!(
3386 unsafe { &(*(::std::ptr::null::<pthread_cond_t>())).__size as *const _ as usize },
3387 0usize,
3388 concat!(
3389 "Offset of field: ",
3390 stringify!(pthread_cond_t),
3391 "::",
3392 stringify!(__size)
3393 )
3394 );
3395 assert_eq!(
3396 unsafe { &(*(::std::ptr::null::<pthread_cond_t>())).__align as *const _ as usize },
3397 0usize,
3398 concat!(
3399 "Offset of field: ",
3400 stringify!(pthread_cond_t),
3401 "::",
3402 stringify!(__align)
3403 )
3404 );
3405}
3406#[repr(C)]
3407#[derive(Copy, Clone)]
3408pub union pthread_rwlock_t {
3409 pub __data: __pthread_rwlock_arch_t,
3410 pub __size: [::std::os::raw::c_char; 56usize],
3411 pub __align: ::std::os::raw::c_long,
3412 _bindgen_union_align: [u64; 7usize],
3413}
3414#[test]
3415fn bindgen_test_layout_pthread_rwlock_t() {
3416 assert_eq!(
3417 ::std::mem::size_of::<pthread_rwlock_t>(),
3418 56usize,
3419 concat!("Size of: ", stringify!(pthread_rwlock_t))
3420 );
3421 assert_eq!(
3422 ::std::mem::align_of::<pthread_rwlock_t>(),
3423 8usize,
3424 concat!("Alignment of ", stringify!(pthread_rwlock_t))
3425 );
3426 assert_eq!(
3427 unsafe { &(*(::std::ptr::null::<pthread_rwlock_t>())).__data as *const _ as usize },
3428 0usize,
3429 concat!(
3430 "Offset of field: ",
3431 stringify!(pthread_rwlock_t),
3432 "::",
3433 stringify!(__data)
3434 )
3435 );
3436 assert_eq!(
3437 unsafe { &(*(::std::ptr::null::<pthread_rwlock_t>())).__size as *const _ as usize },
3438 0usize,
3439 concat!(
3440 "Offset of field: ",
3441 stringify!(pthread_rwlock_t),
3442 "::",
3443 stringify!(__size)
3444 )
3445 );
3446 assert_eq!(
3447 unsafe { &(*(::std::ptr::null::<pthread_rwlock_t>())).__align as *const _ as usize },
3448 0usize,
3449 concat!(
3450 "Offset of field: ",
3451 stringify!(pthread_rwlock_t),
3452 "::",
3453 stringify!(__align)
3454 )
3455 );
3456}
3457#[repr(C)]
3458#[derive(Copy, Clone)]
3459pub union pthread_rwlockattr_t {
3460 pub __size: [::std::os::raw::c_char; 8usize],
3461 pub __align: ::std::os::raw::c_long,
3462 _bindgen_union_align: u64,
3463}
3464#[test]
3465fn bindgen_test_layout_pthread_rwlockattr_t() {
3466 assert_eq!(
3467 ::std::mem::size_of::<pthread_rwlockattr_t>(),
3468 8usize,
3469 concat!("Size of: ", stringify!(pthread_rwlockattr_t))
3470 );
3471 assert_eq!(
3472 ::std::mem::align_of::<pthread_rwlockattr_t>(),
3473 8usize,
3474 concat!("Alignment of ", stringify!(pthread_rwlockattr_t))
3475 );
3476 assert_eq!(
3477 unsafe { &(*(::std::ptr::null::<pthread_rwlockattr_t>())).__size as *const _ as usize },
3478 0usize,
3479 concat!(
3480 "Offset of field: ",
3481 stringify!(pthread_rwlockattr_t),
3482 "::",
3483 stringify!(__size)
3484 )
3485 );
3486 assert_eq!(
3487 unsafe { &(*(::std::ptr::null::<pthread_rwlockattr_t>())).__align as *const _ as usize },
3488 0usize,
3489 concat!(
3490 "Offset of field: ",
3491 stringify!(pthread_rwlockattr_t),
3492 "::",
3493 stringify!(__align)
3494 )
3495 );
3496}
3497pub type pthread_spinlock_t = ::std::os::raw::c_int;
3498#[repr(C)]
3499#[derive(Copy, Clone)]
3500pub union pthread_barrier_t {
3501 pub __size: [::std::os::raw::c_char; 32usize],
3502 pub __align: ::std::os::raw::c_long,
3503 _bindgen_union_align: [u64; 4usize],
3504}
3505#[test]
3506fn bindgen_test_layout_pthread_barrier_t() {
3507 assert_eq!(
3508 ::std::mem::size_of::<pthread_barrier_t>(),
3509 32usize,
3510 concat!("Size of: ", stringify!(pthread_barrier_t))
3511 );
3512 assert_eq!(
3513 ::std::mem::align_of::<pthread_barrier_t>(),
3514 8usize,
3515 concat!("Alignment of ", stringify!(pthread_barrier_t))
3516 );
3517 assert_eq!(
3518 unsafe { &(*(::std::ptr::null::<pthread_barrier_t>())).__size as *const _ as usize },
3519 0usize,
3520 concat!(
3521 "Offset of field: ",
3522 stringify!(pthread_barrier_t),
3523 "::",
3524 stringify!(__size)
3525 )
3526 );
3527 assert_eq!(
3528 unsafe { &(*(::std::ptr::null::<pthread_barrier_t>())).__align as *const _ as usize },
3529 0usize,
3530 concat!(
3531 "Offset of field: ",
3532 stringify!(pthread_barrier_t),
3533 "::",
3534 stringify!(__align)
3535 )
3536 );
3537}
3538#[repr(C)]
3539#[derive(Copy, Clone)]
3540pub union pthread_barrierattr_t {
3541 pub __size: [::std::os::raw::c_char; 4usize],
3542 pub __align: ::std::os::raw::c_int,
3543 _bindgen_union_align: u32,
3544}
3545#[test]
3546fn bindgen_test_layout_pthread_barrierattr_t() {
3547 assert_eq!(
3548 ::std::mem::size_of::<pthread_barrierattr_t>(),
3549 4usize,
3550 concat!("Size of: ", stringify!(pthread_barrierattr_t))
3551 );
3552 assert_eq!(
3553 ::std::mem::align_of::<pthread_barrierattr_t>(),
3554 4usize,
3555 concat!("Alignment of ", stringify!(pthread_barrierattr_t))
3556 );
3557 assert_eq!(
3558 unsafe { &(*(::std::ptr::null::<pthread_barrierattr_t>())).__size as *const _ as usize },
3559 0usize,
3560 concat!(
3561 "Offset of field: ",
3562 stringify!(pthread_barrierattr_t),
3563 "::",
3564 stringify!(__size)
3565 )
3566 );
3567 assert_eq!(
3568 unsafe { &(*(::std::ptr::null::<pthread_barrierattr_t>())).__align as *const _ as usize },
3569 0usize,
3570 concat!(
3571 "Offset of field: ",
3572 stringify!(pthread_barrierattr_t),
3573 "::",
3574 stringify!(__align)
3575 )
3576 );
3577}
3578pub type sig_atomic_t = __sig_atomic_t;
3579#[repr(C)]
3580#[derive(Copy, Clone)]
3581pub union sigval {
3582 pub sival_int: ::std::os::raw::c_int,
3583 pub sival_ptr: *mut ::std::os::raw::c_void,
3584 _bindgen_union_align: u64,
3585}
3586#[test]
3587fn bindgen_test_layout_sigval() {
3588 assert_eq!(
3589 ::std::mem::size_of::<sigval>(),
3590 8usize,
3591 concat!("Size of: ", stringify!(sigval))
3592 );
3593 assert_eq!(
3594 ::std::mem::align_of::<sigval>(),
3595 8usize,
3596 concat!("Alignment of ", stringify!(sigval))
3597 );
3598 assert_eq!(
3599 unsafe { &(*(::std::ptr::null::<sigval>())).sival_int as *const _ as usize },
3600 0usize,
3601 concat!(
3602 "Offset of field: ",
3603 stringify!(sigval),
3604 "::",
3605 stringify!(sival_int)
3606 )
3607 );
3608 assert_eq!(
3609 unsafe { &(*(::std::ptr::null::<sigval>())).sival_ptr as *const _ as usize },
3610 0usize,
3611 concat!(
3612 "Offset of field: ",
3613 stringify!(sigval),
3614 "::",
3615 stringify!(sival_ptr)
3616 )
3617 );
3618}
3619pub type __sigval_t = sigval;
3620#[repr(C)]
3621#[derive(Copy, Clone)]
3622pub struct siginfo_t {
3623 pub si_signo: ::std::os::raw::c_int,
3624 pub si_errno: ::std::os::raw::c_int,
3625 pub si_code: ::std::os::raw::c_int,
3626 pub __pad0: ::std::os::raw::c_int,
3627 pub _sifields: siginfo_t__bindgen_ty_1,
3628}
3629#[repr(C)]
3630#[derive(Copy, Clone)]
3631pub union siginfo_t__bindgen_ty_1 {
3632 pub _pad: [::std::os::raw::c_int; 28usize],
3633 pub _kill: siginfo_t__bindgen_ty_1__bindgen_ty_1,
3634 pub _timer: siginfo_t__bindgen_ty_1__bindgen_ty_2,
3635 pub _rt: siginfo_t__bindgen_ty_1__bindgen_ty_3,
3636 pub _sigchld: siginfo_t__bindgen_ty_1__bindgen_ty_4,
3637 pub _sigfault: siginfo_t__bindgen_ty_1__bindgen_ty_5,
3638 pub _sigpoll: siginfo_t__bindgen_ty_1__bindgen_ty_6,
3639 pub _sigsys: siginfo_t__bindgen_ty_1__bindgen_ty_7,
3640 _bindgen_union_align: [u64; 14usize],
3641}
3642#[repr(C)]
3643#[derive(Debug, Copy, Clone)]
3644pub struct siginfo_t__bindgen_ty_1__bindgen_ty_1 {
3645 pub si_pid: __pid_t,
3646 pub si_uid: __uid_t,
3647}
3648#[test]
3649fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_1() {
3650 assert_eq!(
3651 ::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_1>(),
3652 8usize,
3653 concat!(
3654 "Size of: ",
3655 stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_1)
3656 )
3657 );
3658 assert_eq!(
3659 ::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_1>(),
3660 4usize,
3661 concat!(
3662 "Alignment of ",
3663 stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_1)
3664 )
3665 );
3666 assert_eq!(
3667 unsafe {
3668 &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_1>())).si_pid as *const _
3669 as usize
3670 },
3671 0usize,
3672 concat!(
3673 "Offset of field: ",
3674 stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_1),
3675 "::",
3676 stringify!(si_pid)
3677 )
3678 );
3679 assert_eq!(
3680 unsafe {
3681 &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_1>())).si_uid as *const _
3682 as usize
3683 },
3684 4usize,
3685 concat!(
3686 "Offset of field: ",
3687 stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_1),
3688 "::",
3689 stringify!(si_uid)
3690 )
3691 );
3692}
3693#[repr(C)]
3694#[derive(Copy, Clone)]
3695pub struct siginfo_t__bindgen_ty_1__bindgen_ty_2 {
3696 pub si_tid: ::std::os::raw::c_int,
3697 pub si_overrun: ::std::os::raw::c_int,
3698 pub si_sigval: __sigval_t,
3699}
3700#[test]
3701fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_2() {
3702 assert_eq!(
3703 ::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_2>(),
3704 16usize,
3705 concat!(
3706 "Size of: ",
3707 stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_2)
3708 )
3709 );
3710 assert_eq!(
3711 ::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_2>(),
3712 8usize,
3713 concat!(
3714 "Alignment of ",
3715 stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_2)
3716 )
3717 );
3718 assert_eq!(
3719 unsafe {
3720 &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_2>())).si_tid as *const _
3721 as usize
3722 },
3723 0usize,
3724 concat!(
3725 "Offset of field: ",
3726 stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_2),
3727 "::",
3728 stringify!(si_tid)
3729 )
3730 );
3731 assert_eq!(
3732 unsafe {
3733 &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_2>())).si_overrun as *const _
3734 as usize
3735 },
3736 4usize,
3737 concat!(
3738 "Offset of field: ",
3739 stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_2),
3740 "::",
3741 stringify!(si_overrun)
3742 )
3743 );
3744 assert_eq!(
3745 unsafe {
3746 &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_2>())).si_sigval as *const _
3747 as usize
3748 },
3749 8usize,
3750 concat!(
3751 "Offset of field: ",
3752 stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_2),
3753 "::",
3754 stringify!(si_sigval)
3755 )
3756 );
3757}
3758#[repr(C)]
3759#[derive(Copy, Clone)]
3760pub struct siginfo_t__bindgen_ty_1__bindgen_ty_3 {
3761 pub si_pid: __pid_t,
3762 pub si_uid: __uid_t,
3763 pub si_sigval: __sigval_t,
3764}
3765#[test]
3766fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_3() {
3767 assert_eq!(
3768 ::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_3>(),
3769 16usize,
3770 concat!(
3771 "Size of: ",
3772 stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_3)
3773 )
3774 );
3775 assert_eq!(
3776 ::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_3>(),
3777 8usize,
3778 concat!(
3779 "Alignment of ",
3780 stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_3)
3781 )
3782 );
3783 assert_eq!(
3784 unsafe {
3785 &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_3>())).si_pid as *const _
3786 as usize
3787 },
3788 0usize,
3789 concat!(
3790 "Offset of field: ",
3791 stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_3),
3792 "::",
3793 stringify!(si_pid)
3794 )
3795 );
3796 assert_eq!(
3797 unsafe {
3798 &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_3>())).si_uid as *const _
3799 as usize
3800 },
3801 4usize,
3802 concat!(
3803 "Offset of field: ",
3804 stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_3),
3805 "::",
3806 stringify!(si_uid)
3807 )
3808 );
3809 assert_eq!(
3810 unsafe {
3811 &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_3>())).si_sigval as *const _
3812 as usize
3813 },
3814 8usize,
3815 concat!(
3816 "Offset of field: ",
3817 stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_3),
3818 "::",
3819 stringify!(si_sigval)
3820 )
3821 );
3822}
3823#[repr(C)]
3824#[derive(Debug, Copy, Clone)]
3825pub struct siginfo_t__bindgen_ty_1__bindgen_ty_4 {
3826 pub si_pid: __pid_t,
3827 pub si_uid: __uid_t,
3828 pub si_status: ::std::os::raw::c_int,
3829 pub si_utime: __clock_t,
3830 pub si_stime: __clock_t,
3831}
3832#[test]
3833fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_4() {
3834 assert_eq!(
3835 ::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_4>(),
3836 32usize,
3837 concat!(
3838 "Size of: ",
3839 stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_4)
3840 )
3841 );
3842 assert_eq!(
3843 ::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_4>(),
3844 8usize,
3845 concat!(
3846 "Alignment of ",
3847 stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_4)
3848 )
3849 );
3850 assert_eq!(
3851 unsafe {
3852 &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_4>())).si_pid as *const _
3853 as usize
3854 },
3855 0usize,
3856 concat!(
3857 "Offset of field: ",
3858 stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_4),
3859 "::",
3860 stringify!(si_pid)
3861 )
3862 );
3863 assert_eq!(
3864 unsafe {
3865 &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_4>())).si_uid as *const _
3866 as usize
3867 },
3868 4usize,
3869 concat!(
3870 "Offset of field: ",
3871 stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_4),
3872 "::",
3873 stringify!(si_uid)
3874 )
3875 );
3876 assert_eq!(
3877 unsafe {
3878 &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_4>())).si_status as *const _
3879 as usize
3880 },
3881 8usize,
3882 concat!(
3883 "Offset of field: ",
3884 stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_4),
3885 "::",
3886 stringify!(si_status)
3887 )
3888 );
3889 assert_eq!(
3890 unsafe {
3891 &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_4>())).si_utime as *const _
3892 as usize
3893 },
3894 16usize,
3895 concat!(
3896 "Offset of field: ",
3897 stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_4),
3898 "::",
3899 stringify!(si_utime)
3900 )
3901 );
3902 assert_eq!(
3903 unsafe {
3904 &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_4>())).si_stime as *const _
3905 as usize
3906 },
3907 24usize,
3908 concat!(
3909 "Offset of field: ",
3910 stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_4),
3911 "::",
3912 stringify!(si_stime)
3913 )
3914 );
3915}
3916#[repr(C)]
3917#[derive(Copy, Clone)]
3918pub struct siginfo_t__bindgen_ty_1__bindgen_ty_5 {
3919 pub si_addr: *mut ::std::os::raw::c_void,
3920 pub si_addr_lsb: ::std::os::raw::c_short,
3921 pub _bounds: siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1,
3922}
3923#[repr(C)]
3924#[derive(Copy, Clone)]
3925pub union siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1 {
3926 pub _addr_bnd: siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1,
3927 pub _pkey: __uint32_t,
3928 _bindgen_union_align: [u64; 2usize],
3929}
3930#[repr(C)]
3931#[derive(Debug, Copy, Clone)]
3932pub struct siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1 {
3933 pub _lower: *mut ::std::os::raw::c_void,
3934 pub _upper: *mut ::std::os::raw::c_void,
3935}
3936#[test]
3937fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1() {
3938 assert_eq!(
3939 ::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1>(),
3940 16usize,
3941 concat!(
3942 "Size of: ",
3943 stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1)
3944 )
3945 );
3946 assert_eq!(
3947 ::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1>(),
3948 8usize,
3949 concat!(
3950 "Alignment of ",
3951 stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1)
3952 )
3953 );
3954 assert_eq!(
3955 unsafe {
3956 &(*(::std::ptr::null::<
3957 siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1,
3958 >()))
3959 ._lower as *const _ as usize
3960 },
3961 0usize,
3962 concat!(
3963 "Offset of field: ",
3964 stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1),
3965 "::",
3966 stringify!(_lower)
3967 )
3968 );
3969 assert_eq!(
3970 unsafe {
3971 &(*(::std::ptr::null::<
3972 siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1,
3973 >()))
3974 ._upper as *const _ as usize
3975 },
3976 8usize,
3977 concat!(
3978 "Offset of field: ",
3979 stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1),
3980 "::",
3981 stringify!(_upper)
3982 )
3983 );
3984}
3985#[test]
3986fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1() {
3987 assert_eq!(
3988 ::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1>(),
3989 16usize,
3990 concat!(
3991 "Size of: ",
3992 stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1)
3993 )
3994 );
3995 assert_eq!(
3996 ::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1>(),
3997 8usize,
3998 concat!(
3999 "Alignment of ",
4000 stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1)
4001 )
4002 );
4003 assert_eq!(
4004 unsafe {
4005 &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1>()))
4006 ._addr_bnd as *const _ as usize
4007 },
4008 0usize,
4009 concat!(
4010 "Offset of field: ",
4011 stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1),
4012 "::",
4013 stringify!(_addr_bnd)
4014 )
4015 );
4016 assert_eq!(
4017 unsafe {
4018 &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1>()))._pkey
4019 as *const _ as usize
4020 },
4021 0usize,
4022 concat!(
4023 "Offset of field: ",
4024 stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1),
4025 "::",
4026 stringify!(_pkey)
4027 )
4028 );
4029}
4030#[test]
4031fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_5() {
4032 assert_eq!(
4033 ::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_5>(),
4034 32usize,
4035 concat!(
4036 "Size of: ",
4037 stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5)
4038 )
4039 );
4040 assert_eq!(
4041 ::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_5>(),
4042 8usize,
4043 concat!(
4044 "Alignment of ",
4045 stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5)
4046 )
4047 );
4048 assert_eq!(
4049 unsafe {
4050 &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_5>())).si_addr as *const _
4051 as usize
4052 },
4053 0usize,
4054 concat!(
4055 "Offset of field: ",
4056 stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5),
4057 "::",
4058 stringify!(si_addr)
4059 )
4060 );
4061 assert_eq!(
4062 unsafe {
4063 &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_5>())).si_addr_lsb
4064 as *const _ as usize
4065 },
4066 8usize,
4067 concat!(
4068 "Offset of field: ",
4069 stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5),
4070 "::",
4071 stringify!(si_addr_lsb)
4072 )
4073 );
4074 assert_eq!(
4075 unsafe {
4076 &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_5>()))._bounds as *const _
4077 as usize
4078 },
4079 16usize,
4080 concat!(
4081 "Offset of field: ",
4082 stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5),
4083 "::",
4084 stringify!(_bounds)
4085 )
4086 );
4087}
4088#[repr(C)]
4089#[derive(Debug, Copy, Clone)]
4090pub struct siginfo_t__bindgen_ty_1__bindgen_ty_6 {
4091 pub si_band: ::std::os::raw::c_long,
4092 pub si_fd: ::std::os::raw::c_int,
4093}
4094#[test]
4095fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_6() {
4096 assert_eq!(
4097 ::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_6>(),
4098 16usize,
4099 concat!(
4100 "Size of: ",
4101 stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_6)
4102 )
4103 );
4104 assert_eq!(
4105 ::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_6>(),
4106 8usize,
4107 concat!(
4108 "Alignment of ",
4109 stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_6)
4110 )
4111 );
4112 assert_eq!(
4113 unsafe {
4114 &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_6>())).si_band as *const _
4115 as usize
4116 },
4117 0usize,
4118 concat!(
4119 "Offset of field: ",
4120 stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_6),
4121 "::",
4122 stringify!(si_band)
4123 )
4124 );
4125 assert_eq!(
4126 unsafe {
4127 &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_6>())).si_fd as *const _
4128 as usize
4129 },
4130 8usize,
4131 concat!(
4132 "Offset of field: ",
4133 stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_6),
4134 "::",
4135 stringify!(si_fd)
4136 )
4137 );
4138}
4139#[repr(C)]
4140#[derive(Debug, Copy, Clone)]
4141pub struct siginfo_t__bindgen_ty_1__bindgen_ty_7 {
4142 pub _call_addr: *mut ::std::os::raw::c_void,
4143 pub _syscall: ::std::os::raw::c_int,
4144 pub _arch: ::std::os::raw::c_uint,
4145}
4146#[test]
4147fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_7() {
4148 assert_eq!(
4149 ::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_7>(),
4150 16usize,
4151 concat!(
4152 "Size of: ",
4153 stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_7)
4154 )
4155 );
4156 assert_eq!(
4157 ::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_7>(),
4158 8usize,
4159 concat!(
4160 "Alignment of ",
4161 stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_7)
4162 )
4163 );
4164 assert_eq!(
4165 unsafe {
4166 &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_7>()))._call_addr as *const _
4167 as usize
4168 },
4169 0usize,
4170 concat!(
4171 "Offset of field: ",
4172 stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_7),
4173 "::",
4174 stringify!(_call_addr)
4175 )
4176 );
4177 assert_eq!(
4178 unsafe {
4179 &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_7>()))._syscall as *const _
4180 as usize
4181 },
4182 8usize,
4183 concat!(
4184 "Offset of field: ",
4185 stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_7),
4186 "::",
4187 stringify!(_syscall)
4188 )
4189 );
4190 assert_eq!(
4191 unsafe {
4192 &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_7>()))._arch as *const _
4193 as usize
4194 },
4195 12usize,
4196 concat!(
4197 "Offset of field: ",
4198 stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_7),
4199 "::",
4200 stringify!(_arch)
4201 )
4202 );
4203}
4204#[test]
4205fn bindgen_test_layout_siginfo_t__bindgen_ty_1() {
4206 assert_eq!(
4207 ::std::mem::size_of::<siginfo_t__bindgen_ty_1>(),
4208 112usize,
4209 concat!("Size of: ", stringify!(siginfo_t__bindgen_ty_1))
4210 );
4211 assert_eq!(
4212 ::std::mem::align_of::<siginfo_t__bindgen_ty_1>(),
4213 8usize,
4214 concat!("Alignment of ", stringify!(siginfo_t__bindgen_ty_1))
4215 );
4216 assert_eq!(
4217 unsafe { &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1>()))._pad as *const _ as usize },
4218 0usize,
4219 concat!(
4220 "Offset of field: ",
4221 stringify!(siginfo_t__bindgen_ty_1),
4222 "::",
4223 stringify!(_pad)
4224 )
4225 );
4226 assert_eq!(
4227 unsafe { &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1>()))._kill as *const _ as usize },
4228 0usize,
4229 concat!(
4230 "Offset of field: ",
4231 stringify!(siginfo_t__bindgen_ty_1),
4232 "::",
4233 stringify!(_kill)
4234 )
4235 );
4236 assert_eq!(
4237 unsafe { &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1>()))._timer as *const _ as usize },
4238 0usize,
4239 concat!(
4240 "Offset of field: ",
4241 stringify!(siginfo_t__bindgen_ty_1),
4242 "::",
4243 stringify!(_timer)
4244 )
4245 );
4246 assert_eq!(
4247 unsafe { &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1>()))._rt as *const _ as usize },
4248 0usize,
4249 concat!(
4250 "Offset of field: ",
4251 stringify!(siginfo_t__bindgen_ty_1),
4252 "::",
4253 stringify!(_rt)
4254 )
4255 );
4256 assert_eq!(
4257 unsafe {
4258 &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1>()))._sigchld as *const _ as usize
4259 },
4260 0usize,
4261 concat!(
4262 "Offset of field: ",
4263 stringify!(siginfo_t__bindgen_ty_1),
4264 "::",
4265 stringify!(_sigchld)
4266 )
4267 );
4268 assert_eq!(
4269 unsafe {
4270 &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1>()))._sigfault as *const _ as usize
4271 },
4272 0usize,
4273 concat!(
4274 "Offset of field: ",
4275 stringify!(siginfo_t__bindgen_ty_1),
4276 "::",
4277 stringify!(_sigfault)
4278 )
4279 );
4280 assert_eq!(
4281 unsafe {
4282 &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1>()))._sigpoll as *const _ as usize
4283 },
4284 0usize,
4285 concat!(
4286 "Offset of field: ",
4287 stringify!(siginfo_t__bindgen_ty_1),
4288 "::",
4289 stringify!(_sigpoll)
4290 )
4291 );
4292 assert_eq!(
4293 unsafe { &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1>()))._sigsys as *const _ as usize },
4294 0usize,
4295 concat!(
4296 "Offset of field: ",
4297 stringify!(siginfo_t__bindgen_ty_1),
4298 "::",
4299 stringify!(_sigsys)
4300 )
4301 );
4302}
4303#[test]
4304fn bindgen_test_layout_siginfo_t() {
4305 assert_eq!(
4306 ::std::mem::size_of::<siginfo_t>(),
4307 128usize,
4308 concat!("Size of: ", stringify!(siginfo_t))
4309 );
4310 assert_eq!(
4311 ::std::mem::align_of::<siginfo_t>(),
4312 8usize,
4313 concat!("Alignment of ", stringify!(siginfo_t))
4314 );
4315 assert_eq!(
4316 unsafe { &(*(::std::ptr::null::<siginfo_t>())).si_signo as *const _ as usize },
4317 0usize,
4318 concat!(
4319 "Offset of field: ",
4320 stringify!(siginfo_t),
4321 "::",
4322 stringify!(si_signo)
4323 )
4324 );
4325 assert_eq!(
4326 unsafe { &(*(::std::ptr::null::<siginfo_t>())).si_errno as *const _ as usize },
4327 4usize,
4328 concat!(
4329 "Offset of field: ",
4330 stringify!(siginfo_t),
4331 "::",
4332 stringify!(si_errno)
4333 )
4334 );
4335 assert_eq!(
4336 unsafe { &(*(::std::ptr::null::<siginfo_t>())).si_code as *const _ as usize },
4337 8usize,
4338 concat!(
4339 "Offset of field: ",
4340 stringify!(siginfo_t),
4341 "::",
4342 stringify!(si_code)
4343 )
4344 );
4345 assert_eq!(
4346 unsafe { &(*(::std::ptr::null::<siginfo_t>())).__pad0 as *const _ as usize },
4347 12usize,
4348 concat!(
4349 "Offset of field: ",
4350 stringify!(siginfo_t),
4351 "::",
4352 stringify!(__pad0)
4353 )
4354 );
4355 assert_eq!(
4356 unsafe { &(*(::std::ptr::null::<siginfo_t>()))._sifields as *const _ as usize },
4357 16usize,
4358 concat!(
4359 "Offset of field: ",
4360 stringify!(siginfo_t),
4361 "::",
4362 stringify!(_sifields)
4363 )
4364 );
4365}
4366pub const SI_ASYNCNL: _bindgen_ty_2 = -60;
4367pub const SI_DETHREAD: _bindgen_ty_2 = -7;
4368pub const SI_TKILL: _bindgen_ty_2 = -6;
4369pub const SI_SIGIO: _bindgen_ty_2 = -5;
4370pub const SI_ASYNCIO: _bindgen_ty_2 = -4;
4371pub const SI_MESGQ: _bindgen_ty_2 = -3;
4372pub const SI_TIMER: _bindgen_ty_2 = -2;
4373pub const SI_QUEUE: _bindgen_ty_2 = -1;
4374pub const SI_USER: _bindgen_ty_2 = 0;
4375pub const SI_KERNEL: _bindgen_ty_2 = 128;
4376pub type _bindgen_ty_2 = i32;
4377pub const ILL_ILLOPC: _bindgen_ty_3 = 1;
4378pub const ILL_ILLOPN: _bindgen_ty_3 = 2;
4379pub const ILL_ILLADR: _bindgen_ty_3 = 3;
4380pub const ILL_ILLTRP: _bindgen_ty_3 = 4;
4381pub const ILL_PRVOPC: _bindgen_ty_3 = 5;
4382pub const ILL_PRVREG: _bindgen_ty_3 = 6;
4383pub const ILL_COPROC: _bindgen_ty_3 = 7;
4384pub const ILL_BADSTK: _bindgen_ty_3 = 8;
4385pub const ILL_BADIADDR: _bindgen_ty_3 = 9;
4386pub type _bindgen_ty_3 = u32;
4387pub const FPE_INTDIV: _bindgen_ty_4 = 1;
4388pub const FPE_INTOVF: _bindgen_ty_4 = 2;
4389pub const FPE_FLTDIV: _bindgen_ty_4 = 3;
4390pub const FPE_FLTOVF: _bindgen_ty_4 = 4;
4391pub const FPE_FLTUND: _bindgen_ty_4 = 5;
4392pub const FPE_FLTRES: _bindgen_ty_4 = 6;
4393pub const FPE_FLTINV: _bindgen_ty_4 = 7;
4394pub const FPE_FLTSUB: _bindgen_ty_4 = 8;
4395pub const FPE_FLTUNK: _bindgen_ty_4 = 14;
4396pub const FPE_CONDTRAP: _bindgen_ty_4 = 15;
4397pub type _bindgen_ty_4 = u32;
4398pub const SEGV_MAPERR: _bindgen_ty_5 = 1;
4399pub const SEGV_ACCERR: _bindgen_ty_5 = 2;
4400pub const SEGV_BNDERR: _bindgen_ty_5 = 3;
4401pub const SEGV_PKUERR: _bindgen_ty_5 = 4;
4402pub const SEGV_ACCADI: _bindgen_ty_5 = 5;
4403pub const SEGV_ADIDERR: _bindgen_ty_5 = 6;
4404pub const SEGV_ADIPERR: _bindgen_ty_5 = 7;
4405pub type _bindgen_ty_5 = u32;
4406pub const BUS_ADRALN: _bindgen_ty_6 = 1;
4407pub const BUS_ADRERR: _bindgen_ty_6 = 2;
4408pub const BUS_OBJERR: _bindgen_ty_6 = 3;
4409pub const BUS_MCEERR_AR: _bindgen_ty_6 = 4;
4410pub const BUS_MCEERR_AO: _bindgen_ty_6 = 5;
4411pub type _bindgen_ty_6 = u32;
4412pub const CLD_EXITED: _bindgen_ty_7 = 1;
4413pub const CLD_KILLED: _bindgen_ty_7 = 2;
4414pub const CLD_DUMPED: _bindgen_ty_7 = 3;
4415pub const CLD_TRAPPED: _bindgen_ty_7 = 4;
4416pub const CLD_STOPPED: _bindgen_ty_7 = 5;
4417pub const CLD_CONTINUED: _bindgen_ty_7 = 6;
4418pub type _bindgen_ty_7 = u32;
4419pub const POLL_IN: _bindgen_ty_8 = 1;
4420pub const POLL_OUT: _bindgen_ty_8 = 2;
4421pub const POLL_MSG: _bindgen_ty_8 = 3;
4422pub const POLL_ERR: _bindgen_ty_8 = 4;
4423pub const POLL_PRI: _bindgen_ty_8 = 5;
4424pub const POLL_HUP: _bindgen_ty_8 = 6;
4425pub type _bindgen_ty_8 = u32;
4426pub type sigval_t = __sigval_t;
4427#[repr(C)]
4428#[derive(Copy, Clone)]
4429pub struct sigevent {
4430 pub sigev_value: __sigval_t,
4431 pub sigev_signo: ::std::os::raw::c_int,
4432 pub sigev_notify: ::std::os::raw::c_int,
4433 pub _sigev_un: sigevent__bindgen_ty_1,
4434}
4435#[repr(C)]
4436#[derive(Copy, Clone)]
4437pub union sigevent__bindgen_ty_1 {
4438 pub _pad: [::std::os::raw::c_int; 12usize],
4439 pub _tid: __pid_t,
4440 pub _sigev_thread: sigevent__bindgen_ty_1__bindgen_ty_1,
4441 _bindgen_union_align: [u64; 6usize],
4442}
4443#[repr(C)]
4444#[derive(Debug, Copy, Clone)]
4445pub struct sigevent__bindgen_ty_1__bindgen_ty_1 {
4446 pub _function: ::std::option::Option<unsafe extern "C" fn(arg1: __sigval_t)>,
4447 pub _attribute: *mut pthread_attr_t,
4448}
4449#[test]
4450fn bindgen_test_layout_sigevent__bindgen_ty_1__bindgen_ty_1() {
4451 assert_eq!(
4452 ::std::mem::size_of::<sigevent__bindgen_ty_1__bindgen_ty_1>(),
4453 16usize,
4454 concat!(
4455 "Size of: ",
4456 stringify!(sigevent__bindgen_ty_1__bindgen_ty_1)
4457 )
4458 );
4459 assert_eq!(
4460 ::std::mem::align_of::<sigevent__bindgen_ty_1__bindgen_ty_1>(),
4461 8usize,
4462 concat!(
4463 "Alignment of ",
4464 stringify!(sigevent__bindgen_ty_1__bindgen_ty_1)
4465 )
4466 );
4467 assert_eq!(
4468 unsafe {
4469 &(*(::std::ptr::null::<sigevent__bindgen_ty_1__bindgen_ty_1>()))._function as *const _
4470 as usize
4471 },
4472 0usize,
4473 concat!(
4474 "Offset of field: ",
4475 stringify!(sigevent__bindgen_ty_1__bindgen_ty_1),
4476 "::",
4477 stringify!(_function)
4478 )
4479 );
4480 assert_eq!(
4481 unsafe {
4482 &(*(::std::ptr::null::<sigevent__bindgen_ty_1__bindgen_ty_1>()))._attribute as *const _
4483 as usize
4484 },
4485 8usize,
4486 concat!(
4487 "Offset of field: ",
4488 stringify!(sigevent__bindgen_ty_1__bindgen_ty_1),
4489 "::",
4490 stringify!(_attribute)
4491 )
4492 );
4493}
4494#[test]
4495fn bindgen_test_layout_sigevent__bindgen_ty_1() {
4496 assert_eq!(
4497 ::std::mem::size_of::<sigevent__bindgen_ty_1>(),
4498 48usize,
4499 concat!("Size of: ", stringify!(sigevent__bindgen_ty_1))
4500 );
4501 assert_eq!(
4502 ::std::mem::align_of::<sigevent__bindgen_ty_1>(),
4503 8usize,
4504 concat!("Alignment of ", stringify!(sigevent__bindgen_ty_1))
4505 );
4506 assert_eq!(
4507 unsafe { &(*(::std::ptr::null::<sigevent__bindgen_ty_1>()))._pad as *const _ as usize },
4508 0usize,
4509 concat!(
4510 "Offset of field: ",
4511 stringify!(sigevent__bindgen_ty_1),
4512 "::",
4513 stringify!(_pad)
4514 )
4515 );
4516 assert_eq!(
4517 unsafe { &(*(::std::ptr::null::<sigevent__bindgen_ty_1>()))._tid as *const _ as usize },
4518 0usize,
4519 concat!(
4520 "Offset of field: ",
4521 stringify!(sigevent__bindgen_ty_1),
4522 "::",
4523 stringify!(_tid)
4524 )
4525 );
4526 assert_eq!(
4527 unsafe {
4528 &(*(::std::ptr::null::<sigevent__bindgen_ty_1>()))._sigev_thread as *const _ as usize
4529 },
4530 0usize,
4531 concat!(
4532 "Offset of field: ",
4533 stringify!(sigevent__bindgen_ty_1),
4534 "::",
4535 stringify!(_sigev_thread)
4536 )
4537 );
4538}
4539#[test]
4540fn bindgen_test_layout_sigevent() {
4541 assert_eq!(
4542 ::std::mem::size_of::<sigevent>(),
4543 64usize,
4544 concat!("Size of: ", stringify!(sigevent))
4545 );
4546 assert_eq!(
4547 ::std::mem::align_of::<sigevent>(),
4548 8usize,
4549 concat!("Alignment of ", stringify!(sigevent))
4550 );
4551 assert_eq!(
4552 unsafe { &(*(::std::ptr::null::<sigevent>())).sigev_value as *const _ as usize },
4553 0usize,
4554 concat!(
4555 "Offset of field: ",
4556 stringify!(sigevent),
4557 "::",
4558 stringify!(sigev_value)
4559 )
4560 );
4561 assert_eq!(
4562 unsafe { &(*(::std::ptr::null::<sigevent>())).sigev_signo as *const _ as usize },
4563 8usize,
4564 concat!(
4565 "Offset of field: ",
4566 stringify!(sigevent),
4567 "::",
4568 stringify!(sigev_signo)
4569 )
4570 );
4571 assert_eq!(
4572 unsafe { &(*(::std::ptr::null::<sigevent>())).sigev_notify as *const _ as usize },
4573 12usize,
4574 concat!(
4575 "Offset of field: ",
4576 stringify!(sigevent),
4577 "::",
4578 stringify!(sigev_notify)
4579 )
4580 );
4581 assert_eq!(
4582 unsafe { &(*(::std::ptr::null::<sigevent>()))._sigev_un as *const _ as usize },
4583 16usize,
4584 concat!(
4585 "Offset of field: ",
4586 stringify!(sigevent),
4587 "::",
4588 stringify!(_sigev_un)
4589 )
4590 );
4591}
4592pub type sigevent_t = sigevent;
4593pub const SIGEV_SIGNAL: _bindgen_ty_9 = 0;
4594pub const SIGEV_NONE: _bindgen_ty_9 = 1;
4595pub const SIGEV_THREAD: _bindgen_ty_9 = 2;
4596pub const SIGEV_THREAD_ID: _bindgen_ty_9 = 4;
4597pub type _bindgen_ty_9 = u32;
4598pub type __sighandler_t = ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>;
4599extern "C" {
4600 pub fn __sysv_signal(__sig: ::std::os::raw::c_int, __handler: __sighandler_t)
4601 -> __sighandler_t;
4602}
4603extern "C" {
4604 pub fn signal(__sig: ::std::os::raw::c_int, __handler: __sighandler_t) -> __sighandler_t;
4605}
4606extern "C" {
4607 pub fn kill(__pid: __pid_t, __sig: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4608}
4609extern "C" {
4610 pub fn killpg(__pgrp: __pid_t, __sig: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4611}
4612extern "C" {
4613 pub fn raise(__sig: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4614}
4615extern "C" {
4616 pub fn ssignal(__sig: ::std::os::raw::c_int, __handler: __sighandler_t) -> __sighandler_t;
4617}
4618extern "C" {
4619 pub fn gsignal(__sig: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4620}
4621extern "C" {
4622 pub fn psignal(__sig: ::std::os::raw::c_int, __s: *const ::std::os::raw::c_char);
4623}
4624extern "C" {
4625 pub fn psiginfo(__pinfo: *const siginfo_t, __s: *const ::std::os::raw::c_char);
4626}
4627extern "C" {
4628 pub fn sigblock(__mask: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4629}
4630extern "C" {
4631 pub fn sigsetmask(__mask: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4632}
4633extern "C" {
4634 pub fn siggetmask() -> ::std::os::raw::c_int;
4635}
4636pub type sig_t = __sighandler_t;
4637extern "C" {
4638 pub fn sigemptyset(__set: *mut sigset_t) -> ::std::os::raw::c_int;
4639}
4640extern "C" {
4641 pub fn sigfillset(__set: *mut sigset_t) -> ::std::os::raw::c_int;
4642}
4643extern "C" {
4644 pub fn sigaddset(__set: *mut sigset_t, __signo: ::std::os::raw::c_int)
4645 -> ::std::os::raw::c_int;
4646}
4647extern "C" {
4648 pub fn sigdelset(__set: *mut sigset_t, __signo: ::std::os::raw::c_int)
4649 -> ::std::os::raw::c_int;
4650}
4651extern "C" {
4652 pub fn sigismember(
4653 __set: *const sigset_t,
4654 __signo: ::std::os::raw::c_int,
4655 ) -> ::std::os::raw::c_int;
4656}
4657#[repr(C)]
4658#[derive(Copy, Clone)]
4659pub struct sigaction {
4660 pub __sigaction_handler: sigaction__bindgen_ty_1,
4661 pub sa_mask: __sigset_t,
4662 pub sa_flags: ::std::os::raw::c_int,
4663 pub sa_restorer: ::std::option::Option<unsafe extern "C" fn()>,
4664}
4665#[repr(C)]
4666#[derive(Copy, Clone)]
4667pub union sigaction__bindgen_ty_1 {
4668 pub sa_handler: __sighandler_t,
4669 pub sa_sigaction: ::std::option::Option<
4670 unsafe extern "C" fn(
4671 arg1: ::std::os::raw::c_int,
4672 arg2: *mut siginfo_t,
4673 arg3: *mut ::std::os::raw::c_void,
4674 ),
4675 >,
4676 _bindgen_union_align: u64,
4677}
4678#[test]
4679fn bindgen_test_layout_sigaction__bindgen_ty_1() {
4680 assert_eq!(
4681 ::std::mem::size_of::<sigaction__bindgen_ty_1>(),
4682 8usize,
4683 concat!("Size of: ", stringify!(sigaction__bindgen_ty_1))
4684 );
4685 assert_eq!(
4686 ::std::mem::align_of::<sigaction__bindgen_ty_1>(),
4687 8usize,
4688 concat!("Alignment of ", stringify!(sigaction__bindgen_ty_1))
4689 );
4690 assert_eq!(
4691 unsafe {
4692 &(*(::std::ptr::null::<sigaction__bindgen_ty_1>())).sa_handler as *const _ as usize
4693 },
4694 0usize,
4695 concat!(
4696 "Offset of field: ",
4697 stringify!(sigaction__bindgen_ty_1),
4698 "::",
4699 stringify!(sa_handler)
4700 )
4701 );
4702 assert_eq!(
4703 unsafe {
4704 &(*(::std::ptr::null::<sigaction__bindgen_ty_1>())).sa_sigaction as *const _ as usize
4705 },
4706 0usize,
4707 concat!(
4708 "Offset of field: ",
4709 stringify!(sigaction__bindgen_ty_1),
4710 "::",
4711 stringify!(sa_sigaction)
4712 )
4713 );
4714}
4715#[test]
4716fn bindgen_test_layout_sigaction() {
4717 assert_eq!(
4718 ::std::mem::size_of::<sigaction>(),
4719 152usize,
4720 concat!("Size of: ", stringify!(sigaction))
4721 );
4722 assert_eq!(
4723 ::std::mem::align_of::<sigaction>(),
4724 8usize,
4725 concat!("Alignment of ", stringify!(sigaction))
4726 );
4727 assert_eq!(
4728 unsafe { &(*(::std::ptr::null::<sigaction>())).__sigaction_handler as *const _ as usize },
4729 0usize,
4730 concat!(
4731 "Offset of field: ",
4732 stringify!(sigaction),
4733 "::",
4734 stringify!(__sigaction_handler)
4735 )
4736 );
4737 assert_eq!(
4738 unsafe { &(*(::std::ptr::null::<sigaction>())).sa_mask as *const _ as usize },
4739 8usize,
4740 concat!(
4741 "Offset of field: ",
4742 stringify!(sigaction),
4743 "::",
4744 stringify!(sa_mask)
4745 )
4746 );
4747 assert_eq!(
4748 unsafe { &(*(::std::ptr::null::<sigaction>())).sa_flags as *const _ as usize },
4749 136usize,
4750 concat!(
4751 "Offset of field: ",
4752 stringify!(sigaction),
4753 "::",
4754 stringify!(sa_flags)
4755 )
4756 );
4757 assert_eq!(
4758 unsafe { &(*(::std::ptr::null::<sigaction>())).sa_restorer as *const _ as usize },
4759 144usize,
4760 concat!(
4761 "Offset of field: ",
4762 stringify!(sigaction),
4763 "::",
4764 stringify!(sa_restorer)
4765 )
4766 );
4767}
4768extern "C" {
4769 pub fn sigprocmask(
4770 __how: ::std::os::raw::c_int,
4771 __set: *const sigset_t,
4772 __oset: *mut sigset_t,
4773 ) -> ::std::os::raw::c_int;
4774}
4775extern "C" {
4776 pub fn sigsuspend(__set: *const sigset_t) -> ::std::os::raw::c_int;
4777}
4778extern "C" {
4779 pub fn sigaction(
4780 __sig: ::std::os::raw::c_int,
4781 __act: *const sigaction,
4782 __oact: *mut sigaction,
4783 ) -> ::std::os::raw::c_int;
4784}
4785extern "C" {
4786 pub fn sigpending(__set: *mut sigset_t) -> ::std::os::raw::c_int;
4787}
4788extern "C" {
4789 pub fn sigwait(
4790 __set: *const sigset_t,
4791 __sig: *mut ::std::os::raw::c_int,
4792 ) -> ::std::os::raw::c_int;
4793}
4794extern "C" {
4795 pub fn sigwaitinfo(__set: *const sigset_t, __info: *mut siginfo_t) -> ::std::os::raw::c_int;
4796}
4797extern "C" {
4798 pub fn sigtimedwait(
4799 __set: *const sigset_t,
4800 __info: *mut siginfo_t,
4801 __timeout: *const timespec,
4802 ) -> ::std::os::raw::c_int;
4803}
4804extern "C" {
4805 pub fn sigqueue(
4806 __pid: __pid_t,
4807 __sig: ::std::os::raw::c_int,
4808 __val: sigval,
4809 ) -> ::std::os::raw::c_int;
4810}
4811extern "C" {
4812 pub static mut _sys_siglist: [*const ::std::os::raw::c_char; 65usize];
4813}
4814extern "C" {
4815 pub static mut sys_siglist: [*const ::std::os::raw::c_char; 65usize];
4816}
4817#[repr(C)]
4818#[derive(Debug, Copy, Clone)]
4819pub struct _fpx_sw_bytes {
4820 pub magic1: __uint32_t,
4821 pub extended_size: __uint32_t,
4822 pub xstate_bv: __uint64_t,
4823 pub xstate_size: __uint32_t,
4824 pub __glibc_reserved1: [__uint32_t; 7usize],
4825}
4826#[test]
4827fn bindgen_test_layout__fpx_sw_bytes() {
4828 assert_eq!(
4829 ::std::mem::size_of::<_fpx_sw_bytes>(),
4830 48usize,
4831 concat!("Size of: ", stringify!(_fpx_sw_bytes))
4832 );
4833 assert_eq!(
4834 ::std::mem::align_of::<_fpx_sw_bytes>(),
4835 8usize,
4836 concat!("Alignment of ", stringify!(_fpx_sw_bytes))
4837 );
4838 assert_eq!(
4839 unsafe { &(*(::std::ptr::null::<_fpx_sw_bytes>())).magic1 as *const _ as usize },
4840 0usize,
4841 concat!(
4842 "Offset of field: ",
4843 stringify!(_fpx_sw_bytes),
4844 "::",
4845 stringify!(magic1)
4846 )
4847 );
4848 assert_eq!(
4849 unsafe { &(*(::std::ptr::null::<_fpx_sw_bytes>())).extended_size as *const _ as usize },
4850 4usize,
4851 concat!(
4852 "Offset of field: ",
4853 stringify!(_fpx_sw_bytes),
4854 "::",
4855 stringify!(extended_size)
4856 )
4857 );
4858 assert_eq!(
4859 unsafe { &(*(::std::ptr::null::<_fpx_sw_bytes>())).xstate_bv as *const _ as usize },
4860 8usize,
4861 concat!(
4862 "Offset of field: ",
4863 stringify!(_fpx_sw_bytes),
4864 "::",
4865 stringify!(xstate_bv)
4866 )
4867 );
4868 assert_eq!(
4869 unsafe { &(*(::std::ptr::null::<_fpx_sw_bytes>())).xstate_size as *const _ as usize },
4870 16usize,
4871 concat!(
4872 "Offset of field: ",
4873 stringify!(_fpx_sw_bytes),
4874 "::",
4875 stringify!(xstate_size)
4876 )
4877 );
4878 assert_eq!(
4879 unsafe { &(*(::std::ptr::null::<_fpx_sw_bytes>())).__glibc_reserved1 as *const _ as usize },
4880 20usize,
4881 concat!(
4882 "Offset of field: ",
4883 stringify!(_fpx_sw_bytes),
4884 "::",
4885 stringify!(__glibc_reserved1)
4886 )
4887 );
4888}
4889#[repr(C)]
4890#[derive(Debug, Copy, Clone)]
4891pub struct _fpreg {
4892 pub significand: [::std::os::raw::c_ushort; 4usize],
4893 pub exponent: ::std::os::raw::c_ushort,
4894}
4895#[test]
4896fn bindgen_test_layout__fpreg() {
4897 assert_eq!(
4898 ::std::mem::size_of::<_fpreg>(),
4899 10usize,
4900 concat!("Size of: ", stringify!(_fpreg))
4901 );
4902 assert_eq!(
4903 ::std::mem::align_of::<_fpreg>(),
4904 2usize,
4905 concat!("Alignment of ", stringify!(_fpreg))
4906 );
4907 assert_eq!(
4908 unsafe { &(*(::std::ptr::null::<_fpreg>())).significand as *const _ as usize },
4909 0usize,
4910 concat!(
4911 "Offset of field: ",
4912 stringify!(_fpreg),
4913 "::",
4914 stringify!(significand)
4915 )
4916 );
4917 assert_eq!(
4918 unsafe { &(*(::std::ptr::null::<_fpreg>())).exponent as *const _ as usize },
4919 8usize,
4920 concat!(
4921 "Offset of field: ",
4922 stringify!(_fpreg),
4923 "::",
4924 stringify!(exponent)
4925 )
4926 );
4927}
4928#[repr(C)]
4929#[derive(Debug, Copy, Clone)]
4930pub struct _fpxreg {
4931 pub significand: [::std::os::raw::c_ushort; 4usize],
4932 pub exponent: ::std::os::raw::c_ushort,
4933 pub __glibc_reserved1: [::std::os::raw::c_ushort; 3usize],
4934}
4935#[test]
4936fn bindgen_test_layout__fpxreg() {
4937 assert_eq!(
4938 ::std::mem::size_of::<_fpxreg>(),
4939 16usize,
4940 concat!("Size of: ", stringify!(_fpxreg))
4941 );
4942 assert_eq!(
4943 ::std::mem::align_of::<_fpxreg>(),
4944 2usize,
4945 concat!("Alignment of ", stringify!(_fpxreg))
4946 );
4947 assert_eq!(
4948 unsafe { &(*(::std::ptr::null::<_fpxreg>())).significand as *const _ as usize },
4949 0usize,
4950 concat!(
4951 "Offset of field: ",
4952 stringify!(_fpxreg),
4953 "::",
4954 stringify!(significand)
4955 )
4956 );
4957 assert_eq!(
4958 unsafe { &(*(::std::ptr::null::<_fpxreg>())).exponent as *const _ as usize },
4959 8usize,
4960 concat!(
4961 "Offset of field: ",
4962 stringify!(_fpxreg),
4963 "::",
4964 stringify!(exponent)
4965 )
4966 );
4967 assert_eq!(
4968 unsafe { &(*(::std::ptr::null::<_fpxreg>())).__glibc_reserved1 as *const _ as usize },
4969 10usize,
4970 concat!(
4971 "Offset of field: ",
4972 stringify!(_fpxreg),
4973 "::",
4974 stringify!(__glibc_reserved1)
4975 )
4976 );
4977}
4978#[repr(C)]
4979#[derive(Debug, Copy, Clone)]
4980pub struct _xmmreg {
4981 pub element: [__uint32_t; 4usize],
4982}
4983#[test]
4984fn bindgen_test_layout__xmmreg() {
4985 assert_eq!(
4986 ::std::mem::size_of::<_xmmreg>(),
4987 16usize,
4988 concat!("Size of: ", stringify!(_xmmreg))
4989 );
4990 assert_eq!(
4991 ::std::mem::align_of::<_xmmreg>(),
4992 4usize,
4993 concat!("Alignment of ", stringify!(_xmmreg))
4994 );
4995 assert_eq!(
4996 unsafe { &(*(::std::ptr::null::<_xmmreg>())).element as *const _ as usize },
4997 0usize,
4998 concat!(
4999 "Offset of field: ",
5000 stringify!(_xmmreg),
5001 "::",
5002 stringify!(element)
5003 )
5004 );
5005}
5006#[repr(C)]
5007#[derive(Debug, Copy, Clone)]
5008pub struct _fpstate {
5009 pub cwd: __uint16_t,
5010 pub swd: __uint16_t,
5011 pub ftw: __uint16_t,
5012 pub fop: __uint16_t,
5013 pub rip: __uint64_t,
5014 pub rdp: __uint64_t,
5015 pub mxcsr: __uint32_t,
5016 pub mxcr_mask: __uint32_t,
5017 pub _st: [_fpxreg; 8usize],
5018 pub _xmm: [_xmmreg; 16usize],
5019 pub __glibc_reserved1: [__uint32_t; 24usize],
5020}
5021#[test]
5022fn bindgen_test_layout__fpstate() {
5023 assert_eq!(
5024 ::std::mem::size_of::<_fpstate>(),
5025 512usize,
5026 concat!("Size of: ", stringify!(_fpstate))
5027 );
5028 assert_eq!(
5029 ::std::mem::align_of::<_fpstate>(),
5030 8usize,
5031 concat!("Alignment of ", stringify!(_fpstate))
5032 );
5033 assert_eq!(
5034 unsafe { &(*(::std::ptr::null::<_fpstate>())).cwd as *const _ as usize },
5035 0usize,
5036 concat!(
5037 "Offset of field: ",
5038 stringify!(_fpstate),
5039 "::",
5040 stringify!(cwd)
5041 )
5042 );
5043 assert_eq!(
5044 unsafe { &(*(::std::ptr::null::<_fpstate>())).swd as *const _ as usize },
5045 2usize,
5046 concat!(
5047 "Offset of field: ",
5048 stringify!(_fpstate),
5049 "::",
5050 stringify!(swd)
5051 )
5052 );
5053 assert_eq!(
5054 unsafe { &(*(::std::ptr::null::<_fpstate>())).ftw as *const _ as usize },
5055 4usize,
5056 concat!(
5057 "Offset of field: ",
5058 stringify!(_fpstate),
5059 "::",
5060 stringify!(ftw)
5061 )
5062 );
5063 assert_eq!(
5064 unsafe { &(*(::std::ptr::null::<_fpstate>())).fop as *const _ as usize },
5065 6usize,
5066 concat!(
5067 "Offset of field: ",
5068 stringify!(_fpstate),
5069 "::",
5070 stringify!(fop)
5071 )
5072 );
5073 assert_eq!(
5074 unsafe { &(*(::std::ptr::null::<_fpstate>())).rip as *const _ as usize },
5075 8usize,
5076 concat!(
5077 "Offset of field: ",
5078 stringify!(_fpstate),
5079 "::",
5080 stringify!(rip)
5081 )
5082 );
5083 assert_eq!(
5084 unsafe { &(*(::std::ptr::null::<_fpstate>())).rdp as *const _ as usize },
5085 16usize,
5086 concat!(
5087 "Offset of field: ",
5088 stringify!(_fpstate),
5089 "::",
5090 stringify!(rdp)
5091 )
5092 );
5093 assert_eq!(
5094 unsafe { &(*(::std::ptr::null::<_fpstate>())).mxcsr as *const _ as usize },
5095 24usize,
5096 concat!(
5097 "Offset of field: ",
5098 stringify!(_fpstate),
5099 "::",
5100 stringify!(mxcsr)
5101 )
5102 );
5103 assert_eq!(
5104 unsafe { &(*(::std::ptr::null::<_fpstate>())).mxcr_mask as *const _ as usize },
5105 28usize,
5106 concat!(
5107 "Offset of field: ",
5108 stringify!(_fpstate),
5109 "::",
5110 stringify!(mxcr_mask)
5111 )
5112 );
5113 assert_eq!(
5114 unsafe { &(*(::std::ptr::null::<_fpstate>()))._st as *const _ as usize },
5115 32usize,
5116 concat!(
5117 "Offset of field: ",
5118 stringify!(_fpstate),
5119 "::",
5120 stringify!(_st)
5121 )
5122 );
5123 assert_eq!(
5124 unsafe { &(*(::std::ptr::null::<_fpstate>()))._xmm as *const _ as usize },
5125 160usize,
5126 concat!(
5127 "Offset of field: ",
5128 stringify!(_fpstate),
5129 "::",
5130 stringify!(_xmm)
5131 )
5132 );
5133 assert_eq!(
5134 unsafe { &(*(::std::ptr::null::<_fpstate>())).__glibc_reserved1 as *const _ as usize },
5135 416usize,
5136 concat!(
5137 "Offset of field: ",
5138 stringify!(_fpstate),
5139 "::",
5140 stringify!(__glibc_reserved1)
5141 )
5142 );
5143}
5144#[repr(C)]
5145#[derive(Copy, Clone)]
5146pub struct sigcontext {
5147 pub r8: __uint64_t,
5148 pub r9: __uint64_t,
5149 pub r10: __uint64_t,
5150 pub r11: __uint64_t,
5151 pub r12: __uint64_t,
5152 pub r13: __uint64_t,
5153 pub r14: __uint64_t,
5154 pub r15: __uint64_t,
5155 pub rdi: __uint64_t,
5156 pub rsi: __uint64_t,
5157 pub rbp: __uint64_t,
5158 pub rbx: __uint64_t,
5159 pub rdx: __uint64_t,
5160 pub rax: __uint64_t,
5161 pub rcx: __uint64_t,
5162 pub rsp: __uint64_t,
5163 pub rip: __uint64_t,
5164 pub eflags: __uint64_t,
5165 pub cs: ::std::os::raw::c_ushort,
5166 pub gs: ::std::os::raw::c_ushort,
5167 pub fs: ::std::os::raw::c_ushort,
5168 pub __pad0: ::std::os::raw::c_ushort,
5169 pub err: __uint64_t,
5170 pub trapno: __uint64_t,
5171 pub oldmask: __uint64_t,
5172 pub cr2: __uint64_t,
5173 pub __bindgen_anon_1: sigcontext__bindgen_ty_1,
5174 pub __reserved1: [__uint64_t; 8usize],
5175}
5176#[repr(C)]
5177#[derive(Copy, Clone)]
5178pub union sigcontext__bindgen_ty_1 {
5179 pub fpstate: *mut _fpstate,
5180 pub __fpstate_word: __uint64_t,
5181 _bindgen_union_align: u64,
5182}
5183#[test]
5184fn bindgen_test_layout_sigcontext__bindgen_ty_1() {
5185 assert_eq!(
5186 ::std::mem::size_of::<sigcontext__bindgen_ty_1>(),
5187 8usize,
5188 concat!("Size of: ", stringify!(sigcontext__bindgen_ty_1))
5189 );
5190 assert_eq!(
5191 ::std::mem::align_of::<sigcontext__bindgen_ty_1>(),
5192 8usize,
5193 concat!("Alignment of ", stringify!(sigcontext__bindgen_ty_1))
5194 );
5195 assert_eq!(
5196 unsafe {
5197 &(*(::std::ptr::null::<sigcontext__bindgen_ty_1>())).fpstate as *const _ as usize
5198 },
5199 0usize,
5200 concat!(
5201 "Offset of field: ",
5202 stringify!(sigcontext__bindgen_ty_1),
5203 "::",
5204 stringify!(fpstate)
5205 )
5206 );
5207 assert_eq!(
5208 unsafe {
5209 &(*(::std::ptr::null::<sigcontext__bindgen_ty_1>())).__fpstate_word as *const _ as usize
5210 },
5211 0usize,
5212 concat!(
5213 "Offset of field: ",
5214 stringify!(sigcontext__bindgen_ty_1),
5215 "::",
5216 stringify!(__fpstate_word)
5217 )
5218 );
5219}
5220#[test]
5221fn bindgen_test_layout_sigcontext() {
5222 assert_eq!(
5223 ::std::mem::size_of::<sigcontext>(),
5224 256usize,
5225 concat!("Size of: ", stringify!(sigcontext))
5226 );
5227 assert_eq!(
5228 ::std::mem::align_of::<sigcontext>(),
5229 8usize,
5230 concat!("Alignment of ", stringify!(sigcontext))
5231 );
5232 assert_eq!(
5233 unsafe { &(*(::std::ptr::null::<sigcontext>())).r8 as *const _ as usize },
5234 0usize,
5235 concat!(
5236 "Offset of field: ",
5237 stringify!(sigcontext),
5238 "::",
5239 stringify!(r8)
5240 )
5241 );
5242 assert_eq!(
5243 unsafe { &(*(::std::ptr::null::<sigcontext>())).r9 as *const _ as usize },
5244 8usize,
5245 concat!(
5246 "Offset of field: ",
5247 stringify!(sigcontext),
5248 "::",
5249 stringify!(r9)
5250 )
5251 );
5252 assert_eq!(
5253 unsafe { &(*(::std::ptr::null::<sigcontext>())).r10 as *const _ as usize },
5254 16usize,
5255 concat!(
5256 "Offset of field: ",
5257 stringify!(sigcontext),
5258 "::",
5259 stringify!(r10)
5260 )
5261 );
5262 assert_eq!(
5263 unsafe { &(*(::std::ptr::null::<sigcontext>())).r11 as *const _ as usize },
5264 24usize,
5265 concat!(
5266 "Offset of field: ",
5267 stringify!(sigcontext),
5268 "::",
5269 stringify!(r11)
5270 )
5271 );
5272 assert_eq!(
5273 unsafe { &(*(::std::ptr::null::<sigcontext>())).r12 as *const _ as usize },
5274 32usize,
5275 concat!(
5276 "Offset of field: ",
5277 stringify!(sigcontext),
5278 "::",
5279 stringify!(r12)
5280 )
5281 );
5282 assert_eq!(
5283 unsafe { &(*(::std::ptr::null::<sigcontext>())).r13 as *const _ as usize },
5284 40usize,
5285 concat!(
5286 "Offset of field: ",
5287 stringify!(sigcontext),
5288 "::",
5289 stringify!(r13)
5290 )
5291 );
5292 assert_eq!(
5293 unsafe { &(*(::std::ptr::null::<sigcontext>())).r14 as *const _ as usize },
5294 48usize,
5295 concat!(
5296 "Offset of field: ",
5297 stringify!(sigcontext),
5298 "::",
5299 stringify!(r14)
5300 )
5301 );
5302 assert_eq!(
5303 unsafe { &(*(::std::ptr::null::<sigcontext>())).r15 as *const _ as usize },
5304 56usize,
5305 concat!(
5306 "Offset of field: ",
5307 stringify!(sigcontext),
5308 "::",
5309 stringify!(r15)
5310 )
5311 );
5312 assert_eq!(
5313 unsafe { &(*(::std::ptr::null::<sigcontext>())).rdi as *const _ as usize },
5314 64usize,
5315 concat!(
5316 "Offset of field: ",
5317 stringify!(sigcontext),
5318 "::",
5319 stringify!(rdi)
5320 )
5321 );
5322 assert_eq!(
5323 unsafe { &(*(::std::ptr::null::<sigcontext>())).rsi as *const _ as usize },
5324 72usize,
5325 concat!(
5326 "Offset of field: ",
5327 stringify!(sigcontext),
5328 "::",
5329 stringify!(rsi)
5330 )
5331 );
5332 assert_eq!(
5333 unsafe { &(*(::std::ptr::null::<sigcontext>())).rbp as *const _ as usize },
5334 80usize,
5335 concat!(
5336 "Offset of field: ",
5337 stringify!(sigcontext),
5338 "::",
5339 stringify!(rbp)
5340 )
5341 );
5342 assert_eq!(
5343 unsafe { &(*(::std::ptr::null::<sigcontext>())).rbx as *const _ as usize },
5344 88usize,
5345 concat!(
5346 "Offset of field: ",
5347 stringify!(sigcontext),
5348 "::",
5349 stringify!(rbx)
5350 )
5351 );
5352 assert_eq!(
5353 unsafe { &(*(::std::ptr::null::<sigcontext>())).rdx as *const _ as usize },
5354 96usize,
5355 concat!(
5356 "Offset of field: ",
5357 stringify!(sigcontext),
5358 "::",
5359 stringify!(rdx)
5360 )
5361 );
5362 assert_eq!(
5363 unsafe { &(*(::std::ptr::null::<sigcontext>())).rax as *const _ as usize },
5364 104usize,
5365 concat!(
5366 "Offset of field: ",
5367 stringify!(sigcontext),
5368 "::",
5369 stringify!(rax)
5370 )
5371 );
5372 assert_eq!(
5373 unsafe { &(*(::std::ptr::null::<sigcontext>())).rcx as *const _ as usize },
5374 112usize,
5375 concat!(
5376 "Offset of field: ",
5377 stringify!(sigcontext),
5378 "::",
5379 stringify!(rcx)
5380 )
5381 );
5382 assert_eq!(
5383 unsafe { &(*(::std::ptr::null::<sigcontext>())).rsp as *const _ as usize },
5384 120usize,
5385 concat!(
5386 "Offset of field: ",
5387 stringify!(sigcontext),
5388 "::",
5389 stringify!(rsp)
5390 )
5391 );
5392 assert_eq!(
5393 unsafe { &(*(::std::ptr::null::<sigcontext>())).rip as *const _ as usize },
5394 128usize,
5395 concat!(
5396 "Offset of field: ",
5397 stringify!(sigcontext),
5398 "::",
5399 stringify!(rip)
5400 )
5401 );
5402 assert_eq!(
5403 unsafe { &(*(::std::ptr::null::<sigcontext>())).eflags as *const _ as usize },
5404 136usize,
5405 concat!(
5406 "Offset of field: ",
5407 stringify!(sigcontext),
5408 "::",
5409 stringify!(eflags)
5410 )
5411 );
5412 assert_eq!(
5413 unsafe { &(*(::std::ptr::null::<sigcontext>())).cs as *const _ as usize },
5414 144usize,
5415 concat!(
5416 "Offset of field: ",
5417 stringify!(sigcontext),
5418 "::",
5419 stringify!(cs)
5420 )
5421 );
5422 assert_eq!(
5423 unsafe { &(*(::std::ptr::null::<sigcontext>())).gs as *const _ as usize },
5424 146usize,
5425 concat!(
5426 "Offset of field: ",
5427 stringify!(sigcontext),
5428 "::",
5429 stringify!(gs)
5430 )
5431 );
5432 assert_eq!(
5433 unsafe { &(*(::std::ptr::null::<sigcontext>())).fs as *const _ as usize },
5434 148usize,
5435 concat!(
5436 "Offset of field: ",
5437 stringify!(sigcontext),
5438 "::",
5439 stringify!(fs)
5440 )
5441 );
5442 assert_eq!(
5443 unsafe { &(*(::std::ptr::null::<sigcontext>())).__pad0 as *const _ as usize },
5444 150usize,
5445 concat!(
5446 "Offset of field: ",
5447 stringify!(sigcontext),
5448 "::",
5449 stringify!(__pad0)
5450 )
5451 );
5452 assert_eq!(
5453 unsafe { &(*(::std::ptr::null::<sigcontext>())).err as *const _ as usize },
5454 152usize,
5455 concat!(
5456 "Offset of field: ",
5457 stringify!(sigcontext),
5458 "::",
5459 stringify!(err)
5460 )
5461 );
5462 assert_eq!(
5463 unsafe { &(*(::std::ptr::null::<sigcontext>())).trapno as *const _ as usize },
5464 160usize,
5465 concat!(
5466 "Offset of field: ",
5467 stringify!(sigcontext),
5468 "::",
5469 stringify!(trapno)
5470 )
5471 );
5472 assert_eq!(
5473 unsafe { &(*(::std::ptr::null::<sigcontext>())).oldmask as *const _ as usize },
5474 168usize,
5475 concat!(
5476 "Offset of field: ",
5477 stringify!(sigcontext),
5478 "::",
5479 stringify!(oldmask)
5480 )
5481 );
5482 assert_eq!(
5483 unsafe { &(*(::std::ptr::null::<sigcontext>())).cr2 as *const _ as usize },
5484 176usize,
5485 concat!(
5486 "Offset of field: ",
5487 stringify!(sigcontext),
5488 "::",
5489 stringify!(cr2)
5490 )
5491 );
5492 assert_eq!(
5493 unsafe { &(*(::std::ptr::null::<sigcontext>())).__reserved1 as *const _ as usize },
5494 192usize,
5495 concat!(
5496 "Offset of field: ",
5497 stringify!(sigcontext),
5498 "::",
5499 stringify!(__reserved1)
5500 )
5501 );
5502}
5503#[repr(C)]
5504#[derive(Debug, Copy, Clone)]
5505pub struct _xsave_hdr {
5506 pub xstate_bv: __uint64_t,
5507 pub __glibc_reserved1: [__uint64_t; 2usize],
5508 pub __glibc_reserved2: [__uint64_t; 5usize],
5509}
5510#[test]
5511fn bindgen_test_layout__xsave_hdr() {
5512 assert_eq!(
5513 ::std::mem::size_of::<_xsave_hdr>(),
5514 64usize,
5515 concat!("Size of: ", stringify!(_xsave_hdr))
5516 );
5517 assert_eq!(
5518 ::std::mem::align_of::<_xsave_hdr>(),
5519 8usize,
5520 concat!("Alignment of ", stringify!(_xsave_hdr))
5521 );
5522 assert_eq!(
5523 unsafe { &(*(::std::ptr::null::<_xsave_hdr>())).xstate_bv as *const _ as usize },
5524 0usize,
5525 concat!(
5526 "Offset of field: ",
5527 stringify!(_xsave_hdr),
5528 "::",
5529 stringify!(xstate_bv)
5530 )
5531 );
5532 assert_eq!(
5533 unsafe { &(*(::std::ptr::null::<_xsave_hdr>())).__glibc_reserved1 as *const _ as usize },
5534 8usize,
5535 concat!(
5536 "Offset of field: ",
5537 stringify!(_xsave_hdr),
5538 "::",
5539 stringify!(__glibc_reserved1)
5540 )
5541 );
5542 assert_eq!(
5543 unsafe { &(*(::std::ptr::null::<_xsave_hdr>())).__glibc_reserved2 as *const _ as usize },
5544 24usize,
5545 concat!(
5546 "Offset of field: ",
5547 stringify!(_xsave_hdr),
5548 "::",
5549 stringify!(__glibc_reserved2)
5550 )
5551 );
5552}
5553#[repr(C)]
5554#[derive(Copy, Clone)]
5555pub struct _ymmh_state {
5556 pub ymmh_space: [__uint32_t; 64usize],
5557}
5558#[test]
5559fn bindgen_test_layout__ymmh_state() {
5560 assert_eq!(
5561 ::std::mem::size_of::<_ymmh_state>(),
5562 256usize,
5563 concat!("Size of: ", stringify!(_ymmh_state))
5564 );
5565 assert_eq!(
5566 ::std::mem::align_of::<_ymmh_state>(),
5567 4usize,
5568 concat!("Alignment of ", stringify!(_ymmh_state))
5569 );
5570 assert_eq!(
5571 unsafe { &(*(::std::ptr::null::<_ymmh_state>())).ymmh_space as *const _ as usize },
5572 0usize,
5573 concat!(
5574 "Offset of field: ",
5575 stringify!(_ymmh_state),
5576 "::",
5577 stringify!(ymmh_space)
5578 )
5579 );
5580}
5581#[repr(C)]
5582#[derive(Copy, Clone)]
5583pub struct _xstate {
5584 pub fpstate: _fpstate,
5585 pub xstate_hdr: _xsave_hdr,
5586 pub ymmh: _ymmh_state,
5587}
5588#[test]
5589fn bindgen_test_layout__xstate() {
5590 assert_eq!(
5591 ::std::mem::size_of::<_xstate>(),
5592 832usize,
5593 concat!("Size of: ", stringify!(_xstate))
5594 );
5595 assert_eq!(
5596 ::std::mem::align_of::<_xstate>(),
5597 8usize,
5598 concat!("Alignment of ", stringify!(_xstate))
5599 );
5600 assert_eq!(
5601 unsafe { &(*(::std::ptr::null::<_xstate>())).fpstate as *const _ as usize },
5602 0usize,
5603 concat!(
5604 "Offset of field: ",
5605 stringify!(_xstate),
5606 "::",
5607 stringify!(fpstate)
5608 )
5609 );
5610 assert_eq!(
5611 unsafe { &(*(::std::ptr::null::<_xstate>())).xstate_hdr as *const _ as usize },
5612 512usize,
5613 concat!(
5614 "Offset of field: ",
5615 stringify!(_xstate),
5616 "::",
5617 stringify!(xstate_hdr)
5618 )
5619 );
5620 assert_eq!(
5621 unsafe { &(*(::std::ptr::null::<_xstate>())).ymmh as *const _ as usize },
5622 576usize,
5623 concat!(
5624 "Offset of field: ",
5625 stringify!(_xstate),
5626 "::",
5627 stringify!(ymmh)
5628 )
5629 );
5630}
5631extern "C" {
5632 pub fn sigreturn(__scp: *mut sigcontext) -> ::std::os::raw::c_int;
5633}
5634#[repr(C)]
5635#[derive(Debug, Copy, Clone)]
5636pub struct stack_t {
5637 pub ss_sp: *mut ::std::os::raw::c_void,
5638 pub ss_flags: ::std::os::raw::c_int,
5639 pub ss_size: usize,
5640}
5641#[test]
5642fn bindgen_test_layout_stack_t() {
5643 assert_eq!(
5644 ::std::mem::size_of::<stack_t>(),
5645 24usize,
5646 concat!("Size of: ", stringify!(stack_t))
5647 );
5648 assert_eq!(
5649 ::std::mem::align_of::<stack_t>(),
5650 8usize,
5651 concat!("Alignment of ", stringify!(stack_t))
5652 );
5653 assert_eq!(
5654 unsafe { &(*(::std::ptr::null::<stack_t>())).ss_sp as *const _ as usize },
5655 0usize,
5656 concat!(
5657 "Offset of field: ",
5658 stringify!(stack_t),
5659 "::",
5660 stringify!(ss_sp)
5661 )
5662 );
5663 assert_eq!(
5664 unsafe { &(*(::std::ptr::null::<stack_t>())).ss_flags as *const _ as usize },
5665 8usize,
5666 concat!(
5667 "Offset of field: ",
5668 stringify!(stack_t),
5669 "::",
5670 stringify!(ss_flags)
5671 )
5672 );
5673 assert_eq!(
5674 unsafe { &(*(::std::ptr::null::<stack_t>())).ss_size as *const _ as usize },
5675 16usize,
5676 concat!(
5677 "Offset of field: ",
5678 stringify!(stack_t),
5679 "::",
5680 stringify!(ss_size)
5681 )
5682 );
5683}
5684pub type greg_t = ::std::os::raw::c_longlong;
5685pub type gregset_t = [greg_t; 23usize];
5686#[repr(C)]
5687#[derive(Debug, Copy, Clone)]
5688pub struct _libc_fpxreg {
5689 pub significand: [::std::os::raw::c_ushort; 4usize],
5690 pub exponent: ::std::os::raw::c_ushort,
5691 pub __glibc_reserved1: [::std::os::raw::c_ushort; 3usize],
5692}
5693#[test]
5694fn bindgen_test_layout__libc_fpxreg() {
5695 assert_eq!(
5696 ::std::mem::size_of::<_libc_fpxreg>(),
5697 16usize,
5698 concat!("Size of: ", stringify!(_libc_fpxreg))
5699 );
5700 assert_eq!(
5701 ::std::mem::align_of::<_libc_fpxreg>(),
5702 2usize,
5703 concat!("Alignment of ", stringify!(_libc_fpxreg))
5704 );
5705 assert_eq!(
5706 unsafe { &(*(::std::ptr::null::<_libc_fpxreg>())).significand as *const _ as usize },
5707 0usize,
5708 concat!(
5709 "Offset of field: ",
5710 stringify!(_libc_fpxreg),
5711 "::",
5712 stringify!(significand)
5713 )
5714 );
5715 assert_eq!(
5716 unsafe { &(*(::std::ptr::null::<_libc_fpxreg>())).exponent as *const _ as usize },
5717 8usize,
5718 concat!(
5719 "Offset of field: ",
5720 stringify!(_libc_fpxreg),
5721 "::",
5722 stringify!(exponent)
5723 )
5724 );
5725 assert_eq!(
5726 unsafe { &(*(::std::ptr::null::<_libc_fpxreg>())).__glibc_reserved1 as *const _ as usize },
5727 10usize,
5728 concat!(
5729 "Offset of field: ",
5730 stringify!(_libc_fpxreg),
5731 "::",
5732 stringify!(__glibc_reserved1)
5733 )
5734 );
5735}
5736#[repr(C)]
5737#[derive(Debug, Copy, Clone)]
5738pub struct _libc_xmmreg {
5739 pub element: [__uint32_t; 4usize],
5740}
5741#[test]
5742fn bindgen_test_layout__libc_xmmreg() {
5743 assert_eq!(
5744 ::std::mem::size_of::<_libc_xmmreg>(),
5745 16usize,
5746 concat!("Size of: ", stringify!(_libc_xmmreg))
5747 );
5748 assert_eq!(
5749 ::std::mem::align_of::<_libc_xmmreg>(),
5750 4usize,
5751 concat!("Alignment of ", stringify!(_libc_xmmreg))
5752 );
5753 assert_eq!(
5754 unsafe { &(*(::std::ptr::null::<_libc_xmmreg>())).element as *const _ as usize },
5755 0usize,
5756 concat!(
5757 "Offset of field: ",
5758 stringify!(_libc_xmmreg),
5759 "::",
5760 stringify!(element)
5761 )
5762 );
5763}
5764#[repr(C)]
5765#[derive(Debug, Copy, Clone)]
5766pub struct _libc_fpstate {
5767 pub cwd: __uint16_t,
5768 pub swd: __uint16_t,
5769 pub ftw: __uint16_t,
5770 pub fop: __uint16_t,
5771 pub rip: __uint64_t,
5772 pub rdp: __uint64_t,
5773 pub mxcsr: __uint32_t,
5774 pub mxcr_mask: __uint32_t,
5775 pub _st: [_libc_fpxreg; 8usize],
5776 pub _xmm: [_libc_xmmreg; 16usize],
5777 pub __glibc_reserved1: [__uint32_t; 24usize],
5778}
5779#[test]
5780fn bindgen_test_layout__libc_fpstate() {
5781 assert_eq!(
5782 ::std::mem::size_of::<_libc_fpstate>(),
5783 512usize,
5784 concat!("Size of: ", stringify!(_libc_fpstate))
5785 );
5786 assert_eq!(
5787 ::std::mem::align_of::<_libc_fpstate>(),
5788 8usize,
5789 concat!("Alignment of ", stringify!(_libc_fpstate))
5790 );
5791 assert_eq!(
5792 unsafe { &(*(::std::ptr::null::<_libc_fpstate>())).cwd as *const _ as usize },
5793 0usize,
5794 concat!(
5795 "Offset of field: ",
5796 stringify!(_libc_fpstate),
5797 "::",
5798 stringify!(cwd)
5799 )
5800 );
5801 assert_eq!(
5802 unsafe { &(*(::std::ptr::null::<_libc_fpstate>())).swd as *const _ as usize },
5803 2usize,
5804 concat!(
5805 "Offset of field: ",
5806 stringify!(_libc_fpstate),
5807 "::",
5808 stringify!(swd)
5809 )
5810 );
5811 assert_eq!(
5812 unsafe { &(*(::std::ptr::null::<_libc_fpstate>())).ftw as *const _ as usize },
5813 4usize,
5814 concat!(
5815 "Offset of field: ",
5816 stringify!(_libc_fpstate),
5817 "::",
5818 stringify!(ftw)
5819 )
5820 );
5821 assert_eq!(
5822 unsafe { &(*(::std::ptr::null::<_libc_fpstate>())).fop as *const _ as usize },
5823 6usize,
5824 concat!(
5825 "Offset of field: ",
5826 stringify!(_libc_fpstate),
5827 "::",
5828 stringify!(fop)
5829 )
5830 );
5831 assert_eq!(
5832 unsafe { &(*(::std::ptr::null::<_libc_fpstate>())).rip as *const _ as usize },
5833 8usize,
5834 concat!(
5835 "Offset of field: ",
5836 stringify!(_libc_fpstate),
5837 "::",
5838 stringify!(rip)
5839 )
5840 );
5841 assert_eq!(
5842 unsafe { &(*(::std::ptr::null::<_libc_fpstate>())).rdp as *const _ as usize },
5843 16usize,
5844 concat!(
5845 "Offset of field: ",
5846 stringify!(_libc_fpstate),
5847 "::",
5848 stringify!(rdp)
5849 )
5850 );
5851 assert_eq!(
5852 unsafe { &(*(::std::ptr::null::<_libc_fpstate>())).mxcsr as *const _ as usize },
5853 24usize,
5854 concat!(
5855 "Offset of field: ",
5856 stringify!(_libc_fpstate),
5857 "::",
5858 stringify!(mxcsr)
5859 )
5860 );
5861 assert_eq!(
5862 unsafe { &(*(::std::ptr::null::<_libc_fpstate>())).mxcr_mask as *const _ as usize },
5863 28usize,
5864 concat!(
5865 "Offset of field: ",
5866 stringify!(_libc_fpstate),
5867 "::",
5868 stringify!(mxcr_mask)
5869 )
5870 );
5871 assert_eq!(
5872 unsafe { &(*(::std::ptr::null::<_libc_fpstate>()))._st as *const _ as usize },
5873 32usize,
5874 concat!(
5875 "Offset of field: ",
5876 stringify!(_libc_fpstate),
5877 "::",
5878 stringify!(_st)
5879 )
5880 );
5881 assert_eq!(
5882 unsafe { &(*(::std::ptr::null::<_libc_fpstate>()))._xmm as *const _ as usize },
5883 160usize,
5884 concat!(
5885 "Offset of field: ",
5886 stringify!(_libc_fpstate),
5887 "::",
5888 stringify!(_xmm)
5889 )
5890 );
5891 assert_eq!(
5892 unsafe { &(*(::std::ptr::null::<_libc_fpstate>())).__glibc_reserved1 as *const _ as usize },
5893 416usize,
5894 concat!(
5895 "Offset of field: ",
5896 stringify!(_libc_fpstate),
5897 "::",
5898 stringify!(__glibc_reserved1)
5899 )
5900 );
5901}
5902pub type fpregset_t = *mut _libc_fpstate;
5903#[repr(C)]
5904#[derive(Debug, Copy, Clone)]
5905pub struct mcontext_t {
5906 pub gregs: gregset_t,
5907 pub fpregs: fpregset_t,
5908 pub __reserved1: [::std::os::raw::c_ulonglong; 8usize],
5909}
5910#[test]
5911fn bindgen_test_layout_mcontext_t() {
5912 assert_eq!(
5913 ::std::mem::size_of::<mcontext_t>(),
5914 256usize,
5915 concat!("Size of: ", stringify!(mcontext_t))
5916 );
5917 assert_eq!(
5918 ::std::mem::align_of::<mcontext_t>(),
5919 8usize,
5920 concat!("Alignment of ", stringify!(mcontext_t))
5921 );
5922 assert_eq!(
5923 unsafe { &(*(::std::ptr::null::<mcontext_t>())).gregs as *const _ as usize },
5924 0usize,
5925 concat!(
5926 "Offset of field: ",
5927 stringify!(mcontext_t),
5928 "::",
5929 stringify!(gregs)
5930 )
5931 );
5932 assert_eq!(
5933 unsafe { &(*(::std::ptr::null::<mcontext_t>())).fpregs as *const _ as usize },
5934 184usize,
5935 concat!(
5936 "Offset of field: ",
5937 stringify!(mcontext_t),
5938 "::",
5939 stringify!(fpregs)
5940 )
5941 );
5942 assert_eq!(
5943 unsafe { &(*(::std::ptr::null::<mcontext_t>())).__reserved1 as *const _ as usize },
5944 192usize,
5945 concat!(
5946 "Offset of field: ",
5947 stringify!(mcontext_t),
5948 "::",
5949 stringify!(__reserved1)
5950 )
5951 );
5952}
5953#[repr(C)]
5954#[derive(Debug, Copy, Clone)]
5955pub struct ucontext_t {
5956 pub uc_flags: ::std::os::raw::c_ulong,
5957 pub uc_link: *mut ucontext_t,
5958 pub uc_stack: stack_t,
5959 pub uc_mcontext: mcontext_t,
5960 pub uc_sigmask: sigset_t,
5961 pub __fpregs_mem: _libc_fpstate,
5962 pub __ssp: [::std::os::raw::c_ulonglong; 4usize],
5963}
5964#[test]
5965fn bindgen_test_layout_ucontext_t() {
5966 assert_eq!(
5967 ::std::mem::size_of::<ucontext_t>(),
5968 968usize,
5969 concat!("Size of: ", stringify!(ucontext_t))
5970 );
5971 assert_eq!(
5972 ::std::mem::align_of::<ucontext_t>(),
5973 8usize,
5974 concat!("Alignment of ", stringify!(ucontext_t))
5975 );
5976 assert_eq!(
5977 unsafe { &(*(::std::ptr::null::<ucontext_t>())).uc_flags as *const _ as usize },
5978 0usize,
5979 concat!(
5980 "Offset of field: ",
5981 stringify!(ucontext_t),
5982 "::",
5983 stringify!(uc_flags)
5984 )
5985 );
5986 assert_eq!(
5987 unsafe { &(*(::std::ptr::null::<ucontext_t>())).uc_link as *const _ as usize },
5988 8usize,
5989 concat!(
5990 "Offset of field: ",
5991 stringify!(ucontext_t),
5992 "::",
5993 stringify!(uc_link)
5994 )
5995 );
5996 assert_eq!(
5997 unsafe { &(*(::std::ptr::null::<ucontext_t>())).uc_stack as *const _ as usize },
5998 16usize,
5999 concat!(
6000 "Offset of field: ",
6001 stringify!(ucontext_t),
6002 "::",
6003 stringify!(uc_stack)
6004 )
6005 );
6006 assert_eq!(
6007 unsafe { &(*(::std::ptr::null::<ucontext_t>())).uc_mcontext as *const _ as usize },
6008 40usize,
6009 concat!(
6010 "Offset of field: ",
6011 stringify!(ucontext_t),
6012 "::",
6013 stringify!(uc_mcontext)
6014 )
6015 );
6016 assert_eq!(
6017 unsafe { &(*(::std::ptr::null::<ucontext_t>())).uc_sigmask as *const _ as usize },
6018 296usize,
6019 concat!(
6020 "Offset of field: ",
6021 stringify!(ucontext_t),
6022 "::",
6023 stringify!(uc_sigmask)
6024 )
6025 );
6026 assert_eq!(
6027 unsafe { &(*(::std::ptr::null::<ucontext_t>())).__fpregs_mem as *const _ as usize },
6028 424usize,
6029 concat!(
6030 "Offset of field: ",
6031 stringify!(ucontext_t),
6032 "::",
6033 stringify!(__fpregs_mem)
6034 )
6035 );
6036 assert_eq!(
6037 unsafe { &(*(::std::ptr::null::<ucontext_t>())).__ssp as *const _ as usize },
6038 936usize,
6039 concat!(
6040 "Offset of field: ",
6041 stringify!(ucontext_t),
6042 "::",
6043 stringify!(__ssp)
6044 )
6045 );
6046}
6047extern "C" {
6048 pub fn siginterrupt(
6049 __sig: ::std::os::raw::c_int,
6050 __interrupt: ::std::os::raw::c_int,
6051 ) -> ::std::os::raw::c_int;
6052}
6053pub const SS_ONSTACK: _bindgen_ty_10 = 1;
6054pub const SS_DISABLE: _bindgen_ty_10 = 2;
6055pub type _bindgen_ty_10 = u32;
6056extern "C" {
6057 pub fn sigaltstack(__ss: *const stack_t, __oss: *mut stack_t) -> ::std::os::raw::c_int;
6058}
6059#[repr(C)]
6060#[derive(Debug, Copy, Clone)]
6061pub struct sigstack {
6062 pub ss_sp: *mut ::std::os::raw::c_void,
6063 pub ss_onstack: ::std::os::raw::c_int,
6064}
6065#[test]
6066fn bindgen_test_layout_sigstack() {
6067 assert_eq!(
6068 ::std::mem::size_of::<sigstack>(),
6069 16usize,
6070 concat!("Size of: ", stringify!(sigstack))
6071 );
6072 assert_eq!(
6073 ::std::mem::align_of::<sigstack>(),
6074 8usize,
6075 concat!("Alignment of ", stringify!(sigstack))
6076 );
6077 assert_eq!(
6078 unsafe { &(*(::std::ptr::null::<sigstack>())).ss_sp as *const _ as usize },
6079 0usize,
6080 concat!(
6081 "Offset of field: ",
6082 stringify!(sigstack),
6083 "::",
6084 stringify!(ss_sp)
6085 )
6086 );
6087 assert_eq!(
6088 unsafe { &(*(::std::ptr::null::<sigstack>())).ss_onstack as *const _ as usize },
6089 8usize,
6090 concat!(
6091 "Offset of field: ",
6092 stringify!(sigstack),
6093 "::",
6094 stringify!(ss_onstack)
6095 )
6096 );
6097}
6098extern "C" {
6099 pub fn sigstack(__ss: *mut sigstack, __oss: *mut sigstack) -> ::std::os::raw::c_int;
6100}
6101extern "C" {
6102 pub fn pthread_sigmask(
6103 __how: ::std::os::raw::c_int,
6104 __newmask: *const __sigset_t,
6105 __oldmask: *mut __sigset_t,
6106 ) -> ::std::os::raw::c_int;
6107}
6108extern "C" {
6109 pub fn pthread_kill(
6110 __threadid: pthread_t,
6111 __signo: ::std::os::raw::c_int,
6112 ) -> ::std::os::raw::c_int;
6113}
6114extern "C" {
6115 pub fn __libc_current_sigrtmin() -> ::std::os::raw::c_int;
6116}
6117extern "C" {
6118 pub fn __libc_current_sigrtmax() -> ::std::os::raw::c_int;
6119}
6120pub type mpfr_void = ::std::os::raw::c_void;
6121pub type mpfr_int = ::std::os::raw::c_int;
6122pub type mpfr_uint = ::std::os::raw::c_uint;
6123pub type mpfr_long = ::std::os::raw::c_long;
6124pub type mpfr_ulong = ::std::os::raw::c_ulong;
6125pub type mpfr_size_t = usize;
6126pub type mpfr_flags_t = ::std::os::raw::c_uint;
6127pub const mpfr_rnd_t_MPFR_RNDN: mpfr_rnd_t = 0;
6128pub const mpfr_rnd_t_MPFR_RNDZ: mpfr_rnd_t = 1;
6129pub const mpfr_rnd_t_MPFR_RNDU: mpfr_rnd_t = 2;
6130pub const mpfr_rnd_t_MPFR_RNDD: mpfr_rnd_t = 3;
6131pub const mpfr_rnd_t_MPFR_RNDA: mpfr_rnd_t = 4;
6132pub const mpfr_rnd_t_MPFR_RNDF: mpfr_rnd_t = 5;
6133pub const mpfr_rnd_t_MPFR_RNDNA: mpfr_rnd_t = -1;
6134pub type mpfr_rnd_t = i32;
6135pub type mpfr_prec_t = ::std::os::raw::c_long;
6136pub type mpfr_uprec_t = ::std::os::raw::c_ulong;
6137pub type mpfr_sign_t = ::std::os::raw::c_int;
6138pub type mpfr_exp_t = ::std::os::raw::c_long;
6139pub type mpfr_uexp_t = ::std::os::raw::c_ulong;
6140#[repr(C)]
6141#[derive(Debug, Copy, Clone)]
6142pub struct __mpfr_struct {
6143 pub _mpfr_prec: mpfr_prec_t,
6144 pub _mpfr_sign: mpfr_sign_t,
6145 pub _mpfr_exp: mpfr_exp_t,
6146 pub _mpfr_d: *mut mp_limb_t,
6147}
6148#[test]
6149fn bindgen_test_layout___mpfr_struct() {
6150 assert_eq!(
6151 ::std::mem::size_of::<__mpfr_struct>(),
6152 32usize,
6153 concat!("Size of: ", stringify!(__mpfr_struct))
6154 );
6155 assert_eq!(
6156 ::std::mem::align_of::<__mpfr_struct>(),
6157 8usize,
6158 concat!("Alignment of ", stringify!(__mpfr_struct))
6159 );
6160 assert_eq!(
6161 unsafe { &(*(::std::ptr::null::<__mpfr_struct>()))._mpfr_prec as *const _ as usize },
6162 0usize,
6163 concat!(
6164 "Offset of field: ",
6165 stringify!(__mpfr_struct),
6166 "::",
6167 stringify!(_mpfr_prec)
6168 )
6169 );
6170 assert_eq!(
6171 unsafe { &(*(::std::ptr::null::<__mpfr_struct>()))._mpfr_sign as *const _ as usize },
6172 8usize,
6173 concat!(
6174 "Offset of field: ",
6175 stringify!(__mpfr_struct),
6176 "::",
6177 stringify!(_mpfr_sign)
6178 )
6179 );
6180 assert_eq!(
6181 unsafe { &(*(::std::ptr::null::<__mpfr_struct>()))._mpfr_exp as *const _ as usize },
6182 16usize,
6183 concat!(
6184 "Offset of field: ",
6185 stringify!(__mpfr_struct),
6186 "::",
6187 stringify!(_mpfr_exp)
6188 )
6189 );
6190 assert_eq!(
6191 unsafe { &(*(::std::ptr::null::<__mpfr_struct>()))._mpfr_d as *const _ as usize },
6192 24usize,
6193 concat!(
6194 "Offset of field: ",
6195 stringify!(__mpfr_struct),
6196 "::",
6197 stringify!(_mpfr_d)
6198 )
6199 );
6200}
6201pub type mpfr_t = [__mpfr_struct; 1usize];
6202pub type mpfr_ptr = *mut __mpfr_struct;
6203pub type mpfr_srcptr = *const __mpfr_struct;
6204pub const mpfr_kind_t_MPFR_NAN_KIND: mpfr_kind_t = 0;
6205pub const mpfr_kind_t_MPFR_INF_KIND: mpfr_kind_t = 1;
6206pub const mpfr_kind_t_MPFR_ZERO_KIND: mpfr_kind_t = 2;
6207pub const mpfr_kind_t_MPFR_REGULAR_KIND: mpfr_kind_t = 3;
6208pub type mpfr_kind_t = u32;
6209pub const mpfr_free_cache_t_MPFR_FREE_LOCAL_CACHE: mpfr_free_cache_t = 1;
6210pub const mpfr_free_cache_t_MPFR_FREE_GLOBAL_CACHE: mpfr_free_cache_t = 2;
6211pub type mpfr_free_cache_t = u32;
6212extern "C" {
6213 pub fn mpfr_get_version() -> *const ::std::os::raw::c_char;
6214}
6215extern "C" {
6216 pub fn mpfr_get_patches() -> *const ::std::os::raw::c_char;
6217}
6218extern "C" {
6219 pub fn mpfr_buildopt_tls_p() -> ::std::os::raw::c_int;
6220}
6221extern "C" {
6222 pub fn mpfr_buildopt_float128_p() -> ::std::os::raw::c_int;
6223}
6224extern "C" {
6225 pub fn mpfr_buildopt_decimal_p() -> ::std::os::raw::c_int;
6226}
6227extern "C" {
6228 pub fn mpfr_buildopt_gmpinternals_p() -> ::std::os::raw::c_int;
6229}
6230extern "C" {
6231 pub fn mpfr_buildopt_sharedcache_p() -> ::std::os::raw::c_int;
6232}
6233extern "C" {
6234 pub fn mpfr_buildopt_tune_case() -> *const ::std::os::raw::c_char;
6235}
6236extern "C" {
6237 pub fn mpfr_get_emin() -> mpfr_exp_t;
6238}
6239extern "C" {
6240 pub fn mpfr_set_emin(arg1: mpfr_exp_t) -> ::std::os::raw::c_int;
6241}
6242extern "C" {
6243 pub fn mpfr_get_emin_min() -> mpfr_exp_t;
6244}
6245extern "C" {
6246 pub fn mpfr_get_emin_max() -> mpfr_exp_t;
6247}
6248extern "C" {
6249 pub fn mpfr_get_emax() -> mpfr_exp_t;
6250}
6251extern "C" {
6252 pub fn mpfr_set_emax(arg1: mpfr_exp_t) -> ::std::os::raw::c_int;
6253}
6254extern "C" {
6255 pub fn mpfr_get_emax_min() -> mpfr_exp_t;
6256}
6257extern "C" {
6258 pub fn mpfr_get_emax_max() -> mpfr_exp_t;
6259}
6260extern "C" {
6261 pub fn mpfr_set_default_rounding_mode(arg1: mpfr_rnd_t);
6262}
6263extern "C" {
6264 pub fn mpfr_get_default_rounding_mode() -> mpfr_rnd_t;
6265}
6266extern "C" {
6267 pub fn mpfr_print_rnd_mode(arg1: mpfr_rnd_t) -> *const ::std::os::raw::c_char;
6268}
6269extern "C" {
6270 pub fn mpfr_clear_flags();
6271}
6272extern "C" {
6273 pub fn mpfr_clear_underflow();
6274}
6275extern "C" {
6276 pub fn mpfr_clear_overflow();
6277}
6278extern "C" {
6279 pub fn mpfr_clear_divby0();
6280}
6281extern "C" {
6282 pub fn mpfr_clear_nanflag();
6283}
6284extern "C" {
6285 pub fn mpfr_clear_inexflag();
6286}
6287extern "C" {
6288 pub fn mpfr_clear_erangeflag();
6289}
6290extern "C" {
6291 pub fn mpfr_set_underflow();
6292}
6293extern "C" {
6294 pub fn mpfr_set_overflow();
6295}
6296extern "C" {
6297 pub fn mpfr_set_divby0();
6298}
6299extern "C" {
6300 pub fn mpfr_set_nanflag();
6301}
6302extern "C" {
6303 pub fn mpfr_set_inexflag();
6304}
6305extern "C" {
6306 pub fn mpfr_set_erangeflag();
6307}
6308extern "C" {
6309 pub fn mpfr_underflow_p() -> ::std::os::raw::c_int;
6310}
6311extern "C" {
6312 pub fn mpfr_overflow_p() -> ::std::os::raw::c_int;
6313}
6314extern "C" {
6315 pub fn mpfr_divby0_p() -> ::std::os::raw::c_int;
6316}
6317extern "C" {
6318 pub fn mpfr_nanflag_p() -> ::std::os::raw::c_int;
6319}
6320extern "C" {
6321 pub fn mpfr_inexflag_p() -> ::std::os::raw::c_int;
6322}
6323extern "C" {
6324 pub fn mpfr_erangeflag_p() -> ::std::os::raw::c_int;
6325}
6326extern "C" {
6327 pub fn mpfr_flags_clear(arg1: mpfr_flags_t);
6328}
6329extern "C" {
6330 pub fn mpfr_flags_set(arg1: mpfr_flags_t);
6331}
6332extern "C" {
6333 pub fn mpfr_flags_test(arg1: mpfr_flags_t) -> mpfr_flags_t;
6334}
6335extern "C" {
6336 pub fn mpfr_flags_save() -> mpfr_flags_t;
6337}
6338extern "C" {
6339 pub fn mpfr_flags_restore(arg1: mpfr_flags_t, arg2: mpfr_flags_t);
6340}
6341extern "C" {
6342 pub fn mpfr_check_range(
6343 arg1: mpfr_ptr,
6344 arg2: ::std::os::raw::c_int,
6345 arg3: mpfr_rnd_t,
6346 ) -> ::std::os::raw::c_int;
6347}
6348extern "C" {
6349 pub fn mpfr_init2(arg1: mpfr_ptr, arg2: mpfr_prec_t);
6350}
6351extern "C" {
6352 pub fn mpfr_init(arg1: mpfr_ptr);
6353}
6354extern "C" {
6355 pub fn mpfr_clear(arg1: mpfr_ptr);
6356}
6357extern "C" {
6358 pub fn mpfr_inits2(arg1: mpfr_prec_t, arg2: mpfr_ptr, ...);
6359}
6360extern "C" {
6361 pub fn mpfr_inits(arg1: mpfr_ptr, ...);
6362}
6363extern "C" {
6364 pub fn mpfr_clears(arg1: mpfr_ptr, ...);
6365}
6366extern "C" {
6367 pub fn mpfr_prec_round(
6368 arg1: mpfr_ptr,
6369 arg2: mpfr_prec_t,
6370 arg3: mpfr_rnd_t,
6371 ) -> ::std::os::raw::c_int;
6372}
6373extern "C" {
6374 pub fn mpfr_can_round(
6375 arg1: mpfr_srcptr,
6376 arg2: mpfr_exp_t,
6377 arg3: mpfr_rnd_t,
6378 arg4: mpfr_rnd_t,
6379 arg5: mpfr_prec_t,
6380 ) -> ::std::os::raw::c_int;
6381}
6382extern "C" {
6383 pub fn mpfr_min_prec(arg1: mpfr_srcptr) -> mpfr_prec_t;
6384}
6385extern "C" {
6386 pub fn mpfr_get_exp(arg1: mpfr_srcptr) -> mpfr_exp_t;
6387}
6388extern "C" {
6389 pub fn mpfr_set_exp(arg1: mpfr_ptr, arg2: mpfr_exp_t) -> ::std::os::raw::c_int;
6390}
6391extern "C" {
6392 pub fn mpfr_get_prec(arg1: mpfr_srcptr) -> mpfr_prec_t;
6393}
6394extern "C" {
6395 pub fn mpfr_set_prec(arg1: mpfr_ptr, arg2: mpfr_prec_t);
6396}
6397extern "C" {
6398 pub fn mpfr_set_prec_raw(arg1: mpfr_ptr, arg2: mpfr_prec_t);
6399}
6400extern "C" {
6401 pub fn mpfr_set_default_prec(arg1: mpfr_prec_t);
6402}
6403extern "C" {
6404 pub fn mpfr_get_default_prec() -> mpfr_prec_t;
6405}
6406extern "C" {
6407 pub fn mpfr_set_d(arg1: mpfr_ptr, arg2: f64, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
6408}
6409extern "C" {
6410 pub fn mpfr_set_flt(arg1: mpfr_ptr, arg2: f32, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
6411}
6412extern "C" {
6413 pub fn mpfr_set_ld(arg1: mpfr_ptr, arg2: u128, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
6414}
6415extern "C" {
6416 pub fn mpfr_set_z(arg1: mpfr_ptr, arg2: mpz_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
6417}
6418extern "C" {
6419 pub fn mpfr_set_z_2exp(
6420 arg1: mpfr_ptr,
6421 arg2: mpz_srcptr,
6422 arg3: mpfr_exp_t,
6423 arg4: mpfr_rnd_t,
6424 ) -> ::std::os::raw::c_int;
6425}
6426extern "C" {
6427 pub fn mpfr_set_nan(arg1: mpfr_ptr);
6428}
6429extern "C" {
6430 pub fn mpfr_set_inf(arg1: mpfr_ptr, arg2: ::std::os::raw::c_int);
6431}
6432extern "C" {
6433 pub fn mpfr_set_zero(arg1: mpfr_ptr, arg2: ::std::os::raw::c_int);
6434}
6435extern "C" {
6436 pub fn mpfr_set_f(arg1: mpfr_ptr, arg2: mpf_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
6437}
6438extern "C" {
6439 pub fn mpfr_cmp_f(arg1: mpfr_srcptr, arg2: mpf_srcptr) -> ::std::os::raw::c_int;
6440}
6441extern "C" {
6442 pub fn mpfr_get_f(arg1: mpf_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
6443}
6444extern "C" {
6445 pub fn mpfr_set_si(
6446 arg1: mpfr_ptr,
6447 arg2: ::std::os::raw::c_long,
6448 arg3: mpfr_rnd_t,
6449 ) -> ::std::os::raw::c_int;
6450}
6451extern "C" {
6452 pub fn mpfr_set_ui(
6453 arg1: mpfr_ptr,
6454 arg2: ::std::os::raw::c_ulong,
6455 arg3: mpfr_rnd_t,
6456 ) -> ::std::os::raw::c_int;
6457}
6458extern "C" {
6459 pub fn mpfr_set_si_2exp(
6460 arg1: mpfr_ptr,
6461 arg2: ::std::os::raw::c_long,
6462 arg3: mpfr_exp_t,
6463 arg4: mpfr_rnd_t,
6464 ) -> ::std::os::raw::c_int;
6465}
6466extern "C" {
6467 pub fn mpfr_set_ui_2exp(
6468 arg1: mpfr_ptr,
6469 arg2: ::std::os::raw::c_ulong,
6470 arg3: mpfr_exp_t,
6471 arg4: mpfr_rnd_t,
6472 ) -> ::std::os::raw::c_int;
6473}
6474extern "C" {
6475 pub fn mpfr_set_q(arg1: mpfr_ptr, arg2: mpq_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
6476}
6477extern "C" {
6478 pub fn mpfr_mul_q(
6479 arg1: mpfr_ptr,
6480 arg2: mpfr_srcptr,
6481 arg3: mpq_srcptr,
6482 arg4: mpfr_rnd_t,
6483 ) -> ::std::os::raw::c_int;
6484}
6485extern "C" {
6486 pub fn mpfr_div_q(
6487 arg1: mpfr_ptr,
6488 arg2: mpfr_srcptr,
6489 arg3: mpq_srcptr,
6490 arg4: mpfr_rnd_t,
6491 ) -> ::std::os::raw::c_int;
6492}
6493extern "C" {
6494 pub fn mpfr_add_q(
6495 arg1: mpfr_ptr,
6496 arg2: mpfr_srcptr,
6497 arg3: mpq_srcptr,
6498 arg4: mpfr_rnd_t,
6499 ) -> ::std::os::raw::c_int;
6500}
6501extern "C" {
6502 pub fn mpfr_sub_q(
6503 arg1: mpfr_ptr,
6504 arg2: mpfr_srcptr,
6505 arg3: mpq_srcptr,
6506 arg4: mpfr_rnd_t,
6507 ) -> ::std::os::raw::c_int;
6508}
6509extern "C" {
6510 pub fn mpfr_cmp_q(arg1: mpfr_srcptr, arg2: mpq_srcptr) -> ::std::os::raw::c_int;
6511}
6512extern "C" {
6513 pub fn mpfr_get_q(q: mpq_ptr, f: mpfr_srcptr);
6514}
6515extern "C" {
6516 pub fn mpfr_set_str(
6517 arg1: mpfr_ptr,
6518 arg2: *const ::std::os::raw::c_char,
6519 arg3: ::std::os::raw::c_int,
6520 arg4: mpfr_rnd_t,
6521 ) -> ::std::os::raw::c_int;
6522}
6523extern "C" {
6524 pub fn mpfr_init_set_str(
6525 arg1: mpfr_ptr,
6526 arg2: *const ::std::os::raw::c_char,
6527 arg3: ::std::os::raw::c_int,
6528 arg4: mpfr_rnd_t,
6529 ) -> ::std::os::raw::c_int;
6530}
6531extern "C" {
6532 pub fn mpfr_set4(
6533 arg1: mpfr_ptr,
6534 arg2: mpfr_srcptr,
6535 arg3: mpfr_rnd_t,
6536 arg4: ::std::os::raw::c_int,
6537 ) -> ::std::os::raw::c_int;
6538}
6539extern "C" {
6540 pub fn mpfr_abs(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
6541}
6542extern "C" {
6543 pub fn mpfr_set(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
6544}
6545extern "C" {
6546 pub fn mpfr_neg(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
6547}
6548extern "C" {
6549 pub fn mpfr_signbit(arg1: mpfr_srcptr) -> ::std::os::raw::c_int;
6550}
6551extern "C" {
6552 pub fn mpfr_setsign(
6553 arg1: mpfr_ptr,
6554 arg2: mpfr_srcptr,
6555 arg3: ::std::os::raw::c_int,
6556 arg4: mpfr_rnd_t,
6557 ) -> ::std::os::raw::c_int;
6558}
6559extern "C" {
6560 pub fn mpfr_copysign(
6561 arg1: mpfr_ptr,
6562 arg2: mpfr_srcptr,
6563 arg3: mpfr_srcptr,
6564 arg4: mpfr_rnd_t,
6565 ) -> ::std::os::raw::c_int;
6566}
6567extern "C" {
6568 pub fn mpfr_get_z_2exp(arg1: mpz_ptr, arg2: mpfr_srcptr) -> mpfr_exp_t;
6569}
6570extern "C" {
6571 pub fn mpfr_get_flt(arg1: mpfr_srcptr, arg2: mpfr_rnd_t) -> f32;
6572}
6573extern "C" {
6574 pub fn mpfr_get_d(arg1: mpfr_srcptr, arg2: mpfr_rnd_t) -> f64;
6575}
6576extern "C" {
6577 pub fn mpfr_get_ld(arg1: mpfr_srcptr, arg2: mpfr_rnd_t) -> u128;
6578}
6579extern "C" {
6580 pub fn mpfr_get_d1(arg1: mpfr_srcptr) -> f64;
6581}
6582extern "C" {
6583 pub fn mpfr_get_d_2exp(
6584 arg1: *mut ::std::os::raw::c_long,
6585 arg2: mpfr_srcptr,
6586 arg3: mpfr_rnd_t,
6587 ) -> f64;
6588}
6589extern "C" {
6590 pub fn mpfr_get_ld_2exp(
6591 arg1: *mut ::std::os::raw::c_long,
6592 arg2: mpfr_srcptr,
6593 arg3: mpfr_rnd_t,
6594 ) -> u128;
6595}
6596extern "C" {
6597 pub fn mpfr_frexp(
6598 arg1: *mut mpfr_exp_t,
6599 arg2: mpfr_ptr,
6600 arg3: mpfr_srcptr,
6601 arg4: mpfr_rnd_t,
6602 ) -> ::std::os::raw::c_int;
6603}
6604extern "C" {
6605 pub fn mpfr_get_si(arg1: mpfr_srcptr, arg2: mpfr_rnd_t) -> ::std::os::raw::c_long;
6606}
6607extern "C" {
6608 pub fn mpfr_get_ui(arg1: mpfr_srcptr, arg2: mpfr_rnd_t) -> ::std::os::raw::c_ulong;
6609}
6610extern "C" {
6611 pub fn mpfr_get_str(
6612 arg1: *mut ::std::os::raw::c_char,
6613 arg2: *mut mpfr_exp_t,
6614 arg3: ::std::os::raw::c_int,
6615 arg4: usize,
6616 arg5: mpfr_srcptr,
6617 arg6: mpfr_rnd_t,
6618 ) -> *mut ::std::os::raw::c_char;
6619}
6620extern "C" {
6621 pub fn mpfr_get_z(z: mpz_ptr, f: mpfr_srcptr, arg1: mpfr_rnd_t) -> ::std::os::raw::c_int;
6622}
6623extern "C" {
6624 pub fn mpfr_free_str(arg1: *mut ::std::os::raw::c_char);
6625}
6626extern "C" {
6627 pub fn mpfr_urandom(
6628 arg1: mpfr_ptr,
6629 arg2: *mut __gmp_randstate_struct,
6630 arg3: mpfr_rnd_t,
6631 ) -> ::std::os::raw::c_int;
6632}
6633extern "C" {
6634 pub fn mpfr_grandom(
6635 arg1: mpfr_ptr,
6636 arg2: mpfr_ptr,
6637 arg3: *mut __gmp_randstate_struct,
6638 arg4: mpfr_rnd_t,
6639 ) -> ::std::os::raw::c_int;
6640}
6641extern "C" {
6642 pub fn mpfr_nrandom(
6643 arg1: mpfr_ptr,
6644 arg2: *mut __gmp_randstate_struct,
6645 arg3: mpfr_rnd_t,
6646 ) -> ::std::os::raw::c_int;
6647}
6648extern "C" {
6649 pub fn mpfr_erandom(
6650 arg1: mpfr_ptr,
6651 arg2: *mut __gmp_randstate_struct,
6652 arg3: mpfr_rnd_t,
6653 ) -> ::std::os::raw::c_int;
6654}
6655extern "C" {
6656 pub fn mpfr_urandomb(
6657 arg1: mpfr_ptr,
6658 arg2: *mut __gmp_randstate_struct,
6659 ) -> ::std::os::raw::c_int;
6660}
6661extern "C" {
6662 pub fn mpfr_nextabove(arg1: mpfr_ptr);
6663}
6664extern "C" {
6665 pub fn mpfr_nextbelow(arg1: mpfr_ptr);
6666}
6667extern "C" {
6668 pub fn mpfr_nexttoward(arg1: mpfr_ptr, arg2: mpfr_srcptr);
6669}
6670extern "C" {
6671 pub fn mpfr_printf(arg1: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
6672}
6673extern "C" {
6674 pub fn mpfr_asprintf(
6675 arg1: *mut *mut ::std::os::raw::c_char,
6676 arg2: *const ::std::os::raw::c_char,
6677 ...
6678 ) -> ::std::os::raw::c_int;
6679}
6680extern "C" {
6681 pub fn mpfr_sprintf(
6682 arg1: *mut ::std::os::raw::c_char,
6683 arg2: *const ::std::os::raw::c_char,
6684 ...
6685 ) -> ::std::os::raw::c_int;
6686}
6687extern "C" {
6688 pub fn mpfr_snprintf(
6689 arg1: *mut ::std::os::raw::c_char,
6690 arg2: usize,
6691 arg3: *const ::std::os::raw::c_char,
6692 ...
6693 ) -> ::std::os::raw::c_int;
6694}
6695extern "C" {
6696 pub fn mpfr_pow(
6697 arg1: mpfr_ptr,
6698 arg2: mpfr_srcptr,
6699 arg3: mpfr_srcptr,
6700 arg4: mpfr_rnd_t,
6701 ) -> ::std::os::raw::c_int;
6702}
6703extern "C" {
6704 pub fn mpfr_pow_si(
6705 arg1: mpfr_ptr,
6706 arg2: mpfr_srcptr,
6707 arg3: ::std::os::raw::c_long,
6708 arg4: mpfr_rnd_t,
6709 ) -> ::std::os::raw::c_int;
6710}
6711extern "C" {
6712 pub fn mpfr_pow_ui(
6713 arg1: mpfr_ptr,
6714 arg2: mpfr_srcptr,
6715 arg3: ::std::os::raw::c_ulong,
6716 arg4: mpfr_rnd_t,
6717 ) -> ::std::os::raw::c_int;
6718}
6719extern "C" {
6720 pub fn mpfr_ui_pow_ui(
6721 arg1: mpfr_ptr,
6722 arg2: ::std::os::raw::c_ulong,
6723 arg3: ::std::os::raw::c_ulong,
6724 arg4: mpfr_rnd_t,
6725 ) -> ::std::os::raw::c_int;
6726}
6727extern "C" {
6728 pub fn mpfr_ui_pow(
6729 arg1: mpfr_ptr,
6730 arg2: ::std::os::raw::c_ulong,
6731 arg3: mpfr_srcptr,
6732 arg4: mpfr_rnd_t,
6733 ) -> ::std::os::raw::c_int;
6734}
6735extern "C" {
6736 pub fn mpfr_pow_z(
6737 arg1: mpfr_ptr,
6738 arg2: mpfr_srcptr,
6739 arg3: mpz_srcptr,
6740 arg4: mpfr_rnd_t,
6741 ) -> ::std::os::raw::c_int;
6742}
6743extern "C" {
6744 pub fn mpfr_sqrt(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
6745}
6746extern "C" {
6747 pub fn mpfr_sqrt_ui(
6748 arg1: mpfr_ptr,
6749 arg2: ::std::os::raw::c_ulong,
6750 arg3: mpfr_rnd_t,
6751 ) -> ::std::os::raw::c_int;
6752}
6753extern "C" {
6754 pub fn mpfr_rec_sqrt(
6755 arg1: mpfr_ptr,
6756 arg2: mpfr_srcptr,
6757 arg3: mpfr_rnd_t,
6758 ) -> ::std::os::raw::c_int;
6759}
6760extern "C" {
6761 pub fn mpfr_add(
6762 arg1: mpfr_ptr,
6763 arg2: mpfr_srcptr,
6764 arg3: mpfr_srcptr,
6765 arg4: mpfr_rnd_t,
6766 ) -> ::std::os::raw::c_int;
6767}
6768extern "C" {
6769 pub fn mpfr_sub(
6770 arg1: mpfr_ptr,
6771 arg2: mpfr_srcptr,
6772 arg3: mpfr_srcptr,
6773 arg4: mpfr_rnd_t,
6774 ) -> ::std::os::raw::c_int;
6775}
6776extern "C" {
6777 pub fn mpfr_mul(
6778 arg1: mpfr_ptr,
6779 arg2: mpfr_srcptr,
6780 arg3: mpfr_srcptr,
6781 arg4: mpfr_rnd_t,
6782 ) -> ::std::os::raw::c_int;
6783}
6784extern "C" {
6785 pub fn mpfr_div(
6786 arg1: mpfr_ptr,
6787 arg2: mpfr_srcptr,
6788 arg3: mpfr_srcptr,
6789 arg4: mpfr_rnd_t,
6790 ) -> ::std::os::raw::c_int;
6791}
6792extern "C" {
6793 pub fn mpfr_add_ui(
6794 arg1: mpfr_ptr,
6795 arg2: mpfr_srcptr,
6796 arg3: ::std::os::raw::c_ulong,
6797 arg4: mpfr_rnd_t,
6798 ) -> ::std::os::raw::c_int;
6799}
6800extern "C" {
6801 pub fn mpfr_sub_ui(
6802 arg1: mpfr_ptr,
6803 arg2: mpfr_srcptr,
6804 arg3: ::std::os::raw::c_ulong,
6805 arg4: mpfr_rnd_t,
6806 ) -> ::std::os::raw::c_int;
6807}
6808extern "C" {
6809 pub fn mpfr_ui_sub(
6810 arg1: mpfr_ptr,
6811 arg2: ::std::os::raw::c_ulong,
6812 arg3: mpfr_srcptr,
6813 arg4: mpfr_rnd_t,
6814 ) -> ::std::os::raw::c_int;
6815}
6816extern "C" {
6817 pub fn mpfr_mul_ui(
6818 arg1: mpfr_ptr,
6819 arg2: mpfr_srcptr,
6820 arg3: ::std::os::raw::c_ulong,
6821 arg4: mpfr_rnd_t,
6822 ) -> ::std::os::raw::c_int;
6823}
6824extern "C" {
6825 pub fn mpfr_div_ui(
6826 arg1: mpfr_ptr,
6827 arg2: mpfr_srcptr,
6828 arg3: ::std::os::raw::c_ulong,
6829 arg4: mpfr_rnd_t,
6830 ) -> ::std::os::raw::c_int;
6831}
6832extern "C" {
6833 pub fn mpfr_ui_div(
6834 arg1: mpfr_ptr,
6835 arg2: ::std::os::raw::c_ulong,
6836 arg3: mpfr_srcptr,
6837 arg4: mpfr_rnd_t,
6838 ) -> ::std::os::raw::c_int;
6839}
6840extern "C" {
6841 pub fn mpfr_add_si(
6842 arg1: mpfr_ptr,
6843 arg2: mpfr_srcptr,
6844 arg3: ::std::os::raw::c_long,
6845 arg4: mpfr_rnd_t,
6846 ) -> ::std::os::raw::c_int;
6847}
6848extern "C" {
6849 pub fn mpfr_sub_si(
6850 arg1: mpfr_ptr,
6851 arg2: mpfr_srcptr,
6852 arg3: ::std::os::raw::c_long,
6853 arg4: mpfr_rnd_t,
6854 ) -> ::std::os::raw::c_int;
6855}
6856extern "C" {
6857 pub fn mpfr_si_sub(
6858 arg1: mpfr_ptr,
6859 arg2: ::std::os::raw::c_long,
6860 arg3: mpfr_srcptr,
6861 arg4: mpfr_rnd_t,
6862 ) -> ::std::os::raw::c_int;
6863}
6864extern "C" {
6865 pub fn mpfr_mul_si(
6866 arg1: mpfr_ptr,
6867 arg2: mpfr_srcptr,
6868 arg3: ::std::os::raw::c_long,
6869 arg4: mpfr_rnd_t,
6870 ) -> ::std::os::raw::c_int;
6871}
6872extern "C" {
6873 pub fn mpfr_div_si(
6874 arg1: mpfr_ptr,
6875 arg2: mpfr_srcptr,
6876 arg3: ::std::os::raw::c_long,
6877 arg4: mpfr_rnd_t,
6878 ) -> ::std::os::raw::c_int;
6879}
6880extern "C" {
6881 pub fn mpfr_si_div(
6882 arg1: mpfr_ptr,
6883 arg2: ::std::os::raw::c_long,
6884 arg3: mpfr_srcptr,
6885 arg4: mpfr_rnd_t,
6886 ) -> ::std::os::raw::c_int;
6887}
6888extern "C" {
6889 pub fn mpfr_add_d(
6890 arg1: mpfr_ptr,
6891 arg2: mpfr_srcptr,
6892 arg3: f64,
6893 arg4: mpfr_rnd_t,
6894 ) -> ::std::os::raw::c_int;
6895}
6896extern "C" {
6897 pub fn mpfr_sub_d(
6898 arg1: mpfr_ptr,
6899 arg2: mpfr_srcptr,
6900 arg3: f64,
6901 arg4: mpfr_rnd_t,
6902 ) -> ::std::os::raw::c_int;
6903}
6904extern "C" {
6905 pub fn mpfr_d_sub(
6906 arg1: mpfr_ptr,
6907 arg2: f64,
6908 arg3: mpfr_srcptr,
6909 arg4: mpfr_rnd_t,
6910 ) -> ::std::os::raw::c_int;
6911}
6912extern "C" {
6913 pub fn mpfr_mul_d(
6914 arg1: mpfr_ptr,
6915 arg2: mpfr_srcptr,
6916 arg3: f64,
6917 arg4: mpfr_rnd_t,
6918 ) -> ::std::os::raw::c_int;
6919}
6920extern "C" {
6921 pub fn mpfr_div_d(
6922 arg1: mpfr_ptr,
6923 arg2: mpfr_srcptr,
6924 arg3: f64,
6925 arg4: mpfr_rnd_t,
6926 ) -> ::std::os::raw::c_int;
6927}
6928extern "C" {
6929 pub fn mpfr_d_div(
6930 arg1: mpfr_ptr,
6931 arg2: f64,
6932 arg3: mpfr_srcptr,
6933 arg4: mpfr_rnd_t,
6934 ) -> ::std::os::raw::c_int;
6935}
6936extern "C" {
6937 pub fn mpfr_sqr(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
6938}
6939extern "C" {
6940 pub fn mpfr_const_pi(arg1: mpfr_ptr, arg2: mpfr_rnd_t) -> ::std::os::raw::c_int;
6941}
6942extern "C" {
6943 pub fn mpfr_const_log2(arg1: mpfr_ptr, arg2: mpfr_rnd_t) -> ::std::os::raw::c_int;
6944}
6945extern "C" {
6946 pub fn mpfr_const_euler(arg1: mpfr_ptr, arg2: mpfr_rnd_t) -> ::std::os::raw::c_int;
6947}
6948extern "C" {
6949 pub fn mpfr_const_catalan(arg1: mpfr_ptr, arg2: mpfr_rnd_t) -> ::std::os::raw::c_int;
6950}
6951extern "C" {
6952 pub fn mpfr_agm(
6953 arg1: mpfr_ptr,
6954 arg2: mpfr_srcptr,
6955 arg3: mpfr_srcptr,
6956 arg4: mpfr_rnd_t,
6957 ) -> ::std::os::raw::c_int;
6958}
6959extern "C" {
6960 pub fn mpfr_log(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
6961}
6962extern "C" {
6963 pub fn mpfr_log2(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
6964}
6965extern "C" {
6966 pub fn mpfr_log10(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t)
6967 -> ::std::os::raw::c_int;
6968}
6969extern "C" {
6970 pub fn mpfr_log1p(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t)
6971 -> ::std::os::raw::c_int;
6972}
6973extern "C" {
6974 pub fn mpfr_log_ui(
6975 arg1: mpfr_ptr,
6976 arg2: ::std::os::raw::c_ulong,
6977 arg3: mpfr_rnd_t,
6978 ) -> ::std::os::raw::c_int;
6979}
6980extern "C" {
6981 pub fn mpfr_exp(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
6982}
6983extern "C" {
6984 pub fn mpfr_exp2(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
6985}
6986extern "C" {
6987 pub fn mpfr_exp10(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t)
6988 -> ::std::os::raw::c_int;
6989}
6990extern "C" {
6991 pub fn mpfr_expm1(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t)
6992 -> ::std::os::raw::c_int;
6993}
6994extern "C" {
6995 pub fn mpfr_eint(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
6996}
6997extern "C" {
6998 pub fn mpfr_li2(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
6999}
7000extern "C" {
7001 pub fn mpfr_cmp(arg1: mpfr_srcptr, arg2: mpfr_srcptr) -> ::std::os::raw::c_int;
7002}
7003extern "C" {
7004 pub fn mpfr_cmp3(
7005 arg1: mpfr_srcptr,
7006 arg2: mpfr_srcptr,
7007 arg3: ::std::os::raw::c_int,
7008 ) -> ::std::os::raw::c_int;
7009}
7010extern "C" {
7011 pub fn mpfr_cmp_d(arg1: mpfr_srcptr, arg2: f64) -> ::std::os::raw::c_int;
7012}
7013extern "C" {
7014 pub fn mpfr_cmp_ld(arg1: mpfr_srcptr, arg2: u128) -> ::std::os::raw::c_int;
7015}
7016extern "C" {
7017 pub fn mpfr_cmpabs(arg1: mpfr_srcptr, arg2: mpfr_srcptr) -> ::std::os::raw::c_int;
7018}
7019extern "C" {
7020 pub fn mpfr_cmp_ui(arg1: mpfr_srcptr, arg2: ::std::os::raw::c_ulong) -> ::std::os::raw::c_int;
7021}
7022extern "C" {
7023 pub fn mpfr_cmp_si(arg1: mpfr_srcptr, arg2: ::std::os::raw::c_long) -> ::std::os::raw::c_int;
7024}
7025extern "C" {
7026 pub fn mpfr_cmp_ui_2exp(
7027 arg1: mpfr_srcptr,
7028 arg2: ::std::os::raw::c_ulong,
7029 arg3: mpfr_exp_t,
7030 ) -> ::std::os::raw::c_int;
7031}
7032extern "C" {
7033 pub fn mpfr_cmp_si_2exp(
7034 arg1: mpfr_srcptr,
7035 arg2: ::std::os::raw::c_long,
7036 arg3: mpfr_exp_t,
7037 ) -> ::std::os::raw::c_int;
7038}
7039extern "C" {
7040 pub fn mpfr_reldiff(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_srcptr, arg4: mpfr_rnd_t);
7041}
7042extern "C" {
7043 pub fn mpfr_eq(
7044 arg1: mpfr_srcptr,
7045 arg2: mpfr_srcptr,
7046 arg3: ::std::os::raw::c_ulong,
7047 ) -> ::std::os::raw::c_int;
7048}
7049extern "C" {
7050 pub fn mpfr_sgn(arg1: mpfr_srcptr) -> ::std::os::raw::c_int;
7051}
7052extern "C" {
7053 pub fn mpfr_mul_2exp(
7054 arg1: mpfr_ptr,
7055 arg2: mpfr_srcptr,
7056 arg3: ::std::os::raw::c_ulong,
7057 arg4: mpfr_rnd_t,
7058 ) -> ::std::os::raw::c_int;
7059}
7060extern "C" {
7061 pub fn mpfr_div_2exp(
7062 arg1: mpfr_ptr,
7063 arg2: mpfr_srcptr,
7064 arg3: ::std::os::raw::c_ulong,
7065 arg4: mpfr_rnd_t,
7066 ) -> ::std::os::raw::c_int;
7067}
7068extern "C" {
7069 pub fn mpfr_mul_2ui(
7070 arg1: mpfr_ptr,
7071 arg2: mpfr_srcptr,
7072 arg3: ::std::os::raw::c_ulong,
7073 arg4: mpfr_rnd_t,
7074 ) -> ::std::os::raw::c_int;
7075}
7076extern "C" {
7077 pub fn mpfr_div_2ui(
7078 arg1: mpfr_ptr,
7079 arg2: mpfr_srcptr,
7080 arg3: ::std::os::raw::c_ulong,
7081 arg4: mpfr_rnd_t,
7082 ) -> ::std::os::raw::c_int;
7083}
7084extern "C" {
7085 pub fn mpfr_mul_2si(
7086 arg1: mpfr_ptr,
7087 arg2: mpfr_srcptr,
7088 arg3: ::std::os::raw::c_long,
7089 arg4: mpfr_rnd_t,
7090 ) -> ::std::os::raw::c_int;
7091}
7092extern "C" {
7093 pub fn mpfr_div_2si(
7094 arg1: mpfr_ptr,
7095 arg2: mpfr_srcptr,
7096 arg3: ::std::os::raw::c_long,
7097 arg4: mpfr_rnd_t,
7098 ) -> ::std::os::raw::c_int;
7099}
7100extern "C" {
7101 pub fn mpfr_rint(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
7102}
7103extern "C" {
7104 pub fn mpfr_roundeven(arg1: mpfr_ptr, arg2: mpfr_srcptr) -> ::std::os::raw::c_int;
7105}
7106extern "C" {
7107 pub fn mpfr_round(arg1: mpfr_ptr, arg2: mpfr_srcptr) -> ::std::os::raw::c_int;
7108}
7109extern "C" {
7110 pub fn mpfr_trunc(arg1: mpfr_ptr, arg2: mpfr_srcptr) -> ::std::os::raw::c_int;
7111}
7112extern "C" {
7113 pub fn mpfr_ceil(arg1: mpfr_ptr, arg2: mpfr_srcptr) -> ::std::os::raw::c_int;
7114}
7115extern "C" {
7116 pub fn mpfr_floor(arg1: mpfr_ptr, arg2: mpfr_srcptr) -> ::std::os::raw::c_int;
7117}
7118extern "C" {
7119 pub fn mpfr_rint_roundeven(
7120 arg1: mpfr_ptr,
7121 arg2: mpfr_srcptr,
7122 arg3: mpfr_rnd_t,
7123 ) -> ::std::os::raw::c_int;
7124}
7125extern "C" {
7126 pub fn mpfr_rint_round(
7127 arg1: mpfr_ptr,
7128 arg2: mpfr_srcptr,
7129 arg3: mpfr_rnd_t,
7130 ) -> ::std::os::raw::c_int;
7131}
7132extern "C" {
7133 pub fn mpfr_rint_trunc(
7134 arg1: mpfr_ptr,
7135 arg2: mpfr_srcptr,
7136 arg3: mpfr_rnd_t,
7137 ) -> ::std::os::raw::c_int;
7138}
7139extern "C" {
7140 pub fn mpfr_rint_ceil(
7141 arg1: mpfr_ptr,
7142 arg2: mpfr_srcptr,
7143 arg3: mpfr_rnd_t,
7144 ) -> ::std::os::raw::c_int;
7145}
7146extern "C" {
7147 pub fn mpfr_rint_floor(
7148 arg1: mpfr_ptr,
7149 arg2: mpfr_srcptr,
7150 arg3: mpfr_rnd_t,
7151 ) -> ::std::os::raw::c_int;
7152}
7153extern "C" {
7154 pub fn mpfr_frac(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
7155}
7156extern "C" {
7157 pub fn mpfr_modf(
7158 arg1: mpfr_ptr,
7159 arg2: mpfr_ptr,
7160 arg3: mpfr_srcptr,
7161 arg4: mpfr_rnd_t,
7162 ) -> ::std::os::raw::c_int;
7163}
7164extern "C" {
7165 pub fn mpfr_remquo(
7166 arg1: mpfr_ptr,
7167 arg2: *mut ::std::os::raw::c_long,
7168 arg3: mpfr_srcptr,
7169 arg4: mpfr_srcptr,
7170 arg5: mpfr_rnd_t,
7171 ) -> ::std::os::raw::c_int;
7172}
7173extern "C" {
7174 pub fn mpfr_remainder(
7175 arg1: mpfr_ptr,
7176 arg2: mpfr_srcptr,
7177 arg3: mpfr_srcptr,
7178 arg4: mpfr_rnd_t,
7179 ) -> ::std::os::raw::c_int;
7180}
7181extern "C" {
7182 pub fn mpfr_fmod(
7183 arg1: mpfr_ptr,
7184 arg2: mpfr_srcptr,
7185 arg3: mpfr_srcptr,
7186 arg4: mpfr_rnd_t,
7187 ) -> ::std::os::raw::c_int;
7188}
7189extern "C" {
7190 pub fn mpfr_fmodquo(
7191 arg1: mpfr_ptr,
7192 arg2: *mut ::std::os::raw::c_long,
7193 arg3: mpfr_srcptr,
7194 arg4: mpfr_srcptr,
7195 arg5: mpfr_rnd_t,
7196 ) -> ::std::os::raw::c_int;
7197}
7198extern "C" {
7199 pub fn mpfr_fits_ulong_p(arg1: mpfr_srcptr, arg2: mpfr_rnd_t) -> ::std::os::raw::c_int;
7200}
7201extern "C" {
7202 pub fn mpfr_fits_slong_p(arg1: mpfr_srcptr, arg2: mpfr_rnd_t) -> ::std::os::raw::c_int;
7203}
7204extern "C" {
7205 pub fn mpfr_fits_uint_p(arg1: mpfr_srcptr, arg2: mpfr_rnd_t) -> ::std::os::raw::c_int;
7206}
7207extern "C" {
7208 pub fn mpfr_fits_sint_p(arg1: mpfr_srcptr, arg2: mpfr_rnd_t) -> ::std::os::raw::c_int;
7209}
7210extern "C" {
7211 pub fn mpfr_fits_ushort_p(arg1: mpfr_srcptr, arg2: mpfr_rnd_t) -> ::std::os::raw::c_int;
7212}
7213extern "C" {
7214 pub fn mpfr_fits_sshort_p(arg1: mpfr_srcptr, arg2: mpfr_rnd_t) -> ::std::os::raw::c_int;
7215}
7216extern "C" {
7217 pub fn mpfr_fits_uintmax_p(arg1: mpfr_srcptr, arg2: mpfr_rnd_t) -> ::std::os::raw::c_int;
7218}
7219extern "C" {
7220 pub fn mpfr_fits_intmax_p(arg1: mpfr_srcptr, arg2: mpfr_rnd_t) -> ::std::os::raw::c_int;
7221}
7222extern "C" {
7223 pub fn mpfr_extract(arg1: mpz_ptr, arg2: mpfr_srcptr, arg3: ::std::os::raw::c_uint);
7224}
7225extern "C" {
7226 pub fn mpfr_swap(arg1: mpfr_ptr, arg2: mpfr_ptr);
7227}
7228extern "C" {
7229 pub fn mpfr_dump(arg1: mpfr_srcptr);
7230}
7231extern "C" {
7232 pub fn mpfr_nan_p(arg1: mpfr_srcptr) -> ::std::os::raw::c_int;
7233}
7234extern "C" {
7235 pub fn mpfr_inf_p(arg1: mpfr_srcptr) -> ::std::os::raw::c_int;
7236}
7237extern "C" {
7238 pub fn mpfr_number_p(arg1: mpfr_srcptr) -> ::std::os::raw::c_int;
7239}
7240extern "C" {
7241 pub fn mpfr_integer_p(arg1: mpfr_srcptr) -> ::std::os::raw::c_int;
7242}
7243extern "C" {
7244 pub fn mpfr_zero_p(arg1: mpfr_srcptr) -> ::std::os::raw::c_int;
7245}
7246extern "C" {
7247 pub fn mpfr_regular_p(arg1: mpfr_srcptr) -> ::std::os::raw::c_int;
7248}
7249extern "C" {
7250 pub fn mpfr_greater_p(arg1: mpfr_srcptr, arg2: mpfr_srcptr) -> ::std::os::raw::c_int;
7251}
7252extern "C" {
7253 pub fn mpfr_greaterequal_p(arg1: mpfr_srcptr, arg2: mpfr_srcptr) -> ::std::os::raw::c_int;
7254}
7255extern "C" {
7256 pub fn mpfr_less_p(arg1: mpfr_srcptr, arg2: mpfr_srcptr) -> ::std::os::raw::c_int;
7257}
7258extern "C" {
7259 pub fn mpfr_lessequal_p(arg1: mpfr_srcptr, arg2: mpfr_srcptr) -> ::std::os::raw::c_int;
7260}
7261extern "C" {
7262 pub fn mpfr_lessgreater_p(arg1: mpfr_srcptr, arg2: mpfr_srcptr) -> ::std::os::raw::c_int;
7263}
7264extern "C" {
7265 pub fn mpfr_equal_p(arg1: mpfr_srcptr, arg2: mpfr_srcptr) -> ::std::os::raw::c_int;
7266}
7267extern "C" {
7268 pub fn mpfr_unordered_p(arg1: mpfr_srcptr, arg2: mpfr_srcptr) -> ::std::os::raw::c_int;
7269}
7270extern "C" {
7271 pub fn mpfr_atanh(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t)
7272 -> ::std::os::raw::c_int;
7273}
7274extern "C" {
7275 pub fn mpfr_acosh(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t)
7276 -> ::std::os::raw::c_int;
7277}
7278extern "C" {
7279 pub fn mpfr_asinh(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t)
7280 -> ::std::os::raw::c_int;
7281}
7282extern "C" {
7283 pub fn mpfr_cosh(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
7284}
7285extern "C" {
7286 pub fn mpfr_sinh(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
7287}
7288extern "C" {
7289 pub fn mpfr_tanh(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
7290}
7291extern "C" {
7292 pub fn mpfr_sinh_cosh(
7293 arg1: mpfr_ptr,
7294 arg2: mpfr_ptr,
7295 arg3: mpfr_srcptr,
7296 arg4: mpfr_rnd_t,
7297 ) -> ::std::os::raw::c_int;
7298}
7299extern "C" {
7300 pub fn mpfr_sech(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
7301}
7302extern "C" {
7303 pub fn mpfr_csch(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
7304}
7305extern "C" {
7306 pub fn mpfr_coth(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
7307}
7308extern "C" {
7309 pub fn mpfr_acos(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
7310}
7311extern "C" {
7312 pub fn mpfr_asin(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
7313}
7314extern "C" {
7315 pub fn mpfr_atan(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
7316}
7317extern "C" {
7318 pub fn mpfr_sin(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
7319}
7320extern "C" {
7321 pub fn mpfr_sin_cos(
7322 arg1: mpfr_ptr,
7323 arg2: mpfr_ptr,
7324 arg3: mpfr_srcptr,
7325 arg4: mpfr_rnd_t,
7326 ) -> ::std::os::raw::c_int;
7327}
7328extern "C" {
7329 pub fn mpfr_cos(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
7330}
7331extern "C" {
7332 pub fn mpfr_tan(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
7333}
7334extern "C" {
7335 pub fn mpfr_atan2(
7336 arg1: mpfr_ptr,
7337 arg2: mpfr_srcptr,
7338 arg3: mpfr_srcptr,
7339 arg4: mpfr_rnd_t,
7340 ) -> ::std::os::raw::c_int;
7341}
7342extern "C" {
7343 pub fn mpfr_sec(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
7344}
7345extern "C" {
7346 pub fn mpfr_csc(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
7347}
7348extern "C" {
7349 pub fn mpfr_cot(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
7350}
7351extern "C" {
7352 pub fn mpfr_hypot(
7353 arg1: mpfr_ptr,
7354 arg2: mpfr_srcptr,
7355 arg3: mpfr_srcptr,
7356 arg4: mpfr_rnd_t,
7357 ) -> ::std::os::raw::c_int;
7358}
7359extern "C" {
7360 pub fn mpfr_erf(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
7361}
7362extern "C" {
7363 pub fn mpfr_erfc(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
7364}
7365extern "C" {
7366 pub fn mpfr_cbrt(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
7367}
7368extern "C" {
7369 pub fn mpfr_root(
7370 arg1: mpfr_ptr,
7371 arg2: mpfr_srcptr,
7372 arg3: ::std::os::raw::c_ulong,
7373 arg4: mpfr_rnd_t,
7374 ) -> ::std::os::raw::c_int;
7375}
7376extern "C" {
7377 pub fn mpfr_rootn_ui(
7378 arg1: mpfr_ptr,
7379 arg2: mpfr_srcptr,
7380 arg3: ::std::os::raw::c_ulong,
7381 arg4: mpfr_rnd_t,
7382 ) -> ::std::os::raw::c_int;
7383}
7384extern "C" {
7385 pub fn mpfr_gamma(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t)
7386 -> ::std::os::raw::c_int;
7387}
7388extern "C" {
7389 pub fn mpfr_gamma_inc(
7390 arg1: mpfr_ptr,
7391 arg2: mpfr_srcptr,
7392 arg3: mpfr_srcptr,
7393 arg4: mpfr_rnd_t,
7394 ) -> ::std::os::raw::c_int;
7395}
7396extern "C" {
7397 pub fn mpfr_beta(
7398 arg1: mpfr_ptr,
7399 arg2: mpfr_srcptr,
7400 arg3: mpfr_srcptr,
7401 arg4: mpfr_rnd_t,
7402 ) -> ::std::os::raw::c_int;
7403}
7404extern "C" {
7405 pub fn mpfr_lngamma(
7406 arg1: mpfr_ptr,
7407 arg2: mpfr_srcptr,
7408 arg3: mpfr_rnd_t,
7409 ) -> ::std::os::raw::c_int;
7410}
7411extern "C" {
7412 pub fn mpfr_lgamma(
7413 arg1: mpfr_ptr,
7414 arg2: *mut ::std::os::raw::c_int,
7415 arg3: mpfr_srcptr,
7416 arg4: mpfr_rnd_t,
7417 ) -> ::std::os::raw::c_int;
7418}
7419extern "C" {
7420 pub fn mpfr_digamma(
7421 arg1: mpfr_ptr,
7422 arg2: mpfr_srcptr,
7423 arg3: mpfr_rnd_t,
7424 ) -> ::std::os::raw::c_int;
7425}
7426extern "C" {
7427 pub fn mpfr_zeta(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
7428}
7429extern "C" {
7430 pub fn mpfr_zeta_ui(
7431 arg1: mpfr_ptr,
7432 arg2: ::std::os::raw::c_ulong,
7433 arg3: mpfr_rnd_t,
7434 ) -> ::std::os::raw::c_int;
7435}
7436extern "C" {
7437 pub fn mpfr_fac_ui(
7438 arg1: mpfr_ptr,
7439 arg2: ::std::os::raw::c_ulong,
7440 arg3: mpfr_rnd_t,
7441 ) -> ::std::os::raw::c_int;
7442}
7443extern "C" {
7444 pub fn mpfr_j0(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
7445}
7446extern "C" {
7447 pub fn mpfr_j1(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
7448}
7449extern "C" {
7450 pub fn mpfr_jn(
7451 arg1: mpfr_ptr,
7452 arg2: ::std::os::raw::c_long,
7453 arg3: mpfr_srcptr,
7454 arg4: mpfr_rnd_t,
7455 ) -> ::std::os::raw::c_int;
7456}
7457extern "C" {
7458 pub fn mpfr_y0(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
7459}
7460extern "C" {
7461 pub fn mpfr_y1(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
7462}
7463extern "C" {
7464 pub fn mpfr_yn(
7465 arg1: mpfr_ptr,
7466 arg2: ::std::os::raw::c_long,
7467 arg3: mpfr_srcptr,
7468 arg4: mpfr_rnd_t,
7469 ) -> ::std::os::raw::c_int;
7470}
7471extern "C" {
7472 pub fn mpfr_ai(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
7473}
7474extern "C" {
7475 pub fn mpfr_min(
7476 arg1: mpfr_ptr,
7477 arg2: mpfr_srcptr,
7478 arg3: mpfr_srcptr,
7479 arg4: mpfr_rnd_t,
7480 ) -> ::std::os::raw::c_int;
7481}
7482extern "C" {
7483 pub fn mpfr_max(
7484 arg1: mpfr_ptr,
7485 arg2: mpfr_srcptr,
7486 arg3: mpfr_srcptr,
7487 arg4: mpfr_rnd_t,
7488 ) -> ::std::os::raw::c_int;
7489}
7490extern "C" {
7491 pub fn mpfr_dim(
7492 arg1: mpfr_ptr,
7493 arg2: mpfr_srcptr,
7494 arg3: mpfr_srcptr,
7495 arg4: mpfr_rnd_t,
7496 ) -> ::std::os::raw::c_int;
7497}
7498extern "C" {
7499 pub fn mpfr_mul_z(
7500 arg1: mpfr_ptr,
7501 arg2: mpfr_srcptr,
7502 arg3: mpz_srcptr,
7503 arg4: mpfr_rnd_t,
7504 ) -> ::std::os::raw::c_int;
7505}
7506extern "C" {
7507 pub fn mpfr_div_z(
7508 arg1: mpfr_ptr,
7509 arg2: mpfr_srcptr,
7510 arg3: mpz_srcptr,
7511 arg4: mpfr_rnd_t,
7512 ) -> ::std::os::raw::c_int;
7513}
7514extern "C" {
7515 pub fn mpfr_add_z(
7516 arg1: mpfr_ptr,
7517 arg2: mpfr_srcptr,
7518 arg3: mpz_srcptr,
7519 arg4: mpfr_rnd_t,
7520 ) -> ::std::os::raw::c_int;
7521}
7522extern "C" {
7523 pub fn mpfr_sub_z(
7524 arg1: mpfr_ptr,
7525 arg2: mpfr_srcptr,
7526 arg3: mpz_srcptr,
7527 arg4: mpfr_rnd_t,
7528 ) -> ::std::os::raw::c_int;
7529}
7530extern "C" {
7531 pub fn mpfr_z_sub(
7532 arg1: mpfr_ptr,
7533 arg2: mpz_srcptr,
7534 arg3: mpfr_srcptr,
7535 arg4: mpfr_rnd_t,
7536 ) -> ::std::os::raw::c_int;
7537}
7538extern "C" {
7539 pub fn mpfr_cmp_z(arg1: mpfr_srcptr, arg2: mpz_srcptr) -> ::std::os::raw::c_int;
7540}
7541extern "C" {
7542 pub fn mpfr_fma(
7543 arg1: mpfr_ptr,
7544 arg2: mpfr_srcptr,
7545 arg3: mpfr_srcptr,
7546 arg4: mpfr_srcptr,
7547 arg5: mpfr_rnd_t,
7548 ) -> ::std::os::raw::c_int;
7549}
7550extern "C" {
7551 pub fn mpfr_fms(
7552 arg1: mpfr_ptr,
7553 arg2: mpfr_srcptr,
7554 arg3: mpfr_srcptr,
7555 arg4: mpfr_srcptr,
7556 arg5: mpfr_rnd_t,
7557 ) -> ::std::os::raw::c_int;
7558}
7559extern "C" {
7560 pub fn mpfr_fmma(
7561 arg1: mpfr_ptr,
7562 arg2: mpfr_srcptr,
7563 arg3: mpfr_srcptr,
7564 arg4: mpfr_srcptr,
7565 arg5: mpfr_srcptr,
7566 arg6: mpfr_rnd_t,
7567 ) -> ::std::os::raw::c_int;
7568}
7569extern "C" {
7570 pub fn mpfr_fmms(
7571 arg1: mpfr_ptr,
7572 arg2: mpfr_srcptr,
7573 arg3: mpfr_srcptr,
7574 arg4: mpfr_srcptr,
7575 arg5: mpfr_srcptr,
7576 arg6: mpfr_rnd_t,
7577 ) -> ::std::os::raw::c_int;
7578}
7579extern "C" {
7580 pub fn mpfr_sum(
7581 arg1: mpfr_ptr,
7582 arg2: *const mpfr_ptr,
7583 arg3: ::std::os::raw::c_ulong,
7584 arg4: mpfr_rnd_t,
7585 ) -> ::std::os::raw::c_int;
7586}
7587extern "C" {
7588 pub fn mpfr_free_cache();
7589}
7590extern "C" {
7591 pub fn mpfr_free_cache2(arg1: mpfr_free_cache_t);
7592}
7593extern "C" {
7594 pub fn mpfr_free_pool();
7595}
7596extern "C" {
7597 pub fn mpfr_mp_memory_cleanup() -> ::std::os::raw::c_int;
7598}
7599extern "C" {
7600 pub fn mpfr_subnormalize(
7601 arg1: mpfr_ptr,
7602 arg2: ::std::os::raw::c_int,
7603 arg3: mpfr_rnd_t,
7604 ) -> ::std::os::raw::c_int;
7605}
7606extern "C" {
7607 pub fn mpfr_strtofr(
7608 arg1: mpfr_ptr,
7609 arg2: *const ::std::os::raw::c_char,
7610 arg3: *mut *mut ::std::os::raw::c_char,
7611 arg4: ::std::os::raw::c_int,
7612 arg5: mpfr_rnd_t,
7613 ) -> ::std::os::raw::c_int;
7614}
7615extern "C" {
7616 pub fn mpfr_round_nearest_away_begin(arg1: *mut __mpfr_struct);
7617}
7618extern "C" {
7619 pub fn mpfr_round_nearest_away_end(
7620 arg1: *mut __mpfr_struct,
7621 arg2: ::std::os::raw::c_int,
7622 ) -> ::std::os::raw::c_int;
7623}
7624extern "C" {
7625 pub fn mpfr_custom_get_size(arg1: mpfr_prec_t) -> usize;
7626}
7627extern "C" {
7628 pub fn mpfr_custom_init(arg1: *mut ::std::os::raw::c_void, arg2: mpfr_prec_t);
7629}
7630extern "C" {
7631 pub fn mpfr_custom_get_significand(arg1: mpfr_srcptr) -> *mut ::std::os::raw::c_void;
7632}
7633extern "C" {
7634 pub fn mpfr_custom_get_exp(arg1: mpfr_srcptr) -> mpfr_exp_t;
7635}
7636extern "C" {
7637 pub fn mpfr_custom_move(arg1: mpfr_ptr, arg2: *mut ::std::os::raw::c_void);
7638}
7639extern "C" {
7640 pub fn mpfr_custom_init_set(
7641 arg1: mpfr_ptr,
7642 arg2: ::std::os::raw::c_int,
7643 arg3: mpfr_exp_t,
7644 arg4: mpfr_prec_t,
7645 arg5: *mut ::std::os::raw::c_void,
7646 );
7647}
7648extern "C" {
7649 pub fn mpfr_custom_get_kind(arg1: mpfr_srcptr) -> ::std::os::raw::c_int;
7650}
7651pub type va_list = __builtin_va_list;
7652pub type __gnuc_va_list = __builtin_va_list;
7653#[repr(C)]
7654#[derive(Copy, Clone)]
7655pub struct __mbstate_t {
7656 pub __count: ::std::os::raw::c_int,
7657 pub __value: __mbstate_t__bindgen_ty_1,
7658}
7659#[repr(C)]
7660#[derive(Copy, Clone)]
7661pub union __mbstate_t__bindgen_ty_1 {
7662 pub __wch: ::std::os::raw::c_uint,
7663 pub __wchb: [::std::os::raw::c_char; 4usize],
7664 _bindgen_union_align: u32,
7665}
7666#[test]
7667fn bindgen_test_layout___mbstate_t__bindgen_ty_1() {
7668 assert_eq!(
7669 ::std::mem::size_of::<__mbstate_t__bindgen_ty_1>(),
7670 4usize,
7671 concat!("Size of: ", stringify!(__mbstate_t__bindgen_ty_1))
7672 );
7673 assert_eq!(
7674 ::std::mem::align_of::<__mbstate_t__bindgen_ty_1>(),
7675 4usize,
7676 concat!("Alignment of ", stringify!(__mbstate_t__bindgen_ty_1))
7677 );
7678 assert_eq!(
7679 unsafe { &(*(::std::ptr::null::<__mbstate_t__bindgen_ty_1>())).__wch as *const _ as usize },
7680 0usize,
7681 concat!(
7682 "Offset of field: ",
7683 stringify!(__mbstate_t__bindgen_ty_1),
7684 "::",
7685 stringify!(__wch)
7686 )
7687 );
7688 assert_eq!(
7689 unsafe {
7690 &(*(::std::ptr::null::<__mbstate_t__bindgen_ty_1>())).__wchb as *const _ as usize
7691 },
7692 0usize,
7693 concat!(
7694 "Offset of field: ",
7695 stringify!(__mbstate_t__bindgen_ty_1),
7696 "::",
7697 stringify!(__wchb)
7698 )
7699 );
7700}
7701#[test]
7702fn bindgen_test_layout___mbstate_t() {
7703 assert_eq!(
7704 ::std::mem::size_of::<__mbstate_t>(),
7705 8usize,
7706 concat!("Size of: ", stringify!(__mbstate_t))
7707 );
7708 assert_eq!(
7709 ::std::mem::align_of::<__mbstate_t>(),
7710 4usize,
7711 concat!("Alignment of ", stringify!(__mbstate_t))
7712 );
7713 assert_eq!(
7714 unsafe { &(*(::std::ptr::null::<__mbstate_t>())).__count as *const _ as usize },
7715 0usize,
7716 concat!(
7717 "Offset of field: ",
7718 stringify!(__mbstate_t),
7719 "::",
7720 stringify!(__count)
7721 )
7722 );
7723 assert_eq!(
7724 unsafe { &(*(::std::ptr::null::<__mbstate_t>())).__value as *const _ as usize },
7725 4usize,
7726 concat!(
7727 "Offset of field: ",
7728 stringify!(__mbstate_t),
7729 "::",
7730 stringify!(__value)
7731 )
7732 );
7733}
7734#[repr(C)]
7735#[derive(Copy, Clone)]
7736pub struct _G_fpos_t {
7737 pub __pos: __off_t,
7738 pub __state: __mbstate_t,
7739}
7740#[test]
7741fn bindgen_test_layout__G_fpos_t() {
7742 assert_eq!(
7743 ::std::mem::size_of::<_G_fpos_t>(),
7744 16usize,
7745 concat!("Size of: ", stringify!(_G_fpos_t))
7746 );
7747 assert_eq!(
7748 ::std::mem::align_of::<_G_fpos_t>(),
7749 8usize,
7750 concat!("Alignment of ", stringify!(_G_fpos_t))
7751 );
7752 assert_eq!(
7753 unsafe { &(*(::std::ptr::null::<_G_fpos_t>())).__pos as *const _ as usize },
7754 0usize,
7755 concat!(
7756 "Offset of field: ",
7757 stringify!(_G_fpos_t),
7758 "::",
7759 stringify!(__pos)
7760 )
7761 );
7762 assert_eq!(
7763 unsafe { &(*(::std::ptr::null::<_G_fpos_t>())).__state as *const _ as usize },
7764 8usize,
7765 concat!(
7766 "Offset of field: ",
7767 stringify!(_G_fpos_t),
7768 "::",
7769 stringify!(__state)
7770 )
7771 );
7772}
7773pub type __fpos_t = _G_fpos_t;
7774#[repr(C)]
7775#[derive(Copy, Clone)]
7776pub struct _G_fpos64_t {
7777 pub __pos: __off64_t,
7778 pub __state: __mbstate_t,
7779}
7780#[test]
7781fn bindgen_test_layout__G_fpos64_t() {
7782 assert_eq!(
7783 ::std::mem::size_of::<_G_fpos64_t>(),
7784 16usize,
7785 concat!("Size of: ", stringify!(_G_fpos64_t))
7786 );
7787 assert_eq!(
7788 ::std::mem::align_of::<_G_fpos64_t>(),
7789 8usize,
7790 concat!("Alignment of ", stringify!(_G_fpos64_t))
7791 );
7792 assert_eq!(
7793 unsafe { &(*(::std::ptr::null::<_G_fpos64_t>())).__pos as *const _ as usize },
7794 0usize,
7795 concat!(
7796 "Offset of field: ",
7797 stringify!(_G_fpos64_t),
7798 "::",
7799 stringify!(__pos)
7800 )
7801 );
7802 assert_eq!(
7803 unsafe { &(*(::std::ptr::null::<_G_fpos64_t>())).__state as *const _ as usize },
7804 8usize,
7805 concat!(
7806 "Offset of field: ",
7807 stringify!(_G_fpos64_t),
7808 "::",
7809 stringify!(__state)
7810 )
7811 );
7812}
7813pub type __fpos64_t = _G_fpos64_t;
7814pub type __FILE = _IO_FILE;
7815pub type FILE = _IO_FILE;
7816#[repr(C)]
7817#[derive(Debug, Copy, Clone)]
7818pub struct _IO_marker {
7819 _unused: [u8; 0],
7820}
7821#[repr(C)]
7822#[derive(Debug, Copy, Clone)]
7823pub struct _IO_codecvt {
7824 _unused: [u8; 0],
7825}
7826#[repr(C)]
7827#[derive(Debug, Copy, Clone)]
7828pub struct _IO_wide_data {
7829 _unused: [u8; 0],
7830}
7831pub type _IO_lock_t = ::std::os::raw::c_void;
7832#[repr(C)]
7833#[derive(Debug, Copy, Clone)]
7834pub struct _IO_FILE {
7835 pub _flags: ::std::os::raw::c_int,
7836 pub _IO_read_ptr: *mut ::std::os::raw::c_char,
7837 pub _IO_read_end: *mut ::std::os::raw::c_char,
7838 pub _IO_read_base: *mut ::std::os::raw::c_char,
7839 pub _IO_write_base: *mut ::std::os::raw::c_char,
7840 pub _IO_write_ptr: *mut ::std::os::raw::c_char,
7841 pub _IO_write_end: *mut ::std::os::raw::c_char,
7842 pub _IO_buf_base: *mut ::std::os::raw::c_char,
7843 pub _IO_buf_end: *mut ::std::os::raw::c_char,
7844 pub _IO_save_base: *mut ::std::os::raw::c_char,
7845 pub _IO_backup_base: *mut ::std::os::raw::c_char,
7846 pub _IO_save_end: *mut ::std::os::raw::c_char,
7847 pub _markers: *mut _IO_marker,
7848 pub _chain: *mut _IO_FILE,
7849 pub _fileno: ::std::os::raw::c_int,
7850 pub _flags2: ::std::os::raw::c_int,
7851 pub _old_offset: __off_t,
7852 pub _cur_column: ::std::os::raw::c_ushort,
7853 pub _vtable_offset: ::std::os::raw::c_schar,
7854 pub _shortbuf: [::std::os::raw::c_char; 1usize],
7855 pub _lock: *mut _IO_lock_t,
7856 pub _offset: __off64_t,
7857 pub _codecvt: *mut _IO_codecvt,
7858 pub _wide_data: *mut _IO_wide_data,
7859 pub _freeres_list: *mut _IO_FILE,
7860 pub _freeres_buf: *mut ::std::os::raw::c_void,
7861 pub __pad5: usize,
7862 pub _mode: ::std::os::raw::c_int,
7863 pub _unused2: [::std::os::raw::c_char; 20usize],
7864}
7865#[test]
7866fn bindgen_test_layout__IO_FILE() {
7867 assert_eq!(
7868 ::std::mem::size_of::<_IO_FILE>(),
7869 216usize,
7870 concat!("Size of: ", stringify!(_IO_FILE))
7871 );
7872 assert_eq!(
7873 ::std::mem::align_of::<_IO_FILE>(),
7874 8usize,
7875 concat!("Alignment of ", stringify!(_IO_FILE))
7876 );
7877 assert_eq!(
7878 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._flags as *const _ as usize },
7879 0usize,
7880 concat!(
7881 "Offset of field: ",
7882 stringify!(_IO_FILE),
7883 "::",
7884 stringify!(_flags)
7885 )
7886 );
7887 assert_eq!(
7888 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_read_ptr as *const _ as usize },
7889 8usize,
7890 concat!(
7891 "Offset of field: ",
7892 stringify!(_IO_FILE),
7893 "::",
7894 stringify!(_IO_read_ptr)
7895 )
7896 );
7897 assert_eq!(
7898 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_read_end as *const _ as usize },
7899 16usize,
7900 concat!(
7901 "Offset of field: ",
7902 stringify!(_IO_FILE),
7903 "::",
7904 stringify!(_IO_read_end)
7905 )
7906 );
7907 assert_eq!(
7908 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_read_base as *const _ as usize },
7909 24usize,
7910 concat!(
7911 "Offset of field: ",
7912 stringify!(_IO_FILE),
7913 "::",
7914 stringify!(_IO_read_base)
7915 )
7916 );
7917 assert_eq!(
7918 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_write_base as *const _ as usize },
7919 32usize,
7920 concat!(
7921 "Offset of field: ",
7922 stringify!(_IO_FILE),
7923 "::",
7924 stringify!(_IO_write_base)
7925 )
7926 );
7927 assert_eq!(
7928 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_write_ptr as *const _ as usize },
7929 40usize,
7930 concat!(
7931 "Offset of field: ",
7932 stringify!(_IO_FILE),
7933 "::",
7934 stringify!(_IO_write_ptr)
7935 )
7936 );
7937 assert_eq!(
7938 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_write_end as *const _ as usize },
7939 48usize,
7940 concat!(
7941 "Offset of field: ",
7942 stringify!(_IO_FILE),
7943 "::",
7944 stringify!(_IO_write_end)
7945 )
7946 );
7947 assert_eq!(
7948 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_buf_base as *const _ as usize },
7949 56usize,
7950 concat!(
7951 "Offset of field: ",
7952 stringify!(_IO_FILE),
7953 "::",
7954 stringify!(_IO_buf_base)
7955 )
7956 );
7957 assert_eq!(
7958 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_buf_end as *const _ as usize },
7959 64usize,
7960 concat!(
7961 "Offset of field: ",
7962 stringify!(_IO_FILE),
7963 "::",
7964 stringify!(_IO_buf_end)
7965 )
7966 );
7967 assert_eq!(
7968 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_save_base as *const _ as usize },
7969 72usize,
7970 concat!(
7971 "Offset of field: ",
7972 stringify!(_IO_FILE),
7973 "::",
7974 stringify!(_IO_save_base)
7975 )
7976 );
7977 assert_eq!(
7978 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_backup_base as *const _ as usize },
7979 80usize,
7980 concat!(
7981 "Offset of field: ",
7982 stringify!(_IO_FILE),
7983 "::",
7984 stringify!(_IO_backup_base)
7985 )
7986 );
7987 assert_eq!(
7988 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_save_end as *const _ as usize },
7989 88usize,
7990 concat!(
7991 "Offset of field: ",
7992 stringify!(_IO_FILE),
7993 "::",
7994 stringify!(_IO_save_end)
7995 )
7996 );
7997 assert_eq!(
7998 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._markers as *const _ as usize },
7999 96usize,
8000 concat!(
8001 "Offset of field: ",
8002 stringify!(_IO_FILE),
8003 "::",
8004 stringify!(_markers)
8005 )
8006 );
8007 assert_eq!(
8008 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._chain as *const _ as usize },
8009 104usize,
8010 concat!(
8011 "Offset of field: ",
8012 stringify!(_IO_FILE),
8013 "::",
8014 stringify!(_chain)
8015 )
8016 );
8017 assert_eq!(
8018 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._fileno as *const _ as usize },
8019 112usize,
8020 concat!(
8021 "Offset of field: ",
8022 stringify!(_IO_FILE),
8023 "::",
8024 stringify!(_fileno)
8025 )
8026 );
8027 assert_eq!(
8028 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._flags2 as *const _ as usize },
8029 116usize,
8030 concat!(
8031 "Offset of field: ",
8032 stringify!(_IO_FILE),
8033 "::",
8034 stringify!(_flags2)
8035 )
8036 );
8037 assert_eq!(
8038 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._old_offset as *const _ as usize },
8039 120usize,
8040 concat!(
8041 "Offset of field: ",
8042 stringify!(_IO_FILE),
8043 "::",
8044 stringify!(_old_offset)
8045 )
8046 );
8047 assert_eq!(
8048 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._cur_column as *const _ as usize },
8049 128usize,
8050 concat!(
8051 "Offset of field: ",
8052 stringify!(_IO_FILE),
8053 "::",
8054 stringify!(_cur_column)
8055 )
8056 );
8057 assert_eq!(
8058 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._vtable_offset as *const _ as usize },
8059 130usize,
8060 concat!(
8061 "Offset of field: ",
8062 stringify!(_IO_FILE),
8063 "::",
8064 stringify!(_vtable_offset)
8065 )
8066 );
8067 assert_eq!(
8068 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._shortbuf as *const _ as usize },
8069 131usize,
8070 concat!(
8071 "Offset of field: ",
8072 stringify!(_IO_FILE),
8073 "::",
8074 stringify!(_shortbuf)
8075 )
8076 );
8077 assert_eq!(
8078 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._lock as *const _ as usize },
8079 136usize,
8080 concat!(
8081 "Offset of field: ",
8082 stringify!(_IO_FILE),
8083 "::",
8084 stringify!(_lock)
8085 )
8086 );
8087 assert_eq!(
8088 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._offset as *const _ as usize },
8089 144usize,
8090 concat!(
8091 "Offset of field: ",
8092 stringify!(_IO_FILE),
8093 "::",
8094 stringify!(_offset)
8095 )
8096 );
8097 assert_eq!(
8098 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._codecvt as *const _ as usize },
8099 152usize,
8100 concat!(
8101 "Offset of field: ",
8102 stringify!(_IO_FILE),
8103 "::",
8104 stringify!(_codecvt)
8105 )
8106 );
8107 assert_eq!(
8108 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._wide_data as *const _ as usize },
8109 160usize,
8110 concat!(
8111 "Offset of field: ",
8112 stringify!(_IO_FILE),
8113 "::",
8114 stringify!(_wide_data)
8115 )
8116 );
8117 assert_eq!(
8118 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._freeres_list as *const _ as usize },
8119 168usize,
8120 concat!(
8121 "Offset of field: ",
8122 stringify!(_IO_FILE),
8123 "::",
8124 stringify!(_freeres_list)
8125 )
8126 );
8127 assert_eq!(
8128 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._freeres_buf as *const _ as usize },
8129 176usize,
8130 concat!(
8131 "Offset of field: ",
8132 stringify!(_IO_FILE),
8133 "::",
8134 stringify!(_freeres_buf)
8135 )
8136 );
8137 assert_eq!(
8138 unsafe { &(*(::std::ptr::null::<_IO_FILE>())).__pad5 as *const _ as usize },
8139 184usize,
8140 concat!(
8141 "Offset of field: ",
8142 stringify!(_IO_FILE),
8143 "::",
8144 stringify!(__pad5)
8145 )
8146 );
8147 assert_eq!(
8148 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._mode as *const _ as usize },
8149 192usize,
8150 concat!(
8151 "Offset of field: ",
8152 stringify!(_IO_FILE),
8153 "::",
8154 stringify!(_mode)
8155 )
8156 );
8157 assert_eq!(
8158 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._unused2 as *const _ as usize },
8159 196usize,
8160 concat!(
8161 "Offset of field: ",
8162 stringify!(_IO_FILE),
8163 "::",
8164 stringify!(_unused2)
8165 )
8166 );
8167}
8168pub type fpos_t = __fpos_t;
8169extern "C" {
8170 pub static mut stdin: *mut FILE;
8171}
8172extern "C" {
8173 pub static mut stdout: *mut FILE;
8174}
8175extern "C" {
8176 pub static mut stderr: *mut FILE;
8177}
8178extern "C" {
8179 pub fn remove(__filename: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
8180}
8181extern "C" {
8182 pub fn rename(
8183 __old: *const ::std::os::raw::c_char,
8184 __new: *const ::std::os::raw::c_char,
8185 ) -> ::std::os::raw::c_int;
8186}
8187extern "C" {
8188 pub fn renameat(
8189 __oldfd: ::std::os::raw::c_int,
8190 __old: *const ::std::os::raw::c_char,
8191 __newfd: ::std::os::raw::c_int,
8192 __new: *const ::std::os::raw::c_char,
8193 ) -> ::std::os::raw::c_int;
8194}
8195extern "C" {
8196 pub fn tmpfile() -> *mut FILE;
8197}
8198extern "C" {
8199 pub fn tmpnam(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
8200}
8201extern "C" {
8202 pub fn tmpnam_r(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
8203}
8204extern "C" {
8205 pub fn tempnam(
8206 __dir: *const ::std::os::raw::c_char,
8207 __pfx: *const ::std::os::raw::c_char,
8208 ) -> *mut ::std::os::raw::c_char;
8209}
8210extern "C" {
8211 pub fn fclose(__stream: *mut FILE) -> ::std::os::raw::c_int;
8212}
8213extern "C" {
8214 pub fn fflush(__stream: *mut FILE) -> ::std::os::raw::c_int;
8215}
8216extern "C" {
8217 pub fn fflush_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
8218}
8219extern "C" {
8220 pub fn fopen(
8221 __filename: *const ::std::os::raw::c_char,
8222 __modes: *const ::std::os::raw::c_char,
8223 ) -> *mut FILE;
8224}
8225extern "C" {
8226 pub fn freopen(
8227 __filename: *const ::std::os::raw::c_char,
8228 __modes: *const ::std::os::raw::c_char,
8229 __stream: *mut FILE,
8230 ) -> *mut FILE;
8231}
8232extern "C" {
8233 pub fn fdopen(__fd: ::std::os::raw::c_int, __modes: *const ::std::os::raw::c_char)
8234 -> *mut FILE;
8235}
8236extern "C" {
8237 pub fn fmemopen(
8238 __s: *mut ::std::os::raw::c_void,
8239 __len: usize,
8240 __modes: *const ::std::os::raw::c_char,
8241 ) -> *mut FILE;
8242}
8243extern "C" {
8244 pub fn open_memstream(
8245 __bufloc: *mut *mut ::std::os::raw::c_char,
8246 __sizeloc: *mut usize,
8247 ) -> *mut FILE;
8248}
8249extern "C" {
8250 pub fn setbuf(__stream: *mut FILE, __buf: *mut ::std::os::raw::c_char);
8251}
8252extern "C" {
8253 pub fn setvbuf(
8254 __stream: *mut FILE,
8255 __buf: *mut ::std::os::raw::c_char,
8256 __modes: ::std::os::raw::c_int,
8257 __n: usize,
8258 ) -> ::std::os::raw::c_int;
8259}
8260extern "C" {
8261 pub fn setbuffer(__stream: *mut FILE, __buf: *mut ::std::os::raw::c_char, __size: usize);
8262}
8263extern "C" {
8264 pub fn setlinebuf(__stream: *mut FILE);
8265}
8266extern "C" {
8267 pub fn fprintf(
8268 __stream: *mut FILE,
8269 __format: *const ::std::os::raw::c_char,
8270 ...
8271 ) -> ::std::os::raw::c_int;
8272}
8273extern "C" {
8274 pub fn printf(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
8275}
8276extern "C" {
8277 pub fn sprintf(
8278 __s: *mut ::std::os::raw::c_char,
8279 __format: *const ::std::os::raw::c_char,
8280 ...
8281 ) -> ::std::os::raw::c_int;
8282}
8283extern "C" {
8284 pub fn vfprintf(
8285 __s: *mut FILE,
8286 __format: *const ::std::os::raw::c_char,
8287 __arg: *mut __va_list_tag,
8288 ) -> ::std::os::raw::c_int;
8289}
8290extern "C" {
8291 pub fn vprintf(
8292 __format: *const ::std::os::raw::c_char,
8293 __arg: *mut __va_list_tag,
8294 ) -> ::std::os::raw::c_int;
8295}
8296extern "C" {
8297 pub fn vsprintf(
8298 __s: *mut ::std::os::raw::c_char,
8299 __format: *const ::std::os::raw::c_char,
8300 __arg: *mut __va_list_tag,
8301 ) -> ::std::os::raw::c_int;
8302}
8303extern "C" {
8304 pub fn snprintf(
8305 __s: *mut ::std::os::raw::c_char,
8306 __maxlen: ::std::os::raw::c_ulong,
8307 __format: *const ::std::os::raw::c_char,
8308 ...
8309 ) -> ::std::os::raw::c_int;
8310}
8311extern "C" {
8312 pub fn vsnprintf(
8313 __s: *mut ::std::os::raw::c_char,
8314 __maxlen: ::std::os::raw::c_ulong,
8315 __format: *const ::std::os::raw::c_char,
8316 __arg: *mut __va_list_tag,
8317 ) -> ::std::os::raw::c_int;
8318}
8319extern "C" {
8320 pub fn vdprintf(
8321 __fd: ::std::os::raw::c_int,
8322 __fmt: *const ::std::os::raw::c_char,
8323 __arg: *mut __va_list_tag,
8324 ) -> ::std::os::raw::c_int;
8325}
8326extern "C" {
8327 pub fn dprintf(
8328 __fd: ::std::os::raw::c_int,
8329 __fmt: *const ::std::os::raw::c_char,
8330 ...
8331 ) -> ::std::os::raw::c_int;
8332}
8333extern "C" {
8334 pub fn fscanf(
8335 __stream: *mut FILE,
8336 __format: *const ::std::os::raw::c_char,
8337 ...
8338 ) -> ::std::os::raw::c_int;
8339}
8340extern "C" {
8341 pub fn scanf(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
8342}
8343extern "C" {
8344 pub fn sscanf(
8345 __s: *const ::std::os::raw::c_char,
8346 __format: *const ::std::os::raw::c_char,
8347 ...
8348 ) -> ::std::os::raw::c_int;
8349}
8350extern "C" {
8351 #[link_name = "\u{1}__isoc99_fscanf"]
8352 pub fn fscanf1(
8353 __stream: *mut FILE,
8354 __format: *const ::std::os::raw::c_char,
8355 ...
8356 ) -> ::std::os::raw::c_int;
8357}
8358extern "C" {
8359 #[link_name = "\u{1}__isoc99_scanf"]
8360 pub fn scanf1(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
8361}
8362extern "C" {
8363 #[link_name = "\u{1}__isoc99_sscanf"]
8364 pub fn sscanf1(
8365 __s: *const ::std::os::raw::c_char,
8366 __format: *const ::std::os::raw::c_char,
8367 ...
8368 ) -> ::std::os::raw::c_int;
8369}
8370extern "C" {
8371 pub fn vfscanf(
8372 __s: *mut FILE,
8373 __format: *const ::std::os::raw::c_char,
8374 __arg: *mut __va_list_tag,
8375 ) -> ::std::os::raw::c_int;
8376}
8377extern "C" {
8378 pub fn vscanf(
8379 __format: *const ::std::os::raw::c_char,
8380 __arg: *mut __va_list_tag,
8381 ) -> ::std::os::raw::c_int;
8382}
8383extern "C" {
8384 pub fn vsscanf(
8385 __s: *const ::std::os::raw::c_char,
8386 __format: *const ::std::os::raw::c_char,
8387 __arg: *mut __va_list_tag,
8388 ) -> ::std::os::raw::c_int;
8389}
8390extern "C" {
8391 #[link_name = "\u{1}__isoc99_vfscanf"]
8392 pub fn vfscanf1(
8393 __s: *mut FILE,
8394 __format: *const ::std::os::raw::c_char,
8395 __arg: *mut __va_list_tag,
8396 ) -> ::std::os::raw::c_int;
8397}
8398extern "C" {
8399 #[link_name = "\u{1}__isoc99_vscanf"]
8400 pub fn vscanf1(
8401 __format: *const ::std::os::raw::c_char,
8402 __arg: *mut __va_list_tag,
8403 ) -> ::std::os::raw::c_int;
8404}
8405extern "C" {
8406 #[link_name = "\u{1}__isoc99_vsscanf"]
8407 pub fn vsscanf1(
8408 __s: *const ::std::os::raw::c_char,
8409 __format: *const ::std::os::raw::c_char,
8410 __arg: *mut __va_list_tag,
8411 ) -> ::std::os::raw::c_int;
8412}
8413extern "C" {
8414 pub fn fgetc(__stream: *mut FILE) -> ::std::os::raw::c_int;
8415}
8416extern "C" {
8417 pub fn getc(__stream: *mut FILE) -> ::std::os::raw::c_int;
8418}
8419extern "C" {
8420 pub fn getchar() -> ::std::os::raw::c_int;
8421}
8422extern "C" {
8423 pub fn getc_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
8424}
8425extern "C" {
8426 pub fn getchar_unlocked() -> ::std::os::raw::c_int;
8427}
8428extern "C" {
8429 pub fn fgetc_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
8430}
8431extern "C" {
8432 pub fn fputc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
8433}
8434extern "C" {
8435 pub fn putc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
8436}
8437extern "C" {
8438 pub fn putchar(__c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
8439}
8440extern "C" {
8441 pub fn fputc_unlocked(__c: ::std::os::raw::c_int, __stream: *mut FILE)
8442 -> ::std::os::raw::c_int;
8443}
8444extern "C" {
8445 pub fn putc_unlocked(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
8446}
8447extern "C" {
8448 pub fn putchar_unlocked(__c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
8449}
8450extern "C" {
8451 pub fn getw(__stream: *mut FILE) -> ::std::os::raw::c_int;
8452}
8453extern "C" {
8454 pub fn putw(__w: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
8455}
8456extern "C" {
8457 pub fn fgets(
8458 __s: *mut ::std::os::raw::c_char,
8459 __n: ::std::os::raw::c_int,
8460 __stream: *mut FILE,
8461 ) -> *mut ::std::os::raw::c_char;
8462}
8463extern "C" {
8464 pub fn __getdelim(
8465 __lineptr: *mut *mut ::std::os::raw::c_char,
8466 __n: *mut usize,
8467 __delimiter: ::std::os::raw::c_int,
8468 __stream: *mut FILE,
8469 ) -> __ssize_t;
8470}
8471extern "C" {
8472 pub fn getdelim(
8473 __lineptr: *mut *mut ::std::os::raw::c_char,
8474 __n: *mut usize,
8475 __delimiter: ::std::os::raw::c_int,
8476 __stream: *mut FILE,
8477 ) -> __ssize_t;
8478}
8479extern "C" {
8480 pub fn getline(
8481 __lineptr: *mut *mut ::std::os::raw::c_char,
8482 __n: *mut usize,
8483 __stream: *mut FILE,
8484 ) -> __ssize_t;
8485}
8486extern "C" {
8487 pub fn fputs(__s: *const ::std::os::raw::c_char, __stream: *mut FILE) -> ::std::os::raw::c_int;
8488}
8489extern "C" {
8490 pub fn puts(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
8491}
8492extern "C" {
8493 pub fn ungetc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
8494}
8495extern "C" {
8496 pub fn fread(
8497 __ptr: *mut ::std::os::raw::c_void,
8498 __size: ::std::os::raw::c_ulong,
8499 __n: ::std::os::raw::c_ulong,
8500 __stream: *mut FILE,
8501 ) -> ::std::os::raw::c_ulong;
8502}
8503extern "C" {
8504 pub fn fwrite(
8505 __ptr: *const ::std::os::raw::c_void,
8506 __size: ::std::os::raw::c_ulong,
8507 __n: ::std::os::raw::c_ulong,
8508 __s: *mut FILE,
8509 ) -> ::std::os::raw::c_ulong;
8510}
8511extern "C" {
8512 pub fn fread_unlocked(
8513 __ptr: *mut ::std::os::raw::c_void,
8514 __size: usize,
8515 __n: usize,
8516 __stream: *mut FILE,
8517 ) -> usize;
8518}
8519extern "C" {
8520 pub fn fwrite_unlocked(
8521 __ptr: *const ::std::os::raw::c_void,
8522 __size: usize,
8523 __n: usize,
8524 __stream: *mut FILE,
8525 ) -> usize;
8526}
8527extern "C" {
8528 pub fn fseek(
8529 __stream: *mut FILE,
8530 __off: ::std::os::raw::c_long,
8531 __whence: ::std::os::raw::c_int,
8532 ) -> ::std::os::raw::c_int;
8533}
8534extern "C" {
8535 pub fn ftell(__stream: *mut FILE) -> ::std::os::raw::c_long;
8536}
8537extern "C" {
8538 pub fn rewind(__stream: *mut FILE);
8539}
8540extern "C" {
8541 pub fn fseeko(
8542 __stream: *mut FILE,
8543 __off: __off_t,
8544 __whence: ::std::os::raw::c_int,
8545 ) -> ::std::os::raw::c_int;
8546}
8547extern "C" {
8548 pub fn ftello(__stream: *mut FILE) -> __off_t;
8549}
8550extern "C" {
8551 pub fn fgetpos(__stream: *mut FILE, __pos: *mut fpos_t) -> ::std::os::raw::c_int;
8552}
8553extern "C" {
8554 pub fn fsetpos(__stream: *mut FILE, __pos: *const fpos_t) -> ::std::os::raw::c_int;
8555}
8556extern "C" {
8557 pub fn clearerr(__stream: *mut FILE);
8558}
8559extern "C" {
8560 pub fn feof(__stream: *mut FILE) -> ::std::os::raw::c_int;
8561}
8562extern "C" {
8563 pub fn ferror(__stream: *mut FILE) -> ::std::os::raw::c_int;
8564}
8565extern "C" {
8566 pub fn clearerr_unlocked(__stream: *mut FILE);
8567}
8568extern "C" {
8569 pub fn feof_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
8570}
8571extern "C" {
8572 pub fn ferror_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
8573}
8574extern "C" {
8575 pub fn perror(__s: *const ::std::os::raw::c_char);
8576}
8577extern "C" {
8578 pub static mut sys_nerr: ::std::os::raw::c_int;
8579}
8580extern "C" {
8581 pub static mut sys_errlist: [*const ::std::os::raw::c_char; 0usize];
8582}
8583extern "C" {
8584 pub fn fileno(__stream: *mut FILE) -> ::std::os::raw::c_int;
8585}
8586extern "C" {
8587 pub fn fileno_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
8588}
8589extern "C" {
8590 pub fn popen(
8591 __command: *const ::std::os::raw::c_char,
8592 __modes: *const ::std::os::raw::c_char,
8593 ) -> *mut FILE;
8594}
8595extern "C" {
8596 pub fn pclose(__stream: *mut FILE) -> ::std::os::raw::c_int;
8597}
8598extern "C" {
8599 pub fn ctermid(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
8600}
8601extern "C" {
8602 pub fn flockfile(__stream: *mut FILE);
8603}
8604extern "C" {
8605 pub fn ftrylockfile(__stream: *mut FILE) -> ::std::os::raw::c_int;
8606}
8607extern "C" {
8608 pub fn funlockfile(__stream: *mut FILE);
8609}
8610extern "C" {
8611 pub fn __uflow(arg1: *mut FILE) -> ::std::os::raw::c_int;
8612}
8613extern "C" {
8614 pub fn __overflow(arg1: *mut FILE, arg2: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
8615}
8616pub const idtype_t_P_ALL: idtype_t = 0;
8617pub const idtype_t_P_PID: idtype_t = 1;
8618pub const idtype_t_P_PGID: idtype_t = 2;
8619pub type idtype_t = u32;
8620pub type _Float32 = f32;
8621pub type _Float64 = f64;
8622pub type _Float32x = f64;
8623pub type _Float64x = u128;
8624#[repr(C)]
8625#[derive(Debug, Copy, Clone)]
8626pub struct div_t {
8627 pub quot: ::std::os::raw::c_int,
8628 pub rem: ::std::os::raw::c_int,
8629}
8630#[test]
8631fn bindgen_test_layout_div_t() {
8632 assert_eq!(
8633 ::std::mem::size_of::<div_t>(),
8634 8usize,
8635 concat!("Size of: ", stringify!(div_t))
8636 );
8637 assert_eq!(
8638 ::std::mem::align_of::<div_t>(),
8639 4usize,
8640 concat!("Alignment of ", stringify!(div_t))
8641 );
8642 assert_eq!(
8643 unsafe { &(*(::std::ptr::null::<div_t>())).quot as *const _ as usize },
8644 0usize,
8645 concat!(
8646 "Offset of field: ",
8647 stringify!(div_t),
8648 "::",
8649 stringify!(quot)
8650 )
8651 );
8652 assert_eq!(
8653 unsafe { &(*(::std::ptr::null::<div_t>())).rem as *const _ as usize },
8654 4usize,
8655 concat!(
8656 "Offset of field: ",
8657 stringify!(div_t),
8658 "::",
8659 stringify!(rem)
8660 )
8661 );
8662}
8663#[repr(C)]
8664#[derive(Debug, Copy, Clone)]
8665pub struct ldiv_t {
8666 pub quot: ::std::os::raw::c_long,
8667 pub rem: ::std::os::raw::c_long,
8668}
8669#[test]
8670fn bindgen_test_layout_ldiv_t() {
8671 assert_eq!(
8672 ::std::mem::size_of::<ldiv_t>(),
8673 16usize,
8674 concat!("Size of: ", stringify!(ldiv_t))
8675 );
8676 assert_eq!(
8677 ::std::mem::align_of::<ldiv_t>(),
8678 8usize,
8679 concat!("Alignment of ", stringify!(ldiv_t))
8680 );
8681 assert_eq!(
8682 unsafe { &(*(::std::ptr::null::<ldiv_t>())).quot as *const _ as usize },
8683 0usize,
8684 concat!(
8685 "Offset of field: ",
8686 stringify!(ldiv_t),
8687 "::",
8688 stringify!(quot)
8689 )
8690 );
8691 assert_eq!(
8692 unsafe { &(*(::std::ptr::null::<ldiv_t>())).rem as *const _ as usize },
8693 8usize,
8694 concat!(
8695 "Offset of field: ",
8696 stringify!(ldiv_t),
8697 "::",
8698 stringify!(rem)
8699 )
8700 );
8701}
8702#[repr(C)]
8703#[derive(Debug, Copy, Clone)]
8704pub struct lldiv_t {
8705 pub quot: ::std::os::raw::c_longlong,
8706 pub rem: ::std::os::raw::c_longlong,
8707}
8708#[test]
8709fn bindgen_test_layout_lldiv_t() {
8710 assert_eq!(
8711 ::std::mem::size_of::<lldiv_t>(),
8712 16usize,
8713 concat!("Size of: ", stringify!(lldiv_t))
8714 );
8715 assert_eq!(
8716 ::std::mem::align_of::<lldiv_t>(),
8717 8usize,
8718 concat!("Alignment of ", stringify!(lldiv_t))
8719 );
8720 assert_eq!(
8721 unsafe { &(*(::std::ptr::null::<lldiv_t>())).quot as *const _ as usize },
8722 0usize,
8723 concat!(
8724 "Offset of field: ",
8725 stringify!(lldiv_t),
8726 "::",
8727 stringify!(quot)
8728 )
8729 );
8730 assert_eq!(
8731 unsafe { &(*(::std::ptr::null::<lldiv_t>())).rem as *const _ as usize },
8732 8usize,
8733 concat!(
8734 "Offset of field: ",
8735 stringify!(lldiv_t),
8736 "::",
8737 stringify!(rem)
8738 )
8739 );
8740}
8741extern "C" {
8742 pub fn __ctype_get_mb_cur_max() -> usize;
8743}
8744extern "C" {
8745 pub fn atof(__nptr: *const ::std::os::raw::c_char) -> f64;
8746}
8747extern "C" {
8748 pub fn atoi(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
8749}
8750extern "C" {
8751 pub fn atol(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
8752}
8753extern "C" {
8754 pub fn atoll(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_longlong;
8755}
8756extern "C" {
8757 pub fn strtod(
8758 __nptr: *const ::std::os::raw::c_char,
8759 __endptr: *mut *mut ::std::os::raw::c_char,
8760 ) -> f64;
8761}
8762extern "C" {
8763 pub fn strtof(
8764 __nptr: *const ::std::os::raw::c_char,
8765 __endptr: *mut *mut ::std::os::raw::c_char,
8766 ) -> f32;
8767}
8768extern "C" {
8769 pub fn strtold(
8770 __nptr: *const ::std::os::raw::c_char,
8771 __endptr: *mut *mut ::std::os::raw::c_char,
8772 ) -> u128;
8773}
8774extern "C" {
8775 pub fn strtol(
8776 __nptr: *const ::std::os::raw::c_char,
8777 __endptr: *mut *mut ::std::os::raw::c_char,
8778 __base: ::std::os::raw::c_int,
8779 ) -> ::std::os::raw::c_long;
8780}
8781extern "C" {
8782 pub fn strtoul(
8783 __nptr: *const ::std::os::raw::c_char,
8784 __endptr: *mut *mut ::std::os::raw::c_char,
8785 __base: ::std::os::raw::c_int,
8786 ) -> ::std::os::raw::c_ulong;
8787}
8788extern "C" {
8789 pub fn strtoq(
8790 __nptr: *const ::std::os::raw::c_char,
8791 __endptr: *mut *mut ::std::os::raw::c_char,
8792 __base: ::std::os::raw::c_int,
8793 ) -> ::std::os::raw::c_longlong;
8794}
8795extern "C" {
8796 pub fn strtouq(
8797 __nptr: *const ::std::os::raw::c_char,
8798 __endptr: *mut *mut ::std::os::raw::c_char,
8799 __base: ::std::os::raw::c_int,
8800 ) -> ::std::os::raw::c_ulonglong;
8801}
8802extern "C" {
8803 pub fn strtoll(
8804 __nptr: *const ::std::os::raw::c_char,
8805 __endptr: *mut *mut ::std::os::raw::c_char,
8806 __base: ::std::os::raw::c_int,
8807 ) -> ::std::os::raw::c_longlong;
8808}
8809extern "C" {
8810 pub fn strtoull(
8811 __nptr: *const ::std::os::raw::c_char,
8812 __endptr: *mut *mut ::std::os::raw::c_char,
8813 __base: ::std::os::raw::c_int,
8814 ) -> ::std::os::raw::c_ulonglong;
8815}
8816extern "C" {
8817 pub fn l64a(__n: ::std::os::raw::c_long) -> *mut ::std::os::raw::c_char;
8818}
8819extern "C" {
8820 pub fn a64l(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
8821}
8822extern "C" {
8823 pub fn random() -> ::std::os::raw::c_long;
8824}
8825extern "C" {
8826 pub fn srandom(__seed: ::std::os::raw::c_uint);
8827}
8828extern "C" {
8829 pub fn initstate(
8830 __seed: ::std::os::raw::c_uint,
8831 __statebuf: *mut ::std::os::raw::c_char,
8832 __statelen: usize,
8833 ) -> *mut ::std::os::raw::c_char;
8834}
8835extern "C" {
8836 pub fn setstate(__statebuf: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
8837}
8838#[repr(C)]
8839#[derive(Debug, Copy, Clone)]
8840pub struct random_data {
8841 pub fptr: *mut i32,
8842 pub rptr: *mut i32,
8843 pub state: *mut i32,
8844 pub rand_type: ::std::os::raw::c_int,
8845 pub rand_deg: ::std::os::raw::c_int,
8846 pub rand_sep: ::std::os::raw::c_int,
8847 pub end_ptr: *mut i32,
8848}
8849#[test]
8850fn bindgen_test_layout_random_data() {
8851 assert_eq!(
8852 ::std::mem::size_of::<random_data>(),
8853 48usize,
8854 concat!("Size of: ", stringify!(random_data))
8855 );
8856 assert_eq!(
8857 ::std::mem::align_of::<random_data>(),
8858 8usize,
8859 concat!("Alignment of ", stringify!(random_data))
8860 );
8861 assert_eq!(
8862 unsafe { &(*(::std::ptr::null::<random_data>())).fptr as *const _ as usize },
8863 0usize,
8864 concat!(
8865 "Offset of field: ",
8866 stringify!(random_data),
8867 "::",
8868 stringify!(fptr)
8869 )
8870 );
8871 assert_eq!(
8872 unsafe { &(*(::std::ptr::null::<random_data>())).rptr as *const _ as usize },
8873 8usize,
8874 concat!(
8875 "Offset of field: ",
8876 stringify!(random_data),
8877 "::",
8878 stringify!(rptr)
8879 )
8880 );
8881 assert_eq!(
8882 unsafe { &(*(::std::ptr::null::<random_data>())).state as *const _ as usize },
8883 16usize,
8884 concat!(
8885 "Offset of field: ",
8886 stringify!(random_data),
8887 "::",
8888 stringify!(state)
8889 )
8890 );
8891 assert_eq!(
8892 unsafe { &(*(::std::ptr::null::<random_data>())).rand_type as *const _ as usize },
8893 24usize,
8894 concat!(
8895 "Offset of field: ",
8896 stringify!(random_data),
8897 "::",
8898 stringify!(rand_type)
8899 )
8900 );
8901 assert_eq!(
8902 unsafe { &(*(::std::ptr::null::<random_data>())).rand_deg as *const _ as usize },
8903 28usize,
8904 concat!(
8905 "Offset of field: ",
8906 stringify!(random_data),
8907 "::",
8908 stringify!(rand_deg)
8909 )
8910 );
8911 assert_eq!(
8912 unsafe { &(*(::std::ptr::null::<random_data>())).rand_sep as *const _ as usize },
8913 32usize,
8914 concat!(
8915 "Offset of field: ",
8916 stringify!(random_data),
8917 "::",
8918 stringify!(rand_sep)
8919 )
8920 );
8921 assert_eq!(
8922 unsafe { &(*(::std::ptr::null::<random_data>())).end_ptr as *const _ as usize },
8923 40usize,
8924 concat!(
8925 "Offset of field: ",
8926 stringify!(random_data),
8927 "::",
8928 stringify!(end_ptr)
8929 )
8930 );
8931}
8932extern "C" {
8933 pub fn random_r(__buf: *mut random_data, __result: *mut i32) -> ::std::os::raw::c_int;
8934}
8935extern "C" {
8936 pub fn srandom_r(
8937 __seed: ::std::os::raw::c_uint,
8938 __buf: *mut random_data,
8939 ) -> ::std::os::raw::c_int;
8940}
8941extern "C" {
8942 pub fn initstate_r(
8943 __seed: ::std::os::raw::c_uint,
8944 __statebuf: *mut ::std::os::raw::c_char,
8945 __statelen: usize,
8946 __buf: *mut random_data,
8947 ) -> ::std::os::raw::c_int;
8948}
8949extern "C" {
8950 pub fn setstate_r(
8951 __statebuf: *mut ::std::os::raw::c_char,
8952 __buf: *mut random_data,
8953 ) -> ::std::os::raw::c_int;
8954}
8955extern "C" {
8956 pub fn rand() -> ::std::os::raw::c_int;
8957}
8958extern "C" {
8959 pub fn srand(__seed: ::std::os::raw::c_uint);
8960}
8961extern "C" {
8962 pub fn rand_r(__seed: *mut ::std::os::raw::c_uint) -> ::std::os::raw::c_int;
8963}
8964extern "C" {
8965 pub fn drand48() -> f64;
8966}
8967extern "C" {
8968 pub fn erand48(__xsubi: *mut ::std::os::raw::c_ushort) -> f64;
8969}
8970extern "C" {
8971 pub fn lrand48() -> ::std::os::raw::c_long;
8972}
8973extern "C" {
8974 pub fn nrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
8975}
8976extern "C" {
8977 pub fn mrand48() -> ::std::os::raw::c_long;
8978}
8979extern "C" {
8980 pub fn jrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
8981}
8982extern "C" {
8983 pub fn srand48(__seedval: ::std::os::raw::c_long);
8984}
8985extern "C" {
8986 pub fn seed48(__seed16v: *mut ::std::os::raw::c_ushort) -> *mut ::std::os::raw::c_ushort;
8987}
8988extern "C" {
8989 pub fn lcong48(__param: *mut ::std::os::raw::c_ushort);
8990}
8991#[repr(C)]
8992#[derive(Debug, Copy, Clone)]
8993pub struct drand48_data {
8994 pub __x: [::std::os::raw::c_ushort; 3usize],
8995 pub __old_x: [::std::os::raw::c_ushort; 3usize],
8996 pub __c: ::std::os::raw::c_ushort,
8997 pub __init: ::std::os::raw::c_ushort,
8998 pub __a: ::std::os::raw::c_ulonglong,
8999}
9000#[test]
9001fn bindgen_test_layout_drand48_data() {
9002 assert_eq!(
9003 ::std::mem::size_of::<drand48_data>(),
9004 24usize,
9005 concat!("Size of: ", stringify!(drand48_data))
9006 );
9007 assert_eq!(
9008 ::std::mem::align_of::<drand48_data>(),
9009 8usize,
9010 concat!("Alignment of ", stringify!(drand48_data))
9011 );
9012 assert_eq!(
9013 unsafe { &(*(::std::ptr::null::<drand48_data>())).__x as *const _ as usize },
9014 0usize,
9015 concat!(
9016 "Offset of field: ",
9017 stringify!(drand48_data),
9018 "::",
9019 stringify!(__x)
9020 )
9021 );
9022 assert_eq!(
9023 unsafe { &(*(::std::ptr::null::<drand48_data>())).__old_x as *const _ as usize },
9024 6usize,
9025 concat!(
9026 "Offset of field: ",
9027 stringify!(drand48_data),
9028 "::",
9029 stringify!(__old_x)
9030 )
9031 );
9032 assert_eq!(
9033 unsafe { &(*(::std::ptr::null::<drand48_data>())).__c as *const _ as usize },
9034 12usize,
9035 concat!(
9036 "Offset of field: ",
9037 stringify!(drand48_data),
9038 "::",
9039 stringify!(__c)
9040 )
9041 );
9042 assert_eq!(
9043 unsafe { &(*(::std::ptr::null::<drand48_data>())).__init as *const _ as usize },
9044 14usize,
9045 concat!(
9046 "Offset of field: ",
9047 stringify!(drand48_data),
9048 "::",
9049 stringify!(__init)
9050 )
9051 );
9052 assert_eq!(
9053 unsafe { &(*(::std::ptr::null::<drand48_data>())).__a as *const _ as usize },
9054 16usize,
9055 concat!(
9056 "Offset of field: ",
9057 stringify!(drand48_data),
9058 "::",
9059 stringify!(__a)
9060 )
9061 );
9062}
9063extern "C" {
9064 pub fn drand48_r(__buffer: *mut drand48_data, __result: *mut f64) -> ::std::os::raw::c_int;
9065}
9066extern "C" {
9067 pub fn erand48_r(
9068 __xsubi: *mut ::std::os::raw::c_ushort,
9069 __buffer: *mut drand48_data,
9070 __result: *mut f64,
9071 ) -> ::std::os::raw::c_int;
9072}
9073extern "C" {
9074 pub fn lrand48_r(
9075 __buffer: *mut drand48_data,
9076 __result: *mut ::std::os::raw::c_long,
9077 ) -> ::std::os::raw::c_int;
9078}
9079extern "C" {
9080 pub fn nrand48_r(
9081 __xsubi: *mut ::std::os::raw::c_ushort,
9082 __buffer: *mut drand48_data,
9083 __result: *mut ::std::os::raw::c_long,
9084 ) -> ::std::os::raw::c_int;
9085}
9086extern "C" {
9087 pub fn mrand48_r(
9088 __buffer: *mut drand48_data,
9089 __result: *mut ::std::os::raw::c_long,
9090 ) -> ::std::os::raw::c_int;
9091}
9092extern "C" {
9093 pub fn jrand48_r(
9094 __xsubi: *mut ::std::os::raw::c_ushort,
9095 __buffer: *mut drand48_data,
9096 __result: *mut ::std::os::raw::c_long,
9097 ) -> ::std::os::raw::c_int;
9098}
9099extern "C" {
9100 pub fn srand48_r(
9101 __seedval: ::std::os::raw::c_long,
9102 __buffer: *mut drand48_data,
9103 ) -> ::std::os::raw::c_int;
9104}
9105extern "C" {
9106 pub fn seed48_r(
9107 __seed16v: *mut ::std::os::raw::c_ushort,
9108 __buffer: *mut drand48_data,
9109 ) -> ::std::os::raw::c_int;
9110}
9111extern "C" {
9112 pub fn lcong48_r(
9113 __param: *mut ::std::os::raw::c_ushort,
9114 __buffer: *mut drand48_data,
9115 ) -> ::std::os::raw::c_int;
9116}
9117extern "C" {
9118 pub fn malloc(__size: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void;
9119}
9120extern "C" {
9121 pub fn calloc(
9122 __nmemb: ::std::os::raw::c_ulong,
9123 __size: ::std::os::raw::c_ulong,
9124 ) -> *mut ::std::os::raw::c_void;
9125}
9126extern "C" {
9127 pub fn realloc(
9128 __ptr: *mut ::std::os::raw::c_void,
9129 __size: ::std::os::raw::c_ulong,
9130 ) -> *mut ::std::os::raw::c_void;
9131}
9132extern "C" {
9133 pub fn reallocarray(
9134 __ptr: *mut ::std::os::raw::c_void,
9135 __nmemb: usize,
9136 __size: usize,
9137 ) -> *mut ::std::os::raw::c_void;
9138}
9139extern "C" {
9140 pub fn free(__ptr: *mut ::std::os::raw::c_void);
9141}
9142extern "C" {
9143 pub fn alloca(__size: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void;
9144}
9145extern "C" {
9146 pub fn valloc(__size: usize) -> *mut ::std::os::raw::c_void;
9147}
9148extern "C" {
9149 pub fn posix_memalign(
9150 __memptr: *mut *mut ::std::os::raw::c_void,
9151 __alignment: usize,
9152 __size: usize,
9153 ) -> ::std::os::raw::c_int;
9154}
9155extern "C" {
9156 pub fn aligned_alloc(__alignment: usize, __size: usize) -> *mut ::std::os::raw::c_void;
9157}
9158extern "C" {
9159 pub fn abort();
9160}
9161extern "C" {
9162 pub fn atexit(__func: ::std::option::Option<unsafe extern "C" fn()>) -> ::std::os::raw::c_int;
9163}
9164extern "C" {
9165 pub fn at_quick_exit(
9166 __func: ::std::option::Option<unsafe extern "C" fn()>,
9167 ) -> ::std::os::raw::c_int;
9168}
9169extern "C" {
9170 pub fn on_exit(
9171 __func: ::std::option::Option<
9172 unsafe extern "C" fn(
9173 __status: ::std::os::raw::c_int,
9174 __arg: *mut ::std::os::raw::c_void,
9175 ),
9176 >,
9177 __arg: *mut ::std::os::raw::c_void,
9178 ) -> ::std::os::raw::c_int;
9179}
9180extern "C" {
9181 pub fn exit(__status: ::std::os::raw::c_int);
9182}
9183extern "C" {
9184 pub fn quick_exit(__status: ::std::os::raw::c_int);
9185}
9186extern "C" {
9187 pub fn _Exit(__status: ::std::os::raw::c_int);
9188}
9189extern "C" {
9190 pub fn getenv(__name: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
9191}
9192extern "C" {
9193 pub fn putenv(__string: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
9194}
9195extern "C" {
9196 pub fn setenv(
9197 __name: *const ::std::os::raw::c_char,
9198 __value: *const ::std::os::raw::c_char,
9199 __replace: ::std::os::raw::c_int,
9200 ) -> ::std::os::raw::c_int;
9201}
9202extern "C" {
9203 pub fn unsetenv(__name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
9204}
9205extern "C" {
9206 pub fn clearenv() -> ::std::os::raw::c_int;
9207}
9208extern "C" {
9209 pub fn mktemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
9210}
9211extern "C" {
9212 pub fn mkstemp(__template: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
9213}
9214extern "C" {
9215 pub fn mkstemps(
9216 __template: *mut ::std::os::raw::c_char,
9217 __suffixlen: ::std::os::raw::c_int,
9218 ) -> ::std::os::raw::c_int;
9219}
9220extern "C" {
9221 pub fn mkdtemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
9222}
9223extern "C" {
9224 pub fn system(__command: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
9225}
9226extern "C" {
9227 pub fn realpath(
9228 __name: *const ::std::os::raw::c_char,
9229 __resolved: *mut ::std::os::raw::c_char,
9230 ) -> *mut ::std::os::raw::c_char;
9231}
9232pub type __compar_fn_t = ::std::option::Option<
9233 unsafe extern "C" fn(
9234 arg1: *const ::std::os::raw::c_void,
9235 arg2: *const ::std::os::raw::c_void,
9236 ) -> ::std::os::raw::c_int,
9237>;
9238extern "C" {
9239 pub fn bsearch(
9240 __key: *const ::std::os::raw::c_void,
9241 __base: *const ::std::os::raw::c_void,
9242 __nmemb: usize,
9243 __size: usize,
9244 __compar: __compar_fn_t,
9245 ) -> *mut ::std::os::raw::c_void;
9246}
9247extern "C" {
9248 pub fn qsort(
9249 __base: *mut ::std::os::raw::c_void,
9250 __nmemb: usize,
9251 __size: usize,
9252 __compar: __compar_fn_t,
9253 );
9254}
9255extern "C" {
9256 pub fn abs(__x: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
9257}
9258extern "C" {
9259 pub fn labs(__x: ::std::os::raw::c_long) -> ::std::os::raw::c_long;
9260}
9261extern "C" {
9262 pub fn llabs(__x: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong;
9263}
9264extern "C" {
9265 pub fn div(__numer: ::std::os::raw::c_int, __denom: ::std::os::raw::c_int) -> div_t;
9266}
9267extern "C" {
9268 pub fn ldiv(__numer: ::std::os::raw::c_long, __denom: ::std::os::raw::c_long) -> ldiv_t;
9269}
9270extern "C" {
9271 pub fn lldiv(
9272 __numer: ::std::os::raw::c_longlong,
9273 __denom: ::std::os::raw::c_longlong,
9274 ) -> lldiv_t;
9275}
9276extern "C" {
9277 pub fn ecvt(
9278 __value: f64,
9279 __ndigit: ::std::os::raw::c_int,
9280 __decpt: *mut ::std::os::raw::c_int,
9281 __sign: *mut ::std::os::raw::c_int,
9282 ) -> *mut ::std::os::raw::c_char;
9283}
9284extern "C" {
9285 pub fn fcvt(
9286 __value: f64,
9287 __ndigit: ::std::os::raw::c_int,
9288 __decpt: *mut ::std::os::raw::c_int,
9289 __sign: *mut ::std::os::raw::c_int,
9290 ) -> *mut ::std::os::raw::c_char;
9291}
9292extern "C" {
9293 pub fn gcvt(
9294 __value: f64,
9295 __ndigit: ::std::os::raw::c_int,
9296 __buf: *mut ::std::os::raw::c_char,
9297 ) -> *mut ::std::os::raw::c_char;
9298}
9299extern "C" {
9300 pub fn qecvt(
9301 __value: u128,
9302 __ndigit: ::std::os::raw::c_int,
9303 __decpt: *mut ::std::os::raw::c_int,
9304 __sign: *mut ::std::os::raw::c_int,
9305 ) -> *mut ::std::os::raw::c_char;
9306}
9307extern "C" {
9308 pub fn qfcvt(
9309 __value: u128,
9310 __ndigit: ::std::os::raw::c_int,
9311 __decpt: *mut ::std::os::raw::c_int,
9312 __sign: *mut ::std::os::raw::c_int,
9313 ) -> *mut ::std::os::raw::c_char;
9314}
9315extern "C" {
9316 pub fn qgcvt(
9317 __value: u128,
9318 __ndigit: ::std::os::raw::c_int,
9319 __buf: *mut ::std::os::raw::c_char,
9320 ) -> *mut ::std::os::raw::c_char;
9321}
9322extern "C" {
9323 pub fn ecvt_r(
9324 __value: f64,
9325 __ndigit: ::std::os::raw::c_int,
9326 __decpt: *mut ::std::os::raw::c_int,
9327 __sign: *mut ::std::os::raw::c_int,
9328 __buf: *mut ::std::os::raw::c_char,
9329 __len: usize,
9330 ) -> ::std::os::raw::c_int;
9331}
9332extern "C" {
9333 pub fn fcvt_r(
9334 __value: f64,
9335 __ndigit: ::std::os::raw::c_int,
9336 __decpt: *mut ::std::os::raw::c_int,
9337 __sign: *mut ::std::os::raw::c_int,
9338 __buf: *mut ::std::os::raw::c_char,
9339 __len: usize,
9340 ) -> ::std::os::raw::c_int;
9341}
9342extern "C" {
9343 pub fn qecvt_r(
9344 __value: u128,
9345 __ndigit: ::std::os::raw::c_int,
9346 __decpt: *mut ::std::os::raw::c_int,
9347 __sign: *mut ::std::os::raw::c_int,
9348 __buf: *mut ::std::os::raw::c_char,
9349 __len: usize,
9350 ) -> ::std::os::raw::c_int;
9351}
9352extern "C" {
9353 pub fn qfcvt_r(
9354 __value: u128,
9355 __ndigit: ::std::os::raw::c_int,
9356 __decpt: *mut ::std::os::raw::c_int,
9357 __sign: *mut ::std::os::raw::c_int,
9358 __buf: *mut ::std::os::raw::c_char,
9359 __len: usize,
9360 ) -> ::std::os::raw::c_int;
9361}
9362extern "C" {
9363 pub fn mblen(__s: *const ::std::os::raw::c_char, __n: usize) -> ::std::os::raw::c_int;
9364}
9365extern "C" {
9366 pub fn mbtowc(
9367 __pwc: *mut wchar_t,
9368 __s: *const ::std::os::raw::c_char,
9369 __n: usize,
9370 ) -> ::std::os::raw::c_int;
9371}
9372extern "C" {
9373 pub fn wctomb(__s: *mut ::std::os::raw::c_char, __wchar: wchar_t) -> ::std::os::raw::c_int;
9374}
9375extern "C" {
9376 pub fn mbstowcs(__pwcs: *mut wchar_t, __s: *const ::std::os::raw::c_char, __n: usize) -> usize;
9377}
9378extern "C" {
9379 pub fn wcstombs(__s: *mut ::std::os::raw::c_char, __pwcs: *const wchar_t, __n: usize) -> usize;
9380}
9381extern "C" {
9382 pub fn rpmatch(__response: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
9383}
9384extern "C" {
9385 pub fn getsubopt(
9386 __optionp: *mut *mut ::std::os::raw::c_char,
9387 __tokens: *const *mut ::std::os::raw::c_char,
9388 __valuep: *mut *mut ::std::os::raw::c_char,
9389 ) -> ::std::os::raw::c_int;
9390}
9391extern "C" {
9392 pub fn getloadavg(__loadavg: *mut f64, __nelem: ::std::os::raw::c_int)
9393 -> ::std::os::raw::c_int;
9394}
9395extern "C" {
9396 pub static mut rec_word_tab: [::std::os::raw::c_int; 256usize];
9397}
9398extern "C" {
9399 pub static mut flint_version: [::std::os::raw::c_char; 0usize];
9400}
9401extern "C" {
9402 pub fn flint_malloc(size: usize) -> *mut ::std::os::raw::c_void;
9403}
9404extern "C" {
9405 pub fn flint_realloc(
9406 ptr: *mut ::std::os::raw::c_void,
9407 size: usize,
9408 ) -> *mut ::std::os::raw::c_void;
9409}
9410extern "C" {
9411 pub fn flint_calloc(num: usize, size: usize) -> *mut ::std::os::raw::c_void;
9412}
9413extern "C" {
9414 pub fn flint_free(ptr: *mut ::std::os::raw::c_void);
9415}
9416pub type flint_cleanup_function_t = ::std::option::Option<unsafe extern "C" fn()>;
9417extern "C" {
9418 pub fn flint_register_cleanup_function(cleanup_function: flint_cleanup_function_t);
9419}
9420extern "C" {
9421 pub fn flint_cleanup();
9422}
9423extern "C" {
9424 pub fn flint_cleanup_master();
9425}
9426extern "C" {
9427 pub fn __flint_set_memory_functions(
9428 alloc_func: ::std::option::Option<
9429 unsafe extern "C" fn(arg1: usize) -> *mut ::std::os::raw::c_void,
9430 >,
9431 calloc_func: ::std::option::Option<
9432 unsafe extern "C" fn(arg1: usize, arg2: usize) -> *mut ::std::os::raw::c_void,
9433 >,
9434 realloc_func: ::std::option::Option<
9435 unsafe extern "C" fn(
9436 arg1: *mut ::std::os::raw::c_void,
9437 arg2: usize,
9438 ) -> *mut ::std::os::raw::c_void,
9439 >,
9440 free_func: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
9441 );
9442}
9443extern "C" {
9444 pub fn flint_abort();
9445}
9446extern "C" {
9447 pub fn flint_set_abort(func: ::std::option::Option<unsafe extern "C" fn()>);
9448}
9449extern "C" {
9450 pub fn flint_get_num_threads() -> ::std::os::raw::c_int;
9451}
9452extern "C" {
9453 pub fn flint_set_num_threads(num_threads: ::std::os::raw::c_int);
9454}
9455extern "C" {
9456 pub fn _flint_set_num_workers(num_workers: ::std::os::raw::c_int);
9457}
9458extern "C" {
9459 pub fn flint_set_num_workers(num_workers: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
9460}
9461extern "C" {
9462 pub fn flint_reset_num_workers(max_workers: ::std::os::raw::c_int);
9463}
9464extern "C" {
9465 pub fn flint_set_thread_affinity(
9466 cpus: *mut ::std::os::raw::c_int,
9467 length: mp_limb_signed_t,
9468 ) -> ::std::os::raw::c_int;
9469}
9470extern "C" {
9471 pub fn flint_restore_thread_affinity() -> ::std::os::raw::c_int;
9472}
9473extern "C" {
9474 pub fn flint_test_multiplier() -> ::std::os::raw::c_int;
9475}
9476#[repr(C)]
9477#[derive(Copy, Clone)]
9478pub struct flint_rand_s {
9479 pub gmp_state: gmp_randstate_t,
9480 pub gmp_init: ::std::os::raw::c_int,
9481 pub __randval: mp_limb_t,
9482 pub __randval2: mp_limb_t,
9483}
9484#[test]
9485fn bindgen_test_layout_flint_rand_s() {
9486 assert_eq!(
9487 ::std::mem::size_of::<flint_rand_s>(),
9488 56usize,
9489 concat!("Size of: ", stringify!(flint_rand_s))
9490 );
9491 assert_eq!(
9492 ::std::mem::align_of::<flint_rand_s>(),
9493 8usize,
9494 concat!("Alignment of ", stringify!(flint_rand_s))
9495 );
9496 assert_eq!(
9497 unsafe { &(*(::std::ptr::null::<flint_rand_s>())).gmp_state as *const _ as usize },
9498 0usize,
9499 concat!(
9500 "Offset of field: ",
9501 stringify!(flint_rand_s),
9502 "::",
9503 stringify!(gmp_state)
9504 )
9505 );
9506 assert_eq!(
9507 unsafe { &(*(::std::ptr::null::<flint_rand_s>())).gmp_init as *const _ as usize },
9508 32usize,
9509 concat!(
9510 "Offset of field: ",
9511 stringify!(flint_rand_s),
9512 "::",
9513 stringify!(gmp_init)
9514 )
9515 );
9516 assert_eq!(
9517 unsafe { &(*(::std::ptr::null::<flint_rand_s>())).__randval as *const _ as usize },
9518 40usize,
9519 concat!(
9520 "Offset of field: ",
9521 stringify!(flint_rand_s),
9522 "::",
9523 stringify!(__randval)
9524 )
9525 );
9526 assert_eq!(
9527 unsafe { &(*(::std::ptr::null::<flint_rand_s>())).__randval2 as *const _ as usize },
9528 48usize,
9529 concat!(
9530 "Offset of field: ",
9531 stringify!(flint_rand_s),
9532 "::",
9533 stringify!(__randval2)
9534 )
9535 );
9536}
9537pub type flint_rand_t = [flint_rand_s; 1usize];
9538pub type flint_mpfr = __mpfr_struct;
9539extern "C" {
9540 pub fn parse_fmt(
9541 floating: *mut ::std::os::raw::c_int,
9542 fmt: *const ::std::os::raw::c_char,
9543 ) -> ::std::os::raw::c_int;
9544}
9545extern "C" {
9546 pub fn flint_printf(str: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
9547}
9548extern "C" {
9549 pub fn flint_vprintf(
9550 str: *const ::std::os::raw::c_char,
9551 ap: *mut __va_list_tag,
9552 ) -> ::std::os::raw::c_int;
9553}
9554extern "C" {
9555 pub fn flint_fprintf(
9556 f: *mut FILE,
9557 str: *const ::std::os::raw::c_char,
9558 ...
9559 ) -> ::std::os::raw::c_int;
9560}
9561extern "C" {
9562 pub fn flint_sprintf(
9563 s: *mut ::std::os::raw::c_char,
9564 str: *const ::std::os::raw::c_char,
9565 ...
9566 ) -> ::std::os::raw::c_int;
9567}
9568extern "C" {
9569 pub fn flint_scanf(str: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
9570}
9571extern "C" {
9572 pub fn flint_fscanf(
9573 f: *mut FILE,
9574 str: *const ::std::os::raw::c_char,
9575 ...
9576 ) -> ::std::os::raw::c_int;
9577}
9578extern "C" {
9579 pub fn flint_sscanf(
9580 s: *const ::std::os::raw::c_char,
9581 str: *const ::std::os::raw::c_char,
9582 ...
9583 ) -> ::std::os::raw::c_int;
9584}
9585pub const flint_err_t_FLINT_ERROR: flint_err_t = 0;
9586pub const flint_err_t_FLINT_IMPINV: flint_err_t = 1;
9587pub const flint_err_t_FLINT_DOMERR: flint_err_t = 2;
9588pub const flint_err_t_FLINT_DIVZERO: flint_err_t = 3;
9589pub const flint_err_t_FLINT_EXPOF: flint_err_t = 4;
9590pub const flint_err_t_FLINT_INEXACT: flint_err_t = 5;
9591pub type flint_err_t = u32;
9592extern "C" {
9593 pub fn flint_throw(exc: flint_err_t, msg: *const ::std::os::raw::c_char, ...);
9594}
9595#[repr(C)]
9596#[derive(Debug, Copy, Clone)]
9597pub struct pair_s {
9598 pub x: mp_limb_t,
9599 pub y: mp_limb_t,
9600}
9601#[test]
9602fn bindgen_test_layout_pair_s() {
9603 assert_eq!(
9604 ::std::mem::size_of::<pair_s>(),
9605 16usize,
9606 concat!("Size of: ", stringify!(pair_s))
9607 );
9608 assert_eq!(
9609 ::std::mem::align_of::<pair_s>(),
9610 8usize,
9611 concat!("Alignment of ", stringify!(pair_s))
9612 );
9613 assert_eq!(
9614 unsafe { &(*(::std::ptr::null::<pair_s>())).x as *const _ as usize },
9615 0usize,
9616 concat!("Offset of field: ", stringify!(pair_s), "::", stringify!(x))
9617 );
9618 assert_eq!(
9619 unsafe { &(*(::std::ptr::null::<pair_s>())).y as *const _ as usize },
9620 8usize,
9621 concat!("Offset of field: ", stringify!(pair_s), "::", stringify!(y))
9622 );
9623}
9624pub type n_pair_t = pair_s;
9625#[repr(C)]
9626#[derive(Debug, Copy, Clone)]
9627pub struct n_factor_t {
9628 pub num: ::std::os::raw::c_int,
9629 pub exp: [::std::os::raw::c_int; 15usize],
9630 pub p: [mp_limb_t; 15usize],
9631}
9632#[test]
9633fn bindgen_test_layout_n_factor_t() {
9634 assert_eq!(
9635 ::std::mem::size_of::<n_factor_t>(),
9636 184usize,
9637 concat!("Size of: ", stringify!(n_factor_t))
9638 );
9639 assert_eq!(
9640 ::std::mem::align_of::<n_factor_t>(),
9641 8usize,
9642 concat!("Alignment of ", stringify!(n_factor_t))
9643 );
9644 assert_eq!(
9645 unsafe { &(*(::std::ptr::null::<n_factor_t>())).num as *const _ as usize },
9646 0usize,
9647 concat!(
9648 "Offset of field: ",
9649 stringify!(n_factor_t),
9650 "::",
9651 stringify!(num)
9652 )
9653 );
9654 assert_eq!(
9655 unsafe { &(*(::std::ptr::null::<n_factor_t>())).exp as *const _ as usize },
9656 4usize,
9657 concat!(
9658 "Offset of field: ",
9659 stringify!(n_factor_t),
9660 "::",
9661 stringify!(exp)
9662 )
9663 );
9664 assert_eq!(
9665 unsafe { &(*(::std::ptr::null::<n_factor_t>())).p as *const _ as usize },
9666 64usize,
9667 concat!(
9668 "Offset of field: ",
9669 stringify!(n_factor_t),
9670 "::",
9671 stringify!(p)
9672 )
9673 );
9674}
9675#[repr(C)]
9676#[derive(Debug, Copy, Clone)]
9677pub struct n_primes_struct {
9678 pub small_i: mp_limb_signed_t,
9679 pub small_num: mp_limb_signed_t,
9680 pub small_primes: *mut ::std::os::raw::c_uint,
9681 pub sieve_a: mp_limb_t,
9682 pub sieve_b: mp_limb_t,
9683 pub sieve_i: mp_limb_signed_t,
9684 pub sieve_num: mp_limb_signed_t,
9685 pub sieve: *mut ::std::os::raw::c_char,
9686}
9687#[test]
9688fn bindgen_test_layout_n_primes_struct() {
9689 assert_eq!(
9690 ::std::mem::size_of::<n_primes_struct>(),
9691 64usize,
9692 concat!("Size of: ", stringify!(n_primes_struct))
9693 );
9694 assert_eq!(
9695 ::std::mem::align_of::<n_primes_struct>(),
9696 8usize,
9697 concat!("Alignment of ", stringify!(n_primes_struct))
9698 );
9699 assert_eq!(
9700 unsafe { &(*(::std::ptr::null::<n_primes_struct>())).small_i as *const _ as usize },
9701 0usize,
9702 concat!(
9703 "Offset of field: ",
9704 stringify!(n_primes_struct),
9705 "::",
9706 stringify!(small_i)
9707 )
9708 );
9709 assert_eq!(
9710 unsafe { &(*(::std::ptr::null::<n_primes_struct>())).small_num as *const _ as usize },
9711 8usize,
9712 concat!(
9713 "Offset of field: ",
9714 stringify!(n_primes_struct),
9715 "::",
9716 stringify!(small_num)
9717 )
9718 );
9719 assert_eq!(
9720 unsafe { &(*(::std::ptr::null::<n_primes_struct>())).small_primes as *const _ as usize },
9721 16usize,
9722 concat!(
9723 "Offset of field: ",
9724 stringify!(n_primes_struct),
9725 "::",
9726 stringify!(small_primes)
9727 )
9728 );
9729 assert_eq!(
9730 unsafe { &(*(::std::ptr::null::<n_primes_struct>())).sieve_a as *const _ as usize },
9731 24usize,
9732 concat!(
9733 "Offset of field: ",
9734 stringify!(n_primes_struct),
9735 "::",
9736 stringify!(sieve_a)
9737 )
9738 );
9739 assert_eq!(
9740 unsafe { &(*(::std::ptr::null::<n_primes_struct>())).sieve_b as *const _ as usize },
9741 32usize,
9742 concat!(
9743 "Offset of field: ",
9744 stringify!(n_primes_struct),
9745 "::",
9746 stringify!(sieve_b)
9747 )
9748 );
9749 assert_eq!(
9750 unsafe { &(*(::std::ptr::null::<n_primes_struct>())).sieve_i as *const _ as usize },
9751 40usize,
9752 concat!(
9753 "Offset of field: ",
9754 stringify!(n_primes_struct),
9755 "::",
9756 stringify!(sieve_i)
9757 )
9758 );
9759 assert_eq!(
9760 unsafe { &(*(::std::ptr::null::<n_primes_struct>())).sieve_num as *const _ as usize },
9761 48usize,
9762 concat!(
9763 "Offset of field: ",
9764 stringify!(n_primes_struct),
9765 "::",
9766 stringify!(sieve_num)
9767 )
9768 );
9769 assert_eq!(
9770 unsafe { &(*(::std::ptr::null::<n_primes_struct>())).sieve as *const _ as usize },
9771 56usize,
9772 concat!(
9773 "Offset of field: ",
9774 stringify!(n_primes_struct),
9775 "::",
9776 stringify!(sieve)
9777 )
9778 );
9779}
9780pub type n_primes_t = [n_primes_struct; 1usize];
9781extern "C" {
9782 pub fn n_primes_init(iter: *mut n_primes_struct);
9783}
9784extern "C" {
9785 pub fn n_primes_clear(iter: *mut n_primes_struct);
9786}
9787extern "C" {
9788 pub fn n_primes_extend_small(iter: *mut n_primes_struct, bound: mp_limb_t);
9789}
9790extern "C" {
9791 pub fn n_primes_sieve_range(iter: *mut n_primes_struct, a: mp_limb_t, b: mp_limb_t);
9792}
9793extern "C" {
9794 pub fn n_primes_jump_after(iter: *mut n_primes_struct, n: mp_limb_t);
9795}
9796extern "C" {
9797 pub static mut flint_primes_small: [::std::os::raw::c_uint; 0usize];
9798}
9799extern "C" {
9800 pub static mut _flint_primes: [*mut mp_limb_t; 64usize];
9801}
9802extern "C" {
9803 pub static mut _flint_prime_inverses: [*mut f64; 64usize];
9804}
9805extern "C" {
9806 pub static mut _flint_primes_used: ::std::os::raw::c_int;
9807}
9808extern "C" {
9809 pub fn n_compute_primes(num_primes: mp_limb_t);
9810}
9811extern "C" {
9812 pub fn n_cleanup_primes();
9813}
9814extern "C" {
9815 pub fn n_primes_arr_readonly(n: mp_limb_t) -> *const mp_limb_t;
9816}
9817extern "C" {
9818 pub fn n_prime_inverses_arr_readonly(n: mp_limb_t) -> *const f64;
9819}
9820extern "C" {
9821 pub fn n_randlimb(state: *mut flint_rand_s) -> mp_limb_t;
9822}
9823extern "C" {
9824 pub fn n_randint(state: *mut flint_rand_s, limit: mp_limb_t) -> mp_limb_t;
9825}
9826extern "C" {
9827 pub fn n_urandint(state: *mut flint_rand_s, limit: mp_limb_t) -> mp_limb_t;
9828}
9829extern "C" {
9830 pub fn n_randbits(state: *mut flint_rand_s, bits: ::std::os::raw::c_uint) -> mp_limb_t;
9831}
9832extern "C" {
9833 pub fn n_randtest_bits(state: *mut flint_rand_s, bits: ::std::os::raw::c_int) -> mp_limb_t;
9834}
9835extern "C" {
9836 pub fn n_randtest(state: *mut flint_rand_s) -> mp_limb_t;
9837}
9838extern "C" {
9839 pub fn n_randtest_not_zero(state: *mut flint_rand_s) -> mp_limb_t;
9840}
9841extern "C" {
9842 pub fn n_randprime(
9843 state: *mut flint_rand_s,
9844 bits: mp_limb_t,
9845 proved: ::std::os::raw::c_int,
9846 ) -> mp_limb_t;
9847}
9848extern "C" {
9849 pub fn n_randtest_prime(state: *mut flint_rand_s, proved: ::std::os::raw::c_int) -> mp_limb_t;
9850}
9851extern "C" {
9852 pub fn n_pow(n: mp_limb_t, exp: mp_limb_t) -> mp_limb_t;
9853}
9854extern "C" {
9855 pub fn n_flog(n: mp_limb_t, b: mp_limb_t) -> mp_limb_t;
9856}
9857extern "C" {
9858 pub fn n_clog(n: mp_limb_t, b: mp_limb_t) -> mp_limb_t;
9859}
9860extern "C" {
9861 pub fn n_mod_precomp(a: mp_limb_t, n: mp_limb_t, ninv: f64) -> mp_limb_t;
9862}
9863extern "C" {
9864 pub fn n_mod2_precomp(a: mp_limb_t, n: mp_limb_t, ninv: f64) -> mp_limb_t;
9865}
9866extern "C" {
9867 pub fn n_divrem2_precomp(q: *mut mp_limb_t, a: mp_limb_t, n: mp_limb_t, npre: f64)
9868 -> mp_limb_t;
9869}
9870extern "C" {
9871 pub fn n_divrem2_preinv(
9872 q: *mut mp_limb_t,
9873 a: mp_limb_t,
9874 n: mp_limb_t,
9875 ninv: mp_limb_t,
9876 ) -> mp_limb_t;
9877}
9878extern "C" {
9879 pub fn n_div2_preinv(a: mp_limb_t, n: mp_limb_t, ninv: mp_limb_t) -> mp_limb_t;
9880}
9881extern "C" {
9882 pub fn n_mod2_preinv(a: mp_limb_t, n: mp_limb_t, ninv: mp_limb_t) -> mp_limb_t;
9883}
9884extern "C" {
9885 pub fn n_ll_mod_preinv(
9886 a_hi: mp_limb_t,
9887 a_lo: mp_limb_t,
9888 n: mp_limb_t,
9889 ninv: mp_limb_t,
9890 ) -> mp_limb_t;
9891}
9892extern "C" {
9893 pub fn n_lll_mod_preinv(
9894 a_hi: mp_limb_t,
9895 a_mi: mp_limb_t,
9896 a_lo: mp_limb_t,
9897 n: mp_limb_t,
9898 ninv: mp_limb_t,
9899 ) -> mp_limb_t;
9900}
9901extern "C" {
9902 pub fn n_mulmod_precomp(a: mp_limb_t, b: mp_limb_t, n: mp_limb_t, ninv: f64) -> mp_limb_t;
9903}
9904extern "C" {
9905 pub fn n_mulmod_preinv(
9906 a: mp_limb_t,
9907 b: mp_limb_t,
9908 n: mp_limb_t,
9909 ninv: mp_limb_t,
9910 norm: mp_limb_t,
9911 ) -> mp_limb_t;
9912}
9913extern "C" {
9914 pub fn n_powmod_ui_precomp(a: mp_limb_t, exp: mp_limb_t, n: mp_limb_t, npre: f64) -> mp_limb_t;
9915}
9916extern "C" {
9917 pub fn n_powmod_precomp(
9918 a: mp_limb_t,
9919 exp: mp_limb_signed_t,
9920 n: mp_limb_t,
9921 npre: f64,
9922 ) -> mp_limb_t;
9923}
9924extern "C" {
9925 pub fn n_powmod2_preinv(
9926 a: mp_limb_t,
9927 exp: mp_limb_signed_t,
9928 n: mp_limb_t,
9929 ninv: mp_limb_t,
9930 ) -> mp_limb_t;
9931}
9932extern "C" {
9933 pub fn n_powmod2_ui_preinv(
9934 a: mp_limb_t,
9935 exp: mp_limb_t,
9936 n: mp_limb_t,
9937 ninv: mp_limb_t,
9938 ) -> mp_limb_t;
9939}
9940extern "C" {
9941 pub fn n_powmod_ui_preinv(
9942 a: mp_limb_t,
9943 exp: mp_limb_t,
9944 n: mp_limb_t,
9945 ninv: mp_limb_t,
9946 norm: mp_limb_t,
9947 ) -> mp_limb_t;
9948}
9949extern "C" {
9950 pub fn n_sqrtmod(a: mp_limb_t, p: mp_limb_t) -> mp_limb_t;
9951}
9952extern "C" {
9953 pub fn n_sqrtmod_2pow(
9954 sqrt: *mut *mut mp_limb_t,
9955 a: mp_limb_t,
9956 exp: mp_limb_signed_t,
9957 ) -> mp_limb_signed_t;
9958}
9959extern "C" {
9960 pub fn n_sqrtmod_primepow(
9961 sqrt: *mut *mut mp_limb_t,
9962 a: mp_limb_t,
9963 p: mp_limb_t,
9964 exp: mp_limb_signed_t,
9965 ) -> mp_limb_signed_t;
9966}
9967extern "C" {
9968 pub fn n_sqrtmodn(
9969 sqrt: *mut *mut mp_limb_t,
9970 a: mp_limb_t,
9971 fac: *mut n_factor_t,
9972 ) -> mp_limb_signed_t;
9973}
9974extern "C" {
9975 pub fn n_gcd(x: mp_limb_t, y: mp_limb_t) -> mp_limb_t;
9976}
9977extern "C" {
9978 pub fn n_xgcd(a: *mut mp_limb_t, b: *mut mp_limb_t, x: mp_limb_t, y: mp_limb_t) -> mp_limb_t;
9979}
9980extern "C" {
9981 pub fn n_gcdinv(a: *mut mp_limb_t, x: mp_limb_t, y: mp_limb_t) -> mp_limb_t;
9982}
9983extern "C" {
9984 pub fn n_CRT(r1: mp_limb_t, m1: mp_limb_t, r2: mp_limb_t, m2: mp_limb_t) -> mp_limb_t;
9985}
9986extern "C" {
9987 pub fn n_revbin(in_: mp_limb_t, bits: mp_limb_t) -> mp_limb_t;
9988}
9989extern "C" {
9990 pub fn n_jacobi(x: mp_limb_signed_t, y: mp_limb_t) -> ::std::os::raw::c_int;
9991}
9992extern "C" {
9993 pub fn n_jacobi_unsigned(x: mp_limb_t, y: mp_limb_t) -> ::std::os::raw::c_int;
9994}
9995extern "C" {
9996 pub fn n_sqrt(a: mp_limb_t) -> mp_limb_t;
9997}
9998extern "C" {
9999 pub fn n_sqrtrem(r: *mut mp_limb_t, a: mp_limb_t) -> mp_limb_t;
10000}
10001extern "C" {
10002 pub fn n_is_square(x: mp_limb_t) -> ::std::os::raw::c_int;
10003}
10004extern "C" {
10005 pub fn n_cbrt_estimate(a: f64) -> f64;
10006}
10007extern "C" {
10008 pub fn n_cbrt(a: mp_limb_t) -> mp_limb_t;
10009}
10010extern "C" {
10011 pub fn n_cbrt_binary_search(x: mp_limb_t) -> mp_limb_t;
10012}
10013extern "C" {
10014 pub fn n_cbrt_newton_iteration(n: mp_limb_t) -> mp_limb_t;
10015}
10016extern "C" {
10017 pub fn n_cbrt_chebyshev_approx(n: mp_limb_t) -> mp_limb_t;
10018}
10019extern "C" {
10020 pub fn n_cbrtrem(remainder: *mut mp_limb_t, n: mp_limb_t) -> mp_limb_t;
10021}
10022extern "C" {
10023 pub fn n_is_perfect_power235(n: mp_limb_t) -> ::std::os::raw::c_int;
10024}
10025extern "C" {
10026 pub fn n_is_perfect_power(root: *mut mp_limb_t, n: mp_limb_t) -> ::std::os::raw::c_int;
10027}
10028extern "C" {
10029 pub fn n_is_oddprime_small(n: mp_limb_t) -> ::std::os::raw::c_int;
10030}
10031extern "C" {
10032 pub fn n_is_oddprime_binary(n: mp_limb_t) -> ::std::os::raw::c_int;
10033}
10034extern "C" {
10035 pub fn n_is_probabprime_fermat(n: mp_limb_t, i: mp_limb_t) -> ::std::os::raw::c_int;
10036}
10037extern "C" {
10038 pub fn n_is_probabprime_fibonacci(n: mp_limb_t) -> ::std::os::raw::c_int;
10039}
10040extern "C" {
10041 pub fn n_is_probabprime_lucas(n: mp_limb_t) -> ::std::os::raw::c_int;
10042}
10043extern "C" {
10044 pub fn n_is_probabprime_BPSW(n: mp_limb_t) -> ::std::os::raw::c_int;
10045}
10046extern "C" {
10047 pub fn n_is_strong_probabprime_precomp(
10048 n: mp_limb_t,
10049 npre: f64,
10050 a: mp_limb_t,
10051 d: mp_limb_t,
10052 ) -> ::std::os::raw::c_int;
10053}
10054extern "C" {
10055 pub fn n_is_strong_probabprime2_preinv(
10056 n: mp_limb_t,
10057 ninv: mp_limb_t,
10058 a: mp_limb_t,
10059 d: mp_limb_t,
10060 ) -> ::std::os::raw::c_int;
10061}
10062extern "C" {
10063 pub fn n_is_probabprime(n: mp_limb_t) -> ::std::os::raw::c_int;
10064}
10065extern "C" {
10066 pub fn n_is_prime_pseudosquare(n: mp_limb_t) -> ::std::os::raw::c_int;
10067}
10068extern "C" {
10069 pub fn n_is_prime_pocklington(n: mp_limb_t, iterations: mp_limb_t) -> ::std::os::raw::c_int;
10070}
10071extern "C" {
10072 pub fn n_is_prime(n: mp_limb_t) -> ::std::os::raw::c_int;
10073}
10074extern "C" {
10075 pub fn n_nth_prime(n: mp_limb_t) -> mp_limb_t;
10076}
10077extern "C" {
10078 pub fn n_nth_prime_bounds(lo: *mut mp_limb_t, hi: *mut mp_limb_t, n: mp_limb_t);
10079}
10080extern "C" {
10081 pub fn n_prime_pi(n: mp_limb_t) -> mp_limb_t;
10082}
10083extern "C" {
10084 pub fn n_prime_pi_bounds(lo: *mut mp_limb_t, hi: *mut mp_limb_t, n: mp_limb_t);
10085}
10086extern "C" {
10087 pub fn n_remove(n: *mut mp_limb_t, p: mp_limb_t) -> ::std::os::raw::c_int;
10088}
10089extern "C" {
10090 pub fn n_remove2_precomp(n: *mut mp_limb_t, p: mp_limb_t, ppre: f64) -> ::std::os::raw::c_int;
10091}
10092extern "C" {
10093 pub fn n_factor_insert(factors: *mut n_factor_t, p: mp_limb_t, exp: mp_limb_t);
10094}
10095extern "C" {
10096 pub fn n_factor_trial_range(
10097 factors: *mut n_factor_t,
10098 n: mp_limb_t,
10099 start: mp_limb_t,
10100 num_primes: mp_limb_t,
10101 ) -> mp_limb_t;
10102}
10103extern "C" {
10104 pub fn n_factor_trial_partial(
10105 factors: *mut n_factor_t,
10106 n: mp_limb_t,
10107 prod: *mut mp_limb_t,
10108 num_primes: mp_limb_t,
10109 limit: mp_limb_t,
10110 ) -> mp_limb_t;
10111}
10112extern "C" {
10113 pub fn n_factor_trial(
10114 factors: *mut n_factor_t,
10115 n: mp_limb_t,
10116 num_primes: mp_limb_t,
10117 ) -> mp_limb_t;
10118}
10119extern "C" {
10120 pub fn n_factor_partial(
10121 factors: *mut n_factor_t,
10122 n: mp_limb_t,
10123 limit: mp_limb_t,
10124 proved: ::std::os::raw::c_int,
10125 ) -> mp_limb_t;
10126}
10127extern "C" {
10128 pub fn n_factor_power235(exp: *mut mp_limb_t, n: mp_limb_t) -> mp_limb_t;
10129}
10130extern "C" {
10131 pub fn n_factor_one_line(n: mp_limb_t, iters: mp_limb_t) -> mp_limb_t;
10132}
10133extern "C" {
10134 pub fn n_factor_lehman(n: mp_limb_t) -> mp_limb_t;
10135}
10136extern "C" {
10137 pub fn n_factor_SQUFOF(n: mp_limb_t, iters: mp_limb_t) -> mp_limb_t;
10138}
10139extern "C" {
10140 pub fn n_factor(factors: *mut n_factor_t, n: mp_limb_t, proved: ::std::os::raw::c_int);
10141}
10142extern "C" {
10143 pub fn n_factor_pp1(n: mp_limb_t, B1: mp_limb_t, c: mp_limb_t) -> mp_limb_t;
10144}
10145extern "C" {
10146 pub fn n_factor_pp1_wrapper(n: mp_limb_t) -> mp_limb_t;
10147}
10148extern "C" {
10149 pub fn n_factor_pp1_table_insert(
10150 bits: mp_limb_signed_t,
10151 B1: mp_limb_signed_t,
10152 count: mp_limb_signed_t,
10153 );
10154}
10155extern "C" {
10156 pub fn n_factor_pollard_brent_single(
10157 factor: *mut mp_limb_t,
10158 n: mp_limb_t,
10159 ninv: mp_limb_t,
10160 ai: mp_limb_t,
10161 xi: mp_limb_t,
10162 normbits: mp_limb_t,
10163 max_iters: mp_limb_t,
10164 ) -> ::std::os::raw::c_int;
10165}
10166extern "C" {
10167 pub fn n_factor_pollard_brent(
10168 factor: *mut mp_limb_t,
10169 state: *mut flint_rand_s,
10170 n_in: mp_limb_t,
10171 max_tries: mp_limb_t,
10172 max_iters: mp_limb_t,
10173 ) -> ::std::os::raw::c_int;
10174}
10175extern "C" {
10176 pub fn n_is_squarefree(n: mp_limb_t) -> ::std::os::raw::c_int;
10177}
10178extern "C" {
10179 pub fn n_moebius_mu(n: mp_limb_t) -> ::std::os::raw::c_int;
10180}
10181extern "C" {
10182 pub fn n_moebius_mu_vec(mu: *mut ::std::os::raw::c_int, len: mp_limb_t);
10183}
10184extern "C" {
10185 pub fn n_euler_phi(n: mp_limb_t) -> mp_limb_t;
10186}
10187extern "C" {
10188 pub fn n_sizeinbase(n: mp_limb_t, base: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
10189}
10190extern "C" {
10191 pub fn n_nextprime(n: mp_limb_t, proved: ::std::os::raw::c_int) -> mp_limb_t;
10192}
10193extern "C" {
10194 pub fn n_factorial_mod2_preinv(n: mp_limb_t, p: mp_limb_t, pinv: mp_limb_t) -> mp_limb_t;
10195}
10196extern "C" {
10197 pub fn n_factorial_fast_mod2_preinv(n: mp_limb_t, p: mp_limb_t, pinv: mp_limb_t) -> mp_limb_t;
10198}
10199extern "C" {
10200 pub fn n_primitive_root_prime_prefactor(p: mp_limb_t, factors: *mut n_factor_t) -> mp_limb_t;
10201}
10202extern "C" {
10203 pub fn n_primitive_root_prime(p: mp_limb_t) -> mp_limb_t;
10204}
10205extern "C" {
10206 pub fn n_discrete_log_bsgs(b: mp_limb_t, a: mp_limb_t, n: mp_limb_t) -> mp_limb_t;
10207}
10208extern "C" {
10209 pub fn n_root_estimate(a: f64, n: ::std::os::raw::c_int) -> mp_limb_t;
10210}
10211extern "C" {
10212 pub fn n_rootrem(remainder: *mut mp_limb_t, n: mp_limb_t, root: mp_limb_t) -> mp_limb_t;
10213}
10214extern "C" {
10215 pub fn n_root(n: mp_limb_t, root: mp_limb_t) -> mp_limb_t;
10216}
10217#[doc = " ECM functions"]
10218#[repr(C)]
10219#[derive(Debug, Copy, Clone)]
10220pub struct n_ecm_s {
10221 pub x: mp_limb_t,
10222 pub z: mp_limb_t,
10223 pub a24: mp_limb_t,
10224 pub ninv: mp_limb_t,
10225 pub normbits: mp_limb_t,
10226 pub one: mp_limb_t,
10227 pub GCD_table: *mut ::std::os::raw::c_uchar,
10228 pub prime_table: *mut *mut ::std::os::raw::c_uchar,
10229}
10230#[test]
10231fn bindgen_test_layout_n_ecm_s() {
10232 assert_eq!(
10233 ::std::mem::size_of::<n_ecm_s>(),
10234 64usize,
10235 concat!("Size of: ", stringify!(n_ecm_s))
10236 );
10237 assert_eq!(
10238 ::std::mem::align_of::<n_ecm_s>(),
10239 8usize,
10240 concat!("Alignment of ", stringify!(n_ecm_s))
10241 );
10242 assert_eq!(
10243 unsafe { &(*(::std::ptr::null::<n_ecm_s>())).x as *const _ as usize },
10244 0usize,
10245 concat!(
10246 "Offset of field: ",
10247 stringify!(n_ecm_s),
10248 "::",
10249 stringify!(x)
10250 )
10251 );
10252 assert_eq!(
10253 unsafe { &(*(::std::ptr::null::<n_ecm_s>())).z as *const _ as usize },
10254 8usize,
10255 concat!(
10256 "Offset of field: ",
10257 stringify!(n_ecm_s),
10258 "::",
10259 stringify!(z)
10260 )
10261 );
10262 assert_eq!(
10263 unsafe { &(*(::std::ptr::null::<n_ecm_s>())).a24 as *const _ as usize },
10264 16usize,
10265 concat!(
10266 "Offset of field: ",
10267 stringify!(n_ecm_s),
10268 "::",
10269 stringify!(a24)
10270 )
10271 );
10272 assert_eq!(
10273 unsafe { &(*(::std::ptr::null::<n_ecm_s>())).ninv as *const _ as usize },
10274 24usize,
10275 concat!(
10276 "Offset of field: ",
10277 stringify!(n_ecm_s),
10278 "::",
10279 stringify!(ninv)
10280 )
10281 );
10282 assert_eq!(
10283 unsafe { &(*(::std::ptr::null::<n_ecm_s>())).normbits as *const _ as usize },
10284 32usize,
10285 concat!(
10286 "Offset of field: ",
10287 stringify!(n_ecm_s),
10288 "::",
10289 stringify!(normbits)
10290 )
10291 );
10292 assert_eq!(
10293 unsafe { &(*(::std::ptr::null::<n_ecm_s>())).one as *const _ as usize },
10294 40usize,
10295 concat!(
10296 "Offset of field: ",
10297 stringify!(n_ecm_s),
10298 "::",
10299 stringify!(one)
10300 )
10301 );
10302 assert_eq!(
10303 unsafe { &(*(::std::ptr::null::<n_ecm_s>())).GCD_table as *const _ as usize },
10304 48usize,
10305 concat!(
10306 "Offset of field: ",
10307 stringify!(n_ecm_s),
10308 "::",
10309 stringify!(GCD_table)
10310 )
10311 );
10312 assert_eq!(
10313 unsafe { &(*(::std::ptr::null::<n_ecm_s>())).prime_table as *const _ as usize },
10314 56usize,
10315 concat!(
10316 "Offset of field: ",
10317 stringify!(n_ecm_s),
10318 "::",
10319 stringify!(prime_table)
10320 )
10321 );
10322}
10323pub type n_ecm_t = [n_ecm_s; 1usize];
10324extern "C" {
10325 pub fn n_factor_ecm_double(
10326 x: *mut mp_limb_t,
10327 z: *mut mp_limb_t,
10328 x0: mp_limb_t,
10329 z0: mp_limb_t,
10330 n: mp_limb_t,
10331 n_ecm_inf: *mut n_ecm_s,
10332 );
10333}
10334extern "C" {
10335 pub fn n_factor_ecm_add(
10336 x: *mut mp_limb_t,
10337 z: *mut mp_limb_t,
10338 x1: mp_limb_t,
10339 z1: mp_limb_t,
10340 x2: mp_limb_t,
10341 z2: mp_limb_t,
10342 x0: mp_limb_t,
10343 z0: mp_limb_t,
10344 n: mp_limb_t,
10345 n_ecm_inf: *mut n_ecm_s,
10346 );
10347}
10348extern "C" {
10349 pub fn n_factor_ecm_mul_montgomery_ladder(
10350 x: *mut mp_limb_t,
10351 z: *mut mp_limb_t,
10352 x0: mp_limb_t,
10353 z0: mp_limb_t,
10354 k: mp_limb_t,
10355 n: mp_limb_t,
10356 n_ecm_inf: *mut n_ecm_s,
10357 );
10358}
10359extern "C" {
10360 pub fn n_factor_ecm_select_curve(
10361 f: *mut mp_limb_t,
10362 sig: mp_limb_t,
10363 n: mp_limb_t,
10364 n_ecm_inf: *mut n_ecm_s,
10365 ) -> ::std::os::raw::c_int;
10366}
10367extern "C" {
10368 pub fn n_factor_ecm_stage_I(
10369 f: *mut mp_limb_t,
10370 prime_array: *const mp_limb_t,
10371 num: mp_limb_t,
10372 B1: mp_limb_t,
10373 n: mp_limb_t,
10374 n_ecm_inf: *mut n_ecm_s,
10375 ) -> ::std::os::raw::c_int;
10376}
10377extern "C" {
10378 pub fn n_factor_ecm_stage_II(
10379 f: *mut mp_limb_t,
10380 B1: mp_limb_t,
10381 B2: mp_limb_t,
10382 P: mp_limb_t,
10383 n: mp_limb_t,
10384 n_ecm_inf: *mut n_ecm_s,
10385 ) -> ::std::os::raw::c_int;
10386}
10387extern "C" {
10388 pub fn n_factor_ecm(
10389 f: *mut mp_limb_t,
10390 curves: mp_limb_t,
10391 B1: mp_limb_t,
10392 B2: mp_limb_t,
10393 state: *mut flint_rand_s,
10394 n: mp_limb_t,
10395 ) -> ::std::os::raw::c_int;
10396}
10397extern "C" {
10398 pub fn n_mulmod_precomp_shoup(w: mp_limb_t, p: mp_limb_t) -> mp_limb_t;
10399}
10400#[repr(C)]
10401#[derive(Debug, Copy, Clone)]
10402pub struct nmod_t {
10403 pub n: mp_limb_t,
10404 pub ninv: mp_limb_t,
10405 pub norm: mp_limb_t,
10406}
10407#[test]
10408fn bindgen_test_layout_nmod_t() {
10409 assert_eq!(
10410 ::std::mem::size_of::<nmod_t>(),
10411 24usize,
10412 concat!("Size of: ", stringify!(nmod_t))
10413 );
10414 assert_eq!(
10415 ::std::mem::align_of::<nmod_t>(),
10416 8usize,
10417 concat!("Alignment of ", stringify!(nmod_t))
10418 );
10419 assert_eq!(
10420 unsafe { &(*(::std::ptr::null::<nmod_t>())).n as *const _ as usize },
10421 0usize,
10422 concat!("Offset of field: ", stringify!(nmod_t), "::", stringify!(n))
10423 );
10424 assert_eq!(
10425 unsafe { &(*(::std::ptr::null::<nmod_t>())).ninv as *const _ as usize },
10426 8usize,
10427 concat!(
10428 "Offset of field: ",
10429 stringify!(nmod_t),
10430 "::",
10431 stringify!(ninv)
10432 )
10433 );
10434 assert_eq!(
10435 unsafe { &(*(::std::ptr::null::<nmod_t>())).norm as *const _ as usize },
10436 16usize,
10437 concat!(
10438 "Offset of field: ",
10439 stringify!(nmod_t),
10440 "::",
10441 stringify!(norm)
10442 )
10443 );
10444}
10445extern "C" {
10446 pub fn _nmod_vec_randtest(
10447 vec: mp_ptr,
10448 state: *mut flint_rand_s,
10449 len: mp_limb_signed_t,
10450 mod_: nmod_t,
10451 );
10452}
10453extern "C" {
10454 pub fn _nmod_vec_max_bits(vec: mp_srcptr, len: mp_limb_signed_t) -> mp_limb_t;
10455}
10456extern "C" {
10457 pub fn _nmod_vec_reduce(res: mp_ptr, vec: mp_srcptr, len: mp_limb_signed_t, mod_: nmod_t);
10458}
10459extern "C" {
10460 pub fn _nmod_vec_add(
10461 res: mp_ptr,
10462 vec1: mp_srcptr,
10463 vec2: mp_srcptr,
10464 len: mp_limb_signed_t,
10465 mod_: nmod_t,
10466 );
10467}
10468extern "C" {
10469 pub fn _nmod_vec_sub(
10470 res: mp_ptr,
10471 vec1: mp_srcptr,
10472 vec2: mp_srcptr,
10473 len: mp_limb_signed_t,
10474 mod_: nmod_t,
10475 );
10476}
10477extern "C" {
10478 pub fn _nmod_vec_neg(res: mp_ptr, vec: mp_srcptr, len: mp_limb_signed_t, mod_: nmod_t);
10479}
10480extern "C" {
10481 pub fn _nmod_vec_scalar_mul_nmod(
10482 res: mp_ptr,
10483 vec: mp_srcptr,
10484 len: mp_limb_signed_t,
10485 c: mp_limb_t,
10486 mod_: nmod_t,
10487 );
10488}
10489extern "C" {
10490 pub fn _nmod_vec_scalar_mul_nmod_shoup(
10491 res: mp_ptr,
10492 vec: mp_srcptr,
10493 len: mp_limb_signed_t,
10494 c: mp_limb_t,
10495 mod_: nmod_t,
10496 );
10497}
10498extern "C" {
10499 pub fn _nmod_vec_scalar_addmul_nmod(
10500 res: mp_ptr,
10501 vec: mp_srcptr,
10502 len: mp_limb_signed_t,
10503 c: mp_limb_t,
10504 mod_: nmod_t,
10505 );
10506}
10507extern "C" {
10508 pub fn _nmod_vec_dot_bound_limbs(len: mp_limb_signed_t, mod_: nmod_t) -> ::std::os::raw::c_int;
10509}
10510extern "C" {
10511 pub fn _nmod_vec_dot(
10512 vec1: mp_srcptr,
10513 vec2: mp_srcptr,
10514 len: mp_limb_signed_t,
10515 mod_: nmod_t,
10516 nlimbs: ::std::os::raw::c_int,
10517 ) -> mp_limb_t;
10518}
10519extern "C" {
10520 pub fn _nmod_vec_dot_ptr(
10521 vec1: mp_srcptr,
10522 vec2: *const mp_ptr,
10523 offset: mp_limb_signed_t,
10524 len: mp_limb_signed_t,
10525 mod_: nmod_t,
10526 nlimbs: ::std::os::raw::c_int,
10527 ) -> mp_limb_t;
10528}
10529#[repr(C)]
10530#[derive(Debug, Copy, Clone)]
10531pub struct nmod_discrete_log_pohlig_hellman_table_entry_struct {
10532 pub gammapow: mp_limb_t,
10533 pub cm: mp_limb_t,
10534}
10535#[test]
10536fn bindgen_test_layout_nmod_discrete_log_pohlig_hellman_table_entry_struct() {
10537 assert_eq!(
10538 ::std::mem::size_of::<nmod_discrete_log_pohlig_hellman_table_entry_struct>(),
10539 16usize,
10540 concat!(
10541 "Size of: ",
10542 stringify!(nmod_discrete_log_pohlig_hellman_table_entry_struct)
10543 )
10544 );
10545 assert_eq!(
10546 ::std::mem::align_of::<nmod_discrete_log_pohlig_hellman_table_entry_struct>(),
10547 8usize,
10548 concat!(
10549 "Alignment of ",
10550 stringify!(nmod_discrete_log_pohlig_hellman_table_entry_struct)
10551 )
10552 );
10553 assert_eq!(
10554 unsafe {
10555 &(*(::std::ptr::null::<nmod_discrete_log_pohlig_hellman_table_entry_struct>())).gammapow
10556 as *const _ as usize
10557 },
10558 0usize,
10559 concat!(
10560 "Offset of field: ",
10561 stringify!(nmod_discrete_log_pohlig_hellman_table_entry_struct),
10562 "::",
10563 stringify!(gammapow)
10564 )
10565 );
10566 assert_eq!(
10567 unsafe {
10568 &(*(::std::ptr::null::<nmod_discrete_log_pohlig_hellman_table_entry_struct>())).cm
10569 as *const _ as usize
10570 },
10571 8usize,
10572 concat!(
10573 "Offset of field: ",
10574 stringify!(nmod_discrete_log_pohlig_hellman_table_entry_struct),
10575 "::",
10576 stringify!(cm)
10577 )
10578 );
10579}
10580#[repr(C)]
10581#[derive(Debug, Copy, Clone)]
10582pub struct nmod_discrete_log_pohlig_hellman_entry_struct {
10583 pub exp: mp_limb_signed_t,
10584 pub prime: mp_limb_t,
10585 pub gamma: mp_limb_t,
10586 pub gammainv: mp_limb_t,
10587 pub startingbeta: mp_limb_t,
10588 pub co: mp_limb_t,
10589 pub startinge: mp_limb_t,
10590 pub idem: mp_limb_t,
10591 pub cbound: mp_limb_t,
10592 pub dbound: mp_limb_t,
10593 pub table: *mut nmod_discrete_log_pohlig_hellman_table_entry_struct,
10594}
10595#[test]
10596fn bindgen_test_layout_nmod_discrete_log_pohlig_hellman_entry_struct() {
10597 assert_eq!(
10598 ::std::mem::size_of::<nmod_discrete_log_pohlig_hellman_entry_struct>(),
10599 88usize,
10600 concat!(
10601 "Size of: ",
10602 stringify!(nmod_discrete_log_pohlig_hellman_entry_struct)
10603 )
10604 );
10605 assert_eq!(
10606 ::std::mem::align_of::<nmod_discrete_log_pohlig_hellman_entry_struct>(),
10607 8usize,
10608 concat!(
10609 "Alignment of ",
10610 stringify!(nmod_discrete_log_pohlig_hellman_entry_struct)
10611 )
10612 );
10613 assert_eq!(
10614 unsafe {
10615 &(*(::std::ptr::null::<nmod_discrete_log_pohlig_hellman_entry_struct>())).exp
10616 as *const _ as usize
10617 },
10618 0usize,
10619 concat!(
10620 "Offset of field: ",
10621 stringify!(nmod_discrete_log_pohlig_hellman_entry_struct),
10622 "::",
10623 stringify!(exp)
10624 )
10625 );
10626 assert_eq!(
10627 unsafe {
10628 &(*(::std::ptr::null::<nmod_discrete_log_pohlig_hellman_entry_struct>())).prime
10629 as *const _ as usize
10630 },
10631 8usize,
10632 concat!(
10633 "Offset of field: ",
10634 stringify!(nmod_discrete_log_pohlig_hellman_entry_struct),
10635 "::",
10636 stringify!(prime)
10637 )
10638 );
10639 assert_eq!(
10640 unsafe {
10641 &(*(::std::ptr::null::<nmod_discrete_log_pohlig_hellman_entry_struct>())).gamma
10642 as *const _ as usize
10643 },
10644 16usize,
10645 concat!(
10646 "Offset of field: ",
10647 stringify!(nmod_discrete_log_pohlig_hellman_entry_struct),
10648 "::",
10649 stringify!(gamma)
10650 )
10651 );
10652 assert_eq!(
10653 unsafe {
10654 &(*(::std::ptr::null::<nmod_discrete_log_pohlig_hellman_entry_struct>())).gammainv
10655 as *const _ as usize
10656 },
10657 24usize,
10658 concat!(
10659 "Offset of field: ",
10660 stringify!(nmod_discrete_log_pohlig_hellman_entry_struct),
10661 "::",
10662 stringify!(gammainv)
10663 )
10664 );
10665 assert_eq!(
10666 unsafe {
10667 &(*(::std::ptr::null::<nmod_discrete_log_pohlig_hellman_entry_struct>())).startingbeta
10668 as *const _ as usize
10669 },
10670 32usize,
10671 concat!(
10672 "Offset of field: ",
10673 stringify!(nmod_discrete_log_pohlig_hellman_entry_struct),
10674 "::",
10675 stringify!(startingbeta)
10676 )
10677 );
10678 assert_eq!(
10679 unsafe {
10680 &(*(::std::ptr::null::<nmod_discrete_log_pohlig_hellman_entry_struct>())).co as *const _
10681 as usize
10682 },
10683 40usize,
10684 concat!(
10685 "Offset of field: ",
10686 stringify!(nmod_discrete_log_pohlig_hellman_entry_struct),
10687 "::",
10688 stringify!(co)
10689 )
10690 );
10691 assert_eq!(
10692 unsafe {
10693 &(*(::std::ptr::null::<nmod_discrete_log_pohlig_hellman_entry_struct>())).startinge
10694 as *const _ as usize
10695 },
10696 48usize,
10697 concat!(
10698 "Offset of field: ",
10699 stringify!(nmod_discrete_log_pohlig_hellman_entry_struct),
10700 "::",
10701 stringify!(startinge)
10702 )
10703 );
10704 assert_eq!(
10705 unsafe {
10706 &(*(::std::ptr::null::<nmod_discrete_log_pohlig_hellman_entry_struct>())).idem
10707 as *const _ as usize
10708 },
10709 56usize,
10710 concat!(
10711 "Offset of field: ",
10712 stringify!(nmod_discrete_log_pohlig_hellman_entry_struct),
10713 "::",
10714 stringify!(idem)
10715 )
10716 );
10717 assert_eq!(
10718 unsafe {
10719 &(*(::std::ptr::null::<nmod_discrete_log_pohlig_hellman_entry_struct>())).cbound
10720 as *const _ as usize
10721 },
10722 64usize,
10723 concat!(
10724 "Offset of field: ",
10725 stringify!(nmod_discrete_log_pohlig_hellman_entry_struct),
10726 "::",
10727 stringify!(cbound)
10728 )
10729 );
10730 assert_eq!(
10731 unsafe {
10732 &(*(::std::ptr::null::<nmod_discrete_log_pohlig_hellman_entry_struct>())).dbound
10733 as *const _ as usize
10734 },
10735 72usize,
10736 concat!(
10737 "Offset of field: ",
10738 stringify!(nmod_discrete_log_pohlig_hellman_entry_struct),
10739 "::",
10740 stringify!(dbound)
10741 )
10742 );
10743 assert_eq!(
10744 unsafe {
10745 &(*(::std::ptr::null::<nmod_discrete_log_pohlig_hellman_entry_struct>())).table
10746 as *const _ as usize
10747 },
10748 80usize,
10749 concat!(
10750 "Offset of field: ",
10751 stringify!(nmod_discrete_log_pohlig_hellman_entry_struct),
10752 "::",
10753 stringify!(table)
10754 )
10755 );
10756}
10757#[repr(C)]
10758#[derive(Debug, Copy, Clone)]
10759pub struct nmod_discrete_log_pohlig_hellman_struct {
10760 pub mod_: nmod_t,
10761 pub alpha: mp_limb_t,
10762 pub alphainv: mp_limb_t,
10763 pub num_factors: mp_limb_signed_t,
10764 pub entries: *mut nmod_discrete_log_pohlig_hellman_entry_struct,
10765}
10766#[test]
10767fn bindgen_test_layout_nmod_discrete_log_pohlig_hellman_struct() {
10768 assert_eq!(
10769 ::std::mem::size_of::<nmod_discrete_log_pohlig_hellman_struct>(),
10770 56usize,
10771 concat!(
10772 "Size of: ",
10773 stringify!(nmod_discrete_log_pohlig_hellman_struct)
10774 )
10775 );
10776 assert_eq!(
10777 ::std::mem::align_of::<nmod_discrete_log_pohlig_hellman_struct>(),
10778 8usize,
10779 concat!(
10780 "Alignment of ",
10781 stringify!(nmod_discrete_log_pohlig_hellman_struct)
10782 )
10783 );
10784 assert_eq!(
10785 unsafe {
10786 &(*(::std::ptr::null::<nmod_discrete_log_pohlig_hellman_struct>())).mod_ as *const _
10787 as usize
10788 },
10789 0usize,
10790 concat!(
10791 "Offset of field: ",
10792 stringify!(nmod_discrete_log_pohlig_hellman_struct),
10793 "::",
10794 stringify!(mod_)
10795 )
10796 );
10797 assert_eq!(
10798 unsafe {
10799 &(*(::std::ptr::null::<nmod_discrete_log_pohlig_hellman_struct>())).alpha as *const _
10800 as usize
10801 },
10802 24usize,
10803 concat!(
10804 "Offset of field: ",
10805 stringify!(nmod_discrete_log_pohlig_hellman_struct),
10806 "::",
10807 stringify!(alpha)
10808 )
10809 );
10810 assert_eq!(
10811 unsafe {
10812 &(*(::std::ptr::null::<nmod_discrete_log_pohlig_hellman_struct>())).alphainv as *const _
10813 as usize
10814 },
10815 32usize,
10816 concat!(
10817 "Offset of field: ",
10818 stringify!(nmod_discrete_log_pohlig_hellman_struct),
10819 "::",
10820 stringify!(alphainv)
10821 )
10822 );
10823 assert_eq!(
10824 unsafe {
10825 &(*(::std::ptr::null::<nmod_discrete_log_pohlig_hellman_struct>())).num_factors
10826 as *const _ as usize
10827 },
10828 40usize,
10829 concat!(
10830 "Offset of field: ",
10831 stringify!(nmod_discrete_log_pohlig_hellman_struct),
10832 "::",
10833 stringify!(num_factors)
10834 )
10835 );
10836 assert_eq!(
10837 unsafe {
10838 &(*(::std::ptr::null::<nmod_discrete_log_pohlig_hellman_struct>())).entries as *const _
10839 as usize
10840 },
10841 48usize,
10842 concat!(
10843 "Offset of field: ",
10844 stringify!(nmod_discrete_log_pohlig_hellman_struct),
10845 "::",
10846 stringify!(entries)
10847 )
10848 );
10849}
10850pub type nmod_discrete_log_pohlig_hellman_t = [nmod_discrete_log_pohlig_hellman_struct; 1usize];
10851extern "C" {
10852 pub fn nmod_discrete_log_pohlig_hellman_init(L: *mut nmod_discrete_log_pohlig_hellman_struct);
10853}
10854extern "C" {
10855 pub fn nmod_discrete_log_pohlig_hellman_clear(L: *mut nmod_discrete_log_pohlig_hellman_struct);
10856}
10857extern "C" {
10858 pub fn nmod_discrete_log_pohlig_hellman_precompute_prime(
10859 L: *mut nmod_discrete_log_pohlig_hellman_struct,
10860 p: mp_limb_t,
10861 ) -> f64;
10862}
10863extern "C" {
10864 pub fn nmod_discrete_log_pohlig_hellman_run(
10865 L: *mut nmod_discrete_log_pohlig_hellman_struct,
10866 y: mp_limb_t,
10867 ) -> mp_limb_t;
10868}
10869#[repr(C)]
10870#[derive(Debug, Copy, Clone)]
10871pub struct sched_param {
10872 pub sched_priority: ::std::os::raw::c_int,
10873}
10874#[test]
10875fn bindgen_test_layout_sched_param() {
10876 assert_eq!(
10877 ::std::mem::size_of::<sched_param>(),
10878 4usize,
10879 concat!("Size of: ", stringify!(sched_param))
10880 );
10881 assert_eq!(
10882 ::std::mem::align_of::<sched_param>(),
10883 4usize,
10884 concat!("Alignment of ", stringify!(sched_param))
10885 );
10886 assert_eq!(
10887 unsafe { &(*(::std::ptr::null::<sched_param>())).sched_priority as *const _ as usize },
10888 0usize,
10889 concat!(
10890 "Offset of field: ",
10891 stringify!(sched_param),
10892 "::",
10893 stringify!(sched_priority)
10894 )
10895 );
10896}
10897pub type __cpu_mask = ::std::os::raw::c_ulong;
10898#[repr(C)]
10899#[derive(Debug, Copy, Clone)]
10900pub struct cpu_set_t {
10901 pub __bits: [__cpu_mask; 16usize],
10902}
10903#[test]
10904fn bindgen_test_layout_cpu_set_t() {
10905 assert_eq!(
10906 ::std::mem::size_of::<cpu_set_t>(),
10907 128usize,
10908 concat!("Size of: ", stringify!(cpu_set_t))
10909 );
10910 assert_eq!(
10911 ::std::mem::align_of::<cpu_set_t>(),
10912 8usize,
10913 concat!("Alignment of ", stringify!(cpu_set_t))
10914 );
10915 assert_eq!(
10916 unsafe { &(*(::std::ptr::null::<cpu_set_t>())).__bits as *const _ as usize },
10917 0usize,
10918 concat!(
10919 "Offset of field: ",
10920 stringify!(cpu_set_t),
10921 "::",
10922 stringify!(__bits)
10923 )
10924 );
10925}
10926extern "C" {
10927 pub fn __sched_cpucount(__setsize: usize, __setp: *const cpu_set_t) -> ::std::os::raw::c_int;
10928}
10929extern "C" {
10930 pub fn __sched_cpualloc(__count: usize) -> *mut cpu_set_t;
10931}
10932extern "C" {
10933 pub fn __sched_cpufree(__set: *mut cpu_set_t);
10934}
10935extern "C" {
10936 pub fn sched_setparam(__pid: __pid_t, __param: *const sched_param) -> ::std::os::raw::c_int;
10937}
10938extern "C" {
10939 pub fn sched_getparam(__pid: __pid_t, __param: *mut sched_param) -> ::std::os::raw::c_int;
10940}
10941extern "C" {
10942 pub fn sched_setscheduler(
10943 __pid: __pid_t,
10944 __policy: ::std::os::raw::c_int,
10945 __param: *const sched_param,
10946 ) -> ::std::os::raw::c_int;
10947}
10948extern "C" {
10949 pub fn sched_getscheduler(__pid: __pid_t) -> ::std::os::raw::c_int;
10950}
10951extern "C" {
10952 pub fn sched_yield() -> ::std::os::raw::c_int;
10953}
10954extern "C" {
10955 pub fn sched_get_priority_max(__algorithm: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
10956}
10957extern "C" {
10958 pub fn sched_get_priority_min(__algorithm: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
10959}
10960extern "C" {
10961 pub fn sched_rr_get_interval(__pid: __pid_t, __t: *mut timespec) -> ::std::os::raw::c_int;
10962}
10963#[repr(C)]
10964#[derive(Debug, Copy, Clone)]
10965pub struct tm {
10966 pub tm_sec: ::std::os::raw::c_int,
10967 pub tm_min: ::std::os::raw::c_int,
10968 pub tm_hour: ::std::os::raw::c_int,
10969 pub tm_mday: ::std::os::raw::c_int,
10970 pub tm_mon: ::std::os::raw::c_int,
10971 pub tm_year: ::std::os::raw::c_int,
10972 pub tm_wday: ::std::os::raw::c_int,
10973 pub tm_yday: ::std::os::raw::c_int,
10974 pub tm_isdst: ::std::os::raw::c_int,
10975 pub tm_gmtoff: ::std::os::raw::c_long,
10976 pub tm_zone: *const ::std::os::raw::c_char,
10977}
10978#[test]
10979fn bindgen_test_layout_tm() {
10980 assert_eq!(
10981 ::std::mem::size_of::<tm>(),
10982 56usize,
10983 concat!("Size of: ", stringify!(tm))
10984 );
10985 assert_eq!(
10986 ::std::mem::align_of::<tm>(),
10987 8usize,
10988 concat!("Alignment of ", stringify!(tm))
10989 );
10990 assert_eq!(
10991 unsafe { &(*(::std::ptr::null::<tm>())).tm_sec as *const _ as usize },
10992 0usize,
10993 concat!(
10994 "Offset of field: ",
10995 stringify!(tm),
10996 "::",
10997 stringify!(tm_sec)
10998 )
10999 );
11000 assert_eq!(
11001 unsafe { &(*(::std::ptr::null::<tm>())).tm_min as *const _ as usize },
11002 4usize,
11003 concat!(
11004 "Offset of field: ",
11005 stringify!(tm),
11006 "::",
11007 stringify!(tm_min)
11008 )
11009 );
11010 assert_eq!(
11011 unsafe { &(*(::std::ptr::null::<tm>())).tm_hour as *const _ as usize },
11012 8usize,
11013 concat!(
11014 "Offset of field: ",
11015 stringify!(tm),
11016 "::",
11017 stringify!(tm_hour)
11018 )
11019 );
11020 assert_eq!(
11021 unsafe { &(*(::std::ptr::null::<tm>())).tm_mday as *const _ as usize },
11022 12usize,
11023 concat!(
11024 "Offset of field: ",
11025 stringify!(tm),
11026 "::",
11027 stringify!(tm_mday)
11028 )
11029 );
11030 assert_eq!(
11031 unsafe { &(*(::std::ptr::null::<tm>())).tm_mon as *const _ as usize },
11032 16usize,
11033 concat!(
11034 "Offset of field: ",
11035 stringify!(tm),
11036 "::",
11037 stringify!(tm_mon)
11038 )
11039 );
11040 assert_eq!(
11041 unsafe { &(*(::std::ptr::null::<tm>())).tm_year as *const _ as usize },
11042 20usize,
11043 concat!(
11044 "Offset of field: ",
11045 stringify!(tm),
11046 "::",
11047 stringify!(tm_year)
11048 )
11049 );
11050 assert_eq!(
11051 unsafe { &(*(::std::ptr::null::<tm>())).tm_wday as *const _ as usize },
11052 24usize,
11053 concat!(
11054 "Offset of field: ",
11055 stringify!(tm),
11056 "::",
11057 stringify!(tm_wday)
11058 )
11059 );
11060 assert_eq!(
11061 unsafe { &(*(::std::ptr::null::<tm>())).tm_yday as *const _ as usize },
11062 28usize,
11063 concat!(
11064 "Offset of field: ",
11065 stringify!(tm),
11066 "::",
11067 stringify!(tm_yday)
11068 )
11069 );
11070 assert_eq!(
11071 unsafe { &(*(::std::ptr::null::<tm>())).tm_isdst as *const _ as usize },
11072 32usize,
11073 concat!(
11074 "Offset of field: ",
11075 stringify!(tm),
11076 "::",
11077 stringify!(tm_isdst)
11078 )
11079 );
11080 assert_eq!(
11081 unsafe { &(*(::std::ptr::null::<tm>())).tm_gmtoff as *const _ as usize },
11082 40usize,
11083 concat!(
11084 "Offset of field: ",
11085 stringify!(tm),
11086 "::",
11087 stringify!(tm_gmtoff)
11088 )
11089 );
11090 assert_eq!(
11091 unsafe { &(*(::std::ptr::null::<tm>())).tm_zone as *const _ as usize },
11092 48usize,
11093 concat!(
11094 "Offset of field: ",
11095 stringify!(tm),
11096 "::",
11097 stringify!(tm_zone)
11098 )
11099 );
11100}
11101#[repr(C)]
11102#[derive(Debug, Copy, Clone)]
11103pub struct itimerspec {
11104 pub it_interval: timespec,
11105 pub it_value: timespec,
11106}
11107#[test]
11108fn bindgen_test_layout_itimerspec() {
11109 assert_eq!(
11110 ::std::mem::size_of::<itimerspec>(),
11111 32usize,
11112 concat!("Size of: ", stringify!(itimerspec))
11113 );
11114 assert_eq!(
11115 ::std::mem::align_of::<itimerspec>(),
11116 8usize,
11117 concat!("Alignment of ", stringify!(itimerspec))
11118 );
11119 assert_eq!(
11120 unsafe { &(*(::std::ptr::null::<itimerspec>())).it_interval as *const _ as usize },
11121 0usize,
11122 concat!(
11123 "Offset of field: ",
11124 stringify!(itimerspec),
11125 "::",
11126 stringify!(it_interval)
11127 )
11128 );
11129 assert_eq!(
11130 unsafe { &(*(::std::ptr::null::<itimerspec>())).it_value as *const _ as usize },
11131 16usize,
11132 concat!(
11133 "Offset of field: ",
11134 stringify!(itimerspec),
11135 "::",
11136 stringify!(it_value)
11137 )
11138 );
11139}
11140#[repr(C)]
11141#[derive(Debug, Copy, Clone)]
11142pub struct __locale_struct {
11143 pub __locales: [*mut __locale_data; 13usize],
11144 pub __ctype_b: *const ::std::os::raw::c_ushort,
11145 pub __ctype_tolower: *const ::std::os::raw::c_int,
11146 pub __ctype_toupper: *const ::std::os::raw::c_int,
11147 pub __names: [*const ::std::os::raw::c_char; 13usize],
11148}
11149#[test]
11150fn bindgen_test_layout___locale_struct() {
11151 assert_eq!(
11152 ::std::mem::size_of::<__locale_struct>(),
11153 232usize,
11154 concat!("Size of: ", stringify!(__locale_struct))
11155 );
11156 assert_eq!(
11157 ::std::mem::align_of::<__locale_struct>(),
11158 8usize,
11159 concat!("Alignment of ", stringify!(__locale_struct))
11160 );
11161 assert_eq!(
11162 unsafe { &(*(::std::ptr::null::<__locale_struct>())).__locales as *const _ as usize },
11163 0usize,
11164 concat!(
11165 "Offset of field: ",
11166 stringify!(__locale_struct),
11167 "::",
11168 stringify!(__locales)
11169 )
11170 );
11171 assert_eq!(
11172 unsafe { &(*(::std::ptr::null::<__locale_struct>())).__ctype_b as *const _ as usize },
11173 104usize,
11174 concat!(
11175 "Offset of field: ",
11176 stringify!(__locale_struct),
11177 "::",
11178 stringify!(__ctype_b)
11179 )
11180 );
11181 assert_eq!(
11182 unsafe { &(*(::std::ptr::null::<__locale_struct>())).__ctype_tolower as *const _ as usize },
11183 112usize,
11184 concat!(
11185 "Offset of field: ",
11186 stringify!(__locale_struct),
11187 "::",
11188 stringify!(__ctype_tolower)
11189 )
11190 );
11191 assert_eq!(
11192 unsafe { &(*(::std::ptr::null::<__locale_struct>())).__ctype_toupper as *const _ as usize },
11193 120usize,
11194 concat!(
11195 "Offset of field: ",
11196 stringify!(__locale_struct),
11197 "::",
11198 stringify!(__ctype_toupper)
11199 )
11200 );
11201 assert_eq!(
11202 unsafe { &(*(::std::ptr::null::<__locale_struct>())).__names as *const _ as usize },
11203 128usize,
11204 concat!(
11205 "Offset of field: ",
11206 stringify!(__locale_struct),
11207 "::",
11208 stringify!(__names)
11209 )
11210 );
11211}
11212pub type __locale_t = *mut __locale_struct;
11213pub type locale_t = __locale_t;
11214extern "C" {
11215 pub fn clock() -> clock_t;
11216}
11217extern "C" {
11218 pub fn time(__timer: *mut time_t) -> time_t;
11219}
11220extern "C" {
11221 pub fn difftime(__time1: time_t, __time0: time_t) -> f64;
11222}
11223extern "C" {
11224 pub fn mktime(__tp: *mut tm) -> time_t;
11225}
11226extern "C" {
11227 pub fn strftime(
11228 __s: *mut ::std::os::raw::c_char,
11229 __maxsize: usize,
11230 __format: *const ::std::os::raw::c_char,
11231 __tp: *const tm,
11232 ) -> usize;
11233}
11234extern "C" {
11235 pub fn strftime_l(
11236 __s: *mut ::std::os::raw::c_char,
11237 __maxsize: usize,
11238 __format: *const ::std::os::raw::c_char,
11239 __tp: *const tm,
11240 __loc: locale_t,
11241 ) -> usize;
11242}
11243extern "C" {
11244 pub fn gmtime(__timer: *const time_t) -> *mut tm;
11245}
11246extern "C" {
11247 pub fn localtime(__timer: *const time_t) -> *mut tm;
11248}
11249extern "C" {
11250 pub fn gmtime_r(__timer: *const time_t, __tp: *mut tm) -> *mut tm;
11251}
11252extern "C" {
11253 pub fn localtime_r(__timer: *const time_t, __tp: *mut tm) -> *mut tm;
11254}
11255extern "C" {
11256 pub fn asctime(__tp: *const tm) -> *mut ::std::os::raw::c_char;
11257}
11258extern "C" {
11259 pub fn ctime(__timer: *const time_t) -> *mut ::std::os::raw::c_char;
11260}
11261extern "C" {
11262 pub fn asctime_r(
11263 __tp: *const tm,
11264 __buf: *mut ::std::os::raw::c_char,
11265 ) -> *mut ::std::os::raw::c_char;
11266}
11267extern "C" {
11268 pub fn ctime_r(
11269 __timer: *const time_t,
11270 __buf: *mut ::std::os::raw::c_char,
11271 ) -> *mut ::std::os::raw::c_char;
11272}
11273extern "C" {
11274 pub static mut __tzname: [*mut ::std::os::raw::c_char; 2usize];
11275}
11276extern "C" {
11277 pub static mut __daylight: ::std::os::raw::c_int;
11278}
11279extern "C" {
11280 pub static mut __timezone: ::std::os::raw::c_long;
11281}
11282extern "C" {
11283 pub static mut tzname: [*mut ::std::os::raw::c_char; 2usize];
11284}
11285extern "C" {
11286 pub fn tzset();
11287}
11288extern "C" {
11289 pub static mut daylight: ::std::os::raw::c_int;
11290}
11291extern "C" {
11292 pub static mut timezone: ::std::os::raw::c_long;
11293}
11294extern "C" {
11295 pub fn stime(__when: *const time_t) -> ::std::os::raw::c_int;
11296}
11297extern "C" {
11298 pub fn timegm(__tp: *mut tm) -> time_t;
11299}
11300extern "C" {
11301 pub fn timelocal(__tp: *mut tm) -> time_t;
11302}
11303extern "C" {
11304 pub fn dysize(__year: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
11305}
11306extern "C" {
11307 pub fn nanosleep(
11308 __requested_time: *const timespec,
11309 __remaining: *mut timespec,
11310 ) -> ::std::os::raw::c_int;
11311}
11312extern "C" {
11313 pub fn clock_getres(__clock_id: clockid_t, __res: *mut timespec) -> ::std::os::raw::c_int;
11314}
11315extern "C" {
11316 pub fn clock_gettime(__clock_id: clockid_t, __tp: *mut timespec) -> ::std::os::raw::c_int;
11317}
11318extern "C" {
11319 pub fn clock_settime(__clock_id: clockid_t, __tp: *const timespec) -> ::std::os::raw::c_int;
11320}
11321extern "C" {
11322 pub fn clock_nanosleep(
11323 __clock_id: clockid_t,
11324 __flags: ::std::os::raw::c_int,
11325 __req: *const timespec,
11326 __rem: *mut timespec,
11327 ) -> ::std::os::raw::c_int;
11328}
11329extern "C" {
11330 pub fn clock_getcpuclockid(__pid: pid_t, __clock_id: *mut clockid_t) -> ::std::os::raw::c_int;
11331}
11332extern "C" {
11333 pub fn timer_create(
11334 __clock_id: clockid_t,
11335 __evp: *mut sigevent,
11336 __timerid: *mut timer_t,
11337 ) -> ::std::os::raw::c_int;
11338}
11339extern "C" {
11340 pub fn timer_delete(__timerid: timer_t) -> ::std::os::raw::c_int;
11341}
11342extern "C" {
11343 pub fn timer_settime(
11344 __timerid: timer_t,
11345 __flags: ::std::os::raw::c_int,
11346 __value: *const itimerspec,
11347 __ovalue: *mut itimerspec,
11348 ) -> ::std::os::raw::c_int;
11349}
11350extern "C" {
11351 pub fn timer_gettime(__timerid: timer_t, __value: *mut itimerspec) -> ::std::os::raw::c_int;
11352}
11353extern "C" {
11354 pub fn timer_getoverrun(__timerid: timer_t) -> ::std::os::raw::c_int;
11355}
11356extern "C" {
11357 pub fn timespec_get(
11358 __ts: *mut timespec,
11359 __base: ::std::os::raw::c_int,
11360 ) -> ::std::os::raw::c_int;
11361}
11362pub type __jmp_buf = [::std::os::raw::c_long; 8usize];
11363pub const PTHREAD_CREATE_JOINABLE: _bindgen_ty_11 = 0;
11364pub const PTHREAD_CREATE_DETACHED: _bindgen_ty_11 = 1;
11365pub type _bindgen_ty_11 = u32;
11366pub const PTHREAD_MUTEX_TIMED_NP: _bindgen_ty_12 = 0;
11367pub const PTHREAD_MUTEX_RECURSIVE_NP: _bindgen_ty_12 = 1;
11368pub const PTHREAD_MUTEX_ERRORCHECK_NP: _bindgen_ty_12 = 2;
11369pub const PTHREAD_MUTEX_ADAPTIVE_NP: _bindgen_ty_12 = 3;
11370pub const PTHREAD_MUTEX_NORMAL: _bindgen_ty_12 = 0;
11371pub const PTHREAD_MUTEX_RECURSIVE: _bindgen_ty_12 = 1;
11372pub const PTHREAD_MUTEX_ERRORCHECK: _bindgen_ty_12 = 2;
11373pub const PTHREAD_MUTEX_DEFAULT: _bindgen_ty_12 = 0;
11374pub type _bindgen_ty_12 = u32;
11375pub const PTHREAD_MUTEX_STALLED: _bindgen_ty_13 = 0;
11376pub const PTHREAD_MUTEX_STALLED_NP: _bindgen_ty_13 = 0;
11377pub const PTHREAD_MUTEX_ROBUST: _bindgen_ty_13 = 1;
11378pub const PTHREAD_MUTEX_ROBUST_NP: _bindgen_ty_13 = 1;
11379pub type _bindgen_ty_13 = u32;
11380pub const PTHREAD_PRIO_NONE: _bindgen_ty_14 = 0;
11381pub const PTHREAD_PRIO_INHERIT: _bindgen_ty_14 = 1;
11382pub const PTHREAD_PRIO_PROTECT: _bindgen_ty_14 = 2;
11383pub type _bindgen_ty_14 = u32;
11384pub const PTHREAD_RWLOCK_PREFER_READER_NP: _bindgen_ty_15 = 0;
11385pub const PTHREAD_RWLOCK_PREFER_WRITER_NP: _bindgen_ty_15 = 1;
11386pub const PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP: _bindgen_ty_15 = 2;
11387pub const PTHREAD_RWLOCK_DEFAULT_NP: _bindgen_ty_15 = 0;
11388pub type _bindgen_ty_15 = u32;
11389pub const PTHREAD_INHERIT_SCHED: _bindgen_ty_16 = 0;
11390pub const PTHREAD_EXPLICIT_SCHED: _bindgen_ty_16 = 1;
11391pub type _bindgen_ty_16 = u32;
11392pub const PTHREAD_SCOPE_SYSTEM: _bindgen_ty_17 = 0;
11393pub const PTHREAD_SCOPE_PROCESS: _bindgen_ty_17 = 1;
11394pub type _bindgen_ty_17 = u32;
11395pub const PTHREAD_PROCESS_PRIVATE: _bindgen_ty_18 = 0;
11396pub const PTHREAD_PROCESS_SHARED: _bindgen_ty_18 = 1;
11397pub type _bindgen_ty_18 = u32;
11398#[repr(C)]
11399#[derive(Debug, Copy, Clone)]
11400pub struct _pthread_cleanup_buffer {
11401 pub __routine: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
11402 pub __arg: *mut ::std::os::raw::c_void,
11403 pub __canceltype: ::std::os::raw::c_int,
11404 pub __prev: *mut _pthread_cleanup_buffer,
11405}
11406#[test]
11407fn bindgen_test_layout__pthread_cleanup_buffer() {
11408 assert_eq!(
11409 ::std::mem::size_of::<_pthread_cleanup_buffer>(),
11410 32usize,
11411 concat!("Size of: ", stringify!(_pthread_cleanup_buffer))
11412 );
11413 assert_eq!(
11414 ::std::mem::align_of::<_pthread_cleanup_buffer>(),
11415 8usize,
11416 concat!("Alignment of ", stringify!(_pthread_cleanup_buffer))
11417 );
11418 assert_eq!(
11419 unsafe {
11420 &(*(::std::ptr::null::<_pthread_cleanup_buffer>())).__routine as *const _ as usize
11421 },
11422 0usize,
11423 concat!(
11424 "Offset of field: ",
11425 stringify!(_pthread_cleanup_buffer),
11426 "::",
11427 stringify!(__routine)
11428 )
11429 );
11430 assert_eq!(
11431 unsafe { &(*(::std::ptr::null::<_pthread_cleanup_buffer>())).__arg as *const _ as usize },
11432 8usize,
11433 concat!(
11434 "Offset of field: ",
11435 stringify!(_pthread_cleanup_buffer),
11436 "::",
11437 stringify!(__arg)
11438 )
11439 );
11440 assert_eq!(
11441 unsafe {
11442 &(*(::std::ptr::null::<_pthread_cleanup_buffer>())).__canceltype as *const _ as usize
11443 },
11444 16usize,
11445 concat!(
11446 "Offset of field: ",
11447 stringify!(_pthread_cleanup_buffer),
11448 "::",
11449 stringify!(__canceltype)
11450 )
11451 );
11452 assert_eq!(
11453 unsafe { &(*(::std::ptr::null::<_pthread_cleanup_buffer>())).__prev as *const _ as usize },
11454 24usize,
11455 concat!(
11456 "Offset of field: ",
11457 stringify!(_pthread_cleanup_buffer),
11458 "::",
11459 stringify!(__prev)
11460 )
11461 );
11462}
11463pub const PTHREAD_CANCEL_ENABLE: _bindgen_ty_19 = 0;
11464pub const PTHREAD_CANCEL_DISABLE: _bindgen_ty_19 = 1;
11465pub type _bindgen_ty_19 = u32;
11466pub const PTHREAD_CANCEL_DEFERRED: _bindgen_ty_20 = 0;
11467pub const PTHREAD_CANCEL_ASYNCHRONOUS: _bindgen_ty_20 = 1;
11468pub type _bindgen_ty_20 = u32;
11469extern "C" {
11470 pub fn pthread_create(
11471 __newthread: *mut pthread_t,
11472 __attr: *const pthread_attr_t,
11473 __start_routine: ::std::option::Option<
11474 unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> *mut ::std::os::raw::c_void,
11475 >,
11476 __arg: *mut ::std::os::raw::c_void,
11477 ) -> ::std::os::raw::c_int;
11478}
11479extern "C" {
11480 pub fn pthread_exit(__retval: *mut ::std::os::raw::c_void);
11481}
11482extern "C" {
11483 pub fn pthread_join(
11484 __th: pthread_t,
11485 __thread_return: *mut *mut ::std::os::raw::c_void,
11486 ) -> ::std::os::raw::c_int;
11487}
11488extern "C" {
11489 pub fn pthread_detach(__th: pthread_t) -> ::std::os::raw::c_int;
11490}
11491extern "C" {
11492 pub fn pthread_self() -> pthread_t;
11493}
11494extern "C" {
11495 pub fn pthread_equal(__thread1: pthread_t, __thread2: pthread_t) -> ::std::os::raw::c_int;
11496}
11497extern "C" {
11498 pub fn pthread_attr_init(__attr: *mut pthread_attr_t) -> ::std::os::raw::c_int;
11499}
11500extern "C" {
11501 pub fn pthread_attr_destroy(__attr: *mut pthread_attr_t) -> ::std::os::raw::c_int;
11502}
11503extern "C" {
11504 pub fn pthread_attr_getdetachstate(
11505 __attr: *const pthread_attr_t,
11506 __detachstate: *mut ::std::os::raw::c_int,
11507 ) -> ::std::os::raw::c_int;
11508}
11509extern "C" {
11510 pub fn pthread_attr_setdetachstate(
11511 __attr: *mut pthread_attr_t,
11512 __detachstate: ::std::os::raw::c_int,
11513 ) -> ::std::os::raw::c_int;
11514}
11515extern "C" {
11516 pub fn pthread_attr_getguardsize(
11517 __attr: *const pthread_attr_t,
11518 __guardsize: *mut usize,
11519 ) -> ::std::os::raw::c_int;
11520}
11521extern "C" {
11522 pub fn pthread_attr_setguardsize(
11523 __attr: *mut pthread_attr_t,
11524 __guardsize: usize,
11525 ) -> ::std::os::raw::c_int;
11526}
11527extern "C" {
11528 pub fn pthread_attr_getschedparam(
11529 __attr: *const pthread_attr_t,
11530 __param: *mut sched_param,
11531 ) -> ::std::os::raw::c_int;
11532}
11533extern "C" {
11534 pub fn pthread_attr_setschedparam(
11535 __attr: *mut pthread_attr_t,
11536 __param: *const sched_param,
11537 ) -> ::std::os::raw::c_int;
11538}
11539extern "C" {
11540 pub fn pthread_attr_getschedpolicy(
11541 __attr: *const pthread_attr_t,
11542 __policy: *mut ::std::os::raw::c_int,
11543 ) -> ::std::os::raw::c_int;
11544}
11545extern "C" {
11546 pub fn pthread_attr_setschedpolicy(
11547 __attr: *mut pthread_attr_t,
11548 __policy: ::std::os::raw::c_int,
11549 ) -> ::std::os::raw::c_int;
11550}
11551extern "C" {
11552 pub fn pthread_attr_getinheritsched(
11553 __attr: *const pthread_attr_t,
11554 __inherit: *mut ::std::os::raw::c_int,
11555 ) -> ::std::os::raw::c_int;
11556}
11557extern "C" {
11558 pub fn pthread_attr_setinheritsched(
11559 __attr: *mut pthread_attr_t,
11560 __inherit: ::std::os::raw::c_int,
11561 ) -> ::std::os::raw::c_int;
11562}
11563extern "C" {
11564 pub fn pthread_attr_getscope(
11565 __attr: *const pthread_attr_t,
11566 __scope: *mut ::std::os::raw::c_int,
11567 ) -> ::std::os::raw::c_int;
11568}
11569extern "C" {
11570 pub fn pthread_attr_setscope(
11571 __attr: *mut pthread_attr_t,
11572 __scope: ::std::os::raw::c_int,
11573 ) -> ::std::os::raw::c_int;
11574}
11575extern "C" {
11576 pub fn pthread_attr_getstackaddr(
11577 __attr: *const pthread_attr_t,
11578 __stackaddr: *mut *mut ::std::os::raw::c_void,
11579 ) -> ::std::os::raw::c_int;
11580}
11581extern "C" {
11582 pub fn pthread_attr_setstackaddr(
11583 __attr: *mut pthread_attr_t,
11584 __stackaddr: *mut ::std::os::raw::c_void,
11585 ) -> ::std::os::raw::c_int;
11586}
11587extern "C" {
11588 pub fn pthread_attr_getstacksize(
11589 __attr: *const pthread_attr_t,
11590 __stacksize: *mut usize,
11591 ) -> ::std::os::raw::c_int;
11592}
11593extern "C" {
11594 pub fn pthread_attr_setstacksize(
11595 __attr: *mut pthread_attr_t,
11596 __stacksize: usize,
11597 ) -> ::std::os::raw::c_int;
11598}
11599extern "C" {
11600 pub fn pthread_attr_getstack(
11601 __attr: *const pthread_attr_t,
11602 __stackaddr: *mut *mut ::std::os::raw::c_void,
11603 __stacksize: *mut usize,
11604 ) -> ::std::os::raw::c_int;
11605}
11606extern "C" {
11607 pub fn pthread_attr_setstack(
11608 __attr: *mut pthread_attr_t,
11609 __stackaddr: *mut ::std::os::raw::c_void,
11610 __stacksize: usize,
11611 ) -> ::std::os::raw::c_int;
11612}
11613extern "C" {
11614 pub fn pthread_setschedparam(
11615 __target_thread: pthread_t,
11616 __policy: ::std::os::raw::c_int,
11617 __param: *const sched_param,
11618 ) -> ::std::os::raw::c_int;
11619}
11620extern "C" {
11621 pub fn pthread_getschedparam(
11622 __target_thread: pthread_t,
11623 __policy: *mut ::std::os::raw::c_int,
11624 __param: *mut sched_param,
11625 ) -> ::std::os::raw::c_int;
11626}
11627extern "C" {
11628 pub fn pthread_setschedprio(
11629 __target_thread: pthread_t,
11630 __prio: ::std::os::raw::c_int,
11631 ) -> ::std::os::raw::c_int;
11632}
11633extern "C" {
11634 pub fn pthread_once(
11635 __once_control: *mut pthread_once_t,
11636 __init_routine: ::std::option::Option<unsafe extern "C" fn()>,
11637 ) -> ::std::os::raw::c_int;
11638}
11639extern "C" {
11640 pub fn pthread_setcancelstate(
11641 __state: ::std::os::raw::c_int,
11642 __oldstate: *mut ::std::os::raw::c_int,
11643 ) -> ::std::os::raw::c_int;
11644}
11645extern "C" {
11646 pub fn pthread_setcanceltype(
11647 __type: ::std::os::raw::c_int,
11648 __oldtype: *mut ::std::os::raw::c_int,
11649 ) -> ::std::os::raw::c_int;
11650}
11651extern "C" {
11652 pub fn pthread_cancel(__th: pthread_t) -> ::std::os::raw::c_int;
11653}
11654extern "C" {
11655 pub fn pthread_testcancel();
11656}
11657#[repr(C)]
11658#[derive(Debug, Copy, Clone)]
11659pub struct __pthread_unwind_buf_t {
11660 pub __cancel_jmp_buf: [__pthread_unwind_buf_t__bindgen_ty_1; 1usize],
11661 pub __pad: [*mut ::std::os::raw::c_void; 4usize],
11662}
11663#[repr(C)]
11664#[derive(Debug, Copy, Clone)]
11665pub struct __pthread_unwind_buf_t__bindgen_ty_1 {
11666 pub __cancel_jmp_buf: __jmp_buf,
11667 pub __mask_was_saved: ::std::os::raw::c_int,
11668}
11669#[test]
11670fn bindgen_test_layout___pthread_unwind_buf_t__bindgen_ty_1() {
11671 assert_eq!(
11672 ::std::mem::size_of::<__pthread_unwind_buf_t__bindgen_ty_1>(),
11673 72usize,
11674 concat!(
11675 "Size of: ",
11676 stringify!(__pthread_unwind_buf_t__bindgen_ty_1)
11677 )
11678 );
11679 assert_eq!(
11680 ::std::mem::align_of::<__pthread_unwind_buf_t__bindgen_ty_1>(),
11681 8usize,
11682 concat!(
11683 "Alignment of ",
11684 stringify!(__pthread_unwind_buf_t__bindgen_ty_1)
11685 )
11686 );
11687 assert_eq!(
11688 unsafe {
11689 &(*(::std::ptr::null::<__pthread_unwind_buf_t__bindgen_ty_1>())).__cancel_jmp_buf
11690 as *const _ as usize
11691 },
11692 0usize,
11693 concat!(
11694 "Offset of field: ",
11695 stringify!(__pthread_unwind_buf_t__bindgen_ty_1),
11696 "::",
11697 stringify!(__cancel_jmp_buf)
11698 )
11699 );
11700 assert_eq!(
11701 unsafe {
11702 &(*(::std::ptr::null::<__pthread_unwind_buf_t__bindgen_ty_1>())).__mask_was_saved
11703 as *const _ as usize
11704 },
11705 64usize,
11706 concat!(
11707 "Offset of field: ",
11708 stringify!(__pthread_unwind_buf_t__bindgen_ty_1),
11709 "::",
11710 stringify!(__mask_was_saved)
11711 )
11712 );
11713}
11714#[test]
11715fn bindgen_test_layout___pthread_unwind_buf_t() {
11716 assert_eq!(
11717 ::std::mem::size_of::<__pthread_unwind_buf_t>(),
11718 104usize,
11719 concat!("Size of: ", stringify!(__pthread_unwind_buf_t))
11720 );
11721 assert_eq!(
11722 ::std::mem::align_of::<__pthread_unwind_buf_t>(),
11723 8usize,
11724 concat!("Alignment of ", stringify!(__pthread_unwind_buf_t))
11725 );
11726 assert_eq!(
11727 unsafe {
11728 &(*(::std::ptr::null::<__pthread_unwind_buf_t>())).__cancel_jmp_buf as *const _ as usize
11729 },
11730 0usize,
11731 concat!(
11732 "Offset of field: ",
11733 stringify!(__pthread_unwind_buf_t),
11734 "::",
11735 stringify!(__cancel_jmp_buf)
11736 )
11737 );
11738 assert_eq!(
11739 unsafe { &(*(::std::ptr::null::<__pthread_unwind_buf_t>())).__pad as *const _ as usize },
11740 72usize,
11741 concat!(
11742 "Offset of field: ",
11743 stringify!(__pthread_unwind_buf_t),
11744 "::",
11745 stringify!(__pad)
11746 )
11747 );
11748}
11749#[repr(C)]
11750#[derive(Debug, Copy, Clone)]
11751pub struct __pthread_cleanup_frame {
11752 pub __cancel_routine:
11753 ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
11754 pub __cancel_arg: *mut ::std::os::raw::c_void,
11755 pub __do_it: ::std::os::raw::c_int,
11756 pub __cancel_type: ::std::os::raw::c_int,
11757}
11758#[test]
11759fn bindgen_test_layout___pthread_cleanup_frame() {
11760 assert_eq!(
11761 ::std::mem::size_of::<__pthread_cleanup_frame>(),
11762 24usize,
11763 concat!("Size of: ", stringify!(__pthread_cleanup_frame))
11764 );
11765 assert_eq!(
11766 ::std::mem::align_of::<__pthread_cleanup_frame>(),
11767 8usize,
11768 concat!("Alignment of ", stringify!(__pthread_cleanup_frame))
11769 );
11770 assert_eq!(
11771 unsafe {
11772 &(*(::std::ptr::null::<__pthread_cleanup_frame>())).__cancel_routine as *const _
11773 as usize
11774 },
11775 0usize,
11776 concat!(
11777 "Offset of field: ",
11778 stringify!(__pthread_cleanup_frame),
11779 "::",
11780 stringify!(__cancel_routine)
11781 )
11782 );
11783 assert_eq!(
11784 unsafe {
11785 &(*(::std::ptr::null::<__pthread_cleanup_frame>())).__cancel_arg as *const _ as usize
11786 },
11787 8usize,
11788 concat!(
11789 "Offset of field: ",
11790 stringify!(__pthread_cleanup_frame),
11791 "::",
11792 stringify!(__cancel_arg)
11793 )
11794 );
11795 assert_eq!(
11796 unsafe { &(*(::std::ptr::null::<__pthread_cleanup_frame>())).__do_it as *const _ as usize },
11797 16usize,
11798 concat!(
11799 "Offset of field: ",
11800 stringify!(__pthread_cleanup_frame),
11801 "::",
11802 stringify!(__do_it)
11803 )
11804 );
11805 assert_eq!(
11806 unsafe {
11807 &(*(::std::ptr::null::<__pthread_cleanup_frame>())).__cancel_type as *const _ as usize
11808 },
11809 20usize,
11810 concat!(
11811 "Offset of field: ",
11812 stringify!(__pthread_cleanup_frame),
11813 "::",
11814 stringify!(__cancel_type)
11815 )
11816 );
11817}
11818extern "C" {
11819 pub fn __pthread_register_cancel(__buf: *mut __pthread_unwind_buf_t);
11820}
11821extern "C" {
11822 pub fn __pthread_unregister_cancel(__buf: *mut __pthread_unwind_buf_t);
11823}
11824extern "C" {
11825 pub fn __pthread_unwind_next(__buf: *mut __pthread_unwind_buf_t);
11826}
11827#[repr(C)]
11828#[derive(Debug, Copy, Clone)]
11829pub struct __jmp_buf_tag {
11830 _unused: [u8; 0],
11831}
11832extern "C" {
11833 pub fn __sigsetjmp(
11834 __env: *mut __jmp_buf_tag,
11835 __savemask: ::std::os::raw::c_int,
11836 ) -> ::std::os::raw::c_int;
11837}
11838extern "C" {
11839 pub fn pthread_mutex_init(
11840 __mutex: *mut pthread_mutex_t,
11841 __mutexattr: *const pthread_mutexattr_t,
11842 ) -> ::std::os::raw::c_int;
11843}
11844extern "C" {
11845 pub fn pthread_mutex_destroy(__mutex: *mut pthread_mutex_t) -> ::std::os::raw::c_int;
11846}
11847extern "C" {
11848 pub fn pthread_mutex_trylock(__mutex: *mut pthread_mutex_t) -> ::std::os::raw::c_int;
11849}
11850extern "C" {
11851 pub fn pthread_mutex_lock(__mutex: *mut pthread_mutex_t) -> ::std::os::raw::c_int;
11852}
11853extern "C" {
11854 pub fn pthread_mutex_timedlock(
11855 __mutex: *mut pthread_mutex_t,
11856 __abstime: *const timespec,
11857 ) -> ::std::os::raw::c_int;
11858}
11859extern "C" {
11860 pub fn pthread_mutex_unlock(__mutex: *mut pthread_mutex_t) -> ::std::os::raw::c_int;
11861}
11862extern "C" {
11863 pub fn pthread_mutex_getprioceiling(
11864 __mutex: *const pthread_mutex_t,
11865 __prioceiling: *mut ::std::os::raw::c_int,
11866 ) -> ::std::os::raw::c_int;
11867}
11868extern "C" {
11869 pub fn pthread_mutex_setprioceiling(
11870 __mutex: *mut pthread_mutex_t,
11871 __prioceiling: ::std::os::raw::c_int,
11872 __old_ceiling: *mut ::std::os::raw::c_int,
11873 ) -> ::std::os::raw::c_int;
11874}
11875extern "C" {
11876 pub fn pthread_mutex_consistent(__mutex: *mut pthread_mutex_t) -> ::std::os::raw::c_int;
11877}
11878extern "C" {
11879 pub fn pthread_mutexattr_init(__attr: *mut pthread_mutexattr_t) -> ::std::os::raw::c_int;
11880}
11881extern "C" {
11882 pub fn pthread_mutexattr_destroy(__attr: *mut pthread_mutexattr_t) -> ::std::os::raw::c_int;
11883}
11884extern "C" {
11885 pub fn pthread_mutexattr_getpshared(
11886 __attr: *const pthread_mutexattr_t,
11887 __pshared: *mut ::std::os::raw::c_int,
11888 ) -> ::std::os::raw::c_int;
11889}
11890extern "C" {
11891 pub fn pthread_mutexattr_setpshared(
11892 __attr: *mut pthread_mutexattr_t,
11893 __pshared: ::std::os::raw::c_int,
11894 ) -> ::std::os::raw::c_int;
11895}
11896extern "C" {
11897 pub fn pthread_mutexattr_gettype(
11898 __attr: *const pthread_mutexattr_t,
11899 __kind: *mut ::std::os::raw::c_int,
11900 ) -> ::std::os::raw::c_int;
11901}
11902extern "C" {
11903 pub fn pthread_mutexattr_settype(
11904 __attr: *mut pthread_mutexattr_t,
11905 __kind: ::std::os::raw::c_int,
11906 ) -> ::std::os::raw::c_int;
11907}
11908extern "C" {
11909 pub fn pthread_mutexattr_getprotocol(
11910 __attr: *const pthread_mutexattr_t,
11911 __protocol: *mut ::std::os::raw::c_int,
11912 ) -> ::std::os::raw::c_int;
11913}
11914extern "C" {
11915 pub fn pthread_mutexattr_setprotocol(
11916 __attr: *mut pthread_mutexattr_t,
11917 __protocol: ::std::os::raw::c_int,
11918 ) -> ::std::os::raw::c_int;
11919}
11920extern "C" {
11921 pub fn pthread_mutexattr_getprioceiling(
11922 __attr: *const pthread_mutexattr_t,
11923 __prioceiling: *mut ::std::os::raw::c_int,
11924 ) -> ::std::os::raw::c_int;
11925}
11926extern "C" {
11927 pub fn pthread_mutexattr_setprioceiling(
11928 __attr: *mut pthread_mutexattr_t,
11929 __prioceiling: ::std::os::raw::c_int,
11930 ) -> ::std::os::raw::c_int;
11931}
11932extern "C" {
11933 pub fn pthread_mutexattr_getrobust(
11934 __attr: *const pthread_mutexattr_t,
11935 __robustness: *mut ::std::os::raw::c_int,
11936 ) -> ::std::os::raw::c_int;
11937}
11938extern "C" {
11939 pub fn pthread_mutexattr_setrobust(
11940 __attr: *mut pthread_mutexattr_t,
11941 __robustness: ::std::os::raw::c_int,
11942 ) -> ::std::os::raw::c_int;
11943}
11944extern "C" {
11945 pub fn pthread_rwlock_init(
11946 __rwlock: *mut pthread_rwlock_t,
11947 __attr: *const pthread_rwlockattr_t,
11948 ) -> ::std::os::raw::c_int;
11949}
11950extern "C" {
11951 pub fn pthread_rwlock_destroy(__rwlock: *mut pthread_rwlock_t) -> ::std::os::raw::c_int;
11952}
11953extern "C" {
11954 pub fn pthread_rwlock_rdlock(__rwlock: *mut pthread_rwlock_t) -> ::std::os::raw::c_int;
11955}
11956extern "C" {
11957 pub fn pthread_rwlock_tryrdlock(__rwlock: *mut pthread_rwlock_t) -> ::std::os::raw::c_int;
11958}
11959extern "C" {
11960 pub fn pthread_rwlock_timedrdlock(
11961 __rwlock: *mut pthread_rwlock_t,
11962 __abstime: *const timespec,
11963 ) -> ::std::os::raw::c_int;
11964}
11965extern "C" {
11966 pub fn pthread_rwlock_wrlock(__rwlock: *mut pthread_rwlock_t) -> ::std::os::raw::c_int;
11967}
11968extern "C" {
11969 pub fn pthread_rwlock_trywrlock(__rwlock: *mut pthread_rwlock_t) -> ::std::os::raw::c_int;
11970}
11971extern "C" {
11972 pub fn pthread_rwlock_timedwrlock(
11973 __rwlock: *mut pthread_rwlock_t,
11974 __abstime: *const timespec,
11975 ) -> ::std::os::raw::c_int;
11976}
11977extern "C" {
11978 pub fn pthread_rwlock_unlock(__rwlock: *mut pthread_rwlock_t) -> ::std::os::raw::c_int;
11979}
11980extern "C" {
11981 pub fn pthread_rwlockattr_init(__attr: *mut pthread_rwlockattr_t) -> ::std::os::raw::c_int;
11982}
11983extern "C" {
11984 pub fn pthread_rwlockattr_destroy(__attr: *mut pthread_rwlockattr_t) -> ::std::os::raw::c_int;
11985}
11986extern "C" {
11987 pub fn pthread_rwlockattr_getpshared(
11988 __attr: *const pthread_rwlockattr_t,
11989 __pshared: *mut ::std::os::raw::c_int,
11990 ) -> ::std::os::raw::c_int;
11991}
11992extern "C" {
11993 pub fn pthread_rwlockattr_setpshared(
11994 __attr: *mut pthread_rwlockattr_t,
11995 __pshared: ::std::os::raw::c_int,
11996 ) -> ::std::os::raw::c_int;
11997}
11998extern "C" {
11999 pub fn pthread_rwlockattr_getkind_np(
12000 __attr: *const pthread_rwlockattr_t,
12001 __pref: *mut ::std::os::raw::c_int,
12002 ) -> ::std::os::raw::c_int;
12003}
12004extern "C" {
12005 pub fn pthread_rwlockattr_setkind_np(
12006 __attr: *mut pthread_rwlockattr_t,
12007 __pref: ::std::os::raw::c_int,
12008 ) -> ::std::os::raw::c_int;
12009}
12010extern "C" {
12011 pub fn pthread_cond_init(
12012 __cond: *mut pthread_cond_t,
12013 __cond_attr: *const pthread_condattr_t,
12014 ) -> ::std::os::raw::c_int;
12015}
12016extern "C" {
12017 pub fn pthread_cond_destroy(__cond: *mut pthread_cond_t) -> ::std::os::raw::c_int;
12018}
12019extern "C" {
12020 pub fn pthread_cond_signal(__cond: *mut pthread_cond_t) -> ::std::os::raw::c_int;
12021}
12022extern "C" {
12023 pub fn pthread_cond_broadcast(__cond: *mut pthread_cond_t) -> ::std::os::raw::c_int;
12024}
12025extern "C" {
12026 pub fn pthread_cond_wait(
12027 __cond: *mut pthread_cond_t,
12028 __mutex: *mut pthread_mutex_t,
12029 ) -> ::std::os::raw::c_int;
12030}
12031extern "C" {
12032 pub fn pthread_cond_timedwait(
12033 __cond: *mut pthread_cond_t,
12034 __mutex: *mut pthread_mutex_t,
12035 __abstime: *const timespec,
12036 ) -> ::std::os::raw::c_int;
12037}
12038extern "C" {
12039 pub fn pthread_condattr_init(__attr: *mut pthread_condattr_t) -> ::std::os::raw::c_int;
12040}
12041extern "C" {
12042 pub fn pthread_condattr_destroy(__attr: *mut pthread_condattr_t) -> ::std::os::raw::c_int;
12043}
12044extern "C" {
12045 pub fn pthread_condattr_getpshared(
12046 __attr: *const pthread_condattr_t,
12047 __pshared: *mut ::std::os::raw::c_int,
12048 ) -> ::std::os::raw::c_int;
12049}
12050extern "C" {
12051 pub fn pthread_condattr_setpshared(
12052 __attr: *mut pthread_condattr_t,
12053 __pshared: ::std::os::raw::c_int,
12054 ) -> ::std::os::raw::c_int;
12055}
12056extern "C" {
12057 pub fn pthread_condattr_getclock(
12058 __attr: *const pthread_condattr_t,
12059 __clock_id: *mut __clockid_t,
12060 ) -> ::std::os::raw::c_int;
12061}
12062extern "C" {
12063 pub fn pthread_condattr_setclock(
12064 __attr: *mut pthread_condattr_t,
12065 __clock_id: __clockid_t,
12066 ) -> ::std::os::raw::c_int;
12067}
12068extern "C" {
12069 pub fn pthread_spin_init(
12070 __lock: *mut pthread_spinlock_t,
12071 __pshared: ::std::os::raw::c_int,
12072 ) -> ::std::os::raw::c_int;
12073}
12074extern "C" {
12075 pub fn pthread_spin_destroy(__lock: *mut pthread_spinlock_t) -> ::std::os::raw::c_int;
12076}
12077extern "C" {
12078 pub fn pthread_spin_lock(__lock: *mut pthread_spinlock_t) -> ::std::os::raw::c_int;
12079}
12080extern "C" {
12081 pub fn pthread_spin_trylock(__lock: *mut pthread_spinlock_t) -> ::std::os::raw::c_int;
12082}
12083extern "C" {
12084 pub fn pthread_spin_unlock(__lock: *mut pthread_spinlock_t) -> ::std::os::raw::c_int;
12085}
12086extern "C" {
12087 pub fn pthread_barrier_init(
12088 __barrier: *mut pthread_barrier_t,
12089 __attr: *const pthread_barrierattr_t,
12090 __count: ::std::os::raw::c_uint,
12091 ) -> ::std::os::raw::c_int;
12092}
12093extern "C" {
12094 pub fn pthread_barrier_destroy(__barrier: *mut pthread_barrier_t) -> ::std::os::raw::c_int;
12095}
12096extern "C" {
12097 pub fn pthread_barrier_wait(__barrier: *mut pthread_barrier_t) -> ::std::os::raw::c_int;
12098}
12099extern "C" {
12100 pub fn pthread_barrierattr_init(__attr: *mut pthread_barrierattr_t) -> ::std::os::raw::c_int;
12101}
12102extern "C" {
12103 pub fn pthread_barrierattr_destroy(__attr: *mut pthread_barrierattr_t)
12104 -> ::std::os::raw::c_int;
12105}
12106extern "C" {
12107 pub fn pthread_barrierattr_getpshared(
12108 __attr: *const pthread_barrierattr_t,
12109 __pshared: *mut ::std::os::raw::c_int,
12110 ) -> ::std::os::raw::c_int;
12111}
12112extern "C" {
12113 pub fn pthread_barrierattr_setpshared(
12114 __attr: *mut pthread_barrierattr_t,
12115 __pshared: ::std::os::raw::c_int,
12116 ) -> ::std::os::raw::c_int;
12117}
12118extern "C" {
12119 pub fn pthread_key_create(
12120 __key: *mut pthread_key_t,
12121 __destr_function: ::std::option::Option<
12122 unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void),
12123 >,
12124 ) -> ::std::os::raw::c_int;
12125}
12126extern "C" {
12127 pub fn pthread_key_delete(__key: pthread_key_t) -> ::std::os::raw::c_int;
12128}
12129extern "C" {
12130 pub fn pthread_getspecific(__key: pthread_key_t) -> *mut ::std::os::raw::c_void;
12131}
12132extern "C" {
12133 pub fn pthread_setspecific(
12134 __key: pthread_key_t,
12135 __pointer: *const ::std::os::raw::c_void,
12136 ) -> ::std::os::raw::c_int;
12137}
12138extern "C" {
12139 pub fn pthread_getcpuclockid(
12140 __thread_id: pthread_t,
12141 __clock_id: *mut __clockid_t,
12142 ) -> ::std::os::raw::c_int;
12143}
12144extern "C" {
12145 pub fn pthread_atfork(
12146 __prepare: ::std::option::Option<unsafe extern "C" fn()>,
12147 __parent: ::std::option::Option<unsafe extern "C" fn()>,
12148 __child: ::std::option::Option<unsafe extern "C" fn()>,
12149 ) -> ::std::os::raw::c_int;
12150}
12151pub type fmpz = mp_limb_signed_t;
12152pub type fmpz_t = [fmpz; 1usize];
12153pub type fmpz_randstate_t = gmp_randstate_t;
12154extern "C" {
12155 pub static mut fmpz_arr: *mut __mpz_struct;
12156}
12157extern "C" {
12158 pub static mut fmpz_randstate: gmp_randstate_t;
12159}
12160#[repr(C)]
12161#[derive(Debug, Copy, Clone)]
12162pub struct fmpz_preinvn_struct {
12163 pub dinv: mp_ptr,
12164 pub n: mp_limb_signed_t,
12165 pub norm: mp_limb_t,
12166}
12167#[test]
12168fn bindgen_test_layout_fmpz_preinvn_struct() {
12169 assert_eq!(
12170 ::std::mem::size_of::<fmpz_preinvn_struct>(),
12171 24usize,
12172 concat!("Size of: ", stringify!(fmpz_preinvn_struct))
12173 );
12174 assert_eq!(
12175 ::std::mem::align_of::<fmpz_preinvn_struct>(),
12176 8usize,
12177 concat!("Alignment of ", stringify!(fmpz_preinvn_struct))
12178 );
12179 assert_eq!(
12180 unsafe { &(*(::std::ptr::null::<fmpz_preinvn_struct>())).dinv as *const _ as usize },
12181 0usize,
12182 concat!(
12183 "Offset of field: ",
12184 stringify!(fmpz_preinvn_struct),
12185 "::",
12186 stringify!(dinv)
12187 )
12188 );
12189 assert_eq!(
12190 unsafe { &(*(::std::ptr::null::<fmpz_preinvn_struct>())).n as *const _ as usize },
12191 8usize,
12192 concat!(
12193 "Offset of field: ",
12194 stringify!(fmpz_preinvn_struct),
12195 "::",
12196 stringify!(n)
12197 )
12198 );
12199 assert_eq!(
12200 unsafe { &(*(::std::ptr::null::<fmpz_preinvn_struct>())).norm as *const _ as usize },
12201 16usize,
12202 concat!(
12203 "Offset of field: ",
12204 stringify!(fmpz_preinvn_struct),
12205 "::",
12206 stringify!(norm)
12207 )
12208 );
12209}
12210pub type fmpz_preinvn_t = [fmpz_preinvn_struct; 1usize];
12211#[repr(C)]
12212#[derive(Debug, Copy, Clone)]
12213pub struct fmpz_block_header_s {
12214 pub count: ::std::os::raw::c_int,
12215 pub thread: pthread_t,
12216 pub address: *mut ::std::os::raw::c_void,
12217}
12218#[test]
12219fn bindgen_test_layout_fmpz_block_header_s() {
12220 assert_eq!(
12221 ::std::mem::size_of::<fmpz_block_header_s>(),
12222 24usize,
12223 concat!("Size of: ", stringify!(fmpz_block_header_s))
12224 );
12225 assert_eq!(
12226 ::std::mem::align_of::<fmpz_block_header_s>(),
12227 8usize,
12228 concat!("Alignment of ", stringify!(fmpz_block_header_s))
12229 );
12230 assert_eq!(
12231 unsafe { &(*(::std::ptr::null::<fmpz_block_header_s>())).count as *const _ as usize },
12232 0usize,
12233 concat!(
12234 "Offset of field: ",
12235 stringify!(fmpz_block_header_s),
12236 "::",
12237 stringify!(count)
12238 )
12239 );
12240 assert_eq!(
12241 unsafe { &(*(::std::ptr::null::<fmpz_block_header_s>())).thread as *const _ as usize },
12242 8usize,
12243 concat!(
12244 "Offset of field: ",
12245 stringify!(fmpz_block_header_s),
12246 "::",
12247 stringify!(thread)
12248 )
12249 );
12250 assert_eq!(
12251 unsafe { &(*(::std::ptr::null::<fmpz_block_header_s>())).address as *const _ as usize },
12252 16usize,
12253 concat!(
12254 "Offset of field: ",
12255 stringify!(fmpz_block_header_s),
12256 "::",
12257 stringify!(address)
12258 )
12259 );
12260}
12261extern "C" {
12262 pub fn _fmpz_new_mpz() -> *mut __mpz_struct;
12263}
12264extern "C" {
12265 pub fn _fmpz_clear_mpz(f: fmpz);
12266}
12267extern "C" {
12268 pub fn _fmpz_cleanup_mpz_content();
12269}
12270extern "C" {
12271 pub fn _fmpz_cleanup();
12272}
12273extern "C" {
12274 pub fn _fmpz_promote(f: *mut fmpz) -> *mut __mpz_struct;
12275}
12276extern "C" {
12277 pub fn _fmpz_promote_val(f: *mut fmpz) -> *mut __mpz_struct;
12278}
12279extern "C" {
12280 pub fn _fmpz_demote_val(f: *mut fmpz);
12281}
12282extern "C" {
12283 pub fn _fmpz_init_readonly_mpz(f: *mut fmpz, z: *mut __mpz_struct);
12284}
12285extern "C" {
12286 pub fn _fmpz_clear_readonly_mpz(arg1: *mut __mpz_struct);
12287}
12288extern "C" {
12289 pub fn fmpz_init2(f: *mut fmpz, limbs: mp_limb_t);
12290}
12291extern "C" {
12292 pub fn fmpz_randbits(f: *mut fmpz, state: *mut flint_rand_s, bits: mp_limb_t);
12293}
12294extern "C" {
12295 pub fn fmpz_randm(f: *mut fmpz, state: *mut flint_rand_s, m: *mut fmpz);
12296}
12297extern "C" {
12298 pub fn fmpz_randtest(f: *mut fmpz, state: *mut flint_rand_s, bits: mp_limb_t);
12299}
12300extern "C" {
12301 pub fn fmpz_randtest_unsigned(f: *mut fmpz, state: *mut flint_rand_s, bits: mp_limb_t);
12302}
12303extern "C" {
12304 pub fn fmpz_randtest_not_zero(f: *mut fmpz, state: *mut flint_rand_s, bits: mp_limb_t);
12305}
12306extern "C" {
12307 pub fn fmpz_randtest_mod(f: *mut fmpz, state: *mut flint_rand_s, m: *mut fmpz);
12308}
12309extern "C" {
12310 pub fn fmpz_randtest_mod_signed(f: *mut fmpz, state: *mut flint_rand_s, m: *mut fmpz);
12311}
12312extern "C" {
12313 pub fn fmpz_randprime(
12314 f: *mut fmpz,
12315 state: *mut flint_rand_s,
12316 bits: mp_limb_t,
12317 proved: ::std::os::raw::c_int,
12318 );
12319}
12320extern "C" {
12321 pub fn fmpz_get_si(f: *mut fmpz) -> mp_limb_signed_t;
12322}
12323extern "C" {
12324 pub fn fmpz_get_ui(f: *mut fmpz) -> mp_limb_t;
12325}
12326extern "C" {
12327 pub fn fmpz_set_signed_uiui(r: *mut fmpz, hi: mp_limb_t, lo: mp_limb_t);
12328}
12329extern "C" {
12330 pub fn fmpz_set_signed_uiuiui(r: *mut fmpz, hi: mp_limb_t, mid: mp_limb_t, lo: mp_limb_t);
12331}
12332extern "C" {
12333 pub fn fmpz_set_ui_array(out: *mut fmpz, in_: *const mp_limb_t, in_len: mp_limb_signed_t);
12334}
12335extern "C" {
12336 pub fn fmpz_get_ui_array(out: *mut mp_limb_t, out_len: mp_limb_signed_t, in_: *mut fmpz);
12337}
12338extern "C" {
12339 pub fn fmpz_get_mpz(x: *mut __mpz_struct, f: *mut fmpz);
12340}
12341extern "C" {
12342 pub fn fmpz_set_mpz(f: *mut fmpz, x: *mut __mpz_struct);
12343}
12344extern "C" {
12345 pub fn fmpz_get_d(f: *mut fmpz) -> f64;
12346}
12347extern "C" {
12348 pub fn fmpz_set_d(f: *mut fmpz, c: f64);
12349}
12350extern "C" {
12351 pub fn fmpz_get_mpf(x: *mut __mpf_struct, f: *mut fmpz);
12352}
12353extern "C" {
12354 pub fn fmpz_set_mpf(f: *mut fmpz, x: *mut __mpf_struct);
12355}
12356extern "C" {
12357 pub fn fmpz_get_mpfr(x: *mut __mpfr_struct, f: *mut fmpz, rnd: mpfr_rnd_t);
12358}
12359extern "C" {
12360 pub fn fmpz_get_mpn(n: *mut mp_ptr, n_in: *mut fmpz) -> ::std::os::raw::c_int;
12361}
12362extern "C" {
12363 pub fn fmpz_set_str(
12364 f: *mut fmpz,
12365 str: *const ::std::os::raw::c_char,
12366 b: ::std::os::raw::c_int,
12367 ) -> ::std::os::raw::c_int;
12368}
12369extern "C" {
12370 pub fn flint_mpz_init_set_readonly(z: *mut __mpz_struct, f: *mut fmpz);
12371}
12372extern "C" {
12373 pub fn flint_mpz_clear_readonly(z: *mut __mpz_struct);
12374}
12375extern "C" {
12376 pub fn fmpz_init_set_readonly(f: *mut fmpz, z: *mut __mpz_struct);
12377}
12378extern "C" {
12379 pub fn fmpz_clear_readonly(f: *mut fmpz);
12380}
12381extern "C" {
12382 pub fn fmpz_abs_fits_ui(f: *mut fmpz) -> ::std::os::raw::c_int;
12383}
12384extern "C" {
12385 pub fn fmpz_fits_si(f: *mut fmpz) -> ::std::os::raw::c_int;
12386}
12387extern "C" {
12388 pub fn fmpz_set(f: *mut fmpz, g: *mut fmpz);
12389}
12390extern "C" {
12391 pub fn fmpz_equal(f: *mut fmpz, g: *mut fmpz) -> ::std::os::raw::c_int;
12392}
12393extern "C" {
12394 pub fn fmpz_equal_si(f: *mut fmpz, g: mp_limb_signed_t) -> ::std::os::raw::c_int;
12395}
12396extern "C" {
12397 pub fn fmpz_equal_ui(f: *mut fmpz, g: mp_limb_t) -> ::std::os::raw::c_int;
12398}
12399extern "C" {
12400 pub fn fmpz_read(f: *mut fmpz) -> ::std::os::raw::c_int;
12401}
12402extern "C" {
12403 pub fn fmpz_fread(file: *mut FILE, f: *mut fmpz) -> ::std::os::raw::c_int;
12404}
12405extern "C" {
12406 pub fn fmpz_inp_raw(x: *mut fmpz, fin: *mut FILE) -> usize;
12407}
12408extern "C" {
12409 pub fn fmpz_print(x: *mut fmpz) -> ::std::os::raw::c_int;
12410}
12411extern "C" {
12412 pub fn fmpz_fprint(file: *mut FILE, x: *mut fmpz) -> ::std::os::raw::c_int;
12413}
12414extern "C" {
12415 pub fn fmpz_out_raw(fout: *mut FILE, x: *mut fmpz) -> usize;
12416}
12417extern "C" {
12418 pub fn fmpz_sizeinbase(f: *mut fmpz, b: ::std::os::raw::c_int) -> usize;
12419}
12420extern "C" {
12421 pub fn fmpz_get_str(
12422 str: *mut ::std::os::raw::c_char,
12423 b: ::std::os::raw::c_int,
12424 f: *mut fmpz,
12425 ) -> *mut ::std::os::raw::c_char;
12426}
12427extern "C" {
12428 pub fn fmpz_cmp(f: *mut fmpz, g: *mut fmpz) -> ::std::os::raw::c_int;
12429}
12430extern "C" {
12431 pub fn fmpz_cmp_ui(f: *mut fmpz, g: mp_limb_t) -> ::std::os::raw::c_int;
12432}
12433extern "C" {
12434 pub fn fmpz_cmp_si(f: *mut fmpz, g: mp_limb_signed_t) -> ::std::os::raw::c_int;
12435}
12436extern "C" {
12437 pub fn fmpz_cmpabs(f: *mut fmpz, g: *mut fmpz) -> ::std::os::raw::c_int;
12438}
12439extern "C" {
12440 pub fn fmpz_size(f: *mut fmpz) -> mp_size_t;
12441}
12442extern "C" {
12443 pub fn fmpz_sgn(f: *mut fmpz) -> ::std::os::raw::c_int;
12444}
12445extern "C" {
12446 pub fn fmpz_bits(f: *mut fmpz) -> mp_limb_t;
12447}
12448extern "C" {
12449 pub fn fmpz_val2(x: *mut fmpz) -> mp_limb_t;
12450}
12451extern "C" {
12452 pub fn fmpz_abs(f1: *mut fmpz, f2: *mut fmpz);
12453}
12454extern "C" {
12455 pub fn fmpz_add(f: *mut fmpz, g: *mut fmpz, h: *mut fmpz);
12456}
12457extern "C" {
12458 pub fn fmpz_sub(f: *mut fmpz, g: *mut fmpz, h: *mut fmpz);
12459}
12460extern "C" {
12461 pub fn fmpz_mul_ui(f: *mut fmpz, g: *mut fmpz, x: mp_limb_t);
12462}
12463extern "C" {
12464 pub fn fmpz_mul_si(f: *mut fmpz, g: *mut fmpz, x: mp_limb_signed_t);
12465}
12466extern "C" {
12467 pub fn fmpz_mul(f: *mut fmpz, g: *mut fmpz, h: *mut fmpz);
12468}
12469extern "C" {
12470 pub fn fmpz_mul_2exp(f: *mut fmpz, g: *mut fmpz, exp: mp_limb_t);
12471}
12472extern "C" {
12473 pub fn fmpz_add_ui(f: *mut fmpz, g: *mut fmpz, x: mp_limb_t);
12474}
12475extern "C" {
12476 pub fn fmpz_sub_ui(f: *mut fmpz, g: *mut fmpz, x: mp_limb_t);
12477}
12478extern "C" {
12479 pub fn fmpz_addmul_ui(f: *mut fmpz, g: *mut fmpz, x: mp_limb_t);
12480}
12481extern "C" {
12482 pub fn fmpz_submul_ui(f: *mut fmpz, g: *mut fmpz, x: mp_limb_t);
12483}
12484extern "C" {
12485 pub fn fmpz_addmul(f: *mut fmpz, g: *mut fmpz, h: *mut fmpz);
12486}
12487extern "C" {
12488 pub fn fmpz_submul(f: *mut fmpz, g: *mut fmpz, h: *mut fmpz);
12489}
12490extern "C" {
12491 pub fn fmpz_fmma(f: *mut fmpz, a: *mut fmpz, b: *mut fmpz, c: *mut fmpz, d: *mut fmpz);
12492}
12493extern "C" {
12494 pub fn fmpz_fmms(f: *mut fmpz, a: *mut fmpz, b: *mut fmpz, c: *mut fmpz, d: *mut fmpz);
12495}
12496extern "C" {
12497 pub fn fmpz_pow_ui(f: *mut fmpz, g: *mut fmpz, exp: mp_limb_t);
12498}
12499extern "C" {
12500 pub fn fmpz_pow_fmpz(a: *mut fmpz, b: *mut fmpz, e: *mut fmpz) -> ::std::os::raw::c_int;
12501}
12502extern "C" {
12503 pub fn fmpz_powm_ui(f: *mut fmpz, g: *mut fmpz, exp: mp_limb_t, m: *mut fmpz);
12504}
12505extern "C" {
12506 pub fn fmpz_powm(f: *mut fmpz, g: *mut fmpz, e: *mut fmpz, m: *mut fmpz);
12507}
12508extern "C" {
12509 pub fn fmpz_setbit(f: *mut fmpz, i: mp_limb_t);
12510}
12511extern "C" {
12512 pub fn fmpz_tstbit(f: *mut fmpz, i: mp_limb_t) -> ::std::os::raw::c_int;
12513}
12514extern "C" {
12515 pub fn fmpz_clrbit(f: *mut fmpz, i: mp_limb_t);
12516}
12517extern "C" {
12518 pub fn fmpz_complement(r: *mut fmpz, f: *mut fmpz);
12519}
12520extern "C" {
12521 pub fn fmpz_combit(f: *mut fmpz, i: mp_limb_t);
12522}
12523extern "C" {
12524 pub fn fmpz_and(r: *mut fmpz, a: *mut fmpz, b: *mut fmpz);
12525}
12526extern "C" {
12527 pub fn fmpz_or(r: *mut fmpz, a: *mut fmpz, b: *mut fmpz);
12528}
12529extern "C" {
12530 pub fn fmpz_xor(r: *mut fmpz, a: *mut fmpz, b: *mut fmpz);
12531}
12532extern "C" {
12533 pub fn fmpz_popcnt(c: *mut fmpz) -> mp_limb_t;
12534}
12535extern "C" {
12536 pub fn fmpz_dlog(x: *mut fmpz) -> f64;
12537}
12538extern "C" {
12539 pub fn fmpz_flog(x: *mut fmpz, b: *mut fmpz) -> mp_limb_signed_t;
12540}
12541extern "C" {
12542 pub fn fmpz_flog_ui(x: *mut fmpz, b: mp_limb_t) -> mp_limb_signed_t;
12543}
12544extern "C" {
12545 pub fn fmpz_clog(x: *mut fmpz, b: *mut fmpz) -> mp_limb_signed_t;
12546}
12547extern "C" {
12548 pub fn fmpz_clog_ui(x: *mut fmpz, b: mp_limb_t) -> mp_limb_signed_t;
12549}
12550extern "C" {
12551 pub fn fmpz_sqrtmod(b: *mut fmpz, a: *mut fmpz, p: *mut fmpz) -> ::std::os::raw::c_int;
12552}
12553extern "C" {
12554 pub fn fmpz_sqrt(f: *mut fmpz, g: *mut fmpz);
12555}
12556extern "C" {
12557 pub fn fmpz_is_square(f: *mut fmpz) -> ::std::os::raw::c_int;
12558}
12559extern "C" {
12560 pub fn fmpz_root(r: *mut fmpz, f: *mut fmpz, n: mp_limb_signed_t);
12561}
12562extern "C" {
12563 pub fn fmpz_is_perfect_power(root: *mut fmpz, f: *mut fmpz) -> ::std::os::raw::c_int;
12564}
12565extern "C" {
12566 pub fn fmpz_sqrtrem(f: *mut fmpz, r: *mut fmpz, g: *mut fmpz);
12567}
12568extern "C" {
12569 pub fn fmpz_fdiv_ui(g: *mut fmpz, h: mp_limb_t) -> mp_limb_t;
12570}
12571extern "C" {
12572 pub fn fmpz_mod_ui(f: *mut fmpz, g: *mut fmpz, h: mp_limb_t) -> mp_limb_t;
12573}
12574extern "C" {
12575 pub fn fmpz_mod(f: *mut fmpz, g: *mut fmpz, h: *mut fmpz);
12576}
12577extern "C" {
12578 pub fn fmpz_smod(f: *mut fmpz, g: *mut fmpz, h: *mut fmpz);
12579}
12580extern "C" {
12581 pub fn fmpz_gcd(f: *mut fmpz, g: *mut fmpz, h: *mut fmpz);
12582}
12583extern "C" {
12584 pub fn fmpz_lcm(f: *mut fmpz, g: *mut fmpz, h: *mut fmpz);
12585}
12586extern "C" {
12587 pub fn fmpz_gcdinv(d: *mut fmpz, a: *mut fmpz, f: *mut fmpz, g: *mut fmpz);
12588}
12589extern "C" {
12590 pub fn fmpz_xgcd(d: *mut fmpz, a: *mut fmpz, b: *mut fmpz, f: *mut fmpz, g: *mut fmpz);
12591}
12592extern "C" {
12593 pub fn fmpz_xgcd_partial(
12594 co2: *mut fmpz,
12595 co1: *mut fmpz,
12596 r2: *mut fmpz,
12597 r1: *mut fmpz,
12598 L: *mut fmpz,
12599 );
12600}
12601extern "C" {
12602 pub fn fmpz_invmod(f: *mut fmpz, g: *mut fmpz, h: *mut fmpz) -> ::std::os::raw::c_int;
12603}
12604extern "C" {
12605 pub fn fmpz_jacobi(a: *mut fmpz, p: *mut fmpz) -> ::std::os::raw::c_int;
12606}
12607extern "C" {
12608 pub fn fmpz_divides_mod_list(
12609 xstart: *mut fmpz,
12610 xstride: *mut fmpz,
12611 xlength: *mut fmpz,
12612 a: *mut fmpz,
12613 b: *mut fmpz,
12614 n: *mut fmpz,
12615 );
12616}
12617extern "C" {
12618 pub fn _fmpz_remove(x: *mut fmpz, f: *mut fmpz, finv: f64) -> mp_limb_signed_t;
12619}
12620extern "C" {
12621 pub fn fmpz_remove(rop: *mut fmpz, op: *mut fmpz, f: *mut fmpz) -> mp_limb_signed_t;
12622}
12623extern "C" {
12624 pub fn fmpz_divexact(f: *mut fmpz, g: *mut fmpz, h: *mut fmpz);
12625}
12626extern "C" {
12627 pub fn fmpz_divexact_si(f: *mut fmpz, g: *mut fmpz, h: mp_limb_signed_t);
12628}
12629extern "C" {
12630 pub fn fmpz_divexact_ui(f: *mut fmpz, g: *mut fmpz, h: mp_limb_t);
12631}
12632extern "C" {
12633 pub fn fmpz_divisible(f: *mut fmpz, g: *mut fmpz) -> ::std::os::raw::c_int;
12634}
12635extern "C" {
12636 pub fn fmpz_divisible_si(f: *mut fmpz, g: mp_limb_signed_t) -> ::std::os::raw::c_int;
12637}
12638extern "C" {
12639 pub fn fmpz_cdiv_qr(f: *mut fmpz, s: *mut fmpz, g: *mut fmpz, h: *mut fmpz);
12640}
12641extern "C" {
12642 pub fn fmpz_cdiv_q(f: *mut fmpz, g: *mut fmpz, h: *mut fmpz);
12643}
12644extern "C" {
12645 pub fn fmpz_cdiv_q_si(f: *mut fmpz, g: *mut fmpz, h: mp_limb_signed_t);
12646}
12647extern "C" {
12648 pub fn fmpz_cdiv_q_ui(f: *mut fmpz, g: *mut fmpz, h: mp_limb_t);
12649}
12650extern "C" {
12651 pub fn fmpz_cdiv_q_2exp(f: *mut fmpz, g: *mut fmpz, exp: mp_limb_t);
12652}
12653extern "C" {
12654 pub fn fmpz_cdiv_r_2exp(f: *mut fmpz, g: *mut fmpz, exp: mp_limb_t);
12655}
12656extern "C" {
12657 pub fn fmpz_cdiv_ui(g: *mut fmpz, h: mp_limb_t) -> mp_limb_t;
12658}
12659extern "C" {
12660 pub fn fmpz_fdiv_qr(f: *mut fmpz, s: *mut fmpz, g: *mut fmpz, h: *mut fmpz);
12661}
12662extern "C" {
12663 pub fn fmpz_fdiv_qr_preinvn(
12664 f: *mut fmpz,
12665 s: *mut fmpz,
12666 g: *mut fmpz,
12667 h: *mut fmpz,
12668 inv: *mut fmpz_preinvn_struct,
12669 );
12670}
12671extern "C" {
12672 pub fn fmpz_fdiv_q(f: *mut fmpz, g: *mut fmpz, h: *mut fmpz);
12673}
12674extern "C" {
12675 pub fn fmpz_fdiv_r(f: *mut fmpz, g: *mut fmpz, h: *mut fmpz);
12676}
12677extern "C" {
12678 pub fn fmpz_fdiv_q_ui(f: *mut fmpz, g: *mut fmpz, h: mp_limb_t);
12679}
12680extern "C" {
12681 pub fn fmpz_fdiv_q_si(f: *mut fmpz, g: *mut fmpz, h: mp_limb_signed_t);
12682}
12683extern "C" {
12684 pub fn fmpz_fdiv_q_2exp(f: *mut fmpz, g: *mut fmpz, exp: mp_limb_t);
12685}
12686extern "C" {
12687 pub fn fmpz_fdiv_r_2exp(f: *mut fmpz, g: *mut fmpz, exp: mp_limb_t);
12688}
12689extern "C" {
12690 pub fn fmpz_tdiv_q(f: *mut fmpz, g: *mut fmpz, h: *mut fmpz);
12691}
12692extern "C" {
12693 pub fn fmpz_tdiv_qr(f: *mut fmpz, s: *mut fmpz, g: *mut fmpz, h: *mut fmpz);
12694}
12695extern "C" {
12696 pub fn fmpz_tdiv_q_ui(f: *mut fmpz, g: *mut fmpz, h: mp_limb_t);
12697}
12698extern "C" {
12699 pub fn fmpz_tdiv_q_si(f: *mut fmpz, g: *mut fmpz, h: mp_limb_signed_t);
12700}
12701extern "C" {
12702 pub fn fmpz_tdiv_r_2exp(f: *mut fmpz, g: *mut fmpz, exp: mp_limb_t);
12703}
12704extern "C" {
12705 pub fn fmpz_tdiv_ui(g: *mut fmpz, h: mp_limb_t) -> mp_limb_t;
12706}
12707extern "C" {
12708 pub fn fmpz_tdiv_q_2exp(f: *mut fmpz, g: *mut fmpz, exp: mp_limb_t);
12709}
12710extern "C" {
12711 pub fn fmpz_preinvn_init(inv: *mut fmpz_preinvn_struct, f: *mut fmpz);
12712}
12713extern "C" {
12714 pub fn fmpz_preinvn_clear(inv: *mut fmpz_preinvn_struct);
12715}
12716extern "C" {
12717 pub fn fmpz_get_d_2exp(exp: *mut mp_limb_signed_t, f: *mut fmpz) -> f64;
12718}
12719extern "C" {
12720 pub fn fmpz_set_d_2exp(f: *mut fmpz, m: f64, exp: mp_limb_signed_t);
12721}
12722extern "C" {
12723 pub fn fmpz_mul_tdiv_q_2exp(f: *mut fmpz, g: *mut fmpz, h: *mut fmpz, exp: mp_limb_t);
12724}
12725extern "C" {
12726 pub fn fmpz_mul_si_tdiv_q_2exp(f: *mut fmpz, g: *mut fmpz, x: mp_limb_signed_t, exp: mp_limb_t);
12727}
12728extern "C" {
12729 pub fn fmpz_fac_ui(f: *mut fmpz, n: mp_limb_t);
12730}
12731extern "C" {
12732 pub fn fmpz_fib_ui(f: *mut fmpz, n: mp_limb_t);
12733}
12734extern "C" {
12735 pub fn fmpz_bin_uiui(res: *mut fmpz, n: mp_limb_t, k: mp_limb_t);
12736}
12737extern "C" {
12738 pub fn _fmpz_rfac_ui(r: *mut fmpz, x: *mut fmpz, a: mp_limb_t, b: mp_limb_t);
12739}
12740extern "C" {
12741 pub fn fmpz_rfac_ui(r: *mut fmpz, x: *mut fmpz, n: mp_limb_t);
12742}
12743extern "C" {
12744 pub fn fmpz_rfac_uiui(r: *mut fmpz, x: mp_limb_t, n: mp_limb_t);
12745}
12746extern "C" {
12747 pub fn fmpz_bit_pack(
12748 arr: mp_ptr,
12749 shift: mp_limb_t,
12750 bits: mp_limb_t,
12751 coeff: *mut fmpz,
12752 negate: ::std::os::raw::c_int,
12753 borrow: ::std::os::raw::c_int,
12754 ) -> ::std::os::raw::c_int;
12755}
12756extern "C" {
12757 pub fn fmpz_bit_unpack(
12758 coeff: *mut fmpz,
12759 arr: mp_srcptr,
12760 shift: mp_limb_t,
12761 bits: mp_limb_t,
12762 negate: ::std::os::raw::c_int,
12763 borrow: ::std::os::raw::c_int,
12764 ) -> ::std::os::raw::c_int;
12765}
12766extern "C" {
12767 pub fn fmpz_bit_unpack_unsigned(
12768 coeff: *mut fmpz,
12769 arr: mp_srcptr,
12770 shift: mp_limb_t,
12771 bits: mp_limb_t,
12772 );
12773}
12774extern "C" {
12775 pub fn _fmpz_CRT_ui_precomp(
12776 out: *mut fmpz,
12777 r1: *mut fmpz,
12778 m1: *mut fmpz,
12779 r2: mp_limb_t,
12780 m2: mp_limb_t,
12781 m2inv: mp_limb_t,
12782 m1m2: *mut fmpz,
12783 c: mp_limb_t,
12784 sign: ::std::os::raw::c_int,
12785 );
12786}
12787extern "C" {
12788 pub fn fmpz_CRT_ui(
12789 out: *mut fmpz,
12790 r1: *mut fmpz,
12791 m1: *mut fmpz,
12792 r2: mp_limb_t,
12793 m2: mp_limb_t,
12794 sign: ::std::os::raw::c_int,
12795 );
12796}
12797#[repr(C)]
12798#[derive(Debug, Copy, Clone)]
12799pub struct fmpz_comb_struct {
12800 pub primes: *const mp_limb_t,
12801 pub num_primes: mp_limb_signed_t,
12802 pub n: mp_limb_signed_t,
12803 pub comb: *mut *mut fmpz,
12804 pub res: *mut *mut fmpz,
12805 pub mod_: *mut nmod_t,
12806}
12807#[test]
12808fn bindgen_test_layout_fmpz_comb_struct() {
12809 assert_eq!(
12810 ::std::mem::size_of::<fmpz_comb_struct>(),
12811 48usize,
12812 concat!("Size of: ", stringify!(fmpz_comb_struct))
12813 );
12814 assert_eq!(
12815 ::std::mem::align_of::<fmpz_comb_struct>(),
12816 8usize,
12817 concat!("Alignment of ", stringify!(fmpz_comb_struct))
12818 );
12819 assert_eq!(
12820 unsafe { &(*(::std::ptr::null::<fmpz_comb_struct>())).primes as *const _ as usize },
12821 0usize,
12822 concat!(
12823 "Offset of field: ",
12824 stringify!(fmpz_comb_struct),
12825 "::",
12826 stringify!(primes)
12827 )
12828 );
12829 assert_eq!(
12830 unsafe { &(*(::std::ptr::null::<fmpz_comb_struct>())).num_primes as *const _ as usize },
12831 8usize,
12832 concat!(
12833 "Offset of field: ",
12834 stringify!(fmpz_comb_struct),
12835 "::",
12836 stringify!(num_primes)
12837 )
12838 );
12839 assert_eq!(
12840 unsafe { &(*(::std::ptr::null::<fmpz_comb_struct>())).n as *const _ as usize },
12841 16usize,
12842 concat!(
12843 "Offset of field: ",
12844 stringify!(fmpz_comb_struct),
12845 "::",
12846 stringify!(n)
12847 )
12848 );
12849 assert_eq!(
12850 unsafe { &(*(::std::ptr::null::<fmpz_comb_struct>())).comb as *const _ as usize },
12851 24usize,
12852 concat!(
12853 "Offset of field: ",
12854 stringify!(fmpz_comb_struct),
12855 "::",
12856 stringify!(comb)
12857 )
12858 );
12859 assert_eq!(
12860 unsafe { &(*(::std::ptr::null::<fmpz_comb_struct>())).res as *const _ as usize },
12861 32usize,
12862 concat!(
12863 "Offset of field: ",
12864 stringify!(fmpz_comb_struct),
12865 "::",
12866 stringify!(res)
12867 )
12868 );
12869 assert_eq!(
12870 unsafe { &(*(::std::ptr::null::<fmpz_comb_struct>())).mod_ as *const _ as usize },
12871 40usize,
12872 concat!(
12873 "Offset of field: ",
12874 stringify!(fmpz_comb_struct),
12875 "::",
12876 stringify!(mod_)
12877 )
12878 );
12879}
12880#[repr(C)]
12881#[derive(Debug, Copy, Clone)]
12882pub struct fmpz_comb_temp_struct {
12883 pub n: mp_limb_signed_t,
12884 pub comb_temp: *mut *mut fmpz,
12885 pub temp: fmpz_t,
12886 pub temp2: fmpz_t,
12887}
12888#[test]
12889fn bindgen_test_layout_fmpz_comb_temp_struct() {
12890 assert_eq!(
12891 ::std::mem::size_of::<fmpz_comb_temp_struct>(),
12892 32usize,
12893 concat!("Size of: ", stringify!(fmpz_comb_temp_struct))
12894 );
12895 assert_eq!(
12896 ::std::mem::align_of::<fmpz_comb_temp_struct>(),
12897 8usize,
12898 concat!("Alignment of ", stringify!(fmpz_comb_temp_struct))
12899 );
12900 assert_eq!(
12901 unsafe { &(*(::std::ptr::null::<fmpz_comb_temp_struct>())).n as *const _ as usize },
12902 0usize,
12903 concat!(
12904 "Offset of field: ",
12905 stringify!(fmpz_comb_temp_struct),
12906 "::",
12907 stringify!(n)
12908 )
12909 );
12910 assert_eq!(
12911 unsafe { &(*(::std::ptr::null::<fmpz_comb_temp_struct>())).comb_temp as *const _ as usize },
12912 8usize,
12913 concat!(
12914 "Offset of field: ",
12915 stringify!(fmpz_comb_temp_struct),
12916 "::",
12917 stringify!(comb_temp)
12918 )
12919 );
12920 assert_eq!(
12921 unsafe { &(*(::std::ptr::null::<fmpz_comb_temp_struct>())).temp as *const _ as usize },
12922 16usize,
12923 concat!(
12924 "Offset of field: ",
12925 stringify!(fmpz_comb_temp_struct),
12926 "::",
12927 stringify!(temp)
12928 )
12929 );
12930 assert_eq!(
12931 unsafe { &(*(::std::ptr::null::<fmpz_comb_temp_struct>())).temp2 as *const _ as usize },
12932 24usize,
12933 concat!(
12934 "Offset of field: ",
12935 stringify!(fmpz_comb_temp_struct),
12936 "::",
12937 stringify!(temp2)
12938 )
12939 );
12940}
12941pub type fmpz_comb_t = [fmpz_comb_struct; 1usize];
12942pub type fmpz_comb_temp_t = [fmpz_comb_temp_struct; 1usize];
12943extern "C" {
12944 pub fn fmpz_comb_temp_init(temp: *mut fmpz_comb_temp_struct, comb: *mut fmpz_comb_struct);
12945}
12946extern "C" {
12947 pub fn fmpz_comb_temp_clear(temp: *mut fmpz_comb_temp_struct);
12948}
12949extern "C" {
12950 pub fn fmpz_comb_init(
12951 comb: *mut fmpz_comb_struct,
12952 primes: mp_srcptr,
12953 num_primes: mp_limb_signed_t,
12954 );
12955}
12956extern "C" {
12957 pub fn fmpz_comb_clear(comb: *mut fmpz_comb_struct);
12958}
12959extern "C" {
12960 pub fn fmpz_multi_mod_ui(
12961 out: *mut mp_limb_t,
12962 in_: *mut fmpz,
12963 comb: *mut fmpz_comb_struct,
12964 temp: *mut fmpz_comb_temp_struct,
12965 );
12966}
12967extern "C" {
12968 pub fn fmpz_multi_CRT_ui(
12969 output: *mut fmpz,
12970 residues: mp_srcptr,
12971 comb: *mut fmpz_comb_struct,
12972 temp: *mut fmpz_comb_temp_struct,
12973 sign: ::std::os::raw::c_int,
12974 );
12975}
12976extern "C" {
12977 pub fn fmpz_CRT(
12978 out: *mut fmpz,
12979 r1: *mut fmpz,
12980 m1: *mut fmpz,
12981 r2: *mut fmpz,
12982 m2: *mut fmpz,
12983 sign: ::std::os::raw::c_int,
12984 );
12985}
12986#[repr(C)]
12987#[derive(Debug, Copy, Clone)]
12988pub struct _fmpz_multi_crt_prog_instr {
12989 pub a_idx: mp_limb_signed_t,
12990 pub b_idx: mp_limb_signed_t,
12991 pub c_idx: mp_limb_signed_t,
12992 pub idem: fmpz_t,
12993 pub modulus: fmpz_t,
12994}
12995#[test]
12996fn bindgen_test_layout__fmpz_multi_crt_prog_instr() {
12997 assert_eq!(
12998 ::std::mem::size_of::<_fmpz_multi_crt_prog_instr>(),
12999 40usize,
13000 concat!("Size of: ", stringify!(_fmpz_multi_crt_prog_instr))
13001 );
13002 assert_eq!(
13003 ::std::mem::align_of::<_fmpz_multi_crt_prog_instr>(),
13004 8usize,
13005 concat!("Alignment of ", stringify!(_fmpz_multi_crt_prog_instr))
13006 );
13007 assert_eq!(
13008 unsafe {
13009 &(*(::std::ptr::null::<_fmpz_multi_crt_prog_instr>())).a_idx as *const _ as usize
13010 },
13011 0usize,
13012 concat!(
13013 "Offset of field: ",
13014 stringify!(_fmpz_multi_crt_prog_instr),
13015 "::",
13016 stringify!(a_idx)
13017 )
13018 );
13019 assert_eq!(
13020 unsafe {
13021 &(*(::std::ptr::null::<_fmpz_multi_crt_prog_instr>())).b_idx as *const _ as usize
13022 },
13023 8usize,
13024 concat!(
13025 "Offset of field: ",
13026 stringify!(_fmpz_multi_crt_prog_instr),
13027 "::",
13028 stringify!(b_idx)
13029 )
13030 );
13031 assert_eq!(
13032 unsafe {
13033 &(*(::std::ptr::null::<_fmpz_multi_crt_prog_instr>())).c_idx as *const _ as usize
13034 },
13035 16usize,
13036 concat!(
13037 "Offset of field: ",
13038 stringify!(_fmpz_multi_crt_prog_instr),
13039 "::",
13040 stringify!(c_idx)
13041 )
13042 );
13043 assert_eq!(
13044 unsafe { &(*(::std::ptr::null::<_fmpz_multi_crt_prog_instr>())).idem as *const _ as usize },
13045 24usize,
13046 concat!(
13047 "Offset of field: ",
13048 stringify!(_fmpz_multi_crt_prog_instr),
13049 "::",
13050 stringify!(idem)
13051 )
13052 );
13053 assert_eq!(
13054 unsafe {
13055 &(*(::std::ptr::null::<_fmpz_multi_crt_prog_instr>())).modulus as *const _ as usize
13056 },
13057 32usize,
13058 concat!(
13059 "Offset of field: ",
13060 stringify!(_fmpz_multi_crt_prog_instr),
13061 "::",
13062 stringify!(modulus)
13063 )
13064 );
13065}
13066#[repr(C)]
13067#[derive(Debug, Copy, Clone)]
13068pub struct fmpz_multi_crt_struct {
13069 pub prog: *mut _fmpz_multi_crt_prog_instr,
13070 pub length: mp_limb_signed_t,
13071 pub alloc: mp_limb_signed_t,
13072 pub localsize: mp_limb_signed_t,
13073 pub temp1loc: mp_limb_signed_t,
13074 pub temp2loc: mp_limb_signed_t,
13075 pub good: ::std::os::raw::c_int,
13076}
13077#[test]
13078fn bindgen_test_layout_fmpz_multi_crt_struct() {
13079 assert_eq!(
13080 ::std::mem::size_of::<fmpz_multi_crt_struct>(),
13081 56usize,
13082 concat!("Size of: ", stringify!(fmpz_multi_crt_struct))
13083 );
13084 assert_eq!(
13085 ::std::mem::align_of::<fmpz_multi_crt_struct>(),
13086 8usize,
13087 concat!("Alignment of ", stringify!(fmpz_multi_crt_struct))
13088 );
13089 assert_eq!(
13090 unsafe { &(*(::std::ptr::null::<fmpz_multi_crt_struct>())).prog as *const _ as usize },
13091 0usize,
13092 concat!(
13093 "Offset of field: ",
13094 stringify!(fmpz_multi_crt_struct),
13095 "::",
13096 stringify!(prog)
13097 )
13098 );
13099 assert_eq!(
13100 unsafe { &(*(::std::ptr::null::<fmpz_multi_crt_struct>())).length as *const _ as usize },
13101 8usize,
13102 concat!(
13103 "Offset of field: ",
13104 stringify!(fmpz_multi_crt_struct),
13105 "::",
13106 stringify!(length)
13107 )
13108 );
13109 assert_eq!(
13110 unsafe { &(*(::std::ptr::null::<fmpz_multi_crt_struct>())).alloc as *const _ as usize },
13111 16usize,
13112 concat!(
13113 "Offset of field: ",
13114 stringify!(fmpz_multi_crt_struct),
13115 "::",
13116 stringify!(alloc)
13117 )
13118 );
13119 assert_eq!(
13120 unsafe { &(*(::std::ptr::null::<fmpz_multi_crt_struct>())).localsize as *const _ as usize },
13121 24usize,
13122 concat!(
13123 "Offset of field: ",
13124 stringify!(fmpz_multi_crt_struct),
13125 "::",
13126 stringify!(localsize)
13127 )
13128 );
13129 assert_eq!(
13130 unsafe { &(*(::std::ptr::null::<fmpz_multi_crt_struct>())).temp1loc as *const _ as usize },
13131 32usize,
13132 concat!(
13133 "Offset of field: ",
13134 stringify!(fmpz_multi_crt_struct),
13135 "::",
13136 stringify!(temp1loc)
13137 )
13138 );
13139 assert_eq!(
13140 unsafe { &(*(::std::ptr::null::<fmpz_multi_crt_struct>())).temp2loc as *const _ as usize },
13141 40usize,
13142 concat!(
13143 "Offset of field: ",
13144 stringify!(fmpz_multi_crt_struct),
13145 "::",
13146 stringify!(temp2loc)
13147 )
13148 );
13149 assert_eq!(
13150 unsafe { &(*(::std::ptr::null::<fmpz_multi_crt_struct>())).good as *const _ as usize },
13151 48usize,
13152 concat!(
13153 "Offset of field: ",
13154 stringify!(fmpz_multi_crt_struct),
13155 "::",
13156 stringify!(good)
13157 )
13158 );
13159}
13160pub type fmpz_multi_crt_t = [fmpz_multi_crt_struct; 1usize];
13161extern "C" {
13162 pub fn fmpz_multi_crt_init(CRT: *mut fmpz_multi_crt_struct);
13163}
13164extern "C" {
13165 pub fn fmpz_multi_crt_precompute(
13166 CRT: *mut fmpz_multi_crt_struct,
13167 moduli: *const fmpz,
13168 len: mp_limb_signed_t,
13169 ) -> ::std::os::raw::c_int;
13170}
13171extern "C" {
13172 pub fn fmpz_multi_crt_precompute_p(
13173 CRT: *mut fmpz_multi_crt_struct,
13174 moduli: *const *const fmpz,
13175 len: mp_limb_signed_t,
13176 ) -> ::std::os::raw::c_int;
13177}
13178extern "C" {
13179 pub fn fmpz_multi_crt_precomp(
13180 output: *mut fmpz,
13181 P: *mut fmpz_multi_crt_struct,
13182 inputs: *const fmpz,
13183 );
13184}
13185extern "C" {
13186 pub fn fmpz_multi_crt_precomp_p(
13187 output: *mut fmpz,
13188 P: *mut fmpz_multi_crt_struct,
13189 inputs: *const *const fmpz,
13190 );
13191}
13192extern "C" {
13193 pub fn fmpz_multi_crt(
13194 output: *mut fmpz,
13195 moduli: *const fmpz,
13196 values: *const fmpz,
13197 len: mp_limb_signed_t,
13198 ) -> ::std::os::raw::c_int;
13199}
13200extern "C" {
13201 pub fn fmpz_multi_crt_clear(P: *mut fmpz_multi_crt_struct);
13202}
13203extern "C" {
13204 pub fn _fmpz_multi_crt_run(
13205 outputs: *mut fmpz,
13206 CRT: *mut fmpz_multi_crt_struct,
13207 inputs: *const fmpz,
13208 );
13209}
13210extern "C" {
13211 pub fn _fmpz_multi_crt_run_p(
13212 outputs: *mut fmpz,
13213 CRT: *mut fmpz_multi_crt_struct,
13214 inputs: *const *const fmpz,
13215 );
13216}
13217extern "C" {
13218 pub fn fmpz_abs_ubound_ui_2exp(
13219 exp: *mut mp_limb_signed_t,
13220 x: *mut fmpz,
13221 bits: ::std::os::raw::c_int,
13222 ) -> mp_limb_t;
13223}
13224extern "C" {
13225 pub fn fmpz_abs_lbound_ui_2exp(
13226 exp: *mut mp_limb_signed_t,
13227 x: *mut fmpz,
13228 bits: ::std::os::raw::c_int,
13229 ) -> mp_limb_t;
13230}
13231extern "C" {
13232 pub fn fmpz_lucas_chain(
13233 Vm: *mut fmpz,
13234 Vm1: *mut fmpz,
13235 A: *mut fmpz,
13236 m: *mut fmpz,
13237 n: *mut fmpz,
13238 );
13239}
13240extern "C" {
13241 pub fn fmpz_lucas_chain_full(
13242 Vm: *mut fmpz,
13243 Vm1: *mut fmpz,
13244 A: *mut fmpz,
13245 B: *mut fmpz,
13246 m: *mut fmpz,
13247 n: *mut fmpz,
13248 );
13249}
13250extern "C" {
13251 pub fn fmpz_lucas_chain_double(
13252 U2m: *mut fmpz,
13253 U2m1: *mut fmpz,
13254 Um: *mut fmpz,
13255 Um1: *mut fmpz,
13256 A: *mut fmpz,
13257 B: *mut fmpz,
13258 n: *mut fmpz,
13259 );
13260}
13261extern "C" {
13262 pub fn fmpz_lucas_chain_add(
13263 Umn: *mut fmpz,
13264 Umn1: *mut fmpz,
13265 Um: *mut fmpz,
13266 Um1: *mut fmpz,
13267 Un: *mut fmpz,
13268 Un1: *mut fmpz,
13269 A: *mut fmpz,
13270 B: *mut fmpz,
13271 n: *mut fmpz,
13272 );
13273}
13274extern "C" {
13275 pub fn fmpz_lucas_chain_mul(
13276 Ukm: *mut fmpz,
13277 Ukm1: *mut fmpz,
13278 Um: *mut fmpz,
13279 Um1: *mut fmpz,
13280 A: *mut fmpz,
13281 B: *mut fmpz,
13282 k: *mut fmpz,
13283 n: *mut fmpz,
13284 );
13285}
13286extern "C" {
13287 pub fn fmpz_lucas_chain_VtoU(
13288 Um: *mut fmpz,
13289 Um1: *mut fmpz,
13290 Vm: *mut fmpz,
13291 Vm1: *mut fmpz,
13292 A: *mut fmpz,
13293 B: *mut fmpz,
13294 Dinv: *mut fmpz,
13295 n: *mut fmpz,
13296 );
13297}
13298extern "C" {
13299 pub fn fmpz_is_probabprime_lucas(n: *mut fmpz) -> ::std::os::raw::c_int;
13300}
13301extern "C" {
13302 pub fn fmpz_is_probabprime_BPSW(n: *mut fmpz) -> ::std::os::raw::c_int;
13303}
13304extern "C" {
13305 pub fn fmpz_is_strong_probabprime(n: *mut fmpz, a: *mut fmpz) -> ::std::os::raw::c_int;
13306}
13307extern "C" {
13308 pub fn fmpz_is_probabprime(p: *mut fmpz) -> ::std::os::raw::c_int;
13309}
13310extern "C" {
13311 pub fn fmpz_is_prime_pseudosquare(n: *mut fmpz) -> ::std::os::raw::c_int;
13312}
13313extern "C" {
13314 pub fn _fmpz_nm1_trial_factors(
13315 n: *mut fmpz,
13316 pm1: mp_ptr,
13317 num_pm1: *mut mp_limb_signed_t,
13318 limit: mp_limb_t,
13319 );
13320}
13321extern "C" {
13322 pub fn fmpz_is_prime_pocklington(
13323 F: *mut fmpz,
13324 R: *mut fmpz,
13325 n: *mut fmpz,
13326 pm1: mp_ptr,
13327 num_pm1: mp_limb_signed_t,
13328 ) -> ::std::os::raw::c_int;
13329}
13330extern "C" {
13331 pub fn _fmpz_np1_trial_factors(
13332 n: *mut fmpz,
13333 pp1: mp_ptr,
13334 num_pp1: *mut mp_limb_signed_t,
13335 limit: mp_limb_t,
13336 );
13337}
13338extern "C" {
13339 pub fn fmpz_is_prime_morrison(
13340 F: *mut fmpz,
13341 R: *mut fmpz,
13342 n: *mut fmpz,
13343 pm1: mp_ptr,
13344 num_pm1: mp_limb_signed_t,
13345 ) -> ::std::os::raw::c_int;
13346}
13347extern "C" {
13348 pub fn fmpz_is_prime(p: *mut fmpz) -> ::std::os::raw::c_int;
13349}
13350extern "C" {
13351 pub fn fmpz_divisor_in_residue_class_lenstra(
13352 fac: *mut fmpz,
13353 n: *mut fmpz,
13354 r: *mut fmpz,
13355 s: *mut fmpz,
13356 ) -> ::std::os::raw::c_int;
13357}
13358extern "C" {
13359 pub fn fmpz_nextprime(res: *mut fmpz, n: *mut fmpz, proved: ::std::os::raw::c_int);
13360}
13361extern "C" {
13362 pub fn fmpz_primorial(res: *mut fmpz, n: mp_limb_t);
13363}
13364extern "C" {
13365 pub fn fmpz_euler_phi(res: *mut fmpz, n: *mut fmpz);
13366}
13367extern "C" {
13368 pub fn fmpz_moebius_mu(n: *mut fmpz) -> ::std::os::raw::c_int;
13369}
13370extern "C" {
13371 pub fn fmpz_divisor_sigma(res: *mut fmpz, n: *mut fmpz, k: mp_limb_t);
13372}
13373extern "C" {
13374 pub fn n_powmod2_fmpz_preinv(
13375 a: mp_limb_t,
13376 exp: *mut fmpz,
13377 n: mp_limb_t,
13378 ninv: mp_limb_t,
13379 ) -> mp_limb_t;
13380}
13381extern "C" {
13382 pub fn __new_fmpz() -> *mut fmpz;
13383}
13384extern "C" {
13385 pub fn __free_fmpz(f: *mut fmpz);
13386}
13387extern "C" {
13388 pub fn __fmpz_set_si(f: *mut fmpz, val: mp_limb_signed_t);
13389}
13390extern "C" {
13391 pub fn __fmpz_set_ui(f: *mut fmpz, val: mp_limb_t);
13392}
13393extern "C" {
13394 pub fn __fmpz_init(f: *mut fmpz);
13395}
13396extern "C" {
13397 pub fn __fmpz_init_set_ui(f: *mut fmpz, g: mp_limb_t);
13398}
13399extern "C" {
13400 pub fn __fmpz_clear(f: *mut fmpz);
13401}
13402extern "C" {
13403 pub fn __fmpz_lt(f: *mut fmpz, g: *mut fmpz) -> ::std::os::raw::c_int;
13404}
13405extern "C" {
13406 pub fn __fmpz_gt(f: *mut fmpz, g: *mut fmpz) -> ::std::os::raw::c_int;
13407}
13408extern "C" {
13409 pub fn __fmpz_lte(f: *mut fmpz, g: *mut fmpz) -> ::std::os::raw::c_int;
13410}
13411extern "C" {
13412 pub fn __fmpz_gte(f: *mut fmpz, g: *mut fmpz) -> ::std::os::raw::c_int;
13413}
13414extern "C" {
13415 pub fn __fmpz_eq(f: *mut fmpz, g: *mut fmpz) -> ::std::os::raw::c_int;
13416}
13417extern "C" {
13418 pub fn __fmpz_neq(f: *mut fmpz, g: *mut fmpz) -> ::std::os::raw::c_int;
13419}
13420extern "C" {
13421 pub fn __fmpz_init_set(f: *mut fmpz, g: *mut fmpz);
13422}
13423extern "C" {
13424 pub fn __fmpz_neg(f1: *mut fmpz, f2: *mut fmpz);
13425}
13426#[repr(C)]
13427#[derive(Debug, Copy, Clone)]
13428pub struct fmpz_factor_struct {
13429 pub sign: ::std::os::raw::c_int,
13430 pub p: *mut fmpz,
13431 pub exp: *mut mp_limb_t,
13432 pub alloc: mp_limb_signed_t,
13433 pub num: mp_limb_signed_t,
13434}
13435#[test]
13436fn bindgen_test_layout_fmpz_factor_struct() {
13437 assert_eq!(
13438 ::std::mem::size_of::<fmpz_factor_struct>(),
13439 40usize,
13440 concat!("Size of: ", stringify!(fmpz_factor_struct))
13441 );
13442 assert_eq!(
13443 ::std::mem::align_of::<fmpz_factor_struct>(),
13444 8usize,
13445 concat!("Alignment of ", stringify!(fmpz_factor_struct))
13446 );
13447 assert_eq!(
13448 unsafe { &(*(::std::ptr::null::<fmpz_factor_struct>())).sign as *const _ as usize },
13449 0usize,
13450 concat!(
13451 "Offset of field: ",
13452 stringify!(fmpz_factor_struct),
13453 "::",
13454 stringify!(sign)
13455 )
13456 );
13457 assert_eq!(
13458 unsafe { &(*(::std::ptr::null::<fmpz_factor_struct>())).p as *const _ as usize },
13459 8usize,
13460 concat!(
13461 "Offset of field: ",
13462 stringify!(fmpz_factor_struct),
13463 "::",
13464 stringify!(p)
13465 )
13466 );
13467 assert_eq!(
13468 unsafe { &(*(::std::ptr::null::<fmpz_factor_struct>())).exp as *const _ as usize },
13469 16usize,
13470 concat!(
13471 "Offset of field: ",
13472 stringify!(fmpz_factor_struct),
13473 "::",
13474 stringify!(exp)
13475 )
13476 );
13477 assert_eq!(
13478 unsafe { &(*(::std::ptr::null::<fmpz_factor_struct>())).alloc as *const _ as usize },
13479 24usize,
13480 concat!(
13481 "Offset of field: ",
13482 stringify!(fmpz_factor_struct),
13483 "::",
13484 stringify!(alloc)
13485 )
13486 );
13487 assert_eq!(
13488 unsafe { &(*(::std::ptr::null::<fmpz_factor_struct>())).num as *const _ as usize },
13489 32usize,
13490 concat!(
13491 "Offset of field: ",
13492 stringify!(fmpz_factor_struct),
13493 "::",
13494 stringify!(num)
13495 )
13496 );
13497}
13498pub type fmpz_factor_t = [fmpz_factor_struct; 1usize];
13499extern "C" {
13500 pub fn fmpz_factor_init(factor: *mut fmpz_factor_struct);
13501}
13502extern "C" {
13503 pub fn fmpz_factor_clear(factor: *mut fmpz_factor_struct);
13504}
13505extern "C" {
13506 pub fn fmpz_factor_print(factor: *mut fmpz_factor_struct);
13507}
13508extern "C" {
13509 pub fn _fmpz_factor_fit_length(factor: *mut fmpz_factor_struct, len: mp_limb_signed_t);
13510}
13511extern "C" {
13512 pub fn _fmpz_factor_append_ui(factor: *mut fmpz_factor_struct, p: mp_limb_t, exp: mp_limb_t);
13513}
13514extern "C" {
13515 pub fn _fmpz_factor_append(factor: *mut fmpz_factor_struct, p: *mut fmpz, exp: mp_limb_t);
13516}
13517extern "C" {
13518 pub fn _fmpz_factor_set_length(factor: *mut fmpz_factor_struct, newlen: mp_limb_signed_t);
13519}
13520extern "C" {
13521 pub fn _fmpz_factor_concat(
13522 factor1: *mut fmpz_factor_struct,
13523 factor2: *mut fmpz_factor_struct,
13524 exp: mp_limb_t,
13525 );
13526}
13527extern "C" {
13528 pub fn _fmpz_factor_extend_factor_ui(factor: *mut fmpz_factor_struct, n: mp_limb_t);
13529}
13530extern "C" {
13531 pub fn fmpz_factor_trial_range(
13532 factor: *mut fmpz_factor_struct,
13533 n: *mut fmpz,
13534 start: mp_limb_t,
13535 num_primes: mp_limb_t,
13536 ) -> ::std::os::raw::c_int;
13537}
13538extern "C" {
13539 pub fn fmpz_factor_trial(
13540 factor: *mut fmpz_factor_struct,
13541 n: *mut fmpz,
13542 num_primes: mp_limb_signed_t,
13543 ) -> ::std::os::raw::c_int;
13544}
13545extern "C" {
13546 pub fn fmpz_factor(factor: *mut fmpz_factor_struct, n: *mut fmpz);
13547}
13548extern "C" {
13549 pub fn fmpz_factor_no_trial(factor: *mut fmpz_factor_struct, n: *mut fmpz);
13550}
13551extern "C" {
13552 pub fn fmpz_factor_smooth(
13553 factor: *mut fmpz_factor_struct,
13554 n: *mut fmpz,
13555 bits: mp_limb_signed_t,
13556 proved: ::std::os::raw::c_int,
13557 ) -> ::std::os::raw::c_int;
13558}
13559extern "C" {
13560 pub fn fmpz_factor_si(factor: *mut fmpz_factor_struct, n: mp_limb_signed_t);
13561}
13562extern "C" {
13563 pub fn fmpz_factor_pp1(
13564 factor: *mut fmpz,
13565 n: *mut fmpz,
13566 B1: mp_limb_t,
13567 B2_sqrt: mp_limb_t,
13568 c: mp_limb_t,
13569 ) -> ::std::os::raw::c_int;
13570}
13571extern "C" {
13572 pub fn fmpz_factor_refine(res: *mut fmpz_factor_struct, f: *mut fmpz_factor_struct);
13573}
13574extern "C" {
13575 pub fn flint_mpn_sqr_and_add_a(
13576 y: mp_ptr,
13577 a: mp_ptr,
13578 n: mp_ptr,
13579 n_size: mp_limb_t,
13580 ninv: mp_ptr,
13581 normbits: mp_limb_t,
13582 );
13583}
13584extern "C" {
13585 pub fn flint_mpn_factor_pollard_brent_single(
13586 factor: mp_ptr,
13587 n: mp_ptr,
13588 ninv: mp_ptr,
13589 a: mp_ptr,
13590 y: mp_ptr,
13591 n_size: mp_limb_t,
13592 normbits: mp_limb_t,
13593 max_iters: mp_limb_t,
13594 ) -> ::std::os::raw::c_int;
13595}
13596extern "C" {
13597 pub fn fmpz_factor_pollard_brent_single(
13598 p_factor: *mut fmpz,
13599 n_in: *mut fmpz,
13600 yi: *mut fmpz,
13601 ai: *mut fmpz,
13602 max_iters: mp_limb_t,
13603 ) -> ::std::os::raw::c_int;
13604}
13605extern "C" {
13606 pub fn fmpz_factor_pollard_brent(
13607 factor: *mut fmpz,
13608 state: *mut flint_rand_s,
13609 n: *mut fmpz,
13610 max_tries: mp_limb_t,
13611 max_iters: mp_limb_t,
13612 ) -> ::std::os::raw::c_int;
13613}
13614extern "C" {
13615 pub fn fmpz_factor_expand_iterative(n: *mut fmpz, factor: *mut fmpz_factor_struct);
13616}
13617extern "C" {
13618 pub fn fmpz_factor_expand_multiexp(n: *mut fmpz, factor: *mut fmpz_factor_struct);
13619}
13620extern "C" {
13621 pub fn fmpz_factor_expand(n: *mut fmpz, factor: *mut fmpz_factor_struct);
13622}
13623extern "C" {
13624 pub fn fmpz_factor_euler_phi(res: *mut fmpz, fac: *mut fmpz_factor_struct);
13625}
13626extern "C" {
13627 pub fn fmpz_factor_moebius_mu(fac: *mut fmpz_factor_struct) -> ::std::os::raw::c_int;
13628}
13629extern "C" {
13630 pub fn fmpz_factor_divisor_sigma(res: *mut fmpz, fac: *mut fmpz_factor_struct, k: mp_limb_t);
13631}
13632#[repr(C)]
13633#[derive(Debug, Copy, Clone)]
13634pub struct ecm_s {
13635 pub t: mp_ptr,
13636 pub u: mp_ptr,
13637 pub v: mp_ptr,
13638 pub w: mp_ptr,
13639 pub x: mp_ptr,
13640 pub z: mp_ptr,
13641 pub a24: mp_ptr,
13642 pub ninv: mp_ptr,
13643 pub one: mp_ptr,
13644 pub GCD_table: *mut ::std::os::raw::c_uchar,
13645 pub prime_table: *mut *mut ::std::os::raw::c_uchar,
13646 pub n_size: mp_limb_t,
13647 pub normbits: mp_limb_t,
13648}
13649#[test]
13650fn bindgen_test_layout_ecm_s() {
13651 assert_eq!(
13652 ::std::mem::size_of::<ecm_s>(),
13653 104usize,
13654 concat!("Size of: ", stringify!(ecm_s))
13655 );
13656 assert_eq!(
13657 ::std::mem::align_of::<ecm_s>(),
13658 8usize,
13659 concat!("Alignment of ", stringify!(ecm_s))
13660 );
13661 assert_eq!(
13662 unsafe { &(*(::std::ptr::null::<ecm_s>())).t as *const _ as usize },
13663 0usize,
13664 concat!("Offset of field: ", stringify!(ecm_s), "::", stringify!(t))
13665 );
13666 assert_eq!(
13667 unsafe { &(*(::std::ptr::null::<ecm_s>())).u as *const _ as usize },
13668 8usize,
13669 concat!("Offset of field: ", stringify!(ecm_s), "::", stringify!(u))
13670 );
13671 assert_eq!(
13672 unsafe { &(*(::std::ptr::null::<ecm_s>())).v as *const _ as usize },
13673 16usize,
13674 concat!("Offset of field: ", stringify!(ecm_s), "::", stringify!(v))
13675 );
13676 assert_eq!(
13677 unsafe { &(*(::std::ptr::null::<ecm_s>())).w as *const _ as usize },
13678 24usize,
13679 concat!("Offset of field: ", stringify!(ecm_s), "::", stringify!(w))
13680 );
13681 assert_eq!(
13682 unsafe { &(*(::std::ptr::null::<ecm_s>())).x as *const _ as usize },
13683 32usize,
13684 concat!("Offset of field: ", stringify!(ecm_s), "::", stringify!(x))
13685 );
13686 assert_eq!(
13687 unsafe { &(*(::std::ptr::null::<ecm_s>())).z as *const _ as usize },
13688 40usize,
13689 concat!("Offset of field: ", stringify!(ecm_s), "::", stringify!(z))
13690 );
13691 assert_eq!(
13692 unsafe { &(*(::std::ptr::null::<ecm_s>())).a24 as *const _ as usize },
13693 48usize,
13694 concat!(
13695 "Offset of field: ",
13696 stringify!(ecm_s),
13697 "::",
13698 stringify!(a24)
13699 )
13700 );
13701 assert_eq!(
13702 unsafe { &(*(::std::ptr::null::<ecm_s>())).ninv as *const _ as usize },
13703 56usize,
13704 concat!(
13705 "Offset of field: ",
13706 stringify!(ecm_s),
13707 "::",
13708 stringify!(ninv)
13709 )
13710 );
13711 assert_eq!(
13712 unsafe { &(*(::std::ptr::null::<ecm_s>())).one as *const _ as usize },
13713 64usize,
13714 concat!(
13715 "Offset of field: ",
13716 stringify!(ecm_s),
13717 "::",
13718 stringify!(one)
13719 )
13720 );
13721 assert_eq!(
13722 unsafe { &(*(::std::ptr::null::<ecm_s>())).GCD_table as *const _ as usize },
13723 72usize,
13724 concat!(
13725 "Offset of field: ",
13726 stringify!(ecm_s),
13727 "::",
13728 stringify!(GCD_table)
13729 )
13730 );
13731 assert_eq!(
13732 unsafe { &(*(::std::ptr::null::<ecm_s>())).prime_table as *const _ as usize },
13733 80usize,
13734 concat!(
13735 "Offset of field: ",
13736 stringify!(ecm_s),
13737 "::",
13738 stringify!(prime_table)
13739 )
13740 );
13741 assert_eq!(
13742 unsafe { &(*(::std::ptr::null::<ecm_s>())).n_size as *const _ as usize },
13743 88usize,
13744 concat!(
13745 "Offset of field: ",
13746 stringify!(ecm_s),
13747 "::",
13748 stringify!(n_size)
13749 )
13750 );
13751 assert_eq!(
13752 unsafe { &(*(::std::ptr::null::<ecm_s>())).normbits as *const _ as usize },
13753 96usize,
13754 concat!(
13755 "Offset of field: ",
13756 stringify!(ecm_s),
13757 "::",
13758 stringify!(normbits)
13759 )
13760 );
13761}
13762pub type ecm_t = [ecm_s; 1usize];
13763extern "C" {
13764 pub fn fmpz_factor_ecm_init(ecm_inf: *mut ecm_s, sz: mp_limb_t);
13765}
13766extern "C" {
13767 pub fn fmpz_factor_ecm_clear(ecm_inf: *mut ecm_s);
13768}
13769extern "C" {
13770 pub fn fmpz_factor_ecm_addmod(a: mp_ptr, b: mp_ptr, c: mp_ptr, n: mp_ptr, n_size: mp_limb_t);
13771}
13772extern "C" {
13773 pub fn fmpz_factor_ecm_submod(x: mp_ptr, a: mp_ptr, b: mp_ptr, n: mp_ptr, n_size: mp_limb_t);
13774}
13775extern "C" {
13776 pub fn fmpz_factor_ecm_double(
13777 x: mp_ptr,
13778 z: mp_ptr,
13779 x0: mp_ptr,
13780 z0: mp_ptr,
13781 n: mp_ptr,
13782 ecm_inf: *mut ecm_s,
13783 );
13784}
13785extern "C" {
13786 pub fn fmpz_factor_ecm_add(
13787 x: mp_ptr,
13788 z: mp_ptr,
13789 x1: mp_ptr,
13790 z1: mp_ptr,
13791 x2: mp_ptr,
13792 z2: mp_ptr,
13793 x0: mp_ptr,
13794 z0: mp_ptr,
13795 n: mp_ptr,
13796 ecm_inf: *mut ecm_s,
13797 );
13798}
13799extern "C" {
13800 pub fn fmpz_factor_ecm_mul_montgomery_ladder(
13801 x: mp_ptr,
13802 z: mp_ptr,
13803 x0: mp_ptr,
13804 z0: mp_ptr,
13805 k: mp_limb_t,
13806 n: mp_ptr,
13807 ecm_inf: *mut ecm_s,
13808 );
13809}
13810extern "C" {
13811 pub fn fmpz_factor_ecm_select_curve(
13812 f: mp_ptr,
13813 sig: mp_ptr,
13814 n: mp_ptr,
13815 ecm_inf: *mut ecm_s,
13816 ) -> ::std::os::raw::c_int;
13817}
13818extern "C" {
13819 pub fn fmpz_factor_ecm_stage_I(
13820 f: mp_ptr,
13821 prime_array: *const mp_limb_t,
13822 num: mp_limb_t,
13823 B1: mp_limb_t,
13824 n: mp_ptr,
13825 ecm_inf: *mut ecm_s,
13826 ) -> ::std::os::raw::c_int;
13827}
13828extern "C" {
13829 pub fn fmpz_factor_ecm_stage_II(
13830 f: mp_ptr,
13831 B1: mp_limb_t,
13832 B2: mp_limb_t,
13833 P: mp_limb_t,
13834 n: mp_ptr,
13835 ecm_inf: *mut ecm_s,
13836 ) -> ::std::os::raw::c_int;
13837}
13838extern "C" {
13839 pub fn fmpz_factor_ecm(
13840 f: *mut fmpz,
13841 curves: mp_limb_t,
13842 B1: mp_limb_t,
13843 B2: mp_limb_t,
13844 state: *mut flint_rand_s,
13845 n_in: *mut fmpz,
13846 ) -> ::std::os::raw::c_int;
13847}
13848extern "C" {
13849 pub fn fmpz_factor_get_fmpz(z: *mut fmpz, factor: *mut fmpz_factor_struct, i: mp_limb_signed_t);
13850}
13851pub type mpf = __mpf_struct;
13852extern "C" {
13853 pub fn _mpf_vec_init(len: mp_limb_signed_t, prec: mp_limb_t) -> *mut mpf;
13854}
13855extern "C" {
13856 pub fn _mpf_vec_clear(vec: *mut mpf, len: mp_limb_signed_t);
13857}
13858extern "C" {
13859 pub fn _mpf_vec_randtest(
13860 f: *mut mpf,
13861 state: *mut flint_rand_s,
13862 len: mp_limb_signed_t,
13863 bits: mp_limb_t,
13864 );
13865}
13866extern "C" {
13867 pub fn _mpf_vec_zero(vec: *mut mpf, len: mp_limb_signed_t);
13868}
13869extern "C" {
13870 pub fn _mpf_vec_set(vec1: *mut mpf, vec2: *const mpf, len2: mp_limb_signed_t);
13871}
13872extern "C" {
13873 pub fn _mpf_vec_equal(
13874 vec1: *const mpf,
13875 vec2: *const mpf,
13876 len: mp_limb_signed_t,
13877 ) -> ::std::os::raw::c_int;
13878}
13879extern "C" {
13880 pub fn _mpf_vec_approx_equal(
13881 vec1: *const mpf,
13882 vec2: *const mpf,
13883 len: mp_limb_signed_t,
13884 bits: mp_limb_t,
13885 ) -> ::std::os::raw::c_int;
13886}
13887extern "C" {
13888 pub fn _mpf_vec_is_zero(vec: *const mpf, len: mp_limb_signed_t) -> ::std::os::raw::c_int;
13889}
13890extern "C" {
13891 pub fn _mpf_vec_add(res: *mut mpf, vec1: *const mpf, vec2: *const mpf, len2: mp_limb_signed_t);
13892}
13893extern "C" {
13894 pub fn _mpf_vec_sub(res: *mut mpf, vec1: *const mpf, vec2: *const mpf, len2: mp_limb_signed_t);
13895}
13896extern "C" {
13897 pub fn _mpf_vec_scalar_mul_2exp(
13898 res: *mut mpf,
13899 vec: *const mpf,
13900 len: mp_limb_signed_t,
13901 exp: mp_limb_t,
13902 );
13903}
13904extern "C" {
13905 pub fn _mpf_vec_scalar_mul_mpf(
13906 res: *mut mpf,
13907 vec: *const mpf,
13908 len: mp_limb_signed_t,
13909 c: *mut __mpf_struct,
13910 );
13911}
13912extern "C" {
13913 pub fn _mpf_vec_dot(
13914 res: *mut __mpf_struct,
13915 vec1: *const mpf,
13916 vec2: *const mpf,
13917 len2: mp_limb_signed_t,
13918 );
13919}
13920extern "C" {
13921 pub fn _mpf_vec_norm(res: *mut __mpf_struct, vec: *const mpf, len: mp_limb_signed_t);
13922}
13923extern "C" {
13924 pub fn _mpf_vec_dot2(
13925 res: *mut __mpf_struct,
13926 vec1: *const mpf,
13927 vec2: *const mpf,
13928 len2: mp_limb_signed_t,
13929 prec: mp_limb_t,
13930 ) -> ::std::os::raw::c_int;
13931}
13932extern "C" {
13933 pub fn _mpf_vec_norm2(
13934 res: *mut __mpf_struct,
13935 vec: *const mpf,
13936 len: mp_limb_signed_t,
13937 prec: mp_limb_t,
13938 );
13939}
13940extern "C" {
13941 pub fn _fmpz_vec_init(len: mp_limb_signed_t) -> *mut fmpz;
13942}
13943extern "C" {
13944 pub fn _fmpz_vec_clear(vec: *mut fmpz, len: mp_limb_signed_t);
13945}
13946extern "C" {
13947 pub fn _fmpz_vec_randtest(
13948 f: *mut fmpz,
13949 state: *mut flint_rand_s,
13950 len: mp_limb_signed_t,
13951 bits: mp_limb_t,
13952 );
13953}
13954extern "C" {
13955 pub fn _fmpz_vec_randtest_unsigned(
13956 f: *mut fmpz,
13957 state: *mut flint_rand_s,
13958 len: mp_limb_signed_t,
13959 bits: mp_limb_t,
13960 );
13961}
13962extern "C" {
13963 pub fn _fmpz_vec_max_bits(vec: *const fmpz, len: mp_limb_signed_t) -> mp_limb_signed_t;
13964}
13965extern "C" {
13966 pub fn _fmpz_vec_max_bits_ref(vec: *const fmpz, len: mp_limb_signed_t) -> mp_limb_signed_t;
13967}
13968extern "C" {
13969 pub fn _fmpz_vec_sum_max_bits(
13970 sumabs: *mut mp_limb_signed_t,
13971 maxabs: *mut mp_limb_signed_t,
13972 coeffs: *const fmpz,
13973 length: mp_limb_signed_t,
13974 );
13975}
13976extern "C" {
13977 pub fn _fmpz_vec_max_limbs(vec: *const fmpz, len: mp_limb_signed_t) -> mp_size_t;
13978}
13979extern "C" {
13980 pub fn _fmpz_vec_height(height: *mut fmpz, vec: *const fmpz, len: mp_limb_signed_t);
13981}
13982extern "C" {
13983 pub fn _fmpz_vec_height_index(vec: *const fmpz, len: mp_limb_signed_t) -> mp_limb_signed_t;
13984}
13985extern "C" {
13986 pub fn _fmpz_vec_fprint(
13987 file: *mut FILE,
13988 vec: *const fmpz,
13989 len: mp_limb_signed_t,
13990 ) -> ::std::os::raw::c_int;
13991}
13992extern "C" {
13993 pub fn _fmpz_vec_fread(
13994 file: *mut FILE,
13995 vec: *mut *mut fmpz,
13996 len: *mut mp_limb_signed_t,
13997 ) -> ::std::os::raw::c_int;
13998}
13999extern "C" {
14000 pub fn _fmpz_vec_set_nmod_vec(
14001 res: *mut fmpz,
14002 poly: mp_srcptr,
14003 len: mp_limb_signed_t,
14004 mod_: nmod_t,
14005 );
14006}
14007extern "C" {
14008 pub fn _fmpz_vec_get_nmod_vec(
14009 res: mp_ptr,
14010 poly: *const fmpz,
14011 len: mp_limb_signed_t,
14012 mod_: nmod_t,
14013 );
14014}
14015extern "C" {
14016 pub fn _fmpz_vec_get_fft(
14017 coeffs_f: *mut *mut mp_limb_t,
14018 coeffs_m: *const fmpz,
14019 l: mp_limb_signed_t,
14020 length: mp_limb_signed_t,
14021 ) -> mp_limb_signed_t;
14022}
14023extern "C" {
14024 pub fn _fmpz_vec_set_fft(
14025 coeffs_m: *mut fmpz,
14026 length: mp_limb_signed_t,
14027 coeffs_f: *const mp_ptr,
14028 limbs: mp_limb_signed_t,
14029 sign: mp_limb_signed_t,
14030 );
14031}
14032extern "C" {
14033 pub fn _fmpz_vec_get_d_vec_2exp(
14034 appv: *mut f64,
14035 vec: *const fmpz,
14036 len: mp_limb_signed_t,
14037 ) -> mp_limb_signed_t;
14038}
14039extern "C" {
14040 pub fn _fmpz_vec_get_mpf_vec(appv: *mut mpf, vec: *const fmpz, len: mp_limb_signed_t);
14041}
14042extern "C" {
14043 pub fn _fmpz_vec_set(vec1: *mut fmpz, vec2: *const fmpz, len2: mp_limb_signed_t);
14044}
14045extern "C" {
14046 pub fn _fmpz_vec_swap(vec1: *mut fmpz, vec2: *mut fmpz, len2: mp_limb_signed_t);
14047}
14048extern "C" {
14049 pub fn _fmpz_vec_zero(vec: *mut fmpz, len: mp_limb_signed_t);
14050}
14051extern "C" {
14052 pub fn _fmpz_vec_neg(vec1: *mut fmpz, vec2: *const fmpz, len2: mp_limb_signed_t);
14053}
14054extern "C" {
14055 pub fn _fmpz_vec_scalar_abs(vec1: *mut fmpz, vec2: *const fmpz, len2: mp_limb_signed_t);
14056}
14057extern "C" {
14058 pub fn _fmpz_vec_equal(
14059 vec1: *const fmpz,
14060 vec2: *const fmpz,
14061 len: mp_limb_signed_t,
14062 ) -> ::std::os::raw::c_int;
14063}
14064extern "C" {
14065 pub fn _fmpz_vec_is_zero(vec: *const fmpz, len: mp_limb_signed_t) -> ::std::os::raw::c_int;
14066}
14067extern "C" {
14068 pub fn _fmpz_vec_max(
14069 vec1: *mut fmpz,
14070 vec2: *const fmpz,
14071 vec3: *const fmpz,
14072 len: mp_limb_signed_t,
14073 );
14074}
14075extern "C" {
14076 pub fn _fmpz_vec_max_inplace(vec1: *mut fmpz, vec2: *const fmpz, len: mp_limb_signed_t);
14077}
14078extern "C" {
14079 pub fn _fmpz_vec_min(
14080 vec1: *mut fmpz,
14081 vec2: *const fmpz,
14082 vec3: *const fmpz,
14083 len: mp_limb_signed_t,
14084 );
14085}
14086extern "C" {
14087 pub fn _fmpz_vec_min_inplace(vec1: *mut fmpz, vec2: *const fmpz, len: mp_limb_signed_t);
14088}
14089extern "C" {
14090 pub fn _fmpz_vec_sort(vec: *mut fmpz, len: mp_limb_signed_t);
14091}
14092extern "C" {
14093 pub fn _fmpz_vec_add(
14094 res: *mut fmpz,
14095 vec1: *const fmpz,
14096 vec2: *const fmpz,
14097 len2: mp_limb_signed_t,
14098 );
14099}
14100extern "C" {
14101 pub fn _fmpz_vec_sub(
14102 res: *mut fmpz,
14103 vec1: *const fmpz,
14104 vec2: *const fmpz,
14105 len2: mp_limb_signed_t,
14106 );
14107}
14108extern "C" {
14109 pub fn _fmpz_vec_scalar_mul_si(
14110 vec1: *mut fmpz,
14111 vec2: *const fmpz,
14112 len2: mp_limb_signed_t,
14113 c: mp_limb_signed_t,
14114 );
14115}
14116extern "C" {
14117 pub fn _fmpz_vec_scalar_mul_ui(
14118 vec1: *mut fmpz,
14119 vec2: *const fmpz,
14120 len2: mp_limb_signed_t,
14121 c: mp_limb_t,
14122 );
14123}
14124extern "C" {
14125 pub fn _fmpz_vec_scalar_mul_fmpz(
14126 vec1: *mut fmpz,
14127 vec2: *const fmpz,
14128 len2: mp_limb_signed_t,
14129 x: *mut fmpz,
14130 );
14131}
14132extern "C" {
14133 pub fn _fmpz_vec_scalar_mul_2exp(
14134 vec1: *mut fmpz,
14135 vec2: *const fmpz,
14136 len2: mp_limb_signed_t,
14137 exp: mp_limb_t,
14138 );
14139}
14140extern "C" {
14141 pub fn _fmpz_vec_scalar_divexact_fmpz(
14142 vec1: *mut fmpz,
14143 vec2: *const fmpz,
14144 len2: mp_limb_signed_t,
14145 x: *mut fmpz,
14146 );
14147}
14148extern "C" {
14149 pub fn _fmpz_vec_scalar_divexact_si(
14150 vec1: *mut fmpz,
14151 vec2: *const fmpz,
14152 len2: mp_limb_signed_t,
14153 c: mp_limb_signed_t,
14154 );
14155}
14156extern "C" {
14157 pub fn _fmpz_vec_scalar_divexact_ui(
14158 vec1: *mut fmpz,
14159 vec2: *const fmpz,
14160 len2: mp_limb_signed_t,
14161 c: mp_limb_t,
14162 );
14163}
14164extern "C" {
14165 pub fn _fmpz_vec_scalar_fdiv_q_fmpz(
14166 vec1: *mut fmpz,
14167 vec2: *const fmpz,
14168 len2: mp_limb_signed_t,
14169 c: *mut fmpz,
14170 );
14171}
14172extern "C" {
14173 pub fn _fmpz_vec_scalar_fdiv_q_si(
14174 vec1: *mut fmpz,
14175 vec2: *const fmpz,
14176 len2: mp_limb_signed_t,
14177 c: mp_limb_signed_t,
14178 );
14179}
14180extern "C" {
14181 pub fn _fmpz_vec_scalar_fdiv_q_ui(
14182 vec1: *mut fmpz,
14183 vec2: *const fmpz,
14184 len2: mp_limb_signed_t,
14185 c: mp_limb_t,
14186 );
14187}
14188extern "C" {
14189 pub fn _fmpz_vec_scalar_fdiv_q_2exp(
14190 vec1: *mut fmpz,
14191 vec2: *const fmpz,
14192 len2: mp_limb_signed_t,
14193 exp: mp_limb_t,
14194 );
14195}
14196extern "C" {
14197 pub fn _fmpz_vec_scalar_fdiv_r_2exp(
14198 vec1: *mut fmpz,
14199 vec2: *const fmpz,
14200 len2: mp_limb_signed_t,
14201 exp: mp_limb_t,
14202 );
14203}
14204extern "C" {
14205 pub fn _fmpz_vec_scalar_tdiv_q_fmpz(
14206 vec1: *mut fmpz,
14207 vec2: *const fmpz,
14208 len2: mp_limb_signed_t,
14209 c: *mut fmpz,
14210 );
14211}
14212extern "C" {
14213 pub fn _fmpz_vec_scalar_tdiv_q_si(
14214 vec1: *mut fmpz,
14215 vec2: *const fmpz,
14216 len2: mp_limb_signed_t,
14217 c: mp_limb_signed_t,
14218 );
14219}
14220extern "C" {
14221 pub fn _fmpz_vec_scalar_tdiv_q_ui(
14222 vec1: *mut fmpz,
14223 vec2: *const fmpz,
14224 len2: mp_limb_signed_t,
14225 c: mp_limb_t,
14226 );
14227}
14228extern "C" {
14229 pub fn _fmpz_vec_scalar_tdiv_q_2exp(
14230 vec1: *mut fmpz,
14231 vec2: *const fmpz,
14232 len2: mp_limb_signed_t,
14233 exp: mp_limb_t,
14234 );
14235}
14236extern "C" {
14237 pub fn _fmpz_vec_scalar_addmul_si(
14238 vec1: *mut fmpz,
14239 vec2: *const fmpz,
14240 len2: mp_limb_signed_t,
14241 c: mp_limb_signed_t,
14242 );
14243}
14244extern "C" {
14245 pub fn _fmpz_vec_scalar_addmul_fmpz(
14246 poly1: *mut fmpz,
14247 poly2: *const fmpz,
14248 len2: mp_limb_signed_t,
14249 x: *mut fmpz,
14250 );
14251}
14252extern "C" {
14253 pub fn _fmpz_vec_scalar_addmul_si_2exp(
14254 vec1: *mut fmpz,
14255 vec2: *const fmpz,
14256 len2: mp_limb_signed_t,
14257 c: mp_limb_signed_t,
14258 exp: mp_limb_t,
14259 );
14260}
14261extern "C" {
14262 pub fn _fmpz_vec_scalar_submul_si(
14263 vec1: *mut fmpz,
14264 vec2: *const fmpz,
14265 len2: mp_limb_signed_t,
14266 c: mp_limb_signed_t,
14267 );
14268}
14269extern "C" {
14270 pub fn _fmpz_vec_scalar_submul_fmpz(
14271 vec1: *mut fmpz,
14272 vec2: *const fmpz,
14273 len2: mp_limb_signed_t,
14274 x: *mut fmpz,
14275 );
14276}
14277extern "C" {
14278 pub fn _fmpz_vec_scalar_submul_si_2exp(
14279 vec1: *mut fmpz,
14280 vec2: *const fmpz,
14281 len2: mp_limb_signed_t,
14282 c: mp_limb_signed_t,
14283 exp: mp_limb_t,
14284 );
14285}
14286extern "C" {
14287 pub fn _fmpz_vec_sum(res: *mut fmpz, vec: *const fmpz, len: mp_limb_signed_t);
14288}
14289extern "C" {
14290 pub fn _fmpz_vec_prod(res: *mut fmpz, vec: *const fmpz, len: mp_limb_signed_t);
14291}
14292extern "C" {
14293 pub fn _fmpz_vec_scalar_mod_fmpz(
14294 res: *mut fmpz,
14295 vec: *const fmpz,
14296 len: mp_limb_signed_t,
14297 p: *mut fmpz,
14298 );
14299}
14300extern "C" {
14301 pub fn _fmpz_vec_scalar_smod_fmpz(
14302 res: *mut fmpz,
14303 vec: *const fmpz,
14304 len: mp_limb_signed_t,
14305 p: *mut fmpz,
14306 );
14307}
14308extern "C" {
14309 pub fn _fmpz_vec_content(res: *mut fmpz, vec: *const fmpz, len: mp_limb_signed_t);
14310}
14311extern "C" {
14312 pub fn _fmpz_vec_lcm(res: *mut fmpz, vec: *const fmpz, len: mp_limb_signed_t);
14313}
14314extern "C" {
14315 pub fn _fmpz_vec_dot(
14316 res: *mut fmpz,
14317 vec1: *const fmpz,
14318 vec2: *const fmpz,
14319 len2: mp_limb_signed_t,
14320 );
14321}
14322extern "C" {
14323 pub fn _fmpz_vec_dot_ptr(
14324 c: *mut fmpz,
14325 vec1: *const fmpz,
14326 vec2: *mut *mut fmpz,
14327 offset: mp_limb_signed_t,
14328 len: mp_limb_signed_t,
14329 );
14330}
14331#[repr(C)]
14332#[derive(Debug, Copy, Clone)]
14333pub struct fmpq {
14334 pub num: fmpz,
14335 pub den: fmpz,
14336}
14337#[test]
14338fn bindgen_test_layout_fmpq() {
14339 assert_eq!(
14340 ::std::mem::size_of::<fmpq>(),
14341 16usize,
14342 concat!("Size of: ", stringify!(fmpq))
14343 );
14344 assert_eq!(
14345 ::std::mem::align_of::<fmpq>(),
14346 8usize,
14347 concat!("Alignment of ", stringify!(fmpq))
14348 );
14349 assert_eq!(
14350 unsafe { &(*(::std::ptr::null::<fmpq>())).num as *const _ as usize },
14351 0usize,
14352 concat!("Offset of field: ", stringify!(fmpq), "::", stringify!(num))
14353 );
14354 assert_eq!(
14355 unsafe { &(*(::std::ptr::null::<fmpq>())).den as *const _ as usize },
14356 8usize,
14357 concat!("Offset of field: ", stringify!(fmpq), "::", stringify!(den))
14358 );
14359}
14360pub type fmpq_t = [fmpq; 1usize];
14361extern "C" {
14362 pub fn fmpq_init(x: *mut fmpq);
14363}
14364extern "C" {
14365 pub fn fmpq_clear(x: *mut fmpq);
14366}
14367extern "C" {
14368 pub fn fmpq_zero(res: *mut fmpq);
14369}
14370extern "C" {
14371 pub fn fmpq_one(res: *mut fmpq);
14372}
14373extern "C" {
14374 pub fn fmpq_equal(x: *mut fmpq, y: *mut fmpq) -> ::std::os::raw::c_int;
14375}
14376extern "C" {
14377 pub fn fmpq_sgn(x: *mut fmpq) -> ::std::os::raw::c_int;
14378}
14379extern "C" {
14380 pub fn fmpq_is_zero(x: *mut fmpq) -> ::std::os::raw::c_int;
14381}
14382extern "C" {
14383 pub fn fmpq_is_one(x: *mut fmpq) -> ::std::os::raw::c_int;
14384}
14385extern "C" {
14386 pub fn fmpq_is_pm1(x: *mut fmpq) -> ::std::os::raw::c_int;
14387}
14388extern "C" {
14389 pub fn fmpq_set(dest: *mut fmpq, src: *mut fmpq);
14390}
14391extern "C" {
14392 pub fn fmpq_swap(op1: *mut fmpq, op2: *mut fmpq);
14393}
14394extern "C" {
14395 pub fn fmpq_neg(dest: *mut fmpq, src: *mut fmpq);
14396}
14397extern "C" {
14398 pub fn fmpq_abs(dest: *mut fmpq, src: *mut fmpq);
14399}
14400extern "C" {
14401 pub fn _fmpq_cmp(
14402 p: *mut fmpz,
14403 q: *mut fmpz,
14404 r: *mut fmpz,
14405 s: *mut fmpz,
14406 ) -> ::std::os::raw::c_int;
14407}
14408extern "C" {
14409 pub fn fmpq_cmp(x: *mut fmpq, y: *mut fmpq) -> ::std::os::raw::c_int;
14410}
14411extern "C" {
14412 pub fn _fmpq_cmp_fmpz(p: *mut fmpz, q: *mut fmpz, r: *mut fmpz) -> ::std::os::raw::c_int;
14413}
14414extern "C" {
14415 pub fn fmpq_cmp_fmpz(x: *mut fmpq, y: *mut fmpz) -> ::std::os::raw::c_int;
14416}
14417extern "C" {
14418 pub fn _fmpq_cmp_ui(p: *mut fmpz, q: *mut fmpz, c: mp_limb_t) -> ::std::os::raw::c_int;
14419}
14420extern "C" {
14421 pub fn fmpq_cmp_ui(x: *mut fmpq, c: mp_limb_t) -> ::std::os::raw::c_int;
14422}
14423extern "C" {
14424 pub fn _fmpq_cmp_si(p: *mut fmpz, q: *mut fmpz, c: mp_limb_signed_t) -> ::std::os::raw::c_int;
14425}
14426extern "C" {
14427 pub fn fmpq_cmp_si(x: *mut fmpq, c: mp_limb_signed_t) -> ::std::os::raw::c_int;
14428}
14429extern "C" {
14430 pub fn _fmpq_canonicalise(num: *mut fmpz, den: *mut fmpz);
14431}
14432extern "C" {
14433 pub fn fmpq_canonicalise(res: *mut fmpq);
14434}
14435extern "C" {
14436 pub fn _fmpq_is_canonical(num: *mut fmpz, den: *mut fmpz) -> ::std::os::raw::c_int;
14437}
14438extern "C" {
14439 pub fn fmpq_is_canonical(x: *mut fmpq) -> ::std::os::raw::c_int;
14440}
14441extern "C" {
14442 pub fn _fmpq_set_ui(rnum: *mut fmpz, rden: *mut fmpz, p: mp_limb_t, q: mp_limb_t);
14443}
14444extern "C" {
14445 pub fn fmpq_set_ui(res: *mut fmpq, p: mp_limb_t, q: mp_limb_t);
14446}
14447extern "C" {
14448 pub fn _fmpq_set_si(rnum: *mut fmpz, rden: *mut fmpz, p: mp_limb_signed_t, q: mp_limb_t);
14449}
14450extern "C" {
14451 pub fn fmpq_set_si(res: *mut fmpq, p: mp_limb_signed_t, q: mp_limb_t);
14452}
14453extern "C" {
14454 pub fn fmpq_equal_ui(q: *mut fmpq, n: mp_limb_signed_t) -> ::std::os::raw::c_int;
14455}
14456extern "C" {
14457 pub fn fmpq_equal_si(q: *mut fmpq, n: mp_limb_signed_t) -> ::std::os::raw::c_int;
14458}
14459extern "C" {
14460 pub fn fmpq_set_fmpz_frac(res: *mut fmpq, p: *mut fmpz, q: *mut fmpz);
14461}
14462extern "C" {
14463 pub fn fmpq_set_str(
14464 res: *mut fmpq,
14465 str: *const ::std::os::raw::c_char,
14466 base: ::std::os::raw::c_int,
14467 ) -> ::std::os::raw::c_int;
14468}
14469extern "C" {
14470 pub fn fmpq_set_mpq(dest: *mut fmpq, src: *mut __mpq_struct);
14471}
14472extern "C" {
14473 pub fn fmpq_get_mpq(dest: *mut __mpq_struct, src: *mut fmpq);
14474}
14475extern "C" {
14476 pub fn fmpq_get_d(a: *mut fmpq) -> f64;
14477}
14478extern "C" {
14479 pub fn fmpq_get_mpfr(
14480 r: *mut __mpfr_struct,
14481 x: *mut fmpq,
14482 rnd: mpfr_rnd_t,
14483 ) -> ::std::os::raw::c_int;
14484}
14485extern "C" {
14486 pub fn fmpq_get_mpz_frac(a: *mut __mpz_struct, b: *mut __mpz_struct, c: *mut fmpq);
14487}
14488extern "C" {
14489 pub fn flint_mpq_init_set_readonly(z: *mut __mpq_struct, f: *mut fmpq);
14490}
14491extern "C" {
14492 pub fn flint_mpq_clear_readonly(z: *mut __mpq_struct);
14493}
14494extern "C" {
14495 pub fn fmpq_init_set_readonly(f: *mut fmpq, z: *mut __mpq_struct);
14496}
14497extern "C" {
14498 pub fn fmpq_clear_readonly(f: *mut fmpq);
14499}
14500extern "C" {
14501 pub fn fmpq_init_set_mpz_frac_readonly(
14502 z: *mut fmpq,
14503 num: *mut __mpz_struct,
14504 den: *mut __mpz_struct,
14505 );
14506}
14507extern "C" {
14508 pub fn _fmpq_get_str(
14509 str: *mut ::std::os::raw::c_char,
14510 b: ::std::os::raw::c_int,
14511 num: *mut fmpz,
14512 den: *mut fmpz,
14513 ) -> *mut ::std::os::raw::c_char;
14514}
14515extern "C" {
14516 pub fn fmpq_get_str(
14517 str: *mut ::std::os::raw::c_char,
14518 b: ::std::os::raw::c_int,
14519 x: *mut fmpq,
14520 ) -> *mut ::std::os::raw::c_char;
14521}
14522extern "C" {
14523 pub fn _fmpq_fprint(file: *mut FILE, num: *mut fmpz, den: *mut fmpz) -> ::std::os::raw::c_int;
14524}
14525extern "C" {
14526 pub fn fmpq_fprint(file: *mut FILE, x: *mut fmpq) -> ::std::os::raw::c_int;
14527}
14528extern "C" {
14529 pub fn _fmpq_print(num: *mut fmpz, den: *mut fmpz) -> ::std::os::raw::c_int;
14530}
14531extern "C" {
14532 pub fn fmpq_print(x: *mut fmpq) -> ::std::os::raw::c_int;
14533}
14534extern "C" {
14535 pub fn _fmpq_randtest(
14536 num: *mut fmpz,
14537 den: *mut fmpz,
14538 state: *mut flint_rand_s,
14539 bits: mp_limb_t,
14540 );
14541}
14542extern "C" {
14543 pub fn fmpq_randtest(res: *mut fmpq, state: *mut flint_rand_s, bits: mp_limb_t);
14544}
14545extern "C" {
14546 pub fn fmpq_randtest_not_zero(res: *mut fmpq, state: *mut flint_rand_s, bits: mp_limb_t);
14547}
14548extern "C" {
14549 pub fn _fmpq_randbits(
14550 num: *mut fmpz,
14551 den: *mut fmpz,
14552 state: *mut flint_rand_s,
14553 bits: mp_limb_t,
14554 );
14555}
14556extern "C" {
14557 pub fn fmpq_randbits(res: *mut fmpq, state: *mut flint_rand_s, bits: mp_limb_t);
14558}
14559extern "C" {
14560 pub fn _fmpq_add_small(
14561 rnum: *mut fmpz,
14562 rden: *mut fmpz,
14563 p1: mp_limb_signed_t,
14564 q1: mp_limb_t,
14565 p2: mp_limb_signed_t,
14566 q2: mp_limb_t,
14567 );
14568}
14569extern "C" {
14570 pub fn _fmpq_mul_small(
14571 rnum: *mut fmpz,
14572 rden: *mut fmpz,
14573 p1: mp_limb_signed_t,
14574 q1: mp_limb_t,
14575 p2: mp_limb_signed_t,
14576 q2: mp_limb_t,
14577 );
14578}
14579extern "C" {
14580 pub fn _fmpq_add(
14581 rnum: *mut fmpz,
14582 rden: *mut fmpz,
14583 op1num: *mut fmpz,
14584 op1den: *mut fmpz,
14585 op2num: *mut fmpz,
14586 op2den: *mut fmpz,
14587 );
14588}
14589extern "C" {
14590 pub fn fmpq_add(res: *mut fmpq, op1: *mut fmpq, op2: *mut fmpq);
14591}
14592extern "C" {
14593 pub fn _fmpq_add_si(
14594 rnum: *mut fmpz,
14595 rden: *mut fmpz,
14596 p: *mut fmpz,
14597 q: *mut fmpz,
14598 r: mp_limb_signed_t,
14599 );
14600}
14601extern "C" {
14602 pub fn fmpq_add_si(res: *mut fmpq, op1: *mut fmpq, c: mp_limb_signed_t);
14603}
14604extern "C" {
14605 pub fn _fmpq_add_ui(rnum: *mut fmpz, rden: *mut fmpz, p: *mut fmpz, q: *mut fmpz, r: mp_limb_t);
14606}
14607extern "C" {
14608 pub fn fmpq_add_ui(res: *mut fmpq, op1: *mut fmpq, c: mp_limb_t);
14609}
14610extern "C" {
14611 pub fn _fmpq_add_fmpz(
14612 rnum: *mut fmpz,
14613 rden: *mut fmpz,
14614 p: *mut fmpz,
14615 q: *mut fmpz,
14616 r: *mut fmpz,
14617 );
14618}
14619extern "C" {
14620 pub fn fmpq_add_fmpz(res: *mut fmpq, op1: *mut fmpq, c: *mut fmpz);
14621}
14622extern "C" {
14623 pub fn _fmpq_sub(
14624 rnum: *mut fmpz,
14625 rden: *mut fmpz,
14626 op1num: *mut fmpz,
14627 op1den: *mut fmpz,
14628 op2num: *mut fmpz,
14629 op2den: *mut fmpz,
14630 );
14631}
14632extern "C" {
14633 pub fn fmpq_sub(res: *mut fmpq, op1: *mut fmpq, op2: *mut fmpq);
14634}
14635extern "C" {
14636 pub fn _fmpq_sub_si(
14637 rnum: *mut fmpz,
14638 rden: *mut fmpz,
14639 p: *mut fmpz,
14640 q: *mut fmpz,
14641 r: mp_limb_signed_t,
14642 );
14643}
14644extern "C" {
14645 pub fn fmpq_sub_si(res: *mut fmpq, op1: *mut fmpq, c: mp_limb_signed_t);
14646}
14647extern "C" {
14648 pub fn _fmpq_sub_ui(rnum: *mut fmpz, rden: *mut fmpz, p: *mut fmpz, q: *mut fmpz, r: mp_limb_t);
14649}
14650extern "C" {
14651 pub fn fmpq_sub_ui(res: *mut fmpq, op1: *mut fmpq, c: mp_limb_t);
14652}
14653extern "C" {
14654 pub fn _fmpq_sub_fmpz(
14655 rnum: *mut fmpz,
14656 rden: *mut fmpz,
14657 p: *mut fmpz,
14658 q: *mut fmpz,
14659 r: *mut fmpz,
14660 );
14661}
14662extern "C" {
14663 pub fn fmpq_sub_fmpz(res: *mut fmpq, op1: *mut fmpq, c: *mut fmpz);
14664}
14665extern "C" {
14666 pub fn _fmpq_mul_si(
14667 rnum: *mut fmpz,
14668 rden: *mut fmpz,
14669 p: *mut fmpz,
14670 q: *mut fmpz,
14671 r: mp_limb_signed_t,
14672 );
14673}
14674extern "C" {
14675 pub fn fmpq_mul_si(res: *mut fmpq, op1: *mut fmpq, c: mp_limb_signed_t);
14676}
14677extern "C" {
14678 pub fn _fmpq_mul_ui(rnum: *mut fmpz, rden: *mut fmpz, p: *mut fmpz, q: *mut fmpz, r: mp_limb_t);
14679}
14680extern "C" {
14681 pub fn fmpq_mul_ui(res: *mut fmpq, op1: *mut fmpq, c: mp_limb_t);
14682}
14683extern "C" {
14684 pub fn _fmpq_mul(
14685 rnum: *mut fmpz,
14686 rden: *mut fmpz,
14687 op1num: *mut fmpz,
14688 op1den: *mut fmpz,
14689 op2num: *mut fmpz,
14690 op2den: *mut fmpz,
14691 );
14692}
14693extern "C" {
14694 pub fn fmpq_mul(res: *mut fmpq, op1: *mut fmpq, op2: *mut fmpq);
14695}
14696extern "C" {
14697 pub fn fmpq_mul_fmpz(res: *mut fmpq, op: *mut fmpq, x: *mut fmpz);
14698}
14699extern "C" {
14700 pub fn _fmpq_pow_si(
14701 rnum: *mut fmpz,
14702 rden: *mut fmpz,
14703 opnum: *mut fmpz,
14704 opden: *mut fmpz,
14705 e: mp_limb_signed_t,
14706 );
14707}
14708extern "C" {
14709 pub fn fmpq_pow_si(rop: *mut fmpq, op: *mut fmpq, e: mp_limb_signed_t);
14710}
14711extern "C" {
14712 pub fn fmpq_pow_fmpz(a: *mut fmpq, b: *mut fmpq, e: *mut fmpz) -> ::std::os::raw::c_int;
14713}
14714extern "C" {
14715 pub fn _fmpq_addmul(
14716 rnum: *mut fmpz,
14717 rden: *mut fmpz,
14718 op1num: *mut fmpz,
14719 op1den: *mut fmpz,
14720 op2num: *mut fmpz,
14721 op2den: *mut fmpz,
14722 );
14723}
14724extern "C" {
14725 pub fn fmpq_addmul(res: *mut fmpq, op1: *mut fmpq, op2: *mut fmpq);
14726}
14727extern "C" {
14728 pub fn _fmpq_submul(
14729 rnum: *mut fmpz,
14730 rden: *mut fmpz,
14731 op1num: *mut fmpz,
14732 op1den: *mut fmpz,
14733 op2num: *mut fmpz,
14734 op2den: *mut fmpz,
14735 );
14736}
14737extern "C" {
14738 pub fn fmpq_submul(res: *mut fmpq, op1: *mut fmpq, op2: *mut fmpq);
14739}
14740extern "C" {
14741 pub fn fmpq_inv(dest: *mut fmpq, src: *mut fmpq);
14742}
14743extern "C" {
14744 pub fn _fmpq_div(
14745 rnum: *mut fmpz,
14746 rden: *mut fmpz,
14747 op1num: *mut fmpz,
14748 op1den: *mut fmpz,
14749 op2num: *mut fmpz,
14750 op2den: *mut fmpz,
14751 );
14752}
14753extern "C" {
14754 pub fn fmpq_div(res: *mut fmpq, op1: *mut fmpq, op2: *mut fmpq);
14755}
14756extern "C" {
14757 pub fn fmpq_div_fmpz(res: *mut fmpq, op: *mut fmpq, x: *mut fmpz);
14758}
14759extern "C" {
14760 pub fn fmpq_mul_2exp(res: *mut fmpq, x: *mut fmpq, exp: mp_limb_t);
14761}
14762extern "C" {
14763 pub fn fmpq_div_2exp(res: *mut fmpq, x: *mut fmpq, exp: mp_limb_t);
14764}
14765extern "C" {
14766 pub fn _fmpq_mod_fmpz(
14767 res: *mut fmpz,
14768 num: *mut fmpz,
14769 den: *mut fmpz,
14770 mod_: *mut fmpz,
14771 ) -> ::std::os::raw::c_int;
14772}
14773extern "C" {
14774 pub fn fmpq_mod_fmpz(res: *mut fmpz, x: *mut fmpq, mod_: *mut fmpz) -> ::std::os::raw::c_int;
14775}
14776extern "C" {
14777 pub fn _fmpq_gcd(
14778 rnum: *mut fmpz,
14779 rden: *mut fmpz,
14780 p: *mut fmpz,
14781 q: *mut fmpz,
14782 r: *mut fmpz,
14783 s: *mut fmpz,
14784 );
14785}
14786extern "C" {
14787 pub fn fmpq_gcd(res: *mut fmpq, op1: *mut fmpq, op2: *mut fmpq);
14788}
14789extern "C" {
14790 pub fn _fmpq_reconstruct_fmpz(
14791 num: *mut fmpz,
14792 den: *mut fmpz,
14793 a: *mut fmpz,
14794 m: *mut fmpz,
14795 ) -> ::std::os::raw::c_int;
14796}
14797extern "C" {
14798 pub fn fmpq_reconstruct_fmpz(
14799 res: *mut fmpq,
14800 a: *mut fmpz,
14801 m: *mut fmpz,
14802 ) -> ::std::os::raw::c_int;
14803}
14804extern "C" {
14805 pub fn _fmpq_reconstruct_fmpz_2_naive(
14806 n: *mut fmpz,
14807 d: *mut fmpz,
14808 a: *mut fmpz,
14809 m: *mut fmpz,
14810 N: *mut fmpz,
14811 D: *mut fmpz,
14812 ) -> ::std::os::raw::c_int;
14813}
14814extern "C" {
14815 pub fn _fmpq_reconstruct_fmpz_2(
14816 n: *mut fmpz,
14817 d: *mut fmpz,
14818 a: *mut fmpz,
14819 m: *mut fmpz,
14820 N: *mut fmpz,
14821 D: *mut fmpz,
14822 ) -> ::std::os::raw::c_int;
14823}
14824extern "C" {
14825 pub fn fmpq_reconstruct_fmpz_2(
14826 res: *mut fmpq,
14827 a: *mut fmpz,
14828 m: *mut fmpz,
14829 N: *mut fmpz,
14830 D: *mut fmpz,
14831 ) -> ::std::os::raw::c_int;
14832}
14833extern "C" {
14834 pub fn fmpq_height_bits(x: *mut fmpq) -> mp_limb_t;
14835}
14836extern "C" {
14837 pub fn fmpq_height(height: *mut fmpz, x: *mut fmpq);
14838}
14839extern "C" {
14840 pub fn _fmpq_next_calkin_wilf(rnum: *mut fmpz, rden: *mut fmpz, num: *mut fmpz, den: *mut fmpz);
14841}
14842extern "C" {
14843 pub fn fmpq_next_calkin_wilf(res: *mut fmpq, x: *mut fmpq);
14844}
14845extern "C" {
14846 pub fn _fmpq_next_signed_calkin_wilf(
14847 rnum: *mut fmpz,
14848 rden: *mut fmpz,
14849 num: *mut fmpz,
14850 den: *mut fmpz,
14851 );
14852}
14853extern "C" {
14854 pub fn fmpq_next_signed_calkin_wilf(res: *mut fmpq, x: *mut fmpq);
14855}
14856extern "C" {
14857 pub fn _fmpq_next_minimal(rnum: *mut fmpz, rden: *mut fmpz, num: *mut fmpz, den: *mut fmpz);
14858}
14859extern "C" {
14860 pub fn fmpq_next_minimal(res: *mut fmpq, x: *mut fmpq);
14861}
14862extern "C" {
14863 pub fn _fmpq_next_signed_minimal(
14864 rnum: *mut fmpz,
14865 rden: *mut fmpz,
14866 num: *mut fmpz,
14867 den: *mut fmpz,
14868 );
14869}
14870extern "C" {
14871 pub fn fmpq_next_signed_minimal(res: *mut fmpq, x: *mut fmpq);
14872}
14873extern "C" {
14874 pub fn fmpq_farey_neighbors(left: *mut fmpq, right: *mut fmpq, mid: *mut fmpq, Q: *mut fmpz);
14875}
14876extern "C" {
14877 pub fn fmpq_simplest_between(mid: *mut fmpq, l: *mut fmpq, r: *mut fmpq);
14878}
14879extern "C" {
14880 pub fn _fmpq_simplest_between(
14881 mid_num: *mut fmpz,
14882 mid_den: *mut fmpz,
14883 l_num: *mut fmpz,
14884 l_den: *mut fmpz,
14885 r_num: *mut fmpz,
14886 r_den: *mut fmpz,
14887 );
14888}
14889extern "C" {
14890 pub fn fmpq_get_cfrac_naive(
14891 c: *mut fmpz,
14892 rem: *mut fmpq,
14893 x: *mut fmpq,
14894 n: mp_limb_signed_t,
14895 ) -> mp_limb_signed_t;
14896}
14897extern "C" {
14898 pub fn fmpq_get_cfrac(
14899 c: *mut fmpz,
14900 rem: *mut fmpq,
14901 x: *mut fmpq,
14902 n: mp_limb_signed_t,
14903 ) -> mp_limb_signed_t;
14904}
14905extern "C" {
14906 pub fn fmpq_set_cfrac(x: *mut fmpq, c: *const fmpz, n: mp_limb_signed_t);
14907}
14908extern "C" {
14909 pub fn fmpq_cfrac_bound(x: *mut fmpq) -> mp_limb_signed_t;
14910}
14911extern "C" {
14912 pub fn fmpq_dedekind_sum_naive(s: *mut fmpq, h: *mut fmpz, k: *mut fmpz);
14913}
14914extern "C" {
14915 pub fn fmpq_dedekind_sum(s: *mut fmpq, h: *mut fmpz, k: *mut fmpz);
14916}
14917extern "C" {
14918 pub fn _fmpq_harmonic_ui(num: *mut fmpz, den: *mut fmpz, n: mp_limb_t);
14919}
14920extern "C" {
14921 pub fn fmpq_harmonic_ui(x: *mut fmpq, n: mp_limb_t);
14922}
14923extern "C" {
14924 pub fn _fmpq_vec_init(len: mp_limb_signed_t) -> *mut fmpq;
14925}
14926extern "C" {
14927 pub fn _fmpq_vec_clear(vec: *mut fmpq, len: mp_limb_signed_t);
14928}
14929#[doc = " 2x2 integer matrix"]
14930#[repr(C)]
14931#[derive(Debug, Copy, Clone)]
14932pub struct _fmpz_mat22_struct {
14933 pub _11: fmpz_t,
14934 pub _12: fmpz_t,
14935 pub _21: fmpz_t,
14936 pub _22: fmpz_t,
14937 pub det: ::std::os::raw::c_int,
14938}
14939#[test]
14940fn bindgen_test_layout__fmpz_mat22_struct() {
14941 assert_eq!(
14942 ::std::mem::size_of::<_fmpz_mat22_struct>(),
14943 40usize,
14944 concat!("Size of: ", stringify!(_fmpz_mat22_struct))
14945 );
14946 assert_eq!(
14947 ::std::mem::align_of::<_fmpz_mat22_struct>(),
14948 8usize,
14949 concat!("Alignment of ", stringify!(_fmpz_mat22_struct))
14950 );
14951 assert_eq!(
14952 unsafe { &(*(::std::ptr::null::<_fmpz_mat22_struct>()))._11 as *const _ as usize },
14953 0usize,
14954 concat!(
14955 "Offset of field: ",
14956 stringify!(_fmpz_mat22_struct),
14957 "::",
14958 stringify!(_11)
14959 )
14960 );
14961 assert_eq!(
14962 unsafe { &(*(::std::ptr::null::<_fmpz_mat22_struct>()))._12 as *const _ as usize },
14963 8usize,
14964 concat!(
14965 "Offset of field: ",
14966 stringify!(_fmpz_mat22_struct),
14967 "::",
14968 stringify!(_12)
14969 )
14970 );
14971 assert_eq!(
14972 unsafe { &(*(::std::ptr::null::<_fmpz_mat22_struct>()))._21 as *const _ as usize },
14973 16usize,
14974 concat!(
14975 "Offset of field: ",
14976 stringify!(_fmpz_mat22_struct),
14977 "::",
14978 stringify!(_21)
14979 )
14980 );
14981 assert_eq!(
14982 unsafe { &(*(::std::ptr::null::<_fmpz_mat22_struct>()))._22 as *const _ as usize },
14983 24usize,
14984 concat!(
14985 "Offset of field: ",
14986 stringify!(_fmpz_mat22_struct),
14987 "::",
14988 stringify!(_22)
14989 )
14990 );
14991 assert_eq!(
14992 unsafe { &(*(::std::ptr::null::<_fmpz_mat22_struct>())).det as *const _ as usize },
14993 32usize,
14994 concat!(
14995 "Offset of field: ",
14996 stringify!(_fmpz_mat22_struct),
14997 "::",
14998 stringify!(det)
14999 )
15000 );
15001}
15002pub type _fmpz_mat22_t = [_fmpz_mat22_struct; 1usize];
15003#[repr(C)]
15004#[derive(Debug, Copy, Clone)]
15005pub struct _ui_mat22_struct {
15006 pub _11: mp_limb_t,
15007 pub _12: mp_limb_t,
15008 pub _21: mp_limb_t,
15009 pub _22: mp_limb_t,
15010 pub det: ::std::os::raw::c_int,
15011}
15012#[test]
15013fn bindgen_test_layout__ui_mat22_struct() {
15014 assert_eq!(
15015 ::std::mem::size_of::<_ui_mat22_struct>(),
15016 40usize,
15017 concat!("Size of: ", stringify!(_ui_mat22_struct))
15018 );
15019 assert_eq!(
15020 ::std::mem::align_of::<_ui_mat22_struct>(),
15021 8usize,
15022 concat!("Alignment of ", stringify!(_ui_mat22_struct))
15023 );
15024 assert_eq!(
15025 unsafe { &(*(::std::ptr::null::<_ui_mat22_struct>()))._11 as *const _ as usize },
15026 0usize,
15027 concat!(
15028 "Offset of field: ",
15029 stringify!(_ui_mat22_struct),
15030 "::",
15031 stringify!(_11)
15032 )
15033 );
15034 assert_eq!(
15035 unsafe { &(*(::std::ptr::null::<_ui_mat22_struct>()))._12 as *const _ as usize },
15036 8usize,
15037 concat!(
15038 "Offset of field: ",
15039 stringify!(_ui_mat22_struct),
15040 "::",
15041 stringify!(_12)
15042 )
15043 );
15044 assert_eq!(
15045 unsafe { &(*(::std::ptr::null::<_ui_mat22_struct>()))._21 as *const _ as usize },
15046 16usize,
15047 concat!(
15048 "Offset of field: ",
15049 stringify!(_ui_mat22_struct),
15050 "::",
15051 stringify!(_21)
15052 )
15053 );
15054 assert_eq!(
15055 unsafe { &(*(::std::ptr::null::<_ui_mat22_struct>()))._22 as *const _ as usize },
15056 24usize,
15057 concat!(
15058 "Offset of field: ",
15059 stringify!(_ui_mat22_struct),
15060 "::",
15061 stringify!(_22)
15062 )
15063 );
15064 assert_eq!(
15065 unsafe { &(*(::std::ptr::null::<_ui_mat22_struct>())).det as *const _ as usize },
15066 32usize,
15067 concat!(
15068 "Offset of field: ",
15069 stringify!(_ui_mat22_struct),
15070 "::",
15071 stringify!(det)
15072 )
15073 );
15074}
15075pub type _ui_mat22_t = [_ui_mat22_struct; 1usize];
15076extern "C" {
15077 pub fn _fmpz_mat22_init(M: *mut _fmpz_mat22_struct);
15078}
15079extern "C" {
15080 pub fn _fmpz_mat22_clear(M: *mut _fmpz_mat22_struct);
15081}
15082extern "C" {
15083 pub fn _fmpz_mat22_one(M: *mut _fmpz_mat22_struct);
15084}
15085extern "C" {
15086 pub fn _fmpz_mat22_is_one(M: *mut _fmpz_mat22_struct) -> ::std::os::raw::c_int;
15087}
15088extern "C" {
15089 pub fn _fmpz_mat22_bits(N: *mut _fmpz_mat22_struct) -> mp_limb_t;
15090}
15091extern "C" {
15092 pub fn _fmpz_mat22_rmul(M: *mut _fmpz_mat22_struct, N: *mut _fmpz_mat22_struct);
15093}
15094extern "C" {
15095 pub fn _fmpz_mat22_rmul_ui(M: *mut _fmpz_mat22_struct, N: *mut _ui_mat22_struct);
15096}
15097extern "C" {
15098 pub fn _fmpz_mat22_rmul_inv_ui(M: *mut _fmpz_mat22_struct, N: *mut _ui_mat22_struct);
15099}
15100extern "C" {
15101 pub fn _fmpz_mat22_rmul_elem(M: *mut _fmpz_mat22_struct, q: *mut fmpz);
15102}
15103extern "C" {
15104 pub fn _fmpz_mat22_rmul_inv_elem(M: *mut _fmpz_mat22_struct, q: *mut fmpz);
15105}
15106extern "C" {
15107 pub fn _fmpz_mat22_lmul_elem(M: *mut _fmpz_mat22_struct, q: *mut fmpz);
15108}
15109#[doc = " resizable integer vector specific to cfrac functionality"]
15110#[repr(C)]
15111#[derive(Debug, Copy, Clone)]
15112pub struct _fmpq_cfrac_list_struct {
15113 pub array: *mut fmpz,
15114 pub length: mp_limb_signed_t,
15115 pub alloc: mp_limb_signed_t,
15116 pub limit: mp_limb_signed_t,
15117 pub alt_sum: fmpz_t,
15118 pub want_alt_sum: ::std::os::raw::c_int,
15119}
15120#[test]
15121fn bindgen_test_layout__fmpq_cfrac_list_struct() {
15122 assert_eq!(
15123 ::std::mem::size_of::<_fmpq_cfrac_list_struct>(),
15124 48usize,
15125 concat!("Size of: ", stringify!(_fmpq_cfrac_list_struct))
15126 );
15127 assert_eq!(
15128 ::std::mem::align_of::<_fmpq_cfrac_list_struct>(),
15129 8usize,
15130 concat!("Alignment of ", stringify!(_fmpq_cfrac_list_struct))
15131 );
15132 assert_eq!(
15133 unsafe { &(*(::std::ptr::null::<_fmpq_cfrac_list_struct>())).array as *const _ as usize },
15134 0usize,
15135 concat!(
15136 "Offset of field: ",
15137 stringify!(_fmpq_cfrac_list_struct),
15138 "::",
15139 stringify!(array)
15140 )
15141 );
15142 assert_eq!(
15143 unsafe { &(*(::std::ptr::null::<_fmpq_cfrac_list_struct>())).length as *const _ as usize },
15144 8usize,
15145 concat!(
15146 "Offset of field: ",
15147 stringify!(_fmpq_cfrac_list_struct),
15148 "::",
15149 stringify!(length)
15150 )
15151 );
15152 assert_eq!(
15153 unsafe { &(*(::std::ptr::null::<_fmpq_cfrac_list_struct>())).alloc as *const _ as usize },
15154 16usize,
15155 concat!(
15156 "Offset of field: ",
15157 stringify!(_fmpq_cfrac_list_struct),
15158 "::",
15159 stringify!(alloc)
15160 )
15161 );
15162 assert_eq!(
15163 unsafe { &(*(::std::ptr::null::<_fmpq_cfrac_list_struct>())).limit as *const _ as usize },
15164 24usize,
15165 concat!(
15166 "Offset of field: ",
15167 stringify!(_fmpq_cfrac_list_struct),
15168 "::",
15169 stringify!(limit)
15170 )
15171 );
15172 assert_eq!(
15173 unsafe { &(*(::std::ptr::null::<_fmpq_cfrac_list_struct>())).alt_sum as *const _ as usize },
15174 32usize,
15175 concat!(
15176 "Offset of field: ",
15177 stringify!(_fmpq_cfrac_list_struct),
15178 "::",
15179 stringify!(alt_sum)
15180 )
15181 );
15182 assert_eq!(
15183 unsafe {
15184 &(*(::std::ptr::null::<_fmpq_cfrac_list_struct>())).want_alt_sum as *const _ as usize
15185 },
15186 40usize,
15187 concat!(
15188 "Offset of field: ",
15189 stringify!(_fmpq_cfrac_list_struct),
15190 "::",
15191 stringify!(want_alt_sum)
15192 )
15193 );
15194}
15195pub type _fmpq_cfrac_list_t = [_fmpq_cfrac_list_struct; 1usize];
15196extern "C" {
15197 pub fn _fmpq_cfrac_list_init(v: *mut _fmpq_cfrac_list_struct);
15198}
15199extern "C" {
15200 pub fn _fmpq_cfrac_list_clear(v: *mut _fmpq_cfrac_list_struct);
15201}
15202extern "C" {
15203 pub fn _fmpq_cfrac_list_fit_length(v: *mut _fmpq_cfrac_list_struct, len: mp_limb_signed_t);
15204}
15205extern "C" {
15206 pub fn _fmpq_cfrac_list_push_back(v: *mut _fmpq_cfrac_list_struct, a: *mut fmpz);
15207}
15208extern "C" {
15209 pub fn _fmpq_cfrac_list_push_back_zero(v: *mut _fmpq_cfrac_list_struct);
15210}
15211extern "C" {
15212 pub fn _fmpq_cfrac_list_append_ui(
15213 v: *mut _fmpq_cfrac_list_struct,
15214 a: *const mp_limb_t,
15215 n: mp_limb_signed_t,
15216 );
15217}
15218extern "C" {
15219 pub fn _fmpq_cfrac_list_swap(a: *mut _fmpq_cfrac_list_struct, b: *mut _fmpq_cfrac_list_struct);
15220}
15221#[doc = " ball for closed interval [left, right]"]
15222#[repr(C)]
15223#[derive(Debug, Copy, Clone)]
15224pub struct _fmpq_ball_struct {
15225 pub left_num: fmpz_t,
15226 pub left_den: fmpz_t,
15227 pub right_num: fmpz_t,
15228 pub right_den: fmpz_t,
15229 pub exact: ::std::os::raw::c_int,
15230}
15231#[test]
15232fn bindgen_test_layout__fmpq_ball_struct() {
15233 assert_eq!(
15234 ::std::mem::size_of::<_fmpq_ball_struct>(),
15235 40usize,
15236 concat!("Size of: ", stringify!(_fmpq_ball_struct))
15237 );
15238 assert_eq!(
15239 ::std::mem::align_of::<_fmpq_ball_struct>(),
15240 8usize,
15241 concat!("Alignment of ", stringify!(_fmpq_ball_struct))
15242 );
15243 assert_eq!(
15244 unsafe { &(*(::std::ptr::null::<_fmpq_ball_struct>())).left_num as *const _ as usize },
15245 0usize,
15246 concat!(
15247 "Offset of field: ",
15248 stringify!(_fmpq_ball_struct),
15249 "::",
15250 stringify!(left_num)
15251 )
15252 );
15253 assert_eq!(
15254 unsafe { &(*(::std::ptr::null::<_fmpq_ball_struct>())).left_den as *const _ as usize },
15255 8usize,
15256 concat!(
15257 "Offset of field: ",
15258 stringify!(_fmpq_ball_struct),
15259 "::",
15260 stringify!(left_den)
15261 )
15262 );
15263 assert_eq!(
15264 unsafe { &(*(::std::ptr::null::<_fmpq_ball_struct>())).right_num as *const _ as usize },
15265 16usize,
15266 concat!(
15267 "Offset of field: ",
15268 stringify!(_fmpq_ball_struct),
15269 "::",
15270 stringify!(right_num)
15271 )
15272 );
15273 assert_eq!(
15274 unsafe { &(*(::std::ptr::null::<_fmpq_ball_struct>())).right_den as *const _ as usize },
15275 24usize,
15276 concat!(
15277 "Offset of field: ",
15278 stringify!(_fmpq_ball_struct),
15279 "::",
15280 stringify!(right_den)
15281 )
15282 );
15283 assert_eq!(
15284 unsafe { &(*(::std::ptr::null::<_fmpq_ball_struct>())).exact as *const _ as usize },
15285 32usize,
15286 concat!(
15287 "Offset of field: ",
15288 stringify!(_fmpq_ball_struct),
15289 "::",
15290 stringify!(exact)
15291 )
15292 );
15293}
15294pub type _fmpq_ball_t = [_fmpq_ball_struct; 1usize];
15295extern "C" {
15296 pub fn _fmpq_ball_init(x: *mut _fmpq_ball_struct);
15297}
15298extern "C" {
15299 pub fn _fmpq_ball_clear(x: *mut _fmpq_ball_struct);
15300}
15301extern "C" {
15302 pub fn _fmpq_ball_swap(x: *mut _fmpq_ball_struct, y: *mut _fmpq_ball_struct);
15303}
15304extern "C" {
15305 pub fn _fmpq_ball_gt_one(x: *mut _fmpq_ball_struct) -> ::std::os::raw::c_int;
15306}
15307extern "C" {
15308 pub fn _fmpq_hgcd(
15309 s: *mut _fmpq_cfrac_list_struct,
15310 M: *mut _fmpz_mat22_struct,
15311 x_num: *mut fmpz,
15312 x_den: *mut fmpz,
15313 );
15314}
15315extern "C" {
15316 pub fn _fmpq_ball_get_cfrac(
15317 s: *mut _fmpq_cfrac_list_struct,
15318 M: *mut _fmpz_mat22_struct,
15319 needM: ::std::os::raw::c_int,
15320 x: *mut _fmpq_ball_struct,
15321 );
15322}
15323extern "C" {
15324 pub fn fmpq_numerator(n: *mut fmpz, q: *mut fmpq);
15325}
15326extern "C" {
15327 pub fn fmpq_denominator(n: *mut fmpz, q: *mut fmpq);
15328}
15329extern "C" {
15330 pub fn fmpq_numerator_ptr(q: *mut fmpq) -> *mut fmpz;
15331}
15332extern "C" {
15333 pub fn fmpq_denominator_ptr(q: *mut fmpq) -> *mut fmpz;
15334}
15335extern "C" {
15336 pub fn fmpq_equal_fmpz(q: *mut fmpq, n: *mut fmpz) -> ::std::os::raw::c_int;
15337}
15338#[repr(C)]
15339#[derive(Copy, Clone)]
15340pub struct thread_pool_entry_struct {
15341 pub pth: pthread_t,
15342 pub mutex: pthread_mutex_t,
15343 pub sleep1: pthread_cond_t,
15344 pub sleep2: pthread_cond_t,
15345 pub idx: ::std::os::raw::c_int,
15346 pub available: ::std::os::raw::c_int,
15347 pub max_workers: ::std::os::raw::c_int,
15348 pub fxn: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
15349 pub fxnarg: *mut ::std::os::raw::c_void,
15350 pub working: ::std::os::raw::c_int,
15351 pub exit: ::std::os::raw::c_int,
15352}
15353#[test]
15354fn bindgen_test_layout_thread_pool_entry_struct() {
15355 assert_eq!(
15356 ::std::mem::size_of::<thread_pool_entry_struct>(),
15357 184usize,
15358 concat!("Size of: ", stringify!(thread_pool_entry_struct))
15359 );
15360 assert_eq!(
15361 ::std::mem::align_of::<thread_pool_entry_struct>(),
15362 8usize,
15363 concat!("Alignment of ", stringify!(thread_pool_entry_struct))
15364 );
15365 assert_eq!(
15366 unsafe { &(*(::std::ptr::null::<thread_pool_entry_struct>())).pth as *const _ as usize },
15367 0usize,
15368 concat!(
15369 "Offset of field: ",
15370 stringify!(thread_pool_entry_struct),
15371 "::",
15372 stringify!(pth)
15373 )
15374 );
15375 assert_eq!(
15376 unsafe { &(*(::std::ptr::null::<thread_pool_entry_struct>())).mutex as *const _ as usize },
15377 8usize,
15378 concat!(
15379 "Offset of field: ",
15380 stringify!(thread_pool_entry_struct),
15381 "::",
15382 stringify!(mutex)
15383 )
15384 );
15385 assert_eq!(
15386 unsafe { &(*(::std::ptr::null::<thread_pool_entry_struct>())).sleep1 as *const _ as usize },
15387 48usize,
15388 concat!(
15389 "Offset of field: ",
15390 stringify!(thread_pool_entry_struct),
15391 "::",
15392 stringify!(sleep1)
15393 )
15394 );
15395 assert_eq!(
15396 unsafe { &(*(::std::ptr::null::<thread_pool_entry_struct>())).sleep2 as *const _ as usize },
15397 96usize,
15398 concat!(
15399 "Offset of field: ",
15400 stringify!(thread_pool_entry_struct),
15401 "::",
15402 stringify!(sleep2)
15403 )
15404 );
15405 assert_eq!(
15406 unsafe { &(*(::std::ptr::null::<thread_pool_entry_struct>())).idx as *const _ as usize },
15407 144usize,
15408 concat!(
15409 "Offset of field: ",
15410 stringify!(thread_pool_entry_struct),
15411 "::",
15412 stringify!(idx)
15413 )
15414 );
15415 assert_eq!(
15416 unsafe {
15417 &(*(::std::ptr::null::<thread_pool_entry_struct>())).available as *const _ as usize
15418 },
15419 148usize,
15420 concat!(
15421 "Offset of field: ",
15422 stringify!(thread_pool_entry_struct),
15423 "::",
15424 stringify!(available)
15425 )
15426 );
15427 assert_eq!(
15428 unsafe {
15429 &(*(::std::ptr::null::<thread_pool_entry_struct>())).max_workers as *const _ as usize
15430 },
15431 152usize,
15432 concat!(
15433 "Offset of field: ",
15434 stringify!(thread_pool_entry_struct),
15435 "::",
15436 stringify!(max_workers)
15437 )
15438 );
15439 assert_eq!(
15440 unsafe { &(*(::std::ptr::null::<thread_pool_entry_struct>())).fxn as *const _ as usize },
15441 160usize,
15442 concat!(
15443 "Offset of field: ",
15444 stringify!(thread_pool_entry_struct),
15445 "::",
15446 stringify!(fxn)
15447 )
15448 );
15449 assert_eq!(
15450 unsafe { &(*(::std::ptr::null::<thread_pool_entry_struct>())).fxnarg as *const _ as usize },
15451 168usize,
15452 concat!(
15453 "Offset of field: ",
15454 stringify!(thread_pool_entry_struct),
15455 "::",
15456 stringify!(fxnarg)
15457 )
15458 );
15459 assert_eq!(
15460 unsafe {
15461 &(*(::std::ptr::null::<thread_pool_entry_struct>())).working as *const _ as usize
15462 },
15463 176usize,
15464 concat!(
15465 "Offset of field: ",
15466 stringify!(thread_pool_entry_struct),
15467 "::",
15468 stringify!(working)
15469 )
15470 );
15471 assert_eq!(
15472 unsafe { &(*(::std::ptr::null::<thread_pool_entry_struct>())).exit as *const _ as usize },
15473 180usize,
15474 concat!(
15475 "Offset of field: ",
15476 stringify!(thread_pool_entry_struct),
15477 "::",
15478 stringify!(exit)
15479 )
15480 );
15481}
15482pub type thread_pool_entry_t = [thread_pool_entry_struct; 1usize];
15483#[repr(C)]
15484#[derive(Copy, Clone)]
15485pub struct thread_pool_struct {
15486 pub original_affinity: cpu_set_t,
15487 pub mutex: pthread_mutex_t,
15488 pub tdata: *mut thread_pool_entry_struct,
15489 pub length: mp_limb_signed_t,
15490}
15491#[test]
15492fn bindgen_test_layout_thread_pool_struct() {
15493 assert_eq!(
15494 ::std::mem::size_of::<thread_pool_struct>(),
15495 184usize,
15496 concat!("Size of: ", stringify!(thread_pool_struct))
15497 );
15498 assert_eq!(
15499 ::std::mem::align_of::<thread_pool_struct>(),
15500 8usize,
15501 concat!("Alignment of ", stringify!(thread_pool_struct))
15502 );
15503 assert_eq!(
15504 unsafe {
15505 &(*(::std::ptr::null::<thread_pool_struct>())).original_affinity as *const _ as usize
15506 },
15507 0usize,
15508 concat!(
15509 "Offset of field: ",
15510 stringify!(thread_pool_struct),
15511 "::",
15512 stringify!(original_affinity)
15513 )
15514 );
15515 assert_eq!(
15516 unsafe { &(*(::std::ptr::null::<thread_pool_struct>())).mutex as *const _ as usize },
15517 128usize,
15518 concat!(
15519 "Offset of field: ",
15520 stringify!(thread_pool_struct),
15521 "::",
15522 stringify!(mutex)
15523 )
15524 );
15525 assert_eq!(
15526 unsafe { &(*(::std::ptr::null::<thread_pool_struct>())).tdata as *const _ as usize },
15527 168usize,
15528 concat!(
15529 "Offset of field: ",
15530 stringify!(thread_pool_struct),
15531 "::",
15532 stringify!(tdata)
15533 )
15534 );
15535 assert_eq!(
15536 unsafe { &(*(::std::ptr::null::<thread_pool_struct>())).length as *const _ as usize },
15537 176usize,
15538 concat!(
15539 "Offset of field: ",
15540 stringify!(thread_pool_struct),
15541 "::",
15542 stringify!(length)
15543 )
15544 );
15545}
15546pub type thread_pool_t = [thread_pool_struct; 1usize];
15547pub type thread_pool_handle = ::std::os::raw::c_int;
15548extern "C" {
15549 pub static mut global_thread_pool: thread_pool_t;
15550}
15551extern "C" {
15552 pub static mut global_thread_pool_initialized: ::std::os::raw::c_int;
15553}
15554extern "C" {
15555 pub fn thread_pool_idle_loop(varg: *mut ::std::os::raw::c_void) -> *mut ::std::os::raw::c_void;
15556}
15557extern "C" {
15558 pub fn thread_pool_init(T: *mut thread_pool_struct, l: mp_limb_signed_t);
15559}
15560extern "C" {
15561 pub fn thread_pool_set_affinity(
15562 T: *mut thread_pool_struct,
15563 cpus: *mut ::std::os::raw::c_int,
15564 length: mp_limb_signed_t,
15565 ) -> ::std::os::raw::c_int;
15566}
15567extern "C" {
15568 pub fn thread_pool_restore_affinity(T: *mut thread_pool_struct) -> ::std::os::raw::c_int;
15569}
15570extern "C" {
15571 pub fn thread_pool_get_size(T: *mut thread_pool_struct) -> mp_limb_signed_t;
15572}
15573extern "C" {
15574 pub fn thread_pool_set_size(
15575 T: *mut thread_pool_struct,
15576 new_size: mp_limb_signed_t,
15577 ) -> ::std::os::raw::c_int;
15578}
15579extern "C" {
15580 pub fn thread_pool_request(
15581 T: *mut thread_pool_struct,
15582 out: *mut thread_pool_handle,
15583 requested: mp_limb_signed_t,
15584 ) -> mp_limb_signed_t;
15585}
15586extern "C" {
15587 pub fn thread_pool_wake(
15588 T: *mut thread_pool_struct,
15589 i: thread_pool_handle,
15590 max_workers: ::std::os::raw::c_int,
15591 f: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
15592 a: *mut ::std::os::raw::c_void,
15593 );
15594}
15595extern "C" {
15596 pub fn thread_pool_wait(T: *mut thread_pool_struct, i: thread_pool_handle);
15597}
15598extern "C" {
15599 pub fn thread_pool_give_back(T: *mut thread_pool_struct, i: thread_pool_handle);
15600}
15601extern "C" {
15602 pub fn thread_pool_clear(T: *mut thread_pool_struct);
15603}
15604extern "C" {
15605 pub fn flint_request_threads(
15606 handles: *mut *mut thread_pool_handle,
15607 thread_limit: mp_limb_signed_t,
15608 ) -> mp_limb_signed_t;
15609}
15610extern "C" {
15611 pub fn flint_give_back_threads(handles: *mut thread_pool_handle, num_handles: mp_limb_signed_t);
15612}
15613#[repr(C)]
15614#[derive(Debug, Copy, Clone)]
15615pub struct nmod_mat_struct {
15616 pub entries: *mut mp_limb_t,
15617 pub r: mp_limb_signed_t,
15618 pub c: mp_limb_signed_t,
15619 pub rows: *mut *mut mp_limb_t,
15620 pub mod_: nmod_t,
15621}
15622#[test]
15623fn bindgen_test_layout_nmod_mat_struct() {
15624 assert_eq!(
15625 ::std::mem::size_of::<nmod_mat_struct>(),
15626 56usize,
15627 concat!("Size of: ", stringify!(nmod_mat_struct))
15628 );
15629 assert_eq!(
15630 ::std::mem::align_of::<nmod_mat_struct>(),
15631 8usize,
15632 concat!("Alignment of ", stringify!(nmod_mat_struct))
15633 );
15634 assert_eq!(
15635 unsafe { &(*(::std::ptr::null::<nmod_mat_struct>())).entries as *const _ as usize },
15636 0usize,
15637 concat!(
15638 "Offset of field: ",
15639 stringify!(nmod_mat_struct),
15640 "::",
15641 stringify!(entries)
15642 )
15643 );
15644 assert_eq!(
15645 unsafe { &(*(::std::ptr::null::<nmod_mat_struct>())).r as *const _ as usize },
15646 8usize,
15647 concat!(
15648 "Offset of field: ",
15649 stringify!(nmod_mat_struct),
15650 "::",
15651 stringify!(r)
15652 )
15653 );
15654 assert_eq!(
15655 unsafe { &(*(::std::ptr::null::<nmod_mat_struct>())).c as *const _ as usize },
15656 16usize,
15657 concat!(
15658 "Offset of field: ",
15659 stringify!(nmod_mat_struct),
15660 "::",
15661 stringify!(c)
15662 )
15663 );
15664 assert_eq!(
15665 unsafe { &(*(::std::ptr::null::<nmod_mat_struct>())).rows as *const _ as usize },
15666 24usize,
15667 concat!(
15668 "Offset of field: ",
15669 stringify!(nmod_mat_struct),
15670 "::",
15671 stringify!(rows)
15672 )
15673 );
15674 assert_eq!(
15675 unsafe { &(*(::std::ptr::null::<nmod_mat_struct>())).mod_ as *const _ as usize },
15676 32usize,
15677 concat!(
15678 "Offset of field: ",
15679 stringify!(nmod_mat_struct),
15680 "::",
15681 stringify!(mod_)
15682 )
15683 );
15684}
15685pub type nmod_mat_t = [nmod_mat_struct; 1usize];
15686extern "C" {
15687 pub fn nmod_mat_set_entry(
15688 mat: *mut nmod_mat_struct,
15689 i: mp_limb_signed_t,
15690 j: mp_limb_signed_t,
15691 x: mp_limb_t,
15692 );
15693}
15694extern "C" {
15695 pub fn nmod_mat_init(
15696 mat: *mut nmod_mat_struct,
15697 rows: mp_limb_signed_t,
15698 cols: mp_limb_signed_t,
15699 n: mp_limb_t,
15700 );
15701}
15702extern "C" {
15703 pub fn nmod_mat_init_set(mat: *mut nmod_mat_struct, src: *mut nmod_mat_struct);
15704}
15705extern "C" {
15706 pub fn nmod_mat_clear(mat: *mut nmod_mat_struct);
15707}
15708extern "C" {
15709 pub fn nmod_mat_one(mat: *mut nmod_mat_struct);
15710}
15711extern "C" {
15712 pub fn nmod_mat_swap(mat1: *mut nmod_mat_struct, mat2: *mut nmod_mat_struct);
15713}
15714extern "C" {
15715 pub fn nmod_mat_window_init(
15716 window: *mut nmod_mat_struct,
15717 mat: *mut nmod_mat_struct,
15718 r1: mp_limb_signed_t,
15719 c1: mp_limb_signed_t,
15720 r2: mp_limb_signed_t,
15721 c2: mp_limb_signed_t,
15722 );
15723}
15724extern "C" {
15725 pub fn nmod_mat_window_clear(window: *mut nmod_mat_struct);
15726}
15727extern "C" {
15728 pub fn nmod_mat_concat_horizontal(
15729 res: *mut nmod_mat_struct,
15730 mat1: *mut nmod_mat_struct,
15731 mat2: *mut nmod_mat_struct,
15732 );
15733}
15734extern "C" {
15735 pub fn nmod_mat_concat_vertical(
15736 res: *mut nmod_mat_struct,
15737 mat1: *mut nmod_mat_struct,
15738 mat2: *mut nmod_mat_struct,
15739 );
15740}
15741extern "C" {
15742 pub fn nmod_mat_randtest(mat: *mut nmod_mat_struct, state: *mut flint_rand_s);
15743}
15744extern "C" {
15745 pub fn nmod_mat_randfull(mat: *mut nmod_mat_struct, state: *mut flint_rand_s);
15746}
15747extern "C" {
15748 pub fn nmod_mat_randpermdiag(
15749 mat: *mut nmod_mat_struct,
15750 state: *mut flint_rand_s,
15751 diag: mp_srcptr,
15752 n: mp_limb_signed_t,
15753 ) -> ::std::os::raw::c_int;
15754}
15755extern "C" {
15756 pub fn nmod_mat_randrank(
15757 arg1: *mut nmod_mat_struct,
15758 state: *mut flint_rand_s,
15759 rank: mp_limb_signed_t,
15760 );
15761}
15762extern "C" {
15763 pub fn nmod_mat_randops(
15764 mat: *mut nmod_mat_struct,
15765 count: mp_limb_signed_t,
15766 state: *mut flint_rand_s,
15767 );
15768}
15769extern "C" {
15770 pub fn nmod_mat_randtril(
15771 mat: *mut nmod_mat_struct,
15772 state: *mut flint_rand_s,
15773 unit: ::std::os::raw::c_int,
15774 );
15775}
15776extern "C" {
15777 pub fn nmod_mat_randtriu(
15778 mat: *mut nmod_mat_struct,
15779 state: *mut flint_rand_s,
15780 unit: ::std::os::raw::c_int,
15781 );
15782}
15783extern "C" {
15784 pub fn nmod_mat_print_pretty(mat: *mut nmod_mat_struct);
15785}
15786extern "C" {
15787 pub fn nmod_mat_equal(
15788 mat1: *mut nmod_mat_struct,
15789 mat2: *mut nmod_mat_struct,
15790 ) -> ::std::os::raw::c_int;
15791}
15792extern "C" {
15793 pub fn nmod_mat_zero(mat: *mut nmod_mat_struct);
15794}
15795extern "C" {
15796 pub fn nmod_mat_is_zero(mat: *mut nmod_mat_struct) -> ::std::os::raw::c_int;
15797}
15798extern "C" {
15799 pub fn nmod_mat_set(B: *mut nmod_mat_struct, A: *mut nmod_mat_struct);
15800}
15801extern "C" {
15802 pub fn nmod_mat_transpose(B: *mut nmod_mat_struct, A: *mut nmod_mat_struct);
15803}
15804extern "C" {
15805 pub fn nmod_mat_add(C: *mut nmod_mat_struct, A: *mut nmod_mat_struct, B: *mut nmod_mat_struct);
15806}
15807extern "C" {
15808 pub fn nmod_mat_sub(C: *mut nmod_mat_struct, A: *mut nmod_mat_struct, B: *mut nmod_mat_struct);
15809}
15810extern "C" {
15811 pub fn nmod_mat_neg(B: *mut nmod_mat_struct, A: *mut nmod_mat_struct);
15812}
15813extern "C" {
15814 pub fn nmod_mat_scalar_mul(B: *mut nmod_mat_struct, A: *mut nmod_mat_struct, c: mp_limb_t);
15815}
15816extern "C" {
15817 pub fn nmod_mat_scalar_mul_add(
15818 dest: *mut nmod_mat_struct,
15819 X: *mut nmod_mat_struct,
15820 b: mp_limb_t,
15821 Y: *mut nmod_mat_struct,
15822 );
15823}
15824extern "C" {
15825 pub fn nmod_mat_mul(C: *mut nmod_mat_struct, A: *mut nmod_mat_struct, B: *mut nmod_mat_struct);
15826}
15827extern "C" {
15828 pub fn nmod_mat_mul_classical(
15829 C: *mut nmod_mat_struct,
15830 A: *mut nmod_mat_struct,
15831 B: *mut nmod_mat_struct,
15832 );
15833}
15834extern "C" {
15835 pub fn _nmod_mat_mul_classical_threaded_pool_op(
15836 D: *mut nmod_mat_struct,
15837 C: *mut nmod_mat_struct,
15838 A: *mut nmod_mat_struct,
15839 B: *mut nmod_mat_struct,
15840 op: ::std::os::raw::c_int,
15841 threads: *mut thread_pool_handle,
15842 num_threads: mp_limb_signed_t,
15843 );
15844}
15845extern "C" {
15846 pub fn nmod_mat_mul_classical_threaded(
15847 C: *mut nmod_mat_struct,
15848 A: *mut nmod_mat_struct,
15849 B: *mut nmod_mat_struct,
15850 );
15851}
15852extern "C" {
15853 pub fn nmod_mat_mul_strassen(
15854 C: *mut nmod_mat_struct,
15855 A: *mut nmod_mat_struct,
15856 B: *mut nmod_mat_struct,
15857 );
15858}
15859extern "C" {
15860 pub fn _nmod_mat_mul_classical_op(
15861 D: *mut nmod_mat_struct,
15862 C: *mut nmod_mat_struct,
15863 A: *mut nmod_mat_struct,
15864 B: *mut nmod_mat_struct,
15865 op: ::std::os::raw::c_int,
15866 );
15867}
15868extern "C" {
15869 pub fn nmod_mat_addmul(
15870 D: *mut nmod_mat_struct,
15871 C: *mut nmod_mat_struct,
15872 A: *mut nmod_mat_struct,
15873 B: *mut nmod_mat_struct,
15874 );
15875}
15876extern "C" {
15877 pub fn nmod_mat_submul(
15878 D: *mut nmod_mat_struct,
15879 C: *mut nmod_mat_struct,
15880 A: *mut nmod_mat_struct,
15881 B: *mut nmod_mat_struct,
15882 );
15883}
15884extern "C" {
15885 pub fn _nmod_mat_pow(dest: *mut nmod_mat_struct, mat: *mut nmod_mat_struct, pow: mp_limb_t);
15886}
15887extern "C" {
15888 pub fn nmod_mat_pow(dest: *mut nmod_mat_struct, mat: *mut nmod_mat_struct, pow: mp_limb_t);
15889}
15890extern "C" {
15891 pub fn nmod_mat_trace(mat: *mut nmod_mat_struct) -> mp_limb_t;
15892}
15893extern "C" {
15894 pub fn _nmod_mat_det(A: *mut nmod_mat_struct) -> mp_limb_t;
15895}
15896extern "C" {
15897 pub fn nmod_mat_det(A: *mut nmod_mat_struct) -> mp_limb_t;
15898}
15899extern "C" {
15900 pub fn nmod_mat_rank(A: *mut nmod_mat_struct) -> mp_limb_signed_t;
15901}
15902extern "C" {
15903 pub fn nmod_mat_inv(B: *mut nmod_mat_struct, A: *mut nmod_mat_struct) -> ::std::os::raw::c_int;
15904}
15905extern "C" {
15906 pub fn nmod_mat_apply_permutation(
15907 A: *mut nmod_mat_struct,
15908 P: *mut mp_limb_signed_t,
15909 n: mp_limb_signed_t,
15910 );
15911}
15912extern "C" {
15913 pub fn nmod_mat_solve_tril(
15914 X: *mut nmod_mat_struct,
15915 L: *mut nmod_mat_struct,
15916 B: *mut nmod_mat_struct,
15917 unit: ::std::os::raw::c_int,
15918 );
15919}
15920extern "C" {
15921 pub fn nmod_mat_solve_tril_recursive(
15922 X: *mut nmod_mat_struct,
15923 L: *mut nmod_mat_struct,
15924 B: *mut nmod_mat_struct,
15925 unit: ::std::os::raw::c_int,
15926 );
15927}
15928extern "C" {
15929 pub fn nmod_mat_solve_tril_classical(
15930 X: *mut nmod_mat_struct,
15931 L: *mut nmod_mat_struct,
15932 B: *mut nmod_mat_struct,
15933 unit: ::std::os::raw::c_int,
15934 );
15935}
15936extern "C" {
15937 pub fn nmod_mat_solve_triu(
15938 X: *mut nmod_mat_struct,
15939 U: *mut nmod_mat_struct,
15940 B: *mut nmod_mat_struct,
15941 unit: ::std::os::raw::c_int,
15942 );
15943}
15944extern "C" {
15945 pub fn nmod_mat_solve_triu_recursive(
15946 X: *mut nmod_mat_struct,
15947 U: *mut nmod_mat_struct,
15948 B: *mut nmod_mat_struct,
15949 unit: ::std::os::raw::c_int,
15950 );
15951}
15952extern "C" {
15953 pub fn nmod_mat_solve_triu_classical(
15954 X: *mut nmod_mat_struct,
15955 U: *mut nmod_mat_struct,
15956 B: *mut nmod_mat_struct,
15957 unit: ::std::os::raw::c_int,
15958 );
15959}
15960extern "C" {
15961 pub fn nmod_mat_lu(
15962 P: *mut mp_limb_signed_t,
15963 A: *mut nmod_mat_struct,
15964 rank_check: ::std::os::raw::c_int,
15965 ) -> mp_limb_signed_t;
15966}
15967extern "C" {
15968 pub fn nmod_mat_lu_classical(
15969 P: *mut mp_limb_signed_t,
15970 A: *mut nmod_mat_struct,
15971 rank_check: ::std::os::raw::c_int,
15972 ) -> mp_limb_signed_t;
15973}
15974extern "C" {
15975 pub fn nmod_mat_lu_recursive(
15976 P: *mut mp_limb_signed_t,
15977 A: *mut nmod_mat_struct,
15978 rank_check: ::std::os::raw::c_int,
15979 ) -> mp_limb_signed_t;
15980}
15981extern "C" {
15982 pub fn nmod_mat_solve(
15983 X: *mut nmod_mat_struct,
15984 A: *mut nmod_mat_struct,
15985 B: *mut nmod_mat_struct,
15986 ) -> ::std::os::raw::c_int;
15987}
15988extern "C" {
15989 pub fn nmod_mat_solve_vec(
15990 x: mp_ptr,
15991 A: *mut nmod_mat_struct,
15992 b: mp_srcptr,
15993 ) -> ::std::os::raw::c_int;
15994}
15995extern "C" {
15996 pub fn nmod_mat_rref(A: *mut nmod_mat_struct) -> mp_limb_signed_t;
15997}
15998extern "C" {
15999 pub fn _nmod_mat_rref(
16000 A: *mut nmod_mat_struct,
16001 pivots_nonpivots: *mut mp_limb_signed_t,
16002 P: *mut mp_limb_signed_t,
16003 ) -> mp_limb_signed_t;
16004}
16005extern "C" {
16006 pub fn nmod_mat_rref_classical(A: *mut nmod_mat_struct) -> mp_limb_signed_t;
16007}
16008extern "C" {
16009 pub fn _nmod_mat_rref_classical(
16010 A: *mut nmod_mat_struct,
16011 pivots_nonpivots: *mut mp_limb_signed_t,
16012 ) -> mp_limb_signed_t;
16013}
16014extern "C" {
16015 pub fn nmod_mat_rref_storjohann(A: *mut nmod_mat_struct) -> mp_limb_signed_t;
16016}
16017extern "C" {
16018 pub fn _nmod_mat_rref_storjohann(
16019 A: *mut nmod_mat_struct,
16020 pivots_nonpivots: *mut mp_limb_signed_t,
16021 ) -> mp_limb_signed_t;
16022}
16023extern "C" {
16024 pub fn nmod_mat_reduce_row(
16025 M: *mut nmod_mat_struct,
16026 P: *mut mp_limb_signed_t,
16027 L: *mut mp_limb_signed_t,
16028 m: mp_limb_signed_t,
16029 ) -> mp_limb_signed_t;
16030}
16031extern "C" {
16032 pub fn nmod_mat_nullspace(X: *mut nmod_mat_struct, A: *mut nmod_mat_struct)
16033 -> mp_limb_signed_t;
16034}
16035extern "C" {
16036 pub fn nmod_mat_strong_echelon_form(A: *mut nmod_mat_struct);
16037}
16038extern "C" {
16039 pub fn nmod_mat_howell_form(A: *mut nmod_mat_struct) -> mp_limb_signed_t;
16040}
16041extern "C" {
16042 pub fn nmod_mat_similarity(M: *mut nmod_mat_struct, r: mp_limb_signed_t, d: mp_limb_t);
16043}
16044#[repr(C)]
16045#[derive(Debug, Copy, Clone)]
16046pub struct nmod_poly_struct {
16047 pub coeffs: mp_ptr,
16048 pub alloc: mp_limb_signed_t,
16049 pub length: mp_limb_signed_t,
16050 pub mod_: nmod_t,
16051}
16052#[test]
16053fn bindgen_test_layout_nmod_poly_struct() {
16054 assert_eq!(
16055 ::std::mem::size_of::<nmod_poly_struct>(),
16056 48usize,
16057 concat!("Size of: ", stringify!(nmod_poly_struct))
16058 );
16059 assert_eq!(
16060 ::std::mem::align_of::<nmod_poly_struct>(),
16061 8usize,
16062 concat!("Alignment of ", stringify!(nmod_poly_struct))
16063 );
16064 assert_eq!(
16065 unsafe { &(*(::std::ptr::null::<nmod_poly_struct>())).coeffs as *const _ as usize },
16066 0usize,
16067 concat!(
16068 "Offset of field: ",
16069 stringify!(nmod_poly_struct),
16070 "::",
16071 stringify!(coeffs)
16072 )
16073 );
16074 assert_eq!(
16075 unsafe { &(*(::std::ptr::null::<nmod_poly_struct>())).alloc as *const _ as usize },
16076 8usize,
16077 concat!(
16078 "Offset of field: ",
16079 stringify!(nmod_poly_struct),
16080 "::",
16081 stringify!(alloc)
16082 )
16083 );
16084 assert_eq!(
16085 unsafe { &(*(::std::ptr::null::<nmod_poly_struct>())).length as *const _ as usize },
16086 16usize,
16087 concat!(
16088 "Offset of field: ",
16089 stringify!(nmod_poly_struct),
16090 "::",
16091 stringify!(length)
16092 )
16093 );
16094 assert_eq!(
16095 unsafe { &(*(::std::ptr::null::<nmod_poly_struct>())).mod_ as *const _ as usize },
16096 24usize,
16097 concat!(
16098 "Offset of field: ",
16099 stringify!(nmod_poly_struct),
16100 "::",
16101 stringify!(mod_)
16102 )
16103 );
16104}
16105pub type nmod_poly_t = [nmod_poly_struct; 1usize];
16106#[repr(C)]
16107#[derive(Debug, Copy, Clone)]
16108pub struct nmod_poly_res_struct {
16109 pub res: mp_limb_t,
16110 pub lc: mp_limb_t,
16111 pub len0: mp_limb_signed_t,
16112 pub len1: mp_limb_signed_t,
16113 pub off: mp_limb_signed_t,
16114}
16115#[test]
16116fn bindgen_test_layout_nmod_poly_res_struct() {
16117 assert_eq!(
16118 ::std::mem::size_of::<nmod_poly_res_struct>(),
16119 40usize,
16120 concat!("Size of: ", stringify!(nmod_poly_res_struct))
16121 );
16122 assert_eq!(
16123 ::std::mem::align_of::<nmod_poly_res_struct>(),
16124 8usize,
16125 concat!("Alignment of ", stringify!(nmod_poly_res_struct))
16126 );
16127 assert_eq!(
16128 unsafe { &(*(::std::ptr::null::<nmod_poly_res_struct>())).res as *const _ as usize },
16129 0usize,
16130 concat!(
16131 "Offset of field: ",
16132 stringify!(nmod_poly_res_struct),
16133 "::",
16134 stringify!(res)
16135 )
16136 );
16137 assert_eq!(
16138 unsafe { &(*(::std::ptr::null::<nmod_poly_res_struct>())).lc as *const _ as usize },
16139 8usize,
16140 concat!(
16141 "Offset of field: ",
16142 stringify!(nmod_poly_res_struct),
16143 "::",
16144 stringify!(lc)
16145 )
16146 );
16147 assert_eq!(
16148 unsafe { &(*(::std::ptr::null::<nmod_poly_res_struct>())).len0 as *const _ as usize },
16149 16usize,
16150 concat!(
16151 "Offset of field: ",
16152 stringify!(nmod_poly_res_struct),
16153 "::",
16154 stringify!(len0)
16155 )
16156 );
16157 assert_eq!(
16158 unsafe { &(*(::std::ptr::null::<nmod_poly_res_struct>())).len1 as *const _ as usize },
16159 24usize,
16160 concat!(
16161 "Offset of field: ",
16162 stringify!(nmod_poly_res_struct),
16163 "::",
16164 stringify!(len1)
16165 )
16166 );
16167 assert_eq!(
16168 unsafe { &(*(::std::ptr::null::<nmod_poly_res_struct>())).off as *const _ as usize },
16169 32usize,
16170 concat!(
16171 "Offset of field: ",
16172 stringify!(nmod_poly_res_struct),
16173 "::",
16174 stringify!(off)
16175 )
16176 );
16177}
16178pub type nmod_poly_res_t = [nmod_poly_res_struct; 1usize];
16179#[repr(C)]
16180#[derive(Debug, Copy, Clone)]
16181pub struct nmod_poly_matrix_precompute_arg_t {
16182 pub A: *mut nmod_mat_struct,
16183 pub poly1: *mut nmod_poly_struct,
16184 pub poly2: *mut nmod_poly_struct,
16185 pub poly2inv: *mut nmod_poly_struct,
16186}
16187#[test]
16188fn bindgen_test_layout_nmod_poly_matrix_precompute_arg_t() {
16189 assert_eq!(
16190 ::std::mem::size_of::<nmod_poly_matrix_precompute_arg_t>(),
16191 32usize,
16192 concat!("Size of: ", stringify!(nmod_poly_matrix_precompute_arg_t))
16193 );
16194 assert_eq!(
16195 ::std::mem::align_of::<nmod_poly_matrix_precompute_arg_t>(),
16196 8usize,
16197 concat!(
16198 "Alignment of ",
16199 stringify!(nmod_poly_matrix_precompute_arg_t)
16200 )
16201 );
16202 assert_eq!(
16203 unsafe {
16204 &(*(::std::ptr::null::<nmod_poly_matrix_precompute_arg_t>())).A as *const _ as usize
16205 },
16206 0usize,
16207 concat!(
16208 "Offset of field: ",
16209 stringify!(nmod_poly_matrix_precompute_arg_t),
16210 "::",
16211 stringify!(A)
16212 )
16213 );
16214 assert_eq!(
16215 unsafe {
16216 &(*(::std::ptr::null::<nmod_poly_matrix_precompute_arg_t>())).poly1 as *const _ as usize
16217 },
16218 8usize,
16219 concat!(
16220 "Offset of field: ",
16221 stringify!(nmod_poly_matrix_precompute_arg_t),
16222 "::",
16223 stringify!(poly1)
16224 )
16225 );
16226 assert_eq!(
16227 unsafe {
16228 &(*(::std::ptr::null::<nmod_poly_matrix_precompute_arg_t>())).poly2 as *const _ as usize
16229 },
16230 16usize,
16231 concat!(
16232 "Offset of field: ",
16233 stringify!(nmod_poly_matrix_precompute_arg_t),
16234 "::",
16235 stringify!(poly2)
16236 )
16237 );
16238 assert_eq!(
16239 unsafe {
16240 &(*(::std::ptr::null::<nmod_poly_matrix_precompute_arg_t>())).poly2inv as *const _
16241 as usize
16242 },
16243 24usize,
16244 concat!(
16245 "Offset of field: ",
16246 stringify!(nmod_poly_matrix_precompute_arg_t),
16247 "::",
16248 stringify!(poly2inv)
16249 )
16250 );
16251}
16252#[repr(C)]
16253#[derive(Debug, Copy, Clone)]
16254pub struct nmod_poly_compose_mod_precomp_preinv_arg_t {
16255 pub A: *mut nmod_mat_struct,
16256 pub res: *mut nmod_poly_struct,
16257 pub poly1: *mut nmod_poly_struct,
16258 pub poly3: *mut nmod_poly_struct,
16259 pub poly3inv: *mut nmod_poly_struct,
16260}
16261#[test]
16262fn bindgen_test_layout_nmod_poly_compose_mod_precomp_preinv_arg_t() {
16263 assert_eq!(
16264 ::std::mem::size_of::<nmod_poly_compose_mod_precomp_preinv_arg_t>(),
16265 40usize,
16266 concat!(
16267 "Size of: ",
16268 stringify!(nmod_poly_compose_mod_precomp_preinv_arg_t)
16269 )
16270 );
16271 assert_eq!(
16272 ::std::mem::align_of::<nmod_poly_compose_mod_precomp_preinv_arg_t>(),
16273 8usize,
16274 concat!(
16275 "Alignment of ",
16276 stringify!(nmod_poly_compose_mod_precomp_preinv_arg_t)
16277 )
16278 );
16279 assert_eq!(
16280 unsafe {
16281 &(*(::std::ptr::null::<nmod_poly_compose_mod_precomp_preinv_arg_t>())).A as *const _
16282 as usize
16283 },
16284 0usize,
16285 concat!(
16286 "Offset of field: ",
16287 stringify!(nmod_poly_compose_mod_precomp_preinv_arg_t),
16288 "::",
16289 stringify!(A)
16290 )
16291 );
16292 assert_eq!(
16293 unsafe {
16294 &(*(::std::ptr::null::<nmod_poly_compose_mod_precomp_preinv_arg_t>())).res as *const _
16295 as usize
16296 },
16297 8usize,
16298 concat!(
16299 "Offset of field: ",
16300 stringify!(nmod_poly_compose_mod_precomp_preinv_arg_t),
16301 "::",
16302 stringify!(res)
16303 )
16304 );
16305 assert_eq!(
16306 unsafe {
16307 &(*(::std::ptr::null::<nmod_poly_compose_mod_precomp_preinv_arg_t>())).poly1 as *const _
16308 as usize
16309 },
16310 16usize,
16311 concat!(
16312 "Offset of field: ",
16313 stringify!(nmod_poly_compose_mod_precomp_preinv_arg_t),
16314 "::",
16315 stringify!(poly1)
16316 )
16317 );
16318 assert_eq!(
16319 unsafe {
16320 &(*(::std::ptr::null::<nmod_poly_compose_mod_precomp_preinv_arg_t>())).poly3 as *const _
16321 as usize
16322 },
16323 24usize,
16324 concat!(
16325 "Offset of field: ",
16326 stringify!(nmod_poly_compose_mod_precomp_preinv_arg_t),
16327 "::",
16328 stringify!(poly3)
16329 )
16330 );
16331 assert_eq!(
16332 unsafe {
16333 &(*(::std::ptr::null::<nmod_poly_compose_mod_precomp_preinv_arg_t>())).poly3inv
16334 as *const _ as usize
16335 },
16336 32usize,
16337 concat!(
16338 "Offset of field: ",
16339 stringify!(nmod_poly_compose_mod_precomp_preinv_arg_t),
16340 "::",
16341 stringify!(poly3inv)
16342 )
16343 );
16344}
16345extern "C" {
16346 pub fn nmod_poly_init(poly: *mut nmod_poly_struct, n: mp_limb_t);
16347}
16348extern "C" {
16349 pub fn nmod_poly_init_preinv(poly: *mut nmod_poly_struct, n: mp_limb_t, ninv: mp_limb_t);
16350}
16351extern "C" {
16352 pub fn nmod_poly_init2(poly: *mut nmod_poly_struct, n: mp_limb_t, alloc: mp_limb_signed_t);
16353}
16354extern "C" {
16355 pub fn nmod_poly_init2_preinv(
16356 poly: *mut nmod_poly_struct,
16357 n: mp_limb_t,
16358 ninv: mp_limb_t,
16359 alloc: mp_limb_signed_t,
16360 );
16361}
16362extern "C" {
16363 pub fn nmod_poly_realloc(poly: *mut nmod_poly_struct, alloc: mp_limb_signed_t);
16364}
16365extern "C" {
16366 pub fn nmod_poly_clear(poly: *mut nmod_poly_struct);
16367}
16368extern "C" {
16369 pub fn nmod_poly_fit_length(poly: *mut nmod_poly_struct, alloc: mp_limb_signed_t);
16370}
16371extern "C" {
16372 pub fn nmod_poly_set_trunc(
16373 res: *mut nmod_poly_struct,
16374 poly: *mut nmod_poly_struct,
16375 n: mp_limb_signed_t,
16376 );
16377}
16378extern "C" {
16379 pub fn _nmod_poly_reverse(
16380 output: mp_ptr,
16381 input: mp_srcptr,
16382 len: mp_limb_signed_t,
16383 m: mp_limb_signed_t,
16384 );
16385}
16386extern "C" {
16387 pub fn nmod_poly_reverse(
16388 output: *mut nmod_poly_struct,
16389 input: *mut nmod_poly_struct,
16390 m: mp_limb_signed_t,
16391 );
16392}
16393extern "C" {
16394 pub fn nmod_poly_equal_trunc(
16395 poly1: *mut nmod_poly_struct,
16396 poly2: *mut nmod_poly_struct,
16397 n: mp_limb_signed_t,
16398 ) -> ::std::os::raw::c_int;
16399}
16400extern "C" {
16401 pub fn nmod_poly_randtest(
16402 poly: *mut nmod_poly_struct,
16403 state: *mut flint_rand_s,
16404 len: mp_limb_signed_t,
16405 );
16406}
16407extern "C" {
16408 pub fn nmod_poly_randtest_irreducible(
16409 poly: *mut nmod_poly_struct,
16410 state: *mut flint_rand_s,
16411 len: mp_limb_signed_t,
16412 );
16413}
16414extern "C" {
16415 pub fn nmod_poly_randtest_monic(
16416 poly: *mut nmod_poly_struct,
16417 state: *mut flint_rand_s,
16418 len: mp_limb_signed_t,
16419 );
16420}
16421extern "C" {
16422 pub fn nmod_poly_randtest_monic_irreducible(
16423 poly: *mut nmod_poly_struct,
16424 state: *mut flint_rand_s,
16425 len: mp_limb_signed_t,
16426 );
16427}
16428extern "C" {
16429 pub fn nmod_poly_randtest_monic_primitive(
16430 poly: *mut nmod_poly_struct,
16431 state: *mut flint_rand_s,
16432 len: mp_limb_signed_t,
16433 );
16434}
16435extern "C" {
16436 pub fn nmod_poly_randtest_trinomial(
16437 poly: *mut nmod_poly_struct,
16438 state: *mut flint_rand_s,
16439 len: mp_limb_signed_t,
16440 );
16441}
16442extern "C" {
16443 pub fn nmod_poly_randtest_trinomial_irreducible(
16444 poly: *mut nmod_poly_struct,
16445 state: *mut flint_rand_s,
16446 len: mp_limb_signed_t,
16447 max_attempts: mp_limb_signed_t,
16448 ) -> ::std::os::raw::c_int;
16449}
16450extern "C" {
16451 pub fn nmod_poly_randtest_pentomial(
16452 poly: *mut nmod_poly_struct,
16453 state: *mut flint_rand_s,
16454 len: mp_limb_signed_t,
16455 );
16456}
16457extern "C" {
16458 pub fn nmod_poly_randtest_pentomial_irreducible(
16459 poly: *mut nmod_poly_struct,
16460 state: *mut flint_rand_s,
16461 len: mp_limb_signed_t,
16462 max_attempts: mp_limb_signed_t,
16463 ) -> ::std::os::raw::c_int;
16464}
16465extern "C" {
16466 pub fn nmod_poly_randtest_sparse_irreducible(
16467 poly: *mut nmod_poly_struct,
16468 state: *mut flint_rand_s,
16469 len: mp_limb_signed_t,
16470 );
16471}
16472extern "C" {
16473 pub fn nmod_poly_set_coeff_ui(poly: *mut nmod_poly_struct, j: mp_limb_signed_t, c: mp_limb_t);
16474}
16475extern "C" {
16476 pub fn nmod_poly_get_str(poly: *mut nmod_poly_struct) -> *mut ::std::os::raw::c_char;
16477}
16478extern "C" {
16479 pub fn nmod_poly_get_str_pretty(
16480 poly: *mut nmod_poly_struct,
16481 x: *const ::std::os::raw::c_char,
16482 ) -> *mut ::std::os::raw::c_char;
16483}
16484extern "C" {
16485 pub fn nmod_poly_set_str(
16486 poly: *mut nmod_poly_struct,
16487 s: *const ::std::os::raw::c_char,
16488 ) -> ::std::os::raw::c_int;
16489}
16490extern "C" {
16491 pub fn nmod_poly_fread(f: *mut FILE, poly: *mut nmod_poly_struct) -> ::std::os::raw::c_int;
16492}
16493extern "C" {
16494 pub fn nmod_poly_fprint_pretty(
16495 f: *mut FILE,
16496 a: *mut nmod_poly_struct,
16497 x: *const ::std::os::raw::c_char,
16498 ) -> ::std::os::raw::c_int;
16499}
16500extern "C" {
16501 pub fn _nmod_poly_shift_left(
16502 res: mp_ptr,
16503 poly: mp_srcptr,
16504 len: mp_limb_signed_t,
16505 k: mp_limb_signed_t,
16506 );
16507}
16508extern "C" {
16509 pub fn nmod_poly_shift_left(
16510 res: *mut nmod_poly_struct,
16511 poly: *mut nmod_poly_struct,
16512 k: mp_limb_signed_t,
16513 );
16514}
16515extern "C" {
16516 pub fn _nmod_poly_shift_right(
16517 res: mp_ptr,
16518 poly: mp_srcptr,
16519 len: mp_limb_signed_t,
16520 k: mp_limb_signed_t,
16521 );
16522}
16523extern "C" {
16524 pub fn nmod_poly_shift_right(
16525 res: *mut nmod_poly_struct,
16526 poly: *mut nmod_poly_struct,
16527 k: mp_limb_signed_t,
16528 );
16529}
16530extern "C" {
16531 pub fn _nmod_poly_add(
16532 res: mp_ptr,
16533 poly1: mp_srcptr,
16534 len1: mp_limb_signed_t,
16535 poly2: mp_srcptr,
16536 len2: mp_limb_signed_t,
16537 mod_: nmod_t,
16538 );
16539}
16540extern "C" {
16541 pub fn nmod_poly_add(
16542 res: *mut nmod_poly_struct,
16543 poly1: *mut nmod_poly_struct,
16544 poly2: *mut nmod_poly_struct,
16545 );
16546}
16547extern "C" {
16548 pub fn nmod_poly_add_ui(res: *mut nmod_poly_struct, poly: *mut nmod_poly_struct, c: mp_limb_t);
16549}
16550extern "C" {
16551 pub fn nmod_poly_add_series(
16552 res: *mut nmod_poly_struct,
16553 poly1: *mut nmod_poly_struct,
16554 poly2: *mut nmod_poly_struct,
16555 n: mp_limb_signed_t,
16556 );
16557}
16558extern "C" {
16559 pub fn _nmod_poly_sub(
16560 res: mp_ptr,
16561 poly1: mp_srcptr,
16562 len1: mp_limb_signed_t,
16563 poly2: mp_srcptr,
16564 len2: mp_limb_signed_t,
16565 mod_: nmod_t,
16566 );
16567}
16568extern "C" {
16569 pub fn nmod_poly_sub(
16570 res: *mut nmod_poly_struct,
16571 poly1: *mut nmod_poly_struct,
16572 poly2: *mut nmod_poly_struct,
16573 );
16574}
16575extern "C" {
16576 pub fn nmod_poly_sub_series(
16577 res: *mut nmod_poly_struct,
16578 poly1: *mut nmod_poly_struct,
16579 poly2: *mut nmod_poly_struct,
16580 n: mp_limb_signed_t,
16581 );
16582}
16583extern "C" {
16584 pub fn nmod_poly_sub_ui(res: *mut nmod_poly_struct, poly: *mut nmod_poly_struct, c: mp_limb_t);
16585}
16586extern "C" {
16587 pub fn nmod_poly_neg(res: *mut nmod_poly_struct, poly1: *mut nmod_poly_struct);
16588}
16589extern "C" {
16590 pub fn nmod_poly_scalar_mul_nmod(
16591 res: *mut nmod_poly_struct,
16592 poly1: *mut nmod_poly_struct,
16593 c: mp_limb_t,
16594 );
16595}
16596extern "C" {
16597 pub fn _nmod_poly_make_monic(
16598 output: mp_ptr,
16599 input: mp_srcptr,
16600 len: mp_limb_signed_t,
16601 mod_: nmod_t,
16602 );
16603}
16604extern "C" {
16605 pub fn nmod_poly_make_monic(output: *mut nmod_poly_struct, input: *mut nmod_poly_struct);
16606}
16607extern "C" {
16608 pub fn _nmod_poly_KS2_pack1(
16609 res: mp_ptr,
16610 op: mp_srcptr,
16611 n: mp_limb_signed_t,
16612 s: mp_limb_signed_t,
16613 b: mp_limb_t,
16614 k: mp_limb_t,
16615 r: mp_limb_signed_t,
16616 );
16617}
16618extern "C" {
16619 pub fn _nmod_poly_KS2_pack(
16620 res: mp_ptr,
16621 op: mp_srcptr,
16622 n: mp_limb_signed_t,
16623 s: mp_limb_signed_t,
16624 b: mp_limb_t,
16625 k: mp_limb_t,
16626 r: mp_limb_signed_t,
16627 );
16628}
16629extern "C" {
16630 pub fn _nmod_poly_KS2_unpack1(
16631 res: mp_ptr,
16632 op: mp_srcptr,
16633 n: mp_limb_signed_t,
16634 b: mp_limb_t,
16635 k: mp_limb_t,
16636 );
16637}
16638extern "C" {
16639 pub fn _nmod_poly_KS2_unpack2(
16640 res: mp_ptr,
16641 op: mp_srcptr,
16642 n: mp_limb_signed_t,
16643 b: mp_limb_t,
16644 k: mp_limb_t,
16645 );
16646}
16647extern "C" {
16648 pub fn _nmod_poly_KS2_unpack3(
16649 res: mp_ptr,
16650 op: mp_srcptr,
16651 n: mp_limb_signed_t,
16652 b: mp_limb_t,
16653 k: mp_limb_t,
16654 );
16655}
16656extern "C" {
16657 pub fn _nmod_poly_KS2_unpack(
16658 res: mp_ptr,
16659 op: mp_srcptr,
16660 n: mp_limb_signed_t,
16661 b: mp_limb_t,
16662 k: mp_limb_t,
16663 );
16664}
16665extern "C" {
16666 pub fn _nmod_poly_KS2_reduce(
16667 res: mp_ptr,
16668 s: mp_limb_signed_t,
16669 op: mp_srcptr,
16670 n: mp_limb_signed_t,
16671 w: mp_limb_t,
16672 mod_: nmod_t,
16673 );
16674}
16675extern "C" {
16676 pub fn _nmod_poly_KS2_recover_reduce1(
16677 res: mp_ptr,
16678 s: mp_limb_signed_t,
16679 op1: mp_srcptr,
16680 op2: mp_srcptr,
16681 n: mp_limb_signed_t,
16682 b: mp_limb_t,
16683 mod_: nmod_t,
16684 );
16685}
16686extern "C" {
16687 pub fn _nmod_poly_KS2_recover_reduce2(
16688 res: mp_ptr,
16689 s: mp_limb_signed_t,
16690 op1: mp_srcptr,
16691 op2: mp_srcptr,
16692 n: mp_limb_signed_t,
16693 b: mp_limb_t,
16694 mod_: nmod_t,
16695 );
16696}
16697extern "C" {
16698 pub fn _nmod_poly_KS2_recover_reduce2b(
16699 res: mp_ptr,
16700 s: mp_limb_signed_t,
16701 op1: mp_srcptr,
16702 op2: mp_srcptr,
16703 n: mp_limb_signed_t,
16704 b: mp_limb_t,
16705 mod_: nmod_t,
16706 );
16707}
16708extern "C" {
16709 pub fn _nmod_poly_KS2_recover_reduce3(
16710 res: mp_ptr,
16711 s: mp_limb_signed_t,
16712 op1: mp_srcptr,
16713 op2: mp_srcptr,
16714 n: mp_limb_signed_t,
16715 b: mp_limb_t,
16716 mod_: nmod_t,
16717 );
16718}
16719extern "C" {
16720 pub fn _nmod_poly_KS2_recover_reduce(
16721 res: mp_ptr,
16722 s: mp_limb_signed_t,
16723 op1: mp_srcptr,
16724 op2: mp_srcptr,
16725 n: mp_limb_signed_t,
16726 b: mp_limb_t,
16727 mod_: nmod_t,
16728 );
16729}
16730extern "C" {
16731 pub fn _nmod_poly_bit_pack(
16732 res: mp_ptr,
16733 poly: mp_srcptr,
16734 len: mp_limb_signed_t,
16735 bits: mp_limb_t,
16736 );
16737}
16738extern "C" {
16739 pub fn _nmod_poly_bit_unpack(
16740 res: mp_ptr,
16741 len: mp_limb_signed_t,
16742 mpn: mp_srcptr,
16743 bits: mp_limb_t,
16744 mod_: nmod_t,
16745 );
16746}
16747extern "C" {
16748 pub fn nmod_poly_bit_pack(f: *mut fmpz, poly: *mut nmod_poly_struct, bit_size: mp_limb_t);
16749}
16750extern "C" {
16751 pub fn nmod_poly_bit_unpack(poly: *mut nmod_poly_struct, f: *mut fmpz, bit_size: mp_limb_t);
16752}
16753extern "C" {
16754 pub fn _nmod_poly_mul_classical(
16755 res: mp_ptr,
16756 poly1: mp_srcptr,
16757 len1: mp_limb_signed_t,
16758 poly2: mp_srcptr,
16759 len2: mp_limb_signed_t,
16760 mod_: nmod_t,
16761 );
16762}
16763extern "C" {
16764 pub fn nmod_poly_mul_classical(
16765 res: *mut nmod_poly_struct,
16766 poly1: *mut nmod_poly_struct,
16767 poly2: *mut nmod_poly_struct,
16768 );
16769}
16770extern "C" {
16771 pub fn _nmod_poly_mullow_classical(
16772 res: mp_ptr,
16773 poly1: mp_srcptr,
16774 len1: mp_limb_signed_t,
16775 poly2: mp_srcptr,
16776 len2: mp_limb_signed_t,
16777 trunc: mp_limb_signed_t,
16778 mod_: nmod_t,
16779 );
16780}
16781extern "C" {
16782 pub fn nmod_poly_mullow_classical(
16783 res: *mut nmod_poly_struct,
16784 poly1: *mut nmod_poly_struct,
16785 poly2: *mut nmod_poly_struct,
16786 trunc: mp_limb_signed_t,
16787 );
16788}
16789extern "C" {
16790 pub fn _nmod_poly_mulhigh_classical(
16791 res: mp_ptr,
16792 poly1: mp_srcptr,
16793 len1: mp_limb_signed_t,
16794 poly2: mp_srcptr,
16795 len2: mp_limb_signed_t,
16796 start: mp_limb_signed_t,
16797 mod_: nmod_t,
16798 );
16799}
16800extern "C" {
16801 pub fn nmod_poly_mulhigh_classical(
16802 res: *mut nmod_poly_struct,
16803 poly1: *mut nmod_poly_struct,
16804 poly2: *mut nmod_poly_struct,
16805 start: mp_limb_signed_t,
16806 );
16807}
16808extern "C" {
16809 pub fn _nmod_poly_mul_KS(
16810 out: mp_ptr,
16811 in1: mp_srcptr,
16812 len1: mp_limb_signed_t,
16813 in2: mp_srcptr,
16814 len2: mp_limb_signed_t,
16815 bits: mp_limb_t,
16816 mod_: nmod_t,
16817 );
16818}
16819extern "C" {
16820 pub fn nmod_poly_mul_KS(
16821 res: *mut nmod_poly_struct,
16822 poly1: *mut nmod_poly_struct,
16823 poly2: *mut nmod_poly_struct,
16824 bits: mp_limb_t,
16825 );
16826}
16827extern "C" {
16828 pub fn _nmod_poly_mul_KS2(
16829 res: mp_ptr,
16830 op1: mp_srcptr,
16831 n1: mp_limb_signed_t,
16832 op2: mp_srcptr,
16833 n2: mp_limb_signed_t,
16834 mod_: nmod_t,
16835 );
16836}
16837extern "C" {
16838 pub fn nmod_poly_mul_KS2(
16839 res: *mut nmod_poly_struct,
16840 poly1: *mut nmod_poly_struct,
16841 poly2: *mut nmod_poly_struct,
16842 );
16843}
16844extern "C" {
16845 pub fn _nmod_poly_mul_KS4(
16846 res: mp_ptr,
16847 op1: mp_srcptr,
16848 n1: mp_limb_signed_t,
16849 op2: mp_srcptr,
16850 n2: mp_limb_signed_t,
16851 mod_: nmod_t,
16852 );
16853}
16854extern "C" {
16855 pub fn nmod_poly_mul_KS4(
16856 res: *mut nmod_poly_struct,
16857 poly1: *mut nmod_poly_struct,
16858 poly2: *mut nmod_poly_struct,
16859 );
16860}
16861extern "C" {
16862 pub fn _nmod_poly_mullow_KS(
16863 out: mp_ptr,
16864 in1: mp_srcptr,
16865 len1: mp_limb_signed_t,
16866 in2: mp_srcptr,
16867 len2: mp_limb_signed_t,
16868 bits: mp_limb_t,
16869 n: mp_limb_signed_t,
16870 mod_: nmod_t,
16871 );
16872}
16873extern "C" {
16874 pub fn nmod_poly_mullow_KS(
16875 res: *mut nmod_poly_struct,
16876 poly1: *mut nmod_poly_struct,
16877 poly2: *mut nmod_poly_struct,
16878 bits: mp_limb_t,
16879 n: mp_limb_signed_t,
16880 );
16881}
16882extern "C" {
16883 pub fn _nmod_poly_mul(
16884 res: mp_ptr,
16885 poly1: mp_srcptr,
16886 len1: mp_limb_signed_t,
16887 poly2: mp_srcptr,
16888 len2: mp_limb_signed_t,
16889 mod_: nmod_t,
16890 );
16891}
16892extern "C" {
16893 pub fn nmod_poly_mul(
16894 res: *mut nmod_poly_struct,
16895 poly1: *mut nmod_poly_struct,
16896 poly2: *mut nmod_poly_struct,
16897 );
16898}
16899extern "C" {
16900 pub fn _nmod_poly_mullow(
16901 res: mp_ptr,
16902 poly1: mp_srcptr,
16903 len1: mp_limb_signed_t,
16904 poly2: mp_srcptr,
16905 len2: mp_limb_signed_t,
16906 trunc: mp_limb_signed_t,
16907 mod_: nmod_t,
16908 );
16909}
16910extern "C" {
16911 pub fn nmod_poly_mullow(
16912 res: *mut nmod_poly_struct,
16913 poly1: *mut nmod_poly_struct,
16914 poly2: *mut nmod_poly_struct,
16915 trunc: mp_limb_signed_t,
16916 );
16917}
16918extern "C" {
16919 pub fn _nmod_poly_mulhigh(
16920 res: mp_ptr,
16921 poly1: mp_srcptr,
16922 len1: mp_limb_signed_t,
16923 poly2: mp_srcptr,
16924 len2: mp_limb_signed_t,
16925 n: mp_limb_signed_t,
16926 mod_: nmod_t,
16927 );
16928}
16929extern "C" {
16930 pub fn nmod_poly_mulhigh(
16931 res: *mut nmod_poly_struct,
16932 poly1: *mut nmod_poly_struct,
16933 poly2: *mut nmod_poly_struct,
16934 n: mp_limb_signed_t,
16935 );
16936}
16937extern "C" {
16938 pub fn _nmod_poly_mulmod(
16939 res: mp_ptr,
16940 poly1: mp_srcptr,
16941 len1: mp_limb_signed_t,
16942 poly2: mp_srcptr,
16943 len2: mp_limb_signed_t,
16944 f: mp_srcptr,
16945 lenf: mp_limb_signed_t,
16946 mod_: nmod_t,
16947 );
16948}
16949extern "C" {
16950 pub fn nmod_poly_mulmod(
16951 res: *mut nmod_poly_struct,
16952 poly1: *mut nmod_poly_struct,
16953 poly2: *mut nmod_poly_struct,
16954 f: *mut nmod_poly_struct,
16955 );
16956}
16957extern "C" {
16958 pub fn _nmod_poly_mulmod_preinv(
16959 res: mp_ptr,
16960 poly1: mp_srcptr,
16961 len1: mp_limb_signed_t,
16962 poly2: mp_srcptr,
16963 len2: mp_limb_signed_t,
16964 f: mp_srcptr,
16965 lenf: mp_limb_signed_t,
16966 finv: mp_srcptr,
16967 lenfinv: mp_limb_signed_t,
16968 mod_: nmod_t,
16969 );
16970}
16971extern "C" {
16972 pub fn nmod_poly_mulmod_preinv(
16973 res: *mut nmod_poly_struct,
16974 poly1: *mut nmod_poly_struct,
16975 poly2: *mut nmod_poly_struct,
16976 f: *mut nmod_poly_struct,
16977 finv: *mut nmod_poly_struct,
16978 );
16979}
16980extern "C" {
16981 pub fn _nmod_poly_invmod(
16982 A: *mut mp_limb_t,
16983 B: *const mp_limb_t,
16984 lenB: mp_limb_signed_t,
16985 P: *const mp_limb_t,
16986 lenP: mp_limb_signed_t,
16987 mod_: nmod_t,
16988 ) -> ::std::os::raw::c_int;
16989}
16990extern "C" {
16991 pub fn nmod_poly_invmod(
16992 A: *mut nmod_poly_struct,
16993 B: *mut nmod_poly_struct,
16994 P: *mut nmod_poly_struct,
16995 ) -> ::std::os::raw::c_int;
16996}
16997extern "C" {
16998 pub fn _nmod_poly_pow_binexp(
16999 res: mp_ptr,
17000 poly: mp_srcptr,
17001 len: mp_limb_signed_t,
17002 e: mp_limb_t,
17003 mod_: nmod_t,
17004 );
17005}
17006extern "C" {
17007 pub fn nmod_poly_pow_binexp(
17008 res: *mut nmod_poly_struct,
17009 poly: *mut nmod_poly_struct,
17010 e: mp_limb_t,
17011 );
17012}
17013extern "C" {
17014 pub fn _nmod_poly_pow(
17015 res: mp_ptr,
17016 poly: mp_srcptr,
17017 len: mp_limb_signed_t,
17018 e: mp_limb_t,
17019 mod_: nmod_t,
17020 );
17021}
17022extern "C" {
17023 pub fn nmod_poly_pow(res: *mut nmod_poly_struct, poly: *mut nmod_poly_struct, e: mp_limb_t);
17024}
17025extern "C" {
17026 pub fn _nmod_poly_pow_trunc_binexp(
17027 res: mp_ptr,
17028 poly: mp_srcptr,
17029 e: mp_limb_t,
17030 trunc: mp_limb_signed_t,
17031 mod_: nmod_t,
17032 );
17033}
17034extern "C" {
17035 pub fn nmod_poly_pow_trunc_binexp(
17036 res: *mut nmod_poly_struct,
17037 poly: *mut nmod_poly_struct,
17038 e: mp_limb_t,
17039 trunc: mp_limb_signed_t,
17040 );
17041}
17042extern "C" {
17043 pub fn _nmod_poly_pow_trunc(
17044 res: mp_ptr,
17045 poly: mp_srcptr,
17046 e: mp_limb_t,
17047 trunc: mp_limb_signed_t,
17048 mod_: nmod_t,
17049 );
17050}
17051extern "C" {
17052 pub fn nmod_poly_pow_trunc(
17053 res: *mut nmod_poly_struct,
17054 poly: *mut nmod_poly_struct,
17055 e: mp_limb_t,
17056 trunc: mp_limb_signed_t,
17057 );
17058}
17059extern "C" {
17060 pub fn nmod_poly_powmod_ui_binexp(
17061 res: *mut nmod_poly_struct,
17062 poly: *mut nmod_poly_struct,
17063 e: mp_limb_t,
17064 f: *mut nmod_poly_struct,
17065 );
17066}
17067extern "C" {
17068 pub fn _nmod_poly_powmod_ui_binexp(
17069 res: mp_ptr,
17070 poly: mp_srcptr,
17071 e: mp_limb_t,
17072 f: mp_srcptr,
17073 lenf: mp_limb_signed_t,
17074 mod_: nmod_t,
17075 );
17076}
17077extern "C" {
17078 pub fn nmod_poly_powmod_fmpz_binexp(
17079 res: *mut nmod_poly_struct,
17080 poly: *mut nmod_poly_struct,
17081 e: *mut fmpz,
17082 f: *mut nmod_poly_struct,
17083 );
17084}
17085extern "C" {
17086 pub fn _nmod_poly_powmod_fmpz_binexp(
17087 res: mp_ptr,
17088 poly: mp_srcptr,
17089 e: *mut fmpz,
17090 f: mp_srcptr,
17091 lenf: mp_limb_signed_t,
17092 mod_: nmod_t,
17093 );
17094}
17095extern "C" {
17096 pub fn _nmod_poly_powmod_mpz_binexp(
17097 res: mp_ptr,
17098 poly: mp_srcptr,
17099 e: mpz_srcptr,
17100 f: mp_srcptr,
17101 lenf: mp_limb_signed_t,
17102 mod_: nmod_t,
17103 );
17104}
17105extern "C" {
17106 pub fn nmod_poly_powmod_mpz_binexp(
17107 res: *mut nmod_poly_struct,
17108 poly: *mut nmod_poly_struct,
17109 e: mpz_srcptr,
17110 f: *mut nmod_poly_struct,
17111 );
17112}
17113extern "C" {
17114 pub fn _nmod_poly_powmod_ui_binexp_preinv(
17115 res: mp_ptr,
17116 poly: mp_srcptr,
17117 e: mp_limb_t,
17118 f: mp_srcptr,
17119 lenf: mp_limb_signed_t,
17120 finv: mp_srcptr,
17121 lenfinv: mp_limb_signed_t,
17122 mod_: nmod_t,
17123 );
17124}
17125extern "C" {
17126 pub fn nmod_poly_powmod_ui_binexp_preinv(
17127 res: *mut nmod_poly_struct,
17128 poly: *mut nmod_poly_struct,
17129 e: mp_limb_t,
17130 f: *mut nmod_poly_struct,
17131 finv: *mut nmod_poly_struct,
17132 );
17133}
17134extern "C" {
17135 pub fn _nmod_poly_powmod_fmpz_binexp_preinv(
17136 res: mp_ptr,
17137 poly: mp_srcptr,
17138 e: *mut fmpz,
17139 f: mp_srcptr,
17140 lenf: mp_limb_signed_t,
17141 finv: mp_srcptr,
17142 lenfinv: mp_limb_signed_t,
17143 mod_: nmod_t,
17144 );
17145}
17146extern "C" {
17147 pub fn nmod_poly_powmod_fmpz_binexp_preinv(
17148 res: *mut nmod_poly_struct,
17149 poly: *mut nmod_poly_struct,
17150 e: *mut fmpz,
17151 f: *mut nmod_poly_struct,
17152 finv: *mut nmod_poly_struct,
17153 );
17154}
17155extern "C" {
17156 pub fn _nmod_poly_powmod_x_ui_preinv(
17157 res: mp_ptr,
17158 e: mp_limb_t,
17159 f: mp_srcptr,
17160 lenf: mp_limb_signed_t,
17161 finv: mp_srcptr,
17162 lenfinv: mp_limb_signed_t,
17163 mod_: nmod_t,
17164 );
17165}
17166extern "C" {
17167 pub fn nmod_poly_powmod_x_ui_preinv(
17168 res: *mut nmod_poly_struct,
17169 e: mp_limb_t,
17170 f: *mut nmod_poly_struct,
17171 finv: *mut nmod_poly_struct,
17172 );
17173}
17174extern "C" {
17175 pub fn _nmod_poly_powmod_mpz_binexp_preinv(
17176 res: mp_ptr,
17177 poly: mp_srcptr,
17178 e: mpz_srcptr,
17179 f: mp_srcptr,
17180 lenf: mp_limb_signed_t,
17181 finv: mp_srcptr,
17182 lenfinv: mp_limb_signed_t,
17183 mod_: nmod_t,
17184 );
17185}
17186extern "C" {
17187 pub fn nmod_poly_powmod_mpz_binexp_preinv(
17188 res: *mut nmod_poly_struct,
17189 poly: *mut nmod_poly_struct,
17190 e: mpz_srcptr,
17191 f: *mut nmod_poly_struct,
17192 finv: *mut nmod_poly_struct,
17193 );
17194}
17195extern "C" {
17196 pub fn _nmod_poly_powmod_x_fmpz_preinv(
17197 res: mp_ptr,
17198 e: *mut fmpz,
17199 f: mp_srcptr,
17200 lenf: mp_limb_signed_t,
17201 finv: mp_srcptr,
17202 lenfinv: mp_limb_signed_t,
17203 mod_: nmod_t,
17204 );
17205}
17206extern "C" {
17207 pub fn nmod_poly_powmod_x_fmpz_preinv(
17208 res: *mut nmod_poly_struct,
17209 e: *mut fmpz,
17210 f: *mut nmod_poly_struct,
17211 finv: *mut nmod_poly_struct,
17212 );
17213}
17214extern "C" {
17215 pub fn _nmod_poly_powers_mod_preinv_naive(
17216 res: *mut mp_ptr,
17217 f: mp_srcptr,
17218 flen: mp_limb_signed_t,
17219 n: mp_limb_signed_t,
17220 g: mp_srcptr,
17221 glen: mp_limb_signed_t,
17222 ginv: mp_srcptr,
17223 ginvlen: mp_limb_signed_t,
17224 mod_: nmod_t,
17225 );
17226}
17227extern "C" {
17228 pub fn nmod_poly_powers_mod_naive(
17229 res: *mut nmod_poly_struct,
17230 f: *mut nmod_poly_struct,
17231 n: mp_limb_signed_t,
17232 g: *mut nmod_poly_struct,
17233 );
17234}
17235extern "C" {
17236 pub fn _nmod_poly_powers_mod_preinv_threaded_pool(
17237 res: *mut mp_ptr,
17238 f: mp_srcptr,
17239 flen: mp_limb_signed_t,
17240 n: mp_limb_signed_t,
17241 g: mp_srcptr,
17242 glen: mp_limb_signed_t,
17243 ginv: mp_srcptr,
17244 ginvlen: mp_limb_signed_t,
17245 mod_: nmod_t,
17246 threads: *mut thread_pool_handle,
17247 num_threads: mp_limb_signed_t,
17248 );
17249}
17250extern "C" {
17251 pub fn _nmod_poly_powers_mod_preinv_threaded(
17252 res: *mut mp_ptr,
17253 f: mp_srcptr,
17254 flen: mp_limb_signed_t,
17255 n: mp_limb_signed_t,
17256 g: mp_srcptr,
17257 glen: mp_limb_signed_t,
17258 ginv: mp_srcptr,
17259 ginvlen: mp_limb_signed_t,
17260 mod_: nmod_t,
17261 );
17262}
17263extern "C" {
17264 pub fn nmod_poly_powers_mod_bsgs(
17265 res: *mut nmod_poly_struct,
17266 f: *mut nmod_poly_struct,
17267 n: mp_limb_signed_t,
17268 g: *mut nmod_poly_struct,
17269 );
17270}
17271extern "C" {
17272 pub fn _nmod_poly_divrem_basecase(
17273 Q: mp_ptr,
17274 R: mp_ptr,
17275 W: mp_ptr,
17276 A: mp_srcptr,
17277 A_len: mp_limb_signed_t,
17278 B: mp_srcptr,
17279 B_len: mp_limb_signed_t,
17280 mod_: nmod_t,
17281 );
17282}
17283extern "C" {
17284 pub fn nmod_poly_divrem_basecase(
17285 Q: *mut nmod_poly_struct,
17286 R: *mut nmod_poly_struct,
17287 A: *mut nmod_poly_struct,
17288 B: *mut nmod_poly_struct,
17289 );
17290}
17291extern "C" {
17292 pub fn _nmod_poly_divrem_divconquer_recursive(
17293 Q: mp_ptr,
17294 BQ: mp_ptr,
17295 W: mp_ptr,
17296 V: mp_ptr,
17297 A: mp_srcptr,
17298 B: mp_srcptr,
17299 lenB: mp_limb_signed_t,
17300 mod_: nmod_t,
17301 );
17302}
17303extern "C" {
17304 pub fn _nmod_poly_divrem_divconquer(
17305 Q: mp_ptr,
17306 R: mp_ptr,
17307 A: mp_srcptr,
17308 lenA: mp_limb_signed_t,
17309 B: mp_srcptr,
17310 lenB: mp_limb_signed_t,
17311 mod_: nmod_t,
17312 );
17313}
17314extern "C" {
17315 pub fn nmod_poly_divrem_divconquer(
17316 Q: *mut nmod_poly_struct,
17317 R: *mut nmod_poly_struct,
17318 A: *mut nmod_poly_struct,
17319 B: *mut nmod_poly_struct,
17320 );
17321}
17322extern "C" {
17323 pub fn _nmod_poly_divrem_q0(
17324 Q: mp_ptr,
17325 R: mp_ptr,
17326 A: mp_srcptr,
17327 B: mp_srcptr,
17328 lenA: mp_limb_signed_t,
17329 mod_: nmod_t,
17330 );
17331}
17332extern "C" {
17333 pub fn _nmod_poly_divrem_q1(
17334 Q: mp_ptr,
17335 R: mp_ptr,
17336 A: mp_srcptr,
17337 lenA: mp_limb_signed_t,
17338 B: mp_srcptr,
17339 lenB: mp_limb_signed_t,
17340 mod_: nmod_t,
17341 );
17342}
17343extern "C" {
17344 pub fn _nmod_poly_divrem(
17345 Q: mp_ptr,
17346 R: mp_ptr,
17347 A: mp_srcptr,
17348 lenA: mp_limb_signed_t,
17349 B: mp_srcptr,
17350 lenB: mp_limb_signed_t,
17351 mod_: nmod_t,
17352 );
17353}
17354extern "C" {
17355 pub fn nmod_poly_divrem(
17356 Q: *mut nmod_poly_struct,
17357 R: *mut nmod_poly_struct,
17358 A: *mut nmod_poly_struct,
17359 B: *mut nmod_poly_struct,
17360 );
17361}
17362extern "C" {
17363 pub fn _nmod_poly_div_basecase(
17364 Q: mp_ptr,
17365 W: mp_ptr,
17366 A: mp_srcptr,
17367 A_len: mp_limb_signed_t,
17368 B: mp_srcptr,
17369 B_len: mp_limb_signed_t,
17370 mod_: nmod_t,
17371 );
17372}
17373extern "C" {
17374 pub fn nmod_poly_div_basecase(
17375 Q: *mut nmod_poly_struct,
17376 A: *mut nmod_poly_struct,
17377 B: *mut nmod_poly_struct,
17378 );
17379}
17380extern "C" {
17381 pub fn _nmod_poly_div_divconquer_recursive(
17382 Q: mp_ptr,
17383 W: mp_ptr,
17384 V: mp_ptr,
17385 A: mp_srcptr,
17386 B: mp_srcptr,
17387 lenB: mp_limb_signed_t,
17388 mod_: nmod_t,
17389 );
17390}
17391extern "C" {
17392 pub fn _nmod_poly_div_divconquer(
17393 Q: mp_ptr,
17394 A: mp_srcptr,
17395 lenA: mp_limb_signed_t,
17396 B: mp_srcptr,
17397 lenB: mp_limb_signed_t,
17398 mod_: nmod_t,
17399 );
17400}
17401extern "C" {
17402 pub fn nmod_poly_div_divconquer(
17403 Q: *mut nmod_poly_struct,
17404 A: *mut nmod_poly_struct,
17405 B: *mut nmod_poly_struct,
17406 );
17407}
17408extern "C" {
17409 pub fn _nmod_poly_div(
17410 Q: mp_ptr,
17411 A: mp_srcptr,
17412 lenA: mp_limb_signed_t,
17413 B: mp_srcptr,
17414 lenB: mp_limb_signed_t,
17415 mod_: nmod_t,
17416 );
17417}
17418extern "C" {
17419 pub fn nmod_poly_div(
17420 Q: *mut nmod_poly_struct,
17421 A: *mut nmod_poly_struct,
17422 B: *mut nmod_poly_struct,
17423 );
17424}
17425extern "C" {
17426 pub fn _nmod_poly_rem_basecase(
17427 R: mp_ptr,
17428 W: mp_ptr,
17429 A: mp_srcptr,
17430 lenA: mp_limb_signed_t,
17431 B: mp_srcptr,
17432 lenB: mp_limb_signed_t,
17433 mod_: nmod_t,
17434 );
17435}
17436extern "C" {
17437 pub fn nmod_poly_rem_basecase(
17438 R: *mut nmod_poly_struct,
17439 A: *mut nmod_poly_struct,
17440 B: *mut nmod_poly_struct,
17441 );
17442}
17443extern "C" {
17444 pub fn _nmod_poly_rem_q1(
17445 R: mp_ptr,
17446 A: mp_srcptr,
17447 lenA: mp_limb_signed_t,
17448 B: mp_srcptr,
17449 lenB: mp_limb_signed_t,
17450 mod_: nmod_t,
17451 );
17452}
17453extern "C" {
17454 pub fn _nmod_poly_rem(
17455 R: mp_ptr,
17456 A: mp_srcptr,
17457 lenA: mp_limb_signed_t,
17458 B: mp_srcptr,
17459 lenB: mp_limb_signed_t,
17460 mod_: nmod_t,
17461 );
17462}
17463extern "C" {
17464 pub fn nmod_poly_rem(
17465 R: *mut nmod_poly_struct,
17466 A: *mut nmod_poly_struct,
17467 B: *mut nmod_poly_struct,
17468 );
17469}
17470extern "C" {
17471 pub fn _nmod_poly_inv_series_basecase(
17472 Qinv: mp_ptr,
17473 Q: mp_srcptr,
17474 Qlen: mp_limb_signed_t,
17475 n: mp_limb_signed_t,
17476 mod_: nmod_t,
17477 );
17478}
17479extern "C" {
17480 pub fn nmod_poly_inv_series_basecase(
17481 Qinv: *mut nmod_poly_struct,
17482 Q: *mut nmod_poly_struct,
17483 n: mp_limb_signed_t,
17484 );
17485}
17486extern "C" {
17487 pub fn _nmod_poly_inv_series_newton(
17488 Qinv: mp_ptr,
17489 Q: mp_srcptr,
17490 Qlen: mp_limb_signed_t,
17491 n: mp_limb_signed_t,
17492 mod_: nmod_t,
17493 );
17494}
17495extern "C" {
17496 pub fn nmod_poly_inv_series_newton(
17497 Qinv: *mut nmod_poly_struct,
17498 Q: *mut nmod_poly_struct,
17499 n: mp_limb_signed_t,
17500 );
17501}
17502extern "C" {
17503 pub fn _nmod_poly_div_series_basecase(
17504 Q: mp_ptr,
17505 A: mp_srcptr,
17506 Alen: mp_limb_signed_t,
17507 B: mp_srcptr,
17508 Blen: mp_limb_signed_t,
17509 n: mp_limb_signed_t,
17510 mod_: nmod_t,
17511 );
17512}
17513extern "C" {
17514 pub fn nmod_poly_div_series_basecase(
17515 Q: *mut nmod_poly_struct,
17516 A: *mut nmod_poly_struct,
17517 B: *mut nmod_poly_struct,
17518 n: mp_limb_signed_t,
17519 );
17520}
17521extern "C" {
17522 pub fn _nmod_poly_div_series(
17523 Q: mp_ptr,
17524 A: mp_srcptr,
17525 Alen: mp_limb_signed_t,
17526 B: mp_srcptr,
17527 Blen: mp_limb_signed_t,
17528 n: mp_limb_signed_t,
17529 mod_: nmod_t,
17530 );
17531}
17532extern "C" {
17533 pub fn nmod_poly_div_series(
17534 Q: *mut nmod_poly_struct,
17535 A: *mut nmod_poly_struct,
17536 B: *mut nmod_poly_struct,
17537 n: mp_limb_signed_t,
17538 );
17539}
17540extern "C" {
17541 pub fn _nmod_poly_div_newton(
17542 Q: mp_ptr,
17543 A: mp_srcptr,
17544 Alen: mp_limb_signed_t,
17545 B: mp_srcptr,
17546 Blen: mp_limb_signed_t,
17547 mod_: nmod_t,
17548 );
17549}
17550extern "C" {
17551 pub fn nmod_poly_div_newton(
17552 Q: *mut nmod_poly_struct,
17553 A: *mut nmod_poly_struct,
17554 B: *mut nmod_poly_struct,
17555 );
17556}
17557extern "C" {
17558 pub fn _nmod_poly_divrem_newton(
17559 Q: mp_ptr,
17560 R: mp_ptr,
17561 A: mp_srcptr,
17562 Alen: mp_limb_signed_t,
17563 B: mp_srcptr,
17564 Blen: mp_limb_signed_t,
17565 mod_: nmod_t,
17566 );
17567}
17568extern "C" {
17569 pub fn nmod_poly_divrem_newton(
17570 Q: *mut nmod_poly_struct,
17571 R: *mut nmod_poly_struct,
17572 A: *mut nmod_poly_struct,
17573 B: *mut nmod_poly_struct,
17574 );
17575}
17576extern "C" {
17577 pub fn _nmod_poly_div_newton_n_preinv(
17578 Q: mp_ptr,
17579 A: mp_srcptr,
17580 lenA: mp_limb_signed_t,
17581 B: mp_srcptr,
17582 lenB: mp_limb_signed_t,
17583 Binv: mp_srcptr,
17584 lenBinv: mp_limb_signed_t,
17585 mod_: nmod_t,
17586 );
17587}
17588extern "C" {
17589 pub fn nmod_poly_div_newton_n_preinv(
17590 Q: *mut nmod_poly_struct,
17591 A: *mut nmod_poly_struct,
17592 B: *mut nmod_poly_struct,
17593 Binv: *mut nmod_poly_struct,
17594 );
17595}
17596extern "C" {
17597 pub fn _nmod_poly_divrem_newton_n_preinv(
17598 Q: mp_ptr,
17599 R: mp_ptr,
17600 A: mp_srcptr,
17601 lenA: mp_limb_signed_t,
17602 B: mp_srcptr,
17603 lenB: mp_limb_signed_t,
17604 Binv: mp_srcptr,
17605 lenBinv: mp_limb_signed_t,
17606 mod_: nmod_t,
17607 );
17608}
17609extern "C" {
17610 pub fn nmod_poly_divrem_newton_n_preinv(
17611 Q: *mut nmod_poly_struct,
17612 R: *mut nmod_poly_struct,
17613 A: *mut nmod_poly_struct,
17614 B: *mut nmod_poly_struct,
17615 Binv: *mut nmod_poly_struct,
17616 );
17617}
17618extern "C" {
17619 pub fn _nmod_poly_div_root(
17620 Q: mp_ptr,
17621 A: mp_srcptr,
17622 len: mp_limb_signed_t,
17623 c: mp_limb_t,
17624 mod_: nmod_t,
17625 ) -> mp_limb_t;
17626}
17627extern "C" {
17628 pub fn nmod_poly_div_root(
17629 Q: *mut nmod_poly_struct,
17630 A: *mut nmod_poly_struct,
17631 c: mp_limb_t,
17632 ) -> mp_limb_t;
17633}
17634extern "C" {
17635 pub fn _nmod_poly_derivative(
17636 x_prime: mp_ptr,
17637 x: mp_srcptr,
17638 len: mp_limb_signed_t,
17639 mod_: nmod_t,
17640 );
17641}
17642extern "C" {
17643 pub fn nmod_poly_derivative(x_prime: *mut nmod_poly_struct, x: *mut nmod_poly_struct);
17644}
17645extern "C" {
17646 pub fn _nmod_poly_integral(x_int: mp_ptr, x: mp_srcptr, len: mp_limb_signed_t, mod_: nmod_t);
17647}
17648extern "C" {
17649 pub fn nmod_poly_integral(x_int: *mut nmod_poly_struct, x: *mut nmod_poly_struct);
17650}
17651extern "C" {
17652 pub fn _nmod_poly_evaluate_fmpz(
17653 rop: *mut fmpz,
17654 poly: mp_srcptr,
17655 len: mp_limb_signed_t,
17656 c: *mut fmpz,
17657 );
17658}
17659extern "C" {
17660 pub fn nmod_poly_evaluate_fmpz(rop: *mut fmpz, poly: *mut nmod_poly_struct, c: *mut fmpz);
17661}
17662extern "C" {
17663 pub fn _nmod_poly_evaluate_nmod(
17664 poly: mp_srcptr,
17665 len: mp_limb_signed_t,
17666 c: mp_limb_t,
17667 mod_: nmod_t,
17668 ) -> mp_limb_t;
17669}
17670extern "C" {
17671 pub fn nmod_poly_evaluate_nmod(poly: *mut nmod_poly_struct, c: mp_limb_t) -> mp_limb_t;
17672}
17673extern "C" {
17674 pub fn _nmod_poly_evaluate_nmod_vec(
17675 ys: mp_ptr,
17676 coeffs: mp_srcptr,
17677 len: mp_limb_signed_t,
17678 xs: mp_srcptr,
17679 n: mp_limb_signed_t,
17680 mod_: nmod_t,
17681 );
17682}
17683extern "C" {
17684 pub fn nmod_poly_evaluate_nmod_vec(
17685 ys: mp_ptr,
17686 poly: *mut nmod_poly_struct,
17687 xs: mp_srcptr,
17688 n: mp_limb_signed_t,
17689 );
17690}
17691extern "C" {
17692 pub fn _nmod_poly_evaluate_nmod_vec_iter(
17693 ys: mp_ptr,
17694 coeffs: mp_srcptr,
17695 len: mp_limb_signed_t,
17696 xs: mp_srcptr,
17697 n: mp_limb_signed_t,
17698 mod_: nmod_t,
17699 );
17700}
17701extern "C" {
17702 pub fn nmod_poly_evaluate_nmod_vec_iter(
17703 ys: mp_ptr,
17704 poly: *mut nmod_poly_struct,
17705 xs: mp_srcptr,
17706 n: mp_limb_signed_t,
17707 );
17708}
17709extern "C" {
17710 pub fn _nmod_poly_evaluate_nmod_vec_fast_precomp(
17711 vs: mp_ptr,
17712 poly: mp_srcptr,
17713 plen: mp_limb_signed_t,
17714 tree: *const mp_ptr,
17715 len: mp_limb_signed_t,
17716 mod_: nmod_t,
17717 );
17718}
17719extern "C" {
17720 pub fn _nmod_poly_evaluate_nmod_vec_fast(
17721 ys: mp_ptr,
17722 coeffs: mp_srcptr,
17723 len: mp_limb_signed_t,
17724 xs: mp_srcptr,
17725 n: mp_limb_signed_t,
17726 mod_: nmod_t,
17727 );
17728}
17729extern "C" {
17730 pub fn nmod_poly_evaluate_nmod_vec_fast(
17731 ys: mp_ptr,
17732 poly: *mut nmod_poly_struct,
17733 xs: mp_srcptr,
17734 n: mp_limb_signed_t,
17735 );
17736}
17737extern "C" {
17738 pub fn nmod_mat_one_addmul(dest: *mut nmod_mat_struct, mat: *mut nmod_mat_struct, c: mp_limb_t);
17739}
17740extern "C" {
17741 pub fn nmod_poly_evaluate_mat_horner(
17742 dest: *mut nmod_mat_struct,
17743 poly: *mut nmod_poly_struct,
17744 c: *mut nmod_mat_struct,
17745 );
17746}
17747extern "C" {
17748 pub fn nmod_poly_evaluate_mat_paterson_stockmeyer(
17749 dest: *mut nmod_mat_struct,
17750 poly: *mut nmod_poly_struct,
17751 c: *mut nmod_mat_struct,
17752 );
17753}
17754extern "C" {
17755 pub fn _nmod_poly_tree_alloc(len: mp_limb_signed_t) -> *mut mp_ptr;
17756}
17757extern "C" {
17758 pub fn _nmod_poly_tree_free(tree: *mut mp_ptr, len: mp_limb_signed_t);
17759}
17760extern "C" {
17761 pub fn _nmod_poly_tree_build(
17762 tree: *mut mp_ptr,
17763 roots: mp_srcptr,
17764 len: mp_limb_signed_t,
17765 mod_: nmod_t,
17766 );
17767}
17768extern "C" {
17769 pub fn _nmod_poly_interpolate_nmod_vec_newton(
17770 poly: mp_ptr,
17771 xs: mp_srcptr,
17772 ys: mp_srcptr,
17773 n: mp_limb_signed_t,
17774 mod_: nmod_t,
17775 );
17776}
17777extern "C" {
17778 pub fn nmod_poly_interpolate_nmod_vec_newton(
17779 poly: *mut nmod_poly_struct,
17780 xs: mp_srcptr,
17781 ys: mp_srcptr,
17782 n: mp_limb_signed_t,
17783 );
17784}
17785extern "C" {
17786 pub fn _nmod_poly_interpolate_nmod_vec_barycentric(
17787 poly: mp_ptr,
17788 xs: mp_srcptr,
17789 ys: mp_srcptr,
17790 n: mp_limb_signed_t,
17791 mod_: nmod_t,
17792 );
17793}
17794extern "C" {
17795 pub fn nmod_poly_interpolate_nmod_vec_barycentric(
17796 poly: *mut nmod_poly_struct,
17797 xs: mp_srcptr,
17798 ys: mp_srcptr,
17799 n: mp_limb_signed_t,
17800 );
17801}
17802extern "C" {
17803 pub fn _nmod_poly_interpolate_nmod_vec(
17804 poly: mp_ptr,
17805 xs: mp_srcptr,
17806 ys: mp_srcptr,
17807 n: mp_limb_signed_t,
17808 mod_: nmod_t,
17809 );
17810}
17811extern "C" {
17812 pub fn nmod_poly_interpolate_nmod_vec(
17813 poly: *mut nmod_poly_struct,
17814 xs: mp_srcptr,
17815 ys: mp_srcptr,
17816 n: mp_limb_signed_t,
17817 );
17818}
17819extern "C" {
17820 pub fn nmod_poly_interpolate_nmod_vec_fast(
17821 poly: *mut nmod_poly_struct,
17822 xs: mp_srcptr,
17823 ys: mp_srcptr,
17824 n: mp_limb_signed_t,
17825 );
17826}
17827extern "C" {
17828 pub fn _nmod_poly_interpolate_nmod_vec_fast(
17829 poly: mp_ptr,
17830 xs: mp_srcptr,
17831 ys: mp_srcptr,
17832 len: mp_limb_signed_t,
17833 mod_: nmod_t,
17834 );
17835}
17836extern "C" {
17837 pub fn _nmod_poly_interpolate_nmod_vec_fast_precomp(
17838 poly: mp_ptr,
17839 ys: mp_srcptr,
17840 tree: *const mp_ptr,
17841 weights: mp_srcptr,
17842 len: mp_limb_signed_t,
17843 mod_: nmod_t,
17844 );
17845}
17846extern "C" {
17847 pub fn _nmod_poly_interpolation_weights(
17848 w: mp_ptr,
17849 tree: *const mp_ptr,
17850 len: mp_limb_signed_t,
17851 mod_: nmod_t,
17852 );
17853}
17854extern "C" {
17855 pub fn _nmod_poly_compose_horner(
17856 res: mp_ptr,
17857 poly1: mp_srcptr,
17858 len1: mp_limb_signed_t,
17859 poly2: mp_srcptr,
17860 len2: mp_limb_signed_t,
17861 mod_: nmod_t,
17862 );
17863}
17864extern "C" {
17865 pub fn nmod_poly_compose_horner(
17866 res: *mut nmod_poly_struct,
17867 poly1: *mut nmod_poly_struct,
17868 poly2: *mut nmod_poly_struct,
17869 );
17870}
17871extern "C" {
17872 pub fn _nmod_poly_compose_divconquer(
17873 res: mp_ptr,
17874 poly1: mp_srcptr,
17875 len1: mp_limb_signed_t,
17876 poly2: mp_srcptr,
17877 len2: mp_limb_signed_t,
17878 mod_: nmod_t,
17879 );
17880}
17881extern "C" {
17882 pub fn nmod_poly_compose_divconquer(
17883 res: *mut nmod_poly_struct,
17884 poly1: *mut nmod_poly_struct,
17885 poly2: *mut nmod_poly_struct,
17886 );
17887}
17888extern "C" {
17889 pub fn _nmod_poly_compose(
17890 res: mp_ptr,
17891 poly1: mp_srcptr,
17892 len1: mp_limb_signed_t,
17893 poly2: mp_srcptr,
17894 len2: mp_limb_signed_t,
17895 mod_: nmod_t,
17896 );
17897}
17898extern "C" {
17899 pub fn nmod_poly_compose(
17900 res: *mut nmod_poly_struct,
17901 poly1: *mut nmod_poly_struct,
17902 poly2: *mut nmod_poly_struct,
17903 );
17904}
17905extern "C" {
17906 pub fn _nmod_poly_taylor_shift_horner(
17907 poly: mp_ptr,
17908 c: mp_limb_t,
17909 len: mp_limb_signed_t,
17910 mod_: nmod_t,
17911 );
17912}
17913extern "C" {
17914 pub fn nmod_poly_taylor_shift_horner(
17915 g: *mut nmod_poly_struct,
17916 f: *mut nmod_poly_struct,
17917 c: mp_limb_t,
17918 );
17919}
17920extern "C" {
17921 pub fn _nmod_poly_taylor_shift_convolution(
17922 poly: mp_ptr,
17923 c: mp_limb_t,
17924 len: mp_limb_signed_t,
17925 mod_: nmod_t,
17926 );
17927}
17928extern "C" {
17929 pub fn nmod_poly_taylor_shift_convolution(
17930 g: *mut nmod_poly_struct,
17931 f: *mut nmod_poly_struct,
17932 c: mp_limb_t,
17933 );
17934}
17935extern "C" {
17936 pub fn _nmod_poly_taylor_shift(poly: mp_ptr, c: mp_limb_t, len: mp_limb_signed_t, mod_: nmod_t);
17937}
17938extern "C" {
17939 pub fn nmod_poly_taylor_shift(g: *mut nmod_poly_struct, f: *mut nmod_poly_struct, c: mp_limb_t);
17940}
17941extern "C" {
17942 pub fn _nmod_poly_compose_mod_brent_kung(
17943 res: mp_ptr,
17944 f: mp_srcptr,
17945 lenf: mp_limb_signed_t,
17946 g: mp_srcptr,
17947 h: mp_srcptr,
17948 lenh: mp_limb_signed_t,
17949 mod_: nmod_t,
17950 );
17951}
17952extern "C" {
17953 pub fn nmod_poly_compose_mod_brent_kung(
17954 res: *mut nmod_poly_struct,
17955 f: *mut nmod_poly_struct,
17956 g: *mut nmod_poly_struct,
17957 h: *mut nmod_poly_struct,
17958 );
17959}
17960extern "C" {
17961 pub fn _nmod_poly_reduce_matrix_mod_poly(
17962 A: *mut nmod_mat_struct,
17963 B: *mut nmod_mat_struct,
17964 f: *mut nmod_poly_struct,
17965 );
17966}
17967extern "C" {
17968 pub fn _nmod_poly_precompute_matrix(
17969 A: *mut nmod_mat_struct,
17970 poly1: mp_srcptr,
17971 poly2: mp_srcptr,
17972 len2: mp_limb_signed_t,
17973 poly2inv: mp_srcptr,
17974 len2inv: mp_limb_signed_t,
17975 mod_: nmod_t,
17976 );
17977}
17978extern "C" {
17979 pub fn _nmod_poly_precompute_matrix_worker(arg_ptr: *mut ::std::os::raw::c_void);
17980}
17981extern "C" {
17982 pub fn nmod_poly_precompute_matrix(
17983 A: *mut nmod_mat_struct,
17984 poly1: *mut nmod_poly_struct,
17985 poly2: *mut nmod_poly_struct,
17986 poly2inv: *mut nmod_poly_struct,
17987 );
17988}
17989extern "C" {
17990 pub fn _nmod_poly_compose_mod_brent_kung_precomp_preinv(
17991 res: mp_ptr,
17992 poly1: mp_srcptr,
17993 len1: mp_limb_signed_t,
17994 A: *mut nmod_mat_struct,
17995 poly3: mp_srcptr,
17996 len3: mp_limb_signed_t,
17997 poly3inv: mp_srcptr,
17998 len3inv: mp_limb_signed_t,
17999 mod_: nmod_t,
18000 );
18001}
18002extern "C" {
18003 pub fn _nmod_poly_compose_mod_brent_kung_precomp_preinv_worker(
18004 arg_ptr: *mut ::std::os::raw::c_void,
18005 );
18006}
18007extern "C" {
18008 pub fn nmod_poly_compose_mod_brent_kung_precomp_preinv(
18009 res: *mut nmod_poly_struct,
18010 poly1: *mut nmod_poly_struct,
18011 A: *mut nmod_mat_struct,
18012 poly3: *mut nmod_poly_struct,
18013 poly3inv: *mut nmod_poly_struct,
18014 );
18015}
18016extern "C" {
18017 pub fn _nmod_poly_compose_mod_brent_kung_preinv(
18018 res: mp_ptr,
18019 poly1: mp_srcptr,
18020 len1: mp_limb_signed_t,
18021 poly2: mp_srcptr,
18022 poly3: mp_srcptr,
18023 len3: mp_limb_signed_t,
18024 poly3inv: mp_srcptr,
18025 len3inv: mp_limb_signed_t,
18026 mod_: nmod_t,
18027 );
18028}
18029extern "C" {
18030 pub fn nmod_poly_compose_mod_brent_kung_preinv(
18031 res: *mut nmod_poly_struct,
18032 poly1: *mut nmod_poly_struct,
18033 poly2: *mut nmod_poly_struct,
18034 poly3: *mut nmod_poly_struct,
18035 poly3inv: *mut nmod_poly_struct,
18036 );
18037}
18038extern "C" {
18039 pub fn _nmod_poly_compose_mod_brent_kung_vec_preinv(
18040 res: *mut nmod_poly_struct,
18041 polys: *const nmod_poly_struct,
18042 len1: mp_limb_signed_t,
18043 l: mp_limb_signed_t,
18044 g: mp_srcptr,
18045 glen: mp_limb_signed_t,
18046 poly: mp_srcptr,
18047 len: mp_limb_signed_t,
18048 polyinv: mp_srcptr,
18049 leninv: mp_limb_signed_t,
18050 mod_: nmod_t,
18051 );
18052}
18053extern "C" {
18054 pub fn nmod_poly_compose_mod_brent_kung_vec_preinv(
18055 res: *mut nmod_poly_struct,
18056 polys: *const nmod_poly_struct,
18057 len1: mp_limb_signed_t,
18058 n: mp_limb_signed_t,
18059 g: *mut nmod_poly_struct,
18060 poly: *mut nmod_poly_struct,
18061 polyinv: *mut nmod_poly_struct,
18062 );
18063}
18064extern "C" {
18065 pub fn _nmod_poly_compose_mod_brent_kung_vec_preinv_worker(
18066 arg_ptr: *mut ::std::os::raw::c_void,
18067 );
18068}
18069extern "C" {
18070 pub fn nmod_poly_compose_mod_brent_kung_vec_preinv_threaded_pool(
18071 res: *mut nmod_poly_struct,
18072 polys: *const nmod_poly_struct,
18073 len1: mp_limb_signed_t,
18074 n: mp_limb_signed_t,
18075 g: *mut nmod_poly_struct,
18076 poly: *mut nmod_poly_struct,
18077 polyinv: *mut nmod_poly_struct,
18078 threads: *mut thread_pool_handle,
18079 num_threads: mp_limb_signed_t,
18080 );
18081}
18082extern "C" {
18083 pub fn _nmod_poly_compose_mod_brent_kung_vec_preinv_threaded_pool(
18084 res: *mut nmod_poly_struct,
18085 polys: *const nmod_poly_struct,
18086 lenpolys: mp_limb_signed_t,
18087 l: mp_limb_signed_t,
18088 g: mp_srcptr,
18089 glen: mp_limb_signed_t,
18090 poly: mp_srcptr,
18091 len: mp_limb_signed_t,
18092 polyinv: mp_srcptr,
18093 leninv: mp_limb_signed_t,
18094 mod_: nmod_t,
18095 threads: *mut thread_pool_handle,
18096 num_threads: mp_limb_signed_t,
18097 );
18098}
18099extern "C" {
18100 pub fn nmod_poly_compose_mod_brent_kung_vec_preinv_threaded(
18101 res: *mut nmod_poly_struct,
18102 polys: *const nmod_poly_struct,
18103 len1: mp_limb_signed_t,
18104 n: mp_limb_signed_t,
18105 g: *mut nmod_poly_struct,
18106 poly: *mut nmod_poly_struct,
18107 polyinv: *mut nmod_poly_struct,
18108 );
18109}
18110extern "C" {
18111 pub fn _nmod_poly_compose_mod_horner(
18112 res: mp_ptr,
18113 f: mp_srcptr,
18114 lenf: mp_limb_signed_t,
18115 g: mp_srcptr,
18116 h: mp_srcptr,
18117 lenh: mp_limb_signed_t,
18118 mod_: nmod_t,
18119 );
18120}
18121extern "C" {
18122 pub fn nmod_poly_compose_mod_horner(
18123 res: *mut nmod_poly_struct,
18124 f: *mut nmod_poly_struct,
18125 g: *mut nmod_poly_struct,
18126 h: *mut nmod_poly_struct,
18127 );
18128}
18129extern "C" {
18130 pub fn _nmod_poly_compose_mod(
18131 res: mp_ptr,
18132 f: mp_srcptr,
18133 lenf: mp_limb_signed_t,
18134 g: mp_srcptr,
18135 h: mp_srcptr,
18136 lenh: mp_limb_signed_t,
18137 mod_: nmod_t,
18138 );
18139}
18140extern "C" {
18141 pub fn nmod_poly_compose_mod(
18142 res: *mut nmod_poly_struct,
18143 f: *mut nmod_poly_struct,
18144 g: *mut nmod_poly_struct,
18145 h: *mut nmod_poly_struct,
18146 );
18147}
18148extern "C" {
18149 pub fn _nmod_poly_compose_series_horner(
18150 res: mp_ptr,
18151 poly1: mp_srcptr,
18152 len1: mp_limb_signed_t,
18153 poly2: mp_srcptr,
18154 len2: mp_limb_signed_t,
18155 n: mp_limb_signed_t,
18156 mod_: nmod_t,
18157 );
18158}
18159extern "C" {
18160 pub fn nmod_poly_compose_series_horner(
18161 res: *mut nmod_poly_struct,
18162 poly1: *mut nmod_poly_struct,
18163 poly2: *mut nmod_poly_struct,
18164 n: mp_limb_signed_t,
18165 );
18166}
18167extern "C" {
18168 pub fn _nmod_poly_compose_series_brent_kung(
18169 res: mp_ptr,
18170 poly1: mp_srcptr,
18171 len1: mp_limb_signed_t,
18172 poly2: mp_srcptr,
18173 len2: mp_limb_signed_t,
18174 n: mp_limb_signed_t,
18175 mod_: nmod_t,
18176 );
18177}
18178extern "C" {
18179 pub fn nmod_poly_compose_series_brent_kung(
18180 res: *mut nmod_poly_struct,
18181 poly1: *mut nmod_poly_struct,
18182 poly2: *mut nmod_poly_struct,
18183 n: mp_limb_signed_t,
18184 );
18185}
18186extern "C" {
18187 pub fn _nmod_poly_compose_series(
18188 res: mp_ptr,
18189 poly1: mp_srcptr,
18190 len1: mp_limb_signed_t,
18191 poly2: mp_srcptr,
18192 len2: mp_limb_signed_t,
18193 n: mp_limb_signed_t,
18194 mod_: nmod_t,
18195 );
18196}
18197extern "C" {
18198 pub fn nmod_poly_compose_series(
18199 res: *mut nmod_poly_struct,
18200 poly1: *mut nmod_poly_struct,
18201 poly2: *mut nmod_poly_struct,
18202 n: mp_limb_signed_t,
18203 );
18204}
18205extern "C" {
18206 pub fn _nmod_poly_revert_series_lagrange(
18207 Qinv: mp_ptr,
18208 Q: mp_srcptr,
18209 n: mp_limb_signed_t,
18210 mod_: nmod_t,
18211 );
18212}
18213extern "C" {
18214 pub fn nmod_poly_revert_series_lagrange(
18215 Qinv: *mut nmod_poly_struct,
18216 Q: *mut nmod_poly_struct,
18217 n: mp_limb_signed_t,
18218 );
18219}
18220extern "C" {
18221 pub fn _nmod_poly_revert_series_lagrange_fast(
18222 Qinv: mp_ptr,
18223 Q: mp_srcptr,
18224 n: mp_limb_signed_t,
18225 mod_: nmod_t,
18226 );
18227}
18228extern "C" {
18229 pub fn nmod_poly_revert_series_lagrange_fast(
18230 Qinv: *mut nmod_poly_struct,
18231 Q: *mut nmod_poly_struct,
18232 n: mp_limb_signed_t,
18233 );
18234}
18235extern "C" {
18236 pub fn _nmod_poly_revert_series_newton(
18237 Qinv: mp_ptr,
18238 Q: mp_srcptr,
18239 n: mp_limb_signed_t,
18240 mod_: nmod_t,
18241 );
18242}
18243extern "C" {
18244 pub fn nmod_poly_revert_series_newton(
18245 Qinv: *mut nmod_poly_struct,
18246 Q: *mut nmod_poly_struct,
18247 n: mp_limb_signed_t,
18248 );
18249}
18250extern "C" {
18251 pub fn _nmod_poly_revert_series(Qinv: mp_ptr, Q: mp_srcptr, n: mp_limb_signed_t, mod_: nmod_t);
18252}
18253extern "C" {
18254 pub fn nmod_poly_revert_series(
18255 Qinv: *mut nmod_poly_struct,
18256 Q: *mut nmod_poly_struct,
18257 n: mp_limb_signed_t,
18258 );
18259}
18260extern "C" {
18261 pub fn _nmod_poly_compose_series_divconquer(
18262 res: mp_ptr,
18263 poly1: mp_srcptr,
18264 len1: mp_limb_signed_t,
18265 poly2: mp_srcptr,
18266 len2: mp_limb_signed_t,
18267 N: mp_limb_signed_t,
18268 mod_: nmod_t,
18269 );
18270}
18271extern "C" {
18272 pub fn nmod_poly_compose_series_divconquer(
18273 res: *mut nmod_poly_struct,
18274 poly1: *mut nmod_poly_struct,
18275 poly2: *mut nmod_poly_struct,
18276 N: mp_limb_signed_t,
18277 );
18278}
18279extern "C" {
18280 pub fn _nmod_poly_gcd_euclidean(
18281 G: mp_ptr,
18282 A: mp_srcptr,
18283 lenA: mp_limb_signed_t,
18284 B: mp_srcptr,
18285 lenB: mp_limb_signed_t,
18286 mod_: nmod_t,
18287 ) -> mp_limb_signed_t;
18288}
18289extern "C" {
18290 pub fn nmod_poly_gcd_euclidean(
18291 G: *mut nmod_poly_struct,
18292 A: *mut nmod_poly_struct,
18293 B: *mut nmod_poly_struct,
18294 );
18295}
18296extern "C" {
18297 pub fn _nmod_poly_hgcd_recursive(
18298 M: *mut mp_ptr,
18299 lenM: *mut mp_limb_signed_t,
18300 A: mp_ptr,
18301 lenA: *mut mp_limb_signed_t,
18302 B: mp_ptr,
18303 lenB: *mut mp_limb_signed_t,
18304 a: mp_srcptr,
18305 lena: mp_limb_signed_t,
18306 b: mp_srcptr,
18307 lenb: mp_limb_signed_t,
18308 P: mp_ptr,
18309 mod_: nmod_t,
18310 flag: ::std::os::raw::c_int,
18311 res: *mut nmod_poly_res_struct,
18312 ) -> mp_limb_signed_t;
18313}
18314extern "C" {
18315 pub fn _nmod_poly_hgcd(
18316 M: *mut mp_ptr,
18317 lenM: *mut mp_limb_signed_t,
18318 A: mp_ptr,
18319 lenA: *mut mp_limb_signed_t,
18320 B: mp_ptr,
18321 lenB: *mut mp_limb_signed_t,
18322 a: mp_srcptr,
18323 lena: mp_limb_signed_t,
18324 b: mp_srcptr,
18325 lenb: mp_limb_signed_t,
18326 mod_: nmod_t,
18327 ) -> mp_limb_signed_t;
18328}
18329extern "C" {
18330 pub fn nmod_poly_hgcd_ref(
18331 m11: *mut nmod_poly_struct,
18332 m12: *mut nmod_poly_struct,
18333 m21: *mut nmod_poly_struct,
18334 m22: *mut nmod_poly_struct,
18335 A: *mut nmod_poly_struct,
18336 B: *mut nmod_poly_struct,
18337 a: *mut nmod_poly_struct,
18338 b: *mut nmod_poly_struct,
18339 ) -> mp_limb_signed_t;
18340}
18341extern "C" {
18342 pub fn nmod_poly_hgcd(
18343 m11: *mut nmod_poly_struct,
18344 m12: *mut nmod_poly_struct,
18345 m21: *mut nmod_poly_struct,
18346 m22: *mut nmod_poly_struct,
18347 A: *mut nmod_poly_struct,
18348 B: *mut nmod_poly_struct,
18349 a: *mut nmod_poly_struct,
18350 b: *mut nmod_poly_struct,
18351 ) -> mp_limb_signed_t;
18352}
18353extern "C" {
18354 pub fn _nmod_poly_gcd_hgcd(
18355 G: mp_ptr,
18356 A: mp_srcptr,
18357 lenA: mp_limb_signed_t,
18358 B: mp_srcptr,
18359 lenB: mp_limb_signed_t,
18360 mod_: nmod_t,
18361 ) -> mp_limb_signed_t;
18362}
18363extern "C" {
18364 pub fn nmod_poly_gcd_hgcd(
18365 G: *mut nmod_poly_struct,
18366 A: *mut nmod_poly_struct,
18367 B: *mut nmod_poly_struct,
18368 );
18369}
18370extern "C" {
18371 pub fn _nmod_poly_gcd(
18372 G: mp_ptr,
18373 A: mp_srcptr,
18374 lenA: mp_limb_signed_t,
18375 B: mp_srcptr,
18376 lenB: mp_limb_signed_t,
18377 mod_: nmod_t,
18378 ) -> mp_limb_signed_t;
18379}
18380extern "C" {
18381 pub fn nmod_poly_gcd(
18382 G: *mut nmod_poly_struct,
18383 A: *mut nmod_poly_struct,
18384 B: *mut nmod_poly_struct,
18385 );
18386}
18387extern "C" {
18388 pub fn _nmod_poly_xgcd_euclidean(
18389 res: mp_ptr,
18390 s: mp_ptr,
18391 t: mp_ptr,
18392 poly1: mp_srcptr,
18393 len1: mp_limb_signed_t,
18394 poly2: mp_srcptr,
18395 len2: mp_limb_signed_t,
18396 mod_: nmod_t,
18397 ) -> mp_limb_signed_t;
18398}
18399extern "C" {
18400 pub fn nmod_poly_xgcd_euclidean(
18401 G: *mut nmod_poly_struct,
18402 S: *mut nmod_poly_struct,
18403 T: *mut nmod_poly_struct,
18404 A: *mut nmod_poly_struct,
18405 B: *mut nmod_poly_struct,
18406 );
18407}
18408extern "C" {
18409 pub fn _nmod_poly_xgcd_hgcd(
18410 G: mp_ptr,
18411 S: mp_ptr,
18412 T: mp_ptr,
18413 A: mp_srcptr,
18414 lenA: mp_limb_signed_t,
18415 B: mp_srcptr,
18416 lenB: mp_limb_signed_t,
18417 mod_: nmod_t,
18418 ) -> mp_limb_signed_t;
18419}
18420extern "C" {
18421 pub fn nmod_poly_xgcd_hgcd(
18422 G: *mut nmod_poly_struct,
18423 S: *mut nmod_poly_struct,
18424 T: *mut nmod_poly_struct,
18425 A: *mut nmod_poly_struct,
18426 B: *mut nmod_poly_struct,
18427 );
18428}
18429extern "C" {
18430 pub fn _nmod_poly_xgcd(
18431 G: mp_ptr,
18432 S: mp_ptr,
18433 T: mp_ptr,
18434 A: mp_srcptr,
18435 lenA: mp_limb_signed_t,
18436 B: mp_srcptr,
18437 lenB: mp_limb_signed_t,
18438 mod_: nmod_t,
18439 ) -> mp_limb_signed_t;
18440}
18441extern "C" {
18442 pub fn nmod_poly_xgcd(
18443 G: *mut nmod_poly_struct,
18444 S: *mut nmod_poly_struct,
18445 T: *mut nmod_poly_struct,
18446 A: *mut nmod_poly_struct,
18447 B: *mut nmod_poly_struct,
18448 );
18449}
18450extern "C" {
18451 pub fn _nmod_poly_resultant_euclidean(
18452 poly1: mp_srcptr,
18453 len1: mp_limb_signed_t,
18454 poly2: mp_srcptr,
18455 len2: mp_limb_signed_t,
18456 mod_: nmod_t,
18457 ) -> mp_limb_t;
18458}
18459extern "C" {
18460 pub fn nmod_poly_resultant_euclidean(
18461 f: *mut nmod_poly_struct,
18462 g: *mut nmod_poly_struct,
18463 ) -> mp_limb_t;
18464}
18465extern "C" {
18466 pub fn _nmod_poly_resultant_hgcd(
18467 A: mp_srcptr,
18468 lenA: mp_limb_signed_t,
18469 B: mp_srcptr,
18470 lenB: mp_limb_signed_t,
18471 mod_: nmod_t,
18472 ) -> mp_limb_t;
18473}
18474extern "C" {
18475 pub fn nmod_poly_resultant_hgcd(
18476 A: *mut nmod_poly_struct,
18477 B: *mut nmod_poly_struct,
18478 ) -> mp_limb_t;
18479}
18480extern "C" {
18481 pub fn _nmod_poly_gcdinv(
18482 G: *mut mp_limb_t,
18483 S: *mut mp_limb_t,
18484 A: *const mp_limb_t,
18485 lenA: mp_limb_signed_t,
18486 B: *const mp_limb_t,
18487 lenB: mp_limb_signed_t,
18488 mod_: nmod_t,
18489 ) -> mp_limb_signed_t;
18490}
18491extern "C" {
18492 pub fn nmod_poly_gcdinv(
18493 G: *mut nmod_poly_struct,
18494 S: *mut nmod_poly_struct,
18495 A: *mut nmod_poly_struct,
18496 B: *mut nmod_poly_struct,
18497 );
18498}
18499extern "C" {
18500 pub fn _nmod_poly_discriminant(
18501 poly: mp_srcptr,
18502 len: mp_limb_signed_t,
18503 mod_: nmod_t,
18504 ) -> mp_limb_t;
18505}
18506extern "C" {
18507 pub fn nmod_poly_discriminant(f: *mut nmod_poly_struct) -> mp_limb_t;
18508}
18509extern "C" {
18510 pub fn _nmod_poly_invsqrt_series(g: mp_ptr, h: mp_srcptr, n: mp_limb_signed_t, mod_: nmod_t);
18511}
18512extern "C" {
18513 pub fn nmod_poly_invsqrt_series(
18514 g: *mut nmod_poly_struct,
18515 h: *mut nmod_poly_struct,
18516 n: mp_limb_signed_t,
18517 );
18518}
18519extern "C" {
18520 pub fn _nmod_poly_sqrt_series(g: mp_ptr, h: mp_srcptr, n: mp_limb_signed_t, mod_: nmod_t);
18521}
18522extern "C" {
18523 pub fn nmod_poly_sqrt_series(
18524 g: *mut nmod_poly_struct,
18525 h: *mut nmod_poly_struct,
18526 n: mp_limb_signed_t,
18527 );
18528}
18529extern "C" {
18530 pub fn _nmod_poly_sqrt(
18531 s: mp_ptr,
18532 p: mp_srcptr,
18533 len: mp_limb_signed_t,
18534 mod_: nmod_t,
18535 ) -> ::std::os::raw::c_int;
18536}
18537extern "C" {
18538 pub fn nmod_poly_sqrt(
18539 b: *mut nmod_poly_struct,
18540 a: *mut nmod_poly_struct,
18541 ) -> ::std::os::raw::c_int;
18542}
18543extern "C" {
18544 pub fn _nmod_poly_power_sums_naive(
18545 res: mp_ptr,
18546 poly: mp_srcptr,
18547 len: mp_limb_signed_t,
18548 n: mp_limb_signed_t,
18549 mod_: nmod_t,
18550 );
18551}
18552extern "C" {
18553 pub fn nmod_poly_power_sums_naive(
18554 res: *mut nmod_poly_struct,
18555 poly: *mut nmod_poly_struct,
18556 n: mp_limb_signed_t,
18557 );
18558}
18559extern "C" {
18560 pub fn _nmod_poly_power_sums_schoenhage(
18561 res: mp_ptr,
18562 poly: mp_srcptr,
18563 len: mp_limb_signed_t,
18564 n: mp_limb_signed_t,
18565 mod_: nmod_t,
18566 );
18567}
18568extern "C" {
18569 pub fn nmod_poly_power_sums_schoenhage(
18570 res: *mut nmod_poly_struct,
18571 poly: *mut nmod_poly_struct,
18572 n: mp_limb_signed_t,
18573 );
18574}
18575extern "C" {
18576 pub fn _nmod_poly_power_sums(
18577 res: mp_ptr,
18578 poly: mp_srcptr,
18579 len: mp_limb_signed_t,
18580 n: mp_limb_signed_t,
18581 mod_: nmod_t,
18582 );
18583}
18584extern "C" {
18585 pub fn nmod_poly_power_sums(
18586 res: *mut nmod_poly_struct,
18587 poly: *mut nmod_poly_struct,
18588 n: mp_limb_signed_t,
18589 );
18590}
18591extern "C" {
18592 pub fn _nmod_poly_power_sums_to_poly_naive(
18593 res: mp_ptr,
18594 poly: mp_srcptr,
18595 len: mp_limb_signed_t,
18596 mod_: nmod_t,
18597 );
18598}
18599extern "C" {
18600 pub fn nmod_poly_power_sums_to_poly_naive(res: *mut nmod_poly_struct, Q: *mut nmod_poly_struct);
18601}
18602extern "C" {
18603 pub fn _nmod_poly_power_sums_to_poly_schoenhage(
18604 res: mp_ptr,
18605 poly: mp_srcptr,
18606 len: mp_limb_signed_t,
18607 mod_: nmod_t,
18608 );
18609}
18610extern "C" {
18611 pub fn nmod_poly_power_sums_to_poly_schoenhage(
18612 res: *mut nmod_poly_struct,
18613 Q: *mut nmod_poly_struct,
18614 );
18615}
18616extern "C" {
18617 pub fn _nmod_poly_power_sums_to_poly(
18618 res: mp_ptr,
18619 poly: mp_srcptr,
18620 len: mp_limb_signed_t,
18621 mod_: nmod_t,
18622 );
18623}
18624extern "C" {
18625 pub fn nmod_poly_power_sums_to_poly(res: *mut nmod_poly_struct, Q: *mut nmod_poly_struct);
18626}
18627extern "C" {
18628 pub fn _nmod_poly_atan_series(g: mp_ptr, h: mp_srcptr, n: mp_limb_signed_t, mod_: nmod_t);
18629}
18630extern "C" {
18631 pub fn nmod_poly_atan_series(
18632 g: *mut nmod_poly_struct,
18633 h: *mut nmod_poly_struct,
18634 n: mp_limb_signed_t,
18635 );
18636}
18637extern "C" {
18638 pub fn _nmod_poly_tan_series(g: mp_ptr, h: mp_srcptr, n: mp_limb_signed_t, mod_: nmod_t);
18639}
18640extern "C" {
18641 pub fn nmod_poly_tan_series(
18642 g: *mut nmod_poly_struct,
18643 h: *mut nmod_poly_struct,
18644 n: mp_limb_signed_t,
18645 );
18646}
18647extern "C" {
18648 pub fn _nmod_poly_asin_series(g: mp_ptr, h: mp_srcptr, n: mp_limb_signed_t, mod_: nmod_t);
18649}
18650extern "C" {
18651 pub fn nmod_poly_asin_series(
18652 g: *mut nmod_poly_struct,
18653 h: *mut nmod_poly_struct,
18654 n: mp_limb_signed_t,
18655 );
18656}
18657extern "C" {
18658 pub fn _nmod_poly_sin_series(g: mp_ptr, h: mp_srcptr, n: mp_limb_signed_t, mod_: nmod_t);
18659}
18660extern "C" {
18661 pub fn nmod_poly_sin_series(
18662 g: *mut nmod_poly_struct,
18663 h: *mut nmod_poly_struct,
18664 n: mp_limb_signed_t,
18665 );
18666}
18667extern "C" {
18668 pub fn _nmod_poly_cos_series(g: mp_ptr, h: mp_srcptr, n: mp_limb_signed_t, mod_: nmod_t);
18669}
18670extern "C" {
18671 pub fn nmod_poly_cos_series(
18672 g: *mut nmod_poly_struct,
18673 h: *mut nmod_poly_struct,
18674 n: mp_limb_signed_t,
18675 );
18676}
18677extern "C" {
18678 pub fn _nmod_poly_asinh_series(g: mp_ptr, h: mp_srcptr, n: mp_limb_signed_t, mod_: nmod_t);
18679}
18680extern "C" {
18681 pub fn nmod_poly_asinh_series(
18682 g: *mut nmod_poly_struct,
18683 h: *mut nmod_poly_struct,
18684 n: mp_limb_signed_t,
18685 );
18686}
18687extern "C" {
18688 pub fn _nmod_poly_atanh_series(g: mp_ptr, h: mp_srcptr, n: mp_limb_signed_t, mod_: nmod_t);
18689}
18690extern "C" {
18691 pub fn nmod_poly_atanh_series(
18692 g: *mut nmod_poly_struct,
18693 h: *mut nmod_poly_struct,
18694 n: mp_limb_signed_t,
18695 );
18696}
18697extern "C" {
18698 pub fn _nmod_poly_sinh_series(g: mp_ptr, h: mp_srcptr, n: mp_limb_signed_t, mod_: nmod_t);
18699}
18700extern "C" {
18701 pub fn nmod_poly_sinh_series(
18702 g: *mut nmod_poly_struct,
18703 h: *mut nmod_poly_struct,
18704 n: mp_limb_signed_t,
18705 );
18706}
18707extern "C" {
18708 pub fn _nmod_poly_cosh_series(g: mp_ptr, h: mp_srcptr, n: mp_limb_signed_t, mod_: nmod_t);
18709}
18710extern "C" {
18711 pub fn nmod_poly_cosh_series(
18712 g: *mut nmod_poly_struct,
18713 h: *mut nmod_poly_struct,
18714 n: mp_limb_signed_t,
18715 );
18716}
18717extern "C" {
18718 pub fn _nmod_poly_tanh_series(g: mp_ptr, h: mp_srcptr, n: mp_limb_signed_t, mod_: nmod_t);
18719}
18720extern "C" {
18721 pub fn nmod_poly_tanh_series(
18722 g: *mut nmod_poly_struct,
18723 h: *mut nmod_poly_struct,
18724 n: mp_limb_signed_t,
18725 );
18726}
18727extern "C" {
18728 pub fn _nmod_poly_log_series_monomial_ui(
18729 res: mp_ptr,
18730 coeff: mp_limb_t,
18731 power: mp_limb_t,
18732 n: mp_limb_signed_t,
18733 mod_: nmod_t,
18734 );
18735}
18736extern "C" {
18737 pub fn nmod_poly_log_series_monomial_ui(
18738 res: *mut nmod_poly_struct,
18739 coeff: mp_limb_t,
18740 power: mp_limb_t,
18741 n: mp_limb_signed_t,
18742 );
18743}
18744extern "C" {
18745 pub fn _nmod_poly_log_series(
18746 res: mp_ptr,
18747 f: mp_srcptr,
18748 flen: mp_limb_signed_t,
18749 n: mp_limb_signed_t,
18750 mod_: nmod_t,
18751 );
18752}
18753extern "C" {
18754 pub fn nmod_poly_log_series(
18755 res: *mut nmod_poly_struct,
18756 f: *mut nmod_poly_struct,
18757 n: mp_limb_signed_t,
18758 );
18759}
18760extern "C" {
18761 pub fn _nmod_poly_exp_series_monomial_ui(
18762 res: mp_ptr,
18763 coeff: mp_limb_t,
18764 power: mp_limb_t,
18765 n: mp_limb_signed_t,
18766 mod_: nmod_t,
18767 );
18768}
18769extern "C" {
18770 pub fn nmod_poly_exp_series_monomial_ui(
18771 res: *mut nmod_poly_struct,
18772 coeff: mp_limb_t,
18773 power: mp_limb_t,
18774 n: mp_limb_signed_t,
18775 );
18776}
18777extern "C" {
18778 pub fn _nmod_poly_exp_series_basecase(
18779 f: mp_ptr,
18780 h: mp_srcptr,
18781 hlen: mp_limb_signed_t,
18782 n: mp_limb_signed_t,
18783 mod_: nmod_t,
18784 );
18785}
18786extern "C" {
18787 pub fn nmod_poly_exp_series_basecase(
18788 f: *mut nmod_poly_struct,
18789 h: *mut nmod_poly_struct,
18790 n: mp_limb_signed_t,
18791 );
18792}
18793extern "C" {
18794 pub fn _nmod_poly_exp_expinv_series(
18795 f: mp_ptr,
18796 g: mp_ptr,
18797 h: mp_srcptr,
18798 n: mp_limb_signed_t,
18799 mod_: nmod_t,
18800 );
18801}
18802extern "C" {
18803 pub fn _nmod_poly_exp_series(f: mp_ptr, h: mp_srcptr, n: mp_limb_signed_t, mod_: nmod_t);
18804}
18805extern "C" {
18806 pub fn _nmod_poly_exp_series2(
18807 f: mp_ptr,
18808 h: mp_srcptr,
18809 hlen: mp_limb_signed_t,
18810 n: mp_limb_signed_t,
18811 mod_: nmod_t,
18812 );
18813}
18814extern "C" {
18815 pub fn nmod_poly_exp_series(
18816 f: *mut nmod_poly_struct,
18817 h: *mut nmod_poly_struct,
18818 n: mp_limb_signed_t,
18819 );
18820}
18821extern "C" {
18822 pub fn nmod_poly_product_roots_nmod_vec(
18823 poly: *mut nmod_poly_struct,
18824 xs: mp_srcptr,
18825 n: mp_limb_signed_t,
18826 );
18827}
18828extern "C" {
18829 pub fn _nmod_poly_product_roots_nmod_vec(
18830 poly: mp_ptr,
18831 xs: mp_srcptr,
18832 n: mp_limb_signed_t,
18833 mod_: nmod_t,
18834 );
18835}
18836extern "C" {
18837 pub fn _nmod_poly_split_rabin(
18838 a: *mut nmod_poly_struct,
18839 b: *mut nmod_poly_struct,
18840 f: *mut nmod_poly_struct,
18841 t: *mut nmod_poly_struct,
18842 t2: *mut nmod_poly_struct,
18843 randstate: *mut flint_rand_s,
18844 );
18845}
18846extern "C" {
18847 pub fn nmod_poly_find_distinct_nonzero_roots(
18848 roots: *mut mp_limb_t,
18849 P: *mut nmod_poly_struct,
18850 ) -> ::std::os::raw::c_int;
18851}
18852#[repr(C)]
18853#[derive(Debug, Copy, Clone)]
18854pub struct _nmod_poly_multi_crt_prog_instr {
18855 pub a_idx: mp_limb_signed_t,
18856 pub b_idx: mp_limb_signed_t,
18857 pub c_idx: mp_limb_signed_t,
18858 pub idem: nmod_poly_t,
18859 pub modulus: nmod_poly_t,
18860}
18861#[test]
18862fn bindgen_test_layout__nmod_poly_multi_crt_prog_instr() {
18863 assert_eq!(
18864 ::std::mem::size_of::<_nmod_poly_multi_crt_prog_instr>(),
18865 120usize,
18866 concat!("Size of: ", stringify!(_nmod_poly_multi_crt_prog_instr))
18867 );
18868 assert_eq!(
18869 ::std::mem::align_of::<_nmod_poly_multi_crt_prog_instr>(),
18870 8usize,
18871 concat!("Alignment of ", stringify!(_nmod_poly_multi_crt_prog_instr))
18872 );
18873 assert_eq!(
18874 unsafe {
18875 &(*(::std::ptr::null::<_nmod_poly_multi_crt_prog_instr>())).a_idx as *const _ as usize
18876 },
18877 0usize,
18878 concat!(
18879 "Offset of field: ",
18880 stringify!(_nmod_poly_multi_crt_prog_instr),
18881 "::",
18882 stringify!(a_idx)
18883 )
18884 );
18885 assert_eq!(
18886 unsafe {
18887 &(*(::std::ptr::null::<_nmod_poly_multi_crt_prog_instr>())).b_idx as *const _ as usize
18888 },
18889 8usize,
18890 concat!(
18891 "Offset of field: ",
18892 stringify!(_nmod_poly_multi_crt_prog_instr),
18893 "::",
18894 stringify!(b_idx)
18895 )
18896 );
18897 assert_eq!(
18898 unsafe {
18899 &(*(::std::ptr::null::<_nmod_poly_multi_crt_prog_instr>())).c_idx as *const _ as usize
18900 },
18901 16usize,
18902 concat!(
18903 "Offset of field: ",
18904 stringify!(_nmod_poly_multi_crt_prog_instr),
18905 "::",
18906 stringify!(c_idx)
18907 )
18908 );
18909 assert_eq!(
18910 unsafe {
18911 &(*(::std::ptr::null::<_nmod_poly_multi_crt_prog_instr>())).idem as *const _ as usize
18912 },
18913 24usize,
18914 concat!(
18915 "Offset of field: ",
18916 stringify!(_nmod_poly_multi_crt_prog_instr),
18917 "::",
18918 stringify!(idem)
18919 )
18920 );
18921 assert_eq!(
18922 unsafe {
18923 &(*(::std::ptr::null::<_nmod_poly_multi_crt_prog_instr>())).modulus as *const _ as usize
18924 },
18925 72usize,
18926 concat!(
18927 "Offset of field: ",
18928 stringify!(_nmod_poly_multi_crt_prog_instr),
18929 "::",
18930 stringify!(modulus)
18931 )
18932 );
18933}
18934#[repr(C)]
18935#[derive(Debug, Copy, Clone)]
18936pub struct nmod_poly_multi_crt_struct {
18937 pub prog: *mut _nmod_poly_multi_crt_prog_instr,
18938 pub length: mp_limb_signed_t,
18939 pub alloc: mp_limb_signed_t,
18940 pub localsize: mp_limb_signed_t,
18941 pub temp1loc: mp_limb_signed_t,
18942 pub temp2loc: mp_limb_signed_t,
18943 pub good: ::std::os::raw::c_int,
18944}
18945#[test]
18946fn bindgen_test_layout_nmod_poly_multi_crt_struct() {
18947 assert_eq!(
18948 ::std::mem::size_of::<nmod_poly_multi_crt_struct>(),
18949 56usize,
18950 concat!("Size of: ", stringify!(nmod_poly_multi_crt_struct))
18951 );
18952 assert_eq!(
18953 ::std::mem::align_of::<nmod_poly_multi_crt_struct>(),
18954 8usize,
18955 concat!("Alignment of ", stringify!(nmod_poly_multi_crt_struct))
18956 );
18957 assert_eq!(
18958 unsafe { &(*(::std::ptr::null::<nmod_poly_multi_crt_struct>())).prog as *const _ as usize },
18959 0usize,
18960 concat!(
18961 "Offset of field: ",
18962 stringify!(nmod_poly_multi_crt_struct),
18963 "::",
18964 stringify!(prog)
18965 )
18966 );
18967 assert_eq!(
18968 unsafe {
18969 &(*(::std::ptr::null::<nmod_poly_multi_crt_struct>())).length as *const _ as usize
18970 },
18971 8usize,
18972 concat!(
18973 "Offset of field: ",
18974 stringify!(nmod_poly_multi_crt_struct),
18975 "::",
18976 stringify!(length)
18977 )
18978 );
18979 assert_eq!(
18980 unsafe {
18981 &(*(::std::ptr::null::<nmod_poly_multi_crt_struct>())).alloc as *const _ as usize
18982 },
18983 16usize,
18984 concat!(
18985 "Offset of field: ",
18986 stringify!(nmod_poly_multi_crt_struct),
18987 "::",
18988 stringify!(alloc)
18989 )
18990 );
18991 assert_eq!(
18992 unsafe {
18993 &(*(::std::ptr::null::<nmod_poly_multi_crt_struct>())).localsize as *const _ as usize
18994 },
18995 24usize,
18996 concat!(
18997 "Offset of field: ",
18998 stringify!(nmod_poly_multi_crt_struct),
18999 "::",
19000 stringify!(localsize)
19001 )
19002 );
19003 assert_eq!(
19004 unsafe {
19005 &(*(::std::ptr::null::<nmod_poly_multi_crt_struct>())).temp1loc as *const _ as usize
19006 },
19007 32usize,
19008 concat!(
19009 "Offset of field: ",
19010 stringify!(nmod_poly_multi_crt_struct),
19011 "::",
19012 stringify!(temp1loc)
19013 )
19014 );
19015 assert_eq!(
19016 unsafe {
19017 &(*(::std::ptr::null::<nmod_poly_multi_crt_struct>())).temp2loc as *const _ as usize
19018 },
19019 40usize,
19020 concat!(
19021 "Offset of field: ",
19022 stringify!(nmod_poly_multi_crt_struct),
19023 "::",
19024 stringify!(temp2loc)
19025 )
19026 );
19027 assert_eq!(
19028 unsafe { &(*(::std::ptr::null::<nmod_poly_multi_crt_struct>())).good as *const _ as usize },
19029 48usize,
19030 concat!(
19031 "Offset of field: ",
19032 stringify!(nmod_poly_multi_crt_struct),
19033 "::",
19034 stringify!(good)
19035 )
19036 );
19037}
19038pub type nmod_poly_multi_crt_t = [nmod_poly_multi_crt_struct; 1usize];
19039extern "C" {
19040 pub fn nmod_poly_multi_crt_init(CRT: *mut nmod_poly_multi_crt_struct);
19041}
19042extern "C" {
19043 pub fn nmod_poly_multi_crt_precompute(
19044 CRT: *mut nmod_poly_multi_crt_struct,
19045 moduli: *const nmod_poly_struct,
19046 len: mp_limb_signed_t,
19047 ) -> ::std::os::raw::c_int;
19048}
19049extern "C" {
19050 pub fn nmod_poly_multi_crt_precompute_p(
19051 CRT: *mut nmod_poly_multi_crt_struct,
19052 moduli: *const *const nmod_poly_struct,
19053 len: mp_limb_signed_t,
19054 ) -> ::std::os::raw::c_int;
19055}
19056extern "C" {
19057 pub fn nmod_poly_multi_crt_precomp(
19058 output: *mut nmod_poly_struct,
19059 CRT: *mut nmod_poly_multi_crt_struct,
19060 values: *const nmod_poly_struct,
19061 );
19062}
19063extern "C" {
19064 pub fn nmod_poly_multi_crt_precomp_p(
19065 output: *mut nmod_poly_struct,
19066 CRT: *mut nmod_poly_multi_crt_struct,
19067 values: *const *const nmod_poly_struct,
19068 );
19069}
19070extern "C" {
19071 pub fn nmod_poly_multi_crt(
19072 output: *mut nmod_poly_struct,
19073 moduli: *const nmod_poly_struct,
19074 values: *const nmod_poly_struct,
19075 len: mp_limb_signed_t,
19076 ) -> ::std::os::raw::c_int;
19077}
19078extern "C" {
19079 pub fn nmod_poly_multi_crt_clear(CRT: *mut nmod_poly_multi_crt_struct);
19080}
19081extern "C" {
19082 pub fn _nmod_poly_multi_crt_run(
19083 outputs: *mut nmod_poly_struct,
19084 CRT: *mut nmod_poly_multi_crt_struct,
19085 inputs: *const nmod_poly_struct,
19086 );
19087}
19088extern "C" {
19089 pub fn _nmod_poly_multi_crt_run_p(
19090 outputs: *mut nmod_poly_struct,
19091 CRT: *mut nmod_poly_multi_crt_struct,
19092 inputs: *const *const nmod_poly_struct,
19093 );
19094}
19095extern "C" {
19096 pub fn nmod_poly_deflation(input: *mut nmod_poly_struct) -> mp_limb_t;
19097}
19098extern "C" {
19099 pub fn nmod_poly_deflate(
19100 result: *mut nmod_poly_struct,
19101 input: *mut nmod_poly_struct,
19102 deflation: mp_limb_t,
19103 );
19104}
19105extern "C" {
19106 pub fn nmod_poly_inflate(
19107 result: *mut nmod_poly_struct,
19108 input: *mut nmod_poly_struct,
19109 inflation: mp_limb_t,
19110 );
19111}
19112extern "C" {
19113 pub fn nmod_mat_charpoly_danilevsky(p: *mut nmod_poly_struct, M: *mut nmod_mat_struct);
19114}
19115extern "C" {
19116 pub fn nmod_mat_minpoly_with_gens(
19117 p: *mut nmod_poly_struct,
19118 X: *mut nmod_mat_struct,
19119 P: *mut mp_limb_t,
19120 );
19121}
19122extern "C" {
19123 pub fn nmod_mat_minpoly(p: *mut nmod_poly_struct, M: *mut nmod_mat_struct);
19124}
19125#[repr(C)]
19126#[derive(Debug, Copy, Clone)]
19127pub struct nmod_berlekamp_massey_struct {
19128 pub npoints: mp_limb_signed_t,
19129 pub R0: nmod_poly_t,
19130 pub R1: nmod_poly_t,
19131 pub V0: nmod_poly_t,
19132 pub V1: nmod_poly_t,
19133 pub qt: nmod_poly_t,
19134 pub rt: nmod_poly_t,
19135 pub points: nmod_poly_t,
19136}
19137#[test]
19138fn bindgen_test_layout_nmod_berlekamp_massey_struct() {
19139 assert_eq!(
19140 ::std::mem::size_of::<nmod_berlekamp_massey_struct>(),
19141 344usize,
19142 concat!("Size of: ", stringify!(nmod_berlekamp_massey_struct))
19143 );
19144 assert_eq!(
19145 ::std::mem::align_of::<nmod_berlekamp_massey_struct>(),
19146 8usize,
19147 concat!("Alignment of ", stringify!(nmod_berlekamp_massey_struct))
19148 );
19149 assert_eq!(
19150 unsafe {
19151 &(*(::std::ptr::null::<nmod_berlekamp_massey_struct>())).npoints as *const _ as usize
19152 },
19153 0usize,
19154 concat!(
19155 "Offset of field: ",
19156 stringify!(nmod_berlekamp_massey_struct),
19157 "::",
19158 stringify!(npoints)
19159 )
19160 );
19161 assert_eq!(
19162 unsafe { &(*(::std::ptr::null::<nmod_berlekamp_massey_struct>())).R0 as *const _ as usize },
19163 8usize,
19164 concat!(
19165 "Offset of field: ",
19166 stringify!(nmod_berlekamp_massey_struct),
19167 "::",
19168 stringify!(R0)
19169 )
19170 );
19171 assert_eq!(
19172 unsafe { &(*(::std::ptr::null::<nmod_berlekamp_massey_struct>())).R1 as *const _ as usize },
19173 56usize,
19174 concat!(
19175 "Offset of field: ",
19176 stringify!(nmod_berlekamp_massey_struct),
19177 "::",
19178 stringify!(R1)
19179 )
19180 );
19181 assert_eq!(
19182 unsafe { &(*(::std::ptr::null::<nmod_berlekamp_massey_struct>())).V0 as *const _ as usize },
19183 104usize,
19184 concat!(
19185 "Offset of field: ",
19186 stringify!(nmod_berlekamp_massey_struct),
19187 "::",
19188 stringify!(V0)
19189 )
19190 );
19191 assert_eq!(
19192 unsafe { &(*(::std::ptr::null::<nmod_berlekamp_massey_struct>())).V1 as *const _ as usize },
19193 152usize,
19194 concat!(
19195 "Offset of field: ",
19196 stringify!(nmod_berlekamp_massey_struct),
19197 "::",
19198 stringify!(V1)
19199 )
19200 );
19201 assert_eq!(
19202 unsafe { &(*(::std::ptr::null::<nmod_berlekamp_massey_struct>())).qt as *const _ as usize },
19203 200usize,
19204 concat!(
19205 "Offset of field: ",
19206 stringify!(nmod_berlekamp_massey_struct),
19207 "::",
19208 stringify!(qt)
19209 )
19210 );
19211 assert_eq!(
19212 unsafe { &(*(::std::ptr::null::<nmod_berlekamp_massey_struct>())).rt as *const _ as usize },
19213 248usize,
19214 concat!(
19215 "Offset of field: ",
19216 stringify!(nmod_berlekamp_massey_struct),
19217 "::",
19218 stringify!(rt)
19219 )
19220 );
19221 assert_eq!(
19222 unsafe {
19223 &(*(::std::ptr::null::<nmod_berlekamp_massey_struct>())).points as *const _ as usize
19224 },
19225 296usize,
19226 concat!(
19227 "Offset of field: ",
19228 stringify!(nmod_berlekamp_massey_struct),
19229 "::",
19230 stringify!(points)
19231 )
19232 );
19233}
19234pub type nmod_berlekamp_massey_t = [nmod_berlekamp_massey_struct; 1usize];
19235extern "C" {
19236 pub fn nmod_berlekamp_massey_init(B: *mut nmod_berlekamp_massey_struct, p: mp_limb_t);
19237}
19238extern "C" {
19239 pub fn nmod_berlekamp_massey_start_over(B: *mut nmod_berlekamp_massey_struct);
19240}
19241extern "C" {
19242 pub fn nmod_berlekamp_massey_clear(B: *mut nmod_berlekamp_massey_struct);
19243}
19244extern "C" {
19245 pub fn nmod_berlekamp_massey_set_prime(B: *mut nmod_berlekamp_massey_struct, p: mp_limb_t);
19246}
19247extern "C" {
19248 pub fn nmod_berlekamp_massey_print(B: *mut nmod_berlekamp_massey_struct);
19249}
19250extern "C" {
19251 pub fn nmod_berlekamp_massey_add_points(
19252 B: *mut nmod_berlekamp_massey_struct,
19253 a: *const mp_limb_t,
19254 count: mp_limb_signed_t,
19255 );
19256}
19257extern "C" {
19258 pub fn nmod_berlekamp_massey_add_zeros(
19259 B: *mut nmod_berlekamp_massey_struct,
19260 count: mp_limb_signed_t,
19261 );
19262}
19263extern "C" {
19264 pub fn nmod_berlekamp_massey_add_point(B: *mut nmod_berlekamp_massey_struct, a: mp_limb_t);
19265}
19266extern "C" {
19267 pub fn nmod_berlekamp_massey_reduce(
19268 B: *mut nmod_berlekamp_massey_struct,
19269 ) -> ::std::os::raw::c_int;
19270}
19271#[repr(C)]
19272#[derive(Debug, Copy, Clone)]
19273pub struct nmod_poly_factor_struct {
19274 pub p: *mut nmod_poly_struct,
19275 pub exp: *mut mp_limb_signed_t,
19276 pub num: mp_limb_signed_t,
19277 pub alloc: mp_limb_signed_t,
19278}
19279#[test]
19280fn bindgen_test_layout_nmod_poly_factor_struct() {
19281 assert_eq!(
19282 ::std::mem::size_of::<nmod_poly_factor_struct>(),
19283 32usize,
19284 concat!("Size of: ", stringify!(nmod_poly_factor_struct))
19285 );
19286 assert_eq!(
19287 ::std::mem::align_of::<nmod_poly_factor_struct>(),
19288 8usize,
19289 concat!("Alignment of ", stringify!(nmod_poly_factor_struct))
19290 );
19291 assert_eq!(
19292 unsafe { &(*(::std::ptr::null::<nmod_poly_factor_struct>())).p as *const _ as usize },
19293 0usize,
19294 concat!(
19295 "Offset of field: ",
19296 stringify!(nmod_poly_factor_struct),
19297 "::",
19298 stringify!(p)
19299 )
19300 );
19301 assert_eq!(
19302 unsafe { &(*(::std::ptr::null::<nmod_poly_factor_struct>())).exp as *const _ as usize },
19303 8usize,
19304 concat!(
19305 "Offset of field: ",
19306 stringify!(nmod_poly_factor_struct),
19307 "::",
19308 stringify!(exp)
19309 )
19310 );
19311 assert_eq!(
19312 unsafe { &(*(::std::ptr::null::<nmod_poly_factor_struct>())).num as *const _ as usize },
19313 16usize,
19314 concat!(
19315 "Offset of field: ",
19316 stringify!(nmod_poly_factor_struct),
19317 "::",
19318 stringify!(num)
19319 )
19320 );
19321 assert_eq!(
19322 unsafe { &(*(::std::ptr::null::<nmod_poly_factor_struct>())).alloc as *const _ as usize },
19323 24usize,
19324 concat!(
19325 "Offset of field: ",
19326 stringify!(nmod_poly_factor_struct),
19327 "::",
19328 stringify!(alloc)
19329 )
19330 );
19331}
19332#[repr(C)]
19333#[derive(Debug, Copy, Clone)]
19334pub struct nmod_poly_interval_poly_arg_t {
19335 pub baby: *mut nmod_poly_struct,
19336 pub res: *mut nmod_poly_struct,
19337 pub H: *mut nmod_poly_struct,
19338 pub v: *mut nmod_poly_struct,
19339 pub vinv: *mut nmod_poly_struct,
19340 pub tmp: mp_ptr,
19341 pub m: mp_limb_signed_t,
19342}
19343#[test]
19344fn bindgen_test_layout_nmod_poly_interval_poly_arg_t() {
19345 assert_eq!(
19346 ::std::mem::size_of::<nmod_poly_interval_poly_arg_t>(),
19347 56usize,
19348 concat!("Size of: ", stringify!(nmod_poly_interval_poly_arg_t))
19349 );
19350 assert_eq!(
19351 ::std::mem::align_of::<nmod_poly_interval_poly_arg_t>(),
19352 8usize,
19353 concat!("Alignment of ", stringify!(nmod_poly_interval_poly_arg_t))
19354 );
19355 assert_eq!(
19356 unsafe {
19357 &(*(::std::ptr::null::<nmod_poly_interval_poly_arg_t>())).baby as *const _ as usize
19358 },
19359 0usize,
19360 concat!(
19361 "Offset of field: ",
19362 stringify!(nmod_poly_interval_poly_arg_t),
19363 "::",
19364 stringify!(baby)
19365 )
19366 );
19367 assert_eq!(
19368 unsafe {
19369 &(*(::std::ptr::null::<nmod_poly_interval_poly_arg_t>())).res as *const _ as usize
19370 },
19371 8usize,
19372 concat!(
19373 "Offset of field: ",
19374 stringify!(nmod_poly_interval_poly_arg_t),
19375 "::",
19376 stringify!(res)
19377 )
19378 );
19379 assert_eq!(
19380 unsafe { &(*(::std::ptr::null::<nmod_poly_interval_poly_arg_t>())).H as *const _ as usize },
19381 16usize,
19382 concat!(
19383 "Offset of field: ",
19384 stringify!(nmod_poly_interval_poly_arg_t),
19385 "::",
19386 stringify!(H)
19387 )
19388 );
19389 assert_eq!(
19390 unsafe { &(*(::std::ptr::null::<nmod_poly_interval_poly_arg_t>())).v as *const _ as usize },
19391 24usize,
19392 concat!(
19393 "Offset of field: ",
19394 stringify!(nmod_poly_interval_poly_arg_t),
19395 "::",
19396 stringify!(v)
19397 )
19398 );
19399 assert_eq!(
19400 unsafe {
19401 &(*(::std::ptr::null::<nmod_poly_interval_poly_arg_t>())).vinv as *const _ as usize
19402 },
19403 32usize,
19404 concat!(
19405 "Offset of field: ",
19406 stringify!(nmod_poly_interval_poly_arg_t),
19407 "::",
19408 stringify!(vinv)
19409 )
19410 );
19411 assert_eq!(
19412 unsafe {
19413 &(*(::std::ptr::null::<nmod_poly_interval_poly_arg_t>())).tmp as *const _ as usize
19414 },
19415 40usize,
19416 concat!(
19417 "Offset of field: ",
19418 stringify!(nmod_poly_interval_poly_arg_t),
19419 "::",
19420 stringify!(tmp)
19421 )
19422 );
19423 assert_eq!(
19424 unsafe { &(*(::std::ptr::null::<nmod_poly_interval_poly_arg_t>())).m as *const _ as usize },
19425 48usize,
19426 concat!(
19427 "Offset of field: ",
19428 stringify!(nmod_poly_interval_poly_arg_t),
19429 "::",
19430 stringify!(m)
19431 )
19432 );
19433}
19434pub type nmod_poly_factor_t = [nmod_poly_factor_struct; 1usize];
19435extern "C" {
19436 pub fn nmod_poly_factor_init(fac: *mut nmod_poly_factor_struct);
19437}
19438extern "C" {
19439 pub fn nmod_poly_factor_clear(fac: *mut nmod_poly_factor_struct);
19440}
19441extern "C" {
19442 pub fn nmod_poly_factor_realloc(fac: *mut nmod_poly_factor_struct, alloc: mp_limb_signed_t);
19443}
19444extern "C" {
19445 pub fn nmod_poly_factor_fit_length(fac: *mut nmod_poly_factor_struct, len: mp_limb_signed_t);
19446}
19447extern "C" {
19448 pub fn nmod_poly_factor_set(
19449 res: *mut nmod_poly_factor_struct,
19450 fac: *mut nmod_poly_factor_struct,
19451 );
19452}
19453extern "C" {
19454 pub fn nmod_poly_factor_insert(
19455 fac: *mut nmod_poly_factor_struct,
19456 poly: *mut nmod_poly_struct,
19457 exp: mp_limb_signed_t,
19458 );
19459}
19460extern "C" {
19461 pub fn nmod_poly_factor_print(fac: *mut nmod_poly_factor_struct);
19462}
19463extern "C" {
19464 pub fn nmod_poly_factor_concat(
19465 res: *mut nmod_poly_factor_struct,
19466 fac: *mut nmod_poly_factor_struct,
19467 );
19468}
19469extern "C" {
19470 pub fn nmod_poly_factor_pow(fac: *mut nmod_poly_factor_struct, exp: mp_limb_signed_t);
19471}
19472extern "C" {
19473 pub fn nmod_poly_factor_equal_deg(
19474 factors: *mut nmod_poly_factor_struct,
19475 pol: *mut nmod_poly_struct,
19476 d: mp_limb_signed_t,
19477 );
19478}
19479extern "C" {
19480 pub fn nmod_poly_factor_equal_deg_prob(
19481 factor: *mut nmod_poly_struct,
19482 state: *mut flint_rand_s,
19483 pol: *mut nmod_poly_struct,
19484 d: mp_limb_signed_t,
19485 ) -> ::std::os::raw::c_int;
19486}
19487extern "C" {
19488 pub fn nmod_poly_factor_distinct_deg(
19489 res: *mut nmod_poly_factor_struct,
19490 poly: *mut nmod_poly_struct,
19491 degs: *const *mut mp_limb_signed_t,
19492 );
19493}
19494extern "C" {
19495 pub fn nmod_poly_remove(f: *mut nmod_poly_struct, p: *mut nmod_poly_struct) -> mp_limb_t;
19496}
19497extern "C" {
19498 pub fn nmod_poly_factor_distinct_deg_threaded(
19499 res: *mut nmod_poly_factor_struct,
19500 poly: *mut nmod_poly_struct,
19501 degs: *const *mut mp_limb_signed_t,
19502 );
19503}
19504extern "C" {
19505 pub fn nmod_poly_is_irreducible(f: *mut nmod_poly_struct) -> ::std::os::raw::c_int;
19506}
19507extern "C" {
19508 pub fn nmod_poly_is_irreducible_rabin(f: *mut nmod_poly_struct) -> ::std::os::raw::c_int;
19509}
19510extern "C" {
19511 pub fn nmod_poly_is_irreducible_ddf(f: *mut nmod_poly_struct) -> ::std::os::raw::c_int;
19512}
19513extern "C" {
19514 pub fn _nmod_poly_is_squarefree(
19515 f: mp_srcptr,
19516 len: mp_limb_signed_t,
19517 mod_: nmod_t,
19518 ) -> ::std::os::raw::c_int;
19519}
19520extern "C" {
19521 pub fn nmod_poly_is_squarefree(f: *mut nmod_poly_struct) -> ::std::os::raw::c_int;
19522}
19523extern "C" {
19524 pub fn nmod_poly_factor_cantor_zassenhaus(
19525 res: *mut nmod_poly_factor_struct,
19526 f: *mut nmod_poly_struct,
19527 );
19528}
19529extern "C" {
19530 pub fn nmod_poly_factor_berlekamp(
19531 factors: *mut nmod_poly_factor_struct,
19532 f: *mut nmod_poly_struct,
19533 );
19534}
19535extern "C" {
19536 pub fn nmod_poly_factor_kaltofen_shoup(
19537 res: *mut nmod_poly_factor_struct,
19538 poly: *mut nmod_poly_struct,
19539 );
19540}
19541extern "C" {
19542 pub fn nmod_poly_factor_squarefree(res: *mut nmod_poly_factor_struct, f: *mut nmod_poly_struct);
19543}
19544extern "C" {
19545 pub fn nmod_poly_factor_with_berlekamp(
19546 result: *mut nmod_poly_factor_struct,
19547 input: *mut nmod_poly_struct,
19548 ) -> mp_limb_t;
19549}
19550extern "C" {
19551 pub fn nmod_poly_factor_with_cantor_zassenhaus(
19552 result: *mut nmod_poly_factor_struct,
19553 input: *mut nmod_poly_struct,
19554 ) -> mp_limb_t;
19555}
19556extern "C" {
19557 pub fn nmod_poly_factor_with_kaltofen_shoup(
19558 result: *mut nmod_poly_factor_struct,
19559 input: *mut nmod_poly_struct,
19560 ) -> mp_limb_t;
19561}
19562extern "C" {
19563 pub fn nmod_poly_factor(
19564 result: *mut nmod_poly_factor_struct,
19565 input: *mut nmod_poly_struct,
19566 ) -> mp_limb_t;
19567}
19568extern "C" {
19569 pub fn _nmod_poly_interval_poly_worker(arg_ptr: *mut ::std::os::raw::c_void);
19570}
19571extern "C" {
19572 pub fn nmod_poly_roots(
19573 r: *mut nmod_poly_factor_struct,
19574 f: *mut nmod_poly_struct,
19575 with_multiplicity: ::std::os::raw::c_int,
19576 );
19577}
19578extern "C" {
19579 pub fn nmod_poly_roots_factored(
19580 r: *mut nmod_poly_factor_struct,
19581 f: *mut nmod_poly_struct,
19582 with_multiplicity: ::std::os::raw::c_int,
19583 n: *const n_factor_t,
19584 ) -> ::std::os::raw::c_int;
19585}
19586extern "C" {
19587 pub fn nmod_poly_factor_get_nmod_poly(
19588 z: *mut nmod_poly_struct,
19589 fac: *mut nmod_poly_factor_struct,
19590 i: mp_limb_signed_t,
19591 );
19592}
19593#[repr(C)]
19594#[derive(Debug, Copy, Clone)]
19595pub struct fmpz_poly_struct {
19596 pub coeffs: *mut fmpz,
19597 pub alloc: mp_limb_signed_t,
19598 pub length: mp_limb_signed_t,
19599}
19600#[test]
19601fn bindgen_test_layout_fmpz_poly_struct() {
19602 assert_eq!(
19603 ::std::mem::size_of::<fmpz_poly_struct>(),
19604 24usize,
19605 concat!("Size of: ", stringify!(fmpz_poly_struct))
19606 );
19607 assert_eq!(
19608 ::std::mem::align_of::<fmpz_poly_struct>(),
19609 8usize,
19610 concat!("Alignment of ", stringify!(fmpz_poly_struct))
19611 );
19612 assert_eq!(
19613 unsafe { &(*(::std::ptr::null::<fmpz_poly_struct>())).coeffs as *const _ as usize },
19614 0usize,
19615 concat!(
19616 "Offset of field: ",
19617 stringify!(fmpz_poly_struct),
19618 "::",
19619 stringify!(coeffs)
19620 )
19621 );
19622 assert_eq!(
19623 unsafe { &(*(::std::ptr::null::<fmpz_poly_struct>())).alloc as *const _ as usize },
19624 8usize,
19625 concat!(
19626 "Offset of field: ",
19627 stringify!(fmpz_poly_struct),
19628 "::",
19629 stringify!(alloc)
19630 )
19631 );
19632 assert_eq!(
19633 unsafe { &(*(::std::ptr::null::<fmpz_poly_struct>())).length as *const _ as usize },
19634 16usize,
19635 concat!(
19636 "Offset of field: ",
19637 stringify!(fmpz_poly_struct),
19638 "::",
19639 stringify!(length)
19640 )
19641 );
19642}
19643pub type fmpz_poly_t = [fmpz_poly_struct; 1usize];
19644#[repr(C)]
19645#[derive(Debug, Copy, Clone)]
19646pub struct fmpz_poly_powers_precomp_struct {
19647 pub powers: *mut *mut fmpz,
19648 pub len: mp_limb_signed_t,
19649}
19650#[test]
19651fn bindgen_test_layout_fmpz_poly_powers_precomp_struct() {
19652 assert_eq!(
19653 ::std::mem::size_of::<fmpz_poly_powers_precomp_struct>(),
19654 16usize,
19655 concat!("Size of: ", stringify!(fmpz_poly_powers_precomp_struct))
19656 );
19657 assert_eq!(
19658 ::std::mem::align_of::<fmpz_poly_powers_precomp_struct>(),
19659 8usize,
19660 concat!("Alignment of ", stringify!(fmpz_poly_powers_precomp_struct))
19661 );
19662 assert_eq!(
19663 unsafe {
19664 &(*(::std::ptr::null::<fmpz_poly_powers_precomp_struct>())).powers as *const _ as usize
19665 },
19666 0usize,
19667 concat!(
19668 "Offset of field: ",
19669 stringify!(fmpz_poly_powers_precomp_struct),
19670 "::",
19671 stringify!(powers)
19672 )
19673 );
19674 assert_eq!(
19675 unsafe {
19676 &(*(::std::ptr::null::<fmpz_poly_powers_precomp_struct>())).len as *const _ as usize
19677 },
19678 8usize,
19679 concat!(
19680 "Offset of field: ",
19681 stringify!(fmpz_poly_powers_precomp_struct),
19682 "::",
19683 stringify!(len)
19684 )
19685 );
19686}
19687pub type fmpz_poly_powers_precomp_t = [fmpz_poly_powers_precomp_struct; 1usize];
19688#[repr(C)]
19689#[derive(Debug, Copy, Clone)]
19690pub struct fmpz_poly_factor_struct {
19691 pub c: fmpz,
19692 pub p: *mut fmpz_poly_struct,
19693 pub exp: *mut mp_limb_signed_t,
19694 pub num: mp_limb_signed_t,
19695 pub alloc: mp_limb_signed_t,
19696}
19697#[test]
19698fn bindgen_test_layout_fmpz_poly_factor_struct() {
19699 assert_eq!(
19700 ::std::mem::size_of::<fmpz_poly_factor_struct>(),
19701 40usize,
19702 concat!("Size of: ", stringify!(fmpz_poly_factor_struct))
19703 );
19704 assert_eq!(
19705 ::std::mem::align_of::<fmpz_poly_factor_struct>(),
19706 8usize,
19707 concat!("Alignment of ", stringify!(fmpz_poly_factor_struct))
19708 );
19709 assert_eq!(
19710 unsafe { &(*(::std::ptr::null::<fmpz_poly_factor_struct>())).c as *const _ as usize },
19711 0usize,
19712 concat!(
19713 "Offset of field: ",
19714 stringify!(fmpz_poly_factor_struct),
19715 "::",
19716 stringify!(c)
19717 )
19718 );
19719 assert_eq!(
19720 unsafe { &(*(::std::ptr::null::<fmpz_poly_factor_struct>())).p as *const _ as usize },
19721 8usize,
19722 concat!(
19723 "Offset of field: ",
19724 stringify!(fmpz_poly_factor_struct),
19725 "::",
19726 stringify!(p)
19727 )
19728 );
19729 assert_eq!(
19730 unsafe { &(*(::std::ptr::null::<fmpz_poly_factor_struct>())).exp as *const _ as usize },
19731 16usize,
19732 concat!(
19733 "Offset of field: ",
19734 stringify!(fmpz_poly_factor_struct),
19735 "::",
19736 stringify!(exp)
19737 )
19738 );
19739 assert_eq!(
19740 unsafe { &(*(::std::ptr::null::<fmpz_poly_factor_struct>())).num as *const _ as usize },
19741 24usize,
19742 concat!(
19743 "Offset of field: ",
19744 stringify!(fmpz_poly_factor_struct),
19745 "::",
19746 stringify!(num)
19747 )
19748 );
19749 assert_eq!(
19750 unsafe { &(*(::std::ptr::null::<fmpz_poly_factor_struct>())).alloc as *const _ as usize },
19751 32usize,
19752 concat!(
19753 "Offset of field: ",
19754 stringify!(fmpz_poly_factor_struct),
19755 "::",
19756 stringify!(alloc)
19757 )
19758 );
19759}
19760pub type fmpz_poly_factor_t = [fmpz_poly_factor_struct; 1usize];
19761#[repr(C)]
19762#[derive(Debug, Copy, Clone)]
19763pub struct fmpz_poly_mul_precache_struct {
19764 pub jj: *mut *mut mp_limb_t,
19765 pub n: mp_limb_signed_t,
19766 pub len2: mp_limb_signed_t,
19767 pub loglen: mp_limb_signed_t,
19768 pub bits2: mp_limb_signed_t,
19769 pub limbs: mp_limb_signed_t,
19770 pub poly2: fmpz_poly_t,
19771}
19772#[test]
19773fn bindgen_test_layout_fmpz_poly_mul_precache_struct() {
19774 assert_eq!(
19775 ::std::mem::size_of::<fmpz_poly_mul_precache_struct>(),
19776 72usize,
19777 concat!("Size of: ", stringify!(fmpz_poly_mul_precache_struct))
19778 );
19779 assert_eq!(
19780 ::std::mem::align_of::<fmpz_poly_mul_precache_struct>(),
19781 8usize,
19782 concat!("Alignment of ", stringify!(fmpz_poly_mul_precache_struct))
19783 );
19784 assert_eq!(
19785 unsafe {
19786 &(*(::std::ptr::null::<fmpz_poly_mul_precache_struct>())).jj as *const _ as usize
19787 },
19788 0usize,
19789 concat!(
19790 "Offset of field: ",
19791 stringify!(fmpz_poly_mul_precache_struct),
19792 "::",
19793 stringify!(jj)
19794 )
19795 );
19796 assert_eq!(
19797 unsafe { &(*(::std::ptr::null::<fmpz_poly_mul_precache_struct>())).n as *const _ as usize },
19798 8usize,
19799 concat!(
19800 "Offset of field: ",
19801 stringify!(fmpz_poly_mul_precache_struct),
19802 "::",
19803 stringify!(n)
19804 )
19805 );
19806 assert_eq!(
19807 unsafe {
19808 &(*(::std::ptr::null::<fmpz_poly_mul_precache_struct>())).len2 as *const _ as usize
19809 },
19810 16usize,
19811 concat!(
19812 "Offset of field: ",
19813 stringify!(fmpz_poly_mul_precache_struct),
19814 "::",
19815 stringify!(len2)
19816 )
19817 );
19818 assert_eq!(
19819 unsafe {
19820 &(*(::std::ptr::null::<fmpz_poly_mul_precache_struct>())).loglen as *const _ as usize
19821 },
19822 24usize,
19823 concat!(
19824 "Offset of field: ",
19825 stringify!(fmpz_poly_mul_precache_struct),
19826 "::",
19827 stringify!(loglen)
19828 )
19829 );
19830 assert_eq!(
19831 unsafe {
19832 &(*(::std::ptr::null::<fmpz_poly_mul_precache_struct>())).bits2 as *const _ as usize
19833 },
19834 32usize,
19835 concat!(
19836 "Offset of field: ",
19837 stringify!(fmpz_poly_mul_precache_struct),
19838 "::",
19839 stringify!(bits2)
19840 )
19841 );
19842 assert_eq!(
19843 unsafe {
19844 &(*(::std::ptr::null::<fmpz_poly_mul_precache_struct>())).limbs as *const _ as usize
19845 },
19846 40usize,
19847 concat!(
19848 "Offset of field: ",
19849 stringify!(fmpz_poly_mul_precache_struct),
19850 "::",
19851 stringify!(limbs)
19852 )
19853 );
19854 assert_eq!(
19855 unsafe {
19856 &(*(::std::ptr::null::<fmpz_poly_mul_precache_struct>())).poly2 as *const _ as usize
19857 },
19858 48usize,
19859 concat!(
19860 "Offset of field: ",
19861 stringify!(fmpz_poly_mul_precache_struct),
19862 "::",
19863 stringify!(poly2)
19864 )
19865 );
19866}
19867pub type fmpz_poly_mul_precache_t = [fmpz_poly_mul_precache_struct; 1usize];
19868extern "C" {
19869 pub fn fmpz_poly_init(poly: *mut fmpz_poly_struct);
19870}
19871extern "C" {
19872 pub fn fmpz_poly_init2(poly: *mut fmpz_poly_struct, alloc: mp_limb_signed_t);
19873}
19874extern "C" {
19875 pub fn fmpz_poly_realloc(poly: *mut fmpz_poly_struct, alloc: mp_limb_signed_t);
19876}
19877extern "C" {
19878 pub fn fmpz_poly_fit_length(poly: *mut fmpz_poly_struct, len: mp_limb_signed_t);
19879}
19880extern "C" {
19881 pub fn fmpz_poly_clear(poly: *mut fmpz_poly_struct);
19882}
19883extern "C" {
19884 pub fn _fmpz_poly_normalise(poly: *mut fmpz_poly_struct);
19885}
19886extern "C" {
19887 pub fn fmpz_poly_set(poly1: *mut fmpz_poly_struct, poly2: *mut fmpz_poly_struct);
19888}
19889extern "C" {
19890 pub fn fmpz_poly_set_ui(poly: *mut fmpz_poly_struct, c: mp_limb_t);
19891}
19892extern "C" {
19893 pub fn fmpz_poly_set_si(poly: *mut fmpz_poly_struct, c: mp_limb_signed_t);
19894}
19895extern "C" {
19896 pub fn fmpz_poly_set_fmpz(poly: *mut fmpz_poly_struct, c: *mut fmpz);
19897}
19898extern "C" {
19899 pub fn fmpz_poly_set_mpz(poly: *mut fmpz_poly_struct, c: *mut __mpz_struct);
19900}
19901extern "C" {
19902 pub fn _fmpz_poly_set_str(
19903 poly: *mut fmpz,
19904 str: *const ::std::os::raw::c_char,
19905 ) -> ::std::os::raw::c_int;
19906}
19907extern "C" {
19908 pub fn fmpz_poly_set_str(
19909 poly: *mut fmpz_poly_struct,
19910 str: *const ::std::os::raw::c_char,
19911 ) -> ::std::os::raw::c_int;
19912}
19913extern "C" {
19914 pub fn _fmpz_poly_get_str(
19915 poly: *const fmpz,
19916 len: mp_limb_signed_t,
19917 ) -> *mut ::std::os::raw::c_char;
19918}
19919extern "C" {
19920 pub fn fmpz_poly_get_str(poly: *mut fmpz_poly_struct) -> *mut ::std::os::raw::c_char;
19921}
19922extern "C" {
19923 pub fn _fmpz_poly_get_str_pretty(
19924 poly: *const fmpz,
19925 len: mp_limb_signed_t,
19926 x: *const ::std::os::raw::c_char,
19927 ) -> *mut ::std::os::raw::c_char;
19928}
19929extern "C" {
19930 pub fn fmpz_poly_get_str_pretty(
19931 poly: *mut fmpz_poly_struct,
19932 x: *const ::std::os::raw::c_char,
19933 ) -> *mut ::std::os::raw::c_char;
19934}
19935extern "C" {
19936 pub fn fmpz_poly_zero_coeffs(
19937 poly: *mut fmpz_poly_struct,
19938 i: mp_limb_signed_t,
19939 j: mp_limb_signed_t,
19940 );
19941}
19942extern "C" {
19943 pub fn fmpz_poly_swap(poly1: *mut fmpz_poly_struct, poly2: *mut fmpz_poly_struct);
19944}
19945extern "C" {
19946 pub fn _fmpz_poly_reverse(
19947 res: *mut fmpz,
19948 poly: *const fmpz,
19949 len: mp_limb_signed_t,
19950 n: mp_limb_signed_t,
19951 );
19952}
19953extern "C" {
19954 pub fn fmpz_poly_reverse(
19955 res: *mut fmpz_poly_struct,
19956 poly: *mut fmpz_poly_struct,
19957 n: mp_limb_signed_t,
19958 );
19959}
19960extern "C" {
19961 pub fn fmpz_poly_deflation(input: *mut fmpz_poly_struct) -> mp_limb_t;
19962}
19963extern "C" {
19964 pub fn fmpz_poly_deflate(
19965 result: *mut fmpz_poly_struct,
19966 input: *mut fmpz_poly_struct,
19967 deflation: mp_limb_t,
19968 );
19969}
19970extern "C" {
19971 pub fn fmpz_poly_inflate(
19972 result: *mut fmpz_poly_struct,
19973 input: *mut fmpz_poly_struct,
19974 inflation: mp_limb_t,
19975 );
19976}
19977extern "C" {
19978 pub fn fmpz_poly_set_trunc(
19979 res: *mut fmpz_poly_struct,
19980 poly: *mut fmpz_poly_struct,
19981 n: mp_limb_signed_t,
19982 );
19983}
19984extern "C" {
19985 pub fn fmpz_poly_randtest(
19986 f: *mut fmpz_poly_struct,
19987 state: *mut flint_rand_s,
19988 len: mp_limb_signed_t,
19989 bits: mp_limb_t,
19990 );
19991}
19992extern "C" {
19993 pub fn fmpz_poly_randtest_unsigned(
19994 f: *mut fmpz_poly_struct,
19995 state: *mut flint_rand_s,
19996 len: mp_limb_signed_t,
19997 bits: mp_limb_t,
19998 );
19999}
20000extern "C" {
20001 pub fn fmpz_poly_randtest_not_zero(
20002 f: *mut fmpz_poly_struct,
20003 state: *mut flint_rand_s,
20004 len: mp_limb_signed_t,
20005 bits: mp_limb_t,
20006 );
20007}
20008extern "C" {
20009 pub fn fmpz_poly_randtest_no_real_root(
20010 p: *mut fmpz_poly_struct,
20011 state: *mut flint_rand_s,
20012 len: mp_limb_signed_t,
20013 bits: mp_limb_t,
20014 );
20015}
20016extern "C" {
20017 pub fn fmpz_poly_get_coeff_si(
20018 poly: *mut fmpz_poly_struct,
20019 n: mp_limb_signed_t,
20020 ) -> mp_limb_signed_t;
20021}
20022extern "C" {
20023 pub fn fmpz_poly_set_coeff_si(
20024 poly: *mut fmpz_poly_struct,
20025 n: mp_limb_signed_t,
20026 x: mp_limb_signed_t,
20027 );
20028}
20029extern "C" {
20030 pub fn fmpz_poly_get_coeff_ui(poly: *mut fmpz_poly_struct, n: mp_limb_signed_t) -> mp_limb_t;
20031}
20032extern "C" {
20033 pub fn fmpz_poly_set_coeff_ui(poly: *mut fmpz_poly_struct, n: mp_limb_signed_t, x: mp_limb_t);
20034}
20035extern "C" {
20036 pub fn fmpz_poly_set_coeff_fmpz(poly: *mut fmpz_poly_struct, n: mp_limb_signed_t, x: *mut fmpz);
20037}
20038extern "C" {
20039 pub fn fmpz_poly_get_coeff_fmpz(x: *mut fmpz, poly: *mut fmpz_poly_struct, n: mp_limb_signed_t);
20040}
20041extern "C" {
20042 pub fn fmpz_poly_equal(
20043 poly1: *mut fmpz_poly_struct,
20044 poly2: *mut fmpz_poly_struct,
20045 ) -> ::std::os::raw::c_int;
20046}
20047extern "C" {
20048 pub fn fmpz_poly_equal_trunc(
20049 poly1: *mut fmpz_poly_struct,
20050 poly2: *mut fmpz_poly_struct,
20051 n: mp_limb_signed_t,
20052 ) -> ::std::os::raw::c_int;
20053}
20054extern "C" {
20055 pub fn _fmpz_poly_add(
20056 res: *mut fmpz,
20057 poly1: *const fmpz,
20058 len1: mp_limb_signed_t,
20059 poly2: *const fmpz,
20060 len2: mp_limb_signed_t,
20061 );
20062}
20063extern "C" {
20064 pub fn fmpz_poly_add(
20065 res: *mut fmpz_poly_struct,
20066 poly1: *mut fmpz_poly_struct,
20067 poly2: *mut fmpz_poly_struct,
20068 );
20069}
20070extern "C" {
20071 pub fn fmpz_poly_add_series(
20072 res: *mut fmpz_poly_struct,
20073 poly1: *mut fmpz_poly_struct,
20074 poly2: *mut fmpz_poly_struct,
20075 n: mp_limb_signed_t,
20076 );
20077}
20078extern "C" {
20079 pub fn _fmpz_poly_sub(
20080 res: *mut fmpz,
20081 poly1: *const fmpz,
20082 len1: mp_limb_signed_t,
20083 poly2: *const fmpz,
20084 len2: mp_limb_signed_t,
20085 );
20086}
20087extern "C" {
20088 pub fn fmpz_poly_sub(
20089 res: *mut fmpz_poly_struct,
20090 poly1: *mut fmpz_poly_struct,
20091 poly2: *mut fmpz_poly_struct,
20092 );
20093}
20094extern "C" {
20095 pub fn fmpz_poly_sub_series(
20096 res: *mut fmpz_poly_struct,
20097 poly1: *mut fmpz_poly_struct,
20098 poly2: *mut fmpz_poly_struct,
20099 n: mp_limb_signed_t,
20100 );
20101}
20102extern "C" {
20103 pub fn fmpz_poly_neg(res: *mut fmpz_poly_struct, poly: *mut fmpz_poly_struct);
20104}
20105extern "C" {
20106 pub fn fmpz_poly_scalar_abs(res: *mut fmpz_poly_struct, poly: *mut fmpz_poly_struct);
20107}
20108extern "C" {
20109 pub fn fmpz_poly_scalar_mul_ui(
20110 poly1: *mut fmpz_poly_struct,
20111 poly2: *mut fmpz_poly_struct,
20112 x: mp_limb_t,
20113 );
20114}
20115extern "C" {
20116 pub fn fmpz_poly_scalar_mul_si(
20117 poly1: *mut fmpz_poly_struct,
20118 poly2: *mut fmpz_poly_struct,
20119 x: mp_limb_signed_t,
20120 );
20121}
20122extern "C" {
20123 pub fn fmpz_poly_scalar_mul_fmpz(
20124 poly1: *mut fmpz_poly_struct,
20125 poly2: *mut fmpz_poly_struct,
20126 x: *mut fmpz,
20127 );
20128}
20129extern "C" {
20130 pub fn fmpz_poly_scalar_addmul_fmpz(
20131 poly1: *mut fmpz_poly_struct,
20132 poly2: *mut fmpz_poly_struct,
20133 x: *mut fmpz,
20134 );
20135}
20136extern "C" {
20137 pub fn fmpz_poly_scalar_submul_fmpz(
20138 poly1: *mut fmpz_poly_struct,
20139 poly2: *mut fmpz_poly_struct,
20140 x: *mut fmpz,
20141 );
20142}
20143extern "C" {
20144 pub fn fmpz_poly_scalar_fdiv_ui(
20145 poly1: *mut fmpz_poly_struct,
20146 poly2: *mut fmpz_poly_struct,
20147 x: mp_limb_t,
20148 );
20149}
20150extern "C" {
20151 pub fn fmpz_poly_scalar_fdiv_si(
20152 poly1: *mut fmpz_poly_struct,
20153 poly2: *mut fmpz_poly_struct,
20154 x: mp_limb_signed_t,
20155 );
20156}
20157extern "C" {
20158 pub fn fmpz_poly_scalar_fdiv_fmpz(
20159 poly1: *mut fmpz_poly_struct,
20160 poly2: *mut fmpz_poly_struct,
20161 x: *mut fmpz,
20162 );
20163}
20164extern "C" {
20165 pub fn fmpz_poly_scalar_tdiv_ui(
20166 poly1: *mut fmpz_poly_struct,
20167 poly2: *mut fmpz_poly_struct,
20168 x: mp_limb_t,
20169 );
20170}
20171extern "C" {
20172 pub fn fmpz_poly_scalar_tdiv_si(
20173 poly1: *mut fmpz_poly_struct,
20174 poly2: *mut fmpz_poly_struct,
20175 x: mp_limb_signed_t,
20176 );
20177}
20178extern "C" {
20179 pub fn fmpz_poly_scalar_tdiv_fmpz(
20180 poly1: *mut fmpz_poly_struct,
20181 poly2: *mut fmpz_poly_struct,
20182 x: *mut fmpz,
20183 );
20184}
20185extern "C" {
20186 pub fn fmpz_poly_scalar_divexact_ui(
20187 poly1: *mut fmpz_poly_struct,
20188 poly2: *mut fmpz_poly_struct,
20189 x: mp_limb_t,
20190 );
20191}
20192extern "C" {
20193 pub fn fmpz_poly_scalar_divexact_si(
20194 poly1: *mut fmpz_poly_struct,
20195 poly2: *mut fmpz_poly_struct,
20196 x: mp_limb_signed_t,
20197 );
20198}
20199extern "C" {
20200 pub fn fmpz_poly_scalar_divexact_fmpz(
20201 poly1: *mut fmpz_poly_struct,
20202 poly2: *mut fmpz_poly_struct,
20203 x: *mut fmpz,
20204 );
20205}
20206extern "C" {
20207 pub fn fmpz_poly_scalar_fdiv_2exp(
20208 poly1: *mut fmpz_poly_struct,
20209 poly2: *mut fmpz_poly_struct,
20210 exp: mp_limb_t,
20211 );
20212}
20213extern "C" {
20214 pub fn fmpz_poly_scalar_tdiv_2exp(
20215 poly1: *mut fmpz_poly_struct,
20216 poly2: *mut fmpz_poly_struct,
20217 exp: mp_limb_t,
20218 );
20219}
20220extern "C" {
20221 pub fn fmpz_poly_scalar_mul_2exp(
20222 poly1: *mut fmpz_poly_struct,
20223 poly2: *mut fmpz_poly_struct,
20224 exp: mp_limb_t,
20225 );
20226}
20227extern "C" {
20228 pub fn _fmpz_poly_remove_content_2exp(
20229 pol: *mut fmpz,
20230 len: mp_limb_signed_t,
20231 ) -> mp_limb_signed_t;
20232}
20233extern "C" {
20234 pub fn _fmpz_poly_scale_2exp(pol: *mut fmpz, len: mp_limb_signed_t, k: mp_limb_signed_t);
20235}
20236extern "C" {
20237 pub fn _fmpz_poly_bit_pack(
20238 arr: mp_ptr,
20239 poly: *const fmpz,
20240 len: mp_limb_signed_t,
20241 bit_size: mp_limb_t,
20242 negate: ::std::os::raw::c_int,
20243 );
20244}
20245extern "C" {
20246 pub fn _fmpz_poly_bit_unpack(
20247 poly: *mut fmpz,
20248 len: mp_limb_signed_t,
20249 arr: mp_srcptr,
20250 bit_size: mp_limb_t,
20251 negate: ::std::os::raw::c_int,
20252 ) -> ::std::os::raw::c_int;
20253}
20254extern "C" {
20255 pub fn _fmpz_poly_bit_unpack_unsigned(
20256 poly: *mut fmpz,
20257 len: mp_limb_signed_t,
20258 arr: mp_srcptr,
20259 bit_size: mp_limb_t,
20260 );
20261}
20262extern "C" {
20263 pub fn fmpz_poly_bit_pack(f: *mut fmpz, poly: *mut fmpz_poly_struct, bit_size: mp_limb_t);
20264}
20265extern "C" {
20266 pub fn fmpz_poly_bit_unpack(poly: *mut fmpz_poly_struct, f: *mut fmpz, bit_size: mp_limb_t);
20267}
20268extern "C" {
20269 pub fn fmpz_poly_bit_unpack_unsigned(
20270 poly: *mut fmpz_poly_struct,
20271 f: *mut fmpz,
20272 bit_size: mp_limb_t,
20273 );
20274}
20275extern "C" {
20276 pub fn _fmpz_poly_mul_classical(
20277 res: *mut fmpz,
20278 poly1: *const fmpz,
20279 len1: mp_limb_signed_t,
20280 poly2: *const fmpz,
20281 len2: mp_limb_signed_t,
20282 );
20283}
20284extern "C" {
20285 pub fn fmpz_poly_mul_classical(
20286 res: *mut fmpz_poly_struct,
20287 poly1: *mut fmpz_poly_struct,
20288 poly2: *mut fmpz_poly_struct,
20289 );
20290}
20291extern "C" {
20292 pub fn _fmpz_poly_mullow_classical(
20293 res: *mut fmpz,
20294 poly1: *const fmpz,
20295 len1: mp_limb_signed_t,
20296 poly2: *const fmpz,
20297 len2: mp_limb_signed_t,
20298 n: mp_limb_signed_t,
20299 );
20300}
20301extern "C" {
20302 pub fn fmpz_poly_mullow_classical(
20303 res: *mut fmpz_poly_struct,
20304 poly1: *mut fmpz_poly_struct,
20305 poly2: *mut fmpz_poly_struct,
20306 n: mp_limb_signed_t,
20307 );
20308}
20309extern "C" {
20310 pub fn _fmpz_poly_mulhigh_classical(
20311 res: *mut fmpz,
20312 poly1: *const fmpz,
20313 len1: mp_limb_signed_t,
20314 poly2: *const fmpz,
20315 len2: mp_limb_signed_t,
20316 start: mp_limb_signed_t,
20317 );
20318}
20319extern "C" {
20320 pub fn fmpz_poly_mulhigh_classical(
20321 res: *mut fmpz_poly_struct,
20322 poly1: *mut fmpz_poly_struct,
20323 poly2: *mut fmpz_poly_struct,
20324 start: mp_limb_signed_t,
20325 );
20326}
20327extern "C" {
20328 pub fn _fmpz_poly_mulmid_classical(
20329 res: *mut fmpz,
20330 poly1: *const fmpz,
20331 len1: mp_limb_signed_t,
20332 poly2: *const fmpz,
20333 len2: mp_limb_signed_t,
20334 );
20335}
20336extern "C" {
20337 pub fn fmpz_poly_mulmid_classical(
20338 res: *mut fmpz_poly_struct,
20339 poly1: *mut fmpz_poly_struct,
20340 poly2: *mut fmpz_poly_struct,
20341 );
20342}
20343extern "C" {
20344 pub fn fmpz_poly_mul_karatsuba(
20345 res: *mut fmpz_poly_struct,
20346 poly1: *mut fmpz_poly_struct,
20347 poly2: *mut fmpz_poly_struct,
20348 );
20349}
20350extern "C" {
20351 pub fn _fmpz_poly_mul_karatsuba(
20352 res: *mut fmpz,
20353 poly1: *const fmpz,
20354 len1: mp_limb_signed_t,
20355 poly2: *const fmpz,
20356 len2: mp_limb_signed_t,
20357 );
20358}
20359extern "C" {
20360 pub fn _fmpz_poly_mullow_karatsuba_n(
20361 res: *mut fmpz,
20362 poly1: *const fmpz,
20363 poly2: *const fmpz,
20364 n: mp_limb_signed_t,
20365 );
20366}
20367extern "C" {
20368 pub fn fmpz_poly_mullow_karatsuba_n(
20369 res: *mut fmpz_poly_struct,
20370 poly1: *mut fmpz_poly_struct,
20371 poly2: *mut fmpz_poly_struct,
20372 n: mp_limb_signed_t,
20373 );
20374}
20375extern "C" {
20376 pub fn _fmpz_poly_mulhigh_karatsuba_n(
20377 res: *mut fmpz,
20378 poly1: *const fmpz,
20379 poly2: *const fmpz,
20380 len: mp_limb_signed_t,
20381 );
20382}
20383extern "C" {
20384 pub fn fmpz_poly_mulhigh_karatsuba_n(
20385 res: *mut fmpz_poly_struct,
20386 poly1: *mut fmpz_poly_struct,
20387 poly2: *mut fmpz_poly_struct,
20388 length: mp_limb_signed_t,
20389 );
20390}
20391extern "C" {
20392 pub fn _fmpz_poly_mul_KS(
20393 res: *mut fmpz,
20394 poly1: *const fmpz,
20395 len1: mp_limb_signed_t,
20396 poly2: *const fmpz,
20397 len2: mp_limb_signed_t,
20398 );
20399}
20400extern "C" {
20401 pub fn fmpz_poly_mul_KS(
20402 res: *mut fmpz_poly_struct,
20403 poly1: *mut fmpz_poly_struct,
20404 poly2: *mut fmpz_poly_struct,
20405 );
20406}
20407extern "C" {
20408 pub fn _fmpz_poly_mullow_KS(
20409 res: *mut fmpz,
20410 poly1: *const fmpz,
20411 len1: mp_limb_signed_t,
20412 poly2: *const fmpz,
20413 len2: mp_limb_signed_t,
20414 n: mp_limb_signed_t,
20415 );
20416}
20417extern "C" {
20418 pub fn fmpz_poly_mullow_KS(
20419 res: *mut fmpz_poly_struct,
20420 poly1: *mut fmpz_poly_struct,
20421 poly2: *mut fmpz_poly_struct,
20422 n: mp_limb_signed_t,
20423 );
20424}
20425extern "C" {
20426 pub fn _fmpz_poly_mul_SS(
20427 output: *mut fmpz,
20428 input1: *const fmpz,
20429 length1: mp_limb_signed_t,
20430 input2: *const fmpz,
20431 length2: mp_limb_signed_t,
20432 );
20433}
20434extern "C" {
20435 pub fn fmpz_poly_mul_SS(
20436 res: *mut fmpz_poly_struct,
20437 poly1: *mut fmpz_poly_struct,
20438 poly2: *mut fmpz_poly_struct,
20439 );
20440}
20441extern "C" {
20442 pub fn _fmpz_poly_mullow_SS(
20443 output: *mut fmpz,
20444 input1: *const fmpz,
20445 length1: mp_limb_signed_t,
20446 input2: *const fmpz,
20447 length2: mp_limb_signed_t,
20448 n: mp_limb_signed_t,
20449 );
20450}
20451extern "C" {
20452 pub fn fmpz_poly_mullow_SS(
20453 res: *mut fmpz_poly_struct,
20454 poly1: *mut fmpz_poly_struct,
20455 poly2: *mut fmpz_poly_struct,
20456 n: mp_limb_signed_t,
20457 );
20458}
20459extern "C" {
20460 pub fn _fmpz_poly_mul(
20461 res: *mut fmpz,
20462 poly1: *const fmpz,
20463 len1: mp_limb_signed_t,
20464 poly2: *const fmpz,
20465 len2: mp_limb_signed_t,
20466 );
20467}
20468extern "C" {
20469 pub fn fmpz_poly_mul(
20470 res: *mut fmpz_poly_struct,
20471 poly1: *mut fmpz_poly_struct,
20472 poly2: *mut fmpz_poly_struct,
20473 );
20474}
20475extern "C" {
20476 pub fn _fmpz_poly_mullow(
20477 res: *mut fmpz,
20478 poly1: *const fmpz,
20479 len1: mp_limb_signed_t,
20480 poly2: *const fmpz,
20481 len2: mp_limb_signed_t,
20482 n: mp_limb_signed_t,
20483 );
20484}
20485extern "C" {
20486 pub fn fmpz_poly_mullow(
20487 res: *mut fmpz_poly_struct,
20488 poly1: *mut fmpz_poly_struct,
20489 poly2: *mut fmpz_poly_struct,
20490 n: mp_limb_signed_t,
20491 );
20492}
20493extern "C" {
20494 pub fn fmpz_poly_mulhigh_n(
20495 res: *mut fmpz_poly_struct,
20496 poly1: *mut fmpz_poly_struct,
20497 poly2: *mut fmpz_poly_struct,
20498 n: mp_limb_signed_t,
20499 );
20500}
20501extern "C" {
20502 pub fn fmpz_poly_mul_SS_precache_init(
20503 pre: *mut fmpz_poly_mul_precache_struct,
20504 len1: mp_limb_signed_t,
20505 bits1: mp_limb_signed_t,
20506 poly2: *mut fmpz_poly_struct,
20507 );
20508}
20509extern "C" {
20510 pub fn fmpz_poly_mul_precache_clear(pre: *mut fmpz_poly_mul_precache_struct);
20511}
20512extern "C" {
20513 pub fn _fmpz_poly_mullow_SS_precache(
20514 output: *mut fmpz,
20515 input1: *const fmpz,
20516 len1: mp_limb_signed_t,
20517 pre: *mut fmpz_poly_mul_precache_struct,
20518 trunc: mp_limb_signed_t,
20519 );
20520}
20521extern "C" {
20522 pub fn fmpz_poly_mullow_SS_precache(
20523 res: *mut fmpz_poly_struct,
20524 poly1: *mut fmpz_poly_struct,
20525 pre: *mut fmpz_poly_mul_precache_struct,
20526 n: mp_limb_signed_t,
20527 );
20528}
20529extern "C" {
20530 pub fn _fmpz_poly_sqr_KS(rop: *mut fmpz, op: *const fmpz, len: mp_limb_signed_t);
20531}
20532extern "C" {
20533 pub fn fmpz_poly_sqr_KS(rop: *mut fmpz_poly_struct, op: *mut fmpz_poly_struct);
20534}
20535extern "C" {
20536 pub fn fmpz_poly_sqr_karatsuba(rop: *mut fmpz_poly_struct, op: *mut fmpz_poly_struct);
20537}
20538extern "C" {
20539 pub fn _fmpz_poly_sqr_karatsuba(rop: *mut fmpz, op: *const fmpz, len: mp_limb_signed_t);
20540}
20541extern "C" {
20542 pub fn _fmpz_poly_sqr_classical(rop: *mut fmpz, op: *const fmpz, len: mp_limb_signed_t);
20543}
20544extern "C" {
20545 pub fn fmpz_poly_sqr_classical(rop: *mut fmpz_poly_struct, op: *mut fmpz_poly_struct);
20546}
20547extern "C" {
20548 pub fn _fmpz_poly_sqr(rop: *mut fmpz, op: *const fmpz, len: mp_limb_signed_t);
20549}
20550extern "C" {
20551 pub fn fmpz_poly_sqr(rop: *mut fmpz_poly_struct, op: *mut fmpz_poly_struct);
20552}
20553extern "C" {
20554 pub fn _fmpz_poly_sqrlow_KS(
20555 res: *mut fmpz,
20556 poly: *const fmpz,
20557 len: mp_limb_signed_t,
20558 n: mp_limb_signed_t,
20559 );
20560}
20561extern "C" {
20562 pub fn fmpz_poly_sqrlow_KS(
20563 res: *mut fmpz_poly_struct,
20564 poly: *mut fmpz_poly_struct,
20565 n: mp_limb_signed_t,
20566 );
20567}
20568extern "C" {
20569 pub fn _fmpz_poly_sqrlow_karatsuba_n(res: *mut fmpz, poly: *const fmpz, n: mp_limb_signed_t);
20570}
20571extern "C" {
20572 pub fn fmpz_poly_sqrlow_karatsuba_n(
20573 res: *mut fmpz_poly_struct,
20574 poly: *mut fmpz_poly_struct,
20575 n: mp_limb_signed_t,
20576 );
20577}
20578extern "C" {
20579 pub fn _fmpz_poly_sqrlow_classical(
20580 res: *mut fmpz,
20581 poly: *const fmpz,
20582 len: mp_limb_signed_t,
20583 n: mp_limb_signed_t,
20584 );
20585}
20586extern "C" {
20587 pub fn fmpz_poly_sqrlow_classical(
20588 res: *mut fmpz_poly_struct,
20589 poly: *mut fmpz_poly_struct,
20590 n: mp_limb_signed_t,
20591 );
20592}
20593extern "C" {
20594 pub fn _fmpz_poly_sqrlow(
20595 res: *mut fmpz,
20596 poly: *const fmpz,
20597 len: mp_limb_signed_t,
20598 n: mp_limb_signed_t,
20599 );
20600}
20601extern "C" {
20602 pub fn fmpz_poly_sqrlow(
20603 res: *mut fmpz_poly_struct,
20604 poly: *mut fmpz_poly_struct,
20605 n: mp_limb_signed_t,
20606 );
20607}
20608extern "C" {
20609 pub fn _fmpz_poly_pow_multinomial(
20610 res: *mut fmpz,
20611 poly: *const fmpz,
20612 len: mp_limb_signed_t,
20613 e: mp_limb_t,
20614 );
20615}
20616extern "C" {
20617 pub fn fmpz_poly_pow_multinomial(
20618 res: *mut fmpz_poly_struct,
20619 poly: *mut fmpz_poly_struct,
20620 e: mp_limb_t,
20621 );
20622}
20623extern "C" {
20624 pub fn _fmpz_poly_pow_binomial(res: *mut fmpz, poly: *const fmpz, e: mp_limb_t);
20625}
20626extern "C" {
20627 pub fn fmpz_poly_pow_binomial(
20628 res: *mut fmpz_poly_struct,
20629 poly: *mut fmpz_poly_struct,
20630 e: mp_limb_t,
20631 );
20632}
20633extern "C" {
20634 pub fn _fmpz_poly_pow_binexp(
20635 res: *mut fmpz,
20636 poly: *const fmpz,
20637 len: mp_limb_signed_t,
20638 e: mp_limb_t,
20639 );
20640}
20641extern "C" {
20642 pub fn fmpz_poly_pow_binexp(
20643 res: *mut fmpz_poly_struct,
20644 poly: *mut fmpz_poly_struct,
20645 e: mp_limb_t,
20646 );
20647}
20648extern "C" {
20649 pub fn _fmpz_poly_pow_addchains(
20650 res: *mut fmpz,
20651 poly: *const fmpz,
20652 len: mp_limb_signed_t,
20653 a: *const ::std::os::raw::c_int,
20654 n: ::std::os::raw::c_int,
20655 );
20656}
20657extern "C" {
20658 pub fn fmpz_poly_pow_addchains(
20659 res: *mut fmpz_poly_struct,
20660 poly: *mut fmpz_poly_struct,
20661 e: mp_limb_t,
20662 );
20663}
20664extern "C" {
20665 pub fn _fmpz_poly_pow_small(
20666 res: *mut fmpz,
20667 poly: *const fmpz,
20668 len: mp_limb_signed_t,
20669 e: mp_limb_t,
20670 );
20671}
20672extern "C" {
20673 pub fn _fmpz_poly_pow(res: *mut fmpz, poly: *const fmpz, len: mp_limb_signed_t, e: mp_limb_t);
20674}
20675extern "C" {
20676 pub fn fmpz_poly_pow(res: *mut fmpz_poly_struct, poly: *mut fmpz_poly_struct, e: mp_limb_t);
20677}
20678extern "C" {
20679 pub fn _fmpz_poly_pow_trunc(
20680 res: *mut fmpz,
20681 poly: *const fmpz,
20682 e: mp_limb_t,
20683 n: mp_limb_signed_t,
20684 );
20685}
20686extern "C" {
20687 pub fn fmpz_poly_pow_trunc(
20688 res: *mut fmpz_poly_struct,
20689 poly: *mut fmpz_poly_struct,
20690 e: mp_limb_t,
20691 n: mp_limb_signed_t,
20692 );
20693}
20694extern "C" {
20695 pub fn _fmpz_poly_shift_left(
20696 res: *mut fmpz,
20697 poly: *const fmpz,
20698 len: mp_limb_signed_t,
20699 n: mp_limb_signed_t,
20700 );
20701}
20702extern "C" {
20703 pub fn _fmpz_poly_shift_right(
20704 res: *mut fmpz,
20705 poly: *const fmpz,
20706 len: mp_limb_signed_t,
20707 n: mp_limb_signed_t,
20708 );
20709}
20710extern "C" {
20711 pub fn fmpz_poly_shift_left(
20712 res: *mut fmpz_poly_struct,
20713 poly: *mut fmpz_poly_struct,
20714 n: mp_limb_signed_t,
20715 );
20716}
20717extern "C" {
20718 pub fn fmpz_poly_shift_right(
20719 res: *mut fmpz_poly_struct,
20720 poly: *mut fmpz_poly_struct,
20721 n: mp_limb_signed_t,
20722 );
20723}
20724extern "C" {
20725 pub fn _fmpz_poly_2norm(res: *mut fmpz, poly: *const fmpz, len: mp_limb_signed_t);
20726}
20727extern "C" {
20728 pub fn fmpz_poly_2norm(res: *mut fmpz, poly: *mut fmpz_poly_struct);
20729}
20730extern "C" {
20731 pub fn _fmpz_poly_2norm_normalised_bits(poly: *const fmpz, len: mp_limb_signed_t) -> mp_limb_t;
20732}
20733extern "C" {
20734 pub fn _fmpz_poly_gcd_subresultant(
20735 res: *mut fmpz,
20736 poly1: *const fmpz,
20737 len1: mp_limb_signed_t,
20738 poly2: *const fmpz,
20739 len2: mp_limb_signed_t,
20740 );
20741}
20742extern "C" {
20743 pub fn fmpz_poly_gcd_subresultant(
20744 res: *mut fmpz_poly_struct,
20745 poly1: *mut fmpz_poly_struct,
20746 poly2: *mut fmpz_poly_struct,
20747 );
20748}
20749extern "C" {
20750 pub fn _fmpz_poly_gcd_heuristic(
20751 res: *mut fmpz,
20752 poly1: *const fmpz,
20753 len1: mp_limb_signed_t,
20754 poly2: *const fmpz,
20755 len2: mp_limb_signed_t,
20756 ) -> ::std::os::raw::c_int;
20757}
20758extern "C" {
20759 pub fn fmpz_poly_gcd_heuristic(
20760 res: *mut fmpz_poly_struct,
20761 poly1: *mut fmpz_poly_struct,
20762 poly2: *mut fmpz_poly_struct,
20763 ) -> ::std::os::raw::c_int;
20764}
20765extern "C" {
20766 pub fn _fmpz_poly_gcd_modular(
20767 res: *mut fmpz,
20768 poly1: *const fmpz,
20769 len1: mp_limb_signed_t,
20770 poly2: *const fmpz,
20771 len2: mp_limb_signed_t,
20772 );
20773}
20774extern "C" {
20775 pub fn fmpz_poly_gcd_modular(
20776 res: *mut fmpz_poly_struct,
20777 poly1: *mut fmpz_poly_struct,
20778 poly2: *mut fmpz_poly_struct,
20779 );
20780}
20781extern "C" {
20782 pub fn _fmpz_poly_gcd(
20783 res: *mut fmpz,
20784 poly1: *const fmpz,
20785 len1: mp_limb_signed_t,
20786 poly2: *const fmpz,
20787 len2: mp_limb_signed_t,
20788 );
20789}
20790extern "C" {
20791 pub fn fmpz_poly_gcd(
20792 res: *mut fmpz_poly_struct,
20793 poly1: *mut fmpz_poly_struct,
20794 poly2: *mut fmpz_poly_struct,
20795 );
20796}
20797extern "C" {
20798 pub fn _fmpz_poly_lcm(
20799 res: *mut fmpz,
20800 poly1: *const fmpz,
20801 len1: mp_limb_signed_t,
20802 poly2: *const fmpz,
20803 len2: mp_limb_signed_t,
20804 );
20805}
20806extern "C" {
20807 pub fn fmpz_poly_lcm(
20808 res: *mut fmpz_poly_struct,
20809 poly1: *mut fmpz_poly_struct,
20810 poly2: *mut fmpz_poly_struct,
20811 );
20812}
20813extern "C" {
20814 pub fn _fmpz_poly_resultant_euclidean(
20815 res: *mut fmpz,
20816 poly1: *const fmpz,
20817 len1: mp_limb_signed_t,
20818 poly2: *const fmpz,
20819 len2: mp_limb_signed_t,
20820 );
20821}
20822extern "C" {
20823 pub fn fmpz_poly_resultant_euclidean(
20824 res: *mut fmpz,
20825 poly1: *mut fmpz_poly_struct,
20826 poly2: *mut fmpz_poly_struct,
20827 );
20828}
20829extern "C" {
20830 pub fn _fmpz_poly_resultant_modular(
20831 res: *mut fmpz,
20832 poly1: *const fmpz,
20833 len1: mp_limb_signed_t,
20834 poly2: *const fmpz,
20835 len2: mp_limb_signed_t,
20836 );
20837}
20838extern "C" {
20839 pub fn fmpz_poly_resultant_modular(
20840 res: *mut fmpz,
20841 poly1: *mut fmpz_poly_struct,
20842 poly2: *mut fmpz_poly_struct,
20843 );
20844}
20845extern "C" {
20846 pub fn _fmpz_poly_resultant(
20847 res: *mut fmpz,
20848 poly1: *const fmpz,
20849 len1: mp_limb_signed_t,
20850 poly2: *const fmpz,
20851 len2: mp_limb_signed_t,
20852 );
20853}
20854extern "C" {
20855 pub fn fmpz_poly_resultant(
20856 res: *mut fmpz,
20857 poly1: *mut fmpz_poly_struct,
20858 poly2: *mut fmpz_poly_struct,
20859 );
20860}
20861extern "C" {
20862 pub fn _fmpz_poly_resultant_modular_div(
20863 res: *mut fmpz,
20864 poly1: *const fmpz,
20865 len1: mp_limb_signed_t,
20866 poly2: *const fmpz,
20867 len2: mp_limb_signed_t,
20868 divisor: *mut fmpz,
20869 nbits: mp_limb_signed_t,
20870 );
20871}
20872extern "C" {
20873 pub fn fmpz_poly_resultant_modular_div(
20874 res: *mut fmpz,
20875 poly1: *mut fmpz_poly_struct,
20876 poly2: *mut fmpz_poly_struct,
20877 divisor: *mut fmpz,
20878 nbits: mp_limb_signed_t,
20879 );
20880}
20881extern "C" {
20882 pub fn _fmpz_poly_xgcd_modular(
20883 r: *mut fmpz,
20884 s: *mut fmpz,
20885 t: *mut fmpz,
20886 poly1: *const fmpz,
20887 len1: mp_limb_signed_t,
20888 poly2: *const fmpz,
20889 len2: mp_limb_signed_t,
20890 );
20891}
20892extern "C" {
20893 pub fn fmpz_poly_xgcd_modular(
20894 r: *mut fmpz,
20895 s: *mut fmpz_poly_struct,
20896 t: *mut fmpz_poly_struct,
20897 poly1: *mut fmpz_poly_struct,
20898 poly2: *mut fmpz_poly_struct,
20899 );
20900}
20901extern "C" {
20902 pub fn _fmpz_poly_discriminant(res: *mut fmpz, poly: *const fmpz, len: mp_limb_signed_t);
20903}
20904extern "C" {
20905 pub fn fmpz_poly_discriminant(res: *mut fmpz, poly: *mut fmpz_poly_struct);
20906}
20907extern "C" {
20908 pub fn _fmpz_poly_content(res: *mut fmpz, poly: *const fmpz, len: mp_limb_signed_t);
20909}
20910extern "C" {
20911 pub fn fmpz_poly_content(res: *mut fmpz, poly: *mut fmpz_poly_struct);
20912}
20913extern "C" {
20914 pub fn _fmpz_poly_primitive_part(res: *mut fmpz, poly: *const fmpz, len: mp_limb_signed_t);
20915}
20916extern "C" {
20917 pub fn fmpz_poly_primitive_part(res: *mut fmpz_poly_struct, poly: *mut fmpz_poly_struct);
20918}
20919extern "C" {
20920 pub fn _fmpz_poly_is_squarefree(
20921 poly: *const fmpz,
20922 len: mp_limb_signed_t,
20923 ) -> ::std::os::raw::c_int;
20924}
20925extern "C" {
20926 pub fn fmpz_poly_is_squarefree(poly: *mut fmpz_poly_struct) -> ::std::os::raw::c_int;
20927}
20928extern "C" {
20929 pub fn _fmpz_poly_divrem_basecase(
20930 Q: *mut fmpz,
20931 R: *mut fmpz,
20932 A: *const fmpz,
20933 lenA: mp_limb_signed_t,
20934 B: *const fmpz,
20935 lenB: mp_limb_signed_t,
20936 exact: ::std::os::raw::c_int,
20937 ) -> ::std::os::raw::c_int;
20938}
20939extern "C" {
20940 pub fn fmpz_poly_divrem_basecase(
20941 Q: *mut fmpz_poly_struct,
20942 R: *mut fmpz_poly_struct,
20943 A: *mut fmpz_poly_struct,
20944 B: *mut fmpz_poly_struct,
20945 );
20946}
20947extern "C" {
20948 pub fn _fmpz_poly_divrem_divconquer_recursive(
20949 Q: *mut fmpz,
20950 BQ: *mut fmpz,
20951 W: *mut fmpz,
20952 A: *const fmpz,
20953 B: *const fmpz,
20954 lenB: mp_limb_signed_t,
20955 exact: ::std::os::raw::c_int,
20956 ) -> ::std::os::raw::c_int;
20957}
20958extern "C" {
20959 pub fn _fmpz_poly_divrem_divconquer(
20960 Q: *mut fmpz,
20961 R: *mut fmpz,
20962 A: *const fmpz,
20963 lenA: mp_limb_signed_t,
20964 B: *const fmpz,
20965 lenB: mp_limb_signed_t,
20966 exact: ::std::os::raw::c_int,
20967 ) -> ::std::os::raw::c_int;
20968}
20969extern "C" {
20970 pub fn fmpz_poly_divrem_divconquer(
20971 Q: *mut fmpz_poly_struct,
20972 R: *mut fmpz_poly_struct,
20973 A: *mut fmpz_poly_struct,
20974 B: *mut fmpz_poly_struct,
20975 );
20976}
20977extern "C" {
20978 pub fn _fmpz_poly_divrem(
20979 Q: *mut fmpz,
20980 R: *mut fmpz,
20981 A: *const fmpz,
20982 lenA: mp_limb_signed_t,
20983 B: *const fmpz,
20984 lenB: mp_limb_signed_t,
20985 exact: ::std::os::raw::c_int,
20986 ) -> ::std::os::raw::c_int;
20987}
20988extern "C" {
20989 pub fn fmpz_poly_divrem(
20990 Q: *mut fmpz_poly_struct,
20991 R: *mut fmpz_poly_struct,
20992 A: *mut fmpz_poly_struct,
20993 B: *mut fmpz_poly_struct,
20994 );
20995}
20996extern "C" {
20997 pub fn _fmpz_poly_div_basecase(
20998 Q: *mut fmpz,
20999 R: *mut fmpz,
21000 A: *const fmpz,
21001 lenA: mp_limb_signed_t,
21002 B: *const fmpz,
21003 lenB: mp_limb_signed_t,
21004 exact: ::std::os::raw::c_int,
21005 ) -> ::std::os::raw::c_int;
21006}
21007extern "C" {
21008 pub fn fmpz_poly_div_basecase(
21009 Q: *mut fmpz_poly_struct,
21010 A: *mut fmpz_poly_struct,
21011 B: *mut fmpz_poly_struct,
21012 );
21013}
21014extern "C" {
21015 pub fn _fmpz_poly_divremlow_divconquer_recursive(
21016 Q: *mut fmpz,
21017 QB: *mut fmpz,
21018 A: *const fmpz,
21019 B: *const fmpz,
21020 lenB: mp_limb_signed_t,
21021 exact: ::std::os::raw::c_int,
21022 ) -> ::std::os::raw::c_int;
21023}
21024extern "C" {
21025 pub fn _fmpz_poly_div_divconquer_recursive(
21026 Q: *mut fmpz,
21027 temp: *mut fmpz,
21028 A: *const fmpz,
21029 B: *const fmpz,
21030 lenB: mp_limb_signed_t,
21031 exact: ::std::os::raw::c_int,
21032 ) -> ::std::os::raw::c_int;
21033}
21034extern "C" {
21035 pub fn _fmpz_poly_div_divconquer(
21036 Q: *mut fmpz,
21037 A: *const fmpz,
21038 lenA: mp_limb_signed_t,
21039 B: *const fmpz,
21040 lenB: mp_limb_signed_t,
21041 exact: ::std::os::raw::c_int,
21042 ) -> ::std::os::raw::c_int;
21043}
21044extern "C" {
21045 pub fn fmpz_poly_div_divconquer(
21046 Q: *mut fmpz_poly_struct,
21047 A: *mut fmpz_poly_struct,
21048 B: *mut fmpz_poly_struct,
21049 );
21050}
21051extern "C" {
21052 pub fn _fmpz_poly_div(
21053 Q: *mut fmpz,
21054 A: *const fmpz,
21055 lenA: mp_limb_signed_t,
21056 B: *const fmpz,
21057 lenB: mp_limb_signed_t,
21058 exact: ::std::os::raw::c_int,
21059 ) -> ::std::os::raw::c_int;
21060}
21061extern "C" {
21062 pub fn fmpz_poly_div(
21063 Q: *mut fmpz_poly_struct,
21064 A: *mut fmpz_poly_struct,
21065 B: *mut fmpz_poly_struct,
21066 );
21067}
21068extern "C" {
21069 pub fn _fmpz_poly_preinvert(B_inv: *mut fmpz, B: *const fmpz, n: mp_limb_signed_t);
21070}
21071extern "C" {
21072 pub fn fmpz_poly_preinvert(B_inv: *mut fmpz_poly_struct, B: *mut fmpz_poly_struct);
21073}
21074extern "C" {
21075 pub fn _fmpz_poly_div_preinv(
21076 Q: *mut fmpz,
21077 A: *const fmpz,
21078 len1: mp_limb_signed_t,
21079 B: *const fmpz,
21080 B_inv: *const fmpz,
21081 len2: mp_limb_signed_t,
21082 );
21083}
21084extern "C" {
21085 pub fn fmpz_poly_div_preinv(
21086 Q: *mut fmpz_poly_struct,
21087 A: *mut fmpz_poly_struct,
21088 B: *mut fmpz_poly_struct,
21089 B_inv: *mut fmpz_poly_struct,
21090 );
21091}
21092extern "C" {
21093 pub fn _fmpz_poly_divrem_preinv(
21094 Q: *mut fmpz,
21095 A: *mut fmpz,
21096 len1: mp_limb_signed_t,
21097 B: *const fmpz,
21098 B_inv: *const fmpz,
21099 len2: mp_limb_signed_t,
21100 );
21101}
21102extern "C" {
21103 pub fn fmpz_poly_divrem_preinv(
21104 Q: *mut fmpz_poly_struct,
21105 R: *mut fmpz_poly_struct,
21106 A: *mut fmpz_poly_struct,
21107 B: *mut fmpz_poly_struct,
21108 B_inv: *mut fmpz_poly_struct,
21109 );
21110}
21111extern "C" {
21112 pub fn _fmpz_poly_powers_precompute(B: *const fmpz, len: mp_limb_signed_t) -> *mut *mut fmpz;
21113}
21114extern "C" {
21115 pub fn fmpz_poly_powers_precompute(
21116 pinv: *mut fmpz_poly_powers_precomp_struct,
21117 poly: *mut fmpz_poly_struct,
21118 );
21119}
21120extern "C" {
21121 pub fn _fmpz_poly_powers_clear(powers: *mut *mut fmpz, len: mp_limb_signed_t);
21122}
21123extern "C" {
21124 pub fn fmpz_poly_powers_clear(pinv: *mut fmpz_poly_powers_precomp_struct);
21125}
21126extern "C" {
21127 pub fn _fmpz_poly_rem_powers_precomp(
21128 A: *mut fmpz,
21129 m: mp_limb_signed_t,
21130 B: *const fmpz,
21131 n: mp_limb_signed_t,
21132 powers: *mut *mut fmpz,
21133 );
21134}
21135extern "C" {
21136 pub fn fmpz_poly_rem_powers_precomp(
21137 R: *mut fmpz_poly_struct,
21138 A: *mut fmpz_poly_struct,
21139 B: *mut fmpz_poly_struct,
21140 B_inv: *mut fmpz_poly_powers_precomp_struct,
21141 );
21142}
21143extern "C" {
21144 pub fn _fmpz_poly_rem_basecase(
21145 Q: *mut fmpz,
21146 A: *const fmpz,
21147 lenA: mp_limb_signed_t,
21148 B: *const fmpz,
21149 lenB: mp_limb_signed_t,
21150 );
21151}
21152extern "C" {
21153 pub fn fmpz_poly_rem_basecase(
21154 R: *mut fmpz_poly_struct,
21155 A: *mut fmpz_poly_struct,
21156 B: *mut fmpz_poly_struct,
21157 );
21158}
21159extern "C" {
21160 pub fn _fmpz_poly_rem(
21161 R: *mut fmpz,
21162 A: *const fmpz,
21163 lenA: mp_limb_signed_t,
21164 B: *const fmpz,
21165 lenB: mp_limb_signed_t,
21166 );
21167}
21168extern "C" {
21169 pub fn fmpz_poly_rem(
21170 R: *mut fmpz_poly_struct,
21171 A: *mut fmpz_poly_struct,
21172 B: *mut fmpz_poly_struct,
21173 );
21174}
21175extern "C" {
21176 pub fn fmpz_poly_div_root(Q: *mut fmpz_poly_struct, A: *mut fmpz_poly_struct, c: *mut fmpz);
21177}
21178extern "C" {
21179 pub fn _fmpz_poly_div_root(Q: *mut fmpz, A: *const fmpz, len: mp_limb_signed_t, c: *mut fmpz);
21180}
21181extern "C" {
21182 pub fn _fmpz_poly_inv_series_basecase(
21183 Qinv: *mut fmpz,
21184 Q: *const fmpz,
21185 Qlen: mp_limb_signed_t,
21186 n: mp_limb_signed_t,
21187 );
21188}
21189extern "C" {
21190 pub fn fmpz_poly_inv_series_basecase(
21191 Qinv: *mut fmpz_poly_struct,
21192 Q: *mut fmpz_poly_struct,
21193 n: mp_limb_signed_t,
21194 );
21195}
21196extern "C" {
21197 pub fn _fmpz_poly_inv_series_newton(
21198 Qinv: *mut fmpz,
21199 Q: *const fmpz,
21200 Qlen: mp_limb_signed_t,
21201 n: mp_limb_signed_t,
21202 );
21203}
21204extern "C" {
21205 pub fn fmpz_poly_inv_series_newton(
21206 Qinv: *mut fmpz_poly_struct,
21207 Q: *mut fmpz_poly_struct,
21208 n: mp_limb_signed_t,
21209 );
21210}
21211extern "C" {
21212 pub fn _fmpz_poly_inv_series(
21213 Qinv: *mut fmpz,
21214 Q: *const fmpz,
21215 Qlen: mp_limb_signed_t,
21216 n: mp_limb_signed_t,
21217 );
21218}
21219extern "C" {
21220 pub fn fmpz_poly_inv_series(
21221 Qinv: *mut fmpz_poly_struct,
21222 Q: *mut fmpz_poly_struct,
21223 n: mp_limb_signed_t,
21224 );
21225}
21226extern "C" {
21227 pub fn _fmpz_poly_div_series_basecase(
21228 Q: *mut fmpz,
21229 A: *const fmpz,
21230 Alen: mp_limb_signed_t,
21231 B: *const fmpz,
21232 Blen: mp_limb_signed_t,
21233 n: mp_limb_signed_t,
21234 );
21235}
21236extern "C" {
21237 pub fn _fmpz_poly_div_series_divconquer(
21238 Q: *mut fmpz,
21239 A: *const fmpz,
21240 Alen: mp_limb_signed_t,
21241 B: *const fmpz,
21242 Blen: mp_limb_signed_t,
21243 n: mp_limb_signed_t,
21244 );
21245}
21246extern "C" {
21247 pub fn _fmpz_poly_div_series(
21248 Q: *mut fmpz,
21249 A: *const fmpz,
21250 Alen: mp_limb_signed_t,
21251 B: *const fmpz,
21252 Blen: mp_limb_signed_t,
21253 n: mp_limb_signed_t,
21254 );
21255}
21256extern "C" {
21257 pub fn fmpz_poly_div_series_basecase(
21258 Q: *mut fmpz_poly_struct,
21259 A: *mut fmpz_poly_struct,
21260 B: *mut fmpz_poly_struct,
21261 n: mp_limb_signed_t,
21262 );
21263}
21264extern "C" {
21265 pub fn fmpz_poly_div_series_divconquer(
21266 Q: *mut fmpz_poly_struct,
21267 A: *mut fmpz_poly_struct,
21268 B: *mut fmpz_poly_struct,
21269 n: mp_limb_signed_t,
21270 );
21271}
21272extern "C" {
21273 pub fn fmpz_poly_div_series(
21274 Q: *mut fmpz_poly_struct,
21275 A: *mut fmpz_poly_struct,
21276 B: *mut fmpz_poly_struct,
21277 n: mp_limb_signed_t,
21278 );
21279}
21280extern "C" {
21281 pub fn _fmpz_poly_divides(
21282 q: *mut fmpz,
21283 a: *const fmpz,
21284 len1: mp_limb_signed_t,
21285 b: *const fmpz,
21286 len2: mp_limb_signed_t,
21287 ) -> ::std::os::raw::c_int;
21288}
21289extern "C" {
21290 pub fn fmpz_poly_divides(
21291 q: *mut fmpz_poly_struct,
21292 a: *mut fmpz_poly_struct,
21293 b: *mut fmpz_poly_struct,
21294 ) -> ::std::os::raw::c_int;
21295}
21296extern "C" {
21297 pub fn fmpz_poly_remove(
21298 res: *mut fmpz_poly_struct,
21299 poly1: *mut fmpz_poly_struct,
21300 poly2: *mut fmpz_poly_struct,
21301 ) -> mp_limb_signed_t;
21302}
21303extern "C" {
21304 pub fn _fmpz_poly_pseudo_divrem_basecase(
21305 Q: *mut fmpz,
21306 R: *mut fmpz,
21307 d: *mut mp_limb_t,
21308 A: *const fmpz,
21309 A_len: mp_limb_signed_t,
21310 B: *const fmpz,
21311 B_len: mp_limb_signed_t,
21312 inv: *mut fmpz_preinvn_struct,
21313 );
21314}
21315extern "C" {
21316 pub fn fmpz_poly_pseudo_divrem_basecase(
21317 Q: *mut fmpz_poly_struct,
21318 R: *mut fmpz_poly_struct,
21319 d: *mut mp_limb_t,
21320 A: *mut fmpz_poly_struct,
21321 B: *mut fmpz_poly_struct,
21322 );
21323}
21324extern "C" {
21325 pub fn _fmpz_poly_pseudo_divrem_divconquer(
21326 Q: *mut fmpz,
21327 R: *mut fmpz,
21328 d: *mut mp_limb_t,
21329 A: *const fmpz,
21330 lenA: mp_limb_signed_t,
21331 B: *const fmpz,
21332 lenB: mp_limb_signed_t,
21333 inv: *mut fmpz_preinvn_struct,
21334 );
21335}
21336extern "C" {
21337 pub fn fmpz_poly_pseudo_divrem_divconquer(
21338 Q: *mut fmpz_poly_struct,
21339 R: *mut fmpz_poly_struct,
21340 d: *mut mp_limb_t,
21341 A: *mut fmpz_poly_struct,
21342 B: *mut fmpz_poly_struct,
21343 );
21344}
21345extern "C" {
21346 pub fn _fmpz_poly_pseudo_divrem_cohen(
21347 Q: *mut fmpz,
21348 R: *mut fmpz,
21349 A: *const fmpz,
21350 lenA: mp_limb_signed_t,
21351 B: *const fmpz,
21352 lenB: mp_limb_signed_t,
21353 );
21354}
21355extern "C" {
21356 pub fn fmpz_poly_pseudo_divrem_cohen(
21357 Q: *mut fmpz_poly_struct,
21358 R: *mut fmpz_poly_struct,
21359 A: *mut fmpz_poly_struct,
21360 B: *mut fmpz_poly_struct,
21361 );
21362}
21363extern "C" {
21364 pub fn _fmpz_poly_pseudo_rem_cohen(
21365 R: *mut fmpz,
21366 A: *const fmpz,
21367 lenA: mp_limb_signed_t,
21368 B: *const fmpz,
21369 lenB: mp_limb_signed_t,
21370 );
21371}
21372extern "C" {
21373 pub fn fmpz_poly_pseudo_rem_cohen(
21374 R: *mut fmpz_poly_struct,
21375 A: *mut fmpz_poly_struct,
21376 B: *mut fmpz_poly_struct,
21377 );
21378}
21379extern "C" {
21380 pub fn _fmpz_poly_pseudo_div(
21381 Q: *mut fmpz,
21382 d: *mut mp_limb_t,
21383 A: *const fmpz,
21384 lenA: mp_limb_signed_t,
21385 B: *const fmpz,
21386 lenB: mp_limb_signed_t,
21387 inv: *mut fmpz_preinvn_struct,
21388 );
21389}
21390extern "C" {
21391 pub fn fmpz_poly_pseudo_div(
21392 Q: *mut fmpz_poly_struct,
21393 d: *mut mp_limb_t,
21394 A: *mut fmpz_poly_struct,
21395 B: *mut fmpz_poly_struct,
21396 );
21397}
21398extern "C" {
21399 pub fn _fmpz_poly_pseudo_rem(
21400 R: *mut fmpz,
21401 d: *mut mp_limb_t,
21402 A: *const fmpz,
21403 lenA: mp_limb_signed_t,
21404 B: *const fmpz,
21405 lenB: mp_limb_signed_t,
21406 inv: *mut fmpz_preinvn_struct,
21407 );
21408}
21409extern "C" {
21410 pub fn fmpz_poly_pseudo_rem(
21411 R: *mut fmpz_poly_struct,
21412 d: *mut mp_limb_t,
21413 A: *mut fmpz_poly_struct,
21414 B: *mut fmpz_poly_struct,
21415 );
21416}
21417extern "C" {
21418 pub fn fmpz_poly_divlow_smodp(
21419 res: *mut fmpz,
21420 f: *mut fmpz_poly_struct,
21421 g: *mut fmpz_poly_struct,
21422 p: *mut fmpz,
21423 n: mp_limb_signed_t,
21424 );
21425}
21426extern "C" {
21427 pub fn fmpz_poly_divhigh_smodp(
21428 res: *mut fmpz,
21429 f: *mut fmpz_poly_struct,
21430 g: *mut fmpz_poly_struct,
21431 p: *mut fmpz,
21432 n: mp_limb_signed_t,
21433 );
21434}
21435extern "C" {
21436 pub fn _fmpz_poly_derivative(rpoly: *mut fmpz, poly: *const fmpz, len: mp_limb_signed_t);
21437}
21438extern "C" {
21439 pub fn fmpz_poly_derivative(res: *mut fmpz_poly_struct, poly: *mut fmpz_poly_struct);
21440}
21441extern "C" {
21442 pub fn _fmpz_poly_evaluate_divconquer_fmpz(
21443 res: *mut fmpz,
21444 poly: *const fmpz,
21445 len: mp_limb_signed_t,
21446 a: *mut fmpz,
21447 );
21448}
21449extern "C" {
21450 pub fn fmpz_poly_evaluate_divconquer_fmpz(
21451 res: *mut fmpz,
21452 poly: *mut fmpz_poly_struct,
21453 a: *mut fmpz,
21454 );
21455}
21456extern "C" {
21457 pub fn _fmpz_poly_evaluate_horner_fmpz(
21458 res: *mut fmpz,
21459 f: *const fmpz,
21460 len: mp_limb_signed_t,
21461 a: *mut fmpz,
21462 );
21463}
21464extern "C" {
21465 pub fn fmpz_poly_evaluate_horner_fmpz(res: *mut fmpz, f: *mut fmpz_poly_struct, a: *mut fmpz);
21466}
21467extern "C" {
21468 pub fn _fmpz_poly_evaluate_fmpz(
21469 res: *mut fmpz,
21470 f: *const fmpz,
21471 len: mp_limb_signed_t,
21472 a: *mut fmpz,
21473 );
21474}
21475extern "C" {
21476 pub fn fmpz_poly_evaluate_fmpz(res: *mut fmpz, f: *mut fmpz_poly_struct, a: *mut fmpz);
21477}
21478extern "C" {
21479 pub fn _fmpz_poly_evaluate_horner_fmpq(
21480 rnum: *mut fmpz,
21481 rden: *mut fmpz,
21482 f: *const fmpz,
21483 len: mp_limb_signed_t,
21484 anum: *mut fmpz,
21485 aden: *mut fmpz,
21486 );
21487}
21488extern "C" {
21489 pub fn fmpz_poly_evaluate_horner_fmpq(res: *mut fmpq, f: *mut fmpz_poly_struct, a: *mut fmpq);
21490}
21491extern "C" {
21492 pub fn _fmpz_poly_evaluate_divconquer_fmpq(
21493 rnum: *mut fmpz,
21494 rden: *mut fmpz,
21495 f: *const fmpz,
21496 len: mp_limb_signed_t,
21497 anum: *mut fmpz,
21498 aden: *mut fmpz,
21499 );
21500}
21501extern "C" {
21502 pub fn fmpz_poly_evaluate_divconquer_fmpq(
21503 res: *mut fmpq,
21504 f: *mut fmpz_poly_struct,
21505 a: *mut fmpq,
21506 );
21507}
21508extern "C" {
21509 pub fn _fmpz_poly_evaluate_fmpq(
21510 rnum: *mut fmpz,
21511 rden: *mut fmpz,
21512 f: *const fmpz,
21513 len: mp_limb_signed_t,
21514 anum: *mut fmpz,
21515 aden: *mut fmpz,
21516 );
21517}
21518extern "C" {
21519 pub fn fmpz_poly_evaluate_fmpq(res: *mut fmpq, f: *mut fmpz_poly_struct, a: *mut fmpq);
21520}
21521extern "C" {
21522 pub fn fmpz_poly_evaluate_mpq(
21523 res: *mut __mpq_struct,
21524 f: *mut fmpz_poly_struct,
21525 a: *mut __mpq_struct,
21526 );
21527}
21528extern "C" {
21529 pub fn _fmpz_poly_evaluate_mod(
21530 poly: *const fmpz,
21531 len: mp_limb_signed_t,
21532 a: mp_limb_t,
21533 n: mp_limb_t,
21534 ninv: mp_limb_t,
21535 ) -> mp_limb_t;
21536}
21537extern "C" {
21538 pub fn fmpz_poly_evaluate_mod(
21539 poly: *mut fmpz_poly_struct,
21540 a: mp_limb_t,
21541 n: mp_limb_t,
21542 ) -> mp_limb_t;
21543}
21544extern "C" {
21545 pub fn _fmpz_poly_evaluate_horner_d(poly: *const fmpz, n: mp_limb_signed_t, d: f64) -> f64;
21546}
21547extern "C" {
21548 pub fn fmpz_poly_evaluate_horner_d(poly: *mut fmpz_poly_struct, d: f64) -> f64;
21549}
21550extern "C" {
21551 pub fn _fmpz_poly_evaluate_horner_d_2exp(
21552 exp: *mut mp_limb_signed_t,
21553 poly: *const fmpz,
21554 n: mp_limb_signed_t,
21555 d: f64,
21556 ) -> f64;
21557}
21558extern "C" {
21559 pub fn fmpz_poly_evaluate_horner_d_2exp(
21560 exp: *mut mp_limb_signed_t,
21561 poly: *mut fmpz_poly_struct,
21562 d: f64,
21563 ) -> f64;
21564}
21565extern "C" {
21566 pub fn _fmpz_poly_evaluate_horner_d_2exp2(
21567 exp: *mut mp_limb_signed_t,
21568 poly: *const fmpz,
21569 n: mp_limb_signed_t,
21570 d: f64,
21571 dexp: mp_limb_signed_t,
21572 prec_in: mp_limb_t,
21573 ) -> f64;
21574}
21575extern "C" {
21576 pub fn fmpz_poly_evaluate_horner_d_2exp2(
21577 exp: *mut mp_limb_signed_t,
21578 poly: *mut fmpz_poly_struct,
21579 d: f64,
21580 dexp: mp_limb_signed_t,
21581 prec: mp_limb_t,
21582 ) -> f64;
21583}
21584extern "C" {
21585 pub fn _fmpz_poly_compose_horner(
21586 res: *mut fmpz,
21587 poly1: *const fmpz,
21588 len1: mp_limb_signed_t,
21589 poly2: *const fmpz,
21590 len2: mp_limb_signed_t,
21591 );
21592}
21593extern "C" {
21594 pub fn fmpz_poly_compose_horner(
21595 res: *mut fmpz_poly_struct,
21596 poly1: *mut fmpz_poly_struct,
21597 poly2: *mut fmpz_poly_struct,
21598 );
21599}
21600extern "C" {
21601 pub fn _fmpz_poly_compose_divconquer(
21602 res: *mut fmpz,
21603 poly1: *const fmpz,
21604 len1: mp_limb_signed_t,
21605 poly2: *const fmpz,
21606 len2: mp_limb_signed_t,
21607 );
21608}
21609extern "C" {
21610 pub fn fmpz_poly_compose_divconquer(
21611 res: *mut fmpz_poly_struct,
21612 poly1: *mut fmpz_poly_struct,
21613 poly2: *mut fmpz_poly_struct,
21614 );
21615}
21616extern "C" {
21617 pub fn _fmpz_poly_compose(
21618 res: *mut fmpz,
21619 poly1: *const fmpz,
21620 len1: mp_limb_signed_t,
21621 poly2: *const fmpz,
21622 len2: mp_limb_signed_t,
21623 );
21624}
21625extern "C" {
21626 pub fn fmpz_poly_compose(
21627 res: *mut fmpz_poly_struct,
21628 poly1: *mut fmpz_poly_struct,
21629 poly2: *mut fmpz_poly_struct,
21630 );
21631}
21632extern "C" {
21633 pub fn _fmpz_poly_taylor_shift_horner(poly: *mut fmpz, c: *mut fmpz, n: mp_limb_signed_t);
21634}
21635extern "C" {
21636 pub fn fmpz_poly_taylor_shift_horner(
21637 g: *mut fmpz_poly_struct,
21638 f: *mut fmpz_poly_struct,
21639 c: *mut fmpz,
21640 );
21641}
21642extern "C" {
21643 pub fn _fmpz_poly_taylor_shift_divconquer(poly: *mut fmpz, c: *mut fmpz, n: mp_limb_signed_t);
21644}
21645extern "C" {
21646 pub fn fmpz_poly_taylor_shift_divconquer(
21647 g: *mut fmpz_poly_struct,
21648 f: *mut fmpz_poly_struct,
21649 c: *mut fmpz,
21650 );
21651}
21652extern "C" {
21653 pub fn _fmpz_poly_taylor_shift_multi_mod(poly: *mut fmpz, c: *mut fmpz, n: mp_limb_signed_t);
21654}
21655extern "C" {
21656 pub fn _fmpz_poly_taylor_shift(poly: *mut fmpz, c: *mut fmpz, n: mp_limb_signed_t);
21657}
21658extern "C" {
21659 pub fn fmpz_poly_taylor_shift(g: *mut fmpz_poly_struct, f: *mut fmpz_poly_struct, c: *mut fmpz);
21660}
21661extern "C" {
21662 pub fn _fmpz_poly_compose_series_brent_kung(
21663 res: *mut fmpz,
21664 poly1: *const fmpz,
21665 len1: mp_limb_signed_t,
21666 poly2: *const fmpz,
21667 len2: mp_limb_signed_t,
21668 n: mp_limb_signed_t,
21669 );
21670}
21671extern "C" {
21672 pub fn fmpz_poly_compose_series_brent_kung(
21673 res: *mut fmpz_poly_struct,
21674 poly1: *mut fmpz_poly_struct,
21675 poly2: *mut fmpz_poly_struct,
21676 n: mp_limb_signed_t,
21677 );
21678}
21679extern "C" {
21680 pub fn _fmpz_poly_compose_series_horner(
21681 res: *mut fmpz,
21682 poly1: *const fmpz,
21683 len1: mp_limb_signed_t,
21684 poly2: *const fmpz,
21685 len2: mp_limb_signed_t,
21686 n: mp_limb_signed_t,
21687 );
21688}
21689extern "C" {
21690 pub fn fmpz_poly_compose_series_horner(
21691 res: *mut fmpz_poly_struct,
21692 poly1: *mut fmpz_poly_struct,
21693 poly2: *mut fmpz_poly_struct,
21694 n: mp_limb_signed_t,
21695 );
21696}
21697extern "C" {
21698 pub fn _fmpz_poly_compose_series(
21699 res: *mut fmpz,
21700 poly1: *const fmpz,
21701 len1: mp_limb_signed_t,
21702 poly2: *const fmpz,
21703 len2: mp_limb_signed_t,
21704 n: mp_limb_signed_t,
21705 );
21706}
21707extern "C" {
21708 pub fn fmpz_poly_compose_series(
21709 res: *mut fmpz_poly_struct,
21710 poly1: *mut fmpz_poly_struct,
21711 poly2: *mut fmpz_poly_struct,
21712 n: mp_limb_signed_t,
21713 );
21714}
21715extern "C" {
21716 pub fn _fmpz_poly_revert_series_lagrange(
21717 Qinv: *mut fmpz,
21718 Q: *const fmpz,
21719 Qlen: mp_limb_signed_t,
21720 n: mp_limb_signed_t,
21721 );
21722}
21723extern "C" {
21724 pub fn fmpz_poly_revert_series_lagrange(
21725 Qinv: *mut fmpz_poly_struct,
21726 Q: *mut fmpz_poly_struct,
21727 n: mp_limb_signed_t,
21728 );
21729}
21730extern "C" {
21731 pub fn _fmpz_poly_revert_series_lagrange_fast(
21732 Qinv: *mut fmpz,
21733 Q: *const fmpz,
21734 Qlen: mp_limb_signed_t,
21735 n: mp_limb_signed_t,
21736 );
21737}
21738extern "C" {
21739 pub fn fmpz_poly_revert_series_lagrange_fast(
21740 Qinv: *mut fmpz_poly_struct,
21741 Q: *mut fmpz_poly_struct,
21742 n: mp_limb_signed_t,
21743 );
21744}
21745extern "C" {
21746 pub fn _fmpz_poly_revert_series_newton(
21747 Qinv: *mut fmpz,
21748 Q: *const fmpz,
21749 Qlen: mp_limb_signed_t,
21750 n: mp_limb_signed_t,
21751 );
21752}
21753extern "C" {
21754 pub fn fmpz_poly_revert_series_newton(
21755 Qinv: *mut fmpz_poly_struct,
21756 Q: *mut fmpz_poly_struct,
21757 n: mp_limb_signed_t,
21758 );
21759}
21760extern "C" {
21761 pub fn _fmpz_poly_revert_series(
21762 Qinv: *mut fmpz,
21763 Q: *const fmpz,
21764 Qlen: mp_limb_signed_t,
21765 n: mp_limb_signed_t,
21766 );
21767}
21768extern "C" {
21769 pub fn fmpz_poly_revert_series(
21770 Qinv: *mut fmpz_poly_struct,
21771 Q: *mut fmpz_poly_struct,
21772 n: mp_limb_signed_t,
21773 );
21774}
21775extern "C" {
21776 pub fn _fmpz_poly_sqrtrem_classical(
21777 res: *mut fmpz,
21778 r: *mut fmpz,
21779 poly: *const fmpz,
21780 len: mp_limb_signed_t,
21781 ) -> ::std::os::raw::c_int;
21782}
21783extern "C" {
21784 pub fn fmpz_poly_sqrtrem_classical(
21785 b: *mut fmpz_poly_struct,
21786 r: *mut fmpz_poly_struct,
21787 a: *mut fmpz_poly_struct,
21788 ) -> ::std::os::raw::c_int;
21789}
21790extern "C" {
21791 pub fn _fmpz_poly_sqrtrem_divconquer(
21792 res: *mut fmpz,
21793 r: *mut fmpz,
21794 poly: *const fmpz,
21795 len: mp_limb_signed_t,
21796 temp: *mut fmpz,
21797 ) -> ::std::os::raw::c_int;
21798}
21799extern "C" {
21800 pub fn fmpz_poly_sqrtrem_divconquer(
21801 b: *mut fmpz_poly_struct,
21802 r: *mut fmpz_poly_struct,
21803 a: *mut fmpz_poly_struct,
21804 ) -> ::std::os::raw::c_int;
21805}
21806extern "C" {
21807 pub fn _fmpz_poly_sqrt_classical(
21808 res: *mut fmpz,
21809 poly: *const fmpz,
21810 len: mp_limb_signed_t,
21811 exact: ::std::os::raw::c_int,
21812 ) -> ::std::os::raw::c_int;
21813}
21814extern "C" {
21815 pub fn fmpz_poly_sqrt_classical(
21816 b: *mut fmpz_poly_struct,
21817 a: *mut fmpz_poly_struct,
21818 ) -> ::std::os::raw::c_int;
21819}
21820extern "C" {
21821 pub fn _fmpz_poly_sqrt_divconquer(
21822 res: *mut fmpz,
21823 poly: *const fmpz,
21824 len: mp_limb_signed_t,
21825 exact: ::std::os::raw::c_int,
21826 ) -> ::std::os::raw::c_int;
21827}
21828extern "C" {
21829 pub fn fmpz_poly_sqrt_divconquer(
21830 b: *mut fmpz_poly_struct,
21831 a: *mut fmpz_poly_struct,
21832 ) -> ::std::os::raw::c_int;
21833}
21834extern "C" {
21835 pub fn _fmpz_poly_sqrt_KS(
21836 rop: *mut fmpz,
21837 op: *const fmpz,
21838 len: mp_limb_signed_t,
21839 ) -> ::std::os::raw::c_int;
21840}
21841extern "C" {
21842 pub fn fmpz_poly_sqrt_KS(
21843 b: *mut fmpz_poly_struct,
21844 a: *mut fmpz_poly_struct,
21845 ) -> ::std::os::raw::c_int;
21846}
21847extern "C" {
21848 pub fn _fmpz_poly_sqrt(
21849 res: *mut fmpz,
21850 poly: *const fmpz,
21851 len: mp_limb_signed_t,
21852 ) -> ::std::os::raw::c_int;
21853}
21854extern "C" {
21855 pub fn fmpz_poly_sqrt(
21856 b: *mut fmpz_poly_struct,
21857 a: *mut fmpz_poly_struct,
21858 ) -> ::std::os::raw::c_int;
21859}
21860extern "C" {
21861 pub fn _fmpz_poly_sqrt_series(
21862 res: *mut fmpz,
21863 poly: *const fmpz,
21864 len: mp_limb_signed_t,
21865 n: mp_limb_signed_t,
21866 ) -> ::std::os::raw::c_int;
21867}
21868extern "C" {
21869 pub fn fmpz_poly_sqrt_series(
21870 b: *mut fmpz_poly_struct,
21871 a: *mut fmpz_poly_struct,
21872 n: mp_limb_signed_t,
21873 ) -> ::std::os::raw::c_int;
21874}
21875extern "C" {
21876 pub fn _fmpz_poly_power_sums_naive(
21877 res: *mut fmpz,
21878 poly: *const fmpz,
21879 len: mp_limb_signed_t,
21880 n: mp_limb_signed_t,
21881 );
21882}
21883extern "C" {
21884 pub fn fmpz_poly_power_sums_naive(
21885 res: *mut fmpz_poly_struct,
21886 poly: *mut fmpz_poly_struct,
21887 n: mp_limb_signed_t,
21888 );
21889}
21890extern "C" {
21891 pub fn fmpz_poly_power_sums(
21892 res: *mut fmpz_poly_struct,
21893 poly: *mut fmpz_poly_struct,
21894 n: mp_limb_signed_t,
21895 );
21896}
21897extern "C" {
21898 pub fn _fmpz_poly_power_sums_to_poly(res: *mut fmpz, poly: *const fmpz, len: mp_limb_signed_t);
21899}
21900extern "C" {
21901 pub fn fmpz_poly_power_sums_to_poly(res: *mut fmpz_poly_struct, Q: *mut fmpz_poly_struct);
21902}
21903extern "C" {
21904 pub fn _fmpz_poly_signature(
21905 r1: *mut mp_limb_signed_t,
21906 r2: *mut mp_limb_signed_t,
21907 poly: *const fmpz,
21908 len: mp_limb_signed_t,
21909 );
21910}
21911extern "C" {
21912 pub fn fmpz_poly_signature(
21913 r1: *mut mp_limb_signed_t,
21914 r2: *mut mp_limb_signed_t,
21915 poly: *mut fmpz_poly_struct,
21916 );
21917}
21918extern "C" {
21919 pub fn _fmpz_poly_fprint(
21920 file: *mut FILE,
21921 poly: *const fmpz,
21922 len: mp_limb_signed_t,
21923 ) -> ::std::os::raw::c_int;
21924}
21925extern "C" {
21926 pub fn fmpz_poly_fprint(file: *mut FILE, poly: *mut fmpz_poly_struct) -> ::std::os::raw::c_int;
21927}
21928extern "C" {
21929 pub fn _fmpz_poly_fprint_pretty(
21930 file: *mut FILE,
21931 poly: *const fmpz,
21932 len: mp_limb_signed_t,
21933 x: *const ::std::os::raw::c_char,
21934 ) -> ::std::os::raw::c_int;
21935}
21936extern "C" {
21937 pub fn fmpz_poly_fprint_pretty(
21938 file: *mut FILE,
21939 poly: *mut fmpz_poly_struct,
21940 x: *const ::std::os::raw::c_char,
21941 ) -> ::std::os::raw::c_int;
21942}
21943extern "C" {
21944 pub fn fmpz_poly_fread(file: *mut FILE, poly: *mut fmpz_poly_struct) -> ::std::os::raw::c_int;
21945}
21946extern "C" {
21947 pub fn fmpz_poly_fread_pretty(
21948 file: *mut FILE,
21949 poly: *mut fmpz_poly_struct,
21950 x: *mut *mut ::std::os::raw::c_char,
21951 ) -> ::std::os::raw::c_int;
21952}
21953extern "C" {
21954 pub fn fmpz_poly_get_nmod_poly(res: *mut nmod_poly_struct, poly: *mut fmpz_poly_struct);
21955}
21956extern "C" {
21957 pub fn fmpz_poly_set_nmod_poly(res: *mut fmpz_poly_struct, poly: *mut nmod_poly_struct);
21958}
21959extern "C" {
21960 pub fn fmpz_poly_set_nmod_poly_unsigned(
21961 res: *mut fmpz_poly_struct,
21962 poly: *mut nmod_poly_struct,
21963 );
21964}
21965extern "C" {
21966 pub fn _fmpz_poly_CRT_ui_precomp(
21967 res: *mut fmpz,
21968 poly1: *const fmpz,
21969 len1: mp_limb_signed_t,
21970 m1: *mut fmpz,
21971 poly2: mp_srcptr,
21972 len2: mp_limb_signed_t,
21973 m2: mp_limb_t,
21974 m2inv: mp_limb_t,
21975 m1m2: *mut fmpz,
21976 c: mp_limb_t,
21977 sign: ::std::os::raw::c_int,
21978 );
21979}
21980extern "C" {
21981 pub fn _fmpz_poly_CRT_ui(
21982 res: *mut fmpz,
21983 poly1: *const fmpz,
21984 len1: mp_limb_signed_t,
21985 m1: *mut fmpz,
21986 poly2: mp_srcptr,
21987 len2: mp_limb_signed_t,
21988 m2: mp_limb_t,
21989 m2inv: mp_limb_t,
21990 sign: ::std::os::raw::c_int,
21991 );
21992}
21993extern "C" {
21994 pub fn fmpz_poly_CRT_ui(
21995 res: *mut fmpz_poly_struct,
21996 poly1: *mut fmpz_poly_struct,
21997 m1: *mut fmpz,
21998 poly2: *mut nmod_poly_struct,
21999 sign: ::std::os::raw::c_int,
22000 );
22001}
22002extern "C" {
22003 pub fn _fmpz_poly_product_roots_fmpz_vec(poly: *mut fmpz, xs: *const fmpz, n: mp_limb_signed_t);
22004}
22005extern "C" {
22006 pub fn fmpz_poly_product_roots_fmpz_vec(
22007 poly: *mut fmpz_poly_struct,
22008 xs: *const fmpz,
22009 n: mp_limb_signed_t,
22010 );
22011}
22012extern "C" {
22013 pub fn _fmpz_poly_product_roots_fmpq_vec(poly: *mut fmpz, xs: *const fmpq, n: mp_limb_signed_t);
22014}
22015extern "C" {
22016 pub fn fmpz_poly_product_roots_fmpq_vec(
22017 poly: *mut fmpz_poly_struct,
22018 xs: *const fmpq,
22019 n: mp_limb_signed_t,
22020 );
22021}
22022extern "C" {
22023 pub fn _fmpz_poly_monomial_to_newton(poly: *mut fmpz, roots: *const fmpz, n: mp_limb_signed_t);
22024}
22025extern "C" {
22026 pub fn _fmpz_poly_newton_to_monomial(poly: *mut fmpz, roots: *const fmpz, n: mp_limb_signed_t);
22027}
22028extern "C" {
22029 pub fn fmpz_poly_evaluate_fmpz_vec(
22030 res: *mut fmpz,
22031 f: *mut fmpz_poly_struct,
22032 a: *const fmpz,
22033 n: mp_limb_signed_t,
22034 );
22035}
22036extern "C" {
22037 pub fn fmpz_poly_interpolate_fmpz_vec(
22038 poly: *mut fmpz_poly_struct,
22039 xs: *const fmpz,
22040 ys: *const fmpz,
22041 n: mp_limb_signed_t,
22042 );
22043}
22044extern "C" {
22045 pub fn fmpz_poly_hensel_build_tree(
22046 link: *mut mp_limb_signed_t,
22047 v: *mut fmpz_poly_t,
22048 w: *mut fmpz_poly_t,
22049 fac: *mut nmod_poly_factor_struct,
22050 );
22051}
22052extern "C" {
22053 pub fn fmpz_poly_hensel_lift(
22054 Gout: *mut fmpz_poly_struct,
22055 Hout: *mut fmpz_poly_struct,
22056 Aout: *mut fmpz_poly_struct,
22057 Bout: *mut fmpz_poly_struct,
22058 f: *mut fmpz_poly_struct,
22059 g: *mut fmpz_poly_struct,
22060 h: *mut fmpz_poly_struct,
22061 a: *mut fmpz_poly_struct,
22062 b: *mut fmpz_poly_struct,
22063 p: *mut fmpz,
22064 p1: *mut fmpz,
22065 );
22066}
22067extern "C" {
22068 pub fn _fmpz_poly_hensel_lift_without_inverse(
22069 G: *mut fmpz,
22070 H: *mut fmpz,
22071 f: *const fmpz,
22072 lenF: mp_limb_signed_t,
22073 g: *const fmpz,
22074 lenG: mp_limb_signed_t,
22075 h: *const fmpz,
22076 lenH: mp_limb_signed_t,
22077 a: *const fmpz,
22078 lenA: mp_limb_signed_t,
22079 b: *const fmpz,
22080 lenB: mp_limb_signed_t,
22081 p: *mut fmpz,
22082 p1: *mut fmpz,
22083 );
22084}
22085extern "C" {
22086 pub fn fmpz_poly_hensel_lift_without_inverse(
22087 Gout: *mut fmpz_poly_struct,
22088 Hout: *mut fmpz_poly_struct,
22089 f: *mut fmpz_poly_struct,
22090 g: *mut fmpz_poly_struct,
22091 h: *mut fmpz_poly_struct,
22092 a: *mut fmpz_poly_struct,
22093 b: *mut fmpz_poly_struct,
22094 p: *mut fmpz,
22095 p1: *mut fmpz,
22096 );
22097}
22098extern "C" {
22099 pub fn _fmpz_poly_hensel_lift_only_inverse(
22100 A: *mut fmpz,
22101 B: *mut fmpz,
22102 G: *const fmpz,
22103 lenG: mp_limb_signed_t,
22104 H: *const fmpz,
22105 lenH: mp_limb_signed_t,
22106 a: *const fmpz,
22107 lenA: mp_limb_signed_t,
22108 b: *const fmpz,
22109 lenB: mp_limb_signed_t,
22110 p: *mut fmpz,
22111 p1: *mut fmpz,
22112 );
22113}
22114extern "C" {
22115 pub fn fmpz_poly_hensel_lift_only_inverse(
22116 Aout: *mut fmpz_poly_struct,
22117 Bout: *mut fmpz_poly_struct,
22118 G: *mut fmpz_poly_struct,
22119 H: *mut fmpz_poly_struct,
22120 a: *mut fmpz_poly_struct,
22121 b: *mut fmpz_poly_struct,
22122 p: *mut fmpz,
22123 p1: *mut fmpz,
22124 );
22125}
22126extern "C" {
22127 pub fn fmpz_poly_hensel_lift_tree_recursive(
22128 link: *mut mp_limb_signed_t,
22129 v: *mut fmpz_poly_t,
22130 w: *mut fmpz_poly_t,
22131 f: *mut fmpz_poly_struct,
22132 j: mp_limb_signed_t,
22133 inv: mp_limb_signed_t,
22134 p0: *mut fmpz,
22135 p1: *mut fmpz,
22136 );
22137}
22138extern "C" {
22139 pub fn fmpz_poly_hensel_lift_tree(
22140 link: *mut mp_limb_signed_t,
22141 v: *mut fmpz_poly_t,
22142 w: *mut fmpz_poly_t,
22143 f: *mut fmpz_poly_struct,
22144 r: mp_limb_signed_t,
22145 p: *mut fmpz,
22146 e0: mp_limb_signed_t,
22147 e1: mp_limb_signed_t,
22148 inv: mp_limb_signed_t,
22149 );
22150}
22151extern "C" {
22152 pub fn _fmpz_poly_hensel_start_lift(
22153 lifted_fac: *mut fmpz_poly_factor_struct,
22154 link: *mut mp_limb_signed_t,
22155 v: *mut fmpz_poly_t,
22156 w: *mut fmpz_poly_t,
22157 f: *mut fmpz_poly_struct,
22158 local_fac: *mut nmod_poly_factor_struct,
22159 target_exp: mp_limb_signed_t,
22160 ) -> mp_limb_signed_t;
22161}
22162extern "C" {
22163 pub fn _fmpz_poly_hensel_continue_lift(
22164 lifted_fac: *mut fmpz_poly_factor_struct,
22165 link: *mut mp_limb_signed_t,
22166 v: *mut fmpz_poly_t,
22167 w: *mut fmpz_poly_t,
22168 f: *mut fmpz_poly_struct,
22169 prev: mp_limb_signed_t,
22170 curr: mp_limb_signed_t,
22171 N: mp_limb_signed_t,
22172 p: *mut fmpz,
22173 ) -> mp_limb_signed_t;
22174}
22175extern "C" {
22176 pub fn fmpz_poly_hensel_lift_once(
22177 lifted_fac: *mut fmpz_poly_factor_struct,
22178 f: *mut fmpz_poly_struct,
22179 local_fac: *mut nmod_poly_factor_struct,
22180 N: mp_limb_signed_t,
22181 );
22182}
22183extern "C" {
22184 pub fn _fmpz_poly_bound_roots(bound: *mut fmpz, poly: *const fmpz, len: mp_limb_signed_t);
22185}
22186extern "C" {
22187 pub fn fmpz_poly_bound_roots(bound: *mut fmpz, poly: *mut fmpz_poly_struct);
22188}
22189extern "C" {
22190 pub fn _fmpz_poly_num_real_roots_sturm(
22191 n_neg: *mut mp_limb_signed_t,
22192 n_pos: *mut mp_limb_signed_t,
22193 pol: *const fmpz,
22194 len: mp_limb_signed_t,
22195 );
22196}
22197extern "C" {
22198 pub fn fmpz_poly_num_real_roots_sturm(poly: *mut fmpz_poly_struct) -> mp_limb_signed_t;
22199}
22200extern "C" {
22201 pub fn _fmpz_poly_num_real_roots(pol: *const fmpz, len: mp_limb_signed_t) -> mp_limb_signed_t;
22202}
22203extern "C" {
22204 pub fn fmpz_poly_num_real_roots(poly: *mut fmpz_poly_struct) -> mp_limb_signed_t;
22205}
22206extern "C" {
22207 pub fn fmpz_poly_CLD_bound(res: *mut fmpz, f: *mut fmpz_poly_struct, n: mp_limb_signed_t);
22208}
22209extern "C" {
22210 pub fn _fmpz_poly_cyclotomic(
22211 a: *mut fmpz,
22212 n: mp_limb_t,
22213 factors: mp_ptr,
22214 num_factors: mp_limb_signed_t,
22215 phi: mp_limb_t,
22216 );
22217}
22218extern "C" {
22219 pub fn fmpz_poly_cyclotomic(poly: *mut fmpz_poly_struct, n: mp_limb_t);
22220}
22221extern "C" {
22222 pub fn _fmpz_poly_is_cyclotomic(poly: *const fmpz, len: mp_limb_signed_t) -> mp_limb_t;
22223}
22224extern "C" {
22225 pub fn fmpz_poly_is_cyclotomic(poly: *mut fmpz_poly_struct) -> mp_limb_t;
22226}
22227extern "C" {
22228 pub fn _fmpz_poly_cos_minpoly(f: *mut fmpz, n: mp_limb_t);
22229}
22230extern "C" {
22231 pub fn fmpz_poly_cos_minpoly(f: *mut fmpz_poly_struct, n: mp_limb_t);
22232}
22233extern "C" {
22234 pub fn _fmpz_poly_swinnerton_dyer(T: *mut fmpz, n: mp_limb_t);
22235}
22236extern "C" {
22237 pub fn fmpz_poly_swinnerton_dyer(poly: *mut fmpz_poly_struct, n: mp_limb_t);
22238}
22239extern "C" {
22240 pub fn _fmpz_poly_chebyshev_t(coeffs: *mut fmpz, n: mp_limb_t);
22241}
22242extern "C" {
22243 pub fn fmpz_poly_chebyshev_t(poly: *mut fmpz_poly_struct, n: mp_limb_t);
22244}
22245extern "C" {
22246 pub fn _fmpz_poly_chebyshev_u(coeffs: *mut fmpz, n: mp_limb_t);
22247}
22248extern "C" {
22249 pub fn fmpz_poly_chebyshev_u(poly: *mut fmpz_poly_struct, n: mp_limb_t);
22250}
22251extern "C" {
22252 pub fn _fmpz_poly_legendre_pt(coeffs: *mut fmpz, n: mp_limb_t);
22253}
22254extern "C" {
22255 pub fn fmpz_poly_legendre_pt(poly: *mut fmpz_poly_struct, n: mp_limb_t);
22256}
22257extern "C" {
22258 pub fn _fmpz_poly_hermite_h(coeffs: *mut fmpz, n: mp_limb_t);
22259}
22260extern "C" {
22261 pub fn fmpz_poly_hermite_h(poly: *mut fmpz_poly_struct, n: mp_limb_t);
22262}
22263extern "C" {
22264 pub fn _fmpz_poly_hermite_he(coeffs: *mut fmpz, n: mp_limb_t);
22265}
22266extern "C" {
22267 pub fn fmpz_poly_hermite_he(poly: *mut fmpz_poly_struct, n: mp_limb_t);
22268}
22269extern "C" {
22270 pub fn _fmpz_poly_fibonacci(coeffs: *mut fmpz, n: mp_limb_t);
22271}
22272extern "C" {
22273 pub fn fmpz_poly_fibonacci(poly: *mut fmpz_poly_struct, n: mp_limb_t);
22274}
22275extern "C" {
22276 pub fn _fmpz_poly_eta_qexp(f: *mut fmpz, e: mp_limb_signed_t, n: mp_limb_signed_t);
22277}
22278extern "C" {
22279 pub fn fmpz_poly_eta_qexp(f: *mut fmpz_poly_struct, e: mp_limb_signed_t, n: mp_limb_signed_t);
22280}
22281extern "C" {
22282 pub fn _fmpz_poly_theta_qexp(f: *mut fmpz, e: mp_limb_signed_t, n: mp_limb_signed_t);
22283}
22284extern "C" {
22285 pub fn fmpz_poly_theta_qexp(f: *mut fmpz_poly_struct, e: mp_limb_signed_t, n: mp_limb_signed_t);
22286}
22287extern "C" {
22288 pub fn fmpz_poly_add_si(
22289 res: *mut fmpz_poly_struct,
22290 poly: *mut fmpz_poly_struct,
22291 c: mp_limb_signed_t,
22292 );
22293}
22294extern "C" {
22295 pub fn fmpz_poly_sub_si(
22296 res: *mut fmpz_poly_struct,
22297 poly: *mut fmpz_poly_struct,
22298 c: mp_limb_signed_t,
22299 );
22300}
22301extern "C" {
22302 pub fn fmpz_poly_si_sub(
22303 res: *mut fmpz_poly_struct,
22304 c: mp_limb_signed_t,
22305 poly: *mut fmpz_poly_struct,
22306 );
22307}
22308extern "C" {
22309 pub fn fmpz_poly_add_fmpz(
22310 res: *mut fmpz_poly_struct,
22311 poly: *mut fmpz_poly_struct,
22312 c: *mut fmpz,
22313 );
22314}
22315extern "C" {
22316 pub fn fmpz_poly_sub_fmpz(
22317 res: *mut fmpz_poly_struct,
22318 poly: *mut fmpz_poly_struct,
22319 c: *mut fmpz,
22320 );
22321}
22322extern "C" {
22323 pub fn fmpz_poly_fmpz_sub(
22324 res: *mut fmpz_poly_struct,
22325 c: *mut fmpz,
22326 poly: *mut fmpz_poly_struct,
22327 );
22328}
22329pub type float_t = f32;
22330pub type double_t = f64;
22331extern "C" {
22332 pub fn __fpclassify(__value: f64) -> ::std::os::raw::c_int;
22333}
22334extern "C" {
22335 pub fn __signbit(__value: f64) -> ::std::os::raw::c_int;
22336}
22337extern "C" {
22338 pub fn __isinf(__value: f64) -> ::std::os::raw::c_int;
22339}
22340extern "C" {
22341 pub fn __finite(__value: f64) -> ::std::os::raw::c_int;
22342}
22343extern "C" {
22344 pub fn __isnan(__value: f64) -> ::std::os::raw::c_int;
22345}
22346extern "C" {
22347 pub fn __iseqsig(__x: f64, __y: f64) -> ::std::os::raw::c_int;
22348}
22349extern "C" {
22350 pub fn __issignaling(__value: f64) -> ::std::os::raw::c_int;
22351}
22352extern "C" {
22353 pub fn acos(__x: f64) -> f64;
22354}
22355extern "C" {
22356 pub fn __acos(__x: f64) -> f64;
22357}
22358extern "C" {
22359 pub fn asin(__x: f64) -> f64;
22360}
22361extern "C" {
22362 pub fn __asin(__x: f64) -> f64;
22363}
22364extern "C" {
22365 pub fn atan(__x: f64) -> f64;
22366}
22367extern "C" {
22368 pub fn __atan(__x: f64) -> f64;
22369}
22370extern "C" {
22371 pub fn atan2(__y: f64, __x: f64) -> f64;
22372}
22373extern "C" {
22374 pub fn __atan2(__y: f64, __x: f64) -> f64;
22375}
22376extern "C" {
22377 pub fn cos(__x: f64) -> f64;
22378}
22379extern "C" {
22380 pub fn __cos(__x: f64) -> f64;
22381}
22382extern "C" {
22383 pub fn sin(__x: f64) -> f64;
22384}
22385extern "C" {
22386 pub fn __sin(__x: f64) -> f64;
22387}
22388extern "C" {
22389 pub fn tan(__x: f64) -> f64;
22390}
22391extern "C" {
22392 pub fn __tan(__x: f64) -> f64;
22393}
22394extern "C" {
22395 pub fn cosh(__x: f64) -> f64;
22396}
22397extern "C" {
22398 pub fn __cosh(__x: f64) -> f64;
22399}
22400extern "C" {
22401 pub fn sinh(__x: f64) -> f64;
22402}
22403extern "C" {
22404 pub fn __sinh(__x: f64) -> f64;
22405}
22406extern "C" {
22407 pub fn tanh(__x: f64) -> f64;
22408}
22409extern "C" {
22410 pub fn __tanh(__x: f64) -> f64;
22411}
22412extern "C" {
22413 pub fn acosh(__x: f64) -> f64;
22414}
22415extern "C" {
22416 pub fn __acosh(__x: f64) -> f64;
22417}
22418extern "C" {
22419 pub fn asinh(__x: f64) -> f64;
22420}
22421extern "C" {
22422 pub fn __asinh(__x: f64) -> f64;
22423}
22424extern "C" {
22425 pub fn atanh(__x: f64) -> f64;
22426}
22427extern "C" {
22428 pub fn __atanh(__x: f64) -> f64;
22429}
22430extern "C" {
22431 pub fn exp(__x: f64) -> f64;
22432}
22433extern "C" {
22434 pub fn __exp(__x: f64) -> f64;
22435}
22436extern "C" {
22437 pub fn frexp(__x: f64, __exponent: *mut ::std::os::raw::c_int) -> f64;
22438}
22439extern "C" {
22440 pub fn __frexp(__x: f64, __exponent: *mut ::std::os::raw::c_int) -> f64;
22441}
22442extern "C" {
22443 pub fn ldexp(__x: f64, __exponent: ::std::os::raw::c_int) -> f64;
22444}
22445extern "C" {
22446 pub fn __ldexp(__x: f64, __exponent: ::std::os::raw::c_int) -> f64;
22447}
22448extern "C" {
22449 pub fn log(__x: f64) -> f64;
22450}
22451extern "C" {
22452 pub fn __log(__x: f64) -> f64;
22453}
22454extern "C" {
22455 pub fn log10(__x: f64) -> f64;
22456}
22457extern "C" {
22458 pub fn __log10(__x: f64) -> f64;
22459}
22460extern "C" {
22461 pub fn modf(__x: f64, __iptr: *mut f64) -> f64;
22462}
22463extern "C" {
22464 pub fn __modf(__x: f64, __iptr: *mut f64) -> f64;
22465}
22466extern "C" {
22467 pub fn expm1(__x: f64) -> f64;
22468}
22469extern "C" {
22470 pub fn __expm1(__x: f64) -> f64;
22471}
22472extern "C" {
22473 pub fn log1p(__x: f64) -> f64;
22474}
22475extern "C" {
22476 pub fn __log1p(__x: f64) -> f64;
22477}
22478extern "C" {
22479 pub fn logb(__x: f64) -> f64;
22480}
22481extern "C" {
22482 pub fn __logb(__x: f64) -> f64;
22483}
22484extern "C" {
22485 pub fn exp2(__x: f64) -> f64;
22486}
22487extern "C" {
22488 pub fn __exp2(__x: f64) -> f64;
22489}
22490extern "C" {
22491 pub fn log2(__x: f64) -> f64;
22492}
22493extern "C" {
22494 pub fn __log2(__x: f64) -> f64;
22495}
22496extern "C" {
22497 pub fn pow(__x: f64, __y: f64) -> f64;
22498}
22499extern "C" {
22500 pub fn __pow(__x: f64, __y: f64) -> f64;
22501}
22502extern "C" {
22503 pub fn sqrt(__x: f64) -> f64;
22504}
22505extern "C" {
22506 pub fn __sqrt(__x: f64) -> f64;
22507}
22508extern "C" {
22509 pub fn hypot(__x: f64, __y: f64) -> f64;
22510}
22511extern "C" {
22512 pub fn __hypot(__x: f64, __y: f64) -> f64;
22513}
22514extern "C" {
22515 pub fn cbrt(__x: f64) -> f64;
22516}
22517extern "C" {
22518 pub fn __cbrt(__x: f64) -> f64;
22519}
22520extern "C" {
22521 pub fn ceil(__x: f64) -> f64;
22522}
22523extern "C" {
22524 pub fn __ceil(__x: f64) -> f64;
22525}
22526extern "C" {
22527 pub fn fabs(__x: f64) -> f64;
22528}
22529extern "C" {
22530 pub fn __fabs(__x: f64) -> f64;
22531}
22532extern "C" {
22533 pub fn floor(__x: f64) -> f64;
22534}
22535extern "C" {
22536 pub fn __floor(__x: f64) -> f64;
22537}
22538extern "C" {
22539 pub fn fmod(__x: f64, __y: f64) -> f64;
22540}
22541extern "C" {
22542 pub fn __fmod(__x: f64, __y: f64) -> f64;
22543}
22544extern "C" {
22545 pub fn isinf(__value: f64) -> ::std::os::raw::c_int;
22546}
22547extern "C" {
22548 pub fn finite(__value: f64) -> ::std::os::raw::c_int;
22549}
22550extern "C" {
22551 pub fn drem(__x: f64, __y: f64) -> f64;
22552}
22553extern "C" {
22554 pub fn __drem(__x: f64, __y: f64) -> f64;
22555}
22556extern "C" {
22557 pub fn significand(__x: f64) -> f64;
22558}
22559extern "C" {
22560 pub fn __significand(__x: f64) -> f64;
22561}
22562extern "C" {
22563 pub fn copysign(__x: f64, __y: f64) -> f64;
22564}
22565extern "C" {
22566 pub fn __copysign(__x: f64, __y: f64) -> f64;
22567}
22568extern "C" {
22569 pub fn nan(__tagb: *const ::std::os::raw::c_char) -> f64;
22570}
22571extern "C" {
22572 pub fn __nan(__tagb: *const ::std::os::raw::c_char) -> f64;
22573}
22574extern "C" {
22575 pub fn isnan(__value: f64) -> ::std::os::raw::c_int;
22576}
22577extern "C" {
22578 pub fn j0(arg1: f64) -> f64;
22579}
22580extern "C" {
22581 pub fn __j0(arg1: f64) -> f64;
22582}
22583extern "C" {
22584 pub fn j1(arg1: f64) -> f64;
22585}
22586extern "C" {
22587 pub fn __j1(arg1: f64) -> f64;
22588}
22589extern "C" {
22590 pub fn jn(arg1: ::std::os::raw::c_int, arg2: f64) -> f64;
22591}
22592extern "C" {
22593 pub fn __jn(arg1: ::std::os::raw::c_int, arg2: f64) -> f64;
22594}
22595extern "C" {
22596 pub fn y0(arg1: f64) -> f64;
22597}
22598extern "C" {
22599 pub fn __y0(arg1: f64) -> f64;
22600}
22601extern "C" {
22602 pub fn y1(arg1: f64) -> f64;
22603}
22604extern "C" {
22605 pub fn __y1(arg1: f64) -> f64;
22606}
22607extern "C" {
22608 pub fn yn(arg1: ::std::os::raw::c_int, arg2: f64) -> f64;
22609}
22610extern "C" {
22611 pub fn __yn(arg1: ::std::os::raw::c_int, arg2: f64) -> f64;
22612}
22613extern "C" {
22614 pub fn erf(arg1: f64) -> f64;
22615}
22616extern "C" {
22617 pub fn __erf(arg1: f64) -> f64;
22618}
22619extern "C" {
22620 pub fn erfc(arg1: f64) -> f64;
22621}
22622extern "C" {
22623 pub fn __erfc(arg1: f64) -> f64;
22624}
22625extern "C" {
22626 pub fn lgamma(arg1: f64) -> f64;
22627}
22628extern "C" {
22629 pub fn __lgamma(arg1: f64) -> f64;
22630}
22631extern "C" {
22632 pub fn tgamma(arg1: f64) -> f64;
22633}
22634extern "C" {
22635 pub fn __tgamma(arg1: f64) -> f64;
22636}
22637extern "C" {
22638 pub fn gamma(arg1: f64) -> f64;
22639}
22640extern "C" {
22641 pub fn __gamma(arg1: f64) -> f64;
22642}
22643extern "C" {
22644 pub fn lgamma_r(arg1: f64, __signgamp: *mut ::std::os::raw::c_int) -> f64;
22645}
22646extern "C" {
22647 pub fn __lgamma_r(arg1: f64, __signgamp: *mut ::std::os::raw::c_int) -> f64;
22648}
22649extern "C" {
22650 pub fn rint(__x: f64) -> f64;
22651}
22652extern "C" {
22653 pub fn __rint(__x: f64) -> f64;
22654}
22655extern "C" {
22656 pub fn nextafter(__x: f64, __y: f64) -> f64;
22657}
22658extern "C" {
22659 pub fn __nextafter(__x: f64, __y: f64) -> f64;
22660}
22661extern "C" {
22662 pub fn nexttoward(__x: f64, __y: u128) -> f64;
22663}
22664extern "C" {
22665 pub fn __nexttoward(__x: f64, __y: u128) -> f64;
22666}
22667extern "C" {
22668 pub fn remainder(__x: f64, __y: f64) -> f64;
22669}
22670extern "C" {
22671 pub fn __remainder(__x: f64, __y: f64) -> f64;
22672}
22673extern "C" {
22674 pub fn scalbn(__x: f64, __n: ::std::os::raw::c_int) -> f64;
22675}
22676extern "C" {
22677 pub fn __scalbn(__x: f64, __n: ::std::os::raw::c_int) -> f64;
22678}
22679extern "C" {
22680 pub fn ilogb(__x: f64) -> ::std::os::raw::c_int;
22681}
22682extern "C" {
22683 pub fn __ilogb(__x: f64) -> ::std::os::raw::c_int;
22684}
22685extern "C" {
22686 pub fn scalbln(__x: f64, __n: ::std::os::raw::c_long) -> f64;
22687}
22688extern "C" {
22689 pub fn __scalbln(__x: f64, __n: ::std::os::raw::c_long) -> f64;
22690}
22691extern "C" {
22692 pub fn nearbyint(__x: f64) -> f64;
22693}
22694extern "C" {
22695 pub fn __nearbyint(__x: f64) -> f64;
22696}
22697extern "C" {
22698 pub fn round(__x: f64) -> f64;
22699}
22700extern "C" {
22701 pub fn __round(__x: f64) -> f64;
22702}
22703extern "C" {
22704 pub fn trunc(__x: f64) -> f64;
22705}
22706extern "C" {
22707 pub fn __trunc(__x: f64) -> f64;
22708}
22709extern "C" {
22710 pub fn remquo(__x: f64, __y: f64, __quo: *mut ::std::os::raw::c_int) -> f64;
22711}
22712extern "C" {
22713 pub fn __remquo(__x: f64, __y: f64, __quo: *mut ::std::os::raw::c_int) -> f64;
22714}
22715extern "C" {
22716 pub fn lrint(__x: f64) -> ::std::os::raw::c_long;
22717}
22718extern "C" {
22719 pub fn __lrint(__x: f64) -> ::std::os::raw::c_long;
22720}
22721extern "C" {
22722 pub fn llrint(__x: f64) -> ::std::os::raw::c_longlong;
22723}
22724extern "C" {
22725 pub fn __llrint(__x: f64) -> ::std::os::raw::c_longlong;
22726}
22727extern "C" {
22728 pub fn lround(__x: f64) -> ::std::os::raw::c_long;
22729}
22730extern "C" {
22731 pub fn __lround(__x: f64) -> ::std::os::raw::c_long;
22732}
22733extern "C" {
22734 pub fn llround(__x: f64) -> ::std::os::raw::c_longlong;
22735}
22736extern "C" {
22737 pub fn __llround(__x: f64) -> ::std::os::raw::c_longlong;
22738}
22739extern "C" {
22740 pub fn fdim(__x: f64, __y: f64) -> f64;
22741}
22742extern "C" {
22743 pub fn __fdim(__x: f64, __y: f64) -> f64;
22744}
22745extern "C" {
22746 pub fn fmax(__x: f64, __y: f64) -> f64;
22747}
22748extern "C" {
22749 pub fn __fmax(__x: f64, __y: f64) -> f64;
22750}
22751extern "C" {
22752 pub fn fmin(__x: f64, __y: f64) -> f64;
22753}
22754extern "C" {
22755 pub fn __fmin(__x: f64, __y: f64) -> f64;
22756}
22757extern "C" {
22758 pub fn fma(__x: f64, __y: f64, __z: f64) -> f64;
22759}
22760extern "C" {
22761 pub fn __fma(__x: f64, __y: f64, __z: f64) -> f64;
22762}
22763extern "C" {
22764 pub fn scalb(__x: f64, __n: f64) -> f64;
22765}
22766extern "C" {
22767 pub fn __scalb(__x: f64, __n: f64) -> f64;
22768}
22769extern "C" {
22770 pub fn __fpclassifyf(__value: f32) -> ::std::os::raw::c_int;
22771}
22772extern "C" {
22773 pub fn __signbitf(__value: f32) -> ::std::os::raw::c_int;
22774}
22775extern "C" {
22776 pub fn __isinff(__value: f32) -> ::std::os::raw::c_int;
22777}
22778extern "C" {
22779 pub fn __finitef(__value: f32) -> ::std::os::raw::c_int;
22780}
22781extern "C" {
22782 pub fn __isnanf(__value: f32) -> ::std::os::raw::c_int;
22783}
22784extern "C" {
22785 pub fn __iseqsigf(__x: f32, __y: f32) -> ::std::os::raw::c_int;
22786}
22787extern "C" {
22788 pub fn __issignalingf(__value: f32) -> ::std::os::raw::c_int;
22789}
22790extern "C" {
22791 pub fn acosf(__x: f32) -> f32;
22792}
22793extern "C" {
22794 pub fn __acosf(__x: f32) -> f32;
22795}
22796extern "C" {
22797 pub fn asinf(__x: f32) -> f32;
22798}
22799extern "C" {
22800 pub fn __asinf(__x: f32) -> f32;
22801}
22802extern "C" {
22803 pub fn atanf(__x: f32) -> f32;
22804}
22805extern "C" {
22806 pub fn __atanf(__x: f32) -> f32;
22807}
22808extern "C" {
22809 pub fn atan2f(__y: f32, __x: f32) -> f32;
22810}
22811extern "C" {
22812 pub fn __atan2f(__y: f32, __x: f32) -> f32;
22813}
22814extern "C" {
22815 pub fn cosf(__x: f32) -> f32;
22816}
22817extern "C" {
22818 pub fn __cosf(__x: f32) -> f32;
22819}
22820extern "C" {
22821 pub fn sinf(__x: f32) -> f32;
22822}
22823extern "C" {
22824 pub fn __sinf(__x: f32) -> f32;
22825}
22826extern "C" {
22827 pub fn tanf(__x: f32) -> f32;
22828}
22829extern "C" {
22830 pub fn __tanf(__x: f32) -> f32;
22831}
22832extern "C" {
22833 pub fn coshf(__x: f32) -> f32;
22834}
22835extern "C" {
22836 pub fn __coshf(__x: f32) -> f32;
22837}
22838extern "C" {
22839 pub fn sinhf(__x: f32) -> f32;
22840}
22841extern "C" {
22842 pub fn __sinhf(__x: f32) -> f32;
22843}
22844extern "C" {
22845 pub fn tanhf(__x: f32) -> f32;
22846}
22847extern "C" {
22848 pub fn __tanhf(__x: f32) -> f32;
22849}
22850extern "C" {
22851 pub fn acoshf(__x: f32) -> f32;
22852}
22853extern "C" {
22854 pub fn __acoshf(__x: f32) -> f32;
22855}
22856extern "C" {
22857 pub fn asinhf(__x: f32) -> f32;
22858}
22859extern "C" {
22860 pub fn __asinhf(__x: f32) -> f32;
22861}
22862extern "C" {
22863 pub fn atanhf(__x: f32) -> f32;
22864}
22865extern "C" {
22866 pub fn __atanhf(__x: f32) -> f32;
22867}
22868extern "C" {
22869 pub fn expf(__x: f32) -> f32;
22870}
22871extern "C" {
22872 pub fn __expf(__x: f32) -> f32;
22873}
22874extern "C" {
22875 pub fn frexpf(__x: f32, __exponent: *mut ::std::os::raw::c_int) -> f32;
22876}
22877extern "C" {
22878 pub fn __frexpf(__x: f32, __exponent: *mut ::std::os::raw::c_int) -> f32;
22879}
22880extern "C" {
22881 pub fn ldexpf(__x: f32, __exponent: ::std::os::raw::c_int) -> f32;
22882}
22883extern "C" {
22884 pub fn __ldexpf(__x: f32, __exponent: ::std::os::raw::c_int) -> f32;
22885}
22886extern "C" {
22887 pub fn logf(__x: f32) -> f32;
22888}
22889extern "C" {
22890 pub fn __logf(__x: f32) -> f32;
22891}
22892extern "C" {
22893 pub fn log10f(__x: f32) -> f32;
22894}
22895extern "C" {
22896 pub fn __log10f(__x: f32) -> f32;
22897}
22898extern "C" {
22899 pub fn modff(__x: f32, __iptr: *mut f32) -> f32;
22900}
22901extern "C" {
22902 pub fn __modff(__x: f32, __iptr: *mut f32) -> f32;
22903}
22904extern "C" {
22905 pub fn expm1f(__x: f32) -> f32;
22906}
22907extern "C" {
22908 pub fn __expm1f(__x: f32) -> f32;
22909}
22910extern "C" {
22911 pub fn log1pf(__x: f32) -> f32;
22912}
22913extern "C" {
22914 pub fn __log1pf(__x: f32) -> f32;
22915}
22916extern "C" {
22917 pub fn logbf(__x: f32) -> f32;
22918}
22919extern "C" {
22920 pub fn __logbf(__x: f32) -> f32;
22921}
22922extern "C" {
22923 pub fn exp2f(__x: f32) -> f32;
22924}
22925extern "C" {
22926 pub fn __exp2f(__x: f32) -> f32;
22927}
22928extern "C" {
22929 pub fn log2f(__x: f32) -> f32;
22930}
22931extern "C" {
22932 pub fn __log2f(__x: f32) -> f32;
22933}
22934extern "C" {
22935 pub fn powf(__x: f32, __y: f32) -> f32;
22936}
22937extern "C" {
22938 pub fn __powf(__x: f32, __y: f32) -> f32;
22939}
22940extern "C" {
22941 pub fn sqrtf(__x: f32) -> f32;
22942}
22943extern "C" {
22944 pub fn __sqrtf(__x: f32) -> f32;
22945}
22946extern "C" {
22947 pub fn hypotf(__x: f32, __y: f32) -> f32;
22948}
22949extern "C" {
22950 pub fn __hypotf(__x: f32, __y: f32) -> f32;
22951}
22952extern "C" {
22953 pub fn cbrtf(__x: f32) -> f32;
22954}
22955extern "C" {
22956 pub fn __cbrtf(__x: f32) -> f32;
22957}
22958extern "C" {
22959 pub fn ceilf(__x: f32) -> f32;
22960}
22961extern "C" {
22962 pub fn __ceilf(__x: f32) -> f32;
22963}
22964extern "C" {
22965 pub fn fabsf(__x: f32) -> f32;
22966}
22967extern "C" {
22968 pub fn __fabsf(__x: f32) -> f32;
22969}
22970extern "C" {
22971 pub fn floorf(__x: f32) -> f32;
22972}
22973extern "C" {
22974 pub fn __floorf(__x: f32) -> f32;
22975}
22976extern "C" {
22977 pub fn fmodf(__x: f32, __y: f32) -> f32;
22978}
22979extern "C" {
22980 pub fn __fmodf(__x: f32, __y: f32) -> f32;
22981}
22982extern "C" {
22983 pub fn isinff(__value: f32) -> ::std::os::raw::c_int;
22984}
22985extern "C" {
22986 pub fn finitef(__value: f32) -> ::std::os::raw::c_int;
22987}
22988extern "C" {
22989 pub fn dremf(__x: f32, __y: f32) -> f32;
22990}
22991extern "C" {
22992 pub fn __dremf(__x: f32, __y: f32) -> f32;
22993}
22994extern "C" {
22995 pub fn significandf(__x: f32) -> f32;
22996}
22997extern "C" {
22998 pub fn __significandf(__x: f32) -> f32;
22999}
23000extern "C" {
23001 pub fn copysignf(__x: f32, __y: f32) -> f32;
23002}
23003extern "C" {
23004 pub fn __copysignf(__x: f32, __y: f32) -> f32;
23005}
23006extern "C" {
23007 pub fn nanf(__tagb: *const ::std::os::raw::c_char) -> f32;
23008}
23009extern "C" {
23010 pub fn __nanf(__tagb: *const ::std::os::raw::c_char) -> f32;
23011}
23012extern "C" {
23013 pub fn isnanf(__value: f32) -> ::std::os::raw::c_int;
23014}
23015extern "C" {
23016 pub fn j0f(arg1: f32) -> f32;
23017}
23018extern "C" {
23019 pub fn __j0f(arg1: f32) -> f32;
23020}
23021extern "C" {
23022 pub fn j1f(arg1: f32) -> f32;
23023}
23024extern "C" {
23025 pub fn __j1f(arg1: f32) -> f32;
23026}
23027extern "C" {
23028 pub fn jnf(arg1: ::std::os::raw::c_int, arg2: f32) -> f32;
23029}
23030extern "C" {
23031 pub fn __jnf(arg1: ::std::os::raw::c_int, arg2: f32) -> f32;
23032}
23033extern "C" {
23034 pub fn y0f(arg1: f32) -> f32;
23035}
23036extern "C" {
23037 pub fn __y0f(arg1: f32) -> f32;
23038}
23039extern "C" {
23040 pub fn y1f(arg1: f32) -> f32;
23041}
23042extern "C" {
23043 pub fn __y1f(arg1: f32) -> f32;
23044}
23045extern "C" {
23046 pub fn ynf(arg1: ::std::os::raw::c_int, arg2: f32) -> f32;
23047}
23048extern "C" {
23049 pub fn __ynf(arg1: ::std::os::raw::c_int, arg2: f32) -> f32;
23050}
23051extern "C" {
23052 pub fn erff(arg1: f32) -> f32;
23053}
23054extern "C" {
23055 pub fn __erff(arg1: f32) -> f32;
23056}
23057extern "C" {
23058 pub fn erfcf(arg1: f32) -> f32;
23059}
23060extern "C" {
23061 pub fn __erfcf(arg1: f32) -> f32;
23062}
23063extern "C" {
23064 pub fn lgammaf(arg1: f32) -> f32;
23065}
23066extern "C" {
23067 pub fn __lgammaf(arg1: f32) -> f32;
23068}
23069extern "C" {
23070 pub fn tgammaf(arg1: f32) -> f32;
23071}
23072extern "C" {
23073 pub fn __tgammaf(arg1: f32) -> f32;
23074}
23075extern "C" {
23076 pub fn gammaf(arg1: f32) -> f32;
23077}
23078extern "C" {
23079 pub fn __gammaf(arg1: f32) -> f32;
23080}
23081extern "C" {
23082 pub fn lgammaf_r(arg1: f32, __signgamp: *mut ::std::os::raw::c_int) -> f32;
23083}
23084extern "C" {
23085 pub fn __lgammaf_r(arg1: f32, __signgamp: *mut ::std::os::raw::c_int) -> f32;
23086}
23087extern "C" {
23088 pub fn rintf(__x: f32) -> f32;
23089}
23090extern "C" {
23091 pub fn __rintf(__x: f32) -> f32;
23092}
23093extern "C" {
23094 pub fn nextafterf(__x: f32, __y: f32) -> f32;
23095}
23096extern "C" {
23097 pub fn __nextafterf(__x: f32, __y: f32) -> f32;
23098}
23099extern "C" {
23100 pub fn nexttowardf(__x: f32, __y: u128) -> f32;
23101}
23102extern "C" {
23103 pub fn __nexttowardf(__x: f32, __y: u128) -> f32;
23104}
23105extern "C" {
23106 pub fn remainderf(__x: f32, __y: f32) -> f32;
23107}
23108extern "C" {
23109 pub fn __remainderf(__x: f32, __y: f32) -> f32;
23110}
23111extern "C" {
23112 pub fn scalbnf(__x: f32, __n: ::std::os::raw::c_int) -> f32;
23113}
23114extern "C" {
23115 pub fn __scalbnf(__x: f32, __n: ::std::os::raw::c_int) -> f32;
23116}
23117extern "C" {
23118 pub fn ilogbf(__x: f32) -> ::std::os::raw::c_int;
23119}
23120extern "C" {
23121 pub fn __ilogbf(__x: f32) -> ::std::os::raw::c_int;
23122}
23123extern "C" {
23124 pub fn scalblnf(__x: f32, __n: ::std::os::raw::c_long) -> f32;
23125}
23126extern "C" {
23127 pub fn __scalblnf(__x: f32, __n: ::std::os::raw::c_long) -> f32;
23128}
23129extern "C" {
23130 pub fn nearbyintf(__x: f32) -> f32;
23131}
23132extern "C" {
23133 pub fn __nearbyintf(__x: f32) -> f32;
23134}
23135extern "C" {
23136 pub fn roundf(__x: f32) -> f32;
23137}
23138extern "C" {
23139 pub fn __roundf(__x: f32) -> f32;
23140}
23141extern "C" {
23142 pub fn truncf(__x: f32) -> f32;
23143}
23144extern "C" {
23145 pub fn __truncf(__x: f32) -> f32;
23146}
23147extern "C" {
23148 pub fn remquof(__x: f32, __y: f32, __quo: *mut ::std::os::raw::c_int) -> f32;
23149}
23150extern "C" {
23151 pub fn __remquof(__x: f32, __y: f32, __quo: *mut ::std::os::raw::c_int) -> f32;
23152}
23153extern "C" {
23154 pub fn lrintf(__x: f32) -> ::std::os::raw::c_long;
23155}
23156extern "C" {
23157 pub fn __lrintf(__x: f32) -> ::std::os::raw::c_long;
23158}
23159extern "C" {
23160 pub fn llrintf(__x: f32) -> ::std::os::raw::c_longlong;
23161}
23162extern "C" {
23163 pub fn __llrintf(__x: f32) -> ::std::os::raw::c_longlong;
23164}
23165extern "C" {
23166 pub fn lroundf(__x: f32) -> ::std::os::raw::c_long;
23167}
23168extern "C" {
23169 pub fn __lroundf(__x: f32) -> ::std::os::raw::c_long;
23170}
23171extern "C" {
23172 pub fn llroundf(__x: f32) -> ::std::os::raw::c_longlong;
23173}
23174extern "C" {
23175 pub fn __llroundf(__x: f32) -> ::std::os::raw::c_longlong;
23176}
23177extern "C" {
23178 pub fn fdimf(__x: f32, __y: f32) -> f32;
23179}
23180extern "C" {
23181 pub fn __fdimf(__x: f32, __y: f32) -> f32;
23182}
23183extern "C" {
23184 pub fn fmaxf(__x: f32, __y: f32) -> f32;
23185}
23186extern "C" {
23187 pub fn __fmaxf(__x: f32, __y: f32) -> f32;
23188}
23189extern "C" {
23190 pub fn fminf(__x: f32, __y: f32) -> f32;
23191}
23192extern "C" {
23193 pub fn __fminf(__x: f32, __y: f32) -> f32;
23194}
23195extern "C" {
23196 pub fn fmaf(__x: f32, __y: f32, __z: f32) -> f32;
23197}
23198extern "C" {
23199 pub fn __fmaf(__x: f32, __y: f32, __z: f32) -> f32;
23200}
23201extern "C" {
23202 pub fn scalbf(__x: f32, __n: f32) -> f32;
23203}
23204extern "C" {
23205 pub fn __scalbf(__x: f32, __n: f32) -> f32;
23206}
23207extern "C" {
23208 pub fn __fpclassifyl(__value: u128) -> ::std::os::raw::c_int;
23209}
23210extern "C" {
23211 pub fn __signbitl(__value: u128) -> ::std::os::raw::c_int;
23212}
23213extern "C" {
23214 pub fn __isinfl(__value: u128) -> ::std::os::raw::c_int;
23215}
23216extern "C" {
23217 pub fn __finitel(__value: u128) -> ::std::os::raw::c_int;
23218}
23219extern "C" {
23220 pub fn __isnanl(__value: u128) -> ::std::os::raw::c_int;
23221}
23222extern "C" {
23223 pub fn __iseqsigl(__x: u128, __y: u128) -> ::std::os::raw::c_int;
23224}
23225extern "C" {
23226 pub fn __issignalingl(__value: u128) -> ::std::os::raw::c_int;
23227}
23228extern "C" {
23229 pub fn acosl(__x: u128) -> u128;
23230}
23231extern "C" {
23232 pub fn __acosl(__x: u128) -> u128;
23233}
23234extern "C" {
23235 pub fn asinl(__x: u128) -> u128;
23236}
23237extern "C" {
23238 pub fn __asinl(__x: u128) -> u128;
23239}
23240extern "C" {
23241 pub fn atanl(__x: u128) -> u128;
23242}
23243extern "C" {
23244 pub fn __atanl(__x: u128) -> u128;
23245}
23246extern "C" {
23247 pub fn atan2l(__y: u128, __x: u128) -> u128;
23248}
23249extern "C" {
23250 pub fn __atan2l(__y: u128, __x: u128) -> u128;
23251}
23252extern "C" {
23253 pub fn cosl(__x: u128) -> u128;
23254}
23255extern "C" {
23256 pub fn __cosl(__x: u128) -> u128;
23257}
23258extern "C" {
23259 pub fn sinl(__x: u128) -> u128;
23260}
23261extern "C" {
23262 pub fn __sinl(__x: u128) -> u128;
23263}
23264extern "C" {
23265 pub fn tanl(__x: u128) -> u128;
23266}
23267extern "C" {
23268 pub fn __tanl(__x: u128) -> u128;
23269}
23270extern "C" {
23271 pub fn coshl(__x: u128) -> u128;
23272}
23273extern "C" {
23274 pub fn __coshl(__x: u128) -> u128;
23275}
23276extern "C" {
23277 pub fn sinhl(__x: u128) -> u128;
23278}
23279extern "C" {
23280 pub fn __sinhl(__x: u128) -> u128;
23281}
23282extern "C" {
23283 pub fn tanhl(__x: u128) -> u128;
23284}
23285extern "C" {
23286 pub fn __tanhl(__x: u128) -> u128;
23287}
23288extern "C" {
23289 pub fn acoshl(__x: u128) -> u128;
23290}
23291extern "C" {
23292 pub fn __acoshl(__x: u128) -> u128;
23293}
23294extern "C" {
23295 pub fn asinhl(__x: u128) -> u128;
23296}
23297extern "C" {
23298 pub fn __asinhl(__x: u128) -> u128;
23299}
23300extern "C" {
23301 pub fn atanhl(__x: u128) -> u128;
23302}
23303extern "C" {
23304 pub fn __atanhl(__x: u128) -> u128;
23305}
23306extern "C" {
23307 pub fn expl(__x: u128) -> u128;
23308}
23309extern "C" {
23310 pub fn __expl(__x: u128) -> u128;
23311}
23312extern "C" {
23313 pub fn frexpl(__x: u128, __exponent: *mut ::std::os::raw::c_int) -> u128;
23314}
23315extern "C" {
23316 pub fn __frexpl(__x: u128, __exponent: *mut ::std::os::raw::c_int) -> u128;
23317}
23318extern "C" {
23319 pub fn ldexpl(__x: u128, __exponent: ::std::os::raw::c_int) -> u128;
23320}
23321extern "C" {
23322 pub fn __ldexpl(__x: u128, __exponent: ::std::os::raw::c_int) -> u128;
23323}
23324extern "C" {
23325 pub fn logl(__x: u128) -> u128;
23326}
23327extern "C" {
23328 pub fn __logl(__x: u128) -> u128;
23329}
23330extern "C" {
23331 pub fn log10l(__x: u128) -> u128;
23332}
23333extern "C" {
23334 pub fn __log10l(__x: u128) -> u128;
23335}
23336extern "C" {
23337 pub fn modfl(__x: u128, __iptr: *mut u128) -> u128;
23338}
23339extern "C" {
23340 pub fn __modfl(__x: u128, __iptr: *mut u128) -> u128;
23341}
23342extern "C" {
23343 pub fn expm1l(__x: u128) -> u128;
23344}
23345extern "C" {
23346 pub fn __expm1l(__x: u128) -> u128;
23347}
23348extern "C" {
23349 pub fn log1pl(__x: u128) -> u128;
23350}
23351extern "C" {
23352 pub fn __log1pl(__x: u128) -> u128;
23353}
23354extern "C" {
23355 pub fn logbl(__x: u128) -> u128;
23356}
23357extern "C" {
23358 pub fn __logbl(__x: u128) -> u128;
23359}
23360extern "C" {
23361 pub fn exp2l(__x: u128) -> u128;
23362}
23363extern "C" {
23364 pub fn __exp2l(__x: u128) -> u128;
23365}
23366extern "C" {
23367 pub fn log2l(__x: u128) -> u128;
23368}
23369extern "C" {
23370 pub fn __log2l(__x: u128) -> u128;
23371}
23372extern "C" {
23373 pub fn powl(__x: u128, __y: u128) -> u128;
23374}
23375extern "C" {
23376 pub fn __powl(__x: u128, __y: u128) -> u128;
23377}
23378extern "C" {
23379 pub fn sqrtl(__x: u128) -> u128;
23380}
23381extern "C" {
23382 pub fn __sqrtl(__x: u128) -> u128;
23383}
23384extern "C" {
23385 pub fn hypotl(__x: u128, __y: u128) -> u128;
23386}
23387extern "C" {
23388 pub fn __hypotl(__x: u128, __y: u128) -> u128;
23389}
23390extern "C" {
23391 pub fn cbrtl(__x: u128) -> u128;
23392}
23393extern "C" {
23394 pub fn __cbrtl(__x: u128) -> u128;
23395}
23396extern "C" {
23397 pub fn ceill(__x: u128) -> u128;
23398}
23399extern "C" {
23400 pub fn __ceill(__x: u128) -> u128;
23401}
23402extern "C" {
23403 pub fn fabsl(__x: u128) -> u128;
23404}
23405extern "C" {
23406 pub fn __fabsl(__x: u128) -> u128;
23407}
23408extern "C" {
23409 pub fn floorl(__x: u128) -> u128;
23410}
23411extern "C" {
23412 pub fn __floorl(__x: u128) -> u128;
23413}
23414extern "C" {
23415 pub fn fmodl(__x: u128, __y: u128) -> u128;
23416}
23417extern "C" {
23418 pub fn __fmodl(__x: u128, __y: u128) -> u128;
23419}
23420extern "C" {
23421 pub fn isinfl(__value: u128) -> ::std::os::raw::c_int;
23422}
23423extern "C" {
23424 pub fn finitel(__value: u128) -> ::std::os::raw::c_int;
23425}
23426extern "C" {
23427 pub fn dreml(__x: u128, __y: u128) -> u128;
23428}
23429extern "C" {
23430 pub fn __dreml(__x: u128, __y: u128) -> u128;
23431}
23432extern "C" {
23433 pub fn significandl(__x: u128) -> u128;
23434}
23435extern "C" {
23436 pub fn __significandl(__x: u128) -> u128;
23437}
23438extern "C" {
23439 pub fn copysignl(__x: u128, __y: u128) -> u128;
23440}
23441extern "C" {
23442 pub fn __copysignl(__x: u128, __y: u128) -> u128;
23443}
23444extern "C" {
23445 pub fn nanl(__tagb: *const ::std::os::raw::c_char) -> u128;
23446}
23447extern "C" {
23448 pub fn __nanl(__tagb: *const ::std::os::raw::c_char) -> u128;
23449}
23450extern "C" {
23451 pub fn isnanl(__value: u128) -> ::std::os::raw::c_int;
23452}
23453extern "C" {
23454 pub fn j0l(arg1: u128) -> u128;
23455}
23456extern "C" {
23457 pub fn __j0l(arg1: u128) -> u128;
23458}
23459extern "C" {
23460 pub fn j1l(arg1: u128) -> u128;
23461}
23462extern "C" {
23463 pub fn __j1l(arg1: u128) -> u128;
23464}
23465extern "C" {
23466 pub fn jnl(arg1: ::std::os::raw::c_int, arg2: u128) -> u128;
23467}
23468extern "C" {
23469 pub fn __jnl(arg1: ::std::os::raw::c_int, arg2: u128) -> u128;
23470}
23471extern "C" {
23472 pub fn y0l(arg1: u128) -> u128;
23473}
23474extern "C" {
23475 pub fn __y0l(arg1: u128) -> u128;
23476}
23477extern "C" {
23478 pub fn y1l(arg1: u128) -> u128;
23479}
23480extern "C" {
23481 pub fn __y1l(arg1: u128) -> u128;
23482}
23483extern "C" {
23484 pub fn ynl(arg1: ::std::os::raw::c_int, arg2: u128) -> u128;
23485}
23486extern "C" {
23487 pub fn __ynl(arg1: ::std::os::raw::c_int, arg2: u128) -> u128;
23488}
23489extern "C" {
23490 pub fn erfl(arg1: u128) -> u128;
23491}
23492extern "C" {
23493 pub fn __erfl(arg1: u128) -> u128;
23494}
23495extern "C" {
23496 pub fn erfcl(arg1: u128) -> u128;
23497}
23498extern "C" {
23499 pub fn __erfcl(arg1: u128) -> u128;
23500}
23501extern "C" {
23502 pub fn lgammal(arg1: u128) -> u128;
23503}
23504extern "C" {
23505 pub fn __lgammal(arg1: u128) -> u128;
23506}
23507extern "C" {
23508 pub fn tgammal(arg1: u128) -> u128;
23509}
23510extern "C" {
23511 pub fn __tgammal(arg1: u128) -> u128;
23512}
23513extern "C" {
23514 pub fn gammal(arg1: u128) -> u128;
23515}
23516extern "C" {
23517 pub fn __gammal(arg1: u128) -> u128;
23518}
23519extern "C" {
23520 pub fn lgammal_r(arg1: u128, __signgamp: *mut ::std::os::raw::c_int) -> u128;
23521}
23522extern "C" {
23523 pub fn __lgammal_r(arg1: u128, __signgamp: *mut ::std::os::raw::c_int) -> u128;
23524}
23525extern "C" {
23526 pub fn rintl(__x: u128) -> u128;
23527}
23528extern "C" {
23529 pub fn __rintl(__x: u128) -> u128;
23530}
23531extern "C" {
23532 pub fn nextafterl(__x: u128, __y: u128) -> u128;
23533}
23534extern "C" {
23535 pub fn __nextafterl(__x: u128, __y: u128) -> u128;
23536}
23537extern "C" {
23538 pub fn nexttowardl(__x: u128, __y: u128) -> u128;
23539}
23540extern "C" {
23541 pub fn __nexttowardl(__x: u128, __y: u128) -> u128;
23542}
23543extern "C" {
23544 pub fn remainderl(__x: u128, __y: u128) -> u128;
23545}
23546extern "C" {
23547 pub fn __remainderl(__x: u128, __y: u128) -> u128;
23548}
23549extern "C" {
23550 pub fn scalbnl(__x: u128, __n: ::std::os::raw::c_int) -> u128;
23551}
23552extern "C" {
23553 pub fn __scalbnl(__x: u128, __n: ::std::os::raw::c_int) -> u128;
23554}
23555extern "C" {
23556 pub fn ilogbl(__x: u128) -> ::std::os::raw::c_int;
23557}
23558extern "C" {
23559 pub fn __ilogbl(__x: u128) -> ::std::os::raw::c_int;
23560}
23561extern "C" {
23562 pub fn scalblnl(__x: u128, __n: ::std::os::raw::c_long) -> u128;
23563}
23564extern "C" {
23565 pub fn __scalblnl(__x: u128, __n: ::std::os::raw::c_long) -> u128;
23566}
23567extern "C" {
23568 pub fn nearbyintl(__x: u128) -> u128;
23569}
23570extern "C" {
23571 pub fn __nearbyintl(__x: u128) -> u128;
23572}
23573extern "C" {
23574 pub fn roundl(__x: u128) -> u128;
23575}
23576extern "C" {
23577 pub fn __roundl(__x: u128) -> u128;
23578}
23579extern "C" {
23580 pub fn truncl(__x: u128) -> u128;
23581}
23582extern "C" {
23583 pub fn __truncl(__x: u128) -> u128;
23584}
23585extern "C" {
23586 pub fn remquol(__x: u128, __y: u128, __quo: *mut ::std::os::raw::c_int) -> u128;
23587}
23588extern "C" {
23589 pub fn __remquol(__x: u128, __y: u128, __quo: *mut ::std::os::raw::c_int) -> u128;
23590}
23591extern "C" {
23592 pub fn lrintl(__x: u128) -> ::std::os::raw::c_long;
23593}
23594extern "C" {
23595 pub fn __lrintl(__x: u128) -> ::std::os::raw::c_long;
23596}
23597extern "C" {
23598 pub fn llrintl(__x: u128) -> ::std::os::raw::c_longlong;
23599}
23600extern "C" {
23601 pub fn __llrintl(__x: u128) -> ::std::os::raw::c_longlong;
23602}
23603extern "C" {
23604 pub fn lroundl(__x: u128) -> ::std::os::raw::c_long;
23605}
23606extern "C" {
23607 pub fn __lroundl(__x: u128) -> ::std::os::raw::c_long;
23608}
23609extern "C" {
23610 pub fn llroundl(__x: u128) -> ::std::os::raw::c_longlong;
23611}
23612extern "C" {
23613 pub fn __llroundl(__x: u128) -> ::std::os::raw::c_longlong;
23614}
23615extern "C" {
23616 pub fn fdiml(__x: u128, __y: u128) -> u128;
23617}
23618extern "C" {
23619 pub fn __fdiml(__x: u128, __y: u128) -> u128;
23620}
23621extern "C" {
23622 pub fn fmaxl(__x: u128, __y: u128) -> u128;
23623}
23624extern "C" {
23625 pub fn __fmaxl(__x: u128, __y: u128) -> u128;
23626}
23627extern "C" {
23628 pub fn fminl(__x: u128, __y: u128) -> u128;
23629}
23630extern "C" {
23631 pub fn __fminl(__x: u128, __y: u128) -> u128;
23632}
23633extern "C" {
23634 pub fn fmal(__x: u128, __y: u128, __z: u128) -> u128;
23635}
23636extern "C" {
23637 pub fn __fmal(__x: u128, __y: u128, __z: u128) -> u128;
23638}
23639extern "C" {
23640 pub fn scalbl(__x: u128, __n: u128) -> u128;
23641}
23642extern "C" {
23643 pub fn __scalbl(__x: u128, __n: u128) -> u128;
23644}
23645extern "C" {
23646 pub static mut signgam: ::std::os::raw::c_int;
23647}
23648pub type _bindgen_ty_21 = u32;
23649extern "C" {
23650 pub fn d_randtest(state: *mut flint_rand_s) -> f64;
23651}
23652extern "C" {
23653 pub fn d_randtest_signed(
23654 state: *mut flint_rand_s,
23655 minexp: mp_limb_signed_t,
23656 maxexp: mp_limb_signed_t,
23657 ) -> f64;
23658}
23659extern "C" {
23660 pub fn d_randtest_special(
23661 state: *mut flint_rand_s,
23662 minexp: mp_limb_signed_t,
23663 maxexp: mp_limb_signed_t,
23664 ) -> f64;
23665}
23666extern "C" {
23667 pub fn d_lambertw(x: f64) -> f64;
23668}
23669extern "C" {
23670 pub fn d_is_nan(x: f64) -> ::std::os::raw::c_int;
23671}
23672extern "C" {
23673 pub fn d_log2(x: f64) -> f64;
23674}
23675extern "C" {
23676 pub fn _d_vec_init(len: mp_limb_signed_t) -> *mut f64;
23677}
23678extern "C" {
23679 pub fn _d_vec_clear(vec: *mut f64);
23680}
23681extern "C" {
23682 pub fn _d_vec_randtest(
23683 f: *mut f64,
23684 state: *mut flint_rand_s,
23685 len: mp_limb_signed_t,
23686 minexp: mp_limb_signed_t,
23687 maxexp: mp_limb_signed_t,
23688 );
23689}
23690extern "C" {
23691 pub fn _d_vec_set(vec1: *mut f64, vec2: *const f64, len2: mp_limb_signed_t);
23692}
23693extern "C" {
23694 pub fn _d_vec_zero(vec: *mut f64, len: mp_limb_signed_t);
23695}
23696extern "C" {
23697 pub fn _d_vec_equal(
23698 vec1: *const f64,
23699 vec2: *const f64,
23700 len: mp_limb_signed_t,
23701 ) -> ::std::os::raw::c_int;
23702}
23703extern "C" {
23704 pub fn _d_vec_approx_equal(
23705 vec1: *const f64,
23706 vec2: *const f64,
23707 len: mp_limb_signed_t,
23708 eps: f64,
23709 ) -> ::std::os::raw::c_int;
23710}
23711extern "C" {
23712 pub fn _d_vec_is_zero(vec: *const f64, len: mp_limb_signed_t) -> ::std::os::raw::c_int;
23713}
23714extern "C" {
23715 pub fn _d_vec_is_approx_zero(
23716 vec: *const f64,
23717 len: mp_limb_signed_t,
23718 eps: f64,
23719 ) -> ::std::os::raw::c_int;
23720}
23721extern "C" {
23722 pub fn _d_vec_add(res: *mut f64, vec1: *const f64, vec2: *const f64, len2: mp_limb_signed_t);
23723}
23724extern "C" {
23725 pub fn _d_vec_sub(res: *mut f64, vec1: *const f64, vec2: *const f64, len2: mp_limb_signed_t);
23726}
23727extern "C" {
23728 pub fn _d_vec_dot(vec1: *const f64, vec2: *const f64, len2: mp_limb_signed_t) -> f64;
23729}
23730extern "C" {
23731 pub fn _d_vec_norm(vec: *const f64, len: mp_limb_signed_t) -> f64;
23732}
23733extern "C" {
23734 pub fn _d_vec_dot_heuristic(
23735 vec1: *const f64,
23736 vec2: *const f64,
23737 len2: mp_limb_signed_t,
23738 err: *mut f64,
23739 ) -> f64;
23740}
23741extern "C" {
23742 pub fn _d_vec_dot_thrice(
23743 vec1: *const f64,
23744 vec2: *const f64,
23745 len2: mp_limb_signed_t,
23746 err: *mut f64,
23747 ) -> f64;
23748}
23749#[repr(C)]
23750#[derive(Debug, Copy, Clone)]
23751pub struct d_mat_struct {
23752 pub entries: *mut f64,
23753 pub r: mp_limb_signed_t,
23754 pub c: mp_limb_signed_t,
23755 pub rows: *mut *mut f64,
23756}
23757#[test]
23758fn bindgen_test_layout_d_mat_struct() {
23759 assert_eq!(
23760 ::std::mem::size_of::<d_mat_struct>(),
23761 32usize,
23762 concat!("Size of: ", stringify!(d_mat_struct))
23763 );
23764 assert_eq!(
23765 ::std::mem::align_of::<d_mat_struct>(),
23766 8usize,
23767 concat!("Alignment of ", stringify!(d_mat_struct))
23768 );
23769 assert_eq!(
23770 unsafe { &(*(::std::ptr::null::<d_mat_struct>())).entries as *const _ as usize },
23771 0usize,
23772 concat!(
23773 "Offset of field: ",
23774 stringify!(d_mat_struct),
23775 "::",
23776 stringify!(entries)
23777 )
23778 );
23779 assert_eq!(
23780 unsafe { &(*(::std::ptr::null::<d_mat_struct>())).r as *const _ as usize },
23781 8usize,
23782 concat!(
23783 "Offset of field: ",
23784 stringify!(d_mat_struct),
23785 "::",
23786 stringify!(r)
23787 )
23788 );
23789 assert_eq!(
23790 unsafe { &(*(::std::ptr::null::<d_mat_struct>())).c as *const _ as usize },
23791 16usize,
23792 concat!(
23793 "Offset of field: ",
23794 stringify!(d_mat_struct),
23795 "::",
23796 stringify!(c)
23797 )
23798 );
23799 assert_eq!(
23800 unsafe { &(*(::std::ptr::null::<d_mat_struct>())).rows as *const _ as usize },
23801 24usize,
23802 concat!(
23803 "Offset of field: ",
23804 stringify!(d_mat_struct),
23805 "::",
23806 stringify!(rows)
23807 )
23808 );
23809}
23810pub type d_mat_t = [d_mat_struct; 1usize];
23811extern "C" {
23812 pub fn d_mat_init(mat: *mut d_mat_struct, rows: mp_limb_signed_t, cols: mp_limb_signed_t);
23813}
23814extern "C" {
23815 pub fn d_mat_swap(mat1: *mut d_mat_struct, mat2: *mut d_mat_struct);
23816}
23817extern "C" {
23818 pub fn d_mat_set(mat1: *mut d_mat_struct, mat2: *mut d_mat_struct);
23819}
23820extern "C" {
23821 pub fn d_mat_clear(mat: *mut d_mat_struct);
23822}
23823extern "C" {
23824 pub fn d_mat_equal(mat1: *mut d_mat_struct, mat2: *mut d_mat_struct) -> ::std::os::raw::c_int;
23825}
23826extern "C" {
23827 pub fn d_mat_approx_equal(
23828 mat1: *mut d_mat_struct,
23829 mat2: *mut d_mat_struct,
23830 eps: f64,
23831 ) -> ::std::os::raw::c_int;
23832}
23833extern "C" {
23834 pub fn d_mat_is_zero(mat: *mut d_mat_struct) -> ::std::os::raw::c_int;
23835}
23836extern "C" {
23837 pub fn d_mat_is_approx_zero(mat: *mut d_mat_struct, eps: f64) -> ::std::os::raw::c_int;
23838}
23839extern "C" {
23840 pub fn d_mat_zero(mat: *mut d_mat_struct);
23841}
23842extern "C" {
23843 pub fn d_mat_one(mat: *mut d_mat_struct);
23844}
23845extern "C" {
23846 pub fn d_mat_print(mat: *mut d_mat_struct);
23847}
23848extern "C" {
23849 pub fn d_mat_randtest(
23850 mat: *mut d_mat_struct,
23851 state: *mut flint_rand_s,
23852 minexp: mp_limb_signed_t,
23853 maxexp: mp_limb_signed_t,
23854 );
23855}
23856extern "C" {
23857 pub fn d_mat_transpose(B: *mut d_mat_struct, A: *mut d_mat_struct);
23858}
23859extern "C" {
23860 pub fn d_mat_mul_classical(C: *mut d_mat_struct, A: *mut d_mat_struct, B: *mut d_mat_struct);
23861}
23862extern "C" {
23863 pub fn d_mat_gso(B: *mut d_mat_struct, A: *mut d_mat_struct);
23864}
23865extern "C" {
23866 pub fn d_mat_qr(Q: *mut d_mat_struct, R: *mut d_mat_struct, A: *mut d_mat_struct);
23867}
23868#[repr(C)]
23869#[derive(Debug, Copy, Clone)]
23870pub struct mpf_mat_struct {
23871 pub entries: *mut mpf,
23872 pub r: mp_limb_signed_t,
23873 pub c: mp_limb_signed_t,
23874 pub prec: mp_limb_t,
23875 pub rows: *mut *mut mpf,
23876}
23877#[test]
23878fn bindgen_test_layout_mpf_mat_struct() {
23879 assert_eq!(
23880 ::std::mem::size_of::<mpf_mat_struct>(),
23881 40usize,
23882 concat!("Size of: ", stringify!(mpf_mat_struct))
23883 );
23884 assert_eq!(
23885 ::std::mem::align_of::<mpf_mat_struct>(),
23886 8usize,
23887 concat!("Alignment of ", stringify!(mpf_mat_struct))
23888 );
23889 assert_eq!(
23890 unsafe { &(*(::std::ptr::null::<mpf_mat_struct>())).entries as *const _ as usize },
23891 0usize,
23892 concat!(
23893 "Offset of field: ",
23894 stringify!(mpf_mat_struct),
23895 "::",
23896 stringify!(entries)
23897 )
23898 );
23899 assert_eq!(
23900 unsafe { &(*(::std::ptr::null::<mpf_mat_struct>())).r as *const _ as usize },
23901 8usize,
23902 concat!(
23903 "Offset of field: ",
23904 stringify!(mpf_mat_struct),
23905 "::",
23906 stringify!(r)
23907 )
23908 );
23909 assert_eq!(
23910 unsafe { &(*(::std::ptr::null::<mpf_mat_struct>())).c as *const _ as usize },
23911 16usize,
23912 concat!(
23913 "Offset of field: ",
23914 stringify!(mpf_mat_struct),
23915 "::",
23916 stringify!(c)
23917 )
23918 );
23919 assert_eq!(
23920 unsafe { &(*(::std::ptr::null::<mpf_mat_struct>())).prec as *const _ as usize },
23921 24usize,
23922 concat!(
23923 "Offset of field: ",
23924 stringify!(mpf_mat_struct),
23925 "::",
23926 stringify!(prec)
23927 )
23928 );
23929 assert_eq!(
23930 unsafe { &(*(::std::ptr::null::<mpf_mat_struct>())).rows as *const _ as usize },
23931 32usize,
23932 concat!(
23933 "Offset of field: ",
23934 stringify!(mpf_mat_struct),
23935 "::",
23936 stringify!(rows)
23937 )
23938 );
23939}
23940pub type mpf_mat_t = [mpf_mat_struct; 1usize];
23941extern "C" {
23942 pub fn mpf_mat_init(
23943 mat: *mut mpf_mat_struct,
23944 rows: mp_limb_signed_t,
23945 cols: mp_limb_signed_t,
23946 prec: mp_limb_t,
23947 );
23948}
23949extern "C" {
23950 pub fn mpf_mat_swap(mat1: *mut mpf_mat_struct, mat2: *mut mpf_mat_struct);
23951}
23952extern "C" {
23953 pub fn mpf_mat_set(mat1: *mut mpf_mat_struct, mat2: *mut mpf_mat_struct);
23954}
23955extern "C" {
23956 pub fn mpf_mat_clear(mat: *mut mpf_mat_struct);
23957}
23958extern "C" {
23959 pub fn mpf_mat_equal(
23960 mat1: *mut mpf_mat_struct,
23961 mat2: *mut mpf_mat_struct,
23962 ) -> ::std::os::raw::c_int;
23963}
23964extern "C" {
23965 pub fn mpf_mat_approx_equal(
23966 mat1: *mut mpf_mat_struct,
23967 mat2: *mut mpf_mat_struct,
23968 bits: mp_limb_t,
23969 ) -> ::std::os::raw::c_int;
23970}
23971extern "C" {
23972 pub fn mpf_mat_is_zero(mat: *mut mpf_mat_struct) -> ::std::os::raw::c_int;
23973}
23974extern "C" {
23975 pub fn mpf_mat_zero(mat: *mut mpf_mat_struct);
23976}
23977extern "C" {
23978 pub fn mpf_mat_one(mat: *mut mpf_mat_struct);
23979}
23980extern "C" {
23981 pub fn mpf_mat_print(mat: *mut mpf_mat_struct);
23982}
23983extern "C" {
23984 pub fn mpf_mat_randtest(mat: *mut mpf_mat_struct, state: *mut flint_rand_s, bits: mp_limb_t);
23985}
23986extern "C" {
23987 pub fn mpf_mat_mul(C: *mut mpf_mat_struct, A: *mut mpf_mat_struct, B: *mut mpf_mat_struct);
23988}
23989extern "C" {
23990 pub fn mpf_mat_gso(B: *mut mpf_mat_struct, A: *mut mpf_mat_struct);
23991}
23992extern "C" {
23993 pub fn mpf_mat_qr(Q: *mut mpf_mat_struct, R: *mut mpf_mat_struct, A: *mut mpf_mat_struct);
23994}
23995#[repr(C)]
23996#[derive(Debug, Copy, Clone)]
23997pub struct fmpz_mat_struct {
23998 pub entries: *mut fmpz,
23999 pub r: mp_limb_signed_t,
24000 pub c: mp_limb_signed_t,
24001 pub rows: *mut *mut fmpz,
24002}
24003#[test]
24004fn bindgen_test_layout_fmpz_mat_struct() {
24005 assert_eq!(
24006 ::std::mem::size_of::<fmpz_mat_struct>(),
24007 32usize,
24008 concat!("Size of: ", stringify!(fmpz_mat_struct))
24009 );
24010 assert_eq!(
24011 ::std::mem::align_of::<fmpz_mat_struct>(),
24012 8usize,
24013 concat!("Alignment of ", stringify!(fmpz_mat_struct))
24014 );
24015 assert_eq!(
24016 unsafe { &(*(::std::ptr::null::<fmpz_mat_struct>())).entries as *const _ as usize },
24017 0usize,
24018 concat!(
24019 "Offset of field: ",
24020 stringify!(fmpz_mat_struct),
24021 "::",
24022 stringify!(entries)
24023 )
24024 );
24025 assert_eq!(
24026 unsafe { &(*(::std::ptr::null::<fmpz_mat_struct>())).r as *const _ as usize },
24027 8usize,
24028 concat!(
24029 "Offset of field: ",
24030 stringify!(fmpz_mat_struct),
24031 "::",
24032 stringify!(r)
24033 )
24034 );
24035 assert_eq!(
24036 unsafe { &(*(::std::ptr::null::<fmpz_mat_struct>())).c as *const _ as usize },
24037 16usize,
24038 concat!(
24039 "Offset of field: ",
24040 stringify!(fmpz_mat_struct),
24041 "::",
24042 stringify!(c)
24043 )
24044 );
24045 assert_eq!(
24046 unsafe { &(*(::std::ptr::null::<fmpz_mat_struct>())).rows as *const _ as usize },
24047 24usize,
24048 concat!(
24049 "Offset of field: ",
24050 stringify!(fmpz_mat_struct),
24051 "::",
24052 stringify!(rows)
24053 )
24054 );
24055}
24056pub type fmpz_mat_t = [fmpz_mat_struct; 1usize];
24057#[repr(C)]
24058#[derive(Debug, Copy, Clone)]
24059pub struct col_hash_t {
24060 pub col: mp_limb_t,
24061 pub hash: mp_limb_t,
24062}
24063#[test]
24064fn bindgen_test_layout_col_hash_t() {
24065 assert_eq!(
24066 ::std::mem::size_of::<col_hash_t>(),
24067 16usize,
24068 concat!("Size of: ", stringify!(col_hash_t))
24069 );
24070 assert_eq!(
24071 ::std::mem::align_of::<col_hash_t>(),
24072 8usize,
24073 concat!("Alignment of ", stringify!(col_hash_t))
24074 );
24075 assert_eq!(
24076 unsafe { &(*(::std::ptr::null::<col_hash_t>())).col as *const _ as usize },
24077 0usize,
24078 concat!(
24079 "Offset of field: ",
24080 stringify!(col_hash_t),
24081 "::",
24082 stringify!(col)
24083 )
24084 );
24085 assert_eq!(
24086 unsafe { &(*(::std::ptr::null::<col_hash_t>())).hash as *const _ as usize },
24087 8usize,
24088 concat!(
24089 "Offset of field: ",
24090 stringify!(col_hash_t),
24091 "::",
24092 stringify!(hash)
24093 )
24094 );
24095}
24096extern "C" {
24097 pub fn fmpz_mat_init(mat: *mut fmpz_mat_struct, rows: mp_limb_signed_t, cols: mp_limb_signed_t);
24098}
24099extern "C" {
24100 pub fn fmpz_mat_init_set(mat: *mut fmpz_mat_struct, src: *mut fmpz_mat_struct);
24101}
24102extern "C" {
24103 pub fn fmpz_mat_swap(mat1: *mut fmpz_mat_struct, mat2: *mut fmpz_mat_struct);
24104}
24105extern "C" {
24106 pub fn fmpz_mat_set(mat1: *mut fmpz_mat_struct, mat2: *mut fmpz_mat_struct);
24107}
24108extern "C" {
24109 pub fn fmpz_mat_clear(mat: *mut fmpz_mat_struct);
24110}
24111extern "C" {
24112 pub fn fmpz_mat_equal(
24113 mat1: *mut fmpz_mat_struct,
24114 mat2: *mut fmpz_mat_struct,
24115 ) -> ::std::os::raw::c_int;
24116}
24117extern "C" {
24118 pub fn fmpz_mat_is_zero(mat: *mut fmpz_mat_struct) -> ::std::os::raw::c_int;
24119}
24120extern "C" {
24121 pub fn fmpz_mat_is_one(mat: *mut fmpz_mat_struct) -> ::std::os::raw::c_int;
24122}
24123extern "C" {
24124 pub fn fmpz_mat_zero(mat: *mut fmpz_mat_struct);
24125}
24126extern "C" {
24127 pub fn fmpz_mat_one(mat: *mut fmpz_mat_struct);
24128}
24129extern "C" {
24130 pub fn fmpz_mat_window_init(
24131 window: *mut fmpz_mat_struct,
24132 mat: *mut fmpz_mat_struct,
24133 r1: mp_limb_signed_t,
24134 c1: mp_limb_signed_t,
24135 r2: mp_limb_signed_t,
24136 c2: mp_limb_signed_t,
24137 );
24138}
24139extern "C" {
24140 pub fn fmpz_mat_window_clear(window: *mut fmpz_mat_struct);
24141}
24142extern "C" {
24143 pub fn fmpz_mat_concat_horizontal(
24144 res: *mut fmpz_mat_struct,
24145 mat1: *mut fmpz_mat_struct,
24146 mat2: *mut fmpz_mat_struct,
24147 );
24148}
24149extern "C" {
24150 pub fn fmpz_mat_concat_vertical(
24151 res: *mut fmpz_mat_struct,
24152 mat1: *mut fmpz_mat_struct,
24153 mat2: *mut fmpz_mat_struct,
24154 );
24155}
24156extern "C" {
24157 pub fn fmpz_mat_fprint(file: *mut FILE, mat: *mut fmpz_mat_struct) -> ::std::os::raw::c_int;
24158}
24159extern "C" {
24160 pub fn fmpz_mat_fprint_pretty(
24161 file: *mut FILE,
24162 mat: *mut fmpz_mat_struct,
24163 ) -> ::std::os::raw::c_int;
24164}
24165extern "C" {
24166 pub fn fmpz_mat_fread(file: *mut FILE, mat: *mut fmpz_mat_struct) -> ::std::os::raw::c_int;
24167}
24168extern "C" {
24169 pub fn fmpz_mat_randbits(mat: *mut fmpz_mat_struct, state: *mut flint_rand_s, bits: mp_limb_t);
24170}
24171extern "C" {
24172 pub fn fmpz_mat_randtest(mat: *mut fmpz_mat_struct, state: *mut flint_rand_s, bits: mp_limb_t);
24173}
24174extern "C" {
24175 pub fn fmpz_mat_randtest_unsigned(
24176 mat: *mut fmpz_mat_struct,
24177 state: *mut flint_rand_s,
24178 bits: mp_limb_t,
24179 );
24180}
24181extern "C" {
24182 pub fn fmpz_mat_randintrel(
24183 mat: *mut fmpz_mat_struct,
24184 state: *mut flint_rand_s,
24185 bits: mp_limb_t,
24186 );
24187}
24188extern "C" {
24189 pub fn fmpz_mat_randsimdioph(
24190 mat: *mut fmpz_mat_struct,
24191 state: *mut flint_rand_s,
24192 bits: mp_limb_t,
24193 bits2: mp_limb_t,
24194 );
24195}
24196extern "C" {
24197 pub fn fmpz_mat_randntrulike(
24198 mat: *mut fmpz_mat_struct,
24199 state: *mut flint_rand_s,
24200 bits: mp_limb_t,
24201 q: mp_limb_t,
24202 );
24203}
24204extern "C" {
24205 pub fn fmpz_mat_randntrulike2(
24206 mat: *mut fmpz_mat_struct,
24207 state: *mut flint_rand_s,
24208 bits: mp_limb_t,
24209 q: mp_limb_t,
24210 );
24211}
24212extern "C" {
24213 pub fn fmpz_mat_randajtai(mat: *mut fmpz_mat_struct, state: *mut flint_rand_s, alpha: f64);
24214}
24215extern "C" {
24216 pub fn fmpz_mat_randrank(
24217 mat: *mut fmpz_mat_struct,
24218 state: *mut flint_rand_s,
24219 rank: mp_limb_signed_t,
24220 bits: mp_limb_t,
24221 );
24222}
24223extern "C" {
24224 pub fn fmpz_mat_randdet(mat: *mut fmpz_mat_struct, state: *mut flint_rand_s, det: *mut fmpz);
24225}
24226extern "C" {
24227 pub fn fmpz_mat_randops(
24228 mat: *mut fmpz_mat_struct,
24229 state: *mut flint_rand_s,
24230 count: mp_limb_signed_t,
24231 );
24232}
24233extern "C" {
24234 pub fn fmpz_mat_randpermdiag(
24235 mat: *mut fmpz_mat_struct,
24236 state: *mut flint_rand_s,
24237 diag: *const fmpz,
24238 n: mp_limb_signed_t,
24239 ) -> ::std::os::raw::c_int;
24240}
24241extern "C" {
24242 pub fn fmpz_mat_max_bits(mat: *mut fmpz_mat_struct) -> mp_limb_signed_t;
24243}
24244extern "C" {
24245 pub fn fmpz_mat_transpose(B: *mut fmpz_mat_struct, A: *mut fmpz_mat_struct);
24246}
24247extern "C" {
24248 pub fn fmpz_mat_add(C: *mut fmpz_mat_struct, A: *mut fmpz_mat_struct, B: *mut fmpz_mat_struct);
24249}
24250extern "C" {
24251 pub fn fmpz_mat_sub(C: *mut fmpz_mat_struct, A: *mut fmpz_mat_struct, B: *mut fmpz_mat_struct);
24252}
24253extern "C" {
24254 pub fn fmpz_mat_neg(B: *mut fmpz_mat_struct, A: *mut fmpz_mat_struct);
24255}
24256extern "C" {
24257 pub fn fmpz_mat_scalar_mul_fmpz(B: *mut fmpz_mat_struct, A: *mut fmpz_mat_struct, c: *mut fmpz);
24258}
24259extern "C" {
24260 pub fn fmpz_mat_scalar_mul_si(
24261 B: *mut fmpz_mat_struct,
24262 A: *mut fmpz_mat_struct,
24263 c: mp_limb_signed_t,
24264 );
24265}
24266extern "C" {
24267 pub fn fmpz_mat_scalar_mul_ui(B: *mut fmpz_mat_struct, A: *mut fmpz_mat_struct, c: mp_limb_t);
24268}
24269extern "C" {
24270 pub fn fmpz_mat_scalar_addmul_fmpz(
24271 B: *mut fmpz_mat_struct,
24272 A: *mut fmpz_mat_struct,
24273 c: *mut fmpz,
24274 );
24275}
24276extern "C" {
24277 pub fn fmpz_mat_scalar_addmul_si(
24278 B: *mut fmpz_mat_struct,
24279 A: *mut fmpz_mat_struct,
24280 c: mp_limb_signed_t,
24281 );
24282}
24283extern "C" {
24284 pub fn fmpz_mat_scalar_addmul_ui(
24285 B: *mut fmpz_mat_struct,
24286 A: *mut fmpz_mat_struct,
24287 c: mp_limb_t,
24288 );
24289}
24290extern "C" {
24291 pub fn fmpz_mat_scalar_submul_fmpz(
24292 B: *mut fmpz_mat_struct,
24293 A: *mut fmpz_mat_struct,
24294 c: *mut fmpz,
24295 );
24296}
24297extern "C" {
24298 pub fn fmpz_mat_scalar_submul_si(
24299 B: *mut fmpz_mat_struct,
24300 A: *mut fmpz_mat_struct,
24301 c: mp_limb_signed_t,
24302 );
24303}
24304extern "C" {
24305 pub fn fmpz_mat_scalar_submul_ui(
24306 B: *mut fmpz_mat_struct,
24307 A: *mut fmpz_mat_struct,
24308 c: mp_limb_t,
24309 );
24310}
24311extern "C" {
24312 pub fn fmpz_mat_scalar_addmul_nmod_mat_fmpz(
24313 B: *mut fmpz_mat_struct,
24314 A: *mut nmod_mat_struct,
24315 c: *mut fmpz,
24316 );
24317}
24318extern "C" {
24319 pub fn fmpz_mat_scalar_addmul_nmod_mat_ui(
24320 B: *mut fmpz_mat_struct,
24321 A: *mut nmod_mat_struct,
24322 c: mp_limb_t,
24323 );
24324}
24325extern "C" {
24326 pub fn fmpz_mat_scalar_divexact_fmpz(
24327 B: *mut fmpz_mat_struct,
24328 A: *mut fmpz_mat_struct,
24329 c: *mut fmpz,
24330 );
24331}
24332extern "C" {
24333 pub fn fmpz_mat_scalar_divexact_si(
24334 B: *mut fmpz_mat_struct,
24335 A: *mut fmpz_mat_struct,
24336 c: mp_limb_signed_t,
24337 );
24338}
24339extern "C" {
24340 pub fn fmpz_mat_scalar_divexact_ui(
24341 B: *mut fmpz_mat_struct,
24342 A: *mut fmpz_mat_struct,
24343 c: mp_limb_t,
24344 );
24345}
24346extern "C" {
24347 pub fn fmpz_mat_scalar_mul_2exp(
24348 B: *mut fmpz_mat_struct,
24349 A: *mut fmpz_mat_struct,
24350 exp: mp_limb_t,
24351 );
24352}
24353extern "C" {
24354 pub fn fmpz_mat_scalar_tdiv_q_2exp(
24355 B: *mut fmpz_mat_struct,
24356 A: *mut fmpz_mat_struct,
24357 exp: mp_limb_t,
24358 );
24359}
24360extern "C" {
24361 pub fn fmpz_mat_scalar_smod(B: *mut fmpz_mat_struct, A: *mut fmpz_mat_struct, P: *mut fmpz);
24362}
24363extern "C" {
24364 pub fn fmpz_mat_scalar_mod_fmpz(B: *mut fmpz_mat_struct, A: *mut fmpz_mat_struct, m: *mut fmpz);
24365}
24366extern "C" {
24367 pub fn fmpz_mat_mul(C: *mut fmpz_mat_struct, A: *mut fmpz_mat_struct, B: *mut fmpz_mat_struct);
24368}
24369extern "C" {
24370 pub fn fmpz_mat_mul_classical(
24371 C: *mut fmpz_mat_struct,
24372 A: *mut fmpz_mat_struct,
24373 B: *mut fmpz_mat_struct,
24374 );
24375}
24376extern "C" {
24377 pub fn fmpz_mat_mul_strassen(
24378 C: *mut fmpz_mat_struct,
24379 A: *mut fmpz_mat_struct,
24380 B: *mut fmpz_mat_struct,
24381 );
24382}
24383extern "C" {
24384 pub fn fmpz_mat_mul_classical_inline(
24385 C: *mut fmpz_mat_struct,
24386 A: *mut fmpz_mat_struct,
24387 B: *mut fmpz_mat_struct,
24388 );
24389}
24390extern "C" {
24391 pub fn _fmpz_mat_mul_multi_mod(
24392 C: *mut fmpz_mat_struct,
24393 A: *mut fmpz_mat_struct,
24394 B: *mut fmpz_mat_struct,
24395 bits: mp_limb_t,
24396 );
24397}
24398extern "C" {
24399 pub fn fmpz_mat_mul_multi_mod(
24400 C: *mut fmpz_mat_struct,
24401 A: *mut fmpz_mat_struct,
24402 B: *mut fmpz_mat_struct,
24403 );
24404}
24405extern "C" {
24406 pub fn fmpz_mat_sqr_bodrato(B: *mut fmpz_mat_struct, A: *mut fmpz_mat_struct);
24407}
24408extern "C" {
24409 pub fn fmpz_mat_sqr(B: *mut fmpz_mat_struct, A: *mut fmpz_mat_struct);
24410}
24411extern "C" {
24412 pub fn fmpz_mat_pow(B: *mut fmpz_mat_struct, A: *mut fmpz_mat_struct, exp: mp_limb_t);
24413}
24414extern "C" {
24415 pub fn fmpz_mat_kronecker_product(
24416 C: *mut fmpz_mat_struct,
24417 A: *mut fmpz_mat_struct,
24418 B: *mut fmpz_mat_struct,
24419 );
24420}
24421extern "C" {
24422 pub fn fmpz_mat_content(ret: *mut fmpz, A: *mut fmpz_mat_struct);
24423}
24424extern "C" {
24425 pub fn fmpz_mat_find_pivot_any(
24426 mat: *mut fmpz_mat_struct,
24427 start_row: mp_limb_signed_t,
24428 end_row: mp_limb_signed_t,
24429 c: mp_limb_signed_t,
24430 ) -> mp_limb_signed_t;
24431}
24432extern "C" {
24433 pub fn fmpz_mat_find_pivot_smallest(
24434 mat: *mut fmpz_mat_struct,
24435 start_row: mp_limb_signed_t,
24436 end_row: mp_limb_signed_t,
24437 c: mp_limb_signed_t,
24438 ) -> mp_limb_signed_t;
24439}
24440extern "C" {
24441 pub fn fmpz_mat_fflu(
24442 B: *mut fmpz_mat_struct,
24443 den: *mut fmpz,
24444 perm: *mut mp_limb_signed_t,
24445 A: *mut fmpz_mat_struct,
24446 rank_check: ::std::os::raw::c_int,
24447 ) -> mp_limb_signed_t;
24448}
24449extern "C" {
24450 pub fn fmpz_mat_rank_small_inplace(B: *mut fmpz_mat_struct) -> mp_limb_signed_t;
24451}
24452extern "C" {
24453 pub fn fmpz_mat_rref(
24454 B: *mut fmpz_mat_struct,
24455 den: *mut fmpz,
24456 A: *mut fmpz_mat_struct,
24457 ) -> mp_limb_signed_t;
24458}
24459extern "C" {
24460 pub fn fmpz_mat_rref_fflu(
24461 B: *mut fmpz_mat_struct,
24462 den: *mut fmpz,
24463 A: *mut fmpz_mat_struct,
24464 ) -> mp_limb_signed_t;
24465}
24466extern "C" {
24467 pub fn fmpz_mat_rref_mul(
24468 B: *mut fmpz_mat_struct,
24469 den: *mut fmpz,
24470 A: *mut fmpz_mat_struct,
24471 ) -> mp_limb_signed_t;
24472}
24473extern "C" {
24474 pub fn fmpz_mat_is_in_rref_with_rank(
24475 A: *mut fmpz_mat_struct,
24476 den: *mut fmpz,
24477 rank: mp_limb_signed_t,
24478 ) -> ::std::os::raw::c_int;
24479}
24480extern "C" {
24481 pub fn fmpz_mat_rref_mod(
24482 perm: *mut mp_limb_signed_t,
24483 A: *mut fmpz_mat_struct,
24484 p: *mut fmpz,
24485 ) -> mp_limb_signed_t;
24486}
24487extern "C" {
24488 pub fn fmpz_mat_howell_form_mod(A: *mut fmpz_mat_struct, mod_: *mut fmpz) -> mp_limb_signed_t;
24489}
24490extern "C" {
24491 pub fn fmpz_mat_strong_echelon_form_mod(A: *mut fmpz_mat_struct, mod_: *mut fmpz);
24492}
24493extern "C" {
24494 pub fn fmpz_mat_trace(trace: *mut fmpz, mat: *mut fmpz_mat_struct);
24495}
24496extern "C" {
24497 pub fn fmpz_mat_det(det: *mut fmpz, A: *mut fmpz_mat_struct);
24498}
24499extern "C" {
24500 pub fn fmpz_mat_det_cofactor(det: *mut fmpz, A: *mut fmpz_mat_struct);
24501}
24502extern "C" {
24503 pub fn fmpz_mat_det_bareiss(det: *mut fmpz, A: *mut fmpz_mat_struct);
24504}
24505extern "C" {
24506 pub fn fmpz_mat_det_modular(
24507 det: *mut fmpz,
24508 A: *mut fmpz_mat_struct,
24509 proved: ::std::os::raw::c_int,
24510 );
24511}
24512extern "C" {
24513 pub fn fmpz_mat_det_modular_accelerated(
24514 det: *mut fmpz,
24515 A: *mut fmpz_mat_struct,
24516 proved: ::std::os::raw::c_int,
24517 );
24518}
24519extern "C" {
24520 pub fn fmpz_mat_det_modular_given_divisor(
24521 det: *mut fmpz,
24522 A: *mut fmpz_mat_struct,
24523 d: *mut fmpz,
24524 proved: ::std::os::raw::c_int,
24525 );
24526}
24527extern "C" {
24528 pub fn fmpz_mat_det_bound(bound: *mut fmpz, A: *mut fmpz_mat_struct);
24529}
24530extern "C" {
24531 pub fn fmpz_mat_det_divisor(d: *mut fmpz, A: *mut fmpz_mat_struct);
24532}
24533extern "C" {
24534 pub fn fmpz_mat_similarity(A: *mut fmpz_mat_struct, r: mp_limb_signed_t, d: *mut fmpz);
24535}
24536extern "C" {
24537 pub fn _fmpz_mat_charpoly_berkowitz(rop: *mut fmpz, op: *mut fmpz_mat_struct);
24538}
24539extern "C" {
24540 pub fn fmpz_mat_charpoly_berkowitz(cp: *mut fmpz_poly_struct, mat: *mut fmpz_mat_struct);
24541}
24542extern "C" {
24543 pub fn _fmpz_mat_charpoly_modular(rop: *mut fmpz, op: *mut fmpz_mat_struct);
24544}
24545extern "C" {
24546 pub fn fmpz_mat_charpoly_modular(cp: *mut fmpz_poly_struct, mat: *mut fmpz_mat_struct);
24547}
24548extern "C" {
24549 pub fn _fmpz_mat_minpoly_modular(rop: *mut fmpz, op: *mut fmpz_mat_struct) -> mp_limb_signed_t;
24550}
24551extern "C" {
24552 pub fn fmpz_mat_minpoly_modular(cp: *mut fmpz_poly_struct, mat: *mut fmpz_mat_struct);
24553}
24554extern "C" {
24555 pub fn fmpz_mat_rank(A: *mut fmpz_mat_struct) -> mp_limb_signed_t;
24556}
24557extern "C" {
24558 pub fn fmpz_mat_solve_bound(
24559 N: *mut fmpz,
24560 D: *mut fmpz,
24561 A: *mut fmpz_mat_struct,
24562 B: *mut fmpz_mat_struct,
24563 );
24564}
24565extern "C" {
24566 pub fn fmpz_mat_solve(
24567 X: *mut fmpz_mat_struct,
24568 den: *mut fmpz,
24569 A: *mut fmpz_mat_struct,
24570 B: *mut fmpz_mat_struct,
24571 ) -> ::std::os::raw::c_int;
24572}
24573extern "C" {
24574 pub fn fmpz_mat_solve_cramer(
24575 X: *mut fmpz_mat_struct,
24576 den: *mut fmpz,
24577 A: *mut fmpz_mat_struct,
24578 B: *mut fmpz_mat_struct,
24579 ) -> ::std::os::raw::c_int;
24580}
24581extern "C" {
24582 pub fn fmpz_mat_solve_fflu(
24583 X: *mut fmpz_mat_struct,
24584 den: *mut fmpz,
24585 A: *mut fmpz_mat_struct,
24586 B: *mut fmpz_mat_struct,
24587 ) -> ::std::os::raw::c_int;
24588}
24589extern "C" {
24590 pub fn fmpz_mat_solve_fflu_precomp(
24591 X: *mut fmpz_mat_struct,
24592 perm: *const mp_limb_signed_t,
24593 FFLU: *mut fmpz_mat_struct,
24594 B: *mut fmpz_mat_struct,
24595 );
24596}
24597extern "C" {
24598 pub fn fmpz_mat_find_good_prime_and_invert(
24599 Ainv: *mut nmod_mat_struct,
24600 A: *mut fmpz_mat_struct,
24601 det_bound: *mut fmpz,
24602 ) -> mp_limb_t;
24603}
24604extern "C" {
24605 pub fn fmpz_mat_dixon_get_crt_primes(
24606 num_primes: *mut mp_limb_signed_t,
24607 A: *mut fmpz_mat_struct,
24608 p: mp_limb_t,
24609 ) -> *mut mp_limb_t;
24610}
24611extern "C" {
24612 pub fn _fmpz_mat_solve_dixon(
24613 X: *mut fmpz_mat_struct,
24614 mod_: *mut fmpz,
24615 A: *mut fmpz_mat_struct,
24616 B: *mut fmpz_mat_struct,
24617 Ainv: *mut nmod_mat_struct,
24618 p: mp_limb_t,
24619 N: *mut fmpz,
24620 D: *mut fmpz,
24621 );
24622}
24623extern "C" {
24624 pub fn fmpz_mat_solve_dixon(
24625 X: *mut fmpz_mat_struct,
24626 mod_: *mut fmpz,
24627 A: *mut fmpz_mat_struct,
24628 B: *mut fmpz_mat_struct,
24629 ) -> ::std::os::raw::c_int;
24630}
24631extern "C" {
24632 pub fn _fmpz_mat_solve_dixon_den(
24633 X: *mut fmpz_mat_struct,
24634 den: *mut fmpz,
24635 A: *mut fmpz_mat_struct,
24636 B: *mut fmpz_mat_struct,
24637 Ainv: *mut nmod_mat_struct,
24638 p: mp_limb_t,
24639 N: *mut fmpz,
24640 D: *mut fmpz,
24641 );
24642}
24643extern "C" {
24644 pub fn fmpz_mat_solve_dixon_den(
24645 X: *mut fmpz_mat_struct,
24646 den: *mut fmpz,
24647 A: *mut fmpz_mat_struct,
24648 B: *mut fmpz_mat_struct,
24649 ) -> ::std::os::raw::c_int;
24650}
24651extern "C" {
24652 pub fn fmpz_mat_solve_multi_mod_den(
24653 X: *mut fmpz_mat_struct,
24654 den: *mut fmpz,
24655 A: *mut fmpz_mat_struct,
24656 B: *mut fmpz_mat_struct,
24657 ) -> ::std::os::raw::c_int;
24658}
24659extern "C" {
24660 pub fn fmpz_mat_nullspace(
24661 res: *mut fmpz_mat_struct,
24662 mat: *mut fmpz_mat_struct,
24663 ) -> mp_limb_signed_t;
24664}
24665extern "C" {
24666 pub fn fmpz_mat_inv(
24667 B: *mut fmpz_mat_struct,
24668 den: *mut fmpz,
24669 A: *mut fmpz_mat_struct,
24670 ) -> ::std::os::raw::c_int;
24671}
24672extern "C" {
24673 pub fn fmpz_mat_set_nmod_mat(A: *mut fmpz_mat_struct, Amod: *mut nmod_mat_struct);
24674}
24675extern "C" {
24676 pub fn fmpz_mat_set_nmod_mat_unsigned(A: *mut fmpz_mat_struct, Amod: *mut nmod_mat_struct);
24677}
24678extern "C" {
24679 pub fn fmpz_mat_get_nmod_mat(Amod: *mut nmod_mat_struct, A: *mut fmpz_mat_struct);
24680}
24681extern "C" {
24682 pub fn fmpz_mat_CRT_ui(
24683 res: *mut fmpz_mat_struct,
24684 mat1: *mut fmpz_mat_struct,
24685 m1: *mut fmpz,
24686 mat2: *mut nmod_mat_struct,
24687 sign: ::std::os::raw::c_int,
24688 );
24689}
24690extern "C" {
24691 pub fn fmpz_mat_multi_mod_ui_precomp(
24692 residues: *mut nmod_mat_t,
24693 nres: mp_limb_signed_t,
24694 mat: *mut fmpz_mat_struct,
24695 comb: *mut fmpz_comb_struct,
24696 temp: *mut fmpz_comb_temp_struct,
24697 );
24698}
24699extern "C" {
24700 pub fn fmpz_mat_multi_mod_ui(
24701 residues: *mut nmod_mat_t,
24702 nres: mp_limb_signed_t,
24703 mat: *mut fmpz_mat_struct,
24704 );
24705}
24706extern "C" {
24707 pub fn fmpz_mat_multi_CRT_ui_precomp(
24708 mat: *mut fmpz_mat_struct,
24709 residues: *mut nmod_mat_t,
24710 nres: mp_limb_signed_t,
24711 comb: *mut fmpz_comb_struct,
24712 temp: *mut fmpz_comb_temp_struct,
24713 sign: ::std::os::raw::c_int,
24714 );
24715}
24716extern "C" {
24717 pub fn fmpz_mat_multi_CRT_ui(
24718 mat: *mut fmpz_mat_struct,
24719 residues: *mut nmod_mat_t,
24720 nres: mp_limb_signed_t,
24721 sign: ::std::os::raw::c_int,
24722 );
24723}
24724extern "C" {
24725 pub fn fmpz_mat_hnf(H: *mut fmpz_mat_struct, A: *mut fmpz_mat_struct);
24726}
24727extern "C" {
24728 pub fn fmpz_mat_hnf_transform(
24729 H: *mut fmpz_mat_struct,
24730 U: *mut fmpz_mat_struct,
24731 A: *mut fmpz_mat_struct,
24732 );
24733}
24734extern "C" {
24735 pub fn fmpz_mat_hnf_classical(H: *mut fmpz_mat_struct, A: *mut fmpz_mat_struct);
24736}
24737extern "C" {
24738 pub fn fmpz_mat_hnf_xgcd(H: *mut fmpz_mat_struct, A: *mut fmpz_mat_struct);
24739}
24740extern "C" {
24741 pub fn fmpz_mat_hnf_minors(H: *mut fmpz_mat_struct, A: *mut fmpz_mat_struct);
24742}
24743extern "C" {
24744 pub fn fmpz_mat_hnf_minors_transform(
24745 H: *mut fmpz_mat_struct,
24746 U: *mut fmpz_mat_struct,
24747 A: *mut fmpz_mat_struct,
24748 );
24749}
24750extern "C" {
24751 pub fn fmpz_mat_hnf_modular(H: *mut fmpz_mat_struct, A: *mut fmpz_mat_struct, D: *mut fmpz);
24752}
24753extern "C" {
24754 pub fn fmpz_mat_hnf_modular_eldiv(A: *mut fmpz_mat_struct, D: *mut fmpz);
24755}
24756extern "C" {
24757 pub fn fmpz_mat_hnf_pernet_stein(
24758 H: *mut fmpz_mat_struct,
24759 A: *mut fmpz_mat_struct,
24760 state: *mut flint_rand_s,
24761 );
24762}
24763extern "C" {
24764 pub fn fmpz_mat_is_in_hnf(A: *mut fmpz_mat_struct) -> ::std::os::raw::c_int;
24765}
24766extern "C" {
24767 pub fn fmpz_mat_snf(S: *mut fmpz_mat_struct, A: *mut fmpz_mat_struct);
24768}
24769extern "C" {
24770 pub fn fmpz_mat_snf_diagonal(S: *mut fmpz_mat_struct, A: *mut fmpz_mat_struct);
24771}
24772extern "C" {
24773 pub fn fmpz_mat_snf_kannan_bachem(S: *mut fmpz_mat_struct, A: *mut fmpz_mat_struct);
24774}
24775extern "C" {
24776 pub fn fmpz_mat_snf_iliopoulos(
24777 S: *mut fmpz_mat_struct,
24778 A: *mut fmpz_mat_struct,
24779 mod_: *mut fmpz,
24780 );
24781}
24782extern "C" {
24783 pub fn fmpz_mat_is_in_snf(A: *mut fmpz_mat_struct) -> ::std::os::raw::c_int;
24784}
24785extern "C" {
24786 pub fn fmpz_mat_is_hadamard(A: *mut fmpz_mat_struct) -> ::std::os::raw::c_int;
24787}
24788extern "C" {
24789 pub fn fmpz_mat_hadamard(A: *mut fmpz_mat_struct) -> ::std::os::raw::c_int;
24790}
24791extern "C" {
24792 pub fn fmpz_mat_gram(B: *mut fmpz_mat_struct, A: *mut fmpz_mat_struct);
24793}
24794extern "C" {
24795 pub fn fmpz_mat_get_d_mat(
24796 B: *mut d_mat_struct,
24797 A: *mut fmpz_mat_struct,
24798 ) -> ::std::os::raw::c_int;
24799}
24800extern "C" {
24801 pub fn fmpz_mat_get_d_mat_transpose(
24802 B: *mut d_mat_struct,
24803 A: *mut fmpz_mat_struct,
24804 ) -> ::std::os::raw::c_int;
24805}
24806extern "C" {
24807 pub fn fmpz_mat_get_mpf_mat(B: *mut mpf_mat_struct, A: *mut fmpz_mat_struct);
24808}
24809extern "C" {
24810 pub fn fmpz_mat_chol_d(R: *mut d_mat_struct, A: *mut fmpz_mat_struct);
24811}
24812extern "C" {
24813 pub fn fmpz_mat_is_reduced(
24814 A: *mut fmpz_mat_struct,
24815 delta: f64,
24816 eta: f64,
24817 ) -> ::std::os::raw::c_int;
24818}
24819extern "C" {
24820 pub fn fmpz_mat_is_reduced_gram(
24821 A: *mut fmpz_mat_struct,
24822 delta: f64,
24823 eta: f64,
24824 ) -> ::std::os::raw::c_int;
24825}
24826extern "C" {
24827 pub fn fmpz_mat_is_reduced_with_removal(
24828 A: *mut fmpz_mat_struct,
24829 delta: f64,
24830 eta: f64,
24831 gs_B: *mut fmpz,
24832 newd: ::std::os::raw::c_int,
24833 ) -> ::std::os::raw::c_int;
24834}
24835extern "C" {
24836 pub fn fmpz_mat_is_reduced_gram_with_removal(
24837 A: *mut fmpz_mat_struct,
24838 delta: f64,
24839 eta: f64,
24840 gs_B: *mut fmpz,
24841 newd: ::std::os::raw::c_int,
24842 ) -> ::std::os::raw::c_int;
24843}
24844extern "C" {
24845 pub fn fmpz_mat_lll_original(A: *mut fmpz_mat_struct, delta: *mut fmpq, eta: *mut fmpq);
24846}
24847extern "C" {
24848 pub fn fmpz_mat_lll_storjohann(A: *mut fmpz_mat_struct, delta: *mut fmpq, eta: *mut fmpq);
24849}
24850extern "C" {
24851 pub fn fmpz_mat_col_partition(
24852 part: *mut mp_limb_signed_t,
24853 M: *mut fmpz_mat_struct,
24854 short_circuit: ::std::os::raw::c_int,
24855 ) -> ::std::os::raw::c_int;
24856}
24857extern "C" {
24858 pub fn fmpz_mat_next_col_van_hoeij(
24859 M: *mut fmpz_mat_struct,
24860 P: *mut fmpz,
24861 col: *mut fmpz_mat_struct,
24862 exp: mp_limb_signed_t,
24863 U_exp: mp_limb_signed_t,
24864 ) -> ::std::os::raw::c_int;
24865}
24866extern "C" {
24867 pub fn fmpz_poly_factor_init(fac: *mut fmpz_poly_factor_struct);
24868}
24869extern "C" {
24870 pub fn fmpz_poly_factor_init2(fac: *mut fmpz_poly_factor_struct, alloc: mp_limb_signed_t);
24871}
24872extern "C" {
24873 pub fn fmpz_poly_factor_realloc(fac: *mut fmpz_poly_factor_struct, alloc: mp_limb_signed_t);
24874}
24875extern "C" {
24876 pub fn fmpz_poly_factor_fit_length(fac: *mut fmpz_poly_factor_struct, len: mp_limb_signed_t);
24877}
24878extern "C" {
24879 pub fn fmpz_poly_factor_clear(fac: *mut fmpz_poly_factor_struct);
24880}
24881extern "C" {
24882 pub fn fmpz_poly_factor_set(
24883 res: *mut fmpz_poly_factor_struct,
24884 fac: *mut fmpz_poly_factor_struct,
24885 );
24886}
24887extern "C" {
24888 pub fn fmpz_poly_factor_insert(
24889 fac: *mut fmpz_poly_factor_struct,
24890 p: *mut fmpz_poly_struct,
24891 exp: mp_limb_signed_t,
24892 );
24893}
24894extern "C" {
24895 pub fn fmpz_poly_factor_concat(
24896 res: *mut fmpz_poly_factor_struct,
24897 fac: *mut fmpz_poly_factor_struct,
24898 );
24899}
24900extern "C" {
24901 pub fn fmpz_poly_factor_print(fac: *mut fmpz_poly_factor_struct);
24902}
24903extern "C" {
24904 pub fn fmpz_poly_factor_zassenhaus_recombination(
24905 final_fac: *mut fmpz_poly_factor_struct,
24906 lifted_fac: *mut fmpz_poly_factor_struct,
24907 F: *mut fmpz_poly_struct,
24908 P: *mut fmpz,
24909 exp: mp_limb_signed_t,
24910 );
24911}
24912extern "C" {
24913 pub fn fmpz_poly_factor_squarefree(fac: *mut fmpz_poly_factor_struct, F: *mut fmpz_poly_struct);
24914}
24915extern "C" {
24916 pub fn fmpz_poly_factor_mignotte(B: *mut fmpz, f: *mut fmpz_poly_struct);
24917}
24918extern "C" {
24919 pub fn _fmpz_poly_factor_zassenhaus(
24920 final_fac: *mut fmpz_poly_factor_struct,
24921 exp: mp_limb_signed_t,
24922 f: *mut fmpz_poly_struct,
24923 cutoff: mp_limb_signed_t,
24924 use_van_hoeij: ::std::os::raw::c_int,
24925 );
24926}
24927extern "C" {
24928 pub fn fmpz_poly_factor_zassenhaus(fac: *mut fmpz_poly_factor_struct, G: *mut fmpz_poly_struct);
24929}
24930extern "C" {
24931 pub fn _fmpz_poly_factor_quadratic(
24932 fac: *mut fmpz_poly_factor_struct,
24933 f: *mut fmpz_poly_struct,
24934 exp: mp_limb_signed_t,
24935 );
24936}
24937extern "C" {
24938 pub fn _fmpz_poly_factor_CLD_mat(
24939 res: *mut fmpz_mat_struct,
24940 f: *mut fmpz_poly_struct,
24941 lifted_fac: *mut fmpz_poly_factor_struct,
24942 P: *mut fmpz,
24943 k: mp_limb_t,
24944 ) -> mp_limb_signed_t;
24945}
24946extern "C" {
24947 pub fn fmpz_poly_factor_van_hoeij_check_if_solved(
24948 M: *mut fmpz_mat_struct,
24949 final_fac: *mut fmpz_poly_factor_struct,
24950 lifted_fac: *mut fmpz_poly_factor_struct,
24951 f: *mut fmpz_poly_struct,
24952 P: *mut fmpz,
24953 exp: mp_limb_signed_t,
24954 lc: *mut fmpz,
24955 ) -> ::std::os::raw::c_int;
24956}
24957extern "C" {
24958 pub fn fmpz_poly_factor_van_hoeij(
24959 final_fac: *mut fmpz_poly_factor_struct,
24960 fac: *mut nmod_poly_factor_struct,
24961 f: *mut fmpz_poly_struct,
24962 exp: mp_limb_signed_t,
24963 p: mp_limb_t,
24964 );
24965}
24966extern "C" {
24967 pub fn fmpz_poly_factor(fac: *mut fmpz_poly_factor_struct, G: *mut fmpz_poly_struct);
24968}
24969extern "C" {
24970 pub fn fmpz_poly_factor_get_fmpz_poly(
24971 z: *mut fmpz_poly_struct,
24972 F: *mut fmpz_poly_factor_struct,
24973 i: mp_limb_signed_t,
24974 );
24975}
24976extern "C" {
24977 pub fn fmpz_poly_factor_get_fmpz(z: *mut fmpz, F: *mut fmpz_poly_factor_struct);
24978}
24979#[repr(C)]
24980#[derive(Debug, Copy, Clone)]
24981pub struct fmpq_poly_struct {
24982 pub coeffs: *mut fmpz,
24983 pub den: fmpz_t,
24984 pub alloc: mp_limb_signed_t,
24985 pub length: mp_limb_signed_t,
24986}
24987#[test]
24988fn bindgen_test_layout_fmpq_poly_struct() {
24989 assert_eq!(
24990 ::std::mem::size_of::<fmpq_poly_struct>(),
24991 32usize,
24992 concat!("Size of: ", stringify!(fmpq_poly_struct))
24993 );
24994 assert_eq!(
24995 ::std::mem::align_of::<fmpq_poly_struct>(),
24996 8usize,
24997 concat!("Alignment of ", stringify!(fmpq_poly_struct))
24998 );
24999 assert_eq!(
25000 unsafe { &(*(::std::ptr::null::<fmpq_poly_struct>())).coeffs as *const _ as usize },
25001 0usize,
25002 concat!(
25003 "Offset of field: ",
25004 stringify!(fmpq_poly_struct),
25005 "::",
25006 stringify!(coeffs)
25007 )
25008 );
25009 assert_eq!(
25010 unsafe { &(*(::std::ptr::null::<fmpq_poly_struct>())).den as *const _ as usize },
25011 8usize,
25012 concat!(
25013 "Offset of field: ",
25014 stringify!(fmpq_poly_struct),
25015 "::",
25016 stringify!(den)
25017 )
25018 );
25019 assert_eq!(
25020 unsafe { &(*(::std::ptr::null::<fmpq_poly_struct>())).alloc as *const _ as usize },
25021 16usize,
25022 concat!(
25023 "Offset of field: ",
25024 stringify!(fmpq_poly_struct),
25025 "::",
25026 stringify!(alloc)
25027 )
25028 );
25029 assert_eq!(
25030 unsafe { &(*(::std::ptr::null::<fmpq_poly_struct>())).length as *const _ as usize },
25031 24usize,
25032 concat!(
25033 "Offset of field: ",
25034 stringify!(fmpq_poly_struct),
25035 "::",
25036 stringify!(length)
25037 )
25038 );
25039}
25040pub type fmpq_poly_t = [fmpq_poly_struct; 1usize];
25041#[repr(C)]
25042#[derive(Debug, Copy, Clone)]
25043pub struct fmpq_poly_powers_precomp_struct {
25044 pub powers: *mut fmpq_poly_struct,
25045 pub len: mp_limb_signed_t,
25046}
25047#[test]
25048fn bindgen_test_layout_fmpq_poly_powers_precomp_struct() {
25049 assert_eq!(
25050 ::std::mem::size_of::<fmpq_poly_powers_precomp_struct>(),
25051 16usize,
25052 concat!("Size of: ", stringify!(fmpq_poly_powers_precomp_struct))
25053 );
25054 assert_eq!(
25055 ::std::mem::align_of::<fmpq_poly_powers_precomp_struct>(),
25056 8usize,
25057 concat!("Alignment of ", stringify!(fmpq_poly_powers_precomp_struct))
25058 );
25059 assert_eq!(
25060 unsafe {
25061 &(*(::std::ptr::null::<fmpq_poly_powers_precomp_struct>())).powers as *const _ as usize
25062 },
25063 0usize,
25064 concat!(
25065 "Offset of field: ",
25066 stringify!(fmpq_poly_powers_precomp_struct),
25067 "::",
25068 stringify!(powers)
25069 )
25070 );
25071 assert_eq!(
25072 unsafe {
25073 &(*(::std::ptr::null::<fmpq_poly_powers_precomp_struct>())).len as *const _ as usize
25074 },
25075 8usize,
25076 concat!(
25077 "Offset of field: ",
25078 stringify!(fmpq_poly_powers_precomp_struct),
25079 "::",
25080 stringify!(len)
25081 )
25082 );
25083}
25084pub type fmpq_poly_powers_precomp_t = [fmpq_poly_powers_precomp_struct; 1usize];
25085extern "C" {
25086 pub fn fmpq_poly_init(poly: *mut fmpq_poly_struct);
25087}
25088extern "C" {
25089 pub fn fmpq_poly_init2(poly: *mut fmpq_poly_struct, alloc: mp_limb_signed_t);
25090}
25091extern "C" {
25092 pub fn fmpq_poly_realloc(poly: *mut fmpq_poly_struct, alloc: mp_limb_signed_t);
25093}
25094extern "C" {
25095 pub fn fmpq_poly_fit_length(poly: *mut fmpq_poly_struct, len: mp_limb_signed_t);
25096}
25097extern "C" {
25098 pub fn _fmpq_poly_set_length(poly: *mut fmpq_poly_struct, len: mp_limb_signed_t);
25099}
25100extern "C" {
25101 pub fn fmpq_poly_clear(poly: *mut fmpq_poly_struct);
25102}
25103extern "C" {
25104 pub fn _fmpq_poly_normalise(poly: *mut fmpq_poly_struct);
25105}
25106extern "C" {
25107 pub fn fmpq_poly_get_numerator(res: *mut fmpz_poly_struct, poly: *mut fmpq_poly_struct);
25108}
25109extern "C" {
25110 pub fn fmpq_poly_get_denominator(den: *mut fmpz, poly: *mut fmpq_poly_struct);
25111}
25112extern "C" {
25113 pub fn _fmpq_poly_canonicalise(rpoly: *mut fmpz, den: *mut fmpz, len: mp_limb_signed_t);
25114}
25115extern "C" {
25116 pub fn fmpq_poly_canonicalise(poly: *mut fmpq_poly_struct);
25117}
25118extern "C" {
25119 pub fn _fmpq_poly_is_canonical(
25120 poly: *const fmpz,
25121 den: *mut fmpz,
25122 len: mp_limb_signed_t,
25123 ) -> ::std::os::raw::c_int;
25124}
25125extern "C" {
25126 pub fn fmpq_poly_is_canonical(poly: *mut fmpq_poly_struct) -> ::std::os::raw::c_int;
25127}
25128extern "C" {
25129 pub fn fmpq_poly_degree(poly: *mut fmpq_poly_struct) -> mp_limb_signed_t;
25130}
25131extern "C" {
25132 pub fn fmpq_poly_length(poly: *mut fmpq_poly_struct) -> mp_limb_signed_t;
25133}
25134extern "C" {
25135 pub fn fmpq_poly_randtest(
25136 f: *mut fmpq_poly_struct,
25137 state: *mut flint_rand_s,
25138 len: mp_limb_signed_t,
25139 bits_in: mp_limb_t,
25140 );
25141}
25142extern "C" {
25143 pub fn fmpq_poly_randtest_unsigned(
25144 f: *mut fmpq_poly_struct,
25145 state: *mut flint_rand_s,
25146 len: mp_limb_signed_t,
25147 bits_in: mp_limb_t,
25148 );
25149}
25150extern "C" {
25151 pub fn fmpq_poly_randtest_not_zero(
25152 f: *mut fmpq_poly_struct,
25153 state: *mut flint_rand_s,
25154 len: mp_limb_signed_t,
25155 bits_in: mp_limb_t,
25156 );
25157}
25158extern "C" {
25159 pub fn fmpq_poly_set(poly1: *mut fmpq_poly_struct, poly2: *mut fmpq_poly_struct);
25160}
25161extern "C" {
25162 pub fn fmpq_poly_set_si(poly: *mut fmpq_poly_struct, x: mp_limb_signed_t);
25163}
25164extern "C" {
25165 pub fn fmpq_poly_set_ui(poly: *mut fmpq_poly_struct, x: mp_limb_t);
25166}
25167extern "C" {
25168 pub fn fmpq_poly_set_fmpz(poly: *mut fmpq_poly_struct, x: *mut fmpz);
25169}
25170extern "C" {
25171 pub fn fmpq_poly_set_fmpq(poly: *mut fmpq_poly_struct, x: *mut fmpq);
25172}
25173extern "C" {
25174 pub fn fmpq_poly_set_mpz(poly: *mut fmpq_poly_struct, x: *mut __mpz_struct);
25175}
25176extern "C" {
25177 pub fn fmpq_poly_set_mpq(poly: *mut fmpq_poly_struct, x: *mut __mpq_struct);
25178}
25179extern "C" {
25180 pub fn fmpq_poly_set_fmpz_poly(rop: *mut fmpq_poly_struct, op: *mut fmpz_poly_struct);
25181}
25182extern "C" {
25183 pub fn _fmpq_poly_get_nmod_poly(rop: *mut nmod_poly_struct, op: *mut fmpq_poly_struct);
25184}
25185extern "C" {
25186 pub fn fmpq_poly_get_nmod_poly_den(
25187 rop: *mut nmod_poly_struct,
25188 op: *mut fmpq_poly_struct,
25189 den: ::std::os::raw::c_int,
25190 );
25191}
25192extern "C" {
25193 pub fn fmpq_poly_get_nmod_poly(rop: *mut nmod_poly_struct, op: *mut fmpq_poly_struct);
25194}
25195extern "C" {
25196 pub fn fmpq_poly_set_nmod_poly(rop: *mut fmpq_poly_struct, op: *mut nmod_poly_struct);
25197}
25198extern "C" {
25199 pub fn _fmpq_poly_set_array_mpq(
25200 poly: *mut fmpz,
25201 den: *mut fmpz,
25202 a: *const mpq_t,
25203 n: mp_limb_signed_t,
25204 );
25205}
25206extern "C" {
25207 pub fn fmpq_poly_set_array_mpq(
25208 poly: *mut fmpq_poly_struct,
25209 a: *const mpq_t,
25210 n: mp_limb_signed_t,
25211 );
25212}
25213extern "C" {
25214 pub fn _fmpq_poly_set_str(
25215 poly: *mut fmpz,
25216 den: *mut fmpz,
25217 str: *const ::std::os::raw::c_char,
25218 len: mp_limb_signed_t,
25219 ) -> ::std::os::raw::c_int;
25220}
25221extern "C" {
25222 pub fn fmpq_poly_set_str(
25223 poly: *mut fmpq_poly_struct,
25224 str: *const ::std::os::raw::c_char,
25225 ) -> ::std::os::raw::c_int;
25226}
25227extern "C" {
25228 pub fn fmpq_poly_get_str(poly: *mut fmpq_poly_struct) -> *mut ::std::os::raw::c_char;
25229}
25230extern "C" {
25231 pub fn fmpq_poly_get_str_pretty(
25232 poly: *mut fmpq_poly_struct,
25233 var: *const ::std::os::raw::c_char,
25234 ) -> *mut ::std::os::raw::c_char;
25235}
25236extern "C" {
25237 pub fn _fmpq_poly_get_str_pretty(
25238 poly: *const fmpz,
25239 den: *mut fmpz,
25240 len: mp_limb_signed_t,
25241 var: *const ::std::os::raw::c_char,
25242 ) -> *mut ::std::os::raw::c_char;
25243}
25244extern "C" {
25245 pub fn fmpq_poly_zero(poly: *mut fmpq_poly_struct);
25246}
25247extern "C" {
25248 pub fn fmpq_poly_one(poly: *mut fmpq_poly_struct);
25249}
25250extern "C" {
25251 pub fn fmpq_poly_neg(poly1: *mut fmpq_poly_struct, poly2: *mut fmpq_poly_struct);
25252}
25253extern "C" {
25254 pub fn fmpq_poly_inv(poly1: *mut fmpq_poly_struct, poly2: *mut fmpq_poly_struct);
25255}
25256extern "C" {
25257 pub fn fmpq_poly_swap(poly1: *mut fmpq_poly_struct, poly2: *mut fmpq_poly_struct);
25258}
25259extern "C" {
25260 pub fn fmpq_poly_truncate(poly: *mut fmpq_poly_struct, n: mp_limb_signed_t);
25261}
25262extern "C" {
25263 pub fn fmpq_poly_set_trunc(
25264 res: *mut fmpq_poly_struct,
25265 poly: *mut fmpq_poly_struct,
25266 n: mp_limb_signed_t,
25267 );
25268}
25269extern "C" {
25270 pub fn fmpq_poly_get_slice(
25271 rop: *mut fmpq_poly_struct,
25272 op: *mut fmpq_poly_struct,
25273 i: mp_limb_signed_t,
25274 j: mp_limb_signed_t,
25275 );
25276}
25277extern "C" {
25278 pub fn fmpq_poly_reverse(
25279 res: *mut fmpq_poly_struct,
25280 poly: *mut fmpq_poly_struct,
25281 n: mp_limb_signed_t,
25282 );
25283}
25284extern "C" {
25285 pub fn fmpq_poly_get_coeff_fmpz(x: *mut fmpz, poly: *mut fmpq_poly_struct, n: mp_limb_signed_t);
25286}
25287extern "C" {
25288 pub fn fmpq_poly_get_coeff_fmpq(x: *mut fmpq, poly: *mut fmpq_poly_struct, n: mp_limb_signed_t);
25289}
25290extern "C" {
25291 pub fn fmpq_poly_get_coeff_mpq(
25292 x: *mut __mpq_struct,
25293 poly: *mut fmpq_poly_struct,
25294 n: mp_limb_signed_t,
25295 );
25296}
25297extern "C" {
25298 pub fn fmpq_poly_set_coeff_si(
25299 poly: *mut fmpq_poly_struct,
25300 n: mp_limb_signed_t,
25301 x: mp_limb_signed_t,
25302 );
25303}
25304extern "C" {
25305 pub fn fmpq_poly_set_coeff_ui(poly: *mut fmpq_poly_struct, n: mp_limb_signed_t, x: mp_limb_t);
25306}
25307extern "C" {
25308 pub fn fmpq_poly_set_coeff_fmpz(poly: *mut fmpq_poly_struct, n: mp_limb_signed_t, x: *mut fmpz);
25309}
25310extern "C" {
25311 pub fn fmpq_poly_set_coeff_fmpq(poly: *mut fmpq_poly_struct, n: mp_limb_signed_t, x: *mut fmpq);
25312}
25313extern "C" {
25314 pub fn fmpq_poly_set_coeff_mpz(
25315 poly: *mut fmpq_poly_struct,
25316 n: mp_limb_signed_t,
25317 x: *mut __mpz_struct,
25318 );
25319}
25320extern "C" {
25321 pub fn fmpq_poly_set_coeff_mpq(
25322 poly: *mut fmpq_poly_struct,
25323 n: mp_limb_signed_t,
25324 x: *mut __mpq_struct,
25325 );
25326}
25327extern "C" {
25328 pub fn fmpq_poly_equal(
25329 poly1: *mut fmpq_poly_struct,
25330 poly2: *mut fmpq_poly_struct,
25331 ) -> ::std::os::raw::c_int;
25332}
25333extern "C" {
25334 pub fn _fmpq_poly_cmp(
25335 lpoly: *const fmpz,
25336 lden: *mut fmpz,
25337 rpoly: *const fmpz,
25338 rden: *mut fmpz,
25339 len: mp_limb_signed_t,
25340 ) -> ::std::os::raw::c_int;
25341}
25342extern "C" {
25343 pub fn fmpq_poly_cmp(
25344 left: *mut fmpq_poly_struct,
25345 right: *mut fmpq_poly_struct,
25346 ) -> ::std::os::raw::c_int;
25347}
25348extern "C" {
25349 pub fn _fmpq_poly_equal_trunc(
25350 poly1: *const fmpz,
25351 den1: *mut fmpz,
25352 len1: mp_limb_signed_t,
25353 poly2: *const fmpz,
25354 den2: *mut fmpz,
25355 len2: mp_limb_signed_t,
25356 n: mp_limb_signed_t,
25357 ) -> ::std::os::raw::c_int;
25358}
25359extern "C" {
25360 pub fn fmpq_poly_equal_trunc(
25361 poly1: *mut fmpq_poly_struct,
25362 poly2: *mut fmpq_poly_struct,
25363 n: mp_limb_signed_t,
25364 ) -> ::std::os::raw::c_int;
25365}
25366extern "C" {
25367 pub fn fmpq_poly_is_zero(poly: *mut fmpq_poly_struct) -> ::std::os::raw::c_int;
25368}
25369extern "C" {
25370 pub fn fmpq_poly_is_one(poly: *mut fmpq_poly_struct) -> ::std::os::raw::c_int;
25371}
25372extern "C" {
25373 pub fn fmpq_poly_is_gen(op: *mut fmpq_poly_struct) -> ::std::os::raw::c_int;
25374}
25375extern "C" {
25376 pub fn fmpq_poly_add_si(
25377 res: *mut fmpq_poly_struct,
25378 poly: *mut fmpq_poly_struct,
25379 c: mp_limb_signed_t,
25380 );
25381}
25382extern "C" {
25383 pub fn fmpq_poly_sub_si(
25384 res: *mut fmpq_poly_struct,
25385 poly: *mut fmpq_poly_struct,
25386 c: mp_limb_signed_t,
25387 );
25388}
25389extern "C" {
25390 pub fn fmpq_poly_si_sub(
25391 res: *mut fmpq_poly_struct,
25392 c: mp_limb_signed_t,
25393 poly: *mut fmpq_poly_struct,
25394 );
25395}
25396extern "C" {
25397 pub fn fmpq_poly_add_fmpz(
25398 res: *mut fmpq_poly_struct,
25399 poly: *mut fmpq_poly_struct,
25400 c: *mut fmpz,
25401 );
25402}
25403extern "C" {
25404 pub fn fmpq_poly_sub_fmpz(
25405 res: *mut fmpq_poly_struct,
25406 poly: *mut fmpq_poly_struct,
25407 c: *mut fmpz,
25408 );
25409}
25410extern "C" {
25411 pub fn fmpq_poly_fmpz_sub(
25412 res: *mut fmpq_poly_struct,
25413 c: *mut fmpz,
25414 poly: *mut fmpq_poly_struct,
25415 );
25416}
25417extern "C" {
25418 pub fn fmpq_poly_add_fmpq(
25419 res: *mut fmpq_poly_struct,
25420 poly: *mut fmpq_poly_struct,
25421 c: *mut fmpq,
25422 );
25423}
25424extern "C" {
25425 pub fn fmpq_poly_sub_fmpq(
25426 res: *mut fmpq_poly_struct,
25427 poly: *mut fmpq_poly_struct,
25428 c: *mut fmpq,
25429 );
25430}
25431extern "C" {
25432 pub fn fmpq_poly_fmpq_sub(
25433 res: *mut fmpq_poly_struct,
25434 c: *mut fmpq,
25435 poly: *mut fmpq_poly_struct,
25436 );
25437}
25438extern "C" {
25439 pub fn _fmpq_poly_add(
25440 rpoly: *mut fmpz,
25441 rden: *mut fmpz,
25442 poly1: *const fmpz,
25443 den1: *mut fmpz,
25444 len1: mp_limb_signed_t,
25445 poly2: *const fmpz,
25446 den2: *mut fmpz,
25447 len2: mp_limb_signed_t,
25448 );
25449}
25450extern "C" {
25451 pub fn fmpq_poly_add(
25452 res: *mut fmpq_poly_struct,
25453 poly1: *mut fmpq_poly_struct,
25454 poly2: *mut fmpq_poly_struct,
25455 );
25456}
25457extern "C" {
25458 pub fn _fmpq_poly_add_can(
25459 rpoly: *mut fmpz,
25460 rden: *mut fmpz,
25461 poly1: *const fmpz,
25462 den1: *mut fmpz,
25463 len1: mp_limb_signed_t,
25464 poly2: *const fmpz,
25465 den2: *mut fmpz,
25466 len2: mp_limb_signed_t,
25467 can: ::std::os::raw::c_int,
25468 );
25469}
25470extern "C" {
25471 pub fn fmpq_poly_add_can(
25472 res: *mut fmpq_poly_struct,
25473 poly1: *mut fmpq_poly_struct,
25474 poly2: *mut fmpq_poly_struct,
25475 can: ::std::os::raw::c_int,
25476 );
25477}
25478extern "C" {
25479 pub fn _fmpq_poly_add_series(
25480 rpoly: *mut fmpz,
25481 rden: *mut fmpz,
25482 poly1: *const fmpz,
25483 den1: *mut fmpz,
25484 len1: mp_limb_signed_t,
25485 poly2: *const fmpz,
25486 den2: *mut fmpz,
25487 len2: mp_limb_signed_t,
25488 n: mp_limb_signed_t,
25489 );
25490}
25491extern "C" {
25492 pub fn fmpq_poly_add_series(
25493 res: *mut fmpq_poly_struct,
25494 poly1: *mut fmpq_poly_struct,
25495 poly2: *mut fmpq_poly_struct,
25496 n: mp_limb_signed_t,
25497 );
25498}
25499extern "C" {
25500 pub fn _fmpq_poly_add_series_can(
25501 rpoly: *mut fmpz,
25502 rden: *mut fmpz,
25503 poly1: *const fmpz,
25504 den1: *mut fmpz,
25505 len1: mp_limb_signed_t,
25506 poly2: *const fmpz,
25507 den2: *mut fmpz,
25508 len2: mp_limb_signed_t,
25509 n: mp_limb_signed_t,
25510 can: ::std::os::raw::c_int,
25511 );
25512}
25513extern "C" {
25514 pub fn fmpq_poly_add_series_can(
25515 res: *mut fmpq_poly_struct,
25516 poly1: *mut fmpq_poly_struct,
25517 poly2: *mut fmpq_poly_struct,
25518 n: mp_limb_signed_t,
25519 can: ::std::os::raw::c_int,
25520 );
25521}
25522extern "C" {
25523 pub fn _fmpq_poly_sub(
25524 rpoly: *mut fmpz,
25525 rden: *mut fmpz,
25526 poly1: *const fmpz,
25527 den1: *mut fmpz,
25528 len1: mp_limb_signed_t,
25529 poly2: *const fmpz,
25530 den2: *mut fmpz,
25531 len2: mp_limb_signed_t,
25532 );
25533}
25534extern "C" {
25535 pub fn fmpq_poly_sub(
25536 res: *mut fmpq_poly_struct,
25537 poly1: *mut fmpq_poly_struct,
25538 poly2: *mut fmpq_poly_struct,
25539 );
25540}
25541extern "C" {
25542 pub fn _fmpq_poly_sub_can(
25543 rpoly: *mut fmpz,
25544 rden: *mut fmpz,
25545 poly1: *const fmpz,
25546 den1: *mut fmpz,
25547 len1: mp_limb_signed_t,
25548 poly2: *const fmpz,
25549 den2: *mut fmpz,
25550 len2: mp_limb_signed_t,
25551 can: ::std::os::raw::c_int,
25552 );
25553}
25554extern "C" {
25555 pub fn fmpq_poly_sub_can(
25556 res: *mut fmpq_poly_struct,
25557 poly1: *mut fmpq_poly_struct,
25558 poly2: *mut fmpq_poly_struct,
25559 can: ::std::os::raw::c_int,
25560 );
25561}
25562extern "C" {
25563 pub fn _fmpq_poly_sub_series(
25564 rpoly: *mut fmpz,
25565 rden: *mut fmpz,
25566 poly1: *const fmpz,
25567 den1: *mut fmpz,
25568 len1: mp_limb_signed_t,
25569 poly2: *const fmpz,
25570 den2: *mut fmpz,
25571 len2: mp_limb_signed_t,
25572 n: mp_limb_signed_t,
25573 );
25574}
25575extern "C" {
25576 pub fn fmpq_poly_sub_series(
25577 res: *mut fmpq_poly_struct,
25578 poly1: *mut fmpq_poly_struct,
25579 poly2: *mut fmpq_poly_struct,
25580 n: mp_limb_signed_t,
25581 );
25582}
25583extern "C" {
25584 pub fn _fmpq_poly_sub_series_can(
25585 rpoly: *mut fmpz,
25586 rden: *mut fmpz,
25587 poly1: *const fmpz,
25588 den1: *mut fmpz,
25589 len1: mp_limb_signed_t,
25590 poly2: *const fmpz,
25591 den2: *mut fmpz,
25592 len2: mp_limb_signed_t,
25593 n: mp_limb_signed_t,
25594 can: ::std::os::raw::c_int,
25595 );
25596}
25597extern "C" {
25598 pub fn fmpq_poly_sub_series_can(
25599 res: *mut fmpq_poly_struct,
25600 poly1: *mut fmpq_poly_struct,
25601 poly2: *mut fmpq_poly_struct,
25602 n: mp_limb_signed_t,
25603 can: ::std::os::raw::c_int,
25604 );
25605}
25606extern "C" {
25607 pub fn _fmpq_poly_scalar_mul_si(
25608 rpoly: *mut fmpz,
25609 rden: *mut fmpz,
25610 poly: *const fmpz,
25611 den: *mut fmpz,
25612 len: mp_limb_signed_t,
25613 c: mp_limb_signed_t,
25614 );
25615}
25616extern "C" {
25617 pub fn _fmpq_poly_scalar_mul_ui(
25618 rpoly: *mut fmpz,
25619 rden: *mut fmpz,
25620 poly: *const fmpz,
25621 den: *mut fmpz,
25622 len: mp_limb_signed_t,
25623 c: mp_limb_t,
25624 );
25625}
25626extern "C" {
25627 pub fn _fmpq_poly_scalar_mul_fmpz(
25628 rpoly: *mut fmpz,
25629 rden: *mut fmpz,
25630 poly: *const fmpz,
25631 den: *mut fmpz,
25632 len: mp_limb_signed_t,
25633 c: *mut fmpz,
25634 );
25635}
25636extern "C" {
25637 pub fn _fmpq_poly_scalar_mul_fmpq(
25638 rpoly: *mut fmpz,
25639 rden: *mut fmpz,
25640 poly: *const fmpz,
25641 den: *mut fmpz,
25642 len: mp_limb_signed_t,
25643 r: *mut fmpz,
25644 s: *mut fmpz,
25645 );
25646}
25647extern "C" {
25648 pub fn fmpq_poly_scalar_mul_si(
25649 rop: *mut fmpq_poly_struct,
25650 op: *mut fmpq_poly_struct,
25651 c: mp_limb_signed_t,
25652 );
25653}
25654extern "C" {
25655 pub fn fmpq_poly_scalar_mul_ui(
25656 rop: *mut fmpq_poly_struct,
25657 op: *mut fmpq_poly_struct,
25658 c: mp_limb_t,
25659 );
25660}
25661extern "C" {
25662 pub fn fmpq_poly_scalar_mul_fmpz(
25663 rop: *mut fmpq_poly_struct,
25664 op: *mut fmpq_poly_struct,
25665 c: *mut fmpz,
25666 );
25667}
25668extern "C" {
25669 pub fn fmpq_poly_scalar_mul_fmpq(
25670 rop: *mut fmpq_poly_struct,
25671 op: *mut fmpq_poly_struct,
25672 c: *mut fmpq,
25673 );
25674}
25675extern "C" {
25676 pub fn fmpq_poly_scalar_mul_mpz(
25677 rop: *mut fmpq_poly_struct,
25678 op: *mut fmpq_poly_struct,
25679 c: *mut __mpz_struct,
25680 );
25681}
25682extern "C" {
25683 pub fn fmpq_poly_scalar_mul_mpq(
25684 rop: *mut fmpq_poly_struct,
25685 op: *mut fmpq_poly_struct,
25686 c: *mut __mpq_struct,
25687 );
25688}
25689extern "C" {
25690 pub fn _fmpq_poly_scalar_div_si(
25691 rpoly: *mut fmpz,
25692 rden: *mut fmpz,
25693 poly: *const fmpz,
25694 den: *mut fmpz,
25695 len: mp_limb_signed_t,
25696 c: mp_limb_signed_t,
25697 );
25698}
25699extern "C" {
25700 pub fn _fmpq_poly_scalar_div_ui(
25701 rpoly: *mut fmpz,
25702 rden: *mut fmpz,
25703 poly: *const fmpz,
25704 den: *mut fmpz,
25705 len: mp_limb_signed_t,
25706 c: mp_limb_t,
25707 );
25708}
25709extern "C" {
25710 pub fn _fmpq_poly_scalar_div_fmpz(
25711 rpoly: *mut fmpz,
25712 rden: *mut fmpz,
25713 poly: *const fmpz,
25714 den: *mut fmpz,
25715 len: mp_limb_signed_t,
25716 c: *mut fmpz,
25717 );
25718}
25719extern "C" {
25720 pub fn _fmpq_poly_scalar_div_fmpq(
25721 rpoly: *mut fmpz,
25722 rden: *mut fmpz,
25723 poly: *const fmpz,
25724 den: *mut fmpz,
25725 len: mp_limb_signed_t,
25726 r: *mut fmpz,
25727 s: *mut fmpz,
25728 );
25729}
25730extern "C" {
25731 pub fn fmpq_poly_scalar_div_si(
25732 rop: *mut fmpq_poly_struct,
25733 op: *mut fmpq_poly_struct,
25734 c: mp_limb_signed_t,
25735 );
25736}
25737extern "C" {
25738 pub fn fmpq_poly_scalar_div_ui(
25739 rop: *mut fmpq_poly_struct,
25740 op: *mut fmpq_poly_struct,
25741 c: mp_limb_t,
25742 );
25743}
25744extern "C" {
25745 pub fn fmpq_poly_scalar_div_fmpz(
25746 rop: *mut fmpq_poly_struct,
25747 op: *mut fmpq_poly_struct,
25748 c: *mut fmpz,
25749 );
25750}
25751extern "C" {
25752 pub fn fmpq_poly_scalar_div_fmpq(
25753 rop: *mut fmpq_poly_struct,
25754 op: *mut fmpq_poly_struct,
25755 c: *mut fmpq,
25756 );
25757}
25758extern "C" {
25759 pub fn fmpq_poly_scalar_div_mpz(
25760 rop: *mut fmpq_poly_struct,
25761 op: *mut fmpq_poly_struct,
25762 c: *mut __mpz_struct,
25763 );
25764}
25765extern "C" {
25766 pub fn fmpq_poly_scalar_div_mpq(
25767 rop: *mut fmpq_poly_struct,
25768 op: *mut fmpq_poly_struct,
25769 c: *mut __mpq_struct,
25770 );
25771}
25772extern "C" {
25773 pub fn _fmpq_poly_mul(
25774 rpoly: *mut fmpz,
25775 rden: *mut fmpz,
25776 poly1: *const fmpz,
25777 den1: *mut fmpz,
25778 len1: mp_limb_signed_t,
25779 poly2: *const fmpz,
25780 den2: *mut fmpz,
25781 len2: mp_limb_signed_t,
25782 );
25783}
25784extern "C" {
25785 pub fn fmpq_poly_mul(
25786 res: *mut fmpq_poly_struct,
25787 poly1: *mut fmpq_poly_struct,
25788 poly2: *mut fmpq_poly_struct,
25789 );
25790}
25791extern "C" {
25792 pub fn _fmpq_poly_mullow(
25793 rpoly: *mut fmpz,
25794 rden: *mut fmpz,
25795 poly1: *const fmpz,
25796 den1: *mut fmpz,
25797 len1: mp_limb_signed_t,
25798 poly2: *const fmpz,
25799 den2: *mut fmpz,
25800 len2: mp_limb_signed_t,
25801 n: mp_limb_signed_t,
25802 );
25803}
25804extern "C" {
25805 pub fn fmpq_poly_mullow(
25806 res: *mut fmpq_poly_struct,
25807 poly1: *mut fmpq_poly_struct,
25808 poly2: *mut fmpq_poly_struct,
25809 n: mp_limb_signed_t,
25810 );
25811}
25812extern "C" {
25813 pub fn fmpq_poly_addmul(
25814 rop: *mut fmpq_poly_struct,
25815 op1: *mut fmpq_poly_struct,
25816 op2: *mut fmpq_poly_struct,
25817 );
25818}
25819extern "C" {
25820 pub fn fmpq_poly_submul(
25821 rop: *mut fmpq_poly_struct,
25822 op1: *mut fmpq_poly_struct,
25823 op2: *mut fmpq_poly_struct,
25824 );
25825}
25826extern "C" {
25827 pub fn _fmpq_poly_pow(
25828 rpoly: *mut fmpz,
25829 rden: *mut fmpz,
25830 poly: *const fmpz,
25831 den: *mut fmpz,
25832 len: mp_limb_signed_t,
25833 e: mp_limb_t,
25834 );
25835}
25836extern "C" {
25837 pub fn fmpq_poly_pow(rpoly: *mut fmpq_poly_struct, poly: *mut fmpq_poly_struct, e: mp_limb_t);
25838}
25839extern "C" {
25840 pub fn _fmpq_poly_pow_trunc(
25841 res: *mut fmpz,
25842 resden: *mut fmpz,
25843 f: *const fmpz,
25844 fden: *mut fmpz,
25845 flen: mp_limb_signed_t,
25846 exp: mp_limb_t,
25847 len: mp_limb_signed_t,
25848 );
25849}
25850extern "C" {
25851 pub fn fmpq_poly_pow_trunc(
25852 res: *mut fmpq_poly_struct,
25853 poly: *mut fmpq_poly_struct,
25854 exp: mp_limb_t,
25855 len: mp_limb_signed_t,
25856 );
25857}
25858extern "C" {
25859 pub fn fmpq_poly_shift_left(
25860 res: *mut fmpq_poly_struct,
25861 poly: *mut fmpq_poly_struct,
25862 n: mp_limb_signed_t,
25863 );
25864}
25865extern "C" {
25866 pub fn fmpq_poly_shift_right(
25867 res: *mut fmpq_poly_struct,
25868 poly: *mut fmpq_poly_struct,
25869 n: mp_limb_signed_t,
25870 );
25871}
25872extern "C" {
25873 pub fn _fmpq_poly_divrem(
25874 Q: *mut fmpz,
25875 q: *mut fmpz,
25876 R: *mut fmpz,
25877 r: *mut fmpz,
25878 A: *const fmpz,
25879 a: *mut fmpz,
25880 lenA: mp_limb_signed_t,
25881 B: *const fmpz,
25882 b: *mut fmpz,
25883 lenB: mp_limb_signed_t,
25884 inv: *mut fmpz_preinvn_struct,
25885 );
25886}
25887extern "C" {
25888 pub fn fmpq_poly_divrem(
25889 Q: *mut fmpq_poly_struct,
25890 R: *mut fmpq_poly_struct,
25891 poly1: *mut fmpq_poly_struct,
25892 poly2: *mut fmpq_poly_struct,
25893 );
25894}
25895extern "C" {
25896 pub fn _fmpq_poly_div(
25897 Q: *mut fmpz,
25898 q: *mut fmpz,
25899 A: *const fmpz,
25900 a: *mut fmpz,
25901 lenA: mp_limb_signed_t,
25902 B: *const fmpz,
25903 b: *mut fmpz,
25904 lenB: mp_limb_signed_t,
25905 inv: *mut fmpz_preinvn_struct,
25906 );
25907}
25908extern "C" {
25909 pub fn fmpq_poly_div(
25910 Q: *mut fmpq_poly_struct,
25911 poly1: *mut fmpq_poly_struct,
25912 poly2: *mut fmpq_poly_struct,
25913 );
25914}
25915extern "C" {
25916 pub fn _fmpq_poly_rem(
25917 R: *mut fmpz,
25918 r: *mut fmpz,
25919 A: *const fmpz,
25920 a: *mut fmpz,
25921 lenA: mp_limb_signed_t,
25922 B: *const fmpz,
25923 b: *mut fmpz,
25924 lenB: mp_limb_signed_t,
25925 inv: *mut fmpz_preinvn_struct,
25926 );
25927}
25928extern "C" {
25929 pub fn fmpq_poly_rem(
25930 R: *mut fmpq_poly_struct,
25931 poly1: *mut fmpq_poly_struct,
25932 poly2: *mut fmpq_poly_struct,
25933 );
25934}
25935extern "C" {
25936 pub fn _fmpq_poly_powers_precompute(
25937 B: *const fmpz,
25938 denB: *mut fmpz,
25939 len: mp_limb_signed_t,
25940 ) -> *mut fmpq_poly_struct;
25941}
25942extern "C" {
25943 pub fn fmpq_poly_powers_precompute(
25944 pinv: *mut fmpq_poly_powers_precomp_struct,
25945 poly: *mut fmpq_poly_struct,
25946 );
25947}
25948extern "C" {
25949 pub fn _fmpq_poly_powers_clear(powers: *mut fmpq_poly_struct, len: mp_limb_signed_t);
25950}
25951extern "C" {
25952 pub fn fmpq_poly_powers_clear(pinv: *mut fmpq_poly_powers_precomp_struct);
25953}
25954extern "C" {
25955 pub fn _fmpq_poly_rem_powers_precomp(
25956 A: *mut fmpz,
25957 denA: *mut fmpz,
25958 m: mp_limb_signed_t,
25959 B: *const fmpz,
25960 denB: *mut fmpz,
25961 n: mp_limb_signed_t,
25962 powers: *mut fmpq_poly_struct,
25963 );
25964}
25965extern "C" {
25966 pub fn fmpq_poly_rem_powers_precomp(
25967 R: *mut fmpq_poly_struct,
25968 A: *mut fmpq_poly_struct,
25969 B: *mut fmpq_poly_struct,
25970 B_inv: *mut fmpq_poly_powers_precomp_struct,
25971 );
25972}
25973extern "C" {
25974 pub fn _fmpq_poly_divides(
25975 qpoly: *mut fmpz,
25976 qden: *mut fmpz,
25977 poly1: *const fmpz,
25978 den1: *mut fmpz,
25979 len1: mp_limb_signed_t,
25980 poly2: *const fmpz,
25981 den2: *mut fmpz,
25982 len2: mp_limb_signed_t,
25983 ) -> ::std::os::raw::c_int;
25984}
25985extern "C" {
25986 pub fn fmpq_poly_divides(
25987 q: *mut fmpq_poly_struct,
25988 poly1: *mut fmpq_poly_struct,
25989 poly2: *mut fmpq_poly_struct,
25990 ) -> ::std::os::raw::c_int;
25991}
25992extern "C" {
25993 pub fn fmpq_poly_remove(
25994 q: *mut fmpq_poly_struct,
25995 poly1: *mut fmpq_poly_struct,
25996 poly2: *mut fmpq_poly_struct,
25997 ) -> mp_limb_signed_t;
25998}
25999extern "C" {
26000 pub fn _fmpq_poly_inv_series_newton(
26001 Qinv: *mut fmpz,
26002 Qinvden: *mut fmpz,
26003 Q: *const fmpz,
26004 Qden: *mut fmpz,
26005 Qlen: mp_limb_signed_t,
26006 n: mp_limb_signed_t,
26007 );
26008}
26009extern "C" {
26010 pub fn fmpq_poly_inv_series_newton(
26011 Qinv: *mut fmpq_poly_struct,
26012 Q: *mut fmpq_poly_struct,
26013 n: mp_limb_signed_t,
26014 );
26015}
26016extern "C" {
26017 pub fn _fmpq_poly_inv_series(
26018 Qinv: *mut fmpz,
26019 Qinvden: *mut fmpz,
26020 Q: *const fmpz,
26021 Qden: *mut fmpz,
26022 Qlen: mp_limb_signed_t,
26023 n: mp_limb_signed_t,
26024 );
26025}
26026extern "C" {
26027 pub fn fmpq_poly_inv_series(
26028 Qinv: *mut fmpq_poly_struct,
26029 Q: *mut fmpq_poly_struct,
26030 n: mp_limb_signed_t,
26031 );
26032}
26033extern "C" {
26034 pub fn _fmpq_poly_div_series(
26035 Q: *mut fmpz,
26036 denQ: *mut fmpz,
26037 A: *const fmpz,
26038 denA: *mut fmpz,
26039 lenA: mp_limb_signed_t,
26040 B: *const fmpz,
26041 denB: *mut fmpz,
26042 lenB: mp_limb_signed_t,
26043 n: mp_limb_signed_t,
26044 );
26045}
26046extern "C" {
26047 pub fn fmpq_poly_div_series(
26048 Q: *mut fmpq_poly_struct,
26049 A: *mut fmpq_poly_struct,
26050 B: *mut fmpq_poly_struct,
26051 n: mp_limb_signed_t,
26052 );
26053}
26054extern "C" {
26055 pub fn _fmpq_poly_gcd(
26056 G: *mut fmpz,
26057 denG: *mut fmpz,
26058 A: *const fmpz,
26059 lenA: mp_limb_signed_t,
26060 B: *const fmpz,
26061 lenB: mp_limb_signed_t,
26062 );
26063}
26064extern "C" {
26065 pub fn fmpq_poly_gcd(
26066 G: *mut fmpq_poly_struct,
26067 A: *mut fmpq_poly_struct,
26068 B: *mut fmpq_poly_struct,
26069 );
26070}
26071extern "C" {
26072 pub fn _fmpq_poly_xgcd(
26073 G: *mut fmpz,
26074 denG: *mut fmpz,
26075 S: *mut fmpz,
26076 denS: *mut fmpz,
26077 T: *mut fmpz,
26078 denT: *mut fmpz,
26079 A: *const fmpz,
26080 denA: *mut fmpz,
26081 lenA: mp_limb_signed_t,
26082 B: *const fmpz,
26083 denB: *mut fmpz,
26084 lenB: mp_limb_signed_t,
26085 );
26086}
26087extern "C" {
26088 pub fn fmpq_poly_xgcd(
26089 G: *mut fmpq_poly_struct,
26090 S: *mut fmpq_poly_struct,
26091 T: *mut fmpq_poly_struct,
26092 A: *mut fmpq_poly_struct,
26093 B: *mut fmpq_poly_struct,
26094 );
26095}
26096extern "C" {
26097 pub fn _fmpq_poly_lcm(
26098 G: *mut fmpz,
26099 denG: *mut fmpz,
26100 A: *const fmpz,
26101 lenA: mp_limb_signed_t,
26102 B: *const fmpz,
26103 lenB: mp_limb_signed_t,
26104 );
26105}
26106extern "C" {
26107 pub fn fmpq_poly_lcm(
26108 L: *mut fmpq_poly_struct,
26109 A: *mut fmpq_poly_struct,
26110 B: *mut fmpq_poly_struct,
26111 );
26112}
26113extern "C" {
26114 pub fn _fmpq_poly_resultant(
26115 rnum: *mut fmpz,
26116 rden: *mut fmpz,
26117 poly1: *const fmpz,
26118 den1: *mut fmpz,
26119 len1: mp_limb_signed_t,
26120 poly2: *const fmpz,
26121 den2: *mut fmpz,
26122 len2: mp_limb_signed_t,
26123 );
26124}
26125extern "C" {
26126 pub fn fmpq_poly_resultant(r: *mut fmpq, f: *mut fmpq_poly_struct, g: *mut fmpq_poly_struct);
26127}
26128extern "C" {
26129 pub fn _fmpq_poly_resultant_div(
26130 rnum: *mut fmpz,
26131 rden: *mut fmpz,
26132 poly1: *const fmpz,
26133 den1: *mut fmpz,
26134 len1: mp_limb_signed_t,
26135 poly2: *const fmpz,
26136 den2: *mut fmpz,
26137 len2: mp_limb_signed_t,
26138 divisor: *mut fmpz,
26139 nbits: mp_limb_signed_t,
26140 );
26141}
26142extern "C" {
26143 pub fn fmpq_poly_resultant_div(
26144 r: *mut fmpq,
26145 f: *mut fmpq_poly_struct,
26146 g: *mut fmpq_poly_struct,
26147 divisor: *mut fmpz,
26148 nbits: mp_limb_signed_t,
26149 );
26150}
26151extern "C" {
26152 pub fn _fmpq_poly_derivative(
26153 rpoly: *mut fmpz,
26154 rden: *mut fmpz,
26155 poly: *const fmpz,
26156 den: *mut fmpz,
26157 len: mp_limb_signed_t,
26158 );
26159}
26160extern "C" {
26161 pub fn fmpq_poly_derivative(res: *mut fmpq_poly_struct, poly: *mut fmpq_poly_struct);
26162}
26163extern "C" {
26164 pub fn _fmpq_poly_integral(
26165 rpoly: *mut fmpz,
26166 rden: *mut fmpz,
26167 poly: *const fmpz,
26168 den: *mut fmpz,
26169 len: mp_limb_signed_t,
26170 );
26171}
26172extern "C" {
26173 pub fn fmpq_poly_integral(res: *mut fmpq_poly_struct, poly: *mut fmpq_poly_struct);
26174}
26175extern "C" {
26176 pub fn _fmpq_poly_invsqrt_series(
26177 rpoly: *mut fmpz,
26178 rden: *mut fmpz,
26179 poly: *const fmpz,
26180 den: *mut fmpz,
26181 len: mp_limb_signed_t,
26182 n: mp_limb_signed_t,
26183 );
26184}
26185extern "C" {
26186 pub fn fmpq_poly_invsqrt_series(
26187 res: *mut fmpq_poly_struct,
26188 poly: *mut fmpq_poly_struct,
26189 n: mp_limb_signed_t,
26190 );
26191}
26192extern "C" {
26193 pub fn _fmpq_poly_sqrt_series(
26194 rpoly: *mut fmpz,
26195 rden: *mut fmpz,
26196 poly: *const fmpz,
26197 den: *mut fmpz,
26198 len: mp_limb_signed_t,
26199 n: mp_limb_signed_t,
26200 );
26201}
26202extern "C" {
26203 pub fn fmpq_poly_sqrt_series(
26204 res: *mut fmpq_poly_struct,
26205 poly: *mut fmpq_poly_struct,
26206 n: mp_limb_signed_t,
26207 );
26208}
26209extern "C" {
26210 pub fn _fmpq_poly_power_sums(
26211 res: *mut fmpz,
26212 rden: *mut fmpz,
26213 poly: *const fmpz,
26214 len: mp_limb_signed_t,
26215 n: mp_limb_signed_t,
26216 );
26217}
26218extern "C" {
26219 pub fn fmpq_poly_power_sums(
26220 res: *mut fmpq_poly_struct,
26221 poly: *mut fmpq_poly_struct,
26222 n: mp_limb_signed_t,
26223 );
26224}
26225extern "C" {
26226 pub fn _fmpq_poly_power_sums_to_poly(
26227 res: *mut fmpz,
26228 poly: *const fmpz,
26229 den: *mut fmpz,
26230 len: mp_limb_signed_t,
26231 );
26232}
26233extern "C" {
26234 pub fn fmpq_poly_power_sums_to_fmpz_poly(res: *mut fmpz_poly_struct, Q: *mut fmpq_poly_struct);
26235}
26236extern "C" {
26237 pub fn fmpq_poly_power_sums_to_poly(res: *mut fmpq_poly_struct, Q: *mut fmpq_poly_struct);
26238}
26239extern "C" {
26240 pub fn _fmpq_poly_log_series(
26241 g: *mut fmpz,
26242 gden: *mut fmpz,
26243 f: *const fmpz,
26244 fden: *mut fmpz,
26245 flen: mp_limb_signed_t,
26246 n: mp_limb_signed_t,
26247 );
26248}
26249extern "C" {
26250 pub fn fmpq_poly_log_series(
26251 res: *mut fmpq_poly_struct,
26252 f: *mut fmpq_poly_struct,
26253 n: mp_limb_signed_t,
26254 );
26255}
26256extern "C" {
26257 pub fn _fmpq_poly_exp_series(
26258 g: *mut fmpz,
26259 gden: *mut fmpz,
26260 h: *const fmpz,
26261 hden: *mut fmpz,
26262 hlen: mp_limb_signed_t,
26263 n: mp_limb_signed_t,
26264 );
26265}
26266extern "C" {
26267 pub fn fmpq_poly_exp_series(
26268 res: *mut fmpq_poly_struct,
26269 poly: *mut fmpq_poly_struct,
26270 n: mp_limb_signed_t,
26271 );
26272}
26273extern "C" {
26274 pub fn _fmpq_poly_atan_series(
26275 g: *mut fmpz,
26276 gden: *mut fmpz,
26277 h: *const fmpz,
26278 hden: *mut fmpz,
26279 hlen: mp_limb_signed_t,
26280 n: mp_limb_signed_t,
26281 );
26282}
26283extern "C" {
26284 pub fn fmpq_poly_atan_series(
26285 res: *mut fmpq_poly_struct,
26286 poly: *mut fmpq_poly_struct,
26287 n: mp_limb_signed_t,
26288 );
26289}
26290extern "C" {
26291 pub fn _fmpq_poly_atanh_series(
26292 g: *mut fmpz,
26293 gden: *mut fmpz,
26294 h: *const fmpz,
26295 hden: *mut fmpz,
26296 hlen: mp_limb_signed_t,
26297 n: mp_limb_signed_t,
26298 );
26299}
26300extern "C" {
26301 pub fn fmpq_poly_atanh_series(
26302 res: *mut fmpq_poly_struct,
26303 poly: *mut fmpq_poly_struct,
26304 n: mp_limb_signed_t,
26305 );
26306}
26307extern "C" {
26308 pub fn _fmpq_poly_asin_series(
26309 g: *mut fmpz,
26310 gden: *mut fmpz,
26311 h: *const fmpz,
26312 hden: *mut fmpz,
26313 hlen: mp_limb_signed_t,
26314 n: mp_limb_signed_t,
26315 );
26316}
26317extern "C" {
26318 pub fn fmpq_poly_asin_series(
26319 res: *mut fmpq_poly_struct,
26320 poly: *mut fmpq_poly_struct,
26321 n: mp_limb_signed_t,
26322 );
26323}
26324extern "C" {
26325 pub fn _fmpq_poly_asinh_series(
26326 g: *mut fmpz,
26327 gden: *mut fmpz,
26328 h: *const fmpz,
26329 hden: *mut fmpz,
26330 hlen: mp_limb_signed_t,
26331 n: mp_limb_signed_t,
26332 );
26333}
26334extern "C" {
26335 pub fn fmpq_poly_asinh_series(
26336 res: *mut fmpq_poly_struct,
26337 poly: *mut fmpq_poly_struct,
26338 n: mp_limb_signed_t,
26339 );
26340}
26341extern "C" {
26342 pub fn _fmpq_poly_tan_series(
26343 g: *mut fmpz,
26344 gden: *mut fmpz,
26345 h: *const fmpz,
26346 hden: *mut fmpz,
26347 hlen: mp_limb_signed_t,
26348 n: mp_limb_signed_t,
26349 );
26350}
26351extern "C" {
26352 pub fn fmpq_poly_tan_series(
26353 res: *mut fmpq_poly_struct,
26354 poly: *mut fmpq_poly_struct,
26355 n: mp_limb_signed_t,
26356 );
26357}
26358extern "C" {
26359 pub fn _fmpq_poly_sin_series(
26360 g: *mut fmpz,
26361 gden: *mut fmpz,
26362 h: *const fmpz,
26363 hden: *mut fmpz,
26364 hlen: mp_limb_signed_t,
26365 n: mp_limb_signed_t,
26366 );
26367}
26368extern "C" {
26369 pub fn fmpq_poly_sin_series(
26370 res: *mut fmpq_poly_struct,
26371 poly: *mut fmpq_poly_struct,
26372 n: mp_limb_signed_t,
26373 );
26374}
26375extern "C" {
26376 pub fn _fmpq_poly_cos_series(
26377 g: *mut fmpz,
26378 gden: *mut fmpz,
26379 h: *const fmpz,
26380 hden: *mut fmpz,
26381 hlen: mp_limb_signed_t,
26382 n: mp_limb_signed_t,
26383 );
26384}
26385extern "C" {
26386 pub fn fmpq_poly_cos_series(
26387 res: *mut fmpq_poly_struct,
26388 poly: *mut fmpq_poly_struct,
26389 n: mp_limb_signed_t,
26390 );
26391}
26392extern "C" {
26393 pub fn _fmpq_poly_sin_cos_series(
26394 s: *mut fmpz,
26395 sden: *mut fmpz,
26396 c: *mut fmpz,
26397 cden: *mut fmpz,
26398 h: *const fmpz,
26399 hden: *mut fmpz,
26400 hlen: mp_limb_signed_t,
26401 n: mp_limb_signed_t,
26402 );
26403}
26404extern "C" {
26405 pub fn fmpq_poly_sin_cos_series(
26406 res1: *mut fmpq_poly_struct,
26407 res2: *mut fmpq_poly_struct,
26408 poly: *mut fmpq_poly_struct,
26409 n: mp_limb_signed_t,
26410 );
26411}
26412extern "C" {
26413 pub fn _fmpq_poly_sinh_series(
26414 g: *mut fmpz,
26415 gden: *mut fmpz,
26416 h: *const fmpz,
26417 hden: *mut fmpz,
26418 hlen: mp_limb_signed_t,
26419 n: mp_limb_signed_t,
26420 );
26421}
26422extern "C" {
26423 pub fn fmpq_poly_sinh_series(
26424 res: *mut fmpq_poly_struct,
26425 poly: *mut fmpq_poly_struct,
26426 n: mp_limb_signed_t,
26427 );
26428}
26429extern "C" {
26430 pub fn _fmpq_poly_cosh_series(
26431 g: *mut fmpz,
26432 gden: *mut fmpz,
26433 h: *const fmpz,
26434 hden: *mut fmpz,
26435 hlen: mp_limb_signed_t,
26436 n: mp_limb_signed_t,
26437 );
26438}
26439extern "C" {
26440 pub fn fmpq_poly_cosh_series(
26441 res: *mut fmpq_poly_struct,
26442 poly: *mut fmpq_poly_struct,
26443 n: mp_limb_signed_t,
26444 );
26445}
26446extern "C" {
26447 pub fn _fmpq_poly_tanh_series(
26448 g: *mut fmpz,
26449 gden: *mut fmpz,
26450 h: *const fmpz,
26451 hden: *mut fmpz,
26452 hlen: mp_limb_signed_t,
26453 n: mp_limb_signed_t,
26454 );
26455}
26456extern "C" {
26457 pub fn fmpq_poly_tanh_series(
26458 res: *mut fmpq_poly_struct,
26459 poly: *mut fmpq_poly_struct,
26460 n: mp_limb_signed_t,
26461 );
26462}
26463extern "C" {
26464 pub fn _fmpq_poly_legendre_p(coeffs: *mut fmpz, den: *mut fmpz, n: mp_limb_t);
26465}
26466extern "C" {
26467 pub fn fmpq_poly_legendre_p(poly: *mut fmpq_poly_struct, n: mp_limb_t);
26468}
26469extern "C" {
26470 pub fn _fmpq_poly_laguerre_l(coeffs: *mut fmpz, den: *mut fmpz, n: mp_limb_t);
26471}
26472extern "C" {
26473 pub fn fmpq_poly_laguerre_l(poly: *mut fmpq_poly_struct, n: mp_limb_t);
26474}
26475extern "C" {
26476 pub fn _fmpq_poly_gegenbauer_c(coeffs: *mut fmpz, den: *mut fmpz, n: mp_limb_t, a: *mut fmpq);
26477}
26478extern "C" {
26479 pub fn fmpq_poly_gegenbauer_c(poly: *mut fmpq_poly_struct, n: mp_limb_t, a: *mut fmpq);
26480}
26481extern "C" {
26482 pub fn _fmpq_poly_evaluate_fmpz(
26483 rnum: *mut fmpz,
26484 rden: *mut fmpz,
26485 poly: *const fmpz,
26486 den: *mut fmpz,
26487 len: mp_limb_signed_t,
26488 a: *mut fmpz,
26489 );
26490}
26491extern "C" {
26492 pub fn fmpq_poly_evaluate_fmpz(res: *mut fmpq, poly: *mut fmpq_poly_struct, a: *mut fmpz);
26493}
26494extern "C" {
26495 pub fn _fmpq_poly_evaluate_fmpq(
26496 rnum: *mut fmpz,
26497 rden: *mut fmpz,
26498 poly: *const fmpz,
26499 den: *mut fmpz,
26500 len: mp_limb_signed_t,
26501 anum: *mut fmpz,
26502 aden: *mut fmpz,
26503 );
26504}
26505extern "C" {
26506 pub fn fmpq_poly_evaluate_fmpq(res: *mut fmpq, poly: *mut fmpq_poly_struct, a: *mut fmpq);
26507}
26508extern "C" {
26509 pub fn fmpq_poly_evaluate_mpz(
26510 res: *mut __mpq_struct,
26511 poly: *mut fmpq_poly_struct,
26512 a: *mut __mpz_struct,
26513 );
26514}
26515extern "C" {
26516 pub fn fmpq_poly_evaluate_mpq(
26517 res: *mut __mpq_struct,
26518 poly: *mut fmpq_poly_struct,
26519 a: *mut __mpq_struct,
26520 );
26521}
26522extern "C" {
26523 pub fn _fmpq_poly_interpolate_fmpz_vec(
26524 poly: *mut fmpz,
26525 den: *mut fmpz,
26526 xs: *const fmpz,
26527 ys: *const fmpz,
26528 n: mp_limb_signed_t,
26529 );
26530}
26531extern "C" {
26532 pub fn fmpq_poly_interpolate_fmpz_vec(
26533 poly: *mut fmpq_poly_struct,
26534 xs: *const fmpz,
26535 ys: *const fmpz,
26536 n: mp_limb_signed_t,
26537 );
26538}
26539extern "C" {
26540 pub fn _fmpq_poly_compose(
26541 res: *mut fmpz,
26542 den: *mut fmpz,
26543 poly1: *const fmpz,
26544 den1: *mut fmpz,
26545 len1: mp_limb_signed_t,
26546 poly2: *const fmpz,
26547 den2: *mut fmpz,
26548 len2: mp_limb_signed_t,
26549 );
26550}
26551extern "C" {
26552 pub fn fmpq_poly_compose(
26553 res: *mut fmpq_poly_struct,
26554 poly1: *mut fmpq_poly_struct,
26555 poly2: *mut fmpq_poly_struct,
26556 );
26557}
26558extern "C" {
26559 pub fn _fmpq_poly_rescale(
26560 res: *mut fmpz,
26561 denr: *mut fmpz,
26562 poly: *const fmpz,
26563 den: *mut fmpz,
26564 len: mp_limb_signed_t,
26565 xnum: *mut fmpz,
26566 xden: *mut fmpz,
26567 );
26568}
26569extern "C" {
26570 pub fn fmpq_poly_rescale(res: *mut fmpq_poly_struct, poly: *mut fmpq_poly_struct, x: *mut fmpq);
26571}
26572extern "C" {
26573 pub fn _fmpq_poly_compose_series_horner(
26574 res: *mut fmpz,
26575 den: *mut fmpz,
26576 poly1: *const fmpz,
26577 den1: *mut fmpz,
26578 len1: mp_limb_signed_t,
26579 poly2: *const fmpz,
26580 den2: *mut fmpz,
26581 len2: mp_limb_signed_t,
26582 n: mp_limb_signed_t,
26583 );
26584}
26585extern "C" {
26586 pub fn fmpq_poly_compose_series_horner(
26587 res: *mut fmpq_poly_struct,
26588 poly1: *mut fmpq_poly_struct,
26589 poly2: *mut fmpq_poly_struct,
26590 n: mp_limb_signed_t,
26591 );
26592}
26593extern "C" {
26594 pub fn _fmpq_poly_compose_series_brent_kung(
26595 res: *mut fmpz,
26596 den: *mut fmpz,
26597 poly1: *const fmpz,
26598 den1: *mut fmpz,
26599 len1: mp_limb_signed_t,
26600 poly2: *const fmpz,
26601 den2: *mut fmpz,
26602 len2: mp_limb_signed_t,
26603 n: mp_limb_signed_t,
26604 );
26605}
26606extern "C" {
26607 pub fn fmpq_poly_compose_series_brent_kung(
26608 res: *mut fmpq_poly_struct,
26609 poly1: *mut fmpq_poly_struct,
26610 poly2: *mut fmpq_poly_struct,
26611 n: mp_limb_signed_t,
26612 );
26613}
26614extern "C" {
26615 pub fn _fmpq_poly_compose_series(
26616 res: *mut fmpz,
26617 den: *mut fmpz,
26618 poly1: *const fmpz,
26619 den1: *mut fmpz,
26620 len1: mp_limb_signed_t,
26621 poly2: *const fmpz,
26622 den2: *mut fmpz,
26623 len2: mp_limb_signed_t,
26624 n: mp_limb_signed_t,
26625 );
26626}
26627extern "C" {
26628 pub fn fmpq_poly_compose_series(
26629 res: *mut fmpq_poly_struct,
26630 poly1: *mut fmpq_poly_struct,
26631 poly2: *mut fmpq_poly_struct,
26632 n: mp_limb_signed_t,
26633 );
26634}
26635extern "C" {
26636 pub fn _fmpq_poly_revert_series_lagrange(
26637 res: *mut fmpz,
26638 den: *mut fmpz,
26639 poly1: *const fmpz,
26640 den1: *mut fmpz,
26641 len1: mp_limb_signed_t,
26642 n: mp_limb_signed_t,
26643 );
26644}
26645extern "C" {
26646 pub fn fmpq_poly_revert_series_lagrange(
26647 res: *mut fmpq_poly_struct,
26648 poly: *mut fmpq_poly_struct,
26649 n: mp_limb_signed_t,
26650 );
26651}
26652extern "C" {
26653 pub fn _fmpq_poly_revert_series_lagrange_fast(
26654 res: *mut fmpz,
26655 den: *mut fmpz,
26656 poly1: *const fmpz,
26657 den1: *mut fmpz,
26658 len1: mp_limb_signed_t,
26659 n: mp_limb_signed_t,
26660 );
26661}
26662extern "C" {
26663 pub fn fmpq_poly_revert_series_lagrange_fast(
26664 res: *mut fmpq_poly_struct,
26665 poly: *mut fmpq_poly_struct,
26666 n: mp_limb_signed_t,
26667 );
26668}
26669extern "C" {
26670 pub fn _fmpq_poly_revert_series_newton(
26671 res: *mut fmpz,
26672 den: *mut fmpz,
26673 poly1: *const fmpz,
26674 den1: *mut fmpz,
26675 len1: mp_limb_signed_t,
26676 n: mp_limb_signed_t,
26677 );
26678}
26679extern "C" {
26680 pub fn fmpq_poly_revert_series_newton(
26681 res: *mut fmpq_poly_struct,
26682 poly: *mut fmpq_poly_struct,
26683 n: mp_limb_signed_t,
26684 );
26685}
26686extern "C" {
26687 pub fn _fmpq_poly_revert_series(
26688 res: *mut fmpz,
26689 den: *mut fmpz,
26690 poly1: *const fmpz,
26691 den1: *mut fmpz,
26692 len1: mp_limb_signed_t,
26693 n: mp_limb_signed_t,
26694 );
26695}
26696extern "C" {
26697 pub fn fmpq_poly_revert_series(
26698 res: *mut fmpq_poly_struct,
26699 poly: *mut fmpq_poly_struct,
26700 n: mp_limb_signed_t,
26701 );
26702}
26703extern "C" {
26704 pub fn _fmpq_poly_content(
26705 res: *mut fmpq,
26706 poly: *const fmpz,
26707 den: *mut fmpz,
26708 len: mp_limb_signed_t,
26709 );
26710}
26711extern "C" {
26712 pub fn fmpq_poly_content(res: *mut fmpq, poly: *mut fmpq_poly_struct);
26713}
26714extern "C" {
26715 pub fn _fmpq_poly_primitive_part(
26716 rpoly: *mut fmpz,
26717 rden: *mut fmpz,
26718 poly: *const fmpz,
26719 den: *mut fmpz,
26720 len: mp_limb_signed_t,
26721 );
26722}
26723extern "C" {
26724 pub fn fmpq_poly_primitive_part(res: *mut fmpq_poly_struct, poly: *mut fmpq_poly_struct);
26725}
26726extern "C" {
26727 pub fn _fmpq_poly_is_monic(
26728 poly: *const fmpz,
26729 den: *mut fmpz,
26730 len: mp_limb_signed_t,
26731 ) -> ::std::os::raw::c_int;
26732}
26733extern "C" {
26734 pub fn fmpq_poly_is_monic(poly: *mut fmpq_poly_struct) -> ::std::os::raw::c_int;
26735}
26736extern "C" {
26737 pub fn _fmpq_poly_make_monic(
26738 rpoly: *mut fmpz,
26739 rden: *mut fmpz,
26740 poly: *const fmpz,
26741 den: *mut fmpz,
26742 len: mp_limb_signed_t,
26743 );
26744}
26745extern "C" {
26746 pub fn fmpq_poly_make_monic(res: *mut fmpq_poly_struct, poly: *mut fmpq_poly_struct);
26747}
26748extern "C" {
26749 pub fn fmpq_poly_is_squarefree(poly: *mut fmpq_poly_struct) -> ::std::os::raw::c_int;
26750}
26751extern "C" {
26752 pub fn fmpq_poly_debug(poly: *mut fmpq_poly_struct) -> ::std::os::raw::c_int;
26753}
26754extern "C" {
26755 pub fn _fmpq_poly_fprint(
26756 file: *mut FILE,
26757 poly: *const fmpz,
26758 den: *mut fmpz,
26759 len: mp_limb_signed_t,
26760 ) -> ::std::os::raw::c_int;
26761}
26762extern "C" {
26763 pub fn fmpq_poly_fprint(file: *mut FILE, poly: *mut fmpq_poly_struct) -> ::std::os::raw::c_int;
26764}
26765extern "C" {
26766 pub fn _fmpq_poly_fprint_pretty(
26767 file: *mut FILE,
26768 poly: *const fmpz,
26769 den: *mut fmpz,
26770 len: mp_limb_signed_t,
26771 x: *const ::std::os::raw::c_char,
26772 ) -> ::std::os::raw::c_int;
26773}
26774extern "C" {
26775 pub fn fmpq_poly_fprint_pretty(
26776 file: *mut FILE,
26777 poly: *mut fmpq_poly_struct,
26778 var: *const ::std::os::raw::c_char,
26779 ) -> ::std::os::raw::c_int;
26780}
26781extern "C" {
26782 pub fn _fmpq_poly_print(
26783 poly: *const fmpz,
26784 den: *mut fmpz,
26785 len: mp_limb_signed_t,
26786 ) -> ::std::os::raw::c_int;
26787}
26788extern "C" {
26789 pub fn fmpq_poly_print(poly: *mut fmpq_poly_struct) -> ::std::os::raw::c_int;
26790}
26791extern "C" {
26792 pub fn _fmpq_poly_print_pretty(
26793 poly: *const fmpz,
26794 den: *mut fmpz,
26795 len: mp_limb_signed_t,
26796 x: *const ::std::os::raw::c_char,
26797 ) -> ::std::os::raw::c_int;
26798}
26799extern "C" {
26800 pub fn fmpq_poly_print_pretty(
26801 poly: *mut fmpq_poly_struct,
26802 var: *const ::std::os::raw::c_char,
26803 ) -> ::std::os::raw::c_int;
26804}
26805extern "C" {
26806 pub fn fmpq_poly_fread(file: *mut FILE, poly: *mut fmpq_poly_struct) -> ::std::os::raw::c_int;
26807}
26808extern "C" {
26809 pub fn fmpq_poly_read(poly: *mut fmpq_poly_struct) -> ::std::os::raw::c_int;
26810}
26811#[repr(C)]
26812#[derive(Debug, Copy, Clone)]
26813pub struct fmpq_mat_struct {
26814 pub entries: *mut fmpq,
26815 pub r: mp_limb_signed_t,
26816 pub c: mp_limb_signed_t,
26817 pub rows: *mut *mut fmpq,
26818}
26819#[test]
26820fn bindgen_test_layout_fmpq_mat_struct() {
26821 assert_eq!(
26822 ::std::mem::size_of::<fmpq_mat_struct>(),
26823 32usize,
26824 concat!("Size of: ", stringify!(fmpq_mat_struct))
26825 );
26826 assert_eq!(
26827 ::std::mem::align_of::<fmpq_mat_struct>(),
26828 8usize,
26829 concat!("Alignment of ", stringify!(fmpq_mat_struct))
26830 );
26831 assert_eq!(
26832 unsafe { &(*(::std::ptr::null::<fmpq_mat_struct>())).entries as *const _ as usize },
26833 0usize,
26834 concat!(
26835 "Offset of field: ",
26836 stringify!(fmpq_mat_struct),
26837 "::",
26838 stringify!(entries)
26839 )
26840 );
26841 assert_eq!(
26842 unsafe { &(*(::std::ptr::null::<fmpq_mat_struct>())).r as *const _ as usize },
26843 8usize,
26844 concat!(
26845 "Offset of field: ",
26846 stringify!(fmpq_mat_struct),
26847 "::",
26848 stringify!(r)
26849 )
26850 );
26851 assert_eq!(
26852 unsafe { &(*(::std::ptr::null::<fmpq_mat_struct>())).c as *const _ as usize },
26853 16usize,
26854 concat!(
26855 "Offset of field: ",
26856 stringify!(fmpq_mat_struct),
26857 "::",
26858 stringify!(c)
26859 )
26860 );
26861 assert_eq!(
26862 unsafe { &(*(::std::ptr::null::<fmpq_mat_struct>())).rows as *const _ as usize },
26863 24usize,
26864 concat!(
26865 "Offset of field: ",
26866 stringify!(fmpq_mat_struct),
26867 "::",
26868 stringify!(rows)
26869 )
26870 );
26871}
26872pub type fmpq_mat_t = [fmpq_mat_struct; 1usize];
26873extern "C" {
26874 pub fn fmpq_mat_init(mat: *mut fmpq_mat_struct, rows: mp_limb_signed_t, cols: mp_limb_signed_t);
26875}
26876extern "C" {
26877 pub fn fmpq_mat_init_set(mat1: *mut fmpq_mat_struct, mat2: *mut fmpq_mat_struct);
26878}
26879extern "C" {
26880 pub fn fmpq_mat_clear(mat: *mut fmpq_mat_struct);
26881}
26882extern "C" {
26883 pub fn fmpq_mat_swap(mat1: *mut fmpq_mat_struct, mat2: *mut fmpq_mat_struct);
26884}
26885extern "C" {
26886 pub fn fmpq_mat_window_init(
26887 window: *mut fmpq_mat_struct,
26888 mat: *mut fmpq_mat_struct,
26889 r1: mp_limb_signed_t,
26890 c1: mp_limb_signed_t,
26891 r2: mp_limb_signed_t,
26892 c2: mp_limb_signed_t,
26893 );
26894}
26895extern "C" {
26896 pub fn fmpq_mat_window_clear(window: *mut fmpq_mat_struct);
26897}
26898extern "C" {
26899 pub fn fmpq_mat_concat_horizontal(
26900 res: *mut fmpq_mat_struct,
26901 mat1: *mut fmpq_mat_struct,
26902 mat2: *mut fmpq_mat_struct,
26903 );
26904}
26905extern "C" {
26906 pub fn fmpq_mat_concat_vertical(
26907 res: *mut fmpq_mat_struct,
26908 mat1: *mut fmpq_mat_struct,
26909 mat2: *mut fmpq_mat_struct,
26910 );
26911}
26912extern "C" {
26913 pub fn fmpq_mat_print(mat: *mut fmpq_mat_struct);
26914}
26915extern "C" {
26916 pub fn fmpq_mat_randbits(mat: *mut fmpq_mat_struct, state: *mut flint_rand_s, bits: mp_limb_t);
26917}
26918extern "C" {
26919 pub fn fmpq_mat_randtest(mat: *mut fmpq_mat_struct, state: *mut flint_rand_s, bits: mp_limb_t);
26920}
26921extern "C" {
26922 pub fn fmpq_mat_hilbert_matrix(mat: *mut fmpq_mat_struct);
26923}
26924extern "C" {
26925 pub fn fmpq_mat_set(dest: *mut fmpq_mat_struct, src: *mut fmpq_mat_struct);
26926}
26927extern "C" {
26928 pub fn fmpq_mat_zero(mat: *mut fmpq_mat_struct);
26929}
26930extern "C" {
26931 pub fn fmpq_mat_one(mat: *mut fmpq_mat_struct);
26932}
26933extern "C" {
26934 pub fn fmpq_mat_transpose(rop: *mut fmpq_mat_struct, op: *mut fmpq_mat_struct);
26935}
26936extern "C" {
26937 pub fn fmpq_mat_add(
26938 mat: *mut fmpq_mat_struct,
26939 mat1: *mut fmpq_mat_struct,
26940 mat2: *mut fmpq_mat_struct,
26941 );
26942}
26943extern "C" {
26944 pub fn fmpq_mat_sub(
26945 mat: *mut fmpq_mat_struct,
26946 mat1: *mut fmpq_mat_struct,
26947 mat2: *mut fmpq_mat_struct,
26948 );
26949}
26950extern "C" {
26951 pub fn fmpq_mat_neg(rop: *mut fmpq_mat_struct, op: *mut fmpq_mat_struct);
26952}
26953extern "C" {
26954 pub fn fmpq_mat_scalar_mul_fmpq(
26955 rop: *mut fmpq_mat_struct,
26956 op: *mut fmpq_mat_struct,
26957 x: *mut fmpq,
26958 );
26959}
26960extern "C" {
26961 pub fn fmpq_mat_scalar_mul_fmpz(
26962 rop: *mut fmpq_mat_struct,
26963 op: *mut fmpq_mat_struct,
26964 x: *mut fmpz,
26965 );
26966}
26967extern "C" {
26968 pub fn fmpq_mat_scalar_div_fmpz(
26969 rop: *mut fmpq_mat_struct,
26970 op: *mut fmpq_mat_struct,
26971 x: *mut fmpz,
26972 );
26973}
26974extern "C" {
26975 pub fn fmpq_mat_equal(
26976 mat1: *mut fmpq_mat_struct,
26977 mat2: *mut fmpq_mat_struct,
26978 ) -> ::std::os::raw::c_int;
26979}
26980extern "C" {
26981 pub fn fmpq_mat_is_integral(mat: *mut fmpq_mat_struct) -> ::std::os::raw::c_int;
26982}
26983extern "C" {
26984 pub fn fmpq_mat_is_zero(mat: *mut fmpq_mat_struct) -> ::std::os::raw::c_int;
26985}
26986extern "C" {
26987 pub fn fmpq_mat_is_one(mat: *mut fmpq_mat_struct) -> ::std::os::raw::c_int;
26988}
26989extern "C" {
26990 pub fn fmpq_mat_get_fmpz_mat(
26991 dest: *mut fmpz_mat_struct,
26992 mat: *mut fmpq_mat_struct,
26993 ) -> ::std::os::raw::c_int;
26994}
26995extern "C" {
26996 pub fn fmpq_mat_get_fmpz_mat_entrywise(
26997 num: *mut fmpz_mat_struct,
26998 den: *mut fmpz_mat_struct,
26999 mat: *mut fmpq_mat_struct,
27000 );
27001}
27002extern "C" {
27003 pub fn fmpq_mat_get_fmpz_mat_matwise(
27004 num: *mut fmpz_mat_struct,
27005 den: *mut fmpz,
27006 mat: *mut fmpq_mat_struct,
27007 );
27008}
27009extern "C" {
27010 pub fn fmpq_mat_get_fmpz_mat_rowwise(
27011 num: *mut fmpz_mat_struct,
27012 den: *mut fmpz,
27013 mat: *mut fmpq_mat_struct,
27014 );
27015}
27016extern "C" {
27017 pub fn fmpq_mat_get_fmpz_mat_colwise(
27018 num: *mut fmpz_mat_struct,
27019 den: *mut fmpz,
27020 mat: *mut fmpq_mat_struct,
27021 );
27022}
27023extern "C" {
27024 pub fn fmpq_mat_get_fmpz_mat_rowwise_2(
27025 num: *mut fmpz_mat_struct,
27026 num2: *mut fmpz_mat_struct,
27027 den: *mut fmpz,
27028 mat: *mut fmpq_mat_struct,
27029 mat2: *mut fmpq_mat_struct,
27030 );
27031}
27032extern "C" {
27033 pub fn fmpq_mat_get_fmpz_mat_mod_fmpz(
27034 dest: *mut fmpz_mat_struct,
27035 mat: *mut fmpq_mat_struct,
27036 mod_: *mut fmpz,
27037 );
27038}
27039extern "C" {
27040 pub fn fmpq_mat_set_fmpz_mat(dest: *mut fmpq_mat_struct, src: *mut fmpz_mat_struct);
27041}
27042extern "C" {
27043 pub fn fmpq_mat_set_fmpz_mat_div_fmpz(
27044 X: *mut fmpq_mat_struct,
27045 Xmod: *mut fmpz_mat_struct,
27046 div: *mut fmpz,
27047 );
27048}
27049extern "C" {
27050 pub fn fmpq_mat_set_fmpz_mat_mod_fmpz(
27051 X: *mut fmpq_mat_struct,
27052 Xmod: *mut fmpz_mat_struct,
27053 mod_: *mut fmpz,
27054 ) -> ::std::os::raw::c_int;
27055}
27056extern "C" {
27057 pub fn fmpq_mat_mul_direct(
27058 C: *mut fmpq_mat_struct,
27059 A: *mut fmpq_mat_struct,
27060 B: *mut fmpq_mat_struct,
27061 );
27062}
27063extern "C" {
27064 pub fn fmpq_mat_mul_cleared(
27065 C: *mut fmpq_mat_struct,
27066 A: *mut fmpq_mat_struct,
27067 B: *mut fmpq_mat_struct,
27068 );
27069}
27070extern "C" {
27071 pub fn fmpq_mat_mul(C: *mut fmpq_mat_struct, A: *mut fmpq_mat_struct, B: *mut fmpq_mat_struct);
27072}
27073extern "C" {
27074 pub fn fmpq_mat_mul_fmpz_mat(
27075 C: *mut fmpq_mat_struct,
27076 A: *mut fmpq_mat_struct,
27077 B: *mut fmpz_mat_struct,
27078 );
27079}
27080extern "C" {
27081 pub fn fmpq_mat_mul_r_fmpz_mat(
27082 C: *mut fmpq_mat_struct,
27083 A: *mut fmpz_mat_struct,
27084 B: *mut fmpq_mat_struct,
27085 );
27086}
27087extern "C" {
27088 pub fn fmpq_mat_kronecker_product(
27089 C: *mut fmpq_mat_struct,
27090 A: *mut fmpq_mat_struct,
27091 B: *mut fmpq_mat_struct,
27092 );
27093}
27094extern "C" {
27095 pub fn fmpq_mat_trace(trace: *mut fmpq, mat: *mut fmpq_mat_struct);
27096}
27097extern "C" {
27098 pub fn fmpq_mat_det(det: *mut fmpq, mat: *mut fmpq_mat_struct);
27099}
27100extern "C" {
27101 pub fn fmpq_mat_solve_fmpz_mat_fraction_free(
27102 X: *mut fmpq_mat_struct,
27103 A: *mut fmpz_mat_struct,
27104 B: *mut fmpz_mat_struct,
27105 ) -> ::std::os::raw::c_int;
27106}
27107extern "C" {
27108 pub fn fmpq_mat_solve_fraction_free(
27109 X: *mut fmpq_mat_struct,
27110 A: *mut fmpq_mat_struct,
27111 B: *mut fmpq_mat_struct,
27112 ) -> ::std::os::raw::c_int;
27113}
27114extern "C" {
27115 pub fn fmpq_mat_solve_fmpz_mat_dixon(
27116 X: *mut fmpq_mat_struct,
27117 A: *mut fmpz_mat_struct,
27118 B: *mut fmpz_mat_struct,
27119 ) -> ::std::os::raw::c_int;
27120}
27121extern "C" {
27122 pub fn fmpq_mat_solve_dixon(
27123 X: *mut fmpq_mat_struct,
27124 A: *mut fmpq_mat_struct,
27125 B: *mut fmpq_mat_struct,
27126 ) -> ::std::os::raw::c_int;
27127}
27128extern "C" {
27129 pub fn fmpq_mat_solve_fmpz_mat_multi_mod(
27130 X: *mut fmpq_mat_struct,
27131 A: *mut fmpz_mat_struct,
27132 B: *mut fmpz_mat_struct,
27133 ) -> ::std::os::raw::c_int;
27134}
27135extern "C" {
27136 pub fn fmpq_mat_solve_multi_mod(
27137 X: *mut fmpq_mat_struct,
27138 A: *mut fmpq_mat_struct,
27139 B: *mut fmpq_mat_struct,
27140 ) -> ::std::os::raw::c_int;
27141}
27142extern "C" {
27143 pub fn fmpq_mat_solve_fmpz_mat(
27144 X: *mut fmpq_mat_struct,
27145 A: *mut fmpz_mat_struct,
27146 B: *mut fmpz_mat_struct,
27147 ) -> ::std::os::raw::c_int;
27148}
27149extern "C" {
27150 pub fn fmpq_mat_solve(
27151 X: *mut fmpq_mat_struct,
27152 A: *mut fmpq_mat_struct,
27153 B: *mut fmpq_mat_struct,
27154 ) -> ::std::os::raw::c_int;
27155}
27156extern "C" {
27157 pub fn fmpq_mat_inv(B: *mut fmpq_mat_struct, A: *mut fmpq_mat_struct) -> ::std::os::raw::c_int;
27158}
27159extern "C" {
27160 pub fn fmpq_mat_pivot(
27161 perm: *mut mp_limb_signed_t,
27162 mat: *mut fmpq_mat_struct,
27163 r: mp_limb_signed_t,
27164 c: mp_limb_signed_t,
27165 ) -> ::std::os::raw::c_int;
27166}
27167extern "C" {
27168 pub fn fmpq_mat_rref_classical(
27169 B: *mut fmpq_mat_struct,
27170 A: *mut fmpq_mat_struct,
27171 ) -> mp_limb_signed_t;
27172}
27173extern "C" {
27174 pub fn fmpq_mat_rref_fraction_free(
27175 B: *mut fmpq_mat_struct,
27176 A: *mut fmpq_mat_struct,
27177 ) -> mp_limb_signed_t;
27178}
27179extern "C" {
27180 pub fn fmpq_mat_rref(B: *mut fmpq_mat_struct, A: *mut fmpq_mat_struct) -> mp_limb_signed_t;
27181}
27182extern "C" {
27183 pub fn fmpq_mat_gso(B: *mut fmpq_mat_struct, A: *mut fmpq_mat_struct);
27184}
27185extern "C" {
27186 pub fn fmpq_mat_similarity(A: *mut fmpq_mat_struct, r: mp_limb_signed_t, d: *mut fmpq);
27187}
27188extern "C" {
27189 pub fn _fmpq_mat_charpoly(coeffs: *mut fmpz, den: *mut fmpz, mat: *mut fmpq_mat_struct);
27190}
27191extern "C" {
27192 pub fn fmpq_mat_charpoly(pol: *mut fmpq_poly_struct, mat: *mut fmpq_mat_struct);
27193}
27194extern "C" {
27195 pub fn _fmpq_mat_minpoly(
27196 coeffs: *mut fmpz,
27197 den: *mut fmpz,
27198 mat: *mut fmpq_mat_struct,
27199 ) -> mp_limb_signed_t;
27200}
27201extern "C" {
27202 pub fn fmpq_mat_minpoly(pol: *mut fmpq_poly_struct, mat: *mut fmpq_mat_struct);
27203}
27204#[repr(C)]
27205#[derive(Debug, Copy, Clone)]
27206pub struct fmpz_mod_mat_struct {
27207 pub mat: fmpz_mat_t,
27208 pub mod_: fmpz_t,
27209}
27210#[test]
27211fn bindgen_test_layout_fmpz_mod_mat_struct() {
27212 assert_eq!(
27213 ::std::mem::size_of::<fmpz_mod_mat_struct>(),
27214 40usize,
27215 concat!("Size of: ", stringify!(fmpz_mod_mat_struct))
27216 );
27217 assert_eq!(
27218 ::std::mem::align_of::<fmpz_mod_mat_struct>(),
27219 8usize,
27220 concat!("Alignment of ", stringify!(fmpz_mod_mat_struct))
27221 );
27222 assert_eq!(
27223 unsafe { &(*(::std::ptr::null::<fmpz_mod_mat_struct>())).mat as *const _ as usize },
27224 0usize,
27225 concat!(
27226 "Offset of field: ",
27227 stringify!(fmpz_mod_mat_struct),
27228 "::",
27229 stringify!(mat)
27230 )
27231 );
27232 assert_eq!(
27233 unsafe { &(*(::std::ptr::null::<fmpz_mod_mat_struct>())).mod_ as *const _ as usize },
27234 32usize,
27235 concat!(
27236 "Offset of field: ",
27237 stringify!(fmpz_mod_mat_struct),
27238 "::",
27239 stringify!(mod_)
27240 )
27241 );
27242}
27243pub type fmpz_mod_mat_t = [fmpz_mod_mat_struct; 1usize];
27244extern "C" {
27245 pub fn fmpz_mod_mat_init(
27246 mat: *mut fmpz_mod_mat_struct,
27247 rows: mp_limb_signed_t,
27248 cols: mp_limb_signed_t,
27249 n: *mut fmpz,
27250 );
27251}
27252extern "C" {
27253 pub fn fmpz_mod_mat_init_set(mat: *mut fmpz_mod_mat_struct, src: *mut fmpz_mod_mat_struct);
27254}
27255extern "C" {
27256 pub fn fmpz_mod_mat_clear(mat: *mut fmpz_mod_mat_struct);
27257}
27258extern "C" {
27259 pub fn fmpz_mod_mat_randtest(mat: *mut fmpz_mod_mat_struct, state: *mut flint_rand_s);
27260}
27261extern "C" {
27262 pub fn fmpz_mod_mat_window_init(
27263 window: *mut fmpz_mod_mat_struct,
27264 mat: *mut fmpz_mod_mat_struct,
27265 r1: mp_limb_signed_t,
27266 c1: mp_limb_signed_t,
27267 r2: mp_limb_signed_t,
27268 c2: mp_limb_signed_t,
27269 );
27270}
27271extern "C" {
27272 pub fn fmpz_mod_mat_window_clear(window: *mut fmpz_mod_mat_struct);
27273}
27274extern "C" {
27275 pub fn fmpz_mod_mat_add(
27276 C: *mut fmpz_mod_mat_struct,
27277 A: *mut fmpz_mod_mat_struct,
27278 B: *mut fmpz_mod_mat_struct,
27279 );
27280}
27281extern "C" {
27282 pub fn fmpz_mod_mat_sub(
27283 C: *mut fmpz_mod_mat_struct,
27284 A: *mut fmpz_mod_mat_struct,
27285 B: *mut fmpz_mod_mat_struct,
27286 );
27287}
27288extern "C" {
27289 pub fn fmpz_mod_mat_neg(B: *mut fmpz_mod_mat_struct, A: *mut fmpz_mod_mat_struct);
27290}
27291extern "C" {
27292 pub fn fmpz_mod_mat_scalar_mul_si(
27293 B: *mut fmpz_mod_mat_struct,
27294 A: *mut fmpz_mod_mat_struct,
27295 c: mp_limb_signed_t,
27296 );
27297}
27298extern "C" {
27299 pub fn fmpz_mod_mat_scalar_mul_ui(
27300 B: *mut fmpz_mod_mat_struct,
27301 A: *mut fmpz_mod_mat_struct,
27302 c: mp_limb_t,
27303 );
27304}
27305extern "C" {
27306 pub fn fmpz_mod_mat_scalar_mul_fmpz(
27307 B: *mut fmpz_mod_mat_struct,
27308 A: *mut fmpz_mod_mat_struct,
27309 c: *mut fmpz,
27310 );
27311}
27312extern "C" {
27313 pub fn fmpz_mod_mat_mul(
27314 C: *mut fmpz_mod_mat_struct,
27315 A: *mut fmpz_mod_mat_struct,
27316 B: *mut fmpz_mod_mat_struct,
27317 );
27318}
27319extern "C" {
27320 pub fn _fmpz_mod_mat_mul_classical_threaded_pool_op(
27321 D: *mut fmpz_mod_mat_struct,
27322 C: *mut fmpz_mod_mat_struct,
27323 A: *mut fmpz_mod_mat_struct,
27324 B: *mut fmpz_mod_mat_struct,
27325 op: ::std::os::raw::c_int,
27326 threads: *mut thread_pool_handle,
27327 num_threads: mp_limb_signed_t,
27328 );
27329}
27330extern "C" {
27331 pub fn fmpz_mod_mat_mul_classical_threaded(
27332 C: *mut fmpz_mod_mat_struct,
27333 A: *mut fmpz_mod_mat_struct,
27334 B: *mut fmpz_mod_mat_struct,
27335 );
27336}
27337extern "C" {
27338 pub fn fmpz_mod_mat_sqr(B: *mut fmpz_mod_mat_struct, A: *mut fmpz_mod_mat_struct);
27339}
27340extern "C" {
27341 pub fn fmpz_mod_mat_trace(trace: *mut fmpz, mat: *mut fmpz_mod_mat_struct);
27342}
27343extern "C" {
27344 pub fn fmpz_mod_mat_rref(
27345 perm: *mut mp_limb_signed_t,
27346 mat: *mut fmpz_mod_mat_struct,
27347 ) -> mp_limb_signed_t;
27348}
27349extern "C" {
27350 pub fn fmpz_mod_mat_howell_form(mat: *mut fmpz_mod_mat_struct) -> mp_limb_signed_t;
27351}
27352extern "C" {
27353 pub fn fmpz_mod_mat_strong_echelon_form(mat: *mut fmpz_mod_mat_struct);
27354}
27355extern "C" {
27356 pub fn fmpz_mod_mat_get_entry(
27357 x: *mut fmpz,
27358 mat: *mut fmpz_mod_mat_struct,
27359 i: mp_limb_signed_t,
27360 j: mp_limb_signed_t,
27361 );
27362}
27363#[repr(C)]
27364#[derive(Debug, Copy, Clone)]
27365pub struct fmpz_mod_poly_struct {
27366 pub coeffs: *mut fmpz,
27367 pub alloc: mp_limb_signed_t,
27368 pub length: mp_limb_signed_t,
27369 pub p: fmpz,
27370}
27371#[test]
27372fn bindgen_test_layout_fmpz_mod_poly_struct() {
27373 assert_eq!(
27374 ::std::mem::size_of::<fmpz_mod_poly_struct>(),
27375 32usize,
27376 concat!("Size of: ", stringify!(fmpz_mod_poly_struct))
27377 );
27378 assert_eq!(
27379 ::std::mem::align_of::<fmpz_mod_poly_struct>(),
27380 8usize,
27381 concat!("Alignment of ", stringify!(fmpz_mod_poly_struct))
27382 );
27383 assert_eq!(
27384 unsafe { &(*(::std::ptr::null::<fmpz_mod_poly_struct>())).coeffs as *const _ as usize },
27385 0usize,
27386 concat!(
27387 "Offset of field: ",
27388 stringify!(fmpz_mod_poly_struct),
27389 "::",
27390 stringify!(coeffs)
27391 )
27392 );
27393 assert_eq!(
27394 unsafe { &(*(::std::ptr::null::<fmpz_mod_poly_struct>())).alloc as *const _ as usize },
27395 8usize,
27396 concat!(
27397 "Offset of field: ",
27398 stringify!(fmpz_mod_poly_struct),
27399 "::",
27400 stringify!(alloc)
27401 )
27402 );
27403 assert_eq!(
27404 unsafe { &(*(::std::ptr::null::<fmpz_mod_poly_struct>())).length as *const _ as usize },
27405 16usize,
27406 concat!(
27407 "Offset of field: ",
27408 stringify!(fmpz_mod_poly_struct),
27409 "::",
27410 stringify!(length)
27411 )
27412 );
27413 assert_eq!(
27414 unsafe { &(*(::std::ptr::null::<fmpz_mod_poly_struct>())).p as *const _ as usize },
27415 24usize,
27416 concat!(
27417 "Offset of field: ",
27418 stringify!(fmpz_mod_poly_struct),
27419 "::",
27420 stringify!(p)
27421 )
27422 );
27423}
27424pub type fmpz_mod_poly_t = [fmpz_mod_poly_struct; 1usize];
27425#[repr(C)]
27426#[derive(Debug, Copy, Clone)]
27427pub struct fmpz_mod_poly_res_struct {
27428 pub res: fmpz_t,
27429 pub lc: fmpz_t,
27430 pub len0: mp_limb_signed_t,
27431 pub len1: mp_limb_signed_t,
27432 pub off: mp_limb_signed_t,
27433}
27434#[test]
27435fn bindgen_test_layout_fmpz_mod_poly_res_struct() {
27436 assert_eq!(
27437 ::std::mem::size_of::<fmpz_mod_poly_res_struct>(),
27438 40usize,
27439 concat!("Size of: ", stringify!(fmpz_mod_poly_res_struct))
27440 );
27441 assert_eq!(
27442 ::std::mem::align_of::<fmpz_mod_poly_res_struct>(),
27443 8usize,
27444 concat!("Alignment of ", stringify!(fmpz_mod_poly_res_struct))
27445 );
27446 assert_eq!(
27447 unsafe { &(*(::std::ptr::null::<fmpz_mod_poly_res_struct>())).res as *const _ as usize },
27448 0usize,
27449 concat!(
27450 "Offset of field: ",
27451 stringify!(fmpz_mod_poly_res_struct),
27452 "::",
27453 stringify!(res)
27454 )
27455 );
27456 assert_eq!(
27457 unsafe { &(*(::std::ptr::null::<fmpz_mod_poly_res_struct>())).lc as *const _ as usize },
27458 8usize,
27459 concat!(
27460 "Offset of field: ",
27461 stringify!(fmpz_mod_poly_res_struct),
27462 "::",
27463 stringify!(lc)
27464 )
27465 );
27466 assert_eq!(
27467 unsafe { &(*(::std::ptr::null::<fmpz_mod_poly_res_struct>())).len0 as *const _ as usize },
27468 16usize,
27469 concat!(
27470 "Offset of field: ",
27471 stringify!(fmpz_mod_poly_res_struct),
27472 "::",
27473 stringify!(len0)
27474 )
27475 );
27476 assert_eq!(
27477 unsafe { &(*(::std::ptr::null::<fmpz_mod_poly_res_struct>())).len1 as *const _ as usize },
27478 24usize,
27479 concat!(
27480 "Offset of field: ",
27481 stringify!(fmpz_mod_poly_res_struct),
27482 "::",
27483 stringify!(len1)
27484 )
27485 );
27486 assert_eq!(
27487 unsafe { &(*(::std::ptr::null::<fmpz_mod_poly_res_struct>())).off as *const _ as usize },
27488 32usize,
27489 concat!(
27490 "Offset of field: ",
27491 stringify!(fmpz_mod_poly_res_struct),
27492 "::",
27493 stringify!(off)
27494 )
27495 );
27496}
27497pub type fmpz_mod_poly_res_t = [fmpz_mod_poly_res_struct; 1usize];
27498#[repr(C)]
27499#[derive(Debug, Copy, Clone)]
27500pub struct fmpz_mod_poly_frobenius_powers_2exp_struct {
27501 pub pow: *mut fmpz_mod_poly_struct,
27502 pub len: mp_limb_signed_t,
27503}
27504#[test]
27505fn bindgen_test_layout_fmpz_mod_poly_frobenius_powers_2exp_struct() {
27506 assert_eq!(
27507 ::std::mem::size_of::<fmpz_mod_poly_frobenius_powers_2exp_struct>(),
27508 16usize,
27509 concat!(
27510 "Size of: ",
27511 stringify!(fmpz_mod_poly_frobenius_powers_2exp_struct)
27512 )
27513 );
27514 assert_eq!(
27515 ::std::mem::align_of::<fmpz_mod_poly_frobenius_powers_2exp_struct>(),
27516 8usize,
27517 concat!(
27518 "Alignment of ",
27519 stringify!(fmpz_mod_poly_frobenius_powers_2exp_struct)
27520 )
27521 );
27522 assert_eq!(
27523 unsafe {
27524 &(*(::std::ptr::null::<fmpz_mod_poly_frobenius_powers_2exp_struct>())).pow as *const _
27525 as usize
27526 },
27527 0usize,
27528 concat!(
27529 "Offset of field: ",
27530 stringify!(fmpz_mod_poly_frobenius_powers_2exp_struct),
27531 "::",
27532 stringify!(pow)
27533 )
27534 );
27535 assert_eq!(
27536 unsafe {
27537 &(*(::std::ptr::null::<fmpz_mod_poly_frobenius_powers_2exp_struct>())).len as *const _
27538 as usize
27539 },
27540 8usize,
27541 concat!(
27542 "Offset of field: ",
27543 stringify!(fmpz_mod_poly_frobenius_powers_2exp_struct),
27544 "::",
27545 stringify!(len)
27546 )
27547 );
27548}
27549pub type fmpz_mod_poly_frobenius_powers_2exp_t =
27550 [fmpz_mod_poly_frobenius_powers_2exp_struct; 1usize];
27551#[repr(C)]
27552#[derive(Debug, Copy, Clone)]
27553pub struct fmpz_mod_poly_frobenius_powers_struct {
27554 pub pow: *mut fmpz_mod_poly_struct,
27555 pub len: mp_limb_signed_t,
27556}
27557#[test]
27558fn bindgen_test_layout_fmpz_mod_poly_frobenius_powers_struct() {
27559 assert_eq!(
27560 ::std::mem::size_of::<fmpz_mod_poly_frobenius_powers_struct>(),
27561 16usize,
27562 concat!(
27563 "Size of: ",
27564 stringify!(fmpz_mod_poly_frobenius_powers_struct)
27565 )
27566 );
27567 assert_eq!(
27568 ::std::mem::align_of::<fmpz_mod_poly_frobenius_powers_struct>(),
27569 8usize,
27570 concat!(
27571 "Alignment of ",
27572 stringify!(fmpz_mod_poly_frobenius_powers_struct)
27573 )
27574 );
27575 assert_eq!(
27576 unsafe {
27577 &(*(::std::ptr::null::<fmpz_mod_poly_frobenius_powers_struct>())).pow as *const _
27578 as usize
27579 },
27580 0usize,
27581 concat!(
27582 "Offset of field: ",
27583 stringify!(fmpz_mod_poly_frobenius_powers_struct),
27584 "::",
27585 stringify!(pow)
27586 )
27587 );
27588 assert_eq!(
27589 unsafe {
27590 &(*(::std::ptr::null::<fmpz_mod_poly_frobenius_powers_struct>())).len as *const _
27591 as usize
27592 },
27593 8usize,
27594 concat!(
27595 "Offset of field: ",
27596 stringify!(fmpz_mod_poly_frobenius_powers_struct),
27597 "::",
27598 stringify!(len)
27599 )
27600 );
27601}
27602pub type fmpz_mod_poly_frobenius_powers_t = [fmpz_mod_poly_frobenius_powers_struct; 1usize];
27603#[repr(C)]
27604#[derive(Debug, Copy, Clone)]
27605pub struct fmpz_mod_poly_matrix_precompute_arg_t {
27606 pub A: *mut fmpz_mat_struct,
27607 pub poly1: *mut fmpz_mod_poly_struct,
27608 pub poly2: *mut fmpz_mod_poly_struct,
27609 pub poly2inv: *mut fmpz_mod_poly_struct,
27610}
27611#[test]
27612fn bindgen_test_layout_fmpz_mod_poly_matrix_precompute_arg_t() {
27613 assert_eq!(
27614 ::std::mem::size_of::<fmpz_mod_poly_matrix_precompute_arg_t>(),
27615 32usize,
27616 concat!(
27617 "Size of: ",
27618 stringify!(fmpz_mod_poly_matrix_precompute_arg_t)
27619 )
27620 );
27621 assert_eq!(
27622 ::std::mem::align_of::<fmpz_mod_poly_matrix_precompute_arg_t>(),
27623 8usize,
27624 concat!(
27625 "Alignment of ",
27626 stringify!(fmpz_mod_poly_matrix_precompute_arg_t)
27627 )
27628 );
27629 assert_eq!(
27630 unsafe {
27631 &(*(::std::ptr::null::<fmpz_mod_poly_matrix_precompute_arg_t>())).A as *const _ as usize
27632 },
27633 0usize,
27634 concat!(
27635 "Offset of field: ",
27636 stringify!(fmpz_mod_poly_matrix_precompute_arg_t),
27637 "::",
27638 stringify!(A)
27639 )
27640 );
27641 assert_eq!(
27642 unsafe {
27643 &(*(::std::ptr::null::<fmpz_mod_poly_matrix_precompute_arg_t>())).poly1 as *const _
27644 as usize
27645 },
27646 8usize,
27647 concat!(
27648 "Offset of field: ",
27649 stringify!(fmpz_mod_poly_matrix_precompute_arg_t),
27650 "::",
27651 stringify!(poly1)
27652 )
27653 );
27654 assert_eq!(
27655 unsafe {
27656 &(*(::std::ptr::null::<fmpz_mod_poly_matrix_precompute_arg_t>())).poly2 as *const _
27657 as usize
27658 },
27659 16usize,
27660 concat!(
27661 "Offset of field: ",
27662 stringify!(fmpz_mod_poly_matrix_precompute_arg_t),
27663 "::",
27664 stringify!(poly2)
27665 )
27666 );
27667 assert_eq!(
27668 unsafe {
27669 &(*(::std::ptr::null::<fmpz_mod_poly_matrix_precompute_arg_t>())).poly2inv as *const _
27670 as usize
27671 },
27672 24usize,
27673 concat!(
27674 "Offset of field: ",
27675 stringify!(fmpz_mod_poly_matrix_precompute_arg_t),
27676 "::",
27677 stringify!(poly2inv)
27678 )
27679 );
27680}
27681#[repr(C)]
27682#[derive(Debug, Copy, Clone)]
27683pub struct fmpz_mod_poly_compose_mod_precomp_preinv_arg_t {
27684 pub A: *mut fmpz_mat_struct,
27685 pub res: *mut fmpz_mod_poly_struct,
27686 pub poly1: *mut fmpz_mod_poly_struct,
27687 pub poly3: *mut fmpz_mod_poly_struct,
27688 pub poly3inv: *mut fmpz_mod_poly_struct,
27689}
27690#[test]
27691fn bindgen_test_layout_fmpz_mod_poly_compose_mod_precomp_preinv_arg_t() {
27692 assert_eq!(
27693 ::std::mem::size_of::<fmpz_mod_poly_compose_mod_precomp_preinv_arg_t>(),
27694 40usize,
27695 concat!(
27696 "Size of: ",
27697 stringify!(fmpz_mod_poly_compose_mod_precomp_preinv_arg_t)
27698 )
27699 );
27700 assert_eq!(
27701 ::std::mem::align_of::<fmpz_mod_poly_compose_mod_precomp_preinv_arg_t>(),
27702 8usize,
27703 concat!(
27704 "Alignment of ",
27705 stringify!(fmpz_mod_poly_compose_mod_precomp_preinv_arg_t)
27706 )
27707 );
27708 assert_eq!(
27709 unsafe {
27710 &(*(::std::ptr::null::<fmpz_mod_poly_compose_mod_precomp_preinv_arg_t>())).A as *const _
27711 as usize
27712 },
27713 0usize,
27714 concat!(
27715 "Offset of field: ",
27716 stringify!(fmpz_mod_poly_compose_mod_precomp_preinv_arg_t),
27717 "::",
27718 stringify!(A)
27719 )
27720 );
27721 assert_eq!(
27722 unsafe {
27723 &(*(::std::ptr::null::<fmpz_mod_poly_compose_mod_precomp_preinv_arg_t>())).res
27724 as *const _ as usize
27725 },
27726 8usize,
27727 concat!(
27728 "Offset of field: ",
27729 stringify!(fmpz_mod_poly_compose_mod_precomp_preinv_arg_t),
27730 "::",
27731 stringify!(res)
27732 )
27733 );
27734 assert_eq!(
27735 unsafe {
27736 &(*(::std::ptr::null::<fmpz_mod_poly_compose_mod_precomp_preinv_arg_t>())).poly1
27737 as *const _ as usize
27738 },
27739 16usize,
27740 concat!(
27741 "Offset of field: ",
27742 stringify!(fmpz_mod_poly_compose_mod_precomp_preinv_arg_t),
27743 "::",
27744 stringify!(poly1)
27745 )
27746 );
27747 assert_eq!(
27748 unsafe {
27749 &(*(::std::ptr::null::<fmpz_mod_poly_compose_mod_precomp_preinv_arg_t>())).poly3
27750 as *const _ as usize
27751 },
27752 24usize,
27753 concat!(
27754 "Offset of field: ",
27755 stringify!(fmpz_mod_poly_compose_mod_precomp_preinv_arg_t),
27756 "::",
27757 stringify!(poly3)
27758 )
27759 );
27760 assert_eq!(
27761 unsafe {
27762 &(*(::std::ptr::null::<fmpz_mod_poly_compose_mod_precomp_preinv_arg_t>())).poly3inv
27763 as *const _ as usize
27764 },
27765 32usize,
27766 concat!(
27767 "Offset of field: ",
27768 stringify!(fmpz_mod_poly_compose_mod_precomp_preinv_arg_t),
27769 "::",
27770 stringify!(poly3inv)
27771 )
27772 );
27773}
27774extern "C" {
27775 pub fn fmpz_mod_poly_init(poly: *mut fmpz_mod_poly_struct, p: *mut fmpz);
27776}
27777extern "C" {
27778 pub fn fmpz_mod_poly_init2(
27779 poly: *mut fmpz_mod_poly_struct,
27780 p: *mut fmpz,
27781 alloc: mp_limb_signed_t,
27782 );
27783}
27784extern "C" {
27785 pub fn fmpz_mod_poly_clear(poly: *mut fmpz_mod_poly_struct);
27786}
27787extern "C" {
27788 pub fn fmpz_mod_poly_realloc(poly: *mut fmpz_mod_poly_struct, alloc: mp_limb_signed_t);
27789}
27790extern "C" {
27791 pub fn fmpz_mod_poly_fit_length(poly: *mut fmpz_mod_poly_struct, len: mp_limb_signed_t);
27792}
27793extern "C" {
27794 pub fn _fmpz_mod_poly_normalise(poly: *mut fmpz_mod_poly_struct);
27795}
27796extern "C" {
27797 pub fn fmpz_mod_poly_set_trunc(
27798 res: *mut fmpz_mod_poly_struct,
27799 poly: *mut fmpz_mod_poly_struct,
27800 n: mp_limb_signed_t,
27801 );
27802}
27803extern "C" {
27804 pub fn fmpz_mod_poly_randtest(
27805 f: *mut fmpz_mod_poly_struct,
27806 state: *mut flint_rand_s,
27807 len: mp_limb_signed_t,
27808 );
27809}
27810extern "C" {
27811 pub fn fmpz_mod_poly_randtest_irreducible(
27812 f: *mut fmpz_mod_poly_struct,
27813 state: *mut flint_rand_s,
27814 len: mp_limb_signed_t,
27815 );
27816}
27817extern "C" {
27818 pub fn fmpz_mod_poly_randtest_not_zero(
27819 f: *mut fmpz_mod_poly_struct,
27820 state: *mut flint_rand_s,
27821 len: mp_limb_signed_t,
27822 );
27823}
27824extern "C" {
27825 pub fn fmpz_mod_poly_randtest_monic(
27826 f: *mut fmpz_mod_poly_struct,
27827 state: *mut flint_rand_s,
27828 len: mp_limb_signed_t,
27829 );
27830}
27831extern "C" {
27832 pub fn fmpz_mod_poly_randtest_monic_irreducible(
27833 f: *mut fmpz_mod_poly_struct,
27834 state: *mut flint_rand_s,
27835 len: mp_limb_signed_t,
27836 );
27837}
27838extern "C" {
27839 pub fn fmpz_mod_poly_randtest_monic_primitive(
27840 f: *mut fmpz_mod_poly_struct,
27841 state: *mut flint_rand_s,
27842 len: mp_limb_signed_t,
27843 );
27844}
27845extern "C" {
27846 pub fn fmpz_mod_poly_randtest_trinomial(
27847 f: *mut fmpz_mod_poly_struct,
27848 state: *mut flint_rand_s,
27849 len: mp_limb_signed_t,
27850 );
27851}
27852extern "C" {
27853 pub fn fmpz_mod_poly_randtest_trinomial_irreducible(
27854 f: *mut fmpz_mod_poly_struct,
27855 state: *mut flint_rand_s,
27856 len: mp_limb_signed_t,
27857 max_attempts: mp_limb_signed_t,
27858 ) -> ::std::os::raw::c_int;
27859}
27860extern "C" {
27861 pub fn fmpz_mod_poly_randtest_pentomial(
27862 f: *mut fmpz_mod_poly_struct,
27863 state: *mut flint_rand_s,
27864 len: mp_limb_signed_t,
27865 );
27866}
27867extern "C" {
27868 pub fn fmpz_mod_poly_randtest_pentomial_irreducible(
27869 f: *mut fmpz_mod_poly_struct,
27870 state: *mut flint_rand_s,
27871 len: mp_limb_signed_t,
27872 max_attempts: mp_limb_signed_t,
27873 ) -> ::std::os::raw::c_int;
27874}
27875extern "C" {
27876 pub fn fmpz_mod_poly_randtest_sparse_irreducible(
27877 poly: *mut fmpz_mod_poly_struct,
27878 state: *mut flint_rand_s,
27879 len: mp_limb_signed_t,
27880 );
27881}
27882extern "C" {
27883 pub fn fmpz_mod_poly_set(poly1: *mut fmpz_mod_poly_struct, poly2: *mut fmpz_mod_poly_struct);
27884}
27885extern "C" {
27886 pub fn fmpz_mod_poly_swap(poly1: *mut fmpz_mod_poly_struct, poly2: *mut fmpz_mod_poly_struct);
27887}
27888extern "C" {
27889 pub fn _fmpz_mod_poly_reverse(
27890 res: *mut fmpz,
27891 poly: *const fmpz,
27892 len: mp_limb_signed_t,
27893 n: mp_limb_signed_t,
27894 );
27895}
27896extern "C" {
27897 pub fn fmpz_mod_poly_reverse(
27898 res: *mut fmpz_mod_poly_struct,
27899 poly: *mut fmpz_mod_poly_struct,
27900 n: mp_limb_signed_t,
27901 );
27902}
27903extern "C" {
27904 pub fn fmpz_mod_poly_zero_coeffs(
27905 poly: *mut fmpz_mod_poly_struct,
27906 i: mp_limb_signed_t,
27907 j: mp_limb_signed_t,
27908 );
27909}
27910extern "C" {
27911 pub fn fmpz_mod_poly_set_fmpz(poly: *mut fmpz_mod_poly_struct, c: *mut fmpz);
27912}
27913extern "C" {
27914 pub fn fmpz_mod_poly_set_fmpz_poly(f: *mut fmpz_mod_poly_struct, g: *mut fmpz_poly_struct);
27915}
27916extern "C" {
27917 pub fn fmpz_mod_poly_get_fmpz_poly(f: *mut fmpz_poly_struct, g: *mut fmpz_mod_poly_struct);
27918}
27919extern "C" {
27920 pub fn fmpz_mod_poly_set_coeff_fmpz(
27921 poly: *mut fmpz_mod_poly_struct,
27922 n: mp_limb_signed_t,
27923 x: *mut fmpz,
27924 );
27925}
27926extern "C" {
27927 pub fn fmpz_mod_poly_set_coeff_ui(
27928 poly: *mut fmpz_mod_poly_struct,
27929 n: mp_limb_signed_t,
27930 x: mp_limb_t,
27931 );
27932}
27933extern "C" {
27934 pub fn fmpz_mod_poly_set_coeff_si(
27935 poly: *mut fmpz_mod_poly_struct,
27936 n: mp_limb_signed_t,
27937 x: mp_limb_signed_t,
27938 );
27939}
27940extern "C" {
27941 pub fn _fmpz_mod_poly_shift_left(
27942 res: *mut fmpz,
27943 poly: *const fmpz,
27944 len: mp_limb_signed_t,
27945 n: mp_limb_signed_t,
27946 );
27947}
27948extern "C" {
27949 pub fn fmpz_mod_poly_shift_left(
27950 f: *mut fmpz_mod_poly_struct,
27951 g: *mut fmpz_mod_poly_struct,
27952 n: mp_limb_signed_t,
27953 );
27954}
27955extern "C" {
27956 pub fn _fmpz_mod_poly_shift_right(
27957 res: *mut fmpz,
27958 poly: *const fmpz,
27959 len: mp_limb_signed_t,
27960 n: mp_limb_signed_t,
27961 );
27962}
27963extern "C" {
27964 pub fn fmpz_mod_poly_shift_right(
27965 f: *mut fmpz_mod_poly_struct,
27966 g: *mut fmpz_mod_poly_struct,
27967 n: mp_limb_signed_t,
27968 );
27969}
27970extern "C" {
27971 pub fn _fmpz_mod_poly_add(
27972 res: *mut fmpz,
27973 poly1: *const fmpz,
27974 len1: mp_limb_signed_t,
27975 poly2: *const fmpz,
27976 len2: mp_limb_signed_t,
27977 p: *mut fmpz,
27978 );
27979}
27980extern "C" {
27981 pub fn fmpz_mod_poly_add(
27982 res: *mut fmpz_mod_poly_struct,
27983 poly1: *mut fmpz_mod_poly_struct,
27984 poly2: *mut fmpz_mod_poly_struct,
27985 );
27986}
27987extern "C" {
27988 pub fn _fmpz_mod_poly_sub(
27989 res: *mut fmpz,
27990 poly1: *const fmpz,
27991 len1: mp_limb_signed_t,
27992 poly2: *const fmpz,
27993 len2: mp_limb_signed_t,
27994 p: *mut fmpz,
27995 );
27996}
27997extern "C" {
27998 pub fn fmpz_mod_poly_add_series(
27999 res: *mut fmpz_mod_poly_struct,
28000 poly1: *mut fmpz_mod_poly_struct,
28001 poly2: *mut fmpz_mod_poly_struct,
28002 n: mp_limb_signed_t,
28003 );
28004}
28005extern "C" {
28006 pub fn fmpz_mod_poly_sub(
28007 res: *mut fmpz_mod_poly_struct,
28008 poly1: *mut fmpz_mod_poly_struct,
28009 poly2: *mut fmpz_mod_poly_struct,
28010 );
28011}
28012extern "C" {
28013 pub fn _fmpz_mod_poly_neg(
28014 res: *mut fmpz,
28015 poly: *const fmpz,
28016 len: mp_limb_signed_t,
28017 p: *mut fmpz,
28018 );
28019}
28020extern "C" {
28021 pub fn fmpz_mod_poly_sub_series(
28022 res: *mut fmpz_mod_poly_struct,
28023 poly1: *mut fmpz_mod_poly_struct,
28024 poly2: *mut fmpz_mod_poly_struct,
28025 n: mp_limb_signed_t,
28026 );
28027}
28028extern "C" {
28029 pub fn fmpz_mod_poly_neg(res: *mut fmpz_mod_poly_struct, poly: *mut fmpz_mod_poly_struct);
28030}
28031extern "C" {
28032 pub fn _fmpz_mod_poly_scalar_mul_fmpz(
28033 res: *mut fmpz,
28034 poly: *const fmpz,
28035 len: mp_limb_signed_t,
28036 x: *mut fmpz,
28037 p: *mut fmpz,
28038 );
28039}
28040extern "C" {
28041 pub fn fmpz_mod_poly_scalar_mul_fmpz(
28042 res: *mut fmpz_mod_poly_struct,
28043 poly: *mut fmpz_mod_poly_struct,
28044 x: *mut fmpz,
28045 );
28046}
28047extern "C" {
28048 pub fn _fmpz_mod_poly_scalar_mul_ui(
28049 res: *mut fmpz,
28050 poly: *const fmpz,
28051 len: mp_limb_signed_t,
28052 x: mp_limb_t,
28053 p: *mut fmpz,
28054 );
28055}
28056extern "C" {
28057 pub fn fmpz_mod_poly_scalar_mul_ui(
28058 res: *mut fmpz_mod_poly_struct,
28059 poly: *mut fmpz_mod_poly_struct,
28060 x: mp_limb_t,
28061 );
28062}
28063extern "C" {
28064 pub fn _fmpz_mod_poly_scalar_div_fmpz(
28065 res: *mut fmpz,
28066 poly: *const fmpz,
28067 len: mp_limb_signed_t,
28068 x: *mut fmpz,
28069 p: *mut fmpz,
28070 );
28071}
28072extern "C" {
28073 pub fn fmpz_mod_poly_scalar_div_fmpz(
28074 res: *mut fmpz_mod_poly_struct,
28075 poly: *mut fmpz_mod_poly_struct,
28076 x: *mut fmpz,
28077 );
28078}
28079extern "C" {
28080 pub fn _fmpz_mod_poly_mul(
28081 res: *mut fmpz,
28082 poly1: *const fmpz,
28083 len1: mp_limb_signed_t,
28084 poly2: *const fmpz,
28085 len2: mp_limb_signed_t,
28086 p: *mut fmpz,
28087 );
28088}
28089extern "C" {
28090 pub fn fmpz_mod_poly_mul(
28091 res: *mut fmpz_mod_poly_struct,
28092 poly1: *mut fmpz_mod_poly_struct,
28093 poly2: *mut fmpz_mod_poly_struct,
28094 );
28095}
28096extern "C" {
28097 pub fn _fmpz_mod_poly_mullow(
28098 res: *mut fmpz,
28099 poly1: *const fmpz,
28100 len1: mp_limb_signed_t,
28101 poly2: *const fmpz,
28102 len2: mp_limb_signed_t,
28103 p: *mut fmpz,
28104 n: mp_limb_signed_t,
28105 );
28106}
28107extern "C" {
28108 pub fn fmpz_mod_poly_mullow(
28109 res: *mut fmpz_mod_poly_struct,
28110 poly1: *mut fmpz_mod_poly_struct,
28111 poly2: *mut fmpz_mod_poly_struct,
28112 n: mp_limb_signed_t,
28113 );
28114}
28115extern "C" {
28116 pub fn _fmpz_mod_poly_sqr(
28117 res: *mut fmpz,
28118 poly: *const fmpz,
28119 len: mp_limb_signed_t,
28120 p: *mut fmpz,
28121 );
28122}
28123extern "C" {
28124 pub fn fmpz_mod_poly_sqr(res: *mut fmpz_mod_poly_struct, poly: *mut fmpz_mod_poly_struct);
28125}
28126extern "C" {
28127 pub fn _fmpz_mod_poly_mulmod(
28128 res: *mut fmpz,
28129 poly1: *const fmpz,
28130 len1: mp_limb_signed_t,
28131 poly2: *const fmpz,
28132 len2: mp_limb_signed_t,
28133 f: *const fmpz,
28134 lenf: mp_limb_signed_t,
28135 p: *mut fmpz,
28136 );
28137}
28138extern "C" {
28139 pub fn fmpz_mod_poly_mulmod(
28140 res: *mut fmpz_mod_poly_struct,
28141 poly1: *mut fmpz_mod_poly_struct,
28142 poly2: *mut fmpz_mod_poly_struct,
28143 f: *mut fmpz_mod_poly_struct,
28144 );
28145}
28146extern "C" {
28147 pub fn _fmpz_mod_poly_mulmod_preinv(
28148 res: *mut fmpz,
28149 poly1: *const fmpz,
28150 len1: mp_limb_signed_t,
28151 poly2: *const fmpz,
28152 len2: mp_limb_signed_t,
28153 f: *const fmpz,
28154 lenf: mp_limb_signed_t,
28155 finv: *const fmpz,
28156 lenfinv: mp_limb_signed_t,
28157 p: *mut fmpz,
28158 );
28159}
28160extern "C" {
28161 pub fn fmpz_mod_poly_mulmod_preinv(
28162 res: *mut fmpz_mod_poly_struct,
28163 poly1: *mut fmpz_mod_poly_struct,
28164 poly2: *mut fmpz_mod_poly_struct,
28165 f: *mut fmpz_mod_poly_struct,
28166 finv: *mut fmpz_mod_poly_struct,
28167 );
28168}
28169extern "C" {
28170 pub fn _fmpz_mod_poly_pow(
28171 rop: *mut fmpz,
28172 op: *const fmpz,
28173 len: mp_limb_signed_t,
28174 e: mp_limb_t,
28175 p: *mut fmpz,
28176 );
28177}
28178extern "C" {
28179 pub fn fmpz_mod_poly_pow(
28180 rop: *mut fmpz_mod_poly_struct,
28181 op: *mut fmpz_mod_poly_struct,
28182 e: mp_limb_t,
28183 );
28184}
28185extern "C" {
28186 pub fn _fmpz_mod_poly_pow_trunc(
28187 res: *mut fmpz,
28188 poly: *const fmpz,
28189 e: mp_limb_t,
28190 trunc: mp_limb_signed_t,
28191 p: *mut fmpz,
28192 );
28193}
28194extern "C" {
28195 pub fn fmpz_mod_poly_pow_trunc(
28196 res: *mut fmpz_mod_poly_struct,
28197 poly: *mut fmpz_mod_poly_struct,
28198 e: mp_limb_t,
28199 trunc: mp_limb_signed_t,
28200 );
28201}
28202extern "C" {
28203 pub fn _fmpz_mod_poly_pow_trunc_binexp(
28204 res: *mut fmpz,
28205 poly: *const fmpz,
28206 e: mp_limb_t,
28207 trunc: mp_limb_signed_t,
28208 p: *mut fmpz,
28209 );
28210}
28211extern "C" {
28212 pub fn fmpz_mod_poly_pow_trunc_binexp(
28213 res: *mut fmpz_mod_poly_struct,
28214 poly: *mut fmpz_mod_poly_struct,
28215 e: mp_limb_t,
28216 trunc: mp_limb_signed_t,
28217 );
28218}
28219extern "C" {
28220 pub fn _fmpz_mod_poly_powmod_ui_binexp(
28221 res: *mut fmpz,
28222 poly: *const fmpz,
28223 e: mp_limb_t,
28224 f: *const fmpz,
28225 lenf: mp_limb_signed_t,
28226 p: *mut fmpz,
28227 );
28228}
28229extern "C" {
28230 pub fn fmpz_mod_poly_powmod_ui_binexp(
28231 res: *mut fmpz_mod_poly_struct,
28232 poly: *mut fmpz_mod_poly_struct,
28233 e: mp_limb_t,
28234 f: *mut fmpz_mod_poly_struct,
28235 );
28236}
28237extern "C" {
28238 pub fn _fmpz_mod_poly_powmod_ui_binexp_preinv(
28239 res: *mut fmpz,
28240 poly: *const fmpz,
28241 e: mp_limb_t,
28242 f: *const fmpz,
28243 lenf: mp_limb_signed_t,
28244 finv: *const fmpz,
28245 lenfinv: mp_limb_signed_t,
28246 p: *mut fmpz,
28247 );
28248}
28249extern "C" {
28250 pub fn fmpz_mod_poly_powmod_ui_binexp_preinv(
28251 res: *mut fmpz_mod_poly_struct,
28252 poly: *mut fmpz_mod_poly_struct,
28253 e: mp_limb_t,
28254 f: *mut fmpz_mod_poly_struct,
28255 finv: *mut fmpz_mod_poly_struct,
28256 );
28257}
28258extern "C" {
28259 pub fn _fmpz_mod_poly_powmod_fmpz_binexp(
28260 res: *mut fmpz,
28261 poly: *const fmpz,
28262 e: *mut fmpz,
28263 f: *const fmpz,
28264 lenf: mp_limb_signed_t,
28265 p: *mut fmpz,
28266 );
28267}
28268extern "C" {
28269 pub fn fmpz_mod_poly_powmod_fmpz_binexp(
28270 res: *mut fmpz_mod_poly_struct,
28271 poly: *mut fmpz_mod_poly_struct,
28272 e: *mut fmpz,
28273 f: *mut fmpz_mod_poly_struct,
28274 );
28275}
28276extern "C" {
28277 pub fn _fmpz_mod_poly_powmod_fmpz_binexp_preinv(
28278 res: *mut fmpz,
28279 poly: *const fmpz,
28280 e: *mut fmpz,
28281 f: *const fmpz,
28282 lenf: mp_limb_signed_t,
28283 finv: *const fmpz,
28284 lenfinv: mp_limb_signed_t,
28285 p: *mut fmpz,
28286 );
28287}
28288extern "C" {
28289 pub fn fmpz_mod_poly_powmod_fmpz_binexp_preinv(
28290 res: *mut fmpz_mod_poly_struct,
28291 poly: *mut fmpz_mod_poly_struct,
28292 e: *mut fmpz,
28293 f: *mut fmpz_mod_poly_struct,
28294 finv: *mut fmpz_mod_poly_struct,
28295 );
28296}
28297extern "C" {
28298 pub fn _fmpz_mod_poly_powmod_x_fmpz_preinv(
28299 res: *mut fmpz,
28300 e: *mut fmpz,
28301 f: *const fmpz,
28302 lenf: mp_limb_signed_t,
28303 finv: *const fmpz,
28304 lenfinv: mp_limb_signed_t,
28305 p: *mut fmpz,
28306 );
28307}
28308extern "C" {
28309 pub fn fmpz_mod_poly_powmod_x_fmpz_preinv(
28310 res: *mut fmpz_mod_poly_struct,
28311 e: *mut fmpz,
28312 f: *mut fmpz_mod_poly_struct,
28313 finv: *mut fmpz_mod_poly_struct,
28314 );
28315}
28316extern "C" {
28317 pub fn _fmpz_mod_poly_powers_mod_preinv_naive(
28318 res: *mut *mut fmpz,
28319 f: *const fmpz,
28320 flen: mp_limb_signed_t,
28321 n: mp_limb_signed_t,
28322 g: *const fmpz,
28323 glen: mp_limb_signed_t,
28324 ginv: *const fmpz,
28325 ginvlen: mp_limb_signed_t,
28326 p: *mut fmpz,
28327 );
28328}
28329extern "C" {
28330 pub fn fmpz_mod_poly_powers_mod_naive(
28331 res: *mut fmpz_mod_poly_struct,
28332 f: *mut fmpz_mod_poly_struct,
28333 n: mp_limb_signed_t,
28334 g: *mut fmpz_mod_poly_struct,
28335 );
28336}
28337extern "C" {
28338 pub fn _fmpz_mod_poly_powers_mod_preinv_threaded_pool(
28339 res: *mut *mut fmpz,
28340 f: *const fmpz,
28341 flen: mp_limb_signed_t,
28342 n: mp_limb_signed_t,
28343 g: *const fmpz,
28344 glen: mp_limb_signed_t,
28345 ginv: *const fmpz,
28346 ginvlen: mp_limb_signed_t,
28347 p: *mut fmpz,
28348 threads: *mut thread_pool_handle,
28349 num_threads: mp_limb_signed_t,
28350 );
28351}
28352extern "C" {
28353 pub fn fmpz_mod_poly_powers_mod_bsgs(
28354 res: *mut fmpz_mod_poly_struct,
28355 f: *mut fmpz_mod_poly_struct,
28356 n: mp_limb_signed_t,
28357 g: *mut fmpz_mod_poly_struct,
28358 );
28359}
28360extern "C" {
28361 pub fn fmpz_mod_poly_frobenius_powers_2exp_precomp(
28362 pow: *mut fmpz_mod_poly_frobenius_powers_2exp_struct,
28363 f: *mut fmpz_mod_poly_struct,
28364 finv: *mut fmpz_mod_poly_struct,
28365 m: mp_limb_t,
28366 );
28367}
28368extern "C" {
28369 pub fn fmpz_mod_poly_frobenius_powers_2exp_clear(
28370 pow: *mut fmpz_mod_poly_frobenius_powers_2exp_struct,
28371 );
28372}
28373extern "C" {
28374 pub fn fmpz_mod_poly_frobenius_power(
28375 res: *mut fmpz_mod_poly_struct,
28376 pow: *mut fmpz_mod_poly_frobenius_powers_2exp_struct,
28377 f: *mut fmpz_mod_poly_struct,
28378 m: mp_limb_t,
28379 );
28380}
28381extern "C" {
28382 pub fn fmpz_mod_poly_frobenius_powers_precomp(
28383 pow: *mut fmpz_mod_poly_frobenius_powers_struct,
28384 f: *mut fmpz_mod_poly_struct,
28385 finv: *mut fmpz_mod_poly_struct,
28386 m: mp_limb_t,
28387 );
28388}
28389extern "C" {
28390 pub fn fmpz_mod_poly_frobenius_powers_clear(pow: *mut fmpz_mod_poly_frobenius_powers_struct);
28391}
28392extern "C" {
28393 pub fn _fmpz_mod_poly_divrem_basecase(
28394 Q: *mut fmpz,
28395 R: *mut fmpz,
28396 A: *const fmpz,
28397 lenA: mp_limb_signed_t,
28398 B: *const fmpz,
28399 lenB: mp_limb_signed_t,
28400 invB: *mut fmpz,
28401 p: *mut fmpz,
28402 );
28403}
28404extern "C" {
28405 pub fn fmpz_mod_poly_divrem_basecase(
28406 Q: *mut fmpz_mod_poly_struct,
28407 R: *mut fmpz_mod_poly_struct,
28408 A: *mut fmpz_mod_poly_struct,
28409 B: *mut fmpz_mod_poly_struct,
28410 );
28411}
28412extern "C" {
28413 pub fn _fmpz_mod_poly_div_basecase(
28414 Q: *mut fmpz,
28415 R: *mut fmpz,
28416 A: *const fmpz,
28417 lenA: mp_limb_signed_t,
28418 B: *const fmpz,
28419 lenB: mp_limb_signed_t,
28420 invB: *mut fmpz,
28421 p: *mut fmpz,
28422 );
28423}
28424extern "C" {
28425 pub fn fmpz_mod_poly_div_basecase(
28426 Q: *mut fmpz_mod_poly_struct,
28427 A: *mut fmpz_mod_poly_struct,
28428 B: *mut fmpz_mod_poly_struct,
28429 );
28430}
28431extern "C" {
28432 pub fn _fmpz_mod_poly_div_newton_n_preinv(
28433 Q: *mut fmpz,
28434 A: *const fmpz,
28435 lenA: mp_limb_signed_t,
28436 B: *const fmpz,
28437 lenB: mp_limb_signed_t,
28438 Binv: *const fmpz,
28439 lenBinv: mp_limb_signed_t,
28440 mod_: *mut fmpz,
28441 );
28442}
28443extern "C" {
28444 pub fn fmpz_mod_poly_div_newton_n_preinv(
28445 Q: *mut fmpz_mod_poly_struct,
28446 A: *mut fmpz_mod_poly_struct,
28447 B: *mut fmpz_mod_poly_struct,
28448 Binv: *mut fmpz_mod_poly_struct,
28449 );
28450}
28451extern "C" {
28452 pub fn _fmpz_mod_poly_divrem_newton_n_preinv(
28453 Q: *mut fmpz,
28454 R: *mut fmpz,
28455 A: *const fmpz,
28456 lenA: mp_limb_signed_t,
28457 B: *const fmpz,
28458 lenB: mp_limb_signed_t,
28459 Binv: *const fmpz,
28460 lenBinv: mp_limb_signed_t,
28461 mod_: *mut fmpz,
28462 );
28463}
28464extern "C" {
28465 pub fn fmpz_mod_poly_divrem_newton_n_preinv(
28466 Q: *mut fmpz_mod_poly_struct,
28467 R: *mut fmpz_mod_poly_struct,
28468 A: *mut fmpz_mod_poly_struct,
28469 B: *mut fmpz_mod_poly_struct,
28470 Binv: *mut fmpz_mod_poly_struct,
28471 );
28472}
28473extern "C" {
28474 pub fn fmpz_mod_poly_remove(
28475 f: *mut fmpz_mod_poly_struct,
28476 p: *mut fmpz_mod_poly_struct,
28477 ) -> mp_limb_t;
28478}
28479extern "C" {
28480 pub fn _fmpz_mod_poly_rem_basecase(
28481 R: *mut fmpz,
28482 A: *const fmpz,
28483 lenA: mp_limb_signed_t,
28484 B: *const fmpz,
28485 lenB: mp_limb_signed_t,
28486 invB: *mut fmpz,
28487 p: *mut fmpz,
28488 );
28489}
28490extern "C" {
28491 pub fn fmpz_mod_poly_rem_basecase(
28492 R: *mut fmpz_mod_poly_struct,
28493 A: *mut fmpz_mod_poly_struct,
28494 B: *mut fmpz_mod_poly_struct,
28495 );
28496}
28497extern "C" {
28498 pub fn _fmpz_mod_poly_divrem_divconquer_recursive(
28499 Q: *mut fmpz,
28500 BQ: *mut fmpz,
28501 W: *mut fmpz,
28502 A: *const fmpz,
28503 B: *const fmpz,
28504 lenB: mp_limb_signed_t,
28505 invB: *mut fmpz,
28506 p: *mut fmpz,
28507 );
28508}
28509extern "C" {
28510 pub fn _fmpz_mod_poly_divrem_divconquer(
28511 Q: *mut fmpz,
28512 R: *mut fmpz,
28513 A: *const fmpz,
28514 lenA: mp_limb_signed_t,
28515 B: *const fmpz,
28516 lenB: mp_limb_signed_t,
28517 invB: *mut fmpz,
28518 p: *mut fmpz,
28519 );
28520}
28521extern "C" {
28522 pub fn fmpz_mod_poly_divrem_divconquer(
28523 Q: *mut fmpz_mod_poly_struct,
28524 R: *mut fmpz_mod_poly_struct,
28525 A: *mut fmpz_mod_poly_struct,
28526 B: *mut fmpz_mod_poly_struct,
28527 );
28528}
28529extern "C" {
28530 pub fn _fmpz_mod_poly_divrem_f(
28531 f: *mut fmpz,
28532 Q: *mut fmpz,
28533 R: *mut fmpz,
28534 A: *const fmpz,
28535 lenA: mp_limb_signed_t,
28536 B: *const fmpz,
28537 lenB: mp_limb_signed_t,
28538 p: *mut fmpz,
28539 );
28540}
28541extern "C" {
28542 pub fn fmpz_mod_poly_divrem_f(
28543 f: *mut fmpz,
28544 Q: *mut fmpz_mod_poly_struct,
28545 R: *mut fmpz_mod_poly_struct,
28546 A: *mut fmpz_mod_poly_struct,
28547 B: *mut fmpz_mod_poly_struct,
28548 );
28549}
28550extern "C" {
28551 pub fn _fmpz_mod_poly_inv_series_newton(
28552 Qinv: *mut fmpz,
28553 Q: *const fmpz,
28554 n: mp_limb_signed_t,
28555 cinv: *mut fmpz,
28556 p: *mut fmpz,
28557 );
28558}
28559extern "C" {
28560 pub fn fmpz_mod_poly_inv_series_newton(
28561 Qinv: *mut fmpz_mod_poly_struct,
28562 Q: *mut fmpz_mod_poly_struct,
28563 n: mp_limb_signed_t,
28564 );
28565}
28566extern "C" {
28567 pub fn fmpz_mod_poly_inv_series_newton_f(
28568 f: *mut fmpz,
28569 Qinv: *mut fmpz_mod_poly_struct,
28570 Q: *mut fmpz_mod_poly_struct,
28571 n: mp_limb_signed_t,
28572 );
28573}
28574extern "C" {
28575 pub fn _fmpz_mod_poly_div_series(
28576 Q: *mut fmpz,
28577 A: *const fmpz,
28578 Alen: mp_limb_signed_t,
28579 B: *const fmpz,
28580 Blen: mp_limb_signed_t,
28581 p: *mut fmpz,
28582 n: mp_limb_signed_t,
28583 );
28584}
28585extern "C" {
28586 pub fn fmpz_mod_poly_div_series(
28587 Q: *mut fmpz_mod_poly_struct,
28588 A: *mut fmpz_mod_poly_struct,
28589 B: *mut fmpz_mod_poly_struct,
28590 n: mp_limb_signed_t,
28591 );
28592}
28593extern "C" {
28594 pub fn fmpz_mod_poly_make_monic(
28595 res: *mut fmpz_mod_poly_struct,
28596 poly: *mut fmpz_mod_poly_struct,
28597 );
28598}
28599extern "C" {
28600 pub fn fmpz_mod_poly_make_monic_f(
28601 f: *mut fmpz,
28602 res: *mut fmpz_mod_poly_struct,
28603 poly: *mut fmpz_mod_poly_struct,
28604 );
28605}
28606extern "C" {
28607 pub fn _fmpz_mod_poly_gcd_euclidean(
28608 G: *mut fmpz,
28609 A: *const fmpz,
28610 lenA: mp_limb_signed_t,
28611 B: *const fmpz,
28612 lenB: mp_limb_signed_t,
28613 invB: *mut fmpz,
28614 p: *mut fmpz,
28615 ) -> mp_limb_signed_t;
28616}
28617extern "C" {
28618 pub fn fmpz_mod_poly_gcd_euclidean(
28619 G: *mut fmpz_mod_poly_struct,
28620 A: *mut fmpz_mod_poly_struct,
28621 B: *mut fmpz_mod_poly_struct,
28622 );
28623}
28624extern "C" {
28625 pub fn _fmpz_mod_poly_gcd_euclidean_f(
28626 f: *mut fmpz,
28627 G: *mut fmpz,
28628 A: *const fmpz,
28629 lenA: mp_limb_signed_t,
28630 B: *const fmpz,
28631 lenB: mp_limb_signed_t,
28632 p: *mut fmpz,
28633 ) -> mp_limb_signed_t;
28634}
28635extern "C" {
28636 pub fn fmpz_mod_poly_gcd_euclidean_f(
28637 f: *mut fmpz,
28638 G: *mut fmpz_mod_poly_struct,
28639 A: *mut fmpz_mod_poly_struct,
28640 B: *mut fmpz_mod_poly_struct,
28641 );
28642}
28643extern "C" {
28644 pub fn _fmpz_mod_poly_hgcd_recursive(
28645 M: *mut *mut fmpz,
28646 lenM: *mut mp_limb_signed_t,
28647 A: *mut fmpz,
28648 lenA: *mut mp_limb_signed_t,
28649 B: *mut fmpz,
28650 lenB: *mut mp_limb_signed_t,
28651 a: *const fmpz,
28652 lena: mp_limb_signed_t,
28653 b: *const fmpz,
28654 lenb: mp_limb_signed_t,
28655 P: *mut fmpz,
28656 mod_: *mut fmpz,
28657 flag: ::std::os::raw::c_int,
28658 res: *mut fmpz_mod_poly_res_struct,
28659 ) -> mp_limb_signed_t;
28660}
28661extern "C" {
28662 pub fn _fmpz_mod_poly_hgcd(
28663 M: *mut *mut fmpz,
28664 lenM: *mut mp_limb_signed_t,
28665 A: *mut fmpz,
28666 lenA: *mut mp_limb_signed_t,
28667 B: *mut fmpz,
28668 lenB: *mut mp_limb_signed_t,
28669 a: *const fmpz,
28670 lena: mp_limb_signed_t,
28671 b: *const fmpz,
28672 lenb: mp_limb_signed_t,
28673 mod_: *mut fmpz,
28674 ) -> mp_limb_signed_t;
28675}
28676extern "C" {
28677 pub fn _fmpz_mod_poly_gcd_hgcd(
28678 G: *mut fmpz,
28679 A: *const fmpz,
28680 lenA: mp_limb_signed_t,
28681 B: *const fmpz,
28682 lenB: mp_limb_signed_t,
28683 mod_: *mut fmpz,
28684 ) -> mp_limb_signed_t;
28685}
28686extern "C" {
28687 pub fn fmpz_mod_poly_gcd_hgcd(
28688 G: *mut fmpz_mod_poly_struct,
28689 A: *mut fmpz_mod_poly_struct,
28690 B: *mut fmpz_mod_poly_struct,
28691 );
28692}
28693extern "C" {
28694 pub fn _fmpz_mod_poly_xgcd_euclidean(
28695 G: *mut fmpz,
28696 S: *mut fmpz,
28697 T: *mut fmpz,
28698 A: *const fmpz,
28699 lenA: mp_limb_signed_t,
28700 B: *const fmpz,
28701 lenB: mp_limb_signed_t,
28702 invB: *mut fmpz,
28703 p: *mut fmpz,
28704 ) -> mp_limb_signed_t;
28705}
28706extern "C" {
28707 pub fn _fmpz_mod_poly_xgcd_euclidean_f(
28708 f: *mut fmpz,
28709 G: *mut fmpz,
28710 S: *mut fmpz,
28711 T: *mut fmpz,
28712 A: *const fmpz,
28713 lenA: mp_limb_signed_t,
28714 B: *const fmpz,
28715 lenB: mp_limb_signed_t,
28716 invB: *mut fmpz,
28717 p: *mut fmpz,
28718 ) -> mp_limb_signed_t;
28719}
28720extern "C" {
28721 pub fn fmpz_mod_poly_xgcd_euclidean(
28722 G: *mut fmpz_mod_poly_struct,
28723 S: *mut fmpz_mod_poly_struct,
28724 T: *mut fmpz_mod_poly_struct,
28725 A: *mut fmpz_mod_poly_struct,
28726 B: *mut fmpz_mod_poly_struct,
28727 );
28728}
28729extern "C" {
28730 pub fn fmpz_mod_poly_xgcd_euclidean_f(
28731 f: *mut fmpz,
28732 G: *mut fmpz_mod_poly_struct,
28733 S: *mut fmpz_mod_poly_struct,
28734 T: *mut fmpz_mod_poly_struct,
28735 A: *mut fmpz_mod_poly_struct,
28736 B: *mut fmpz_mod_poly_struct,
28737 );
28738}
28739extern "C" {
28740 pub fn _fmpz_mod_poly_xgcd_hgcd(
28741 G: *mut fmpz,
28742 S: *mut fmpz,
28743 T: *mut fmpz,
28744 A: *const fmpz,
28745 lenA: mp_limb_signed_t,
28746 B: *const fmpz,
28747 lenB: mp_limb_signed_t,
28748 mod_: *mut fmpz,
28749 ) -> mp_limb_signed_t;
28750}
28751extern "C" {
28752 pub fn fmpz_mod_poly_xgcd_hgcd(
28753 G: *mut fmpz_mod_poly_struct,
28754 S: *mut fmpz_mod_poly_struct,
28755 T: *mut fmpz_mod_poly_struct,
28756 A: *mut fmpz_mod_poly_struct,
28757 B: *mut fmpz_mod_poly_struct,
28758 );
28759}
28760extern "C" {
28761 pub fn _fmpz_mod_poly_gcdinv_euclidean_f(
28762 f: *mut fmpz,
28763 G: *mut fmpz,
28764 S: *mut fmpz,
28765 A: *const fmpz,
28766 lenA: mp_limb_signed_t,
28767 B: *const fmpz,
28768 lenB: mp_limb_signed_t,
28769 invA: *mut fmpz,
28770 p: *mut fmpz,
28771 ) -> mp_limb_signed_t;
28772}
28773extern "C" {
28774 pub fn fmpz_mod_poly_gcdinv_euclidean_f(
28775 f: *mut fmpz,
28776 G: *mut fmpz_mod_poly_struct,
28777 S: *mut fmpz_mod_poly_struct,
28778 A: *mut fmpz_mod_poly_struct,
28779 B: *mut fmpz_mod_poly_struct,
28780 );
28781}
28782extern "C" {
28783 pub fn _fmpz_mod_poly_gcdinv_euclidean(
28784 G: *mut fmpz,
28785 S: *mut fmpz,
28786 A: *const fmpz,
28787 lenA: mp_limb_signed_t,
28788 B: *const fmpz,
28789 lenB: mp_limb_signed_t,
28790 invA: *mut fmpz,
28791 p: *mut fmpz,
28792 ) -> mp_limb_signed_t;
28793}
28794extern "C" {
28795 pub fn fmpz_mod_poly_gcdinv_euclidean(
28796 G: *mut fmpz_mod_poly_struct,
28797 S: *mut fmpz_mod_poly_struct,
28798 A: *mut fmpz_mod_poly_struct,
28799 B: *mut fmpz_mod_poly_struct,
28800 );
28801}
28802extern "C" {
28803 pub fn _fmpz_mod_poly_gcdinv(
28804 G: *mut fmpz,
28805 S: *mut fmpz,
28806 A: *const fmpz,
28807 lenA: mp_limb_signed_t,
28808 B: *const fmpz,
28809 lenB: mp_limb_signed_t,
28810 p: *mut fmpz,
28811 ) -> mp_limb_signed_t;
28812}
28813extern "C" {
28814 pub fn fmpz_mod_poly_gcdinv(
28815 G: *mut fmpz_mod_poly_struct,
28816 S: *mut fmpz_mod_poly_struct,
28817 A: *mut fmpz_mod_poly_struct,
28818 B: *mut fmpz_mod_poly_struct,
28819 );
28820}
28821extern "C" {
28822 pub fn _fmpz_mod_poly_gcdinv_f(
28823 f: *mut fmpz,
28824 G: *mut fmpz,
28825 S: *mut fmpz,
28826 A: *const fmpz,
28827 lenA: mp_limb_signed_t,
28828 B: *const fmpz,
28829 lenB: mp_limb_signed_t,
28830 p: *mut fmpz,
28831 ) -> mp_limb_signed_t;
28832}
28833extern "C" {
28834 pub fn fmpz_mod_poly_gcdinv_f(
28835 f: *mut fmpz,
28836 G: *mut fmpz_mod_poly_struct,
28837 S: *mut fmpz_mod_poly_struct,
28838 A: *mut fmpz_mod_poly_struct,
28839 B: *mut fmpz_mod_poly_struct,
28840 );
28841}
28842extern "C" {
28843 pub fn _fmpz_mod_poly_invmod(
28844 A: *mut fmpz,
28845 B: *const fmpz,
28846 lenB: mp_limb_signed_t,
28847 P: *const fmpz,
28848 lenP: mp_limb_signed_t,
28849 p: *mut fmpz,
28850 ) -> ::std::os::raw::c_int;
28851}
28852extern "C" {
28853 pub fn _fmpz_mod_poly_invmod_f(
28854 f: *mut fmpz,
28855 A: *mut fmpz,
28856 B: *const fmpz,
28857 lenB: mp_limb_signed_t,
28858 P: *const fmpz,
28859 lenP: mp_limb_signed_t,
28860 p: *mut fmpz,
28861 ) -> ::std::os::raw::c_int;
28862}
28863extern "C" {
28864 pub fn fmpz_mod_poly_invmod(
28865 A: *mut fmpz_mod_poly_struct,
28866 B: *mut fmpz_mod_poly_struct,
28867 P: *mut fmpz_mod_poly_struct,
28868 ) -> ::std::os::raw::c_int;
28869}
28870extern "C" {
28871 pub fn fmpz_mod_poly_invmod_f(
28872 f: *mut fmpz,
28873 A: *mut fmpz_mod_poly_struct,
28874 B: *mut fmpz_mod_poly_struct,
28875 P: *mut fmpz_mod_poly_struct,
28876 ) -> ::std::os::raw::c_int;
28877}
28878extern "C" {
28879 pub fn _fmpz_mod_poly_minpoly_bm(
28880 poly: *mut fmpz,
28881 seq: *const fmpz,
28882 len: mp_limb_signed_t,
28883 p: *mut fmpz,
28884 ) -> mp_limb_signed_t;
28885}
28886extern "C" {
28887 pub fn _fmpz_mod_poly_minpoly_hgcd(
28888 poly: *mut fmpz,
28889 seq: *const fmpz,
28890 len: mp_limb_signed_t,
28891 p: *mut fmpz,
28892 ) -> mp_limb_signed_t;
28893}
28894extern "C" {
28895 pub fn _fmpz_mod_poly_resultant_euclidean(
28896 res: *mut fmpz,
28897 poly1: *const fmpz,
28898 len1: mp_limb_signed_t,
28899 poly2: *const fmpz,
28900 len2: mp_limb_signed_t,
28901 mod_: *mut fmpz,
28902 );
28903}
28904extern "C" {
28905 pub fn fmpz_mod_poly_resultant_euclidean(
28906 r: *mut fmpz,
28907 f: *mut fmpz_mod_poly_struct,
28908 g: *mut fmpz_mod_poly_struct,
28909 );
28910}
28911extern "C" {
28912 pub fn _fmpz_mod_poly_resultant_hgcd(
28913 res: *mut fmpz,
28914 A: *const fmpz,
28915 lenA: mp_limb_signed_t,
28916 B: *const fmpz,
28917 lenB: mp_limb_signed_t,
28918 mod_: *mut fmpz,
28919 );
28920}
28921extern "C" {
28922 pub fn fmpz_mod_poly_resultant_hgcd(
28923 res: *mut fmpz,
28924 A: *mut fmpz_mod_poly_struct,
28925 B: *mut fmpz_mod_poly_struct,
28926 );
28927}
28928extern "C" {
28929 pub fn _fmpz_mod_poly_discriminant(
28930 d: *mut fmpz,
28931 poly: *const fmpz,
28932 len: mp_limb_signed_t,
28933 mod_: *mut fmpz,
28934 );
28935}
28936extern "C" {
28937 pub fn fmpz_mod_poly_discriminant(d: *mut fmpz, f: *mut fmpz_mod_poly_struct);
28938}
28939extern "C" {
28940 pub fn _fmpz_mod_poly_derivative(
28941 res: *mut fmpz,
28942 poly: *const fmpz,
28943 len: mp_limb_signed_t,
28944 p: *mut fmpz,
28945 );
28946}
28947extern "C" {
28948 pub fn fmpz_mod_poly_derivative(
28949 res: *mut fmpz_mod_poly_struct,
28950 poly: *mut fmpz_mod_poly_struct,
28951 );
28952}
28953extern "C" {
28954 pub fn _fmpz_mod_poly_evaluate_fmpz(
28955 res: *mut fmpz,
28956 poly: *const fmpz,
28957 len: mp_limb_signed_t,
28958 a: *mut fmpz,
28959 p: *mut fmpz,
28960 );
28961}
28962extern "C" {
28963 pub fn fmpz_mod_poly_evaluate_fmpz(
28964 res: *mut fmpz,
28965 poly: *mut fmpz_mod_poly_struct,
28966 a: *mut fmpz,
28967 );
28968}
28969extern "C" {
28970 pub fn _fmpz_mod_poly_tree_alloc(len: mp_limb_signed_t) -> *mut *mut fmpz_poly_struct;
28971}
28972extern "C" {
28973 pub fn _fmpz_mod_poly_tree_free(tree: *mut *mut fmpz_poly_struct, len: mp_limb_signed_t);
28974}
28975extern "C" {
28976 pub fn _fmpz_mod_poly_tree_build(
28977 tree: *mut *mut fmpz_poly_struct,
28978 roots: *const fmpz,
28979 len: mp_limb_signed_t,
28980 mod_: *mut fmpz,
28981 );
28982}
28983extern "C" {
28984 pub fn _fmpz_mod_poly_evaluate_fmpz_vec_iter(
28985 ys: *mut fmpz,
28986 coeffs: *const fmpz,
28987 len: mp_limb_signed_t,
28988 xs: *const fmpz,
28989 n: mp_limb_signed_t,
28990 mod_: *mut fmpz,
28991 );
28992}
28993extern "C" {
28994 pub fn fmpz_mod_poly_evaluate_fmpz_vec_iter(
28995 ys: *mut fmpz,
28996 poly: *mut fmpz_mod_poly_struct,
28997 xs: *const fmpz,
28998 n: mp_limb_signed_t,
28999 );
29000}
29001extern "C" {
29002 pub fn _fmpz_mod_poly_evaluate_fmpz_vec_fast_precomp(
29003 vs: *mut fmpz,
29004 poly: *const fmpz,
29005 plen: mp_limb_signed_t,
29006 tree: *const *mut fmpz_poly_struct,
29007 len: mp_limb_signed_t,
29008 mod_: *mut fmpz,
29009 );
29010}
29011extern "C" {
29012 pub fn _fmpz_mod_poly_evaluate_fmpz_vec_fast(
29013 ys: *mut fmpz,
29014 poly: *const fmpz,
29015 plen: mp_limb_signed_t,
29016 xs: *const fmpz,
29017 n: mp_limb_signed_t,
29018 mod_: *mut fmpz,
29019 );
29020}
29021extern "C" {
29022 pub fn fmpz_mod_poly_evaluate_fmpz_vec_fast(
29023 ys: *mut fmpz,
29024 poly: *mut fmpz_mod_poly_struct,
29025 xs: *const fmpz,
29026 n: mp_limb_signed_t,
29027 );
29028}
29029extern "C" {
29030 pub fn _fmpz_mod_poly_evaluate_fmpz_vec(
29031 ys: *mut fmpz,
29032 coeffs: *const fmpz,
29033 len: mp_limb_signed_t,
29034 xs: *const fmpz,
29035 n: mp_limb_signed_t,
29036 mod_: *mut fmpz,
29037 );
29038}
29039extern "C" {
29040 pub fn fmpz_mod_poly_evaluate_fmpz_vec(
29041 ys: *mut fmpz,
29042 poly: *mut fmpz_mod_poly_struct,
29043 xs: *const fmpz,
29044 n: mp_limb_signed_t,
29045 );
29046}
29047extern "C" {
29048 pub fn _fmpz_mod_poly_compose_horner(
29049 res: *mut fmpz,
29050 poly1: *const fmpz,
29051 len1: mp_limb_signed_t,
29052 poly2: *const fmpz,
29053 len2: mp_limb_signed_t,
29054 p: *mut fmpz,
29055 );
29056}
29057extern "C" {
29058 pub fn fmpz_mod_poly_compose_horner(
29059 res: *mut fmpz_mod_poly_struct,
29060 poly1: *mut fmpz_mod_poly_struct,
29061 poly2: *mut fmpz_mod_poly_struct,
29062 );
29063}
29064extern "C" {
29065 pub fn _fmpz_mod_poly_compose_divconquer(
29066 res: *mut fmpz,
29067 poly1: *const fmpz,
29068 len1: mp_limb_signed_t,
29069 poly2: *const fmpz,
29070 len2: mp_limb_signed_t,
29071 p: *mut fmpz,
29072 );
29073}
29074extern "C" {
29075 pub fn fmpz_mod_poly_compose_divconquer(
29076 res: *mut fmpz_mod_poly_struct,
29077 poly1: *mut fmpz_mod_poly_struct,
29078 poly2: *mut fmpz_mod_poly_struct,
29079 );
29080}
29081extern "C" {
29082 pub fn _fmpz_mod_poly_compose_mod(
29083 res: *mut fmpz,
29084 f: *const fmpz,
29085 lenf: mp_limb_signed_t,
29086 g: *const fmpz,
29087 h: *const fmpz,
29088 lenh: mp_limb_signed_t,
29089 p: *mut fmpz,
29090 );
29091}
29092extern "C" {
29093 pub fn fmpz_mod_poly_compose_mod(
29094 res: *mut fmpz_mod_poly_struct,
29095 poly1: *mut fmpz_mod_poly_struct,
29096 poly2: *mut fmpz_mod_poly_struct,
29097 poly3: *mut fmpz_mod_poly_struct,
29098 );
29099}
29100extern "C" {
29101 pub fn _fmpz_mod_poly_compose_mod_brent_kung(
29102 res: *mut fmpz,
29103 poly1: *const fmpz,
29104 len1: mp_limb_signed_t,
29105 poly2: *const fmpz,
29106 poly3: *const fmpz,
29107 len3: mp_limb_signed_t,
29108 p: *mut fmpz,
29109 );
29110}
29111extern "C" {
29112 pub fn fmpz_mod_poly_compose_mod_brent_kung(
29113 res: *mut fmpz_mod_poly_struct,
29114 poly1: *mut fmpz_mod_poly_struct,
29115 poly2: *mut fmpz_mod_poly_struct,
29116 poly3: *mut fmpz_mod_poly_struct,
29117 );
29118}
29119extern "C" {
29120 pub fn _fmpz_mod_poly_reduce_matrix_mod_poly(
29121 A: *mut fmpz_mat_struct,
29122 B: *mut fmpz_mat_struct,
29123 f: *mut fmpz_mod_poly_struct,
29124 );
29125}
29126extern "C" {
29127 pub fn _fmpz_mod_poly_precompute_matrix(
29128 A: *mut fmpz_mat_struct,
29129 poly1: *const fmpz,
29130 poly2: *const fmpz,
29131 len2: mp_limb_signed_t,
29132 poly2inv: *const fmpz,
29133 len2inv: mp_limb_signed_t,
29134 p: *mut fmpz,
29135 );
29136}
29137extern "C" {
29138 pub fn _fmpz_mod_poly_precompute_matrix_worker(arg_ptr: *mut ::std::os::raw::c_void);
29139}
29140extern "C" {
29141 pub fn fmpz_mod_poly_precompute_matrix(
29142 A: *mut fmpz_mat_struct,
29143 poly1: *mut fmpz_mod_poly_struct,
29144 poly2: *mut fmpz_mod_poly_struct,
29145 poly2inv: *mut fmpz_mod_poly_struct,
29146 );
29147}
29148extern "C" {
29149 pub fn _fmpz_mod_poly_compose_mod_brent_kung_precomp_preinv(
29150 res: *mut fmpz,
29151 poly1: *const fmpz,
29152 len1: mp_limb_signed_t,
29153 A: *mut fmpz_mat_struct,
29154 poly3: *const fmpz,
29155 len3: mp_limb_signed_t,
29156 poly3inv: *const fmpz,
29157 len3inv: mp_limb_signed_t,
29158 p: *mut fmpz,
29159 );
29160}
29161extern "C" {
29162 pub fn _fmpz_mod_poly_compose_mod_brent_kung_precomp_preinv_worker(
29163 arg_ptr: *mut ::std::os::raw::c_void,
29164 );
29165}
29166extern "C" {
29167 pub fn fmpz_mod_poly_compose_mod_brent_kung_precomp_preinv(
29168 res: *mut fmpz_mod_poly_struct,
29169 poly1: *mut fmpz_mod_poly_struct,
29170 A: *mut fmpz_mat_struct,
29171 poly3: *mut fmpz_mod_poly_struct,
29172 poly3inv: *mut fmpz_mod_poly_struct,
29173 );
29174}
29175extern "C" {
29176 pub fn _fmpz_mod_poly_compose_mod_brent_kung_preinv(
29177 res: *mut fmpz,
29178 poly1: *const fmpz,
29179 len1: mp_limb_signed_t,
29180 poly2: *const fmpz,
29181 poly3: *const fmpz,
29182 len3: mp_limb_signed_t,
29183 poly3inv: *const fmpz,
29184 len3inv: mp_limb_signed_t,
29185 p: *mut fmpz,
29186 );
29187}
29188extern "C" {
29189 pub fn fmpz_mod_poly_compose_mod_brent_kung_preinv(
29190 res: *mut fmpz_mod_poly_struct,
29191 poly1: *mut fmpz_mod_poly_struct,
29192 poly2: *mut fmpz_mod_poly_struct,
29193 poly3: *mut fmpz_mod_poly_struct,
29194 poly3inv: *mut fmpz_mod_poly_struct,
29195 );
29196}
29197extern "C" {
29198 pub fn _fmpz_mod_poly_compose_mod_horner(
29199 res: *mut fmpz,
29200 f: *const fmpz,
29201 lenf: mp_limb_signed_t,
29202 g: *const fmpz,
29203 h: *const fmpz,
29204 lenh: mp_limb_signed_t,
29205 p: *mut fmpz,
29206 );
29207}
29208extern "C" {
29209 pub fn fmpz_mod_poly_compose_mod_horner(
29210 res: *mut fmpz_mod_poly_struct,
29211 poly1: *mut fmpz_mod_poly_struct,
29212 poly2: *mut fmpz_mod_poly_struct,
29213 poly3: *mut fmpz_mod_poly_struct,
29214 );
29215}
29216extern "C" {
29217 pub fn _fmpz_mod_poly_compose_mod_brent_kung_vec_preinv(
29218 res: *mut fmpz_mod_poly_struct,
29219 polys: *const fmpz_mod_poly_struct,
29220 len1: mp_limb_signed_t,
29221 l: mp_limb_signed_t,
29222 g: *const fmpz,
29223 glen: mp_limb_signed_t,
29224 poly: *const fmpz,
29225 len: mp_limb_signed_t,
29226 polyinv: *const fmpz,
29227 leninv: mp_limb_signed_t,
29228 p: *mut fmpz,
29229 );
29230}
29231extern "C" {
29232 pub fn fmpz_mod_poly_compose_mod_brent_kung_vec_preinv(
29233 res: *mut fmpz_mod_poly_struct,
29234 polys: *const fmpz_mod_poly_struct,
29235 len1: mp_limb_signed_t,
29236 n: mp_limb_signed_t,
29237 g: *mut fmpz_mod_poly_struct,
29238 poly: *mut fmpz_mod_poly_struct,
29239 polyinv: *mut fmpz_mod_poly_struct,
29240 );
29241}
29242extern "C" {
29243 pub fn _fmpz_mod_poly_compose_mod_brent_kung_vec_preinv_threaded_pool(
29244 res: *mut fmpz_mod_poly_struct,
29245 polys: *const fmpz_mod_poly_struct,
29246 lenpolys: mp_limb_signed_t,
29247 l: mp_limb_signed_t,
29248 g: *const fmpz,
29249 glen: mp_limb_signed_t,
29250 poly: *const fmpz,
29251 len: mp_limb_signed_t,
29252 polyinv: *const fmpz,
29253 leninv: mp_limb_signed_t,
29254 p: *mut fmpz,
29255 threads: *mut thread_pool_handle,
29256 num_threads: mp_limb_signed_t,
29257 );
29258}
29259extern "C" {
29260 pub fn fmpz_mod_poly_compose_mod_brent_kung_vec_preinv_threaded_pool(
29261 res: *mut fmpz_mod_poly_struct,
29262 polys: *const fmpz_mod_poly_struct,
29263 len1: mp_limb_signed_t,
29264 n: mp_limb_signed_t,
29265 g: *mut fmpz_mod_poly_struct,
29266 poly: *mut fmpz_mod_poly_struct,
29267 polyinv: *mut fmpz_mod_poly_struct,
29268 threads: *mut thread_pool_handle,
29269 num_threads: mp_limb_signed_t,
29270 );
29271}
29272extern "C" {
29273 pub fn fmpz_mod_poly_compose_mod_brent_kung_vec_preinv_threaded(
29274 res: *mut fmpz_mod_poly_struct,
29275 polys: *const fmpz_mod_poly_struct,
29276 len1: mp_limb_signed_t,
29277 n: mp_limb_signed_t,
29278 g: *mut fmpz_mod_poly_struct,
29279 poly: *mut fmpz_mod_poly_struct,
29280 polyinv: *mut fmpz_mod_poly_struct,
29281 );
29282}
29283#[repr(C)]
29284#[derive(Debug, Copy, Clone)]
29285pub struct fmpz_mod_poly_radix_struct {
29286 pub V: *mut fmpz,
29287 pub W: *mut fmpz,
29288 pub Rpow: *mut *mut fmpz,
29289 pub Rinv: *mut *mut fmpz,
29290 pub degR: mp_limb_signed_t,
29291 pub k: mp_limb_signed_t,
29292 pub invL: fmpz,
29293}
29294#[test]
29295fn bindgen_test_layout_fmpz_mod_poly_radix_struct() {
29296 assert_eq!(
29297 ::std::mem::size_of::<fmpz_mod_poly_radix_struct>(),
29298 56usize,
29299 concat!("Size of: ", stringify!(fmpz_mod_poly_radix_struct))
29300 );
29301 assert_eq!(
29302 ::std::mem::align_of::<fmpz_mod_poly_radix_struct>(),
29303 8usize,
29304 concat!("Alignment of ", stringify!(fmpz_mod_poly_radix_struct))
29305 );
29306 assert_eq!(
29307 unsafe { &(*(::std::ptr::null::<fmpz_mod_poly_radix_struct>())).V as *const _ as usize },
29308 0usize,
29309 concat!(
29310 "Offset of field: ",
29311 stringify!(fmpz_mod_poly_radix_struct),
29312 "::",
29313 stringify!(V)
29314 )
29315 );
29316 assert_eq!(
29317 unsafe { &(*(::std::ptr::null::<fmpz_mod_poly_radix_struct>())).W as *const _ as usize },
29318 8usize,
29319 concat!(
29320 "Offset of field: ",
29321 stringify!(fmpz_mod_poly_radix_struct),
29322 "::",
29323 stringify!(W)
29324 )
29325 );
29326 assert_eq!(
29327 unsafe { &(*(::std::ptr::null::<fmpz_mod_poly_radix_struct>())).Rpow as *const _ as usize },
29328 16usize,
29329 concat!(
29330 "Offset of field: ",
29331 stringify!(fmpz_mod_poly_radix_struct),
29332 "::",
29333 stringify!(Rpow)
29334 )
29335 );
29336 assert_eq!(
29337 unsafe { &(*(::std::ptr::null::<fmpz_mod_poly_radix_struct>())).Rinv as *const _ as usize },
29338 24usize,
29339 concat!(
29340 "Offset of field: ",
29341 stringify!(fmpz_mod_poly_radix_struct),
29342 "::",
29343 stringify!(Rinv)
29344 )
29345 );
29346 assert_eq!(
29347 unsafe { &(*(::std::ptr::null::<fmpz_mod_poly_radix_struct>())).degR as *const _ as usize },
29348 32usize,
29349 concat!(
29350 "Offset of field: ",
29351 stringify!(fmpz_mod_poly_radix_struct),
29352 "::",
29353 stringify!(degR)
29354 )
29355 );
29356 assert_eq!(
29357 unsafe { &(*(::std::ptr::null::<fmpz_mod_poly_radix_struct>())).k as *const _ as usize },
29358 40usize,
29359 concat!(
29360 "Offset of field: ",
29361 stringify!(fmpz_mod_poly_radix_struct),
29362 "::",
29363 stringify!(k)
29364 )
29365 );
29366 assert_eq!(
29367 unsafe { &(*(::std::ptr::null::<fmpz_mod_poly_radix_struct>())).invL as *const _ as usize },
29368 48usize,
29369 concat!(
29370 "Offset of field: ",
29371 stringify!(fmpz_mod_poly_radix_struct),
29372 "::",
29373 stringify!(invL)
29374 )
29375 );
29376}
29377pub type fmpz_mod_poly_radix_t = [fmpz_mod_poly_radix_struct; 1usize];
29378extern "C" {
29379 pub fn _fmpz_mod_poly_radix_init(
29380 Rpow: *mut *mut fmpz,
29381 Rinv: *mut *mut fmpz,
29382 R: *const fmpz,
29383 lenR: mp_limb_signed_t,
29384 k: mp_limb_signed_t,
29385 invL: *mut fmpz,
29386 p: *mut fmpz,
29387 );
29388}
29389extern "C" {
29390 pub fn fmpz_mod_poly_radix_init(
29391 D: *mut fmpz_mod_poly_radix_struct,
29392 R: *mut fmpz_mod_poly_struct,
29393 degF: mp_limb_signed_t,
29394 );
29395}
29396extern "C" {
29397 pub fn fmpz_mod_poly_radix_clear(D: *mut fmpz_mod_poly_radix_struct);
29398}
29399extern "C" {
29400 pub fn _fmpz_mod_poly_radix(
29401 B: *mut *mut fmpz,
29402 F: *const fmpz,
29403 Rpow: *mut *mut fmpz,
29404 Rinv: *mut *mut fmpz,
29405 degR: mp_limb_signed_t,
29406 k: mp_limb_signed_t,
29407 i: mp_limb_signed_t,
29408 W: *mut fmpz,
29409 p: *mut fmpz,
29410 );
29411}
29412extern "C" {
29413 pub fn fmpz_mod_poly_radix(
29414 B: *mut *mut fmpz_mod_poly_struct,
29415 F: *mut fmpz_mod_poly_struct,
29416 D: *mut fmpz_mod_poly_radix_struct,
29417 );
29418}
29419extern "C" {
29420 pub fn _fmpz_mod_poly_fprint(
29421 file: *mut FILE,
29422 poly: *const fmpz,
29423 len: mp_limb_signed_t,
29424 p: *mut fmpz,
29425 ) -> ::std::os::raw::c_int;
29426}
29427extern "C" {
29428 pub fn fmpz_mod_poly_fprint(
29429 file: *mut FILE,
29430 poly: *mut fmpz_mod_poly_struct,
29431 ) -> ::std::os::raw::c_int;
29432}
29433extern "C" {
29434 pub fn fmpz_mod_poly_fread(
29435 file: *mut FILE,
29436 poly: *mut fmpz_mod_poly_struct,
29437 ) -> ::std::os::raw::c_int;
29438}
29439extern "C" {
29440 pub fn _fmpz_mod_poly_product_roots_fmpz_vec(
29441 poly: *mut fmpz,
29442 xs: *const fmpz,
29443 n: mp_limb_signed_t,
29444 mod_: *mut fmpz,
29445 );
29446}
29447extern "C" {
29448 pub fn fmpz_mod_poly_product_roots_fmpz_vec(
29449 poly: *mut fmpz_poly_struct,
29450 xs: *const fmpz,
29451 n: mp_limb_signed_t,
29452 mod_: *mut fmpz,
29453 );
29454}
29455extern "C" {
29456 pub fn fmpz_mod_poly_find_distinct_nonzero_roots(
29457 roots: *mut fmpz,
29458 P: *mut fmpz_mod_poly_struct,
29459 ) -> ::std::os::raw::c_int;
29460}
29461extern "C" {
29462 pub fn _fmpz_mod_poly_split_rabin(
29463 a: *mut fmpz_mod_poly_struct,
29464 b: *mut fmpz_mod_poly_struct,
29465 f: *mut fmpz_mod_poly_struct,
29466 halfp: *mut fmpz,
29467 t: *mut fmpz_mod_poly_struct,
29468 t2: *mut fmpz_mod_poly_struct,
29469 randstate: *mut flint_rand_s,
29470 );
29471}
29472#[repr(C)]
29473#[derive(Debug, Copy, Clone)]
29474pub struct fmpz_mod_berlekamp_massey_struct {
29475 pub npoints: mp_limb_signed_t,
29476 pub R0: fmpz_mod_poly_t,
29477 pub R1: fmpz_mod_poly_t,
29478 pub V0: fmpz_mod_poly_t,
29479 pub V1: fmpz_mod_poly_t,
29480 pub qt: fmpz_mod_poly_t,
29481 pub rt: fmpz_mod_poly_t,
29482 pub points: fmpz_mod_poly_t,
29483}
29484#[test]
29485fn bindgen_test_layout_fmpz_mod_berlekamp_massey_struct() {
29486 assert_eq!(
29487 ::std::mem::size_of::<fmpz_mod_berlekamp_massey_struct>(),
29488 232usize,
29489 concat!("Size of: ", stringify!(fmpz_mod_berlekamp_massey_struct))
29490 );
29491 assert_eq!(
29492 ::std::mem::align_of::<fmpz_mod_berlekamp_massey_struct>(),
29493 8usize,
29494 concat!(
29495 "Alignment of ",
29496 stringify!(fmpz_mod_berlekamp_massey_struct)
29497 )
29498 );
29499 assert_eq!(
29500 unsafe {
29501 &(*(::std::ptr::null::<fmpz_mod_berlekamp_massey_struct>())).npoints as *const _
29502 as usize
29503 },
29504 0usize,
29505 concat!(
29506 "Offset of field: ",
29507 stringify!(fmpz_mod_berlekamp_massey_struct),
29508 "::",
29509 stringify!(npoints)
29510 )
29511 );
29512 assert_eq!(
29513 unsafe {
29514 &(*(::std::ptr::null::<fmpz_mod_berlekamp_massey_struct>())).R0 as *const _ as usize
29515 },
29516 8usize,
29517 concat!(
29518 "Offset of field: ",
29519 stringify!(fmpz_mod_berlekamp_massey_struct),
29520 "::",
29521 stringify!(R0)
29522 )
29523 );
29524 assert_eq!(
29525 unsafe {
29526 &(*(::std::ptr::null::<fmpz_mod_berlekamp_massey_struct>())).R1 as *const _ as usize
29527 },
29528 40usize,
29529 concat!(
29530 "Offset of field: ",
29531 stringify!(fmpz_mod_berlekamp_massey_struct),
29532 "::",
29533 stringify!(R1)
29534 )
29535 );
29536 assert_eq!(
29537 unsafe {
29538 &(*(::std::ptr::null::<fmpz_mod_berlekamp_massey_struct>())).V0 as *const _ as usize
29539 },
29540 72usize,
29541 concat!(
29542 "Offset of field: ",
29543 stringify!(fmpz_mod_berlekamp_massey_struct),
29544 "::",
29545 stringify!(V0)
29546 )
29547 );
29548 assert_eq!(
29549 unsafe {
29550 &(*(::std::ptr::null::<fmpz_mod_berlekamp_massey_struct>())).V1 as *const _ as usize
29551 },
29552 104usize,
29553 concat!(
29554 "Offset of field: ",
29555 stringify!(fmpz_mod_berlekamp_massey_struct),
29556 "::",
29557 stringify!(V1)
29558 )
29559 );
29560 assert_eq!(
29561 unsafe {
29562 &(*(::std::ptr::null::<fmpz_mod_berlekamp_massey_struct>())).qt as *const _ as usize
29563 },
29564 136usize,
29565 concat!(
29566 "Offset of field: ",
29567 stringify!(fmpz_mod_berlekamp_massey_struct),
29568 "::",
29569 stringify!(qt)
29570 )
29571 );
29572 assert_eq!(
29573 unsafe {
29574 &(*(::std::ptr::null::<fmpz_mod_berlekamp_massey_struct>())).rt as *const _ as usize
29575 },
29576 168usize,
29577 concat!(
29578 "Offset of field: ",
29579 stringify!(fmpz_mod_berlekamp_massey_struct),
29580 "::",
29581 stringify!(rt)
29582 )
29583 );
29584 assert_eq!(
29585 unsafe {
29586 &(*(::std::ptr::null::<fmpz_mod_berlekamp_massey_struct>())).points as *const _ as usize
29587 },
29588 200usize,
29589 concat!(
29590 "Offset of field: ",
29591 stringify!(fmpz_mod_berlekamp_massey_struct),
29592 "::",
29593 stringify!(points)
29594 )
29595 );
29596}
29597pub type fmpz_mod_berlekamp_massey_t = [fmpz_mod_berlekamp_massey_struct; 1usize];
29598extern "C" {
29599 pub fn fmpz_mod_berlekamp_massey_init(B: *mut fmpz_mod_berlekamp_massey_struct, p: *mut fmpz);
29600}
29601extern "C" {
29602 pub fn fmpz_mod_berlekamp_massey_init_ui(
29603 B: *mut fmpz_mod_berlekamp_massey_struct,
29604 p: mp_limb_t,
29605 );
29606}
29607extern "C" {
29608 pub fn fmpz_mod_berlekamp_massey_start_over(B: *mut fmpz_mod_berlekamp_massey_struct);
29609}
29610extern "C" {
29611 pub fn fmpz_mod_berlekamp_massey_clear(B: *mut fmpz_mod_berlekamp_massey_struct);
29612}
29613extern "C" {
29614 pub fn fmpz_mod_berlekamp_massey_set_prime(
29615 B: *mut fmpz_mod_berlekamp_massey_struct,
29616 p: *mut fmpz,
29617 );
29618}
29619extern "C" {
29620 pub fn fmpz_mod_berlekamp_massey_print(B: *mut fmpz_mod_berlekamp_massey_struct);
29621}
29622extern "C" {
29623 pub fn fmpz_mod_berlekamp_massey_add_points(
29624 B: *mut fmpz_mod_berlekamp_massey_struct,
29625 a: *const fmpz,
29626 count: mp_limb_signed_t,
29627 );
29628}
29629extern "C" {
29630 pub fn fmpz_mod_berlekamp_massey_add_zeros(
29631 B: *mut fmpz_mod_berlekamp_massey_struct,
29632 count: mp_limb_signed_t,
29633 );
29634}
29635extern "C" {
29636 pub fn fmpz_mod_berlekamp_massey_add_point(
29637 B: *mut fmpz_mod_berlekamp_massey_struct,
29638 a: *mut fmpz,
29639 );
29640}
29641extern "C" {
29642 pub fn fmpz_mod_berlekamp_massey_add_point_ui(
29643 B: *mut fmpz_mod_berlekamp_massey_struct,
29644 a: mp_limb_t,
29645 );
29646}
29647extern "C" {
29648 pub fn fmpz_mod_berlekamp_massey_reduce(
29649 B: *mut fmpz_mod_berlekamp_massey_struct,
29650 ) -> ::std::os::raw::c_int;
29651}
29652extern "C" {
29653 pub fn fmpz_mod_poly_add_si(
29654 res: *mut fmpz_mod_poly_struct,
29655 poly: *mut fmpz_mod_poly_struct,
29656 c: mp_limb_signed_t,
29657 );
29658}
29659extern "C" {
29660 pub fn fmpz_mod_poly_sub_si(
29661 res: *mut fmpz_mod_poly_struct,
29662 poly: *mut fmpz_mod_poly_struct,
29663 c: mp_limb_signed_t,
29664 );
29665}
29666extern "C" {
29667 pub fn fmpz_mod_poly_si_sub(
29668 res: *mut fmpz_mod_poly_struct,
29669 c: mp_limb_signed_t,
29670 poly: *mut fmpz_mod_poly_struct,
29671 );
29672}
29673extern "C" {
29674 pub fn fmpz_mod_poly_add_fmpz(
29675 res: *mut fmpz_mod_poly_struct,
29676 poly: *mut fmpz_mod_poly_struct,
29677 c: *mut fmpz,
29678 );
29679}
29680extern "C" {
29681 pub fn fmpz_mod_poly_sub_fmpz(
29682 res: *mut fmpz_mod_poly_struct,
29683 poly: *mut fmpz_mod_poly_struct,
29684 c: *mut fmpz,
29685 );
29686}
29687extern "C" {
29688 pub fn fmpz_mod_poly_fmpz_sub(
29689 res: *mut fmpz_mod_poly_struct,
29690 c: *mut fmpz,
29691 poly: *mut fmpz_mod_poly_struct,
29692 );
29693}
29694#[repr(C)]
29695#[derive(Debug, Copy, Clone)]
29696pub struct fmpz_mod_poly_factor_struct {
29697 pub poly: *mut fmpz_mod_poly_struct,
29698 pub exp: *mut mp_limb_signed_t,
29699 pub num: mp_limb_signed_t,
29700 pub alloc: mp_limb_signed_t,
29701}
29702#[test]
29703fn bindgen_test_layout_fmpz_mod_poly_factor_struct() {
29704 assert_eq!(
29705 ::std::mem::size_of::<fmpz_mod_poly_factor_struct>(),
29706 32usize,
29707 concat!("Size of: ", stringify!(fmpz_mod_poly_factor_struct))
29708 );
29709 assert_eq!(
29710 ::std::mem::align_of::<fmpz_mod_poly_factor_struct>(),
29711 8usize,
29712 concat!("Alignment of ", stringify!(fmpz_mod_poly_factor_struct))
29713 );
29714 assert_eq!(
29715 unsafe {
29716 &(*(::std::ptr::null::<fmpz_mod_poly_factor_struct>())).poly as *const _ as usize
29717 },
29718 0usize,
29719 concat!(
29720 "Offset of field: ",
29721 stringify!(fmpz_mod_poly_factor_struct),
29722 "::",
29723 stringify!(poly)
29724 )
29725 );
29726 assert_eq!(
29727 unsafe { &(*(::std::ptr::null::<fmpz_mod_poly_factor_struct>())).exp as *const _ as usize },
29728 8usize,
29729 concat!(
29730 "Offset of field: ",
29731 stringify!(fmpz_mod_poly_factor_struct),
29732 "::",
29733 stringify!(exp)
29734 )
29735 );
29736 assert_eq!(
29737 unsafe { &(*(::std::ptr::null::<fmpz_mod_poly_factor_struct>())).num as *const _ as usize },
29738 16usize,
29739 concat!(
29740 "Offset of field: ",
29741 stringify!(fmpz_mod_poly_factor_struct),
29742 "::",
29743 stringify!(num)
29744 )
29745 );
29746 assert_eq!(
29747 unsafe {
29748 &(*(::std::ptr::null::<fmpz_mod_poly_factor_struct>())).alloc as *const _ as usize
29749 },
29750 24usize,
29751 concat!(
29752 "Offset of field: ",
29753 stringify!(fmpz_mod_poly_factor_struct),
29754 "::",
29755 stringify!(alloc)
29756 )
29757 );
29758}
29759pub type fmpz_mod_poly_factor_t = [fmpz_mod_poly_factor_struct; 1usize];
29760extern "C" {
29761 pub fn fmpz_mod_poly_factor_init(fac: *mut fmpz_mod_poly_factor_struct);
29762}
29763#[repr(C)]
29764#[derive(Debug, Copy, Clone)]
29765pub struct fmpz_mod_poly_interval_poly_arg_t {
29766 pub baby: *mut fmpz_mod_poly_struct,
29767 pub res: *mut fmpz_mod_poly_struct,
29768 pub H: *mut fmpz_mod_poly_struct,
29769 pub v: *mut fmpz_mod_poly_struct,
29770 pub vinv: *mut fmpz_mod_poly_struct,
29771 pub tmp: *mut fmpz,
29772 pub m: mp_limb_signed_t,
29773}
29774#[test]
29775fn bindgen_test_layout_fmpz_mod_poly_interval_poly_arg_t() {
29776 assert_eq!(
29777 ::std::mem::size_of::<fmpz_mod_poly_interval_poly_arg_t>(),
29778 56usize,
29779 concat!("Size of: ", stringify!(fmpz_mod_poly_interval_poly_arg_t))
29780 );
29781 assert_eq!(
29782 ::std::mem::align_of::<fmpz_mod_poly_interval_poly_arg_t>(),
29783 8usize,
29784 concat!(
29785 "Alignment of ",
29786 stringify!(fmpz_mod_poly_interval_poly_arg_t)
29787 )
29788 );
29789 assert_eq!(
29790 unsafe {
29791 &(*(::std::ptr::null::<fmpz_mod_poly_interval_poly_arg_t>())).baby as *const _ as usize
29792 },
29793 0usize,
29794 concat!(
29795 "Offset of field: ",
29796 stringify!(fmpz_mod_poly_interval_poly_arg_t),
29797 "::",
29798 stringify!(baby)
29799 )
29800 );
29801 assert_eq!(
29802 unsafe {
29803 &(*(::std::ptr::null::<fmpz_mod_poly_interval_poly_arg_t>())).res as *const _ as usize
29804 },
29805 8usize,
29806 concat!(
29807 "Offset of field: ",
29808 stringify!(fmpz_mod_poly_interval_poly_arg_t),
29809 "::",
29810 stringify!(res)
29811 )
29812 );
29813 assert_eq!(
29814 unsafe {
29815 &(*(::std::ptr::null::<fmpz_mod_poly_interval_poly_arg_t>())).H as *const _ as usize
29816 },
29817 16usize,
29818 concat!(
29819 "Offset of field: ",
29820 stringify!(fmpz_mod_poly_interval_poly_arg_t),
29821 "::",
29822 stringify!(H)
29823 )
29824 );
29825 assert_eq!(
29826 unsafe {
29827 &(*(::std::ptr::null::<fmpz_mod_poly_interval_poly_arg_t>())).v as *const _ as usize
29828 },
29829 24usize,
29830 concat!(
29831 "Offset of field: ",
29832 stringify!(fmpz_mod_poly_interval_poly_arg_t),
29833 "::",
29834 stringify!(v)
29835 )
29836 );
29837 assert_eq!(
29838 unsafe {
29839 &(*(::std::ptr::null::<fmpz_mod_poly_interval_poly_arg_t>())).vinv as *const _ as usize
29840 },
29841 32usize,
29842 concat!(
29843 "Offset of field: ",
29844 stringify!(fmpz_mod_poly_interval_poly_arg_t),
29845 "::",
29846 stringify!(vinv)
29847 )
29848 );
29849 assert_eq!(
29850 unsafe {
29851 &(*(::std::ptr::null::<fmpz_mod_poly_interval_poly_arg_t>())).tmp as *const _ as usize
29852 },
29853 40usize,
29854 concat!(
29855 "Offset of field: ",
29856 stringify!(fmpz_mod_poly_interval_poly_arg_t),
29857 "::",
29858 stringify!(tmp)
29859 )
29860 );
29861 assert_eq!(
29862 unsafe {
29863 &(*(::std::ptr::null::<fmpz_mod_poly_interval_poly_arg_t>())).m as *const _ as usize
29864 },
29865 48usize,
29866 concat!(
29867 "Offset of field: ",
29868 stringify!(fmpz_mod_poly_interval_poly_arg_t),
29869 "::",
29870 stringify!(m)
29871 )
29872 );
29873}
29874extern "C" {
29875 pub fn fmpz_mod_poly_factor_clear(fac: *mut fmpz_mod_poly_factor_struct);
29876}
29877extern "C" {
29878 pub fn fmpz_mod_poly_factor_realloc(
29879 fac: *mut fmpz_mod_poly_factor_struct,
29880 alloc: mp_limb_signed_t,
29881 );
29882}
29883extern "C" {
29884 pub fn fmpz_mod_poly_factor_fit_length(
29885 fac: *mut fmpz_mod_poly_factor_struct,
29886 len: mp_limb_signed_t,
29887 );
29888}
29889extern "C" {
29890 pub fn fmpz_mod_poly_factor_set(
29891 res: *mut fmpz_mod_poly_factor_struct,
29892 fac: *mut fmpz_mod_poly_factor_struct,
29893 );
29894}
29895extern "C" {
29896 pub fn fmpz_mod_poly_factor_insert(
29897 fac: *mut fmpz_mod_poly_factor_struct,
29898 poly: *mut fmpz_mod_poly_struct,
29899 exp: mp_limb_signed_t,
29900 );
29901}
29902extern "C" {
29903 pub fn fmpz_mod_poly_factor_print(fac: *mut fmpz_mod_poly_factor_struct);
29904}
29905extern "C" {
29906 pub fn fmpz_mod_poly_factor_concat(
29907 res: *mut fmpz_mod_poly_factor_struct,
29908 fac: *mut fmpz_mod_poly_factor_struct,
29909 );
29910}
29911extern "C" {
29912 pub fn fmpz_mod_poly_factor_pow(fac: *mut fmpz_mod_poly_factor_struct, exp: mp_limb_signed_t);
29913}
29914extern "C" {
29915 pub fn fmpz_mod_poly_is_irreducible(f: *mut fmpz_mod_poly_struct) -> ::std::os::raw::c_int;
29916}
29917extern "C" {
29918 pub fn fmpz_mod_poly_is_irreducible_ddf(f: *mut fmpz_mod_poly_struct) -> ::std::os::raw::c_int;
29919}
29920extern "C" {
29921 pub fn fmpz_mod_poly_is_irreducible_rabin(
29922 f: *mut fmpz_mod_poly_struct,
29923 ) -> ::std::os::raw::c_int;
29924}
29925extern "C" {
29926 pub fn fmpz_mod_poly_is_irreducible_rabin_f(
29927 fac: *mut fmpz,
29928 f: *mut fmpz_mod_poly_struct,
29929 ) -> ::std::os::raw::c_int;
29930}
29931extern "C" {
29932 pub fn _fmpz_mod_poly_is_squarefree(
29933 f: *const fmpz,
29934 len: mp_limb_signed_t,
29935 p: *mut fmpz,
29936 ) -> ::std::os::raw::c_int;
29937}
29938extern "C" {
29939 pub fn _fmpz_mod_poly_is_squarefree_f(
29940 fac: *mut fmpz,
29941 f: *const fmpz,
29942 len: mp_limb_signed_t,
29943 p: *mut fmpz,
29944 ) -> ::std::os::raw::c_int;
29945}
29946extern "C" {
29947 pub fn fmpz_mod_poly_is_squarefree(f: *mut fmpz_mod_poly_struct) -> ::std::os::raw::c_int;
29948}
29949extern "C" {
29950 pub fn fmpz_mod_poly_is_squarefree_f(
29951 fac: *mut fmpz,
29952 f: *mut fmpz_mod_poly_struct,
29953 ) -> ::std::os::raw::c_int;
29954}
29955extern "C" {
29956 pub fn fmpz_mod_poly_factor_equal_deg_prob(
29957 factor: *mut fmpz_mod_poly_struct,
29958 state: *mut flint_rand_s,
29959 pol: *mut fmpz_mod_poly_struct,
29960 d: mp_limb_signed_t,
29961 ) -> ::std::os::raw::c_int;
29962}
29963extern "C" {
29964 pub fn fmpz_mod_poly_factor_equal_deg(
29965 factors: *mut fmpz_mod_poly_factor_struct,
29966 pol: *mut fmpz_mod_poly_struct,
29967 d: mp_limb_signed_t,
29968 );
29969}
29970extern "C" {
29971 pub fn fmpz_mod_poly_factor_distinct_deg(
29972 res: *mut fmpz_mod_poly_factor_struct,
29973 poly: *mut fmpz_mod_poly_struct,
29974 degs: *const *mut mp_limb_signed_t,
29975 );
29976}
29977extern "C" {
29978 pub fn fmpz_mod_poly_factor_squarefree(
29979 res: *mut fmpz_mod_poly_factor_struct,
29980 f: *mut fmpz_mod_poly_struct,
29981 );
29982}
29983extern "C" {
29984 pub fn fmpz_mod_poly_factor_distinct_deg_threaded(
29985 res: *mut fmpz_mod_poly_factor_struct,
29986 poly: *mut fmpz_mod_poly_struct,
29987 degs: *const *mut mp_limb_signed_t,
29988 );
29989}
29990extern "C" {
29991 pub fn fmpz_mod_poly_factor(
29992 res: *mut fmpz_mod_poly_factor_struct,
29993 f: *mut fmpz_mod_poly_struct,
29994 );
29995}
29996extern "C" {
29997 pub fn fmpz_mod_poly_factor_cantor_zassenhaus(
29998 res: *mut fmpz_mod_poly_factor_struct,
29999 f: *mut fmpz_mod_poly_struct,
30000 );
30001}
30002extern "C" {
30003 pub fn fmpz_mod_poly_factor_kaltofen_shoup(
30004 res: *mut fmpz_mod_poly_factor_struct,
30005 poly: *mut fmpz_mod_poly_struct,
30006 );
30007}
30008extern "C" {
30009 pub fn fmpz_mod_poly_factor_berlekamp(
30010 factors: *mut fmpz_mod_poly_factor_struct,
30011 f: *mut fmpz_mod_poly_struct,
30012 );
30013}
30014extern "C" {
30015 pub fn _fmpz_mod_poly_interval_poly_worker(arg_ptr: *mut ::std::os::raw::c_void);
30016}
30017extern "C" {
30018 pub fn fmpz_mod_poly_roots(
30019 r: *mut fmpz_mod_poly_factor_struct,
30020 f: *mut fmpz_mod_poly_struct,
30021 with_multiplicity: ::std::os::raw::c_int,
30022 );
30023}
30024extern "C" {
30025 pub fn fmpz_mod_poly_roots_factored(
30026 r: *mut fmpz_mod_poly_factor_struct,
30027 f: *mut fmpz_mod_poly_struct,
30028 with_multiplicity: ::std::os::raw::c_int,
30029 n: *mut fmpz_factor_struct,
30030 ) -> ::std::os::raw::c_int;
30031}
30032extern "C" {
30033 pub fn fmpz_mod_poly_factor_get_fmpz_mod_poly(
30034 z: *mut fmpz_mod_poly_struct,
30035 fac: *mut fmpz_mod_poly_factor_struct,
30036 i: mp_limb_signed_t,
30037 );
30038}
30039extern "C" {
30040 pub fn antic_test_multiplier() -> ::std::os::raw::c_long;
30041}
30042#[repr(C)]
30043#[derive(Copy, Clone)]
30044pub struct nf_struct {
30045 pub pol: fmpq_poly_t,
30046 pub pinv: nf_struct__bindgen_ty_1,
30047 pub powers: nf_struct__bindgen_ty_2,
30048 pub traces: fmpq_poly_t,
30049 pub flag: mp_limb_t,
30050}
30051#[repr(C)]
30052#[derive(Copy, Clone)]
30053pub union nf_struct__bindgen_ty_1 {
30054 pub qq: fmpz_preinvn_t,
30055 _bindgen_union_align: [u64; 3usize],
30056}
30057#[test]
30058fn bindgen_test_layout_nf_struct__bindgen_ty_1() {
30059 assert_eq!(
30060 ::std::mem::size_of::<nf_struct__bindgen_ty_1>(),
30061 24usize,
30062 concat!("Size of: ", stringify!(nf_struct__bindgen_ty_1))
30063 );
30064 assert_eq!(
30065 ::std::mem::align_of::<nf_struct__bindgen_ty_1>(),
30066 8usize,
30067 concat!("Alignment of ", stringify!(nf_struct__bindgen_ty_1))
30068 );
30069 assert_eq!(
30070 unsafe { &(*(::std::ptr::null::<nf_struct__bindgen_ty_1>())).qq as *const _ as usize },
30071 0usize,
30072 concat!(
30073 "Offset of field: ",
30074 stringify!(nf_struct__bindgen_ty_1),
30075 "::",
30076 stringify!(qq)
30077 )
30078 );
30079}
30080#[repr(C)]
30081#[derive(Copy, Clone)]
30082pub union nf_struct__bindgen_ty_2 {
30083 pub qq: fmpq_poly_powers_precomp_t,
30084 pub zz: fmpz_poly_powers_precomp_t,
30085 _bindgen_union_align: [u64; 2usize],
30086}
30087#[test]
30088fn bindgen_test_layout_nf_struct__bindgen_ty_2() {
30089 assert_eq!(
30090 ::std::mem::size_of::<nf_struct__bindgen_ty_2>(),
30091 16usize,
30092 concat!("Size of: ", stringify!(nf_struct__bindgen_ty_2))
30093 );
30094 assert_eq!(
30095 ::std::mem::align_of::<nf_struct__bindgen_ty_2>(),
30096 8usize,
30097 concat!("Alignment of ", stringify!(nf_struct__bindgen_ty_2))
30098 );
30099 assert_eq!(
30100 unsafe { &(*(::std::ptr::null::<nf_struct__bindgen_ty_2>())).qq as *const _ as usize },
30101 0usize,
30102 concat!(
30103 "Offset of field: ",
30104 stringify!(nf_struct__bindgen_ty_2),
30105 "::",
30106 stringify!(qq)
30107 )
30108 );
30109 assert_eq!(
30110 unsafe { &(*(::std::ptr::null::<nf_struct__bindgen_ty_2>())).zz as *const _ as usize },
30111 0usize,
30112 concat!(
30113 "Offset of field: ",
30114 stringify!(nf_struct__bindgen_ty_2),
30115 "::",
30116 stringify!(zz)
30117 )
30118 );
30119}
30120#[test]
30121fn bindgen_test_layout_nf_struct() {
30122 assert_eq!(
30123 ::std::mem::size_of::<nf_struct>(),
30124 112usize,
30125 concat!("Size of: ", stringify!(nf_struct))
30126 );
30127 assert_eq!(
30128 ::std::mem::align_of::<nf_struct>(),
30129 8usize,
30130 concat!("Alignment of ", stringify!(nf_struct))
30131 );
30132 assert_eq!(
30133 unsafe { &(*(::std::ptr::null::<nf_struct>())).pol as *const _ as usize },
30134 0usize,
30135 concat!(
30136 "Offset of field: ",
30137 stringify!(nf_struct),
30138 "::",
30139 stringify!(pol)
30140 )
30141 );
30142 assert_eq!(
30143 unsafe { &(*(::std::ptr::null::<nf_struct>())).pinv as *const _ as usize },
30144 32usize,
30145 concat!(
30146 "Offset of field: ",
30147 stringify!(nf_struct),
30148 "::",
30149 stringify!(pinv)
30150 )
30151 );
30152 assert_eq!(
30153 unsafe { &(*(::std::ptr::null::<nf_struct>())).powers as *const _ as usize },
30154 56usize,
30155 concat!(
30156 "Offset of field: ",
30157 stringify!(nf_struct),
30158 "::",
30159 stringify!(powers)
30160 )
30161 );
30162 assert_eq!(
30163 unsafe { &(*(::std::ptr::null::<nf_struct>())).traces as *const _ as usize },
30164 72usize,
30165 concat!(
30166 "Offset of field: ",
30167 stringify!(nf_struct),
30168 "::",
30169 stringify!(traces)
30170 )
30171 );
30172 assert_eq!(
30173 unsafe { &(*(::std::ptr::null::<nf_struct>())).flag as *const _ as usize },
30174 104usize,
30175 concat!(
30176 "Offset of field: ",
30177 stringify!(nf_struct),
30178 "::",
30179 stringify!(flag)
30180 )
30181 );
30182}
30183pub type nf_t = [nf_struct; 1usize];
30184extern "C" {
30185 #[doc = "Initialisation"]
30186 pub fn nf_init(nf: *mut nf_struct, pol: *mut fmpq_poly_struct);
30187}
30188extern "C" {
30189 pub fn nf_clear(nf: *mut nf_struct);
30190}
30191extern "C" {
30192 pub fn nf_print(nf: *mut nf_struct);
30193}
30194#[repr(C)]
30195#[derive(Debug, Copy, Clone)]
30196pub struct lnf_elem_struct {
30197 pub num: fmpz_t,
30198 pub den: fmpz_t,
30199}
30200#[test]
30201fn bindgen_test_layout_lnf_elem_struct() {
30202 assert_eq!(
30203 ::std::mem::size_of::<lnf_elem_struct>(),
30204 16usize,
30205 concat!("Size of: ", stringify!(lnf_elem_struct))
30206 );
30207 assert_eq!(
30208 ::std::mem::align_of::<lnf_elem_struct>(),
30209 8usize,
30210 concat!("Alignment of ", stringify!(lnf_elem_struct))
30211 );
30212 assert_eq!(
30213 unsafe { &(*(::std::ptr::null::<lnf_elem_struct>())).num as *const _ as usize },
30214 0usize,
30215 concat!(
30216 "Offset of field: ",
30217 stringify!(lnf_elem_struct),
30218 "::",
30219 stringify!(num)
30220 )
30221 );
30222 assert_eq!(
30223 unsafe { &(*(::std::ptr::null::<lnf_elem_struct>())).den as *const _ as usize },
30224 8usize,
30225 concat!(
30226 "Offset of field: ",
30227 stringify!(lnf_elem_struct),
30228 "::",
30229 stringify!(den)
30230 )
30231 );
30232}
30233pub type lnf_elem_t = [lnf_elem_struct; 1usize];
30234#[repr(C)]
30235#[derive(Debug, Copy, Clone)]
30236pub struct qnf_elem_struct {
30237 pub num: [fmpz; 3usize],
30238 pub den: fmpz_t,
30239}
30240#[test]
30241fn bindgen_test_layout_qnf_elem_struct() {
30242 assert_eq!(
30243 ::std::mem::size_of::<qnf_elem_struct>(),
30244 32usize,
30245 concat!("Size of: ", stringify!(qnf_elem_struct))
30246 );
30247 assert_eq!(
30248 ::std::mem::align_of::<qnf_elem_struct>(),
30249 8usize,
30250 concat!("Alignment of ", stringify!(qnf_elem_struct))
30251 );
30252 assert_eq!(
30253 unsafe { &(*(::std::ptr::null::<qnf_elem_struct>())).num as *const _ as usize },
30254 0usize,
30255 concat!(
30256 "Offset of field: ",
30257 stringify!(qnf_elem_struct),
30258 "::",
30259 stringify!(num)
30260 )
30261 );
30262 assert_eq!(
30263 unsafe { &(*(::std::ptr::null::<qnf_elem_struct>())).den as *const _ as usize },
30264 24usize,
30265 concat!(
30266 "Offset of field: ",
30267 stringify!(qnf_elem_struct),
30268 "::",
30269 stringify!(den)
30270 )
30271 );
30272}
30273pub type qnf_elem_t = [qnf_elem_struct; 1usize];
30274#[repr(C)]
30275#[derive(Copy, Clone)]
30276pub union nf_elem_struct {
30277 pub elem: fmpq_poly_t,
30278 pub lelem: lnf_elem_t,
30279 pub qelem: qnf_elem_t,
30280 _bindgen_union_align: [u64; 4usize],
30281}
30282#[test]
30283fn bindgen_test_layout_nf_elem_struct() {
30284 assert_eq!(
30285 ::std::mem::size_of::<nf_elem_struct>(),
30286 32usize,
30287 concat!("Size of: ", stringify!(nf_elem_struct))
30288 );
30289 assert_eq!(
30290 ::std::mem::align_of::<nf_elem_struct>(),
30291 8usize,
30292 concat!("Alignment of ", stringify!(nf_elem_struct))
30293 );
30294 assert_eq!(
30295 unsafe { &(*(::std::ptr::null::<nf_elem_struct>())).elem as *const _ as usize },
30296 0usize,
30297 concat!(
30298 "Offset of field: ",
30299 stringify!(nf_elem_struct),
30300 "::",
30301 stringify!(elem)
30302 )
30303 );
30304 assert_eq!(
30305 unsafe { &(*(::std::ptr::null::<nf_elem_struct>())).lelem as *const _ as usize },
30306 0usize,
30307 concat!(
30308 "Offset of field: ",
30309 stringify!(nf_elem_struct),
30310 "::",
30311 stringify!(lelem)
30312 )
30313 );
30314 assert_eq!(
30315 unsafe { &(*(::std::ptr::null::<nf_elem_struct>())).qelem as *const _ as usize },
30316 0usize,
30317 concat!(
30318 "Offset of field: ",
30319 stringify!(nf_elem_struct),
30320 "::",
30321 stringify!(qelem)
30322 )
30323 );
30324}
30325pub type nf_elem_t = [nf_elem_struct; 1usize];
30326extern "C" {
30327 #[doc = "Initialisation"]
30328 pub fn nf_elem_init(a: *mut nf_elem_struct, nf: *mut nf_struct);
30329}
30330extern "C" {
30331 pub fn nf_elem_clear(a: *mut nf_elem_struct, nf: *mut nf_struct);
30332}
30333extern "C" {
30334 pub fn nf_elem_randtest(
30335 a: *mut nf_elem_struct,
30336 state: *mut flint_rand_s,
30337 bits: mp_bitcnt_t,
30338 nf: *mut nf_struct,
30339 );
30340}
30341extern "C" {
30342 pub fn nf_elem_randtest_not_zero(
30343 a: *mut nf_elem_struct,
30344 state: *mut flint_rand_s,
30345 bits: mp_bitcnt_t,
30346 nf: *mut nf_struct,
30347 );
30348}
30349extern "C" {
30350 pub fn nf_elem_canonicalise(a: *mut nf_elem_struct, nf: *mut nf_struct);
30351}
30352extern "C" {
30353 pub fn _nf_elem_reduce(a: *mut nf_elem_struct, nf: *mut nf_struct);
30354}
30355extern "C" {
30356 pub fn nf_elem_reduce(a: *mut nf_elem_struct, nf: *mut nf_struct);
30357}
30358extern "C" {
30359 pub fn _nf_elem_invertible_check(
30360 a: *mut nf_elem_struct,
30361 nf: *mut nf_struct,
30362 ) -> ::std::os::raw::c_int;
30363}
30364extern "C" {
30365 #[doc = "Comparison"]
30366 pub fn _nf_elem_equal(
30367 a: *mut nf_elem_struct,
30368 b: *mut nf_elem_struct,
30369 nf: *mut nf_struct,
30370 ) -> ::std::os::raw::c_int;
30371}
30372extern "C" {
30373 pub fn nf_elem_equal(
30374 a: *mut nf_elem_struct,
30375 b: *mut nf_elem_struct,
30376 nf: *mut nf_struct,
30377 ) -> ::std::os::raw::c_int;
30378}
30379extern "C" {
30380 pub fn nf_elem_is_zero(a: *mut nf_elem_struct, nf: *mut nf_struct) -> ::std::os::raw::c_int;
30381}
30382extern "C" {
30383 pub fn nf_elem_is_one(a: *mut nf_elem_struct, nf: *mut nf_struct) -> ::std::os::raw::c_int;
30384}
30385extern "C" {
30386 pub fn nf_elem_is_gen(a: *mut nf_elem_struct, nf: *mut nf_struct) -> ::std::os::raw::c_int;
30387}
30388extern "C" {
30389 pub fn nf_elem_is_integer(a: *mut nf_elem_struct, nf: *mut nf_struct) -> ::std::os::raw::c_int;
30390}
30391extern "C" {
30392 pub fn nf_elem_is_rational(a: *mut nf_elem_struct, nf: *mut nf_struct)
30393 -> ::std::os::raw::c_int;
30394}
30395extern "C" {
30396 pub fn nf_elem_equal_si(
30397 a: *mut nf_elem_struct,
30398 b: mp_limb_signed_t,
30399 nf: *mut nf_struct,
30400 ) -> ::std::os::raw::c_int;
30401}
30402extern "C" {
30403 pub fn nf_elem_equal_ui(
30404 a: *mut nf_elem_struct,
30405 b: mp_limb_t,
30406 nf: *mut nf_struct,
30407 ) -> ::std::os::raw::c_int;
30408}
30409extern "C" {
30410 pub fn nf_elem_equal_fmpz(
30411 a: *mut nf_elem_struct,
30412 b: *mut fmpz,
30413 nf: *mut nf_struct,
30414 ) -> ::std::os::raw::c_int;
30415}
30416extern "C" {
30417 pub fn nf_elem_equal_fmpq(
30418 a: *mut nf_elem_struct,
30419 b: *mut fmpq,
30420 nf: *mut nf_struct,
30421 ) -> ::std::os::raw::c_int;
30422}
30423extern "C" {
30424 #[doc = "I/O"]
30425 pub fn nf_elem_print_pretty(
30426 a: *mut nf_elem_struct,
30427 nf: *mut nf_struct,
30428 var: *const ::std::os::raw::c_char,
30429 );
30430}
30431extern "C" {
30432 pub fn nf_elem_get_str_pretty(
30433 a: *mut nf_elem_struct,
30434 var: *const ::std::os::raw::c_char,
30435 nf: *mut nf_struct,
30436 ) -> *mut ::std::os::raw::c_char;
30437}
30438extern "C" {
30439 #[doc = "Element creation"]
30440 pub fn nf_elem_zero(a: *mut nf_elem_struct, nf: *mut nf_struct);
30441}
30442extern "C" {
30443 pub fn nf_elem_one(a: *mut nf_elem_struct, nf: *mut nf_struct);
30444}
30445extern "C" {
30446 pub fn nf_elem_gen(a: *mut nf_elem_struct, nf: *mut nf_struct);
30447}
30448extern "C" {
30449 pub fn nf_elem_set_si(a: *mut nf_elem_struct, c: mp_limb_signed_t, nf: *mut nf_struct);
30450}
30451extern "C" {
30452 pub fn nf_elem_set_ui(a: *mut nf_elem_struct, c: mp_limb_t, nf: *mut nf_struct);
30453}
30454extern "C" {
30455 pub fn nf_elem_set_fmpz(a: *mut nf_elem_struct, c: *mut fmpz, nf: *mut nf_struct);
30456}
30457extern "C" {
30458 pub fn nf_elem_set_fmpq(a: *mut nf_elem_struct, c: *mut fmpq, nf: *mut nf_struct);
30459}
30460extern "C" {
30461 pub fn nf_elem_set_fmpq_poly(
30462 a: *mut nf_elem_struct,
30463 pol: *mut fmpq_poly_struct,
30464 nf: *mut nf_struct,
30465 );
30466}
30467extern "C" {
30468 #[doc = "Conversion"]
30469 pub fn nf_elem_set_fmpz_mat_row(
30470 b: *mut nf_elem_struct,
30471 M: *mut fmpz_mat_struct,
30472 i: mp_limb_signed_t,
30473 den: *mut fmpz,
30474 nf: *mut nf_struct,
30475 );
30476}
30477extern "C" {
30478 pub fn nf_elem_get_fmpz_mat_row(
30479 M: *mut fmpz_mat_struct,
30480 i: mp_limb_signed_t,
30481 den: *mut fmpz,
30482 b: *mut nf_elem_struct,
30483 nf: *mut nf_struct,
30484 );
30485}
30486extern "C" {
30487 pub fn nf_elem_get_fmpq_poly(
30488 pol: *mut fmpq_poly_struct,
30489 a: *mut nf_elem_struct,
30490 nf: *mut nf_struct,
30491 );
30492}
30493extern "C" {
30494 pub fn _nf_elem_get_nmod_poly(
30495 pol: *mut nmod_poly_struct,
30496 a: *mut nf_elem_struct,
30497 nf: *mut nf_struct,
30498 );
30499}
30500extern "C" {
30501 pub fn nf_elem_get_nmod_poly_den(
30502 pol: *mut nmod_poly_struct,
30503 a: *mut nf_elem_struct,
30504 nf: *mut nf_struct,
30505 den: ::std::os::raw::c_int,
30506 );
30507}
30508extern "C" {
30509 pub fn nf_elem_get_nmod_poly(
30510 pol: *mut nmod_poly_struct,
30511 a: *mut nf_elem_struct,
30512 nf: *mut nf_struct,
30513 );
30514}
30515extern "C" {
30516 pub fn _nf_elem_get_fmpz_mod_poly(
30517 pol: *mut fmpz_mod_poly_struct,
30518 a: *mut nf_elem_struct,
30519 nf: *mut nf_struct,
30520 );
30521}
30522extern "C" {
30523 pub fn nf_elem_get_fmpz_mod_poly_den(
30524 pol: *mut fmpz_mod_poly_struct,
30525 a: *mut nf_elem_struct,
30526 nf: *mut nf_struct,
30527 den: ::std::os::raw::c_int,
30528 );
30529}
30530extern "C" {
30531 pub fn nf_elem_get_fmpz_mod_poly(
30532 pol: *mut fmpz_mod_poly_struct,
30533 a: *mut nf_elem_struct,
30534 nf: *mut nf_struct,
30535 );
30536}
30537extern "C" {
30538 #[doc = "Basic manipulation"]
30539 pub fn nf_elem_get_den(d: *mut fmpz, b: *mut nf_elem_struct, nf: *mut nf_struct);
30540}
30541extern "C" {
30542 pub fn nf_elem_set_den(b: *mut nf_elem_struct, d: *mut fmpz, nf: *mut nf_struct);
30543}
30544extern "C" {
30545 pub fn nf_elem_get_coeff_fmpq(
30546 a: *mut fmpq,
30547 b: *mut nf_elem_struct,
30548 i: mp_limb_signed_t,
30549 nf: *mut nf_struct,
30550 );
30551}
30552extern "C" {
30553 pub fn nf_elem_get_coeff_fmpz(
30554 a: *mut fmpz,
30555 b: *mut nf_elem_struct,
30556 i: mp_limb_signed_t,
30557 nf: *mut nf_struct,
30558 );
30559}
30560extern "C" {
30561 pub fn nf_elem_den_is_one(a: *mut nf_elem_struct, nf: *mut nf_struct) -> ::std::os::raw::c_int;
30562}
30563extern "C" {
30564 pub fn _nf_elem_set_coeff_num_fmpz(
30565 a: *mut nf_elem_struct,
30566 i: mp_limb_signed_t,
30567 b: *mut fmpz,
30568 nf: *mut nf_struct,
30569 );
30570}
30571extern "C" {
30572 #[doc = "Arithmetic"]
30573 pub fn nf_elem_set(a: *mut nf_elem_struct, b: *mut nf_elem_struct, nf: *mut nf_struct);
30574}
30575extern "C" {
30576 pub fn nf_elem_neg(a: *mut nf_elem_struct, b: *mut nf_elem_struct, nf: *mut nf_struct);
30577}
30578extern "C" {
30579 pub fn nf_elem_swap(a: *mut nf_elem_struct, b: *mut nf_elem_struct, nf: *mut nf_struct);
30580}
30581extern "C" {
30582 pub fn nf_elem_add_si(
30583 a: *mut nf_elem_struct,
30584 b: *mut nf_elem_struct,
30585 c: mp_limb_signed_t,
30586 nf: *mut nf_struct,
30587 );
30588}
30589extern "C" {
30590 pub fn nf_elem_add_fmpz(
30591 a: *mut nf_elem_struct,
30592 b: *mut nf_elem_struct,
30593 c: *mut fmpz,
30594 nf: *mut nf_struct,
30595 );
30596}
30597extern "C" {
30598 pub fn nf_elem_add_fmpq(
30599 a: *mut nf_elem_struct,
30600 b: *mut nf_elem_struct,
30601 c: *mut fmpq,
30602 nf: *mut nf_struct,
30603 );
30604}
30605extern "C" {
30606 pub fn nf_elem_sub_si(
30607 a: *mut nf_elem_struct,
30608 b: *mut nf_elem_struct,
30609 c: mp_limb_signed_t,
30610 nf: *mut nf_struct,
30611 );
30612}
30613extern "C" {
30614 pub fn nf_elem_sub_fmpz(
30615 a: *mut nf_elem_struct,
30616 b: *mut nf_elem_struct,
30617 c: *mut fmpz,
30618 nf: *mut nf_struct,
30619 );
30620}
30621extern "C" {
30622 pub fn nf_elem_sub_fmpq(
30623 a: *mut nf_elem_struct,
30624 b: *mut nf_elem_struct,
30625 c: *mut fmpq,
30626 nf: *mut nf_struct,
30627 );
30628}
30629extern "C" {
30630 pub fn nf_elem_si_sub(
30631 a: *mut nf_elem_struct,
30632 c: mp_limb_signed_t,
30633 b: *mut nf_elem_struct,
30634 nf: *mut nf_struct,
30635 );
30636}
30637extern "C" {
30638 pub fn nf_elem_fmpz_sub(
30639 a: *mut nf_elem_struct,
30640 c: *mut fmpz,
30641 b: *mut nf_elem_struct,
30642 nf: *mut nf_struct,
30643 );
30644}
30645extern "C" {
30646 pub fn nf_elem_fmpq_sub(
30647 a: *mut nf_elem_struct,
30648 c: *mut fmpq,
30649 b: *mut nf_elem_struct,
30650 nf: *mut nf_struct,
30651 );
30652}
30653extern "C" {
30654 pub fn nf_elem_scalar_mul_si(
30655 a: *mut nf_elem_struct,
30656 b: *mut nf_elem_struct,
30657 c: mp_limb_signed_t,
30658 nf: *mut nf_struct,
30659 );
30660}
30661extern "C" {
30662 pub fn nf_elem_scalar_mul_fmpz(
30663 a: *mut nf_elem_struct,
30664 b: *mut nf_elem_struct,
30665 c: *mut fmpz,
30666 nf: *mut nf_struct,
30667 );
30668}
30669extern "C" {
30670 pub fn nf_elem_scalar_mul_fmpq(
30671 a: *mut nf_elem_struct,
30672 b: *mut nf_elem_struct,
30673 c: *mut fmpq,
30674 nf: *mut nf_struct,
30675 );
30676}
30677extern "C" {
30678 pub fn nf_elem_scalar_div_si(
30679 a: *mut nf_elem_struct,
30680 b: *mut nf_elem_struct,
30681 c: mp_limb_signed_t,
30682 nf: *mut nf_struct,
30683 );
30684}
30685extern "C" {
30686 pub fn nf_elem_scalar_div_fmpz(
30687 a: *mut nf_elem_struct,
30688 b: *mut nf_elem_struct,
30689 c: *mut fmpz,
30690 nf: *mut nf_struct,
30691 );
30692}
30693extern "C" {
30694 pub fn nf_elem_scalar_div_fmpq(
30695 a: *mut nf_elem_struct,
30696 b: *mut nf_elem_struct,
30697 c: *mut fmpq,
30698 nf: *mut nf_struct,
30699 );
30700}
30701extern "C" {
30702 pub fn _nf_elem_add_lf(
30703 a: *mut nf_elem_struct,
30704 b: *mut nf_elem_struct,
30705 c: *mut nf_elem_struct,
30706 nf: *mut nf_struct,
30707 can: ::std::os::raw::c_int,
30708 );
30709}
30710extern "C" {
30711 pub fn _nf_elem_sub_lf(
30712 a: *mut nf_elem_struct,
30713 b: *mut nf_elem_struct,
30714 c: *mut nf_elem_struct,
30715 nf: *mut nf_struct,
30716 can: ::std::os::raw::c_int,
30717 );
30718}
30719extern "C" {
30720 pub fn _nf_elem_add_qf(
30721 a: *mut nf_elem_struct,
30722 b: *mut nf_elem_struct,
30723 c: *mut nf_elem_struct,
30724 nf: *mut nf_struct,
30725 can: ::std::os::raw::c_int,
30726 );
30727}
30728extern "C" {
30729 pub fn _nf_elem_sub_qf(
30730 a: *mut nf_elem_struct,
30731 b: *mut nf_elem_struct,
30732 c: *mut nf_elem_struct,
30733 nf: *mut nf_struct,
30734 can: ::std::os::raw::c_int,
30735 );
30736}
30737extern "C" {
30738 pub fn nf_elem_add_qf(
30739 a: *mut nf_elem_struct,
30740 b: *mut nf_elem_struct,
30741 c: *mut nf_elem_struct,
30742 nf: *mut nf_struct,
30743 );
30744}
30745extern "C" {
30746 pub fn nf_elem_sub_qf(
30747 a: *mut nf_elem_struct,
30748 b: *mut nf_elem_struct,
30749 c: *mut nf_elem_struct,
30750 nf: *mut nf_struct,
30751 );
30752}
30753extern "C" {
30754 pub fn _nf_elem_add(
30755 a: *mut nf_elem_struct,
30756 b: *mut nf_elem_struct,
30757 c: *mut nf_elem_struct,
30758 nf: *mut nf_struct,
30759 );
30760}
30761extern "C" {
30762 pub fn _nf_elem_sub(
30763 a: *mut nf_elem_struct,
30764 b: *mut nf_elem_struct,
30765 c: *mut nf_elem_struct,
30766 nf: *mut nf_struct,
30767 );
30768}
30769extern "C" {
30770 pub fn nf_elem_add(
30771 a: *mut nf_elem_struct,
30772 b: *mut nf_elem_struct,
30773 c: *mut nf_elem_struct,
30774 nf: *mut nf_struct,
30775 );
30776}
30777extern "C" {
30778 pub fn nf_elem_sub(
30779 a: *mut nf_elem_struct,
30780 b: *mut nf_elem_struct,
30781 c: *mut nf_elem_struct,
30782 nf: *mut nf_struct,
30783 );
30784}
30785extern "C" {
30786 pub fn nf_elem_mul_gen(a: *mut nf_elem_struct, b: *mut nf_elem_struct, nf: *mut nf_struct);
30787}
30788extern "C" {
30789 pub fn _nf_elem_mul(
30790 a: *mut nf_elem_struct,
30791 b: *mut nf_elem_struct,
30792 c: *mut nf_elem_struct,
30793 nf: *mut nf_struct,
30794 );
30795}
30796extern "C" {
30797 pub fn nf_elem_mul(
30798 a: *mut nf_elem_struct,
30799 b: *mut nf_elem_struct,
30800 c: *mut nf_elem_struct,
30801 nf: *mut nf_struct,
30802 );
30803}
30804extern "C" {
30805 pub fn _nf_elem_mul_red(
30806 a: *mut nf_elem_struct,
30807 b: *mut nf_elem_struct,
30808 c: *mut nf_elem_struct,
30809 nf: *mut nf_struct,
30810 red: ::std::os::raw::c_int,
30811 );
30812}
30813extern "C" {
30814 pub fn nf_elem_mul_red(
30815 a: *mut nf_elem_struct,
30816 b: *mut nf_elem_struct,
30817 c: *mut nf_elem_struct,
30818 nf: *mut nf_struct,
30819 red: ::std::os::raw::c_int,
30820 );
30821}
30822extern "C" {
30823 pub fn _nf_elem_inv(a: *mut nf_elem_struct, b: *mut nf_elem_struct, nf: *mut nf_struct);
30824}
30825extern "C" {
30826 pub fn nf_elem_inv(a: *mut nf_elem_struct, b: *mut nf_elem_struct, nf: *mut nf_struct);
30827}
30828extern "C" {
30829 pub fn _nf_elem_div(
30830 a: *mut nf_elem_struct,
30831 b: *mut nf_elem_struct,
30832 c: *mut nf_elem_struct,
30833 nf: *mut nf_struct,
30834 );
30835}
30836extern "C" {
30837 pub fn nf_elem_div(
30838 a: *mut nf_elem_struct,
30839 b: *mut nf_elem_struct,
30840 c: *mut nf_elem_struct,
30841 nf: *mut nf_struct,
30842 );
30843}
30844extern "C" {
30845 pub fn _nf_elem_pow(
30846 res: *mut nf_elem_struct,
30847 b: *mut nf_elem_struct,
30848 e: mp_limb_t,
30849 nf: *mut nf_struct,
30850 );
30851}
30852extern "C" {
30853 pub fn nf_elem_pow(
30854 res: *mut nf_elem_struct,
30855 a: *mut nf_elem_struct,
30856 e: mp_limb_t,
30857 nf: *mut nf_struct,
30858 );
30859}
30860extern "C" {
30861 pub fn _nf_elem_norm(
30862 rnum: *mut fmpz,
30863 rden: *mut fmpz,
30864 a: *mut nf_elem_struct,
30865 nf: *mut nf_struct,
30866 );
30867}
30868extern "C" {
30869 pub fn nf_elem_norm(res: *mut fmpq, a: *mut nf_elem_struct, nf: *mut nf_struct);
30870}
30871extern "C" {
30872 pub fn _nf_elem_norm_div(
30873 rnum: *mut fmpz,
30874 rden: *mut fmpz,
30875 a: *mut nf_elem_struct,
30876 nf: *mut nf_struct,
30877 divisor: *mut fmpz,
30878 nbits: mp_limb_signed_t,
30879 );
30880}
30881extern "C" {
30882 pub fn nf_elem_norm_div(
30883 res: *mut fmpq,
30884 a: *mut nf_elem_struct,
30885 nf: *mut nf_struct,
30886 divisor: *mut fmpz,
30887 nbits: mp_limb_signed_t,
30888 );
30889}
30890extern "C" {
30891 pub fn _nf_elem_trace(
30892 rnum: *mut fmpz,
30893 rden: *mut fmpz,
30894 a: *mut nf_elem_struct,
30895 nf: *mut nf_struct,
30896 );
30897}
30898extern "C" {
30899 pub fn nf_elem_trace(res: *mut fmpq, a: *mut nf_elem_struct, nf: *mut nf_struct);
30900}
30901extern "C" {
30902 pub fn nf_elem_rep_mat(res: *mut fmpq_mat_struct, a: *mut nf_elem_struct, nf: *mut nf_struct);
30903}
30904extern "C" {
30905 pub fn nf_elem_rep_mat_fmpz_mat_den(
30906 res: *mut fmpz_mat_struct,
30907 den: *mut fmpz,
30908 a: *mut nf_elem_struct,
30909 nf: *mut nf_struct,
30910 );
30911}
30912extern "C" {
30913 #[doc = "Modular reduction"]
30914 pub fn _nf_elem_mod_fmpz(
30915 res: *mut nf_elem_struct,
30916 a: *mut nf_elem_struct,
30917 mod_: *mut fmpz,
30918 nf: *mut nf_struct,
30919 sign: ::std::os::raw::c_int,
30920 );
30921}
30922extern "C" {
30923 pub fn nf_elem_mod_fmpz_den(
30924 res: *mut nf_elem_struct,
30925 a: *mut nf_elem_struct,
30926 mod_: *mut fmpz,
30927 nf: *mut nf_struct,
30928 den: ::std::os::raw::c_int,
30929 );
30930}
30931extern "C" {
30932 pub fn nf_elem_smod_fmpz_den(
30933 res: *mut nf_elem_struct,
30934 a: *mut nf_elem_struct,
30935 mod_: *mut fmpz,
30936 nf: *mut nf_struct,
30937 den: ::std::os::raw::c_int,
30938 );
30939}
30940extern "C" {
30941 pub fn nf_elem_mod_fmpz(
30942 res: *mut nf_elem_struct,
30943 a: *mut nf_elem_struct,
30944 mod_: *mut fmpz,
30945 nf: *mut nf_struct,
30946 );
30947}
30948extern "C" {
30949 pub fn nf_elem_smod_fmpz(
30950 res: *mut nf_elem_struct,
30951 a: *mut nf_elem_struct,
30952 mod_: *mut fmpz,
30953 nf: *mut nf_struct,
30954 );
30955}
30956extern "C" {
30957 pub fn nf_elem_coprime_den(
30958 res: *mut nf_elem_struct,
30959 a: *mut nf_elem_struct,
30960 mod_: *mut fmpz,
30961 nf: *mut nf_struct,
30962 );
30963}
30964extern "C" {
30965 pub fn nf_elem_coprime_den_signed(
30966 res: *mut nf_elem_struct,
30967 a: *mut nf_elem_struct,
30968 mod_: *mut fmpz,
30969 nf: *mut nf_struct,
30970 );
30971}
30972pub type __builtin_va_list = [__va_list_tag; 1usize];
30973#[repr(C)]
30974#[derive(Debug, Copy, Clone)]
30975pub struct __va_list_tag {
30976 pub gp_offset: ::std::os::raw::c_uint,
30977 pub fp_offset: ::std::os::raw::c_uint,
30978 pub overflow_arg_area: *mut ::std::os::raw::c_void,
30979 pub reg_save_area: *mut ::std::os::raw::c_void,
30980}
30981#[test]
30982fn bindgen_test_layout___va_list_tag() {
30983 assert_eq!(
30984 ::std::mem::size_of::<__va_list_tag>(),
30985 24usize,
30986 concat!("Size of: ", stringify!(__va_list_tag))
30987 );
30988 assert_eq!(
30989 ::std::mem::align_of::<__va_list_tag>(),
30990 8usize,
30991 concat!("Alignment of ", stringify!(__va_list_tag))
30992 );
30993 assert_eq!(
30994 unsafe { &(*(::std::ptr::null::<__va_list_tag>())).gp_offset as *const _ as usize },
30995 0usize,
30996 concat!(
30997 "Offset of field: ",
30998 stringify!(__va_list_tag),
30999 "::",
31000 stringify!(gp_offset)
31001 )
31002 );
31003 assert_eq!(
31004 unsafe { &(*(::std::ptr::null::<__va_list_tag>())).fp_offset as *const _ as usize },
31005 4usize,
31006 concat!(
31007 "Offset of field: ",
31008 stringify!(__va_list_tag),
31009 "::",
31010 stringify!(fp_offset)
31011 )
31012 );
31013 assert_eq!(
31014 unsafe { &(*(::std::ptr::null::<__va_list_tag>())).overflow_arg_area as *const _ as usize },
31015 8usize,
31016 concat!(
31017 "Offset of field: ",
31018 stringify!(__va_list_tag),
31019 "::",
31020 stringify!(overflow_arg_area)
31021 )
31022 );
31023 assert_eq!(
31024 unsafe { &(*(::std::ptr::null::<__va_list_tag>())).reg_save_area as *const _ as usize },
31025 16usize,
31026 concat!(
31027 "Offset of field: ",
31028 stringify!(__va_list_tag),
31029 "::",
31030 stringify!(reg_save_area)
31031 )
31032 );
31033}
31034#[repr(C)]
31035#[derive(Debug, Copy, Clone)]
31036pub struct __locale_data {
31037 pub _address: u8,
31038}