pub const __GMP_HAVE_HOST_CPU_FAMILY_power: u32 = 0;
pub const __GMP_HAVE_HOST_CPU_FAMILY_powerpc: u32 = 0;
pub const GMP_LIMB_BITS: u32 = 64;
pub const GMP_NAIL_BITS: u32 = 0;
pub const GMP_NUMB_BITS: u32 = 64;
pub const __GNU_MP__: u32 = 6;
pub const _LIBC_LIMITS_H_: u32 = 1;
pub const _FEATURES_H: u32 = 1;
pub const _DEFAULT_SOURCE: u32 = 1;
pub const __USE_ISOC11: u32 = 1;
pub const __USE_ISOC99: u32 = 1;
pub const __USE_ISOC95: u32 = 1;
pub const __USE_POSIX_IMPLICITLY: u32 = 1;
pub const _POSIX_SOURCE: u32 = 1;
pub const _POSIX_C_SOURCE: u32 = 200809;
pub const __USE_POSIX: u32 = 1;
pub const __USE_POSIX2: u32 = 1;
pub const __USE_POSIX199309: u32 = 1;
pub const __USE_POSIX199506: u32 = 1;
pub const __USE_XOPEN2K: u32 = 1;
pub const __USE_XOPEN2K8: u32 = 1;
pub const _ATFILE_SOURCE: u32 = 1;
pub const __USE_MISC: u32 = 1;
pub const __USE_ATFILE: u32 = 1;
pub const __USE_FORTIFY_LEVEL: u32 = 0;
pub const __GLIBC_USE_DEPRECATED_GETS: u32 = 0;
pub const __GLIBC_USE_DEPRECATED_SCANF: u32 = 0;
pub const _STDC_PREDEF_H: u32 = 1;
pub const __STDC_IEC_559__: u32 = 1;
pub const __STDC_IEC_559_COMPLEX__: u32 = 1;
pub const __STDC_ISO_10646__: u32 = 201706;
pub const __GNU_LIBRARY__: u32 = 6;
pub const __GLIBC__: u32 = 2;
pub const __GLIBC_MINOR__: u32 = 30;
pub const _SYS_CDEFS_H: u32 = 1;
pub const __glibc_c99_flexarr_available: u32 = 1;
pub const __WORDSIZE: u32 = 64;
pub const __WORDSIZE_TIME64_COMPAT32: u32 = 1;
pub const __SYSCALL_WORDSIZE: u32 = 64;
pub const __HAVE_GENERIC_SELECTION: u32 = 1;
pub const __GLIBC_USE_LIB_EXT2: u32 = 0;
pub const __GLIBC_USE_IEC_60559_BFP_EXT: u32 = 0;
pub const __GLIBC_USE_IEC_60559_FUNCS_EXT: u32 = 0;
pub const __GLIBC_USE_IEC_60559_TYPES_EXT: u32 = 0;
pub const MB_LEN_MAX: u32 = 16;
pub const _BITS_POSIX1_LIM_H: u32 = 1;
pub const _POSIX_AIO_LISTIO_MAX: u32 = 2;
pub const _POSIX_AIO_MAX: u32 = 1;
pub const _POSIX_ARG_MAX: u32 = 4096;
pub const _POSIX_CHILD_MAX: u32 = 25;
pub const _POSIX_DELAYTIMER_MAX: u32 = 32;
pub const _POSIX_HOST_NAME_MAX: u32 = 255;
pub const _POSIX_LINK_MAX: u32 = 8;
pub const _POSIX_LOGIN_NAME_MAX: u32 = 9;
pub const _POSIX_MAX_CANON: u32 = 255;
pub const _POSIX_MAX_INPUT: u32 = 255;
pub const _POSIX_MQ_OPEN_MAX: u32 = 8;
pub const _POSIX_MQ_PRIO_MAX: u32 = 32;
pub const _POSIX_NAME_MAX: u32 = 14;
pub const _POSIX_NGROUPS_MAX: u32 = 8;
pub const _POSIX_OPEN_MAX: u32 = 20;
pub const _POSIX_PATH_MAX: u32 = 256;
pub const _POSIX_PIPE_BUF: u32 = 512;
pub const _POSIX_RE_DUP_MAX: u32 = 255;
pub const _POSIX_RTSIG_MAX: u32 = 8;
pub const _POSIX_SEM_NSEMS_MAX: u32 = 256;
pub const _POSIX_SEM_VALUE_MAX: u32 = 32767;
pub const _POSIX_SIGQUEUE_MAX: u32 = 32;
pub const _POSIX_SSIZE_MAX: u32 = 32767;
pub const _POSIX_STREAM_MAX: u32 = 8;
pub const _POSIX_SYMLINK_MAX: u32 = 255;
pub const _POSIX_SYMLOOP_MAX: u32 = 8;
pub const _POSIX_TIMER_MAX: u32 = 32;
pub const _POSIX_TTY_NAME_MAX: u32 = 9;
pub const _POSIX_TZNAME_MAX: u32 = 6;
pub const _POSIX_CLOCKRES_MIN: u32 = 20000000;
pub const NR_OPEN: u32 = 1024;
pub const NGROUPS_MAX: u32 = 65536;
pub const ARG_MAX: u32 = 131072;
pub const LINK_MAX: u32 = 127;
pub const MAX_CANON: u32 = 255;
pub const MAX_INPUT: u32 = 255;
pub const NAME_MAX: u32 = 255;
pub const PATH_MAX: u32 = 4096;
pub const PIPE_BUF: u32 = 4096;
pub const XATTR_NAME_MAX: u32 = 255;
pub const XATTR_SIZE_MAX: u32 = 65536;
pub const XATTR_LIST_MAX: u32 = 65536;
pub const RTSIG_MAX: u32 = 32;
pub const _POSIX_THREAD_KEYS_MAX: u32 = 128;
pub const PTHREAD_KEYS_MAX: u32 = 1024;
pub const _POSIX_THREAD_DESTRUCTOR_ITERATIONS: u32 = 4;
pub const PTHREAD_DESTRUCTOR_ITERATIONS: u32 = 4;
pub const _POSIX_THREAD_THREADS_MAX: u32 = 64;
pub const AIO_PRIO_DELTA_MAX: u32 = 20;
pub const PTHREAD_STACK_MIN: u32 = 16384;
pub const DELAYTIMER_MAX: u32 = 2147483647;
pub const TTY_NAME_MAX: u32 = 32;
pub const LOGIN_NAME_MAX: u32 = 256;
pub const HOST_NAME_MAX: u32 = 64;
pub const MQ_PRIO_MAX: u32 = 32768;
pub const SEM_VALUE_MAX: u32 = 2147483647;
pub const _BITS_POSIX2_LIM_H: u32 = 1;
pub const _POSIX2_BC_BASE_MAX: u32 = 99;
pub const _POSIX2_BC_DIM_MAX: u32 = 2048;
pub const _POSIX2_BC_SCALE_MAX: u32 = 99;
pub const _POSIX2_BC_STRING_MAX: u32 = 1000;
pub const _POSIX2_COLL_WEIGHTS_MAX: u32 = 2;
pub const _POSIX2_EXPR_NEST_MAX: u32 = 32;
pub const _POSIX2_LINE_MAX: u32 = 2048;
pub const _POSIX2_RE_DUP_MAX: u32 = 255;
pub const _POSIX2_CHARCLASS_NAME_MAX: u32 = 14;
pub const BC_BASE_MAX: u32 = 99;
pub const BC_DIM_MAX: u32 = 2048;
pub const BC_SCALE_MAX: u32 = 99;
pub const BC_STRING_MAX: u32 = 1000;
pub const COLL_WEIGHTS_MAX: u32 = 255;
pub const EXPR_NEST_MAX: u32 = 32;
pub const LINE_MAX: u32 = 2048;
pub const CHARCLASS_NAME_MAX: u32 = 2048;
pub const RE_DUP_MAX: u32 = 32767;
pub const __GMP_LIBGMP_DLL: u32 = 0;
pub const __GMP_MP_SIZE_T_INT: u32 = 0;
pub const __GMP_INLINE_PROTOTYPES: u32 = 1;
pub const __GMP_CC: &'static [u8; 21usize] = b"x86_64-linux-gnu-gcc\0";
pub 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" ;
pub const __GNU_MP_VERSION: u32 = 6;
pub const __GNU_MP_VERSION_MINOR: u32 = 2;
pub const __GNU_MP_VERSION_PATCHLEVEL: u32 = 0;
pub const __GNU_MP_RELEASE: u32 = 60200;
pub const _SYS_PARAM_H: u32 = 1;
pub const _SYS_TYPES_H: u32 = 1;
pub const _BITS_TYPES_H: u32 = 1;
pub const __TIMESIZE: u32 = 64;
pub const _BITS_TYPESIZES_H: u32 = 1;
pub const __OFF_T_MATCHES_OFF64_T: u32 = 1;
pub const __INO_T_MATCHES_INO64_T: u32 = 1;
pub const __RLIM_T_MATCHES_RLIM64_T: u32 = 1;
pub const __FD_SETSIZE: u32 = 1024;
pub const _BITS_TIME64_H: u32 = 1;
pub const __clock_t_defined: u32 = 1;
pub const __clockid_t_defined: u32 = 1;
pub const __time_t_defined: u32 = 1;
pub const __timer_t_defined: u32 = 1;
pub const _BITS_STDINT_INTN_H: u32 = 1;
pub const __BIT_TYPES_DEFINED__: u32 = 1;
pub const _ENDIAN_H: u32 = 1;
pub const __LITTLE_ENDIAN: u32 = 1234;
pub const __BIG_ENDIAN: u32 = 4321;
pub const __PDP_ENDIAN: u32 = 3412;
pub const __BYTE_ORDER: u32 = 1234;
pub const __FLOAT_WORD_ORDER: u32 = 1234;
pub const LITTLE_ENDIAN: u32 = 1234;
pub const BIG_ENDIAN: u32 = 4321;
pub const PDP_ENDIAN: u32 = 3412;
pub const BYTE_ORDER: u32 = 1234;
pub const _BITS_BYTESWAP_H: u32 = 1;
pub const _BITS_UINTN_IDENTITY_H: u32 = 1;
pub const _SYS_SELECT_H: u32 = 1;
pub const __FD_ZERO_STOS: &'static [u8; 6usize] = b"stosq\0";
pub const __sigset_t_defined: u32 = 1;
pub const __timeval_defined: u32 = 1;
pub const _STRUCT_TIMESPEC: u32 = 1;
pub const FD_SETSIZE: u32 = 1024;
pub const _BITS_PTHREADTYPES_COMMON_H: u32 = 1;
pub const _THREAD_SHARED_TYPES_H: u32 = 1;
pub const _BITS_PTHREADTYPES_ARCH_H: u32 = 1;
pub const __SIZEOF_PTHREAD_MUTEX_T: u32 = 40;
pub const __SIZEOF_PTHREAD_ATTR_T: u32 = 56;
pub const __SIZEOF_PTHREAD_RWLOCK_T: u32 = 56;
pub const __SIZEOF_PTHREAD_BARRIER_T: u32 = 32;
pub const __SIZEOF_PTHREAD_MUTEXATTR_T: u32 = 4;
pub const __SIZEOF_PTHREAD_COND_T: u32 = 48;
pub const __SIZEOF_PTHREAD_CONDATTR_T: u32 = 4;
pub const __SIZEOF_PTHREAD_RWLOCKATTR_T: u32 = 8;
pub const __SIZEOF_PTHREAD_BARRIERATTR_T: u32 = 4;
pub const __PTHREAD_MUTEX_LOCK_ELISION: u32 = 1;
pub const __PTHREAD_MUTEX_NUSERS_AFTER_KIND: u32 = 0;
pub const __PTHREAD_MUTEX_USE_UNION: u32 = 0;
pub const __PTHREAD_RWLOCK_INT_FLAGS_SHARED: u32 = 1;
pub const __PTHREAD_MUTEX_HAVE_PREV: u32 = 1;
pub const __have_pthread_attr_t: u32 = 1;
pub const _BITS_SIGNUM_H: u32 = 1;
pub const _BITS_SIGNUM_GENERIC_H: u32 = 1;
pub const SIGINT: u32 = 2;
pub const SIGILL: u32 = 4;
pub const SIGABRT: u32 = 6;
pub const SIGFPE: u32 = 8;
pub const SIGSEGV: u32 = 11;
pub const SIGTERM: u32 = 15;
pub const SIGHUP: u32 = 1;
pub const SIGQUIT: u32 = 3;
pub const SIGTRAP: u32 = 5;
pub const SIGKILL: u32 = 9;
pub const SIGBUS: u32 = 10;
pub const SIGSYS: u32 = 12;
pub const SIGPIPE: u32 = 13;
pub const SIGALRM: u32 = 14;
pub const SIGURG: u32 = 16;
pub const SIGSTOP: u32 = 17;
pub const SIGTSTP: u32 = 18;
pub const SIGCONT: u32 = 19;
pub const SIGCHLD: u32 = 20;
pub const SIGTTIN: u32 = 21;
pub const SIGTTOU: u32 = 22;
pub const SIGPOLL: u32 = 23;
pub const SIGXCPU: u32 = 24;
pub const SIGXFSZ: u32 = 25;
pub const SIGVTALRM: u32 = 26;
pub const SIGPROF: u32 = 27;
pub const SIGUSR1: u32 = 30;
pub const SIGUSR2: u32 = 31;
pub const SIGWINCH: u32 = 28;
pub const SIGIO: u32 = 23;
pub const SIGIOT: u32 = 6;
pub const SIGCLD: u32 = 20;
pub const __SIGRTMIN: u32 = 32;
pub const __SIGRTMAX: u32 = 32;
pub const _NSIG: u32 = 33;
pub const SIGSTKFLT: u32 = 16;
pub const SIGPWR: u32 = 30;
pub const __sig_atomic_t_defined: u32 = 1;
pub const __siginfo_t_defined: u32 = 1;
pub const __SI_MAX_SIZE: u32 = 128;
pub const _BITS_SIGINFO_ARCH_H: u32 = 1;
pub const __SI_ERRNO_THEN_CODE: u32 = 1;
pub const __SI_HAVE_SIGSYS: u32 = 1;
pub const _BITS_SIGINFO_CONSTS_H: u32 = 1;
pub const __SI_ASYNCIO_AFTER_SIGIO: u32 = 1;
pub const __sigevent_t_defined: u32 = 1;
pub const __SIGEV_MAX_SIZE: u32 = 64;
pub const _BITS_SIGEVENT_CONSTS_H: u32 = 1;
pub const NSIG: u32 = 33;
pub const _BITS_SIGACTION_H: u32 = 1;
pub const SA_NOCLDSTOP: u32 = 1;
pub const SA_NOCLDWAIT: u32 = 2;
pub const SA_SIGINFO: u32 = 4;
pub const SA_ONSTACK: u32 = 134217728;
pub const SA_RESTART: u32 = 268435456;
pub const SA_NODEFER: u32 = 1073741824;
pub const SA_RESETHAND: u32 = 2147483648;
pub const SA_INTERRUPT: u32 = 536870912;
pub const SA_NOMASK: u32 = 1073741824;
pub const SA_ONESHOT: u32 = 2147483648;
pub const SA_STACK: u32 = 134217728;
pub const SIG_BLOCK: u32 = 0;
pub const SIG_UNBLOCK: u32 = 1;
pub const SIG_SETMASK: u32 = 2;
pub const _BITS_SIGCONTEXT_H: u32 = 1;
pub const FP_XSTATE_MAGIC1: u32 = 1179670611;
pub const FP_XSTATE_MAGIC2: u32 = 1179670597;
pub const __stack_t_defined: u32 = 1;
pub const _SYS_UCONTEXT_H: u32 = 1;
pub const __NGREG: u32 = 23;
pub const NGREG: u32 = 23;
pub const _BITS_SIGSTACK_H: u32 = 1;
pub const MINSIGSTKSZ: u32 = 2048;
pub const SIGSTKSZ: u32 = 8192;
pub const _BITS_SS_FLAGS_H: u32 = 1;
pub const __sigstack_defined: u32 = 1;
pub const _BITS_SIGTHREAD_H: u32 = 1;
pub const HZ: u32 = 100;
pub const EXEC_PAGESIZE: u32 = 4096;
pub const NOGROUP: i32 = -1;
pub const MAXHOSTNAMELEN: u32 = 64;
pub const MAXSYMLINKS: u32 = 20;
pub const NOFILE: u32 = 256;
pub const NCARGS: u32 = 131072;
pub const NGROUPS: u32 = 65536;
pub const CANBSIZ: u32 = 255;
pub const MAXPATHLEN: u32 = 4096;
pub const DEV_BSIZE: u32 = 512;
pub const MPFR_VERSION_MAJOR: u32 = 4;
pub const MPFR_VERSION_MINOR: u32 = 0;
pub const MPFR_VERSION_PATCHLEVEL: u32 = 2;
pub const MPFR_VERSION_STRING: &'static [u8; 6usize] = b"4.0.2\0";
pub const MPFR_FLAGS_UNDERFLOW: u32 = 1;
pub const MPFR_FLAGS_OVERFLOW: u32 = 2;
pub const MPFR_FLAGS_NAN: u32 = 4;
pub const MPFR_FLAGS_INEXACT: u32 = 8;
pub const MPFR_FLAGS_ERANGE: u32 = 16;
pub const MPFR_FLAGS_DIVBY0: u32 = 32;
pub const MPFR_FLAGS_ALL: u32 = 63;
pub const _MPFR_PREC_FORMAT: u32 = 3;
pub const _MPFR_EXP_FORMAT: u32 = 3;
pub const MPFR_PREC_MIN: u32 = 1;
pub const MPFR_USE_C99_FEATURE: u32 = 1;
pub const __GNUC_VA_LIST: u32 = 1;
pub const _STDIO_H: u32 = 1;
pub const _____fpos_t_defined: u32 = 1;
pub const ____mbstate_t_defined: u32 = 1;
pub const _____fpos64_t_defined: u32 = 1;
pub const ____FILE_defined: u32 = 1;
pub const __FILE_defined: u32 = 1;
pub const __struct_FILE_defined: u32 = 1;
pub const _IO_EOF_SEEN: u32 = 16;
pub const _IO_ERR_SEEN: u32 = 32;
pub const _IO_USER_LOCK: u32 = 32768;
pub const _IOFBF: u32 = 0;
pub const _IOLBF: u32 = 1;
pub const _IONBF: u32 = 2;
pub const BUFSIZ: u32 = 8192;
pub const EOF: i32 = -1;
pub const SEEK_SET: u32 = 0;
pub const SEEK_CUR: u32 = 1;
pub const SEEK_END: u32 = 2;
pub const P_tmpdir: &'static [u8; 5usize] = b"/tmp\0";
pub const _BITS_STDIO_LIM_H: u32 = 1;
pub const L_tmpnam: u32 = 20;
pub const TMP_MAX: u32 = 238328;
pub const FILENAME_MAX: u32 = 4096;
pub const L_ctermid: u32 = 9;
pub const FOPEN_MAX: u32 = 16;
pub const _STDLIB_H: u32 = 1;
pub const WNOHANG: u32 = 1;
pub const WUNTRACED: u32 = 2;
pub const WSTOPPED: u32 = 2;
pub const WEXITED: u32 = 4;
pub const WCONTINUED: u32 = 8;
pub const WNOWAIT: u32 = 16777216;
pub const __WNOTHREAD: u32 = 536870912;
pub const __WALL: u32 = 1073741824;
pub const __WCLONE: u32 = 2147483648;
pub const __ENUM_IDTYPE_T: u32 = 1;
pub const __W_CONTINUED: u32 = 65535;
pub const __WCOREFLAG: u32 = 128;
pub const __HAVE_FLOAT128: u32 = 0;
pub const __HAVE_DISTINCT_FLOAT128: u32 = 0;
pub const __HAVE_FLOAT64X: u32 = 1;
pub const __HAVE_FLOAT64X_LONG_DOUBLE: u32 = 1;
pub const __HAVE_FLOAT16: u32 = 0;
pub const __HAVE_FLOAT32: u32 = 1;
pub const __HAVE_FLOAT64: u32 = 1;
pub const __HAVE_FLOAT32X: u32 = 1;
pub const __HAVE_FLOAT128X: u32 = 0;
pub const __HAVE_DISTINCT_FLOAT16: u32 = 0;
pub const __HAVE_DISTINCT_FLOAT32: u32 = 0;
pub const __HAVE_DISTINCT_FLOAT64: u32 = 0;
pub const __HAVE_DISTINCT_FLOAT32X: u32 = 0;
pub const __HAVE_DISTINCT_FLOAT64X: u32 = 0;
pub const __HAVE_DISTINCT_FLOAT128X: u32 = 0;
pub const __HAVE_FLOATN_NOT_TYPEDEF: u32 = 0;
pub const __ldiv_t_defined: u32 = 1;
pub const __lldiv_t_defined: u32 = 1;
pub const RAND_MAX: u32 = 2147483647;
pub const EXIT_FAILURE: u32 = 1;
pub const EXIT_SUCCESS: u32 = 0;
pub const _ALLOCA_H: u32 = 1;
pub const FLINT_KNOW_STRONG_ORDER: u32 = 0;
pub const HAVE_BLAS: u32 = 0;
pub const HAVE_TLS: u32 = 1;
pub const HAVE_FENV: u32 = 1;
pub const HAVE_PTHREAD: u32 = 1;
pub const HAVE_GC: u32 = 0;
pub const HAVE_CPU_SET_T: u32 = 1;
pub const FLINT_REENTRANT: u32 = 0;
pub const WANT_ASSERT: u32 = 0;
pub const __FLINT_VERSION: u32 = 2;
pub const __FLINT_VERSION_MINOR: u32 = 6;
pub const __FLINT_VERSION_PATCHLEVEL: u32 = 0;
pub const FLINT_VERSION: &'static [u8; 6usize] = b"2.6.0\0";
pub const __FLINT_RELEASE: u32 = 20600;
pub const WORD_FMT: &'static [u8; 3usize] = b"%l\0";
pub const WORD_WIDTH_FMT: &'static [u8; 4usize] = b"%*l\0";
pub const FLINT_BITS: u32 = 64;
pub const FLINT_D_BITS: u32 = 53;
pub const FLINT64: u32 = 1;
pub const FLINT_MAX_FACTORS_IN_LIMB: u32 = 15;
pub const FLINT_ODDPRIME_SMALL_CUTOFF: u32 = 4096;
pub const FLINT_NUM_PRIMES_SMALL: u32 = 172;
pub const FLINT_PRIMES_SMALL_CUTOFF: u32 = 1030;
pub const FLINT_PSEUDOSQUARES_CUTOFF: u32 = 1000;
pub const FLINT_FACTOR_TRIAL_PRIMES: u32 = 3000;
pub const FLINT_PRIMES_TAB_DEFAULT_CUTOFF: u32 = 1000000;
pub const FLINT_FACTOR_SQUFOF_ITERS: u32 = 50000;
pub const FLINT_FACTOR_ONE_LINE_ITERS: u32 = 40000;
pub const FLINT_PRIME_PI_ODD_LOOKUP_CUTOFF: u32 = 311;
pub const FLINT_SIEVE_SIZE: u32 = 65536;
pub const _PTHREAD_H: u32 = 1;
pub const _SCHED_H: u32 = 1;
pub const _BITS_SCHED_H: u32 = 1;
pub const SCHED_OTHER: u32 = 0;
pub const SCHED_FIFO: u32 = 1;
pub const SCHED_RR: u32 = 2;
pub const _BITS_TYPES_STRUCT_SCHED_PARAM: u32 = 1;
pub const _BITS_CPU_SET_H: u32 = 1;
pub const __CPU_SETSIZE: u32 = 1024;
pub const _TIME_H: u32 = 1;
pub const _BITS_TIME_H: u32 = 1;
pub const CLOCK_REALTIME: u32 = 0;
pub const CLOCK_MONOTONIC: u32 = 1;
pub const CLOCK_PROCESS_CPUTIME_ID: u32 = 2;
pub const CLOCK_THREAD_CPUTIME_ID: u32 = 3;
pub const CLOCK_MONOTONIC_RAW: u32 = 4;
pub const CLOCK_REALTIME_COARSE: u32 = 5;
pub const CLOCK_MONOTONIC_COARSE: u32 = 6;
pub const CLOCK_BOOTTIME: u32 = 7;
pub const CLOCK_REALTIME_ALARM: u32 = 8;
pub const CLOCK_BOOTTIME_ALARM: u32 = 9;
pub const CLOCK_TAI: u32 = 11;
pub const TIMER_ABSTIME: u32 = 1;
pub const __struct_tm_defined: u32 = 1;
pub const __itimerspec_defined: u32 = 1;
pub const _BITS_TYPES_LOCALE_T_H: u32 = 1;
pub const _BITS_TYPES___LOCALE_T_H: u32 = 1;
pub const TIME_UTC: u32 = 1;
pub const _BITS_SETJMP_H: u32 = 1;
pub const PTHREAD_ONCE_INIT: u32 = 0;
pub const PTHREAD_BARRIER_SERIAL_THREAD: i32 = -1;
pub const FLINT_FMPZ_LOG_MULTI_MOD_CUTOFF: u32 = 2;
pub const FLINT_DEFAULT_THREAD_LIMIT: u32 = 99999;
pub const NMOD_MAT_MUL_TRANSPOSE_CUTOFF: u32 = 20;
pub const NMOD_MAT_SOLVE_TRI_ROWS_CUTOFF: u32 = 64;
pub const NMOD_MAT_SOLVE_TRI_COLS_CUTOFF: u32 = 64;
pub const NMOD_MAT_LU_RECURSIVE_CUTOFF: u32 = 4;
pub const NMOD_MAT_OPTIMAL_MODULUS_BITS: u32 = 59;
pub const NMOD_DIVREM_DIVCONQUER_CUTOFF: u32 = 300;
pub const NMOD_DIV_DIVCONQUER_CUTOFF: u32 = 300;
pub const NMOD_POLY_HGCD_CUTOFF: u32 = 100;
pub const NMOD_POLY_GCD_CUTOFF: u32 = 340;
pub const NMOD_POLY_SMALL_GCD_CUTOFF: u32 = 200;
pub const FMPZ_POLY_INV_NEWTON_CUTOFF: u32 = 32;
pub const FMPZ_POLY_SQRT_DIVCONQUER_CUTOFF: u32 = 16;
pub const FMPZ_POLY_SQRTREM_DIVCONQUER_CUTOFF: u32 = 16;
pub const _MATH_H: u32 = 1;
pub const _BITS_LIBM_SIMD_DECL_STUBS_H: u32 = 1;
pub const __FP_LOGB0_IS_MIN: u32 = 1;
pub const __FP_LOGBNAN_IS_MIN: u32 = 1;
pub const FP_ILOGB0: i32 = -2147483648;
pub const FP_ILOGBNAN: i32 = -2147483648;
pub const __MATH_DECLARING_DOUBLE: u32 = 1;
pub const __MATH_DECLARING_FLOATN: u32 = 0;
pub const __MATH_DECLARE_LDOUBLE: u32 = 1;
pub const FP_NAN: u32 = 0;
pub const FP_INFINITE: u32 = 1;
pub const FP_ZERO: u32 = 2;
pub const FP_SUBNORMAL: u32 = 3;
pub const FP_NORMAL: u32 = 4;
pub const MATH_ERRNO: u32 = 1;
pub const MATH_ERREXCEPT: u32 = 2;
pub const math_errhandling: u32 = 3;
pub const M_E: f64 = 2.718281828459045;
pub const M_LOG2E: f64 = 1.4426950408889634;
pub const M_LOG10E: f64 = 0.4342944819032518;
pub const M_LN2: f64 = 0.6931471805599453;
pub const M_LN10: f64 = 2.302585092994046;
pub const M_PI: f64 = 3.141592653589793;
pub const M_PI_2: f64 = 1.5707963267948966;
pub const M_PI_4: f64 = 0.7853981633974483;
pub const M_1_PI: f64 = 0.3183098861837907;
pub const M_2_PI: f64 = 0.6366197723675814;
pub const M_2_SQRTPI: f64 = 1.1283791670955126;
pub const M_SQRT2: f64 = 1.4142135623730951;
pub const M_SQRT1_2: f64 = 0.7071067811865476;
pub const D_BITS: u32 = 53;
pub const WEAK_CANONICALISE_CUTOFF: u32 = 25600;
pub const FMPZ_MOD_MAT_MUL_TRANSPOSE_CUTOFF: u32 = 10;
pub const FMPZ_MOD_POLY_HGCD_CUTOFF: u32 = 128;
pub const FMPZ_MOD_POLY_GCD_CUTOFF: u32 = 256;
pub const FMPZ_MOD_POLY_INV_NEWTON_CUTOFF: u32 = 64;
pub const NF_POWERS_CUTOFF: u32 = 30;
pub const NF_GENERIC: u32 = 0;
pub const NF_MONIC: u32 = 1;
pub const NF_LINEAR: u32 = 2;
pub const NF_QUADRATIC: u32 = 4;
pub type wchar_t = ::std::os::raw::c_int;
#[repr(C)]
#[repr(align(16))]
#[derive(Debug, Copy, Clone)]
pub struct max_align_t {
pub __clang_max_align_nonce1: ::std::os::raw::c_longlong,
pub __bindgen_padding_0: u64,
pub __clang_max_align_nonce2: u128,
}
#[test]
fn bindgen_test_layout_max_align_t() {
assert_eq!(
::std::mem::size_of::<max_align_t>(),
32usize,
concat!("Size of: ", stringify!(max_align_t))
);
assert_eq!(
::std::mem::align_of::<max_align_t>(),
16usize,
concat!("Alignment of ", stringify!(max_align_t))
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<max_align_t>())).__clang_max_align_nonce1 as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(max_align_t),
"::",
stringify!(__clang_max_align_nonce1)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<max_align_t>())).__clang_max_align_nonce2 as *const _ as usize
},
16usize,
concat!(
"Offset of field: ",
stringify!(max_align_t),
"::",
stringify!(__clang_max_align_nonce2)
)
);
}
pub type mp_limb_t = ::std::os::raw::c_ulong;
pub type mp_limb_signed_t = ::std::os::raw::c_long;
pub type mp_bitcnt_t = ::std::os::raw::c_ulong;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __mpz_struct {
pub _mp_alloc: ::std::os::raw::c_int,
pub _mp_size: ::std::os::raw::c_int,
pub _mp_d: *mut mp_limb_t,
}
#[test]
fn bindgen_test_layout___mpz_struct() {
assert_eq!(
::std::mem::size_of::<__mpz_struct>(),
16usize,
concat!("Size of: ", stringify!(__mpz_struct))
);
assert_eq!(
::std::mem::align_of::<__mpz_struct>(),
8usize,
concat!("Alignment of ", stringify!(__mpz_struct))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__mpz_struct>()))._mp_alloc as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__mpz_struct),
"::",
stringify!(_mp_alloc)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__mpz_struct>()))._mp_size as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(__mpz_struct),
"::",
stringify!(_mp_size)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__mpz_struct>()))._mp_d as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(__mpz_struct),
"::",
stringify!(_mp_d)
)
);
}
pub type MP_INT = __mpz_struct;
pub type mpz_t = [__mpz_struct; 1usize];
pub type mp_ptr = *mut mp_limb_t;
pub type mp_srcptr = *const mp_limb_t;
pub type mp_size_t = ::std::os::raw::c_long;
pub type mp_exp_t = ::std::os::raw::c_long;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __mpq_struct {
pub _mp_num: __mpz_struct,
pub _mp_den: __mpz_struct,
}
#[test]
fn bindgen_test_layout___mpq_struct() {
assert_eq!(
::std::mem::size_of::<__mpq_struct>(),
32usize,
concat!("Size of: ", stringify!(__mpq_struct))
);
assert_eq!(
::std::mem::align_of::<__mpq_struct>(),
8usize,
concat!("Alignment of ", stringify!(__mpq_struct))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__mpq_struct>()))._mp_num as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__mpq_struct),
"::",
stringify!(_mp_num)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__mpq_struct>()))._mp_den as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(__mpq_struct),
"::",
stringify!(_mp_den)
)
);
}
pub type MP_RAT = __mpq_struct;
pub type mpq_t = [__mpq_struct; 1usize];
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __mpf_struct {
pub _mp_prec: ::std::os::raw::c_int,
pub _mp_size: ::std::os::raw::c_int,
pub _mp_exp: mp_exp_t,
pub _mp_d: *mut mp_limb_t,
}
#[test]
fn bindgen_test_layout___mpf_struct() {
assert_eq!(
::std::mem::size_of::<__mpf_struct>(),
24usize,
concat!("Size of: ", stringify!(__mpf_struct))
);
assert_eq!(
::std::mem::align_of::<__mpf_struct>(),
8usize,
concat!("Alignment of ", stringify!(__mpf_struct))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__mpf_struct>()))._mp_prec as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__mpf_struct),
"::",
stringify!(_mp_prec)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__mpf_struct>()))._mp_size as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(__mpf_struct),
"::",
stringify!(_mp_size)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__mpf_struct>()))._mp_exp as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(__mpf_struct),
"::",
stringify!(_mp_exp)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__mpf_struct>()))._mp_d as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(__mpf_struct),
"::",
stringify!(_mp_d)
)
);
}
pub type mpf_t = [__mpf_struct; 1usize];
pub const gmp_randalg_t_GMP_RAND_ALG_DEFAULT: gmp_randalg_t = 0;
pub const gmp_randalg_t_GMP_RAND_ALG_LC: gmp_randalg_t = 0;
pub type gmp_randalg_t = u32;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct __gmp_randstate_struct {
pub _mp_seed: mpz_t,
pub _mp_alg: gmp_randalg_t,
pub _mp_algdata: __gmp_randstate_struct__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union __gmp_randstate_struct__bindgen_ty_1 {
pub _mp_lc: *mut ::std::os::raw::c_void,
_bindgen_union_align: u64,
}
#[test]
fn bindgen_test_layout___gmp_randstate_struct__bindgen_ty_1() {
assert_eq!(
::std::mem::size_of::<__gmp_randstate_struct__bindgen_ty_1>(),
8usize,
concat!(
"Size of: ",
stringify!(__gmp_randstate_struct__bindgen_ty_1)
)
);
assert_eq!(
::std::mem::align_of::<__gmp_randstate_struct__bindgen_ty_1>(),
8usize,
concat!(
"Alignment of ",
stringify!(__gmp_randstate_struct__bindgen_ty_1)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<__gmp_randstate_struct__bindgen_ty_1>()))._mp_lc as *const _
as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(__gmp_randstate_struct__bindgen_ty_1),
"::",
stringify!(_mp_lc)
)
);
}
#[test]
fn bindgen_test_layout___gmp_randstate_struct() {
assert_eq!(
::std::mem::size_of::<__gmp_randstate_struct>(),
32usize,
concat!("Size of: ", stringify!(__gmp_randstate_struct))
);
assert_eq!(
::std::mem::align_of::<__gmp_randstate_struct>(),
8usize,
concat!("Alignment of ", stringify!(__gmp_randstate_struct))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__gmp_randstate_struct>()))._mp_seed as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__gmp_randstate_struct),
"::",
stringify!(_mp_seed)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__gmp_randstate_struct>()))._mp_alg as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(__gmp_randstate_struct),
"::",
stringify!(_mp_alg)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<__gmp_randstate_struct>()))._mp_algdata as *const _ as usize
},
24usize,
concat!(
"Offset of field: ",
stringify!(__gmp_randstate_struct),
"::",
stringify!(_mp_algdata)
)
);
}
pub type gmp_randstate_t = [__gmp_randstate_struct; 1usize];
pub type mpz_srcptr = *const __mpz_struct;
pub type mpz_ptr = *mut __mpz_struct;
pub type mpf_srcptr = *const __mpf_struct;
pub type mpf_ptr = *mut __mpf_struct;
pub type mpq_srcptr = *const __mpq_struct;
pub type mpq_ptr = *mut __mpq_struct;
extern "C" {
pub fn __gmp_set_memory_functions(
arg1: ::std::option::Option<
unsafe extern "C" fn(arg1: usize) -> *mut ::std::os::raw::c_void,
>,
arg2: ::std::option::Option<
unsafe extern "C" fn(
arg1: *mut ::std::os::raw::c_void,
arg2: usize,
arg3: usize,
) -> *mut ::std::os::raw::c_void,
>,
arg3: ::std::option::Option<
unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void, arg2: usize),
>,
);
}
extern "C" {
pub fn __gmp_get_memory_functions(
arg1: *mut ::std::option::Option<
unsafe extern "C" fn(arg1: usize) -> *mut ::std::os::raw::c_void,
>,
arg2: *mut ::std::option::Option<
unsafe extern "C" fn(
arg1: *mut ::std::os::raw::c_void,
arg2: usize,
arg3: usize,
) -> *mut ::std::os::raw::c_void,
>,
arg3: *mut ::std::option::Option<
unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void, arg2: usize),
>,
);
}
extern "C" {
pub static __gmp_bits_per_limb: ::std::os::raw::c_int;
}
extern "C" {
pub static mut __gmp_errno: ::std::os::raw::c_int;
}
extern "C" {
pub static __gmp_version: *const ::std::os::raw::c_char;
}
extern "C" {
pub fn __gmp_randinit(arg1: *mut __gmp_randstate_struct, arg2: gmp_randalg_t, ...);
}
extern "C" {
pub fn __gmp_randinit_default(arg1: *mut __gmp_randstate_struct);
}
extern "C" {
pub fn __gmp_randinit_lc_2exp(
arg1: *mut __gmp_randstate_struct,
arg2: mpz_srcptr,
arg3: ::std::os::raw::c_ulong,
arg4: mp_bitcnt_t,
);
}
extern "C" {
pub fn __gmp_randinit_lc_2exp_size(
arg1: *mut __gmp_randstate_struct,
arg2: mp_bitcnt_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmp_randinit_mt(arg1: *mut __gmp_randstate_struct);
}
extern "C" {
pub fn __gmp_randinit_set(
arg1: *mut __gmp_randstate_struct,
arg2: *const __gmp_randstate_struct,
);
}
extern "C" {
pub fn __gmp_randseed(arg1: *mut __gmp_randstate_struct, arg2: mpz_srcptr);
}
extern "C" {
pub fn __gmp_randseed_ui(arg1: *mut __gmp_randstate_struct, arg2: ::std::os::raw::c_ulong);
}
extern "C" {
pub fn __gmp_randclear(arg1: *mut __gmp_randstate_struct);
}
extern "C" {
pub fn __gmp_urandomb_ui(
arg1: *mut __gmp_randstate_struct,
arg2: ::std::os::raw::c_ulong,
) -> ::std::os::raw::c_ulong;
}
extern "C" {
pub fn __gmp_urandomm_ui(
arg1: *mut __gmp_randstate_struct,
arg2: ::std::os::raw::c_ulong,
) -> ::std::os::raw::c_ulong;
}
extern "C" {
pub fn __gmp_asprintf(
arg1: *mut *mut ::std::os::raw::c_char,
arg2: *const ::std::os::raw::c_char,
...
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmp_printf(arg1: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmp_snprintf(
arg1: *mut ::std::os::raw::c_char,
arg2: usize,
arg3: *const ::std::os::raw::c_char,
...
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmp_sprintf(
arg1: *mut ::std::os::raw::c_char,
arg2: *const ::std::os::raw::c_char,
...
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmp_scanf(arg1: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmp_sscanf(
arg1: *const ::std::os::raw::c_char,
arg2: *const ::std::os::raw::c_char,
...
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpz_realloc(arg1: mpz_ptr, arg2: mp_size_t) -> *mut ::std::os::raw::c_void;
}
extern "C" {
pub fn __gmpz_abs(arg1: mpz_ptr, arg2: mpz_srcptr);
}
extern "C" {
pub fn __gmpz_add(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr);
}
extern "C" {
pub fn __gmpz_add_ui(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: ::std::os::raw::c_ulong);
}
extern "C" {
pub fn __gmpz_addmul(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr);
}
extern "C" {
pub fn __gmpz_addmul_ui(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: ::std::os::raw::c_ulong);
}
extern "C" {
pub fn __gmpz_and(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr);
}
extern "C" {
pub fn __gmpz_array_init(arg1: mpz_ptr, arg2: mp_size_t, arg3: mp_size_t);
}
extern "C" {
pub fn __gmpz_bin_ui(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: ::std::os::raw::c_ulong);
}
extern "C" {
pub fn __gmpz_bin_uiui(
arg1: mpz_ptr,
arg2: ::std::os::raw::c_ulong,
arg3: ::std::os::raw::c_ulong,
);
}
extern "C" {
pub fn __gmpz_cdiv_q(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr);
}
extern "C" {
pub fn __gmpz_cdiv_q_2exp(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mp_bitcnt_t);
}
extern "C" {
pub fn __gmpz_cdiv_q_ui(
arg1: mpz_ptr,
arg2: mpz_srcptr,
arg3: ::std::os::raw::c_ulong,
) -> ::std::os::raw::c_ulong;
}
extern "C" {
pub fn __gmpz_cdiv_qr(arg1: mpz_ptr, arg2: mpz_ptr, arg3: mpz_srcptr, arg4: mpz_srcptr);
}
extern "C" {
pub fn __gmpz_cdiv_qr_ui(
arg1: mpz_ptr,
arg2: mpz_ptr,
arg3: mpz_srcptr,
arg4: ::std::os::raw::c_ulong,
) -> ::std::os::raw::c_ulong;
}
extern "C" {
pub fn __gmpz_cdiv_r(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr);
}
extern "C" {
pub fn __gmpz_cdiv_r_2exp(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mp_bitcnt_t);
}
extern "C" {
pub fn __gmpz_cdiv_r_ui(
arg1: mpz_ptr,
arg2: mpz_srcptr,
arg3: ::std::os::raw::c_ulong,
) -> ::std::os::raw::c_ulong;
}
extern "C" {
pub fn __gmpz_cdiv_ui(
arg1: mpz_srcptr,
arg2: ::std::os::raw::c_ulong,
) -> ::std::os::raw::c_ulong;
}
extern "C" {
pub fn __gmpz_clear(arg1: mpz_ptr);
}
extern "C" {
pub fn __gmpz_clears(arg1: mpz_ptr, ...);
}
extern "C" {
pub fn __gmpz_clrbit(arg1: mpz_ptr, arg2: mp_bitcnt_t);
}
extern "C" {
pub fn __gmpz_cmp(arg1: mpz_srcptr, arg2: mpz_srcptr) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpz_cmp_d(arg1: mpz_srcptr, arg2: f64) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpz_cmp_si(arg1: mpz_srcptr, arg2: ::std::os::raw::c_long) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpz_cmp_ui(arg1: mpz_srcptr, arg2: ::std::os::raw::c_ulong) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpz_cmpabs(arg1: mpz_srcptr, arg2: mpz_srcptr) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpz_cmpabs_d(arg1: mpz_srcptr, arg2: f64) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpz_cmpabs_ui(
arg1: mpz_srcptr,
arg2: ::std::os::raw::c_ulong,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpz_com(arg1: mpz_ptr, arg2: mpz_srcptr);
}
extern "C" {
pub fn __gmpz_combit(arg1: mpz_ptr, arg2: mp_bitcnt_t);
}
extern "C" {
pub fn __gmpz_congruent_p(
arg1: mpz_srcptr,
arg2: mpz_srcptr,
arg3: mpz_srcptr,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpz_congruent_2exp_p(
arg1: mpz_srcptr,
arg2: mpz_srcptr,
arg3: mp_bitcnt_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpz_congruent_ui_p(
arg1: mpz_srcptr,
arg2: ::std::os::raw::c_ulong,
arg3: ::std::os::raw::c_ulong,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpz_divexact(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr);
}
extern "C" {
pub fn __gmpz_divexact_ui(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: ::std::os::raw::c_ulong);
}
extern "C" {
pub fn __gmpz_divisible_p(arg1: mpz_srcptr, arg2: mpz_srcptr) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpz_divisible_ui_p(
arg1: mpz_srcptr,
arg2: ::std::os::raw::c_ulong,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpz_divisible_2exp_p(arg1: mpz_srcptr, arg2: mp_bitcnt_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpz_dump(arg1: mpz_srcptr);
}
extern "C" {
pub fn __gmpz_export(
arg1: *mut ::std::os::raw::c_void,
arg2: *mut usize,
arg3: ::std::os::raw::c_int,
arg4: usize,
arg5: ::std::os::raw::c_int,
arg6: usize,
arg7: mpz_srcptr,
) -> *mut ::std::os::raw::c_void;
}
extern "C" {
pub fn __gmpz_fac_ui(arg1: mpz_ptr, arg2: ::std::os::raw::c_ulong);
}
extern "C" {
pub fn __gmpz_2fac_ui(arg1: mpz_ptr, arg2: ::std::os::raw::c_ulong);
}
extern "C" {
pub fn __gmpz_mfac_uiui(
arg1: mpz_ptr,
arg2: ::std::os::raw::c_ulong,
arg3: ::std::os::raw::c_ulong,
);
}
extern "C" {
pub fn __gmpz_primorial_ui(arg1: mpz_ptr, arg2: ::std::os::raw::c_ulong);
}
extern "C" {
pub fn __gmpz_fdiv_q(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr);
}
extern "C" {
pub fn __gmpz_fdiv_q_2exp(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mp_bitcnt_t);
}
extern "C" {
pub fn __gmpz_fdiv_q_ui(
arg1: mpz_ptr,
arg2: mpz_srcptr,
arg3: ::std::os::raw::c_ulong,
) -> ::std::os::raw::c_ulong;
}
extern "C" {
pub fn __gmpz_fdiv_qr(arg1: mpz_ptr, arg2: mpz_ptr, arg3: mpz_srcptr, arg4: mpz_srcptr);
}
extern "C" {
pub fn __gmpz_fdiv_qr_ui(
arg1: mpz_ptr,
arg2: mpz_ptr,
arg3: mpz_srcptr,
arg4: ::std::os::raw::c_ulong,
) -> ::std::os::raw::c_ulong;
}
extern "C" {
pub fn __gmpz_fdiv_r(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr);
}
extern "C" {
pub fn __gmpz_fdiv_r_2exp(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mp_bitcnt_t);
}
extern "C" {
pub fn __gmpz_fdiv_r_ui(
arg1: mpz_ptr,
arg2: mpz_srcptr,
arg3: ::std::os::raw::c_ulong,
) -> ::std::os::raw::c_ulong;
}
extern "C" {
pub fn __gmpz_fdiv_ui(
arg1: mpz_srcptr,
arg2: ::std::os::raw::c_ulong,
) -> ::std::os::raw::c_ulong;
}
extern "C" {
pub fn __gmpz_fib_ui(arg1: mpz_ptr, arg2: ::std::os::raw::c_ulong);
}
extern "C" {
pub fn __gmpz_fib2_ui(arg1: mpz_ptr, arg2: mpz_ptr, arg3: ::std::os::raw::c_ulong);
}
extern "C" {
pub fn __gmpz_fits_sint_p(arg1: mpz_srcptr) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpz_fits_slong_p(arg1: mpz_srcptr) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpz_fits_sshort_p(arg1: mpz_srcptr) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpz_fits_uint_p(arg1: mpz_srcptr) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpz_fits_ulong_p(arg1: mpz_srcptr) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpz_fits_ushort_p(arg1: mpz_srcptr) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpz_gcd(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr);
}
extern "C" {
pub fn __gmpz_gcd_ui(
arg1: mpz_ptr,
arg2: mpz_srcptr,
arg3: ::std::os::raw::c_ulong,
) -> ::std::os::raw::c_ulong;
}
extern "C" {
pub fn __gmpz_gcdext(
arg1: mpz_ptr,
arg2: mpz_ptr,
arg3: mpz_ptr,
arg4: mpz_srcptr,
arg5: mpz_srcptr,
);
}
extern "C" {
pub fn __gmpz_get_d(arg1: mpz_srcptr) -> f64;
}
extern "C" {
pub fn __gmpz_get_d_2exp(arg1: *mut ::std::os::raw::c_long, arg2: mpz_srcptr) -> f64;
}
extern "C" {
pub fn __gmpz_get_si(arg1: mpz_srcptr) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn __gmpz_get_str(
arg1: *mut ::std::os::raw::c_char,
arg2: ::std::os::raw::c_int,
arg3: mpz_srcptr,
) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn __gmpz_get_ui(arg1: mpz_srcptr) -> ::std::os::raw::c_ulong;
}
extern "C" {
pub fn __gmpz_getlimbn(arg1: mpz_srcptr, arg2: mp_size_t) -> mp_limb_t;
}
extern "C" {
pub fn __gmpz_hamdist(arg1: mpz_srcptr, arg2: mpz_srcptr) -> mp_bitcnt_t;
}
extern "C" {
pub fn __gmpz_import(
arg1: mpz_ptr,
arg2: usize,
arg3: ::std::os::raw::c_int,
arg4: usize,
arg5: ::std::os::raw::c_int,
arg6: usize,
arg7: *const ::std::os::raw::c_void,
);
}
extern "C" {
pub fn __gmpz_init(arg1: mpz_ptr);
}
extern "C" {
pub fn __gmpz_init2(arg1: mpz_ptr, arg2: mp_bitcnt_t);
}
extern "C" {
pub fn __gmpz_inits(arg1: mpz_ptr, ...);
}
extern "C" {
pub fn __gmpz_init_set(arg1: mpz_ptr, arg2: mpz_srcptr);
}
extern "C" {
pub fn __gmpz_init_set_d(arg1: mpz_ptr, arg2: f64);
}
extern "C" {
pub fn __gmpz_init_set_si(arg1: mpz_ptr, arg2: ::std::os::raw::c_long);
}
extern "C" {
pub fn __gmpz_init_set_str(
arg1: mpz_ptr,
arg2: *const ::std::os::raw::c_char,
arg3: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpz_init_set_ui(arg1: mpz_ptr, arg2: ::std::os::raw::c_ulong);
}
extern "C" {
pub fn __gmpz_invert(
arg1: mpz_ptr,
arg2: mpz_srcptr,
arg3: mpz_srcptr,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpz_ior(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr);
}
extern "C" {
pub fn __gmpz_jacobi(arg1: mpz_srcptr, arg2: mpz_srcptr) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpz_kronecker_si(
arg1: mpz_srcptr,
arg2: ::std::os::raw::c_long,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpz_kronecker_ui(
arg1: mpz_srcptr,
arg2: ::std::os::raw::c_ulong,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpz_si_kronecker(
arg1: ::std::os::raw::c_long,
arg2: mpz_srcptr,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpz_ui_kronecker(
arg1: ::std::os::raw::c_ulong,
arg2: mpz_srcptr,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpz_lcm(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr);
}
extern "C" {
pub fn __gmpz_lcm_ui(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: ::std::os::raw::c_ulong);
}
extern "C" {
pub fn __gmpz_lucnum_ui(arg1: mpz_ptr, arg2: ::std::os::raw::c_ulong);
}
extern "C" {
pub fn __gmpz_lucnum2_ui(arg1: mpz_ptr, arg2: mpz_ptr, arg3: ::std::os::raw::c_ulong);
}
extern "C" {
pub fn __gmpz_millerrabin(
arg1: mpz_srcptr,
arg2: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpz_mod(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr);
}
extern "C" {
pub fn __gmpz_mul(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr);
}
extern "C" {
pub fn __gmpz_mul_2exp(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mp_bitcnt_t);
}
extern "C" {
pub fn __gmpz_mul_si(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: ::std::os::raw::c_long);
}
extern "C" {
pub fn __gmpz_mul_ui(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: ::std::os::raw::c_ulong);
}
extern "C" {
pub fn __gmpz_neg(arg1: mpz_ptr, arg2: mpz_srcptr);
}
extern "C" {
pub fn __gmpz_nextprime(arg1: mpz_ptr, arg2: mpz_srcptr);
}
extern "C" {
pub fn __gmpz_perfect_power_p(arg1: mpz_srcptr) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpz_perfect_square_p(arg1: mpz_srcptr) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpz_popcount(arg1: mpz_srcptr) -> mp_bitcnt_t;
}
extern "C" {
pub fn __gmpz_pow_ui(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: ::std::os::raw::c_ulong);
}
extern "C" {
pub fn __gmpz_powm(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr, arg4: mpz_srcptr);
}
extern "C" {
pub fn __gmpz_powm_sec(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr, arg4: mpz_srcptr);
}
extern "C" {
pub fn __gmpz_powm_ui(
arg1: mpz_ptr,
arg2: mpz_srcptr,
arg3: ::std::os::raw::c_ulong,
arg4: mpz_srcptr,
);
}
extern "C" {
pub fn __gmpz_probab_prime_p(
arg1: mpz_srcptr,
arg2: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpz_random(arg1: mpz_ptr, arg2: mp_size_t);
}
extern "C" {
pub fn __gmpz_random2(arg1: mpz_ptr, arg2: mp_size_t);
}
extern "C" {
pub fn __gmpz_realloc2(arg1: mpz_ptr, arg2: mp_bitcnt_t);
}
extern "C" {
pub fn __gmpz_remove(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr) -> mp_bitcnt_t;
}
extern "C" {
pub fn __gmpz_root(
arg1: mpz_ptr,
arg2: mpz_srcptr,
arg3: ::std::os::raw::c_ulong,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpz_rootrem(
arg1: mpz_ptr,
arg2: mpz_ptr,
arg3: mpz_srcptr,
arg4: ::std::os::raw::c_ulong,
);
}
extern "C" {
pub fn __gmpz_rrandomb(arg1: mpz_ptr, arg2: *mut __gmp_randstate_struct, arg3: mp_bitcnt_t);
}
extern "C" {
pub fn __gmpz_scan0(arg1: mpz_srcptr, arg2: mp_bitcnt_t) -> mp_bitcnt_t;
}
extern "C" {
pub fn __gmpz_scan1(arg1: mpz_srcptr, arg2: mp_bitcnt_t) -> mp_bitcnt_t;
}
extern "C" {
pub fn __gmpz_set(arg1: mpz_ptr, arg2: mpz_srcptr);
}
extern "C" {
pub fn __gmpz_set_d(arg1: mpz_ptr, arg2: f64);
}
extern "C" {
pub fn __gmpz_set_f(arg1: mpz_ptr, arg2: mpf_srcptr);
}
extern "C" {
pub fn __gmpz_set_q(arg1: mpz_ptr, arg2: mpq_srcptr);
}
extern "C" {
pub fn __gmpz_set_si(arg1: mpz_ptr, arg2: ::std::os::raw::c_long);
}
extern "C" {
pub fn __gmpz_set_str(
arg1: mpz_ptr,
arg2: *const ::std::os::raw::c_char,
arg3: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpz_set_ui(arg1: mpz_ptr, arg2: ::std::os::raw::c_ulong);
}
extern "C" {
pub fn __gmpz_setbit(arg1: mpz_ptr, arg2: mp_bitcnt_t);
}
extern "C" {
pub fn __gmpz_size(arg1: mpz_srcptr) -> usize;
}
extern "C" {
pub fn __gmpz_sizeinbase(arg1: mpz_srcptr, arg2: ::std::os::raw::c_int) -> usize;
}
extern "C" {
pub fn __gmpz_sqrt(arg1: mpz_ptr, arg2: mpz_srcptr);
}
extern "C" {
pub fn __gmpz_sqrtrem(arg1: mpz_ptr, arg2: mpz_ptr, arg3: mpz_srcptr);
}
extern "C" {
pub fn __gmpz_sub(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr);
}
extern "C" {
pub fn __gmpz_sub_ui(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: ::std::os::raw::c_ulong);
}
extern "C" {
pub fn __gmpz_ui_sub(arg1: mpz_ptr, arg2: ::std::os::raw::c_ulong, arg3: mpz_srcptr);
}
extern "C" {
pub fn __gmpz_submul(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr);
}
extern "C" {
pub fn __gmpz_submul_ui(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: ::std::os::raw::c_ulong);
}
extern "C" {
pub fn __gmpz_swap(arg1: mpz_ptr, arg2: mpz_ptr);
}
extern "C" {
pub fn __gmpz_tdiv_ui(
arg1: mpz_srcptr,
arg2: ::std::os::raw::c_ulong,
) -> ::std::os::raw::c_ulong;
}
extern "C" {
pub fn __gmpz_tdiv_q(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr);
}
extern "C" {
pub fn __gmpz_tdiv_q_2exp(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mp_bitcnt_t);
}
extern "C" {
pub fn __gmpz_tdiv_q_ui(
arg1: mpz_ptr,
arg2: mpz_srcptr,
arg3: ::std::os::raw::c_ulong,
) -> ::std::os::raw::c_ulong;
}
extern "C" {
pub fn __gmpz_tdiv_qr(arg1: mpz_ptr, arg2: mpz_ptr, arg3: mpz_srcptr, arg4: mpz_srcptr);
}
extern "C" {
pub fn __gmpz_tdiv_qr_ui(
arg1: mpz_ptr,
arg2: mpz_ptr,
arg3: mpz_srcptr,
arg4: ::std::os::raw::c_ulong,
) -> ::std::os::raw::c_ulong;
}
extern "C" {
pub fn __gmpz_tdiv_r(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr);
}
extern "C" {
pub fn __gmpz_tdiv_r_2exp(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mp_bitcnt_t);
}
extern "C" {
pub fn __gmpz_tdiv_r_ui(
arg1: mpz_ptr,
arg2: mpz_srcptr,
arg3: ::std::os::raw::c_ulong,
) -> ::std::os::raw::c_ulong;
}
extern "C" {
pub fn __gmpz_tstbit(arg1: mpz_srcptr, arg2: mp_bitcnt_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpz_ui_pow_ui(
arg1: mpz_ptr,
arg2: ::std::os::raw::c_ulong,
arg3: ::std::os::raw::c_ulong,
);
}
extern "C" {
pub fn __gmpz_urandomb(arg1: mpz_ptr, arg2: *mut __gmp_randstate_struct, arg3: mp_bitcnt_t);
}
extern "C" {
pub fn __gmpz_urandomm(arg1: mpz_ptr, arg2: *mut __gmp_randstate_struct, arg3: mpz_srcptr);
}
extern "C" {
pub fn __gmpz_xor(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr);
}
extern "C" {
pub fn __gmpz_limbs_read(arg1: mpz_srcptr) -> mp_srcptr;
}
extern "C" {
pub fn __gmpz_limbs_write(arg1: mpz_ptr, arg2: mp_size_t) -> mp_ptr;
}
extern "C" {
pub fn __gmpz_limbs_modify(arg1: mpz_ptr, arg2: mp_size_t) -> mp_ptr;
}
extern "C" {
pub fn __gmpz_limbs_finish(arg1: mpz_ptr, arg2: mp_size_t);
}
extern "C" {
pub fn __gmpz_roinit_n(arg1: mpz_ptr, arg2: mp_srcptr, arg3: mp_size_t) -> mpz_srcptr;
}
extern "C" {
pub fn __gmpq_abs(arg1: mpq_ptr, arg2: mpq_srcptr);
}
extern "C" {
pub fn __gmpq_add(arg1: mpq_ptr, arg2: mpq_srcptr, arg3: mpq_srcptr);
}
extern "C" {
pub fn __gmpq_canonicalize(arg1: mpq_ptr);
}
extern "C" {
pub fn __gmpq_clear(arg1: mpq_ptr);
}
extern "C" {
pub fn __gmpq_clears(arg1: mpq_ptr, ...);
}
extern "C" {
pub fn __gmpq_cmp(arg1: mpq_srcptr, arg2: mpq_srcptr) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpq_cmp_si(
arg1: mpq_srcptr,
arg2: ::std::os::raw::c_long,
arg3: ::std::os::raw::c_ulong,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpq_cmp_ui(
arg1: mpq_srcptr,
arg2: ::std::os::raw::c_ulong,
arg3: ::std::os::raw::c_ulong,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpq_cmp_z(arg1: mpq_srcptr, arg2: mpz_srcptr) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpq_div(arg1: mpq_ptr, arg2: mpq_srcptr, arg3: mpq_srcptr);
}
extern "C" {
pub fn __gmpq_div_2exp(arg1: mpq_ptr, arg2: mpq_srcptr, arg3: mp_bitcnt_t);
}
extern "C" {
pub fn __gmpq_equal(arg1: mpq_srcptr, arg2: mpq_srcptr) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpq_get_num(arg1: mpz_ptr, arg2: mpq_srcptr);
}
extern "C" {
pub fn __gmpq_get_den(arg1: mpz_ptr, arg2: mpq_srcptr);
}
extern "C" {
pub fn __gmpq_get_d(arg1: mpq_srcptr) -> f64;
}
extern "C" {
pub fn __gmpq_get_str(
arg1: *mut ::std::os::raw::c_char,
arg2: ::std::os::raw::c_int,
arg3: mpq_srcptr,
) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn __gmpq_init(arg1: mpq_ptr);
}
extern "C" {
pub fn __gmpq_inits(arg1: mpq_ptr, ...);
}
extern "C" {
pub fn __gmpq_inv(arg1: mpq_ptr, arg2: mpq_srcptr);
}
extern "C" {
pub fn __gmpq_mul(arg1: mpq_ptr, arg2: mpq_srcptr, arg3: mpq_srcptr);
}
extern "C" {
pub fn __gmpq_mul_2exp(arg1: mpq_ptr, arg2: mpq_srcptr, arg3: mp_bitcnt_t);
}
extern "C" {
pub fn __gmpq_neg(arg1: mpq_ptr, arg2: mpq_srcptr);
}
extern "C" {
pub fn __gmpq_set(arg1: mpq_ptr, arg2: mpq_srcptr);
}
extern "C" {
pub fn __gmpq_set_d(arg1: mpq_ptr, arg2: f64);
}
extern "C" {
pub fn __gmpq_set_den(arg1: mpq_ptr, arg2: mpz_srcptr);
}
extern "C" {
pub fn __gmpq_set_f(arg1: mpq_ptr, arg2: mpf_srcptr);
}
extern "C" {
pub fn __gmpq_set_num(arg1: mpq_ptr, arg2: mpz_srcptr);
}
extern "C" {
pub fn __gmpq_set_si(
arg1: mpq_ptr,
arg2: ::std::os::raw::c_long,
arg3: ::std::os::raw::c_ulong,
);
}
extern "C" {
pub fn __gmpq_set_str(
arg1: mpq_ptr,
arg2: *const ::std::os::raw::c_char,
arg3: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpq_set_ui(
arg1: mpq_ptr,
arg2: ::std::os::raw::c_ulong,
arg3: ::std::os::raw::c_ulong,
);
}
extern "C" {
pub fn __gmpq_set_z(arg1: mpq_ptr, arg2: mpz_srcptr);
}
extern "C" {
pub fn __gmpq_sub(arg1: mpq_ptr, arg2: mpq_srcptr, arg3: mpq_srcptr);
}
extern "C" {
pub fn __gmpq_swap(arg1: mpq_ptr, arg2: mpq_ptr);
}
extern "C" {
pub fn __gmpf_abs(arg1: mpf_ptr, arg2: mpf_srcptr);
}
extern "C" {
pub fn __gmpf_add(arg1: mpf_ptr, arg2: mpf_srcptr, arg3: mpf_srcptr);
}
extern "C" {
pub fn __gmpf_add_ui(arg1: mpf_ptr, arg2: mpf_srcptr, arg3: ::std::os::raw::c_ulong);
}
extern "C" {
pub fn __gmpf_ceil(arg1: mpf_ptr, arg2: mpf_srcptr);
}
extern "C" {
pub fn __gmpf_clear(arg1: mpf_ptr);
}
extern "C" {
pub fn __gmpf_clears(arg1: mpf_ptr, ...);
}
extern "C" {
pub fn __gmpf_cmp(arg1: mpf_srcptr, arg2: mpf_srcptr) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpf_cmp_z(arg1: mpf_srcptr, arg2: mpz_srcptr) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpf_cmp_d(arg1: mpf_srcptr, arg2: f64) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpf_cmp_si(arg1: mpf_srcptr, arg2: ::std::os::raw::c_long) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpf_cmp_ui(arg1: mpf_srcptr, arg2: ::std::os::raw::c_ulong) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpf_div(arg1: mpf_ptr, arg2: mpf_srcptr, arg3: mpf_srcptr);
}
extern "C" {
pub fn __gmpf_div_2exp(arg1: mpf_ptr, arg2: mpf_srcptr, arg3: mp_bitcnt_t);
}
extern "C" {
pub fn __gmpf_div_ui(arg1: mpf_ptr, arg2: mpf_srcptr, arg3: ::std::os::raw::c_ulong);
}
extern "C" {
pub fn __gmpf_dump(arg1: mpf_srcptr);
}
extern "C" {
pub fn __gmpf_eq(
arg1: mpf_srcptr,
arg2: mpf_srcptr,
arg3: mp_bitcnt_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpf_fits_sint_p(arg1: mpf_srcptr) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpf_fits_slong_p(arg1: mpf_srcptr) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpf_fits_sshort_p(arg1: mpf_srcptr) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpf_fits_uint_p(arg1: mpf_srcptr) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpf_fits_ulong_p(arg1: mpf_srcptr) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpf_fits_ushort_p(arg1: mpf_srcptr) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpf_floor(arg1: mpf_ptr, arg2: mpf_srcptr);
}
extern "C" {
pub fn __gmpf_get_d(arg1: mpf_srcptr) -> f64;
}
extern "C" {
pub fn __gmpf_get_d_2exp(arg1: *mut ::std::os::raw::c_long, arg2: mpf_srcptr) -> f64;
}
extern "C" {
pub fn __gmpf_get_default_prec() -> mp_bitcnt_t;
}
extern "C" {
pub fn __gmpf_get_prec(arg1: mpf_srcptr) -> mp_bitcnt_t;
}
extern "C" {
pub fn __gmpf_get_si(arg1: mpf_srcptr) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn __gmpf_get_str(
arg1: *mut ::std::os::raw::c_char,
arg2: *mut mp_exp_t,
arg3: ::std::os::raw::c_int,
arg4: usize,
arg5: mpf_srcptr,
) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn __gmpf_get_ui(arg1: mpf_srcptr) -> ::std::os::raw::c_ulong;
}
extern "C" {
pub fn __gmpf_init(arg1: mpf_ptr);
}
extern "C" {
pub fn __gmpf_init2(arg1: mpf_ptr, arg2: mp_bitcnt_t);
}
extern "C" {
pub fn __gmpf_inits(arg1: mpf_ptr, ...);
}
extern "C" {
pub fn __gmpf_init_set(arg1: mpf_ptr, arg2: mpf_srcptr);
}
extern "C" {
pub fn __gmpf_init_set_d(arg1: mpf_ptr, arg2: f64);
}
extern "C" {
pub fn __gmpf_init_set_si(arg1: mpf_ptr, arg2: ::std::os::raw::c_long);
}
extern "C" {
pub fn __gmpf_init_set_str(
arg1: mpf_ptr,
arg2: *const ::std::os::raw::c_char,
arg3: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpf_init_set_ui(arg1: mpf_ptr, arg2: ::std::os::raw::c_ulong);
}
extern "C" {
pub fn __gmpf_integer_p(arg1: mpf_srcptr) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpf_mul(arg1: mpf_ptr, arg2: mpf_srcptr, arg3: mpf_srcptr);
}
extern "C" {
pub fn __gmpf_mul_2exp(arg1: mpf_ptr, arg2: mpf_srcptr, arg3: mp_bitcnt_t);
}
extern "C" {
pub fn __gmpf_mul_ui(arg1: mpf_ptr, arg2: mpf_srcptr, arg3: ::std::os::raw::c_ulong);
}
extern "C" {
pub fn __gmpf_neg(arg1: mpf_ptr, arg2: mpf_srcptr);
}
extern "C" {
pub fn __gmpf_pow_ui(arg1: mpf_ptr, arg2: mpf_srcptr, arg3: ::std::os::raw::c_ulong);
}
extern "C" {
pub fn __gmpf_random2(arg1: mpf_ptr, arg2: mp_size_t, arg3: mp_exp_t);
}
extern "C" {
pub fn __gmpf_reldiff(arg1: mpf_ptr, arg2: mpf_srcptr, arg3: mpf_srcptr);
}
extern "C" {
pub fn __gmpf_set(arg1: mpf_ptr, arg2: mpf_srcptr);
}
extern "C" {
pub fn __gmpf_set_d(arg1: mpf_ptr, arg2: f64);
}
extern "C" {
pub fn __gmpf_set_default_prec(arg1: mp_bitcnt_t);
}
extern "C" {
pub fn __gmpf_set_prec(arg1: mpf_ptr, arg2: mp_bitcnt_t);
}
extern "C" {
pub fn __gmpf_set_prec_raw(arg1: mpf_ptr, arg2: mp_bitcnt_t);
}
extern "C" {
pub fn __gmpf_set_q(arg1: mpf_ptr, arg2: mpq_srcptr);
}
extern "C" {
pub fn __gmpf_set_si(arg1: mpf_ptr, arg2: ::std::os::raw::c_long);
}
extern "C" {
pub fn __gmpf_set_str(
arg1: mpf_ptr,
arg2: *const ::std::os::raw::c_char,
arg3: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpf_set_ui(arg1: mpf_ptr, arg2: ::std::os::raw::c_ulong);
}
extern "C" {
pub fn __gmpf_set_z(arg1: mpf_ptr, arg2: mpz_srcptr);
}
extern "C" {
pub fn __gmpf_size(arg1: mpf_srcptr) -> usize;
}
extern "C" {
pub fn __gmpf_sqrt(arg1: mpf_ptr, arg2: mpf_srcptr);
}
extern "C" {
pub fn __gmpf_sqrt_ui(arg1: mpf_ptr, arg2: ::std::os::raw::c_ulong);
}
extern "C" {
pub fn __gmpf_sub(arg1: mpf_ptr, arg2: mpf_srcptr, arg3: mpf_srcptr);
}
extern "C" {
pub fn __gmpf_sub_ui(arg1: mpf_ptr, arg2: mpf_srcptr, arg3: ::std::os::raw::c_ulong);
}
extern "C" {
pub fn __gmpf_swap(arg1: mpf_ptr, arg2: mpf_ptr);
}
extern "C" {
pub fn __gmpf_trunc(arg1: mpf_ptr, arg2: mpf_srcptr);
}
extern "C" {
pub fn __gmpf_ui_div(arg1: mpf_ptr, arg2: ::std::os::raw::c_ulong, arg3: mpf_srcptr);
}
extern "C" {
pub fn __gmpf_ui_sub(arg1: mpf_ptr, arg2: ::std::os::raw::c_ulong, arg3: mpf_srcptr);
}
extern "C" {
pub fn __gmpf_urandomb(
arg1: *mut __mpf_struct,
arg2: *mut __gmp_randstate_struct,
arg3: mp_bitcnt_t,
);
}
extern "C" {
pub fn __gmpn_add(
arg1: mp_ptr,
arg2: mp_srcptr,
arg3: mp_size_t,
arg4: mp_srcptr,
arg5: mp_size_t,
) -> mp_limb_t;
}
extern "C" {
pub fn __gmpn_add_1(
arg1: mp_ptr,
arg2: mp_srcptr,
arg3: mp_size_t,
arg4: mp_limb_t,
) -> mp_limb_t;
}
extern "C" {
pub fn __gmpn_add_n(
arg1: mp_ptr,
arg2: mp_srcptr,
arg3: mp_srcptr,
arg4: mp_size_t,
) -> mp_limb_t;
}
extern "C" {
pub fn __gmpn_addmul_1(
arg1: mp_ptr,
arg2: mp_srcptr,
arg3: mp_size_t,
arg4: mp_limb_t,
) -> mp_limb_t;
}
extern "C" {
pub fn __gmpn_cmp(arg1: mp_srcptr, arg2: mp_srcptr, arg3: mp_size_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpn_zero_p(arg1: mp_srcptr, arg2: mp_size_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpn_divexact_1(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_size_t, arg4: mp_limb_t);
}
extern "C" {
pub fn __gmpn_divexact_by3c(
arg1: mp_ptr,
arg2: mp_srcptr,
arg3: mp_size_t,
arg4: mp_limb_t,
) -> mp_limb_t;
}
extern "C" {
pub fn __gmpn_divrem(
arg1: mp_ptr,
arg2: mp_size_t,
arg3: mp_ptr,
arg4: mp_size_t,
arg5: mp_srcptr,
arg6: mp_size_t,
) -> mp_limb_t;
}
extern "C" {
pub fn __gmpn_divrem_1(
arg1: mp_ptr,
arg2: mp_size_t,
arg3: mp_srcptr,
arg4: mp_size_t,
arg5: mp_limb_t,
) -> mp_limb_t;
}
extern "C" {
pub fn __gmpn_divrem_2(
arg1: mp_ptr,
arg2: mp_size_t,
arg3: mp_ptr,
arg4: mp_size_t,
arg5: mp_srcptr,
) -> mp_limb_t;
}
extern "C" {
pub fn __gmpn_div_qr_1(
arg1: mp_ptr,
arg2: *mut mp_limb_t,
arg3: mp_srcptr,
arg4: mp_size_t,
arg5: mp_limb_t,
) -> mp_limb_t;
}
extern "C" {
pub fn __gmpn_div_qr_2(
arg1: mp_ptr,
arg2: mp_ptr,
arg3: mp_srcptr,
arg4: mp_size_t,
arg5: mp_srcptr,
) -> mp_limb_t;
}
extern "C" {
pub fn __gmpn_gcd(
arg1: mp_ptr,
arg2: mp_ptr,
arg3: mp_size_t,
arg4: mp_ptr,
arg5: mp_size_t,
) -> mp_size_t;
}
extern "C" {
pub fn __gmpn_gcd_11(arg1: mp_limb_t, arg2: mp_limb_t) -> mp_limb_t;
}
extern "C" {
pub fn __gmpn_gcd_1(arg1: mp_srcptr, arg2: mp_size_t, arg3: mp_limb_t) -> mp_limb_t;
}
extern "C" {
pub fn __gmpn_gcdext_1(
arg1: *mut mp_limb_signed_t,
arg2: *mut mp_limb_signed_t,
arg3: mp_limb_t,
arg4: mp_limb_t,
) -> mp_limb_t;
}
extern "C" {
pub fn __gmpn_gcdext(
arg1: mp_ptr,
arg2: mp_ptr,
arg3: *mut mp_size_t,
arg4: mp_ptr,
arg5: mp_size_t,
arg6: mp_ptr,
arg7: mp_size_t,
) -> mp_size_t;
}
extern "C" {
pub fn __gmpn_get_str(
arg1: *mut ::std::os::raw::c_uchar,
arg2: ::std::os::raw::c_int,
arg3: mp_ptr,
arg4: mp_size_t,
) -> usize;
}
extern "C" {
pub fn __gmpn_hamdist(arg1: mp_srcptr, arg2: mp_srcptr, arg3: mp_size_t) -> mp_bitcnt_t;
}
extern "C" {
pub fn __gmpn_lshift(
arg1: mp_ptr,
arg2: mp_srcptr,
arg3: mp_size_t,
arg4: ::std::os::raw::c_uint,
) -> mp_limb_t;
}
extern "C" {
pub fn __gmpn_mod_1(arg1: mp_srcptr, arg2: mp_size_t, arg3: mp_limb_t) -> mp_limb_t;
}
extern "C" {
pub fn __gmpn_mul(
arg1: mp_ptr,
arg2: mp_srcptr,
arg3: mp_size_t,
arg4: mp_srcptr,
arg5: mp_size_t,
) -> mp_limb_t;
}
extern "C" {
pub fn __gmpn_mul_1(
arg1: mp_ptr,
arg2: mp_srcptr,
arg3: mp_size_t,
arg4: mp_limb_t,
) -> mp_limb_t;
}
extern "C" {
pub fn __gmpn_mul_n(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_srcptr, arg4: mp_size_t);
}
extern "C" {
pub fn __gmpn_sqr(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_size_t);
}
extern "C" {
pub fn __gmpn_neg(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_size_t) -> mp_limb_t;
}
extern "C" {
pub fn __gmpn_com(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_size_t);
}
extern "C" {
pub fn __gmpn_perfect_square_p(arg1: mp_srcptr, arg2: mp_size_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpn_perfect_power_p(arg1: mp_srcptr, arg2: mp_size_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpn_popcount(arg1: mp_srcptr, arg2: mp_size_t) -> mp_bitcnt_t;
}
extern "C" {
pub fn __gmpn_pow_1(
arg1: mp_ptr,
arg2: mp_srcptr,
arg3: mp_size_t,
arg4: mp_limb_t,
arg5: mp_ptr,
) -> mp_size_t;
}
extern "C" {
pub fn __gmpn_preinv_mod_1(
arg1: mp_srcptr,
arg2: mp_size_t,
arg3: mp_limb_t,
arg4: mp_limb_t,
) -> mp_limb_t;
}
extern "C" {
pub fn __gmpn_random(arg1: mp_ptr, arg2: mp_size_t);
}
extern "C" {
pub fn __gmpn_random2(arg1: mp_ptr, arg2: mp_size_t);
}
extern "C" {
pub fn __gmpn_rshift(
arg1: mp_ptr,
arg2: mp_srcptr,
arg3: mp_size_t,
arg4: ::std::os::raw::c_uint,
) -> mp_limb_t;
}
extern "C" {
pub fn __gmpn_scan0(arg1: mp_srcptr, arg2: mp_bitcnt_t) -> mp_bitcnt_t;
}
extern "C" {
pub fn __gmpn_scan1(arg1: mp_srcptr, arg2: mp_bitcnt_t) -> mp_bitcnt_t;
}
extern "C" {
pub fn __gmpn_set_str(
arg1: mp_ptr,
arg2: *const ::std::os::raw::c_uchar,
arg3: usize,
arg4: ::std::os::raw::c_int,
) -> mp_size_t;
}
extern "C" {
pub fn __gmpn_sizeinbase(
arg1: mp_srcptr,
arg2: mp_size_t,
arg3: ::std::os::raw::c_int,
) -> usize;
}
extern "C" {
pub fn __gmpn_sqrtrem(
arg1: mp_ptr,
arg2: mp_ptr,
arg3: mp_srcptr,
arg4: mp_size_t,
) -> mp_size_t;
}
extern "C" {
pub fn __gmpn_sub(
arg1: mp_ptr,
arg2: mp_srcptr,
arg3: mp_size_t,
arg4: mp_srcptr,
arg5: mp_size_t,
) -> mp_limb_t;
}
extern "C" {
pub fn __gmpn_sub_1(
arg1: mp_ptr,
arg2: mp_srcptr,
arg3: mp_size_t,
arg4: mp_limb_t,
) -> mp_limb_t;
}
extern "C" {
pub fn __gmpn_sub_n(
arg1: mp_ptr,
arg2: mp_srcptr,
arg3: mp_srcptr,
arg4: mp_size_t,
) -> mp_limb_t;
}
extern "C" {
pub fn __gmpn_submul_1(
arg1: mp_ptr,
arg2: mp_srcptr,
arg3: mp_size_t,
arg4: mp_limb_t,
) -> mp_limb_t;
}
extern "C" {
pub fn __gmpn_tdiv_qr(
arg1: mp_ptr,
arg2: mp_ptr,
arg3: mp_size_t,
arg4: mp_srcptr,
arg5: mp_size_t,
arg6: mp_srcptr,
arg7: mp_size_t,
);
}
extern "C" {
pub fn __gmpn_and_n(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_srcptr, arg4: mp_size_t);
}
extern "C" {
pub fn __gmpn_andn_n(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_srcptr, arg4: mp_size_t);
}
extern "C" {
pub fn __gmpn_nand_n(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_srcptr, arg4: mp_size_t);
}
extern "C" {
pub fn __gmpn_ior_n(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_srcptr, arg4: mp_size_t);
}
extern "C" {
pub fn __gmpn_iorn_n(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_srcptr, arg4: mp_size_t);
}
extern "C" {
pub fn __gmpn_nior_n(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_srcptr, arg4: mp_size_t);
}
extern "C" {
pub fn __gmpn_xor_n(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_srcptr, arg4: mp_size_t);
}
extern "C" {
pub fn __gmpn_xnor_n(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_srcptr, arg4: mp_size_t);
}
extern "C" {
pub fn __gmpn_copyi(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_size_t);
}
extern "C" {
pub fn __gmpn_copyd(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_size_t);
}
extern "C" {
pub fn __gmpn_zero(arg1: mp_ptr, arg2: mp_size_t);
}
extern "C" {
pub fn __gmpn_cnd_add_n(
arg1: mp_limb_t,
arg2: mp_ptr,
arg3: mp_srcptr,
arg4: mp_srcptr,
arg5: mp_size_t,
) -> mp_limb_t;
}
extern "C" {
pub fn __gmpn_cnd_sub_n(
arg1: mp_limb_t,
arg2: mp_ptr,
arg3: mp_srcptr,
arg4: mp_srcptr,
arg5: mp_size_t,
) -> mp_limb_t;
}
extern "C" {
pub fn __gmpn_sec_add_1(
arg1: mp_ptr,
arg2: mp_srcptr,
arg3: mp_size_t,
arg4: mp_limb_t,
arg5: mp_ptr,
) -> mp_limb_t;
}
extern "C" {
pub fn __gmpn_sec_add_1_itch(arg1: mp_size_t) -> mp_size_t;
}
extern "C" {
pub fn __gmpn_sec_sub_1(
arg1: mp_ptr,
arg2: mp_srcptr,
arg3: mp_size_t,
arg4: mp_limb_t,
arg5: mp_ptr,
) -> mp_limb_t;
}
extern "C" {
pub fn __gmpn_sec_sub_1_itch(arg1: mp_size_t) -> mp_size_t;
}
extern "C" {
pub fn __gmpn_cnd_swap(
arg1: mp_limb_t,
arg2: *mut mp_limb_t,
arg3: *mut mp_limb_t,
arg4: mp_size_t,
);
}
extern "C" {
pub fn __gmpn_sec_mul(
arg1: mp_ptr,
arg2: mp_srcptr,
arg3: mp_size_t,
arg4: mp_srcptr,
arg5: mp_size_t,
arg6: mp_ptr,
);
}
extern "C" {
pub fn __gmpn_sec_mul_itch(arg1: mp_size_t, arg2: mp_size_t) -> mp_size_t;
}
extern "C" {
pub fn __gmpn_sec_sqr(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_size_t, arg4: mp_ptr);
}
extern "C" {
pub fn __gmpn_sec_sqr_itch(arg1: mp_size_t) -> mp_size_t;
}
extern "C" {
pub fn __gmpn_sec_powm(
arg1: mp_ptr,
arg2: mp_srcptr,
arg3: mp_size_t,
arg4: mp_srcptr,
arg5: mp_bitcnt_t,
arg6: mp_srcptr,
arg7: mp_size_t,
arg8: mp_ptr,
);
}
extern "C" {
pub fn __gmpn_sec_powm_itch(arg1: mp_size_t, arg2: mp_bitcnt_t, arg3: mp_size_t) -> mp_size_t;
}
extern "C" {
pub fn __gmpn_sec_tabselect(
arg1: *mut mp_limb_t,
arg2: *const mp_limb_t,
arg3: mp_size_t,
arg4: mp_size_t,
arg5: mp_size_t,
);
}
extern "C" {
pub fn __gmpn_sec_div_qr(
arg1: mp_ptr,
arg2: mp_ptr,
arg3: mp_size_t,
arg4: mp_srcptr,
arg5: mp_size_t,
arg6: mp_ptr,
) -> mp_limb_t;
}
extern "C" {
pub fn __gmpn_sec_div_qr_itch(arg1: mp_size_t, arg2: mp_size_t) -> mp_size_t;
}
extern "C" {
pub fn __gmpn_sec_div_r(
arg1: mp_ptr,
arg2: mp_size_t,
arg3: mp_srcptr,
arg4: mp_size_t,
arg5: mp_ptr,
);
}
extern "C" {
pub fn __gmpn_sec_div_r_itch(arg1: mp_size_t, arg2: mp_size_t) -> mp_size_t;
}
extern "C" {
pub fn __gmpn_sec_invert(
arg1: mp_ptr,
arg2: mp_ptr,
arg3: mp_srcptr,
arg4: mp_size_t,
arg5: mp_bitcnt_t,
arg6: mp_ptr,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __gmpn_sec_invert_itch(arg1: mp_size_t) -> mp_size_t;
}
pub const GMP_ERROR_NONE: _bindgen_ty_1 = 0;
pub const GMP_ERROR_UNSUPPORTED_ARGUMENT: _bindgen_ty_1 = 1;
pub const GMP_ERROR_DIVISION_BY_ZERO: _bindgen_ty_1 = 2;
pub const GMP_ERROR_SQRT_OF_NEGATIVE: _bindgen_ty_1 = 4;
pub const GMP_ERROR_INVALID_ARGUMENT: _bindgen_ty_1 = 8;
pub type _bindgen_ty_1 = u32;
pub type __u_char = ::std::os::raw::c_uchar;
pub type __u_short = ::std::os::raw::c_ushort;
pub type __u_int = ::std::os::raw::c_uint;
pub type __u_long = ::std::os::raw::c_ulong;
pub type __int8_t = ::std::os::raw::c_schar;
pub type __uint8_t = ::std::os::raw::c_uchar;
pub type __int16_t = ::std::os::raw::c_short;
pub type __uint16_t = ::std::os::raw::c_ushort;
pub type __int32_t = ::std::os::raw::c_int;
pub type __uint32_t = ::std::os::raw::c_uint;
pub type __int64_t = ::std::os::raw::c_long;
pub type __uint64_t = ::std::os::raw::c_ulong;
pub type __int_least8_t = __int8_t;
pub type __uint_least8_t = __uint8_t;
pub type __int_least16_t = __int16_t;
pub type __uint_least16_t = __uint16_t;
pub type __int_least32_t = __int32_t;
pub type __uint_least32_t = __uint32_t;
pub type __int_least64_t = __int64_t;
pub type __uint_least64_t = __uint64_t;
pub type __quad_t = ::std::os::raw::c_long;
pub type __u_quad_t = ::std::os::raw::c_ulong;
pub type __intmax_t = ::std::os::raw::c_long;
pub type __uintmax_t = ::std::os::raw::c_ulong;
pub type __dev_t = ::std::os::raw::c_ulong;
pub type __uid_t = ::std::os::raw::c_uint;
pub type __gid_t = ::std::os::raw::c_uint;
pub type __ino_t = ::std::os::raw::c_ulong;
pub type __ino64_t = ::std::os::raw::c_ulong;
pub type __mode_t = ::std::os::raw::c_uint;
pub type __nlink_t = ::std::os::raw::c_ulong;
pub type __off_t = ::std::os::raw::c_long;
pub type __off64_t = ::std::os::raw::c_long;
pub type __pid_t = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __fsid_t {
pub __val: [::std::os::raw::c_int; 2usize],
}
#[test]
fn bindgen_test_layout___fsid_t() {
assert_eq!(
::std::mem::size_of::<__fsid_t>(),
8usize,
concat!("Size of: ", stringify!(__fsid_t))
);
assert_eq!(
::std::mem::align_of::<__fsid_t>(),
4usize,
concat!("Alignment of ", stringify!(__fsid_t))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__fsid_t>())).__val as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__fsid_t),
"::",
stringify!(__val)
)
);
}
pub type __clock_t = ::std::os::raw::c_long;
pub type __rlim_t = ::std::os::raw::c_ulong;
pub type __rlim64_t = ::std::os::raw::c_ulong;
pub type __id_t = ::std::os::raw::c_uint;
pub type __time_t = ::std::os::raw::c_long;
pub type __useconds_t = ::std::os::raw::c_uint;
pub type __suseconds_t = ::std::os::raw::c_long;
pub type __daddr_t = ::std::os::raw::c_int;
pub type __key_t = ::std::os::raw::c_int;
pub type __clockid_t = ::std::os::raw::c_int;
pub type __timer_t = *mut ::std::os::raw::c_void;
pub type __blksize_t = ::std::os::raw::c_long;
pub type __blkcnt_t = ::std::os::raw::c_long;
pub type __blkcnt64_t = ::std::os::raw::c_long;
pub type __fsblkcnt_t = ::std::os::raw::c_ulong;
pub type __fsblkcnt64_t = ::std::os::raw::c_ulong;
pub type __fsfilcnt_t = ::std::os::raw::c_ulong;
pub type __fsfilcnt64_t = ::std::os::raw::c_ulong;
pub type __fsword_t = ::std::os::raw::c_long;
pub type __ssize_t = ::std::os::raw::c_long;
pub type __syscall_slong_t = ::std::os::raw::c_long;
pub type __syscall_ulong_t = ::std::os::raw::c_ulong;
pub type __loff_t = __off64_t;
pub type __caddr_t = *mut ::std::os::raw::c_char;
pub type __intptr_t = ::std::os::raw::c_long;
pub type __socklen_t = ::std::os::raw::c_uint;
pub type __sig_atomic_t = ::std::os::raw::c_int;
pub type u_char = __u_char;
pub type u_short = __u_short;
pub type u_int = __u_int;
pub type u_long = __u_long;
pub type quad_t = __quad_t;
pub type u_quad_t = __u_quad_t;
pub type fsid_t = __fsid_t;
pub type loff_t = __loff_t;
pub type ino_t = __ino_t;
pub type dev_t = __dev_t;
pub type gid_t = __gid_t;
pub type mode_t = __mode_t;
pub type nlink_t = __nlink_t;
pub type uid_t = __uid_t;
pub type off_t = __off_t;
pub type pid_t = __pid_t;
pub type id_t = __id_t;
pub type daddr_t = __daddr_t;
pub type caddr_t = __caddr_t;
pub type key_t = __key_t;
pub type clock_t = __clock_t;
pub type clockid_t = __clockid_t;
pub type time_t = __time_t;
pub type timer_t = __timer_t;
pub type ulongxx = ::std::os::raw::c_ulong;
pub type ushort = ::std::os::raw::c_ushort;
pub type uint = ::std::os::raw::c_uint;
pub type u_int8_t = __uint8_t;
pub type u_int16_t = __uint16_t;
pub type u_int32_t = __uint32_t;
pub type u_int64_t = __uint64_t;
pub type register_t = ::std::os::raw::c_long;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __sigset_t {
pub __val: [::std::os::raw::c_ulong; 16usize],
}
#[test]
fn bindgen_test_layout___sigset_t() {
assert_eq!(
::std::mem::size_of::<__sigset_t>(),
128usize,
concat!("Size of: ", stringify!(__sigset_t))
);
assert_eq!(
::std::mem::align_of::<__sigset_t>(),
8usize,
concat!("Alignment of ", stringify!(__sigset_t))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__sigset_t>())).__val as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__sigset_t),
"::",
stringify!(__val)
)
);
}
pub type sigset_t = __sigset_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct timeval {
pub tv_sec: __time_t,
pub tv_usec: __suseconds_t,
}
#[test]
fn bindgen_test_layout_timeval() {
assert_eq!(
::std::mem::size_of::<timeval>(),
16usize,
concat!("Size of: ", stringify!(timeval))
);
assert_eq!(
::std::mem::align_of::<timeval>(),
8usize,
concat!("Alignment of ", stringify!(timeval))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<timeval>())).tv_sec as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(timeval),
"::",
stringify!(tv_sec)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<timeval>())).tv_usec as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(timeval),
"::",
stringify!(tv_usec)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct timespec {
pub tv_sec: __time_t,
pub tv_nsec: __syscall_slong_t,
}
#[test]
fn bindgen_test_layout_timespec() {
assert_eq!(
::std::mem::size_of::<timespec>(),
16usize,
concat!("Size of: ", stringify!(timespec))
);
assert_eq!(
::std::mem::align_of::<timespec>(),
8usize,
concat!("Alignment of ", stringify!(timespec))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<timespec>())).tv_sec as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(timespec),
"::",
stringify!(tv_sec)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<timespec>())).tv_nsec as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(timespec),
"::",
stringify!(tv_nsec)
)
);
}
pub type suseconds_t = __suseconds_t;
pub type __fd_mask = ::std::os::raw::c_long;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct fd_set {
pub __fds_bits: [__fd_mask; 16usize],
}
#[test]
fn bindgen_test_layout_fd_set() {
assert_eq!(
::std::mem::size_of::<fd_set>(),
128usize,
concat!("Size of: ", stringify!(fd_set))
);
assert_eq!(
::std::mem::align_of::<fd_set>(),
8usize,
concat!("Alignment of ", stringify!(fd_set))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fd_set>())).__fds_bits as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(fd_set),
"::",
stringify!(__fds_bits)
)
);
}
pub type fd_mask = __fd_mask;
extern "C" {
pub fn select(
__nfds: ::std::os::raw::c_int,
__readfds: *mut fd_set,
__writefds: *mut fd_set,
__exceptfds: *mut fd_set,
__timeout: *mut timeval,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pselect(
__nfds: ::std::os::raw::c_int,
__readfds: *mut fd_set,
__writefds: *mut fd_set,
__exceptfds: *mut fd_set,
__timeout: *const timespec,
__sigmask: *const __sigset_t,
) -> ::std::os::raw::c_int;
}
pub type blksize_t = __blksize_t;
pub type blkcnt_t = __blkcnt_t;
pub type fsblkcnt_t = __fsblkcnt_t;
pub type fsfilcnt_t = __fsfilcnt_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __pthread_rwlock_arch_t {
pub __readers: ::std::os::raw::c_uint,
pub __writers: ::std::os::raw::c_uint,
pub __wrphase_futex: ::std::os::raw::c_uint,
pub __writers_futex: ::std::os::raw::c_uint,
pub __pad3: ::std::os::raw::c_uint,
pub __pad4: ::std::os::raw::c_uint,
pub __cur_writer: ::std::os::raw::c_int,
pub __shared: ::std::os::raw::c_int,
pub __rwelision: ::std::os::raw::c_schar,
pub __pad1: [::std::os::raw::c_uchar; 7usize],
pub __pad2: ::std::os::raw::c_ulong,
pub __flags: ::std::os::raw::c_uint,
}
#[test]
fn bindgen_test_layout___pthread_rwlock_arch_t() {
assert_eq!(
::std::mem::size_of::<__pthread_rwlock_arch_t>(),
56usize,
concat!("Size of: ", stringify!(__pthread_rwlock_arch_t))
);
assert_eq!(
::std::mem::align_of::<__pthread_rwlock_arch_t>(),
8usize,
concat!("Alignment of ", stringify!(__pthread_rwlock_arch_t))
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__readers as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(__pthread_rwlock_arch_t),
"::",
stringify!(__readers)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__writers as *const _ as usize
},
4usize,
concat!(
"Offset of field: ",
stringify!(__pthread_rwlock_arch_t),
"::",
stringify!(__writers)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__wrphase_futex as *const _ as usize
},
8usize,
concat!(
"Offset of field: ",
stringify!(__pthread_rwlock_arch_t),
"::",
stringify!(__wrphase_futex)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__writers_futex as *const _ as usize
},
12usize,
concat!(
"Offset of field: ",
stringify!(__pthread_rwlock_arch_t),
"::",
stringify!(__writers_futex)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__pad3 as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(__pthread_rwlock_arch_t),
"::",
stringify!(__pad3)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__pad4 as *const _ as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(__pthread_rwlock_arch_t),
"::",
stringify!(__pad4)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__cur_writer as *const _ as usize
},
24usize,
concat!(
"Offset of field: ",
stringify!(__pthread_rwlock_arch_t),
"::",
stringify!(__cur_writer)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__shared as *const _ as usize
},
28usize,
concat!(
"Offset of field: ",
stringify!(__pthread_rwlock_arch_t),
"::",
stringify!(__shared)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__rwelision as *const _ as usize
},
32usize,
concat!(
"Offset of field: ",
stringify!(__pthread_rwlock_arch_t),
"::",
stringify!(__rwelision)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__pad1 as *const _ as usize },
33usize,
concat!(
"Offset of field: ",
stringify!(__pthread_rwlock_arch_t),
"::",
stringify!(__pad1)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__pad2 as *const _ as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(__pthread_rwlock_arch_t),
"::",
stringify!(__pad2)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__flags as *const _ as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(__pthread_rwlock_arch_t),
"::",
stringify!(__flags)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __pthread_internal_list {
pub __prev: *mut __pthread_internal_list,
pub __next: *mut __pthread_internal_list,
}
#[test]
fn bindgen_test_layout___pthread_internal_list() {
assert_eq!(
::std::mem::size_of::<__pthread_internal_list>(),
16usize,
concat!("Size of: ", stringify!(__pthread_internal_list))
);
assert_eq!(
::std::mem::align_of::<__pthread_internal_list>(),
8usize,
concat!("Alignment of ", stringify!(__pthread_internal_list))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__pthread_internal_list>())).__prev as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__pthread_internal_list),
"::",
stringify!(__prev)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__pthread_internal_list>())).__next as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(__pthread_internal_list),
"::",
stringify!(__next)
)
);
}
pub type __pthread_list_t = __pthread_internal_list;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __pthread_mutex_s {
pub __lock: ::std::os::raw::c_int,
pub __count: ::std::os::raw::c_uint,
pub __owner: ::std::os::raw::c_int,
pub __nusers: ::std::os::raw::c_uint,
pub __kind: ::std::os::raw::c_int,
pub __spins: ::std::os::raw::c_short,
pub __elision: ::std::os::raw::c_short,
pub __list: __pthread_list_t,
}
#[test]
fn bindgen_test_layout___pthread_mutex_s() {
assert_eq!(
::std::mem::size_of::<__pthread_mutex_s>(),
40usize,
concat!("Size of: ", stringify!(__pthread_mutex_s))
);
assert_eq!(
::std::mem::align_of::<__pthread_mutex_s>(),
8usize,
concat!("Alignment of ", stringify!(__pthread_mutex_s))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__pthread_mutex_s>())).__lock as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__pthread_mutex_s),
"::",
stringify!(__lock)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__pthread_mutex_s>())).__count as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(__pthread_mutex_s),
"::",
stringify!(__count)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__pthread_mutex_s>())).__owner as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(__pthread_mutex_s),
"::",
stringify!(__owner)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__pthread_mutex_s>())).__nusers as *const _ as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(__pthread_mutex_s),
"::",
stringify!(__nusers)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__pthread_mutex_s>())).__kind as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(__pthread_mutex_s),
"::",
stringify!(__kind)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__pthread_mutex_s>())).__spins as *const _ as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(__pthread_mutex_s),
"::",
stringify!(__spins)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__pthread_mutex_s>())).__elision as *const _ as usize },
22usize,
concat!(
"Offset of field: ",
stringify!(__pthread_mutex_s),
"::",
stringify!(__elision)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__pthread_mutex_s>())).__list as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(__pthread_mutex_s),
"::",
stringify!(__list)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct __pthread_cond_s {
pub __bindgen_anon_1: __pthread_cond_s__bindgen_ty_1,
pub __bindgen_anon_2: __pthread_cond_s__bindgen_ty_2,
pub __g_refs: [::std::os::raw::c_uint; 2usize],
pub __g_size: [::std::os::raw::c_uint; 2usize],
pub __g1_orig_size: ::std::os::raw::c_uint,
pub __wrefs: ::std::os::raw::c_uint,
pub __g_signals: [::std::os::raw::c_uint; 2usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union __pthread_cond_s__bindgen_ty_1 {
pub __wseq: ::std::os::raw::c_ulonglong,
pub __wseq32: __pthread_cond_s__bindgen_ty_1__bindgen_ty_1,
_bindgen_union_align: u64,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 {
pub __low: ::std::os::raw::c_uint,
pub __high: ::std::os::raw::c_uint,
}
#[test]
fn bindgen_test_layout___pthread_cond_s__bindgen_ty_1__bindgen_ty_1() {
assert_eq!(
::std::mem::size_of::<__pthread_cond_s__bindgen_ty_1__bindgen_ty_1>(),
8usize,
concat!(
"Size of: ",
stringify!(__pthread_cond_s__bindgen_ty_1__bindgen_ty_1)
)
);
assert_eq!(
::std::mem::align_of::<__pthread_cond_s__bindgen_ty_1__bindgen_ty_1>(),
4usize,
concat!(
"Alignment of ",
stringify!(__pthread_cond_s__bindgen_ty_1__bindgen_ty_1)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_1__bindgen_ty_1>())).__low
as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(__pthread_cond_s__bindgen_ty_1__bindgen_ty_1),
"::",
stringify!(__low)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_1__bindgen_ty_1>())).__high
as *const _ as usize
},
4usize,
concat!(
"Offset of field: ",
stringify!(__pthread_cond_s__bindgen_ty_1__bindgen_ty_1),
"::",
stringify!(__high)
)
);
}
#[test]
fn bindgen_test_layout___pthread_cond_s__bindgen_ty_1() {
assert_eq!(
::std::mem::size_of::<__pthread_cond_s__bindgen_ty_1>(),
8usize,
concat!("Size of: ", stringify!(__pthread_cond_s__bindgen_ty_1))
);
assert_eq!(
::std::mem::align_of::<__pthread_cond_s__bindgen_ty_1>(),
8usize,
concat!("Alignment of ", stringify!(__pthread_cond_s__bindgen_ty_1))
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_1>())).__wseq as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(__pthread_cond_s__bindgen_ty_1),
"::",
stringify!(__wseq)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_1>())).__wseq32 as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(__pthread_cond_s__bindgen_ty_1),
"::",
stringify!(__wseq32)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union __pthread_cond_s__bindgen_ty_2 {
pub __g1_start: ::std::os::raw::c_ulonglong,
pub __g1_start32: __pthread_cond_s__bindgen_ty_2__bindgen_ty_1,
_bindgen_union_align: u64,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 {
pub __low: ::std::os::raw::c_uint,
pub __high: ::std::os::raw::c_uint,
}
#[test]
fn bindgen_test_layout___pthread_cond_s__bindgen_ty_2__bindgen_ty_1() {
assert_eq!(
::std::mem::size_of::<__pthread_cond_s__bindgen_ty_2__bindgen_ty_1>(),
8usize,
concat!(
"Size of: ",
stringify!(__pthread_cond_s__bindgen_ty_2__bindgen_ty_1)
)
);
assert_eq!(
::std::mem::align_of::<__pthread_cond_s__bindgen_ty_2__bindgen_ty_1>(),
4usize,
concat!(
"Alignment of ",
stringify!(__pthread_cond_s__bindgen_ty_2__bindgen_ty_1)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_2__bindgen_ty_1>())).__low
as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(__pthread_cond_s__bindgen_ty_2__bindgen_ty_1),
"::",
stringify!(__low)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_2__bindgen_ty_1>())).__high
as *const _ as usize
},
4usize,
concat!(
"Offset of field: ",
stringify!(__pthread_cond_s__bindgen_ty_2__bindgen_ty_1),
"::",
stringify!(__high)
)
);
}
#[test]
fn bindgen_test_layout___pthread_cond_s__bindgen_ty_2() {
assert_eq!(
::std::mem::size_of::<__pthread_cond_s__bindgen_ty_2>(),
8usize,
concat!("Size of: ", stringify!(__pthread_cond_s__bindgen_ty_2))
);
assert_eq!(
::std::mem::align_of::<__pthread_cond_s__bindgen_ty_2>(),
8usize,
concat!("Alignment of ", stringify!(__pthread_cond_s__bindgen_ty_2))
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_2>())).__g1_start as *const _
as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(__pthread_cond_s__bindgen_ty_2),
"::",
stringify!(__g1_start)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_2>())).__g1_start32 as *const _
as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(__pthread_cond_s__bindgen_ty_2),
"::",
stringify!(__g1_start32)
)
);
}
#[test]
fn bindgen_test_layout___pthread_cond_s() {
assert_eq!(
::std::mem::size_of::<__pthread_cond_s>(),
48usize,
concat!("Size of: ", stringify!(__pthread_cond_s))
);
assert_eq!(
::std::mem::align_of::<__pthread_cond_s>(),
8usize,
concat!("Alignment of ", stringify!(__pthread_cond_s))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__pthread_cond_s>())).__g_refs as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(__pthread_cond_s),
"::",
stringify!(__g_refs)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__pthread_cond_s>())).__g_size as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(__pthread_cond_s),
"::",
stringify!(__g_size)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__pthread_cond_s>())).__g1_orig_size as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(__pthread_cond_s),
"::",
stringify!(__g1_orig_size)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__pthread_cond_s>())).__wrefs as *const _ as usize },
36usize,
concat!(
"Offset of field: ",
stringify!(__pthread_cond_s),
"::",
stringify!(__wrefs)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__pthread_cond_s>())).__g_signals as *const _ as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(__pthread_cond_s),
"::",
stringify!(__g_signals)
)
);
}
pub type pthread_t = ::std::os::raw::c_ulong;
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_mutexattr_t {
pub __size: [::std::os::raw::c_char; 4usize],
pub __align: ::std::os::raw::c_int,
_bindgen_union_align: u32,
}
#[test]
fn bindgen_test_layout_pthread_mutexattr_t() {
assert_eq!(
::std::mem::size_of::<pthread_mutexattr_t>(),
4usize,
concat!("Size of: ", stringify!(pthread_mutexattr_t))
);
assert_eq!(
::std::mem::align_of::<pthread_mutexattr_t>(),
4usize,
concat!("Alignment of ", stringify!(pthread_mutexattr_t))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pthread_mutexattr_t>())).__size as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_mutexattr_t),
"::",
stringify!(__size)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pthread_mutexattr_t>())).__align as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_mutexattr_t),
"::",
stringify!(__align)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_condattr_t {
pub __size: [::std::os::raw::c_char; 4usize],
pub __align: ::std::os::raw::c_int,
_bindgen_union_align: u32,
}
#[test]
fn bindgen_test_layout_pthread_condattr_t() {
assert_eq!(
::std::mem::size_of::<pthread_condattr_t>(),
4usize,
concat!("Size of: ", stringify!(pthread_condattr_t))
);
assert_eq!(
::std::mem::align_of::<pthread_condattr_t>(),
4usize,
concat!("Alignment of ", stringify!(pthread_condattr_t))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pthread_condattr_t>())).__size as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_condattr_t),
"::",
stringify!(__size)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pthread_condattr_t>())).__align as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_condattr_t),
"::",
stringify!(__align)
)
);
}
pub type pthread_key_t = ::std::os::raw::c_uint;
pub type pthread_once_t = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_attr_t {
pub __size: [::std::os::raw::c_char; 56usize],
pub __align: ::std::os::raw::c_long,
_bindgen_union_align: [u64; 7usize],
}
#[test]
fn bindgen_test_layout_pthread_attr_t() {
assert_eq!(
::std::mem::size_of::<pthread_attr_t>(),
56usize,
concat!("Size of: ", stringify!(pthread_attr_t))
);
assert_eq!(
::std::mem::align_of::<pthread_attr_t>(),
8usize,
concat!("Alignment of ", stringify!(pthread_attr_t))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pthread_attr_t>())).__size as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_attr_t),
"::",
stringify!(__size)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pthread_attr_t>())).__align as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_attr_t),
"::",
stringify!(__align)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_mutex_t {
pub __data: __pthread_mutex_s,
pub __size: [::std::os::raw::c_char; 40usize],
pub __align: ::std::os::raw::c_long,
_bindgen_union_align: [u64; 5usize],
}
#[test]
fn bindgen_test_layout_pthread_mutex_t() {
assert_eq!(
::std::mem::size_of::<pthread_mutex_t>(),
40usize,
concat!("Size of: ", stringify!(pthread_mutex_t))
);
assert_eq!(
::std::mem::align_of::<pthread_mutex_t>(),
8usize,
concat!("Alignment of ", stringify!(pthread_mutex_t))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pthread_mutex_t>())).__data as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_mutex_t),
"::",
stringify!(__data)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pthread_mutex_t>())).__size as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_mutex_t),
"::",
stringify!(__size)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pthread_mutex_t>())).__align as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_mutex_t),
"::",
stringify!(__align)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_cond_t {
pub __data: __pthread_cond_s,
pub __size: [::std::os::raw::c_char; 48usize],
pub __align: ::std::os::raw::c_longlong,
_bindgen_union_align: [u64; 6usize],
}
#[test]
fn bindgen_test_layout_pthread_cond_t() {
assert_eq!(
::std::mem::size_of::<pthread_cond_t>(),
48usize,
concat!("Size of: ", stringify!(pthread_cond_t))
);
assert_eq!(
::std::mem::align_of::<pthread_cond_t>(),
8usize,
concat!("Alignment of ", stringify!(pthread_cond_t))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pthread_cond_t>())).__data as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_cond_t),
"::",
stringify!(__data)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pthread_cond_t>())).__size as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_cond_t),
"::",
stringify!(__size)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pthread_cond_t>())).__align as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_cond_t),
"::",
stringify!(__align)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_rwlock_t {
pub __data: __pthread_rwlock_arch_t,
pub __size: [::std::os::raw::c_char; 56usize],
pub __align: ::std::os::raw::c_long,
_bindgen_union_align: [u64; 7usize],
}
#[test]
fn bindgen_test_layout_pthread_rwlock_t() {
assert_eq!(
::std::mem::size_of::<pthread_rwlock_t>(),
56usize,
concat!("Size of: ", stringify!(pthread_rwlock_t))
);
assert_eq!(
::std::mem::align_of::<pthread_rwlock_t>(),
8usize,
concat!("Alignment of ", stringify!(pthread_rwlock_t))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pthread_rwlock_t>())).__data as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_rwlock_t),
"::",
stringify!(__data)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pthread_rwlock_t>())).__size as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_rwlock_t),
"::",
stringify!(__size)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pthread_rwlock_t>())).__align as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_rwlock_t),
"::",
stringify!(__align)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_rwlockattr_t {
pub __size: [::std::os::raw::c_char; 8usize],
pub __align: ::std::os::raw::c_long,
_bindgen_union_align: u64,
}
#[test]
fn bindgen_test_layout_pthread_rwlockattr_t() {
assert_eq!(
::std::mem::size_of::<pthread_rwlockattr_t>(),
8usize,
concat!("Size of: ", stringify!(pthread_rwlockattr_t))
);
assert_eq!(
::std::mem::align_of::<pthread_rwlockattr_t>(),
8usize,
concat!("Alignment of ", stringify!(pthread_rwlockattr_t))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pthread_rwlockattr_t>())).__size as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_rwlockattr_t),
"::",
stringify!(__size)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pthread_rwlockattr_t>())).__align as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_rwlockattr_t),
"::",
stringify!(__align)
)
);
}
pub type pthread_spinlock_t = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_barrier_t {
pub __size: [::std::os::raw::c_char; 32usize],
pub __align: ::std::os::raw::c_long,
_bindgen_union_align: [u64; 4usize],
}
#[test]
fn bindgen_test_layout_pthread_barrier_t() {
assert_eq!(
::std::mem::size_of::<pthread_barrier_t>(),
32usize,
concat!("Size of: ", stringify!(pthread_barrier_t))
);
assert_eq!(
::std::mem::align_of::<pthread_barrier_t>(),
8usize,
concat!("Alignment of ", stringify!(pthread_barrier_t))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pthread_barrier_t>())).__size as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_barrier_t),
"::",
stringify!(__size)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pthread_barrier_t>())).__align as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_barrier_t),
"::",
stringify!(__align)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_barrierattr_t {
pub __size: [::std::os::raw::c_char; 4usize],
pub __align: ::std::os::raw::c_int,
_bindgen_union_align: u32,
}
#[test]
fn bindgen_test_layout_pthread_barrierattr_t() {
assert_eq!(
::std::mem::size_of::<pthread_barrierattr_t>(),
4usize,
concat!("Size of: ", stringify!(pthread_barrierattr_t))
);
assert_eq!(
::std::mem::align_of::<pthread_barrierattr_t>(),
4usize,
concat!("Alignment of ", stringify!(pthread_barrierattr_t))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pthread_barrierattr_t>())).__size as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_barrierattr_t),
"::",
stringify!(__size)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pthread_barrierattr_t>())).__align as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_barrierattr_t),
"::",
stringify!(__align)
)
);
}
pub type sig_atomic_t = __sig_atomic_t;
#[repr(C)]
#[derive(Copy, Clone)]
pub union sigval {
pub sival_int: ::std::os::raw::c_int,
pub sival_ptr: *mut ::std::os::raw::c_void,
_bindgen_union_align: u64,
}
#[test]
fn bindgen_test_layout_sigval() {
assert_eq!(
::std::mem::size_of::<sigval>(),
8usize,
concat!("Size of: ", stringify!(sigval))
);
assert_eq!(
::std::mem::align_of::<sigval>(),
8usize,
concat!("Alignment of ", stringify!(sigval))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sigval>())).sival_int as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(sigval),
"::",
stringify!(sival_int)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sigval>())).sival_ptr as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(sigval),
"::",
stringify!(sival_ptr)
)
);
}
pub type __sigval_t = sigval;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct siginfo_t {
pub si_signo: ::std::os::raw::c_int,
pub si_errno: ::std::os::raw::c_int,
pub si_code: ::std::os::raw::c_int,
pub __pad0: ::std::os::raw::c_int,
pub _sifields: siginfo_t__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union siginfo_t__bindgen_ty_1 {
pub _pad: [::std::os::raw::c_int; 28usize],
pub _kill: siginfo_t__bindgen_ty_1__bindgen_ty_1,
pub _timer: siginfo_t__bindgen_ty_1__bindgen_ty_2,
pub _rt: siginfo_t__bindgen_ty_1__bindgen_ty_3,
pub _sigchld: siginfo_t__bindgen_ty_1__bindgen_ty_4,
pub _sigfault: siginfo_t__bindgen_ty_1__bindgen_ty_5,
pub _sigpoll: siginfo_t__bindgen_ty_1__bindgen_ty_6,
pub _sigsys: siginfo_t__bindgen_ty_1__bindgen_ty_7,
_bindgen_union_align: [u64; 14usize],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct siginfo_t__bindgen_ty_1__bindgen_ty_1 {
pub si_pid: __pid_t,
pub si_uid: __uid_t,
}
#[test]
fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_1() {
assert_eq!(
::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_1>(),
8usize,
concat!(
"Size of: ",
stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_1)
)
);
assert_eq!(
::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_1>(),
4usize,
concat!(
"Alignment of ",
stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_1)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_1>())).si_pid as *const _
as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_1),
"::",
stringify!(si_pid)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_1>())).si_uid as *const _
as usize
},
4usize,
concat!(
"Offset of field: ",
stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_1),
"::",
stringify!(si_uid)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct siginfo_t__bindgen_ty_1__bindgen_ty_2 {
pub si_tid: ::std::os::raw::c_int,
pub si_overrun: ::std::os::raw::c_int,
pub si_sigval: __sigval_t,
}
#[test]
fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_2() {
assert_eq!(
::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_2>(),
16usize,
concat!(
"Size of: ",
stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_2)
)
);
assert_eq!(
::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_2>(),
8usize,
concat!(
"Alignment of ",
stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_2)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_2>())).si_tid as *const _
as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_2),
"::",
stringify!(si_tid)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_2>())).si_overrun as *const _
as usize
},
4usize,
concat!(
"Offset of field: ",
stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_2),
"::",
stringify!(si_overrun)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_2>())).si_sigval as *const _
as usize
},
8usize,
concat!(
"Offset of field: ",
stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_2),
"::",
stringify!(si_sigval)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct siginfo_t__bindgen_ty_1__bindgen_ty_3 {
pub si_pid: __pid_t,
pub si_uid: __uid_t,
pub si_sigval: __sigval_t,
}
#[test]
fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_3() {
assert_eq!(
::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_3>(),
16usize,
concat!(
"Size of: ",
stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_3)
)
);
assert_eq!(
::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_3>(),
8usize,
concat!(
"Alignment of ",
stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_3)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_3>())).si_pid as *const _
as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_3),
"::",
stringify!(si_pid)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_3>())).si_uid as *const _
as usize
},
4usize,
concat!(
"Offset of field: ",
stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_3),
"::",
stringify!(si_uid)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_3>())).si_sigval as *const _
as usize
},
8usize,
concat!(
"Offset of field: ",
stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_3),
"::",
stringify!(si_sigval)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct siginfo_t__bindgen_ty_1__bindgen_ty_4 {
pub si_pid: __pid_t,
pub si_uid: __uid_t,
pub si_status: ::std::os::raw::c_int,
pub si_utime: __clock_t,
pub si_stime: __clock_t,
}
#[test]
fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_4() {
assert_eq!(
::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_4>(),
32usize,
concat!(
"Size of: ",
stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_4)
)
);
assert_eq!(
::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_4>(),
8usize,
concat!(
"Alignment of ",
stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_4)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_4>())).si_pid as *const _
as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_4),
"::",
stringify!(si_pid)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_4>())).si_uid as *const _
as usize
},
4usize,
concat!(
"Offset of field: ",
stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_4),
"::",
stringify!(si_uid)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_4>())).si_status as *const _
as usize
},
8usize,
concat!(
"Offset of field: ",
stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_4),
"::",
stringify!(si_status)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_4>())).si_utime as *const _
as usize
},
16usize,
concat!(
"Offset of field: ",
stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_4),
"::",
stringify!(si_utime)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_4>())).si_stime as *const _
as usize
},
24usize,
concat!(
"Offset of field: ",
stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_4),
"::",
stringify!(si_stime)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct siginfo_t__bindgen_ty_1__bindgen_ty_5 {
pub si_addr: *mut ::std::os::raw::c_void,
pub si_addr_lsb: ::std::os::raw::c_short,
pub _bounds: siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1 {
pub _addr_bnd: siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1,
pub _pkey: __uint32_t,
_bindgen_union_align: [u64; 2usize],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1 {
pub _lower: *mut ::std::os::raw::c_void,
pub _upper: *mut ::std::os::raw::c_void,
}
#[test]
fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1() {
assert_eq!(
::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1>(),
16usize,
concat!(
"Size of: ",
stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1)
)
);
assert_eq!(
::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1>(),
8usize,
concat!(
"Alignment of ",
stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<
siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1,
>()))
._lower as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1),
"::",
stringify!(_lower)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<
siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1,
>()))
._upper as *const _ as usize
},
8usize,
concat!(
"Offset of field: ",
stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1),
"::",
stringify!(_upper)
)
);
}
#[test]
fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1() {
assert_eq!(
::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1>(),
16usize,
concat!(
"Size of: ",
stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1)
)
);
assert_eq!(
::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1>(),
8usize,
concat!(
"Alignment of ",
stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1>()))
._addr_bnd as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1),
"::",
stringify!(_addr_bnd)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1>()))._pkey
as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1),
"::",
stringify!(_pkey)
)
);
}
#[test]
fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_5() {
assert_eq!(
::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_5>(),
32usize,
concat!(
"Size of: ",
stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5)
)
);
assert_eq!(
::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_5>(),
8usize,
concat!(
"Alignment of ",
stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_5>())).si_addr as *const _
as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5),
"::",
stringify!(si_addr)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_5>())).si_addr_lsb
as *const _ as usize
},
8usize,
concat!(
"Offset of field: ",
stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5),
"::",
stringify!(si_addr_lsb)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_5>()))._bounds as *const _
as usize
},
16usize,
concat!(
"Offset of field: ",
stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5),
"::",
stringify!(_bounds)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct siginfo_t__bindgen_ty_1__bindgen_ty_6 {
pub si_band: ::std::os::raw::c_long,
pub si_fd: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_6() {
assert_eq!(
::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_6>(),
16usize,
concat!(
"Size of: ",
stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_6)
)
);
assert_eq!(
::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_6>(),
8usize,
concat!(
"Alignment of ",
stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_6)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_6>())).si_band as *const _
as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_6),
"::",
stringify!(si_band)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_6>())).si_fd as *const _
as usize
},
8usize,
concat!(
"Offset of field: ",
stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_6),
"::",
stringify!(si_fd)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct siginfo_t__bindgen_ty_1__bindgen_ty_7 {
pub _call_addr: *mut ::std::os::raw::c_void,
pub _syscall: ::std::os::raw::c_int,
pub _arch: ::std::os::raw::c_uint,
}
#[test]
fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_7() {
assert_eq!(
::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_7>(),
16usize,
concat!(
"Size of: ",
stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_7)
)
);
assert_eq!(
::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_7>(),
8usize,
concat!(
"Alignment of ",
stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_7)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_7>()))._call_addr as *const _
as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_7),
"::",
stringify!(_call_addr)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_7>()))._syscall as *const _
as usize
},
8usize,
concat!(
"Offset of field: ",
stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_7),
"::",
stringify!(_syscall)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_7>()))._arch as *const _
as usize
},
12usize,
concat!(
"Offset of field: ",
stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_7),
"::",
stringify!(_arch)
)
);
}
#[test]
fn bindgen_test_layout_siginfo_t__bindgen_ty_1() {
assert_eq!(
::std::mem::size_of::<siginfo_t__bindgen_ty_1>(),
112usize,
concat!("Size of: ", stringify!(siginfo_t__bindgen_ty_1))
);
assert_eq!(
::std::mem::align_of::<siginfo_t__bindgen_ty_1>(),
8usize,
concat!("Alignment of ", stringify!(siginfo_t__bindgen_ty_1))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1>()))._pad as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(siginfo_t__bindgen_ty_1),
"::",
stringify!(_pad)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1>()))._kill as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(siginfo_t__bindgen_ty_1),
"::",
stringify!(_kill)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1>()))._timer as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(siginfo_t__bindgen_ty_1),
"::",
stringify!(_timer)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1>()))._rt as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(siginfo_t__bindgen_ty_1),
"::",
stringify!(_rt)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<siginfo_t__bindgen_ty_1>()))._sigchld as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(siginfo_t__bindgen_ty_1),
"::",
stringify!(_sigchld)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<siginfo_t__bindgen_ty_1>()))._sigfault as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(siginfo_t__bindgen_ty_1),
"::",
stringify!(_sigfault)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<siginfo_t__bindgen_ty_1>()))._sigpoll as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(siginfo_t__bindgen_ty_1),
"::",
stringify!(_sigpoll)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1>()))._sigsys as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(siginfo_t__bindgen_ty_1),
"::",
stringify!(_sigsys)
)
);
}
#[test]
fn bindgen_test_layout_siginfo_t() {
assert_eq!(
::std::mem::size_of::<siginfo_t>(),
128usize,
concat!("Size of: ", stringify!(siginfo_t))
);
assert_eq!(
::std::mem::align_of::<siginfo_t>(),
8usize,
concat!("Alignment of ", stringify!(siginfo_t))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<siginfo_t>())).si_signo as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(siginfo_t),
"::",
stringify!(si_signo)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<siginfo_t>())).si_errno as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(siginfo_t),
"::",
stringify!(si_errno)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<siginfo_t>())).si_code as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(siginfo_t),
"::",
stringify!(si_code)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<siginfo_t>())).__pad0 as *const _ as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(siginfo_t),
"::",
stringify!(__pad0)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<siginfo_t>()))._sifields as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(siginfo_t),
"::",
stringify!(_sifields)
)
);
}
pub const SI_ASYNCNL: _bindgen_ty_2 = -60;
pub const SI_DETHREAD: _bindgen_ty_2 = -7;
pub const SI_TKILL: _bindgen_ty_2 = -6;
pub const SI_SIGIO: _bindgen_ty_2 = -5;
pub const SI_ASYNCIO: _bindgen_ty_2 = -4;
pub const SI_MESGQ: _bindgen_ty_2 = -3;
pub const SI_TIMER: _bindgen_ty_2 = -2;
pub const SI_QUEUE: _bindgen_ty_2 = -1;
pub const SI_USER: _bindgen_ty_2 = 0;
pub const SI_KERNEL: _bindgen_ty_2 = 128;
pub type _bindgen_ty_2 = i32;
pub const ILL_ILLOPC: _bindgen_ty_3 = 1;
pub const ILL_ILLOPN: _bindgen_ty_3 = 2;
pub const ILL_ILLADR: _bindgen_ty_3 = 3;
pub const ILL_ILLTRP: _bindgen_ty_3 = 4;
pub const ILL_PRVOPC: _bindgen_ty_3 = 5;
pub const ILL_PRVREG: _bindgen_ty_3 = 6;
pub const ILL_COPROC: _bindgen_ty_3 = 7;
pub const ILL_BADSTK: _bindgen_ty_3 = 8;
pub const ILL_BADIADDR: _bindgen_ty_3 = 9;
pub type _bindgen_ty_3 = u32;
pub const FPE_INTDIV: _bindgen_ty_4 = 1;
pub const FPE_INTOVF: _bindgen_ty_4 = 2;
pub const FPE_FLTDIV: _bindgen_ty_4 = 3;
pub const FPE_FLTOVF: _bindgen_ty_4 = 4;
pub const FPE_FLTUND: _bindgen_ty_4 = 5;
pub const FPE_FLTRES: _bindgen_ty_4 = 6;
pub const FPE_FLTINV: _bindgen_ty_4 = 7;
pub const FPE_FLTSUB: _bindgen_ty_4 = 8;
pub const FPE_FLTUNK: _bindgen_ty_4 = 14;
pub const FPE_CONDTRAP: _bindgen_ty_4 = 15;
pub type _bindgen_ty_4 = u32;
pub const SEGV_MAPERR: _bindgen_ty_5 = 1;
pub const SEGV_ACCERR: _bindgen_ty_5 = 2;
pub const SEGV_BNDERR: _bindgen_ty_5 = 3;
pub const SEGV_PKUERR: _bindgen_ty_5 = 4;
pub const SEGV_ACCADI: _bindgen_ty_5 = 5;
pub const SEGV_ADIDERR: _bindgen_ty_5 = 6;
pub const SEGV_ADIPERR: _bindgen_ty_5 = 7;
pub type _bindgen_ty_5 = u32;
pub const BUS_ADRALN: _bindgen_ty_6 = 1;
pub const BUS_ADRERR: _bindgen_ty_6 = 2;
pub const BUS_OBJERR: _bindgen_ty_6 = 3;
pub const BUS_MCEERR_AR: _bindgen_ty_6 = 4;
pub const BUS_MCEERR_AO: _bindgen_ty_6 = 5;
pub type _bindgen_ty_6 = u32;
pub const CLD_EXITED: _bindgen_ty_7 = 1;
pub const CLD_KILLED: _bindgen_ty_7 = 2;
pub const CLD_DUMPED: _bindgen_ty_7 = 3;
pub const CLD_TRAPPED: _bindgen_ty_7 = 4;
pub const CLD_STOPPED: _bindgen_ty_7 = 5;
pub const CLD_CONTINUED: _bindgen_ty_7 = 6;
pub type _bindgen_ty_7 = u32;
pub const POLL_IN: _bindgen_ty_8 = 1;
pub const POLL_OUT: _bindgen_ty_8 = 2;
pub const POLL_MSG: _bindgen_ty_8 = 3;
pub const POLL_ERR: _bindgen_ty_8 = 4;
pub const POLL_PRI: _bindgen_ty_8 = 5;
pub const POLL_HUP: _bindgen_ty_8 = 6;
pub type _bindgen_ty_8 = u32;
pub type sigval_t = __sigval_t;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct sigevent {
pub sigev_value: __sigval_t,
pub sigev_signo: ::std::os::raw::c_int,
pub sigev_notify: ::std::os::raw::c_int,
pub _sigev_un: sigevent__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union sigevent__bindgen_ty_1 {
pub _pad: [::std::os::raw::c_int; 12usize],
pub _tid: __pid_t,
pub _sigev_thread: sigevent__bindgen_ty_1__bindgen_ty_1,
_bindgen_union_align: [u64; 6usize],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct sigevent__bindgen_ty_1__bindgen_ty_1 {
pub _function: ::std::option::Option<unsafe extern "C" fn(arg1: __sigval_t)>,
pub _attribute: *mut pthread_attr_t,
}
#[test]
fn bindgen_test_layout_sigevent__bindgen_ty_1__bindgen_ty_1() {
assert_eq!(
::std::mem::size_of::<sigevent__bindgen_ty_1__bindgen_ty_1>(),
16usize,
concat!(
"Size of: ",
stringify!(sigevent__bindgen_ty_1__bindgen_ty_1)
)
);
assert_eq!(
::std::mem::align_of::<sigevent__bindgen_ty_1__bindgen_ty_1>(),
8usize,
concat!(
"Alignment of ",
stringify!(sigevent__bindgen_ty_1__bindgen_ty_1)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<sigevent__bindgen_ty_1__bindgen_ty_1>()))._function as *const _
as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(sigevent__bindgen_ty_1__bindgen_ty_1),
"::",
stringify!(_function)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<sigevent__bindgen_ty_1__bindgen_ty_1>()))._attribute as *const _
as usize
},
8usize,
concat!(
"Offset of field: ",
stringify!(sigevent__bindgen_ty_1__bindgen_ty_1),
"::",
stringify!(_attribute)
)
);
}
#[test]
fn bindgen_test_layout_sigevent__bindgen_ty_1() {
assert_eq!(
::std::mem::size_of::<sigevent__bindgen_ty_1>(),
48usize,
concat!("Size of: ", stringify!(sigevent__bindgen_ty_1))
);
assert_eq!(
::std::mem::align_of::<sigevent__bindgen_ty_1>(),
8usize,
concat!("Alignment of ", stringify!(sigevent__bindgen_ty_1))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sigevent__bindgen_ty_1>()))._pad as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(sigevent__bindgen_ty_1),
"::",
stringify!(_pad)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sigevent__bindgen_ty_1>()))._tid as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(sigevent__bindgen_ty_1),
"::",
stringify!(_tid)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<sigevent__bindgen_ty_1>()))._sigev_thread as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(sigevent__bindgen_ty_1),
"::",
stringify!(_sigev_thread)
)
);
}
#[test]
fn bindgen_test_layout_sigevent() {
assert_eq!(
::std::mem::size_of::<sigevent>(),
64usize,
concat!("Size of: ", stringify!(sigevent))
);
assert_eq!(
::std::mem::align_of::<sigevent>(),
8usize,
concat!("Alignment of ", stringify!(sigevent))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sigevent>())).sigev_value as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(sigevent),
"::",
stringify!(sigev_value)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sigevent>())).sigev_signo as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(sigevent),
"::",
stringify!(sigev_signo)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sigevent>())).sigev_notify as *const _ as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(sigevent),
"::",
stringify!(sigev_notify)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sigevent>()))._sigev_un as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(sigevent),
"::",
stringify!(_sigev_un)
)
);
}
pub type sigevent_t = sigevent;
pub const SIGEV_SIGNAL: _bindgen_ty_9 = 0;
pub const SIGEV_NONE: _bindgen_ty_9 = 1;
pub const SIGEV_THREAD: _bindgen_ty_9 = 2;
pub const SIGEV_THREAD_ID: _bindgen_ty_9 = 4;
pub type _bindgen_ty_9 = u32;
pub type __sighandler_t = ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>;
extern "C" {
pub fn __sysv_signal(__sig: ::std::os::raw::c_int, __handler: __sighandler_t)
-> __sighandler_t;
}
extern "C" {
pub fn signal(__sig: ::std::os::raw::c_int, __handler: __sighandler_t) -> __sighandler_t;
}
extern "C" {
pub fn kill(__pid: __pid_t, __sig: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn killpg(__pgrp: __pid_t, __sig: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn raise(__sig: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn ssignal(__sig: ::std::os::raw::c_int, __handler: __sighandler_t) -> __sighandler_t;
}
extern "C" {
pub fn gsignal(__sig: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn psignal(__sig: ::std::os::raw::c_int, __s: *const ::std::os::raw::c_char);
}
extern "C" {
pub fn psiginfo(__pinfo: *const siginfo_t, __s: *const ::std::os::raw::c_char);
}
extern "C" {
pub fn sigblock(__mask: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn sigsetmask(__mask: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn siggetmask() -> ::std::os::raw::c_int;
}
pub type sig_t = __sighandler_t;
extern "C" {
pub fn sigemptyset(__set: *mut sigset_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn sigfillset(__set: *mut sigset_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn sigaddset(__set: *mut sigset_t, __signo: ::std::os::raw::c_int)
-> ::std::os::raw::c_int;
}
extern "C" {
pub fn sigdelset(__set: *mut sigset_t, __signo: ::std::os::raw::c_int)
-> ::std::os::raw::c_int;
}
extern "C" {
pub fn sigismember(
__set: *const sigset_t,
__signo: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct sigaction {
pub __sigaction_handler: sigaction__bindgen_ty_1,
pub sa_mask: __sigset_t,
pub sa_flags: ::std::os::raw::c_int,
pub sa_restorer: ::std::option::Option<unsafe extern "C" fn()>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union sigaction__bindgen_ty_1 {
pub sa_handler: __sighandler_t,
pub sa_sigaction: ::std::option::Option<
unsafe extern "C" fn(
arg1: ::std::os::raw::c_int,
arg2: *mut siginfo_t,
arg3: *mut ::std::os::raw::c_void,
),
>,
_bindgen_union_align: u64,
}
#[test]
fn bindgen_test_layout_sigaction__bindgen_ty_1() {
assert_eq!(
::std::mem::size_of::<sigaction__bindgen_ty_1>(),
8usize,
concat!("Size of: ", stringify!(sigaction__bindgen_ty_1))
);
assert_eq!(
::std::mem::align_of::<sigaction__bindgen_ty_1>(),
8usize,
concat!("Alignment of ", stringify!(sigaction__bindgen_ty_1))
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<sigaction__bindgen_ty_1>())).sa_handler as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(sigaction__bindgen_ty_1),
"::",
stringify!(sa_handler)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<sigaction__bindgen_ty_1>())).sa_sigaction as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(sigaction__bindgen_ty_1),
"::",
stringify!(sa_sigaction)
)
);
}
#[test]
fn bindgen_test_layout_sigaction() {
assert_eq!(
::std::mem::size_of::<sigaction>(),
152usize,
concat!("Size of: ", stringify!(sigaction))
);
assert_eq!(
::std::mem::align_of::<sigaction>(),
8usize,
concat!("Alignment of ", stringify!(sigaction))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sigaction>())).__sigaction_handler as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(sigaction),
"::",
stringify!(__sigaction_handler)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sigaction>())).sa_mask as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(sigaction),
"::",
stringify!(sa_mask)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sigaction>())).sa_flags as *const _ as usize },
136usize,
concat!(
"Offset of field: ",
stringify!(sigaction),
"::",
stringify!(sa_flags)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sigaction>())).sa_restorer as *const _ as usize },
144usize,
concat!(
"Offset of field: ",
stringify!(sigaction),
"::",
stringify!(sa_restorer)
)
);
}
extern "C" {
pub fn sigprocmask(
__how: ::std::os::raw::c_int,
__set: *const sigset_t,
__oset: *mut sigset_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn sigsuspend(__set: *const sigset_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn sigaction(
__sig: ::std::os::raw::c_int,
__act: *const sigaction,
__oact: *mut sigaction,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn sigpending(__set: *mut sigset_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn sigwait(
__set: *const sigset_t,
__sig: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn sigwaitinfo(__set: *const sigset_t, __info: *mut siginfo_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn sigtimedwait(
__set: *const sigset_t,
__info: *mut siginfo_t,
__timeout: *const timespec,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn sigqueue(
__pid: __pid_t,
__sig: ::std::os::raw::c_int,
__val: sigval,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub static mut _sys_siglist: [*const ::std::os::raw::c_char; 65usize];
}
extern "C" {
pub static mut sys_siglist: [*const ::std::os::raw::c_char; 65usize];
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _fpx_sw_bytes {
pub magic1: __uint32_t,
pub extended_size: __uint32_t,
pub xstate_bv: __uint64_t,
pub xstate_size: __uint32_t,
pub __glibc_reserved1: [__uint32_t; 7usize],
}
#[test]
fn bindgen_test_layout__fpx_sw_bytes() {
assert_eq!(
::std::mem::size_of::<_fpx_sw_bytes>(),
48usize,
concat!("Size of: ", stringify!(_fpx_sw_bytes))
);
assert_eq!(
::std::mem::align_of::<_fpx_sw_bytes>(),
8usize,
concat!("Alignment of ", stringify!(_fpx_sw_bytes))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_fpx_sw_bytes>())).magic1 as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_fpx_sw_bytes),
"::",
stringify!(magic1)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_fpx_sw_bytes>())).extended_size as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(_fpx_sw_bytes),
"::",
stringify!(extended_size)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_fpx_sw_bytes>())).xstate_bv as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_fpx_sw_bytes),
"::",
stringify!(xstate_bv)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_fpx_sw_bytes>())).xstate_size as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(_fpx_sw_bytes),
"::",
stringify!(xstate_size)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_fpx_sw_bytes>())).__glibc_reserved1 as *const _ as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(_fpx_sw_bytes),
"::",
stringify!(__glibc_reserved1)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _fpreg {
pub significand: [::std::os::raw::c_ushort; 4usize],
pub exponent: ::std::os::raw::c_ushort,
}
#[test]
fn bindgen_test_layout__fpreg() {
assert_eq!(
::std::mem::size_of::<_fpreg>(),
10usize,
concat!("Size of: ", stringify!(_fpreg))
);
assert_eq!(
::std::mem::align_of::<_fpreg>(),
2usize,
concat!("Alignment of ", stringify!(_fpreg))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_fpreg>())).significand as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_fpreg),
"::",
stringify!(significand)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_fpreg>())).exponent as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_fpreg),
"::",
stringify!(exponent)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _fpxreg {
pub significand: [::std::os::raw::c_ushort; 4usize],
pub exponent: ::std::os::raw::c_ushort,
pub __glibc_reserved1: [::std::os::raw::c_ushort; 3usize],
}
#[test]
fn bindgen_test_layout__fpxreg() {
assert_eq!(
::std::mem::size_of::<_fpxreg>(),
16usize,
concat!("Size of: ", stringify!(_fpxreg))
);
assert_eq!(
::std::mem::align_of::<_fpxreg>(),
2usize,
concat!("Alignment of ", stringify!(_fpxreg))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_fpxreg>())).significand as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_fpxreg),
"::",
stringify!(significand)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_fpxreg>())).exponent as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_fpxreg),
"::",
stringify!(exponent)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_fpxreg>())).__glibc_reserved1 as *const _ as usize },
10usize,
concat!(
"Offset of field: ",
stringify!(_fpxreg),
"::",
stringify!(__glibc_reserved1)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _xmmreg {
pub element: [__uint32_t; 4usize],
}
#[test]
fn bindgen_test_layout__xmmreg() {
assert_eq!(
::std::mem::size_of::<_xmmreg>(),
16usize,
concat!("Size of: ", stringify!(_xmmreg))
);
assert_eq!(
::std::mem::align_of::<_xmmreg>(),
4usize,
concat!("Alignment of ", stringify!(_xmmreg))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_xmmreg>())).element as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_xmmreg),
"::",
stringify!(element)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _fpstate {
pub cwd: __uint16_t,
pub swd: __uint16_t,
pub ftw: __uint16_t,
pub fop: __uint16_t,
pub rip: __uint64_t,
pub rdp: __uint64_t,
pub mxcsr: __uint32_t,
pub mxcr_mask: __uint32_t,
pub _st: [_fpxreg; 8usize],
pub _xmm: [_xmmreg; 16usize],
pub __glibc_reserved1: [__uint32_t; 24usize],
}
#[test]
fn bindgen_test_layout__fpstate() {
assert_eq!(
::std::mem::size_of::<_fpstate>(),
512usize,
concat!("Size of: ", stringify!(_fpstate))
);
assert_eq!(
::std::mem::align_of::<_fpstate>(),
8usize,
concat!("Alignment of ", stringify!(_fpstate))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_fpstate>())).cwd as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_fpstate),
"::",
stringify!(cwd)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_fpstate>())).swd as *const _ as usize },
2usize,
concat!(
"Offset of field: ",
stringify!(_fpstate),
"::",
stringify!(swd)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_fpstate>())).ftw as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(_fpstate),
"::",
stringify!(ftw)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_fpstate>())).fop as *const _ as usize },
6usize,
concat!(
"Offset of field: ",
stringify!(_fpstate),
"::",
stringify!(fop)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_fpstate>())).rip as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_fpstate),
"::",
stringify!(rip)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_fpstate>())).rdp as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(_fpstate),
"::",
stringify!(rdp)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_fpstate>())).mxcsr as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(_fpstate),
"::",
stringify!(mxcsr)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_fpstate>())).mxcr_mask as *const _ as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(_fpstate),
"::",
stringify!(mxcr_mask)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_fpstate>()))._st as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(_fpstate),
"::",
stringify!(_st)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_fpstate>()))._xmm as *const _ as usize },
160usize,
concat!(
"Offset of field: ",
stringify!(_fpstate),
"::",
stringify!(_xmm)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_fpstate>())).__glibc_reserved1 as *const _ as usize },
416usize,
concat!(
"Offset of field: ",
stringify!(_fpstate),
"::",
stringify!(__glibc_reserved1)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct sigcontext {
pub r8: __uint64_t,
pub r9: __uint64_t,
pub r10: __uint64_t,
pub r11: __uint64_t,
pub r12: __uint64_t,
pub r13: __uint64_t,
pub r14: __uint64_t,
pub r15: __uint64_t,
pub rdi: __uint64_t,
pub rsi: __uint64_t,
pub rbp: __uint64_t,
pub rbx: __uint64_t,
pub rdx: __uint64_t,
pub rax: __uint64_t,
pub rcx: __uint64_t,
pub rsp: __uint64_t,
pub rip: __uint64_t,
pub eflags: __uint64_t,
pub cs: ::std::os::raw::c_ushort,
pub gs: ::std::os::raw::c_ushort,
pub fs: ::std::os::raw::c_ushort,
pub __pad0: ::std::os::raw::c_ushort,
pub err: __uint64_t,
pub trapno: __uint64_t,
pub oldmask: __uint64_t,
pub cr2: __uint64_t,
pub __bindgen_anon_1: sigcontext__bindgen_ty_1,
pub __reserved1: [__uint64_t; 8usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union sigcontext__bindgen_ty_1 {
pub fpstate: *mut _fpstate,
pub __fpstate_word: __uint64_t,
_bindgen_union_align: u64,
}
#[test]
fn bindgen_test_layout_sigcontext__bindgen_ty_1() {
assert_eq!(
::std::mem::size_of::<sigcontext__bindgen_ty_1>(),
8usize,
concat!("Size of: ", stringify!(sigcontext__bindgen_ty_1))
);
assert_eq!(
::std::mem::align_of::<sigcontext__bindgen_ty_1>(),
8usize,
concat!("Alignment of ", stringify!(sigcontext__bindgen_ty_1))
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<sigcontext__bindgen_ty_1>())).fpstate as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(sigcontext__bindgen_ty_1),
"::",
stringify!(fpstate)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<sigcontext__bindgen_ty_1>())).__fpstate_word as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(sigcontext__bindgen_ty_1),
"::",
stringify!(__fpstate_word)
)
);
}
#[test]
fn bindgen_test_layout_sigcontext() {
assert_eq!(
::std::mem::size_of::<sigcontext>(),
256usize,
concat!("Size of: ", stringify!(sigcontext))
);
assert_eq!(
::std::mem::align_of::<sigcontext>(),
8usize,
concat!("Alignment of ", stringify!(sigcontext))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sigcontext>())).r8 as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(sigcontext),
"::",
stringify!(r8)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sigcontext>())).r9 as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(sigcontext),
"::",
stringify!(r9)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sigcontext>())).r10 as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(sigcontext),
"::",
stringify!(r10)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sigcontext>())).r11 as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(sigcontext),
"::",
stringify!(r11)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sigcontext>())).r12 as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(sigcontext),
"::",
stringify!(r12)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sigcontext>())).r13 as *const _ as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(sigcontext),
"::",
stringify!(r13)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sigcontext>())).r14 as *const _ as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(sigcontext),
"::",
stringify!(r14)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sigcontext>())).r15 as *const _ as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(sigcontext),
"::",
stringify!(r15)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sigcontext>())).rdi as *const _ as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(sigcontext),
"::",
stringify!(rdi)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sigcontext>())).rsi as *const _ as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(sigcontext),
"::",
stringify!(rsi)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sigcontext>())).rbp as *const _ as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(sigcontext),
"::",
stringify!(rbp)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sigcontext>())).rbx as *const _ as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(sigcontext),
"::",
stringify!(rbx)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sigcontext>())).rdx as *const _ as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(sigcontext),
"::",
stringify!(rdx)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sigcontext>())).rax as *const _ as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(sigcontext),
"::",
stringify!(rax)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sigcontext>())).rcx as *const _ as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(sigcontext),
"::",
stringify!(rcx)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sigcontext>())).rsp as *const _ as usize },
120usize,
concat!(
"Offset of field: ",
stringify!(sigcontext),
"::",
stringify!(rsp)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sigcontext>())).rip as *const _ as usize },
128usize,
concat!(
"Offset of field: ",
stringify!(sigcontext),
"::",
stringify!(rip)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sigcontext>())).eflags as *const _ as usize },
136usize,
concat!(
"Offset of field: ",
stringify!(sigcontext),
"::",
stringify!(eflags)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sigcontext>())).cs as *const _ as usize },
144usize,
concat!(
"Offset of field: ",
stringify!(sigcontext),
"::",
stringify!(cs)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sigcontext>())).gs as *const _ as usize },
146usize,
concat!(
"Offset of field: ",
stringify!(sigcontext),
"::",
stringify!(gs)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sigcontext>())).fs as *const _ as usize },
148usize,
concat!(
"Offset of field: ",
stringify!(sigcontext),
"::",
stringify!(fs)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sigcontext>())).__pad0 as *const _ as usize },
150usize,
concat!(
"Offset of field: ",
stringify!(sigcontext),
"::",
stringify!(__pad0)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sigcontext>())).err as *const _ as usize },
152usize,
concat!(
"Offset of field: ",
stringify!(sigcontext),
"::",
stringify!(err)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sigcontext>())).trapno as *const _ as usize },
160usize,
concat!(
"Offset of field: ",
stringify!(sigcontext),
"::",
stringify!(trapno)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sigcontext>())).oldmask as *const _ as usize },
168usize,
concat!(
"Offset of field: ",
stringify!(sigcontext),
"::",
stringify!(oldmask)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sigcontext>())).cr2 as *const _ as usize },
176usize,
concat!(
"Offset of field: ",
stringify!(sigcontext),
"::",
stringify!(cr2)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sigcontext>())).__reserved1 as *const _ as usize },
192usize,
concat!(
"Offset of field: ",
stringify!(sigcontext),
"::",
stringify!(__reserved1)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _xsave_hdr {
pub xstate_bv: __uint64_t,
pub __glibc_reserved1: [__uint64_t; 2usize],
pub __glibc_reserved2: [__uint64_t; 5usize],
}
#[test]
fn bindgen_test_layout__xsave_hdr() {
assert_eq!(
::std::mem::size_of::<_xsave_hdr>(),
64usize,
concat!("Size of: ", stringify!(_xsave_hdr))
);
assert_eq!(
::std::mem::align_of::<_xsave_hdr>(),
8usize,
concat!("Alignment of ", stringify!(_xsave_hdr))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_xsave_hdr>())).xstate_bv as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_xsave_hdr),
"::",
stringify!(xstate_bv)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_xsave_hdr>())).__glibc_reserved1 as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_xsave_hdr),
"::",
stringify!(__glibc_reserved1)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_xsave_hdr>())).__glibc_reserved2 as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(_xsave_hdr),
"::",
stringify!(__glibc_reserved2)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _ymmh_state {
pub ymmh_space: [__uint32_t; 64usize],
}
#[test]
fn bindgen_test_layout__ymmh_state() {
assert_eq!(
::std::mem::size_of::<_ymmh_state>(),
256usize,
concat!("Size of: ", stringify!(_ymmh_state))
);
assert_eq!(
::std::mem::align_of::<_ymmh_state>(),
4usize,
concat!("Alignment of ", stringify!(_ymmh_state))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_ymmh_state>())).ymmh_space as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_ymmh_state),
"::",
stringify!(ymmh_space)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _xstate {
pub fpstate: _fpstate,
pub xstate_hdr: _xsave_hdr,
pub ymmh: _ymmh_state,
}
#[test]
fn bindgen_test_layout__xstate() {
assert_eq!(
::std::mem::size_of::<_xstate>(),
832usize,
concat!("Size of: ", stringify!(_xstate))
);
assert_eq!(
::std::mem::align_of::<_xstate>(),
8usize,
concat!("Alignment of ", stringify!(_xstate))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_xstate>())).fpstate as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_xstate),
"::",
stringify!(fpstate)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_xstate>())).xstate_hdr as *const _ as usize },
512usize,
concat!(
"Offset of field: ",
stringify!(_xstate),
"::",
stringify!(xstate_hdr)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_xstate>())).ymmh as *const _ as usize },
576usize,
concat!(
"Offset of field: ",
stringify!(_xstate),
"::",
stringify!(ymmh)
)
);
}
extern "C" {
pub fn sigreturn(__scp: *mut sigcontext) -> ::std::os::raw::c_int;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct stack_t {
pub ss_sp: *mut ::std::os::raw::c_void,
pub ss_flags: ::std::os::raw::c_int,
pub ss_size: usize,
}
#[test]
fn bindgen_test_layout_stack_t() {
assert_eq!(
::std::mem::size_of::<stack_t>(),
24usize,
concat!("Size of: ", stringify!(stack_t))
);
assert_eq!(
::std::mem::align_of::<stack_t>(),
8usize,
concat!("Alignment of ", stringify!(stack_t))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<stack_t>())).ss_sp as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(stack_t),
"::",
stringify!(ss_sp)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<stack_t>())).ss_flags as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(stack_t),
"::",
stringify!(ss_flags)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<stack_t>())).ss_size as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(stack_t),
"::",
stringify!(ss_size)
)
);
}
pub type greg_t = ::std::os::raw::c_longlong;
pub type gregset_t = [greg_t; 23usize];
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _libc_fpxreg {
pub significand: [::std::os::raw::c_ushort; 4usize],
pub exponent: ::std::os::raw::c_ushort,
pub __glibc_reserved1: [::std::os::raw::c_ushort; 3usize],
}
#[test]
fn bindgen_test_layout__libc_fpxreg() {
assert_eq!(
::std::mem::size_of::<_libc_fpxreg>(),
16usize,
concat!("Size of: ", stringify!(_libc_fpxreg))
);
assert_eq!(
::std::mem::align_of::<_libc_fpxreg>(),
2usize,
concat!("Alignment of ", stringify!(_libc_fpxreg))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_libc_fpxreg>())).significand as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_libc_fpxreg),
"::",
stringify!(significand)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_libc_fpxreg>())).exponent as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_libc_fpxreg),
"::",
stringify!(exponent)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_libc_fpxreg>())).__glibc_reserved1 as *const _ as usize },
10usize,
concat!(
"Offset of field: ",
stringify!(_libc_fpxreg),
"::",
stringify!(__glibc_reserved1)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _libc_xmmreg {
pub element: [__uint32_t; 4usize],
}
#[test]
fn bindgen_test_layout__libc_xmmreg() {
assert_eq!(
::std::mem::size_of::<_libc_xmmreg>(),
16usize,
concat!("Size of: ", stringify!(_libc_xmmreg))
);
assert_eq!(
::std::mem::align_of::<_libc_xmmreg>(),
4usize,
concat!("Alignment of ", stringify!(_libc_xmmreg))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_libc_xmmreg>())).element as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_libc_xmmreg),
"::",
stringify!(element)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _libc_fpstate {
pub cwd: __uint16_t,
pub swd: __uint16_t,
pub ftw: __uint16_t,
pub fop: __uint16_t,
pub rip: __uint64_t,
pub rdp: __uint64_t,
pub mxcsr: __uint32_t,
pub mxcr_mask: __uint32_t,
pub _st: [_libc_fpxreg; 8usize],
pub _xmm: [_libc_xmmreg; 16usize],
pub __glibc_reserved1: [__uint32_t; 24usize],
}
#[test]
fn bindgen_test_layout__libc_fpstate() {
assert_eq!(
::std::mem::size_of::<_libc_fpstate>(),
512usize,
concat!("Size of: ", stringify!(_libc_fpstate))
);
assert_eq!(
::std::mem::align_of::<_libc_fpstate>(),
8usize,
concat!("Alignment of ", stringify!(_libc_fpstate))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_libc_fpstate>())).cwd as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_libc_fpstate),
"::",
stringify!(cwd)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_libc_fpstate>())).swd as *const _ as usize },
2usize,
concat!(
"Offset of field: ",
stringify!(_libc_fpstate),
"::",
stringify!(swd)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_libc_fpstate>())).ftw as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(_libc_fpstate),
"::",
stringify!(ftw)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_libc_fpstate>())).fop as *const _ as usize },
6usize,
concat!(
"Offset of field: ",
stringify!(_libc_fpstate),
"::",
stringify!(fop)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_libc_fpstate>())).rip as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_libc_fpstate),
"::",
stringify!(rip)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_libc_fpstate>())).rdp as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(_libc_fpstate),
"::",
stringify!(rdp)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_libc_fpstate>())).mxcsr as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(_libc_fpstate),
"::",
stringify!(mxcsr)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_libc_fpstate>())).mxcr_mask as *const _ as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(_libc_fpstate),
"::",
stringify!(mxcr_mask)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_libc_fpstate>()))._st as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(_libc_fpstate),
"::",
stringify!(_st)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_libc_fpstate>()))._xmm as *const _ as usize },
160usize,
concat!(
"Offset of field: ",
stringify!(_libc_fpstate),
"::",
stringify!(_xmm)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_libc_fpstate>())).__glibc_reserved1 as *const _ as usize },
416usize,
concat!(
"Offset of field: ",
stringify!(_libc_fpstate),
"::",
stringify!(__glibc_reserved1)
)
);
}
pub type fpregset_t = *mut _libc_fpstate;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct mcontext_t {
pub gregs: gregset_t,
pub fpregs: fpregset_t,
pub __reserved1: [::std::os::raw::c_ulonglong; 8usize],
}
#[test]
fn bindgen_test_layout_mcontext_t() {
assert_eq!(
::std::mem::size_of::<mcontext_t>(),
256usize,
concat!("Size of: ", stringify!(mcontext_t))
);
assert_eq!(
::std::mem::align_of::<mcontext_t>(),
8usize,
concat!("Alignment of ", stringify!(mcontext_t))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<mcontext_t>())).gregs as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(mcontext_t),
"::",
stringify!(gregs)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<mcontext_t>())).fpregs as *const _ as usize },
184usize,
concat!(
"Offset of field: ",
stringify!(mcontext_t),
"::",
stringify!(fpregs)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<mcontext_t>())).__reserved1 as *const _ as usize },
192usize,
concat!(
"Offset of field: ",
stringify!(mcontext_t),
"::",
stringify!(__reserved1)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ucontext_t {
pub uc_flags: ::std::os::raw::c_ulong,
pub uc_link: *mut ucontext_t,
pub uc_stack: stack_t,
pub uc_mcontext: mcontext_t,
pub uc_sigmask: sigset_t,
pub __fpregs_mem: _libc_fpstate,
pub __ssp: [::std::os::raw::c_ulonglong; 4usize],
}
#[test]
fn bindgen_test_layout_ucontext_t() {
assert_eq!(
::std::mem::size_of::<ucontext_t>(),
968usize,
concat!("Size of: ", stringify!(ucontext_t))
);
assert_eq!(
::std::mem::align_of::<ucontext_t>(),
8usize,
concat!("Alignment of ", stringify!(ucontext_t))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ucontext_t>())).uc_flags as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(ucontext_t),
"::",
stringify!(uc_flags)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ucontext_t>())).uc_link as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(ucontext_t),
"::",
stringify!(uc_link)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ucontext_t>())).uc_stack as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(ucontext_t),
"::",
stringify!(uc_stack)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ucontext_t>())).uc_mcontext as *const _ as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(ucontext_t),
"::",
stringify!(uc_mcontext)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ucontext_t>())).uc_sigmask as *const _ as usize },
296usize,
concat!(
"Offset of field: ",
stringify!(ucontext_t),
"::",
stringify!(uc_sigmask)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ucontext_t>())).__fpregs_mem as *const _ as usize },
424usize,
concat!(
"Offset of field: ",
stringify!(ucontext_t),
"::",
stringify!(__fpregs_mem)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ucontext_t>())).__ssp as *const _ as usize },
936usize,
concat!(
"Offset of field: ",
stringify!(ucontext_t),
"::",
stringify!(__ssp)
)
);
}
extern "C" {
pub fn siginterrupt(
__sig: ::std::os::raw::c_int,
__interrupt: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
pub const SS_ONSTACK: _bindgen_ty_10 = 1;
pub const SS_DISABLE: _bindgen_ty_10 = 2;
pub type _bindgen_ty_10 = u32;
extern "C" {
pub fn sigaltstack(__ss: *const stack_t, __oss: *mut stack_t) -> ::std::os::raw::c_int;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct sigstack {
pub ss_sp: *mut ::std::os::raw::c_void,
pub ss_onstack: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_sigstack() {
assert_eq!(
::std::mem::size_of::<sigstack>(),
16usize,
concat!("Size of: ", stringify!(sigstack))
);
assert_eq!(
::std::mem::align_of::<sigstack>(),
8usize,
concat!("Alignment of ", stringify!(sigstack))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sigstack>())).ss_sp as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(sigstack),
"::",
stringify!(ss_sp)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sigstack>())).ss_onstack as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(sigstack),
"::",
stringify!(ss_onstack)
)
);
}
extern "C" {
pub fn sigstack(__ss: *mut sigstack, __oss: *mut sigstack) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_sigmask(
__how: ::std::os::raw::c_int,
__newmask: *const __sigset_t,
__oldmask: *mut __sigset_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_kill(
__threadid: pthread_t,
__signo: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __libc_current_sigrtmin() -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __libc_current_sigrtmax() -> ::std::os::raw::c_int;
}
pub type mpfr_void = ::std::os::raw::c_void;
pub type mpfr_int = ::std::os::raw::c_int;
pub type mpfr_uint = ::std::os::raw::c_uint;
pub type mpfr_long = ::std::os::raw::c_long;
pub type mpfr_ulong = ::std::os::raw::c_ulong;
pub type mpfr_size_t = usize;
pub type mpfr_flags_t = ::std::os::raw::c_uint;
pub const mpfr_rnd_t_MPFR_RNDN: mpfr_rnd_t = 0;
pub const mpfr_rnd_t_MPFR_RNDZ: mpfr_rnd_t = 1;
pub const mpfr_rnd_t_MPFR_RNDU: mpfr_rnd_t = 2;
pub const mpfr_rnd_t_MPFR_RNDD: mpfr_rnd_t = 3;
pub const mpfr_rnd_t_MPFR_RNDA: mpfr_rnd_t = 4;
pub const mpfr_rnd_t_MPFR_RNDF: mpfr_rnd_t = 5;
pub const mpfr_rnd_t_MPFR_RNDNA: mpfr_rnd_t = -1;
pub type mpfr_rnd_t = i32;
pub type mpfr_prec_t = ::std::os::raw::c_long;
pub type mpfr_uprec_t = ::std::os::raw::c_ulong;
pub type mpfr_sign_t = ::std::os::raw::c_int;
pub type mpfr_exp_t = ::std::os::raw::c_long;
pub type mpfr_uexp_t = ::std::os::raw::c_ulong;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __mpfr_struct {
pub _mpfr_prec: mpfr_prec_t,
pub _mpfr_sign: mpfr_sign_t,
pub _mpfr_exp: mpfr_exp_t,
pub _mpfr_d: *mut mp_limb_t,
}
#[test]
fn bindgen_test_layout___mpfr_struct() {
assert_eq!(
::std::mem::size_of::<__mpfr_struct>(),
32usize,
concat!("Size of: ", stringify!(__mpfr_struct))
);
assert_eq!(
::std::mem::align_of::<__mpfr_struct>(),
8usize,
concat!("Alignment of ", stringify!(__mpfr_struct))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__mpfr_struct>()))._mpfr_prec as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__mpfr_struct),
"::",
stringify!(_mpfr_prec)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__mpfr_struct>()))._mpfr_sign as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(__mpfr_struct),
"::",
stringify!(_mpfr_sign)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__mpfr_struct>()))._mpfr_exp as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(__mpfr_struct),
"::",
stringify!(_mpfr_exp)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__mpfr_struct>()))._mpfr_d as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(__mpfr_struct),
"::",
stringify!(_mpfr_d)
)
);
}
pub type mpfr_t = [__mpfr_struct; 1usize];
pub type mpfr_ptr = *mut __mpfr_struct;
pub type mpfr_srcptr = *const __mpfr_struct;
pub const mpfr_kind_t_MPFR_NAN_KIND: mpfr_kind_t = 0;
pub const mpfr_kind_t_MPFR_INF_KIND: mpfr_kind_t = 1;
pub const mpfr_kind_t_MPFR_ZERO_KIND: mpfr_kind_t = 2;
pub const mpfr_kind_t_MPFR_REGULAR_KIND: mpfr_kind_t = 3;
pub type mpfr_kind_t = u32;
pub const mpfr_free_cache_t_MPFR_FREE_LOCAL_CACHE: mpfr_free_cache_t = 1;
pub const mpfr_free_cache_t_MPFR_FREE_GLOBAL_CACHE: mpfr_free_cache_t = 2;
pub type mpfr_free_cache_t = u32;
extern "C" {
pub fn mpfr_get_version() -> *const ::std::os::raw::c_char;
}
extern "C" {
pub fn mpfr_get_patches() -> *const ::std::os::raw::c_char;
}
extern "C" {
pub fn mpfr_buildopt_tls_p() -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_buildopt_float128_p() -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_buildopt_decimal_p() -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_buildopt_gmpinternals_p() -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_buildopt_sharedcache_p() -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_buildopt_tune_case() -> *const ::std::os::raw::c_char;
}
extern "C" {
pub fn mpfr_get_emin() -> mpfr_exp_t;
}
extern "C" {
pub fn mpfr_set_emin(arg1: mpfr_exp_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_get_emin_min() -> mpfr_exp_t;
}
extern "C" {
pub fn mpfr_get_emin_max() -> mpfr_exp_t;
}
extern "C" {
pub fn mpfr_get_emax() -> mpfr_exp_t;
}
extern "C" {
pub fn mpfr_set_emax(arg1: mpfr_exp_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_get_emax_min() -> mpfr_exp_t;
}
extern "C" {
pub fn mpfr_get_emax_max() -> mpfr_exp_t;
}
extern "C" {
pub fn mpfr_set_default_rounding_mode(arg1: mpfr_rnd_t);
}
extern "C" {
pub fn mpfr_get_default_rounding_mode() -> mpfr_rnd_t;
}
extern "C" {
pub fn mpfr_print_rnd_mode(arg1: mpfr_rnd_t) -> *const ::std::os::raw::c_char;
}
extern "C" {
pub fn mpfr_clear_flags();
}
extern "C" {
pub fn mpfr_clear_underflow();
}
extern "C" {
pub fn mpfr_clear_overflow();
}
extern "C" {
pub fn mpfr_clear_divby0();
}
extern "C" {
pub fn mpfr_clear_nanflag();
}
extern "C" {
pub fn mpfr_clear_inexflag();
}
extern "C" {
pub fn mpfr_clear_erangeflag();
}
extern "C" {
pub fn mpfr_set_underflow();
}
extern "C" {
pub fn mpfr_set_overflow();
}
extern "C" {
pub fn mpfr_set_divby0();
}
extern "C" {
pub fn mpfr_set_nanflag();
}
extern "C" {
pub fn mpfr_set_inexflag();
}
extern "C" {
pub fn mpfr_set_erangeflag();
}
extern "C" {
pub fn mpfr_underflow_p() -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_overflow_p() -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_divby0_p() -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_nanflag_p() -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_inexflag_p() -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_erangeflag_p() -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_flags_clear(arg1: mpfr_flags_t);
}
extern "C" {
pub fn mpfr_flags_set(arg1: mpfr_flags_t);
}
extern "C" {
pub fn mpfr_flags_test(arg1: mpfr_flags_t) -> mpfr_flags_t;
}
extern "C" {
pub fn mpfr_flags_save() -> mpfr_flags_t;
}
extern "C" {
pub fn mpfr_flags_restore(arg1: mpfr_flags_t, arg2: mpfr_flags_t);
}
extern "C" {
pub fn mpfr_check_range(
arg1: mpfr_ptr,
arg2: ::std::os::raw::c_int,
arg3: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_init2(arg1: mpfr_ptr, arg2: mpfr_prec_t);
}
extern "C" {
pub fn mpfr_init(arg1: mpfr_ptr);
}
extern "C" {
pub fn mpfr_clear(arg1: mpfr_ptr);
}
extern "C" {
pub fn mpfr_inits2(arg1: mpfr_prec_t, arg2: mpfr_ptr, ...);
}
extern "C" {
pub fn mpfr_inits(arg1: mpfr_ptr, ...);
}
extern "C" {
pub fn mpfr_clears(arg1: mpfr_ptr, ...);
}
extern "C" {
pub fn mpfr_prec_round(
arg1: mpfr_ptr,
arg2: mpfr_prec_t,
arg3: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_can_round(
arg1: mpfr_srcptr,
arg2: mpfr_exp_t,
arg3: mpfr_rnd_t,
arg4: mpfr_rnd_t,
arg5: mpfr_prec_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_min_prec(arg1: mpfr_srcptr) -> mpfr_prec_t;
}
extern "C" {
pub fn mpfr_get_exp(arg1: mpfr_srcptr) -> mpfr_exp_t;
}
extern "C" {
pub fn mpfr_set_exp(arg1: mpfr_ptr, arg2: mpfr_exp_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_get_prec(arg1: mpfr_srcptr) -> mpfr_prec_t;
}
extern "C" {
pub fn mpfr_set_prec(arg1: mpfr_ptr, arg2: mpfr_prec_t);
}
extern "C" {
pub fn mpfr_set_prec_raw(arg1: mpfr_ptr, arg2: mpfr_prec_t);
}
extern "C" {
pub fn mpfr_set_default_prec(arg1: mpfr_prec_t);
}
extern "C" {
pub fn mpfr_get_default_prec() -> mpfr_prec_t;
}
extern "C" {
pub fn mpfr_set_d(arg1: mpfr_ptr, arg2: f64, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_set_flt(arg1: mpfr_ptr, arg2: f32, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_set_ld(arg1: mpfr_ptr, arg2: u128, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_set_z(arg1: mpfr_ptr, arg2: mpz_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_set_z_2exp(
arg1: mpfr_ptr,
arg2: mpz_srcptr,
arg3: mpfr_exp_t,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_set_nan(arg1: mpfr_ptr);
}
extern "C" {
pub fn mpfr_set_inf(arg1: mpfr_ptr, arg2: ::std::os::raw::c_int);
}
extern "C" {
pub fn mpfr_set_zero(arg1: mpfr_ptr, arg2: ::std::os::raw::c_int);
}
extern "C" {
pub fn mpfr_set_f(arg1: mpfr_ptr, arg2: mpf_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_cmp_f(arg1: mpfr_srcptr, arg2: mpf_srcptr) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_get_f(arg1: mpf_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_set_si(
arg1: mpfr_ptr,
arg2: ::std::os::raw::c_long,
arg3: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_set_ui(
arg1: mpfr_ptr,
arg2: ::std::os::raw::c_ulong,
arg3: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_set_si_2exp(
arg1: mpfr_ptr,
arg2: ::std::os::raw::c_long,
arg3: mpfr_exp_t,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_set_ui_2exp(
arg1: mpfr_ptr,
arg2: ::std::os::raw::c_ulong,
arg3: mpfr_exp_t,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_set_q(arg1: mpfr_ptr, arg2: mpq_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_mul_q(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: mpq_srcptr,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_div_q(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: mpq_srcptr,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_add_q(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: mpq_srcptr,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_sub_q(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: mpq_srcptr,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_cmp_q(arg1: mpfr_srcptr, arg2: mpq_srcptr) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_get_q(q: mpq_ptr, f: mpfr_srcptr);
}
extern "C" {
pub fn mpfr_set_str(
arg1: mpfr_ptr,
arg2: *const ::std::os::raw::c_char,
arg3: ::std::os::raw::c_int,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_init_set_str(
arg1: mpfr_ptr,
arg2: *const ::std::os::raw::c_char,
arg3: ::std::os::raw::c_int,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_set4(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: mpfr_rnd_t,
arg4: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_abs(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_set(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_neg(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_signbit(arg1: mpfr_srcptr) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_setsign(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: ::std::os::raw::c_int,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_copysign(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: mpfr_srcptr,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_get_z_2exp(arg1: mpz_ptr, arg2: mpfr_srcptr) -> mpfr_exp_t;
}
extern "C" {
pub fn mpfr_get_flt(arg1: mpfr_srcptr, arg2: mpfr_rnd_t) -> f32;
}
extern "C" {
pub fn mpfr_get_d(arg1: mpfr_srcptr, arg2: mpfr_rnd_t) -> f64;
}
extern "C" {
pub fn mpfr_get_ld(arg1: mpfr_srcptr, arg2: mpfr_rnd_t) -> u128;
}
extern "C" {
pub fn mpfr_get_d1(arg1: mpfr_srcptr) -> f64;
}
extern "C" {
pub fn mpfr_get_d_2exp(
arg1: *mut ::std::os::raw::c_long,
arg2: mpfr_srcptr,
arg3: mpfr_rnd_t,
) -> f64;
}
extern "C" {
pub fn mpfr_get_ld_2exp(
arg1: *mut ::std::os::raw::c_long,
arg2: mpfr_srcptr,
arg3: mpfr_rnd_t,
) -> u128;
}
extern "C" {
pub fn mpfr_frexp(
arg1: *mut mpfr_exp_t,
arg2: mpfr_ptr,
arg3: mpfr_srcptr,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_get_si(arg1: mpfr_srcptr, arg2: mpfr_rnd_t) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn mpfr_get_ui(arg1: mpfr_srcptr, arg2: mpfr_rnd_t) -> ::std::os::raw::c_ulong;
}
extern "C" {
pub fn mpfr_get_str(
arg1: *mut ::std::os::raw::c_char,
arg2: *mut mpfr_exp_t,
arg3: ::std::os::raw::c_int,
arg4: usize,
arg5: mpfr_srcptr,
arg6: mpfr_rnd_t,
) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn mpfr_get_z(z: mpz_ptr, f: mpfr_srcptr, arg1: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_free_str(arg1: *mut ::std::os::raw::c_char);
}
extern "C" {
pub fn mpfr_urandom(
arg1: mpfr_ptr,
arg2: *mut __gmp_randstate_struct,
arg3: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_grandom(
arg1: mpfr_ptr,
arg2: mpfr_ptr,
arg3: *mut __gmp_randstate_struct,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_nrandom(
arg1: mpfr_ptr,
arg2: *mut __gmp_randstate_struct,
arg3: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_erandom(
arg1: mpfr_ptr,
arg2: *mut __gmp_randstate_struct,
arg3: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_urandomb(
arg1: mpfr_ptr,
arg2: *mut __gmp_randstate_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_nextabove(arg1: mpfr_ptr);
}
extern "C" {
pub fn mpfr_nextbelow(arg1: mpfr_ptr);
}
extern "C" {
pub fn mpfr_nexttoward(arg1: mpfr_ptr, arg2: mpfr_srcptr);
}
extern "C" {
pub fn mpfr_printf(arg1: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_asprintf(
arg1: *mut *mut ::std::os::raw::c_char,
arg2: *const ::std::os::raw::c_char,
...
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_sprintf(
arg1: *mut ::std::os::raw::c_char,
arg2: *const ::std::os::raw::c_char,
...
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_snprintf(
arg1: *mut ::std::os::raw::c_char,
arg2: usize,
arg3: *const ::std::os::raw::c_char,
...
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_pow(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: mpfr_srcptr,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_pow_si(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: ::std::os::raw::c_long,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_pow_ui(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: ::std::os::raw::c_ulong,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_ui_pow_ui(
arg1: mpfr_ptr,
arg2: ::std::os::raw::c_ulong,
arg3: ::std::os::raw::c_ulong,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_ui_pow(
arg1: mpfr_ptr,
arg2: ::std::os::raw::c_ulong,
arg3: mpfr_srcptr,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_pow_z(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: mpz_srcptr,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_sqrt(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_sqrt_ui(
arg1: mpfr_ptr,
arg2: ::std::os::raw::c_ulong,
arg3: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_rec_sqrt(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_add(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: mpfr_srcptr,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_sub(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: mpfr_srcptr,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_mul(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: mpfr_srcptr,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_div(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: mpfr_srcptr,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_add_ui(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: ::std::os::raw::c_ulong,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_sub_ui(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: ::std::os::raw::c_ulong,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_ui_sub(
arg1: mpfr_ptr,
arg2: ::std::os::raw::c_ulong,
arg3: mpfr_srcptr,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_mul_ui(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: ::std::os::raw::c_ulong,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_div_ui(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: ::std::os::raw::c_ulong,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_ui_div(
arg1: mpfr_ptr,
arg2: ::std::os::raw::c_ulong,
arg3: mpfr_srcptr,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_add_si(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: ::std::os::raw::c_long,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_sub_si(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: ::std::os::raw::c_long,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_si_sub(
arg1: mpfr_ptr,
arg2: ::std::os::raw::c_long,
arg3: mpfr_srcptr,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_mul_si(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: ::std::os::raw::c_long,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_div_si(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: ::std::os::raw::c_long,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_si_div(
arg1: mpfr_ptr,
arg2: ::std::os::raw::c_long,
arg3: mpfr_srcptr,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_add_d(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: f64,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_sub_d(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: f64,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_d_sub(
arg1: mpfr_ptr,
arg2: f64,
arg3: mpfr_srcptr,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_mul_d(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: f64,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_div_d(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: f64,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_d_div(
arg1: mpfr_ptr,
arg2: f64,
arg3: mpfr_srcptr,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_sqr(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_const_pi(arg1: mpfr_ptr, arg2: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_const_log2(arg1: mpfr_ptr, arg2: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_const_euler(arg1: mpfr_ptr, arg2: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_const_catalan(arg1: mpfr_ptr, arg2: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_agm(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: mpfr_srcptr,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_log(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_log2(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_log10(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t)
-> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_log1p(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t)
-> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_log_ui(
arg1: mpfr_ptr,
arg2: ::std::os::raw::c_ulong,
arg3: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_exp(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_exp2(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_exp10(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t)
-> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_expm1(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t)
-> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_eint(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_li2(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_cmp(arg1: mpfr_srcptr, arg2: mpfr_srcptr) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_cmp3(
arg1: mpfr_srcptr,
arg2: mpfr_srcptr,
arg3: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_cmp_d(arg1: mpfr_srcptr, arg2: f64) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_cmp_ld(arg1: mpfr_srcptr, arg2: u128) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_cmpabs(arg1: mpfr_srcptr, arg2: mpfr_srcptr) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_cmp_ui(arg1: mpfr_srcptr, arg2: ::std::os::raw::c_ulong) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_cmp_si(arg1: mpfr_srcptr, arg2: ::std::os::raw::c_long) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_cmp_ui_2exp(
arg1: mpfr_srcptr,
arg2: ::std::os::raw::c_ulong,
arg3: mpfr_exp_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_cmp_si_2exp(
arg1: mpfr_srcptr,
arg2: ::std::os::raw::c_long,
arg3: mpfr_exp_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_reldiff(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_srcptr, arg4: mpfr_rnd_t);
}
extern "C" {
pub fn mpfr_eq(
arg1: mpfr_srcptr,
arg2: mpfr_srcptr,
arg3: ::std::os::raw::c_ulong,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_sgn(arg1: mpfr_srcptr) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_mul_2exp(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: ::std::os::raw::c_ulong,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_div_2exp(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: ::std::os::raw::c_ulong,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_mul_2ui(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: ::std::os::raw::c_ulong,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_div_2ui(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: ::std::os::raw::c_ulong,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_mul_2si(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: ::std::os::raw::c_long,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_div_2si(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: ::std::os::raw::c_long,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_rint(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_roundeven(arg1: mpfr_ptr, arg2: mpfr_srcptr) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_round(arg1: mpfr_ptr, arg2: mpfr_srcptr) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_trunc(arg1: mpfr_ptr, arg2: mpfr_srcptr) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_ceil(arg1: mpfr_ptr, arg2: mpfr_srcptr) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_floor(arg1: mpfr_ptr, arg2: mpfr_srcptr) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_rint_roundeven(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_rint_round(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_rint_trunc(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_rint_ceil(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_rint_floor(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_frac(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_modf(
arg1: mpfr_ptr,
arg2: mpfr_ptr,
arg3: mpfr_srcptr,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_remquo(
arg1: mpfr_ptr,
arg2: *mut ::std::os::raw::c_long,
arg3: mpfr_srcptr,
arg4: mpfr_srcptr,
arg5: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_remainder(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: mpfr_srcptr,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_fmod(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: mpfr_srcptr,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_fmodquo(
arg1: mpfr_ptr,
arg2: *mut ::std::os::raw::c_long,
arg3: mpfr_srcptr,
arg4: mpfr_srcptr,
arg5: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_fits_ulong_p(arg1: mpfr_srcptr, arg2: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_fits_slong_p(arg1: mpfr_srcptr, arg2: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_fits_uint_p(arg1: mpfr_srcptr, arg2: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_fits_sint_p(arg1: mpfr_srcptr, arg2: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_fits_ushort_p(arg1: mpfr_srcptr, arg2: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_fits_sshort_p(arg1: mpfr_srcptr, arg2: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_fits_uintmax_p(arg1: mpfr_srcptr, arg2: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_fits_intmax_p(arg1: mpfr_srcptr, arg2: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_extract(arg1: mpz_ptr, arg2: mpfr_srcptr, arg3: ::std::os::raw::c_uint);
}
extern "C" {
pub fn mpfr_swap(arg1: mpfr_ptr, arg2: mpfr_ptr);
}
extern "C" {
pub fn mpfr_dump(arg1: mpfr_srcptr);
}
extern "C" {
pub fn mpfr_nan_p(arg1: mpfr_srcptr) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_inf_p(arg1: mpfr_srcptr) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_number_p(arg1: mpfr_srcptr) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_integer_p(arg1: mpfr_srcptr) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_zero_p(arg1: mpfr_srcptr) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_regular_p(arg1: mpfr_srcptr) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_greater_p(arg1: mpfr_srcptr, arg2: mpfr_srcptr) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_greaterequal_p(arg1: mpfr_srcptr, arg2: mpfr_srcptr) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_less_p(arg1: mpfr_srcptr, arg2: mpfr_srcptr) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_lessequal_p(arg1: mpfr_srcptr, arg2: mpfr_srcptr) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_lessgreater_p(arg1: mpfr_srcptr, arg2: mpfr_srcptr) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_equal_p(arg1: mpfr_srcptr, arg2: mpfr_srcptr) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_unordered_p(arg1: mpfr_srcptr, arg2: mpfr_srcptr) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_atanh(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t)
-> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_acosh(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t)
-> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_asinh(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t)
-> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_cosh(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_sinh(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_tanh(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_sinh_cosh(
arg1: mpfr_ptr,
arg2: mpfr_ptr,
arg3: mpfr_srcptr,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_sech(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_csch(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_coth(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_acos(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_asin(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_atan(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_sin(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_sin_cos(
arg1: mpfr_ptr,
arg2: mpfr_ptr,
arg3: mpfr_srcptr,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_cos(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_tan(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_atan2(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: mpfr_srcptr,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_sec(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_csc(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_cot(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_hypot(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: mpfr_srcptr,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_erf(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_erfc(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_cbrt(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_root(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: ::std::os::raw::c_ulong,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_rootn_ui(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: ::std::os::raw::c_ulong,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_gamma(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t)
-> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_gamma_inc(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: mpfr_srcptr,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_beta(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: mpfr_srcptr,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_lngamma(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_lgamma(
arg1: mpfr_ptr,
arg2: *mut ::std::os::raw::c_int,
arg3: mpfr_srcptr,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_digamma(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_zeta(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_zeta_ui(
arg1: mpfr_ptr,
arg2: ::std::os::raw::c_ulong,
arg3: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_fac_ui(
arg1: mpfr_ptr,
arg2: ::std::os::raw::c_ulong,
arg3: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_j0(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_j1(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_jn(
arg1: mpfr_ptr,
arg2: ::std::os::raw::c_long,
arg3: mpfr_srcptr,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_y0(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_y1(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_yn(
arg1: mpfr_ptr,
arg2: ::std::os::raw::c_long,
arg3: mpfr_srcptr,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_ai(arg1: mpfr_ptr, arg2: mpfr_srcptr, arg3: mpfr_rnd_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_min(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: mpfr_srcptr,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_max(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: mpfr_srcptr,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_dim(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: mpfr_srcptr,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_mul_z(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: mpz_srcptr,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_div_z(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: mpz_srcptr,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_add_z(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: mpz_srcptr,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_sub_z(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: mpz_srcptr,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_z_sub(
arg1: mpfr_ptr,
arg2: mpz_srcptr,
arg3: mpfr_srcptr,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_cmp_z(arg1: mpfr_srcptr, arg2: mpz_srcptr) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_fma(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: mpfr_srcptr,
arg4: mpfr_srcptr,
arg5: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_fms(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: mpfr_srcptr,
arg4: mpfr_srcptr,
arg5: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_fmma(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: mpfr_srcptr,
arg4: mpfr_srcptr,
arg5: mpfr_srcptr,
arg6: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_fmms(
arg1: mpfr_ptr,
arg2: mpfr_srcptr,
arg3: mpfr_srcptr,
arg4: mpfr_srcptr,
arg5: mpfr_srcptr,
arg6: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_sum(
arg1: mpfr_ptr,
arg2: *const mpfr_ptr,
arg3: ::std::os::raw::c_ulong,
arg4: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_free_cache();
}
extern "C" {
pub fn mpfr_free_cache2(arg1: mpfr_free_cache_t);
}
extern "C" {
pub fn mpfr_free_pool();
}
extern "C" {
pub fn mpfr_mp_memory_cleanup() -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_subnormalize(
arg1: mpfr_ptr,
arg2: ::std::os::raw::c_int,
arg3: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_strtofr(
arg1: mpfr_ptr,
arg2: *const ::std::os::raw::c_char,
arg3: *mut *mut ::std::os::raw::c_char,
arg4: ::std::os::raw::c_int,
arg5: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_round_nearest_away_begin(arg1: *mut __mpfr_struct);
}
extern "C" {
pub fn mpfr_round_nearest_away_end(
arg1: *mut __mpfr_struct,
arg2: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpfr_custom_get_size(arg1: mpfr_prec_t) -> usize;
}
extern "C" {
pub fn mpfr_custom_init(arg1: *mut ::std::os::raw::c_void, arg2: mpfr_prec_t);
}
extern "C" {
pub fn mpfr_custom_get_significand(arg1: mpfr_srcptr) -> *mut ::std::os::raw::c_void;
}
extern "C" {
pub fn mpfr_custom_get_exp(arg1: mpfr_srcptr) -> mpfr_exp_t;
}
extern "C" {
pub fn mpfr_custom_move(arg1: mpfr_ptr, arg2: *mut ::std::os::raw::c_void);
}
extern "C" {
pub fn mpfr_custom_init_set(
arg1: mpfr_ptr,
arg2: ::std::os::raw::c_int,
arg3: mpfr_exp_t,
arg4: mpfr_prec_t,
arg5: *mut ::std::os::raw::c_void,
);
}
extern "C" {
pub fn mpfr_custom_get_kind(arg1: mpfr_srcptr) -> ::std::os::raw::c_int;
}
pub type va_list = __builtin_va_list;
pub type __gnuc_va_list = __builtin_va_list;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct __mbstate_t {
pub __count: ::std::os::raw::c_int,
pub __value: __mbstate_t__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union __mbstate_t__bindgen_ty_1 {
pub __wch: ::std::os::raw::c_uint,
pub __wchb: [::std::os::raw::c_char; 4usize],
_bindgen_union_align: u32,
}
#[test]
fn bindgen_test_layout___mbstate_t__bindgen_ty_1() {
assert_eq!(
::std::mem::size_of::<__mbstate_t__bindgen_ty_1>(),
4usize,
concat!("Size of: ", stringify!(__mbstate_t__bindgen_ty_1))
);
assert_eq!(
::std::mem::align_of::<__mbstate_t__bindgen_ty_1>(),
4usize,
concat!("Alignment of ", stringify!(__mbstate_t__bindgen_ty_1))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__mbstate_t__bindgen_ty_1>())).__wch as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__mbstate_t__bindgen_ty_1),
"::",
stringify!(__wch)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<__mbstate_t__bindgen_ty_1>())).__wchb as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(__mbstate_t__bindgen_ty_1),
"::",
stringify!(__wchb)
)
);
}
#[test]
fn bindgen_test_layout___mbstate_t() {
assert_eq!(
::std::mem::size_of::<__mbstate_t>(),
8usize,
concat!("Size of: ", stringify!(__mbstate_t))
);
assert_eq!(
::std::mem::align_of::<__mbstate_t>(),
4usize,
concat!("Alignment of ", stringify!(__mbstate_t))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__mbstate_t>())).__count as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__mbstate_t),
"::",
stringify!(__count)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__mbstate_t>())).__value as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(__mbstate_t),
"::",
stringify!(__value)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _G_fpos_t {
pub __pos: __off_t,
pub __state: __mbstate_t,
}
#[test]
fn bindgen_test_layout__G_fpos_t() {
assert_eq!(
::std::mem::size_of::<_G_fpos_t>(),
16usize,
concat!("Size of: ", stringify!(_G_fpos_t))
);
assert_eq!(
::std::mem::align_of::<_G_fpos_t>(),
8usize,
concat!("Alignment of ", stringify!(_G_fpos_t))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_G_fpos_t>())).__pos as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_G_fpos_t),
"::",
stringify!(__pos)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_G_fpos_t>())).__state as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_G_fpos_t),
"::",
stringify!(__state)
)
);
}
pub type __fpos_t = _G_fpos_t;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _G_fpos64_t {
pub __pos: __off64_t,
pub __state: __mbstate_t,
}
#[test]
fn bindgen_test_layout__G_fpos64_t() {
assert_eq!(
::std::mem::size_of::<_G_fpos64_t>(),
16usize,
concat!("Size of: ", stringify!(_G_fpos64_t))
);
assert_eq!(
::std::mem::align_of::<_G_fpos64_t>(),
8usize,
concat!("Alignment of ", stringify!(_G_fpos64_t))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_G_fpos64_t>())).__pos as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_G_fpos64_t),
"::",
stringify!(__pos)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_G_fpos64_t>())).__state as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_G_fpos64_t),
"::",
stringify!(__state)
)
);
}
pub type __fpos64_t = _G_fpos64_t;
pub type __FILE = _IO_FILE;
pub type FILE = _IO_FILE;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _IO_marker {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _IO_codecvt {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _IO_wide_data {
_unused: [u8; 0],
}
pub type _IO_lock_t = ::std::os::raw::c_void;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _IO_FILE {
pub _flags: ::std::os::raw::c_int,
pub _IO_read_ptr: *mut ::std::os::raw::c_char,
pub _IO_read_end: *mut ::std::os::raw::c_char,
pub _IO_read_base: *mut ::std::os::raw::c_char,
pub _IO_write_base: *mut ::std::os::raw::c_char,
pub _IO_write_ptr: *mut ::std::os::raw::c_char,
pub _IO_write_end: *mut ::std::os::raw::c_char,
pub _IO_buf_base: *mut ::std::os::raw::c_char,
pub _IO_buf_end: *mut ::std::os::raw::c_char,
pub _IO_save_base: *mut ::std::os::raw::c_char,
pub _IO_backup_base: *mut ::std::os::raw::c_char,
pub _IO_save_end: *mut ::std::os::raw::c_char,
pub _markers: *mut _IO_marker,
pub _chain: *mut _IO_FILE,
pub _fileno: ::std::os::raw::c_int,
pub _flags2: ::std::os::raw::c_int,
pub _old_offset: __off_t,
pub _cur_column: ::std::os::raw::c_ushort,
pub _vtable_offset: ::std::os::raw::c_schar,
pub _shortbuf: [::std::os::raw::c_char; 1usize],
pub _lock: *mut _IO_lock_t,
pub _offset: __off64_t,
pub _codecvt: *mut _IO_codecvt,
pub _wide_data: *mut _IO_wide_data,
pub _freeres_list: *mut _IO_FILE,
pub _freeres_buf: *mut ::std::os::raw::c_void,
pub __pad5: usize,
pub _mode: ::std::os::raw::c_int,
pub _unused2: [::std::os::raw::c_char; 20usize],
}
#[test]
fn bindgen_test_layout__IO_FILE() {
assert_eq!(
::std::mem::size_of::<_IO_FILE>(),
216usize,
concat!("Size of: ", stringify!(_IO_FILE))
);
assert_eq!(
::std::mem::align_of::<_IO_FILE>(),
8usize,
concat!("Alignment of ", stringify!(_IO_FILE))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._flags as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_flags)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_read_ptr as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_IO_read_ptr)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_read_end as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_IO_read_end)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_read_base as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_IO_read_base)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_write_base as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_IO_write_base)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_write_ptr as *const _ as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_IO_write_ptr)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_write_end as *const _ as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_IO_write_end)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_buf_base as *const _ as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_IO_buf_base)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_buf_end as *const _ as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_IO_buf_end)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_save_base as *const _ as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_IO_save_base)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_backup_base as *const _ as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_IO_backup_base)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_save_end as *const _ as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_IO_save_end)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._markers as *const _ as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_markers)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._chain as *const _ as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_chain)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._fileno as *const _ as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_fileno)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._flags2 as *const _ as usize },
116usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_flags2)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._old_offset as *const _ as usize },
120usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_old_offset)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._cur_column as *const _ as usize },
128usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_cur_column)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._vtable_offset as *const _ as usize },
130usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_vtable_offset)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._shortbuf as *const _ as usize },
131usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_shortbuf)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._lock as *const _ as usize },
136usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_lock)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._offset as *const _ as usize },
144usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_offset)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._codecvt as *const _ as usize },
152usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_codecvt)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._wide_data as *const _ as usize },
160usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_wide_data)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._freeres_list as *const _ as usize },
168usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_freeres_list)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._freeres_buf as *const _ as usize },
176usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_freeres_buf)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>())).__pad5 as *const _ as usize },
184usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(__pad5)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._mode as *const _ as usize },
192usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_mode)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._unused2 as *const _ as usize },
196usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_unused2)
)
);
}
pub type fpos_t = __fpos_t;
extern "C" {
pub static mut stdin: *mut FILE;
}
extern "C" {
pub static mut stdout: *mut FILE;
}
extern "C" {
pub static mut stderr: *mut FILE;
}
extern "C" {
pub fn remove(__filename: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn rename(
__old: *const ::std::os::raw::c_char,
__new: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn renameat(
__oldfd: ::std::os::raw::c_int,
__old: *const ::std::os::raw::c_char,
__newfd: ::std::os::raw::c_int,
__new: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn tmpfile() -> *mut FILE;
}
extern "C" {
pub fn tmpnam(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn tmpnam_r(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn tempnam(
__dir: *const ::std::os::raw::c_char,
__pfx: *const ::std::os::raw::c_char,
) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn fclose(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fflush(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fflush_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fopen(
__filename: *const ::std::os::raw::c_char,
__modes: *const ::std::os::raw::c_char,
) -> *mut FILE;
}
extern "C" {
pub fn freopen(
__filename: *const ::std::os::raw::c_char,
__modes: *const ::std::os::raw::c_char,
__stream: *mut FILE,
) -> *mut FILE;
}
extern "C" {
pub fn fdopen(__fd: ::std::os::raw::c_int, __modes: *const ::std::os::raw::c_char)
-> *mut FILE;
}
extern "C" {
pub fn fmemopen(
__s: *mut ::std::os::raw::c_void,
__len: usize,
__modes: *const ::std::os::raw::c_char,
) -> *mut FILE;
}
extern "C" {
pub fn open_memstream(
__bufloc: *mut *mut ::std::os::raw::c_char,
__sizeloc: *mut usize,
) -> *mut FILE;
}
extern "C" {
pub fn setbuf(__stream: *mut FILE, __buf: *mut ::std::os::raw::c_char);
}
extern "C" {
pub fn setvbuf(
__stream: *mut FILE,
__buf: *mut ::std::os::raw::c_char,
__modes: ::std::os::raw::c_int,
__n: usize,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn setbuffer(__stream: *mut FILE, __buf: *mut ::std::os::raw::c_char, __size: usize);
}
extern "C" {
pub fn setlinebuf(__stream: *mut FILE);
}
extern "C" {
pub fn fprintf(
__stream: *mut FILE,
__format: *const ::std::os::raw::c_char,
...
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn printf(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn sprintf(
__s: *mut ::std::os::raw::c_char,
__format: *const ::std::os::raw::c_char,
...
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn vfprintf(
__s: *mut FILE,
__format: *const ::std::os::raw::c_char,
__arg: *mut __va_list_tag,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn vprintf(
__format: *const ::std::os::raw::c_char,
__arg: *mut __va_list_tag,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn vsprintf(
__s: *mut ::std::os::raw::c_char,
__format: *const ::std::os::raw::c_char,
__arg: *mut __va_list_tag,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn snprintf(
__s: *mut ::std::os::raw::c_char,
__maxlen: ::std::os::raw::c_ulong,
__format: *const ::std::os::raw::c_char,
...
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn vsnprintf(
__s: *mut ::std::os::raw::c_char,
__maxlen: ::std::os::raw::c_ulong,
__format: *const ::std::os::raw::c_char,
__arg: *mut __va_list_tag,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn vdprintf(
__fd: ::std::os::raw::c_int,
__fmt: *const ::std::os::raw::c_char,
__arg: *mut __va_list_tag,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn dprintf(
__fd: ::std::os::raw::c_int,
__fmt: *const ::std::os::raw::c_char,
...
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fscanf(
__stream: *mut FILE,
__format: *const ::std::os::raw::c_char,
...
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn scanf(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn sscanf(
__s: *const ::std::os::raw::c_char,
__format: *const ::std::os::raw::c_char,
...
) -> ::std::os::raw::c_int;
}
extern "C" {
#[link_name = "\u{1}__isoc99_fscanf"]
pub fn fscanf1(
__stream: *mut FILE,
__format: *const ::std::os::raw::c_char,
...
) -> ::std::os::raw::c_int;
}
extern "C" {
#[link_name = "\u{1}__isoc99_scanf"]
pub fn scanf1(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
}
extern "C" {
#[link_name = "\u{1}__isoc99_sscanf"]
pub fn sscanf1(
__s: *const ::std::os::raw::c_char,
__format: *const ::std::os::raw::c_char,
...
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn vfscanf(
__s: *mut FILE,
__format: *const ::std::os::raw::c_char,
__arg: *mut __va_list_tag,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn vscanf(
__format: *const ::std::os::raw::c_char,
__arg: *mut __va_list_tag,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn vsscanf(
__s: *const ::std::os::raw::c_char,
__format: *const ::std::os::raw::c_char,
__arg: *mut __va_list_tag,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[link_name = "\u{1}__isoc99_vfscanf"]
pub fn vfscanf1(
__s: *mut FILE,
__format: *const ::std::os::raw::c_char,
__arg: *mut __va_list_tag,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[link_name = "\u{1}__isoc99_vscanf"]
pub fn vscanf1(
__format: *const ::std::os::raw::c_char,
__arg: *mut __va_list_tag,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[link_name = "\u{1}__isoc99_vsscanf"]
pub fn vsscanf1(
__s: *const ::std::os::raw::c_char,
__format: *const ::std::os::raw::c_char,
__arg: *mut __va_list_tag,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fgetc(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn getc(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn getchar() -> ::std::os::raw::c_int;
}
extern "C" {
pub fn getc_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn getchar_unlocked() -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fgetc_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fputc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn putc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn putchar(__c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fputc_unlocked(__c: ::std::os::raw::c_int, __stream: *mut FILE)
-> ::std::os::raw::c_int;
}
extern "C" {
pub fn putc_unlocked(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn putchar_unlocked(__c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn getw(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn putw(__w: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fgets(
__s: *mut ::std::os::raw::c_char,
__n: ::std::os::raw::c_int,
__stream: *mut FILE,
) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn __getdelim(
__lineptr: *mut *mut ::std::os::raw::c_char,
__n: *mut usize,
__delimiter: ::std::os::raw::c_int,
__stream: *mut FILE,
) -> __ssize_t;
}
extern "C" {
pub fn getdelim(
__lineptr: *mut *mut ::std::os::raw::c_char,
__n: *mut usize,
__delimiter: ::std::os::raw::c_int,
__stream: *mut FILE,
) -> __ssize_t;
}
extern "C" {
pub fn getline(
__lineptr: *mut *mut ::std::os::raw::c_char,
__n: *mut usize,
__stream: *mut FILE,
) -> __ssize_t;
}
extern "C" {
pub fn fputs(__s: *const ::std::os::raw::c_char, __stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn puts(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn ungetc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fread(
__ptr: *mut ::std::os::raw::c_void,
__size: ::std::os::raw::c_ulong,
__n: ::std::os::raw::c_ulong,
__stream: *mut FILE,
) -> ::std::os::raw::c_ulong;
}
extern "C" {
pub fn fwrite(
__ptr: *const ::std::os::raw::c_void,
__size: ::std::os::raw::c_ulong,
__n: ::std::os::raw::c_ulong,
__s: *mut FILE,
) -> ::std::os::raw::c_ulong;
}
extern "C" {
pub fn fread_unlocked(
__ptr: *mut ::std::os::raw::c_void,
__size: usize,
__n: usize,
__stream: *mut FILE,
) -> usize;
}
extern "C" {
pub fn fwrite_unlocked(
__ptr: *const ::std::os::raw::c_void,
__size: usize,
__n: usize,
__stream: *mut FILE,
) -> usize;
}
extern "C" {
pub fn fseek(
__stream: *mut FILE,
__off: ::std::os::raw::c_long,
__whence: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn ftell(__stream: *mut FILE) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn rewind(__stream: *mut FILE);
}
extern "C" {
pub fn fseeko(
__stream: *mut FILE,
__off: __off_t,
__whence: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn ftello(__stream: *mut FILE) -> __off_t;
}
extern "C" {
pub fn fgetpos(__stream: *mut FILE, __pos: *mut fpos_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fsetpos(__stream: *mut FILE, __pos: *const fpos_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn clearerr(__stream: *mut FILE);
}
extern "C" {
pub fn feof(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn ferror(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn clearerr_unlocked(__stream: *mut FILE);
}
extern "C" {
pub fn feof_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn ferror_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn perror(__s: *const ::std::os::raw::c_char);
}
extern "C" {
pub static mut sys_nerr: ::std::os::raw::c_int;
}
extern "C" {
pub static mut sys_errlist: [*const ::std::os::raw::c_char; 0usize];
}
extern "C" {
pub fn fileno(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fileno_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn popen(
__command: *const ::std::os::raw::c_char,
__modes: *const ::std::os::raw::c_char,
) -> *mut FILE;
}
extern "C" {
pub fn pclose(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn ctermid(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn flockfile(__stream: *mut FILE);
}
extern "C" {
pub fn ftrylockfile(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn funlockfile(__stream: *mut FILE);
}
extern "C" {
pub fn __uflow(arg1: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __overflow(arg1: *mut FILE, arg2: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
pub const idtype_t_P_ALL: idtype_t = 0;
pub const idtype_t_P_PID: idtype_t = 1;
pub const idtype_t_P_PGID: idtype_t = 2;
pub type idtype_t = u32;
pub type _Float32 = f32;
pub type _Float64 = f64;
pub type _Float32x = f64;
pub type _Float64x = u128;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct div_t {
pub quot: ::std::os::raw::c_int,
pub rem: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_div_t() {
assert_eq!(
::std::mem::size_of::<div_t>(),
8usize,
concat!("Size of: ", stringify!(div_t))
);
assert_eq!(
::std::mem::align_of::<div_t>(),
4usize,
concat!("Alignment of ", stringify!(div_t))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<div_t>())).quot as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(div_t),
"::",
stringify!(quot)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<div_t>())).rem as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(div_t),
"::",
stringify!(rem)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ldiv_t {
pub quot: ::std::os::raw::c_long,
pub rem: ::std::os::raw::c_long,
}
#[test]
fn bindgen_test_layout_ldiv_t() {
assert_eq!(
::std::mem::size_of::<ldiv_t>(),
16usize,
concat!("Size of: ", stringify!(ldiv_t))
);
assert_eq!(
::std::mem::align_of::<ldiv_t>(),
8usize,
concat!("Alignment of ", stringify!(ldiv_t))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ldiv_t>())).quot as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(ldiv_t),
"::",
stringify!(quot)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ldiv_t>())).rem as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(ldiv_t),
"::",
stringify!(rem)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct lldiv_t {
pub quot: ::std::os::raw::c_longlong,
pub rem: ::std::os::raw::c_longlong,
}
#[test]
fn bindgen_test_layout_lldiv_t() {
assert_eq!(
::std::mem::size_of::<lldiv_t>(),
16usize,
concat!("Size of: ", stringify!(lldiv_t))
);
assert_eq!(
::std::mem::align_of::<lldiv_t>(),
8usize,
concat!("Alignment of ", stringify!(lldiv_t))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<lldiv_t>())).quot as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(lldiv_t),
"::",
stringify!(quot)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<lldiv_t>())).rem as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(lldiv_t),
"::",
stringify!(rem)
)
);
}
extern "C" {
pub fn __ctype_get_mb_cur_max() -> usize;
}
extern "C" {
pub fn atof(__nptr: *const ::std::os::raw::c_char) -> f64;
}
extern "C" {
pub fn atoi(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn atol(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn atoll(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_longlong;
}
extern "C" {
pub fn strtod(
__nptr: *const ::std::os::raw::c_char,
__endptr: *mut *mut ::std::os::raw::c_char,
) -> f64;
}
extern "C" {
pub fn strtof(
__nptr: *const ::std::os::raw::c_char,
__endptr: *mut *mut ::std::os::raw::c_char,
) -> f32;
}
extern "C" {
pub fn strtold(
__nptr: *const ::std::os::raw::c_char,
__endptr: *mut *mut ::std::os::raw::c_char,
) -> u128;
}
extern "C" {
pub fn strtol(
__nptr: *const ::std::os::raw::c_char,
__endptr: *mut *mut ::std::os::raw::c_char,
__base: ::std::os::raw::c_int,
) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn strtoul(
__nptr: *const ::std::os::raw::c_char,
__endptr: *mut *mut ::std::os::raw::c_char,
__base: ::std::os::raw::c_int,
) -> ::std::os::raw::c_ulong;
}
extern "C" {
pub fn strtoq(
__nptr: *const ::std::os::raw::c_char,
__endptr: *mut *mut ::std::os::raw::c_char,
__base: ::std::os::raw::c_int,
) -> ::std::os::raw::c_longlong;
}
extern "C" {
pub fn strtouq(
__nptr: *const ::std::os::raw::c_char,
__endptr: *mut *mut ::std::os::raw::c_char,
__base: ::std::os::raw::c_int,
) -> ::std::os::raw::c_ulonglong;
}
extern "C" {
pub fn strtoll(
__nptr: *const ::std::os::raw::c_char,
__endptr: *mut *mut ::std::os::raw::c_char,
__base: ::std::os::raw::c_int,
) -> ::std::os::raw::c_longlong;
}
extern "C" {
pub fn strtoull(
__nptr: *const ::std::os::raw::c_char,
__endptr: *mut *mut ::std::os::raw::c_char,
__base: ::std::os::raw::c_int,
) -> ::std::os::raw::c_ulonglong;
}
extern "C" {
pub fn l64a(__n: ::std::os::raw::c_long) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn a64l(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn random() -> ::std::os::raw::c_long;
}
extern "C" {
pub fn srandom(__seed: ::std::os::raw::c_uint);
}
extern "C" {
pub fn initstate(
__seed: ::std::os::raw::c_uint,
__statebuf: *mut ::std::os::raw::c_char,
__statelen: usize,
) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn setstate(__statebuf: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct random_data {
pub fptr: *mut i32,
pub rptr: *mut i32,
pub state: *mut i32,
pub rand_type: ::std::os::raw::c_int,
pub rand_deg: ::std::os::raw::c_int,
pub rand_sep: ::std::os::raw::c_int,
pub end_ptr: *mut i32,
}
#[test]
fn bindgen_test_layout_random_data() {
assert_eq!(
::std::mem::size_of::<random_data>(),
48usize,
concat!("Size of: ", stringify!(random_data))
);
assert_eq!(
::std::mem::align_of::<random_data>(),
8usize,
concat!("Alignment of ", stringify!(random_data))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<random_data>())).fptr as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(random_data),
"::",
stringify!(fptr)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<random_data>())).rptr as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(random_data),
"::",
stringify!(rptr)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<random_data>())).state as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(random_data),
"::",
stringify!(state)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<random_data>())).rand_type as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(random_data),
"::",
stringify!(rand_type)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<random_data>())).rand_deg as *const _ as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(random_data),
"::",
stringify!(rand_deg)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<random_data>())).rand_sep as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(random_data),
"::",
stringify!(rand_sep)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<random_data>())).end_ptr as *const _ as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(random_data),
"::",
stringify!(end_ptr)
)
);
}
extern "C" {
pub fn random_r(__buf: *mut random_data, __result: *mut i32) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn srandom_r(
__seed: ::std::os::raw::c_uint,
__buf: *mut random_data,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn initstate_r(
__seed: ::std::os::raw::c_uint,
__statebuf: *mut ::std::os::raw::c_char,
__statelen: usize,
__buf: *mut random_data,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn setstate_r(
__statebuf: *mut ::std::os::raw::c_char,
__buf: *mut random_data,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn rand() -> ::std::os::raw::c_int;
}
extern "C" {
pub fn srand(__seed: ::std::os::raw::c_uint);
}
extern "C" {
pub fn rand_r(__seed: *mut ::std::os::raw::c_uint) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn drand48() -> f64;
}
extern "C" {
pub fn erand48(__xsubi: *mut ::std::os::raw::c_ushort) -> f64;
}
extern "C" {
pub fn lrand48() -> ::std::os::raw::c_long;
}
extern "C" {
pub fn nrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn mrand48() -> ::std::os::raw::c_long;
}
extern "C" {
pub fn jrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn srand48(__seedval: ::std::os::raw::c_long);
}
extern "C" {
pub fn seed48(__seed16v: *mut ::std::os::raw::c_ushort) -> *mut ::std::os::raw::c_ushort;
}
extern "C" {
pub fn lcong48(__param: *mut ::std::os::raw::c_ushort);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drand48_data {
pub __x: [::std::os::raw::c_ushort; 3usize],
pub __old_x: [::std::os::raw::c_ushort; 3usize],
pub __c: ::std::os::raw::c_ushort,
pub __init: ::std::os::raw::c_ushort,
pub __a: ::std::os::raw::c_ulonglong,
}
#[test]
fn bindgen_test_layout_drand48_data() {
assert_eq!(
::std::mem::size_of::<drand48_data>(),
24usize,
concat!("Size of: ", stringify!(drand48_data))
);
assert_eq!(
::std::mem::align_of::<drand48_data>(),
8usize,
concat!("Alignment of ", stringify!(drand48_data))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<drand48_data>())).__x as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(drand48_data),
"::",
stringify!(__x)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<drand48_data>())).__old_x as *const _ as usize },
6usize,
concat!(
"Offset of field: ",
stringify!(drand48_data),
"::",
stringify!(__old_x)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<drand48_data>())).__c as *const _ as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(drand48_data),
"::",
stringify!(__c)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<drand48_data>())).__init as *const _ as usize },
14usize,
concat!(
"Offset of field: ",
stringify!(drand48_data),
"::",
stringify!(__init)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<drand48_data>())).__a as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(drand48_data),
"::",
stringify!(__a)
)
);
}
extern "C" {
pub fn drand48_r(__buffer: *mut drand48_data, __result: *mut f64) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn erand48_r(
__xsubi: *mut ::std::os::raw::c_ushort,
__buffer: *mut drand48_data,
__result: *mut f64,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn lrand48_r(
__buffer: *mut drand48_data,
__result: *mut ::std::os::raw::c_long,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn nrand48_r(
__xsubi: *mut ::std::os::raw::c_ushort,
__buffer: *mut drand48_data,
__result: *mut ::std::os::raw::c_long,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mrand48_r(
__buffer: *mut drand48_data,
__result: *mut ::std::os::raw::c_long,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn jrand48_r(
__xsubi: *mut ::std::os::raw::c_ushort,
__buffer: *mut drand48_data,
__result: *mut ::std::os::raw::c_long,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn srand48_r(
__seedval: ::std::os::raw::c_long,
__buffer: *mut drand48_data,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn seed48_r(
__seed16v: *mut ::std::os::raw::c_ushort,
__buffer: *mut drand48_data,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn lcong48_r(
__param: *mut ::std::os::raw::c_ushort,
__buffer: *mut drand48_data,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn malloc(__size: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void;
}
extern "C" {
pub fn calloc(
__nmemb: ::std::os::raw::c_ulong,
__size: ::std::os::raw::c_ulong,
) -> *mut ::std::os::raw::c_void;
}
extern "C" {
pub fn realloc(
__ptr: *mut ::std::os::raw::c_void,
__size: ::std::os::raw::c_ulong,
) -> *mut ::std::os::raw::c_void;
}
extern "C" {
pub fn reallocarray(
__ptr: *mut ::std::os::raw::c_void,
__nmemb: usize,
__size: usize,
) -> *mut ::std::os::raw::c_void;
}
extern "C" {
pub fn free(__ptr: *mut ::std::os::raw::c_void);
}
extern "C" {
pub fn alloca(__size: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void;
}
extern "C" {
pub fn valloc(__size: usize) -> *mut ::std::os::raw::c_void;
}
extern "C" {
pub fn posix_memalign(
__memptr: *mut *mut ::std::os::raw::c_void,
__alignment: usize,
__size: usize,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn aligned_alloc(__alignment: usize, __size: usize) -> *mut ::std::os::raw::c_void;
}
extern "C" {
pub fn abort();
}
extern "C" {
pub fn atexit(__func: ::std::option::Option<unsafe extern "C" fn()>) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn at_quick_exit(
__func: ::std::option::Option<unsafe extern "C" fn()>,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn on_exit(
__func: ::std::option::Option<
unsafe extern "C" fn(
__status: ::std::os::raw::c_int,
__arg: *mut ::std::os::raw::c_void,
),
>,
__arg: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn exit(__status: ::std::os::raw::c_int);
}
extern "C" {
pub fn quick_exit(__status: ::std::os::raw::c_int);
}
extern "C" {
pub fn _Exit(__status: ::std::os::raw::c_int);
}
extern "C" {
pub fn getenv(__name: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn putenv(__string: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn setenv(
__name: *const ::std::os::raw::c_char,
__value: *const ::std::os::raw::c_char,
__replace: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn unsetenv(__name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn clearenv() -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mktemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn mkstemp(__template: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mkstemps(
__template: *mut ::std::os::raw::c_char,
__suffixlen: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mkdtemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn system(__command: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn realpath(
__name: *const ::std::os::raw::c_char,
__resolved: *mut ::std::os::raw::c_char,
) -> *mut ::std::os::raw::c_char;
}
pub type __compar_fn_t = ::std::option::Option<
unsafe extern "C" fn(
arg1: *const ::std::os::raw::c_void,
arg2: *const ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>;
extern "C" {
pub fn bsearch(
__key: *const ::std::os::raw::c_void,
__base: *const ::std::os::raw::c_void,
__nmemb: usize,
__size: usize,
__compar: __compar_fn_t,
) -> *mut ::std::os::raw::c_void;
}
extern "C" {
pub fn qsort(
__base: *mut ::std::os::raw::c_void,
__nmemb: usize,
__size: usize,
__compar: __compar_fn_t,
);
}
extern "C" {
pub fn abs(__x: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn labs(__x: ::std::os::raw::c_long) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn llabs(__x: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong;
}
extern "C" {
pub fn div(__numer: ::std::os::raw::c_int, __denom: ::std::os::raw::c_int) -> div_t;
}
extern "C" {
pub fn ldiv(__numer: ::std::os::raw::c_long, __denom: ::std::os::raw::c_long) -> ldiv_t;
}
extern "C" {
pub fn lldiv(
__numer: ::std::os::raw::c_longlong,
__denom: ::std::os::raw::c_longlong,
) -> lldiv_t;
}
extern "C" {
pub fn ecvt(
__value: f64,
__ndigit: ::std::os::raw::c_int,
__decpt: *mut ::std::os::raw::c_int,
__sign: *mut ::std::os::raw::c_int,
) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn fcvt(
__value: f64,
__ndigit: ::std::os::raw::c_int,
__decpt: *mut ::std::os::raw::c_int,
__sign: *mut ::std::os::raw::c_int,
) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn gcvt(
__value: f64,
__ndigit: ::std::os::raw::c_int,
__buf: *mut ::std::os::raw::c_char,
) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn qecvt(
__value: u128,
__ndigit: ::std::os::raw::c_int,
__decpt: *mut ::std::os::raw::c_int,
__sign: *mut ::std::os::raw::c_int,
) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn qfcvt(
__value: u128,
__ndigit: ::std::os::raw::c_int,
__decpt: *mut ::std::os::raw::c_int,
__sign: *mut ::std::os::raw::c_int,
) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn qgcvt(
__value: u128,
__ndigit: ::std::os::raw::c_int,
__buf: *mut ::std::os::raw::c_char,
) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn ecvt_r(
__value: f64,
__ndigit: ::std::os::raw::c_int,
__decpt: *mut ::std::os::raw::c_int,
__sign: *mut ::std::os::raw::c_int,
__buf: *mut ::std::os::raw::c_char,
__len: usize,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fcvt_r(
__value: f64,
__ndigit: ::std::os::raw::c_int,
__decpt: *mut ::std::os::raw::c_int,
__sign: *mut ::std::os::raw::c_int,
__buf: *mut ::std::os::raw::c_char,
__len: usize,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn qecvt_r(
__value: u128,
__ndigit: ::std::os::raw::c_int,
__decpt: *mut ::std::os::raw::c_int,
__sign: *mut ::std::os::raw::c_int,
__buf: *mut ::std::os::raw::c_char,
__len: usize,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn qfcvt_r(
__value: u128,
__ndigit: ::std::os::raw::c_int,
__decpt: *mut ::std::os::raw::c_int,
__sign: *mut ::std::os::raw::c_int,
__buf: *mut ::std::os::raw::c_char,
__len: usize,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mblen(__s: *const ::std::os::raw::c_char, __n: usize) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mbtowc(
__pwc: *mut wchar_t,
__s: *const ::std::os::raw::c_char,
__n: usize,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn wctomb(__s: *mut ::std::os::raw::c_char, __wchar: wchar_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mbstowcs(__pwcs: *mut wchar_t, __s: *const ::std::os::raw::c_char, __n: usize) -> usize;
}
extern "C" {
pub fn wcstombs(__s: *mut ::std::os::raw::c_char, __pwcs: *const wchar_t, __n: usize) -> usize;
}
extern "C" {
pub fn rpmatch(__response: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn getsubopt(
__optionp: *mut *mut ::std::os::raw::c_char,
__tokens: *const *mut ::std::os::raw::c_char,
__valuep: *mut *mut ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn getloadavg(__loadavg: *mut f64, __nelem: ::std::os::raw::c_int)
-> ::std::os::raw::c_int;
}
extern "C" {
pub static mut rec_word_tab: [::std::os::raw::c_int; 256usize];
}
extern "C" {
pub static mut flint_version: [::std::os::raw::c_char; 0usize];
}
extern "C" {
pub fn flint_malloc(size: usize) -> *mut ::std::os::raw::c_void;
}
extern "C" {
pub fn flint_realloc(
ptr: *mut ::std::os::raw::c_void,
size: usize,
) -> *mut ::std::os::raw::c_void;
}
extern "C" {
pub fn flint_calloc(num: usize, size: usize) -> *mut ::std::os::raw::c_void;
}
extern "C" {
pub fn flint_free(ptr: *mut ::std::os::raw::c_void);
}
pub type flint_cleanup_function_t = ::std::option::Option<unsafe extern "C" fn()>;
extern "C" {
pub fn flint_register_cleanup_function(cleanup_function: flint_cleanup_function_t);
}
extern "C" {
pub fn flint_cleanup();
}
extern "C" {
pub fn flint_cleanup_master();
}
extern "C" {
pub fn __flint_set_memory_functions(
alloc_func: ::std::option::Option<
unsafe extern "C" fn(arg1: usize) -> *mut ::std::os::raw::c_void,
>,
calloc_func: ::std::option::Option<
unsafe extern "C" fn(arg1: usize, arg2: usize) -> *mut ::std::os::raw::c_void,
>,
realloc_func: ::std::option::Option<
unsafe extern "C" fn(
arg1: *mut ::std::os::raw::c_void,
arg2: usize,
) -> *mut ::std::os::raw::c_void,
>,
free_func: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
);
}
extern "C" {
pub fn flint_abort();
}
extern "C" {
pub fn flint_set_abort(func: ::std::option::Option<unsafe extern "C" fn()>);
}
extern "C" {
pub fn flint_get_num_threads() -> ::std::os::raw::c_int;
}
extern "C" {
pub fn flint_set_num_threads(num_threads: ::std::os::raw::c_int);
}
extern "C" {
pub fn _flint_set_num_workers(num_workers: ::std::os::raw::c_int);
}
extern "C" {
pub fn flint_set_num_workers(num_workers: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn flint_reset_num_workers(max_workers: ::std::os::raw::c_int);
}
extern "C" {
pub fn flint_set_thread_affinity(
cpus: *mut ::std::os::raw::c_int,
length: mp_limb_signed_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn flint_restore_thread_affinity() -> ::std::os::raw::c_int;
}
extern "C" {
pub fn flint_test_multiplier() -> ::std::os::raw::c_int;
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct flint_rand_s {
pub gmp_state: gmp_randstate_t,
pub gmp_init: ::std::os::raw::c_int,
pub __randval: mp_limb_t,
pub __randval2: mp_limb_t,
}
#[test]
fn bindgen_test_layout_flint_rand_s() {
assert_eq!(
::std::mem::size_of::<flint_rand_s>(),
56usize,
concat!("Size of: ", stringify!(flint_rand_s))
);
assert_eq!(
::std::mem::align_of::<flint_rand_s>(),
8usize,
concat!("Alignment of ", stringify!(flint_rand_s))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<flint_rand_s>())).gmp_state as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(flint_rand_s),
"::",
stringify!(gmp_state)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<flint_rand_s>())).gmp_init as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(flint_rand_s),
"::",
stringify!(gmp_init)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<flint_rand_s>())).__randval as *const _ as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(flint_rand_s),
"::",
stringify!(__randval)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<flint_rand_s>())).__randval2 as *const _ as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(flint_rand_s),
"::",
stringify!(__randval2)
)
);
}
pub type flint_rand_t = [flint_rand_s; 1usize];
pub type flint_mpfr = __mpfr_struct;
extern "C" {
pub fn parse_fmt(
floating: *mut ::std::os::raw::c_int,
fmt: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn flint_printf(str: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn flint_vprintf(
str: *const ::std::os::raw::c_char,
ap: *mut __va_list_tag,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn flint_fprintf(
f: *mut FILE,
str: *const ::std::os::raw::c_char,
...
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn flint_sprintf(
s: *mut ::std::os::raw::c_char,
str: *const ::std::os::raw::c_char,
...
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn flint_scanf(str: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn flint_fscanf(
f: *mut FILE,
str: *const ::std::os::raw::c_char,
...
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn flint_sscanf(
s: *const ::std::os::raw::c_char,
str: *const ::std::os::raw::c_char,
...
) -> ::std::os::raw::c_int;
}
pub const flint_err_t_FLINT_ERROR: flint_err_t = 0;
pub const flint_err_t_FLINT_IMPINV: flint_err_t = 1;
pub const flint_err_t_FLINT_DOMERR: flint_err_t = 2;
pub const flint_err_t_FLINT_DIVZERO: flint_err_t = 3;
pub const flint_err_t_FLINT_EXPOF: flint_err_t = 4;
pub const flint_err_t_FLINT_INEXACT: flint_err_t = 5;
pub type flint_err_t = u32;
extern "C" {
pub fn flint_throw(exc: flint_err_t, msg: *const ::std::os::raw::c_char, ...);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct pair_s {
pub x: mp_limb_t,
pub y: mp_limb_t,
}
#[test]
fn bindgen_test_layout_pair_s() {
assert_eq!(
::std::mem::size_of::<pair_s>(),
16usize,
concat!("Size of: ", stringify!(pair_s))
);
assert_eq!(
::std::mem::align_of::<pair_s>(),
8usize,
concat!("Alignment of ", stringify!(pair_s))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pair_s>())).x as *const _ as usize },
0usize,
concat!("Offset of field: ", stringify!(pair_s), "::", stringify!(x))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pair_s>())).y as *const _ as usize },
8usize,
concat!("Offset of field: ", stringify!(pair_s), "::", stringify!(y))
);
}
pub type n_pair_t = pair_s;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct n_factor_t {
pub num: ::std::os::raw::c_int,
pub exp: [::std::os::raw::c_int; 15usize],
pub p: [mp_limb_t; 15usize],
}
#[test]
fn bindgen_test_layout_n_factor_t() {
assert_eq!(
::std::mem::size_of::<n_factor_t>(),
184usize,
concat!("Size of: ", stringify!(n_factor_t))
);
assert_eq!(
::std::mem::align_of::<n_factor_t>(),
8usize,
concat!("Alignment of ", stringify!(n_factor_t))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<n_factor_t>())).num as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(n_factor_t),
"::",
stringify!(num)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<n_factor_t>())).exp as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(n_factor_t),
"::",
stringify!(exp)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<n_factor_t>())).p as *const _ as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(n_factor_t),
"::",
stringify!(p)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct n_primes_struct {
pub small_i: mp_limb_signed_t,
pub small_num: mp_limb_signed_t,
pub small_primes: *mut ::std::os::raw::c_uint,
pub sieve_a: mp_limb_t,
pub sieve_b: mp_limb_t,
pub sieve_i: mp_limb_signed_t,
pub sieve_num: mp_limb_signed_t,
pub sieve: *mut ::std::os::raw::c_char,
}
#[test]
fn bindgen_test_layout_n_primes_struct() {
assert_eq!(
::std::mem::size_of::<n_primes_struct>(),
64usize,
concat!("Size of: ", stringify!(n_primes_struct))
);
assert_eq!(
::std::mem::align_of::<n_primes_struct>(),
8usize,
concat!("Alignment of ", stringify!(n_primes_struct))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<n_primes_struct>())).small_i as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(n_primes_struct),
"::",
stringify!(small_i)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<n_primes_struct>())).small_num as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(n_primes_struct),
"::",
stringify!(small_num)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<n_primes_struct>())).small_primes as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(n_primes_struct),
"::",
stringify!(small_primes)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<n_primes_struct>())).sieve_a as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(n_primes_struct),
"::",
stringify!(sieve_a)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<n_primes_struct>())).sieve_b as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(n_primes_struct),
"::",
stringify!(sieve_b)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<n_primes_struct>())).sieve_i as *const _ as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(n_primes_struct),
"::",
stringify!(sieve_i)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<n_primes_struct>())).sieve_num as *const _ as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(n_primes_struct),
"::",
stringify!(sieve_num)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<n_primes_struct>())).sieve as *const _ as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(n_primes_struct),
"::",
stringify!(sieve)
)
);
}
pub type n_primes_t = [n_primes_struct; 1usize];
extern "C" {
pub fn n_primes_init(iter: *mut n_primes_struct);
}
extern "C" {
pub fn n_primes_clear(iter: *mut n_primes_struct);
}
extern "C" {
pub fn n_primes_extend_small(iter: *mut n_primes_struct, bound: mp_limb_t);
}
extern "C" {
pub fn n_primes_sieve_range(iter: *mut n_primes_struct, a: mp_limb_t, b: mp_limb_t);
}
extern "C" {
pub fn n_primes_jump_after(iter: *mut n_primes_struct, n: mp_limb_t);
}
extern "C" {
pub static mut flint_primes_small: [::std::os::raw::c_uint; 0usize];
}
extern "C" {
pub static mut _flint_primes: [*mut mp_limb_t; 64usize];
}
extern "C" {
pub static mut _flint_prime_inverses: [*mut f64; 64usize];
}
extern "C" {
pub static mut _flint_primes_used: ::std::os::raw::c_int;
}
extern "C" {
pub fn n_compute_primes(num_primes: mp_limb_t);
}
extern "C" {
pub fn n_cleanup_primes();
}
extern "C" {
pub fn n_primes_arr_readonly(n: mp_limb_t) -> *const mp_limb_t;
}
extern "C" {
pub fn n_prime_inverses_arr_readonly(n: mp_limb_t) -> *const f64;
}
extern "C" {
pub fn n_randlimb(state: *mut flint_rand_s) -> mp_limb_t;
}
extern "C" {
pub fn n_randint(state: *mut flint_rand_s, limit: mp_limb_t) -> mp_limb_t;
}
extern "C" {
pub fn n_urandint(state: *mut flint_rand_s, limit: mp_limb_t) -> mp_limb_t;
}
extern "C" {
pub fn n_randbits(state: *mut flint_rand_s, bits: ::std::os::raw::c_uint) -> mp_limb_t;
}
extern "C" {
pub fn n_randtest_bits(state: *mut flint_rand_s, bits: ::std::os::raw::c_int) -> mp_limb_t;
}
extern "C" {
pub fn n_randtest(state: *mut flint_rand_s) -> mp_limb_t;
}
extern "C" {
pub fn n_randtest_not_zero(state: *mut flint_rand_s) -> mp_limb_t;
}
extern "C" {
pub fn n_randprime(
state: *mut flint_rand_s,
bits: mp_limb_t,
proved: ::std::os::raw::c_int,
) -> mp_limb_t;
}
extern "C" {
pub fn n_randtest_prime(state: *mut flint_rand_s, proved: ::std::os::raw::c_int) -> mp_limb_t;
}
extern "C" {
pub fn n_pow(n: mp_limb_t, exp: mp_limb_t) -> mp_limb_t;
}
extern "C" {
pub fn n_flog(n: mp_limb_t, b: mp_limb_t) -> mp_limb_t;
}
extern "C" {
pub fn n_clog(n: mp_limb_t, b: mp_limb_t) -> mp_limb_t;
}
extern "C" {
pub fn n_mod_precomp(a: mp_limb_t, n: mp_limb_t, ninv: f64) -> mp_limb_t;
}
extern "C" {
pub fn n_mod2_precomp(a: mp_limb_t, n: mp_limb_t, ninv: f64) -> mp_limb_t;
}
extern "C" {
pub fn n_divrem2_precomp(q: *mut mp_limb_t, a: mp_limb_t, n: mp_limb_t, npre: f64)
-> mp_limb_t;
}
extern "C" {
pub fn n_divrem2_preinv(
q: *mut mp_limb_t,
a: mp_limb_t,
n: mp_limb_t,
ninv: mp_limb_t,
) -> mp_limb_t;
}
extern "C" {
pub fn n_div2_preinv(a: mp_limb_t, n: mp_limb_t, ninv: mp_limb_t) -> mp_limb_t;
}
extern "C" {
pub fn n_mod2_preinv(a: mp_limb_t, n: mp_limb_t, ninv: mp_limb_t) -> mp_limb_t;
}
extern "C" {
pub fn n_ll_mod_preinv(
a_hi: mp_limb_t,
a_lo: mp_limb_t,
n: mp_limb_t,
ninv: mp_limb_t,
) -> mp_limb_t;
}
extern "C" {
pub fn n_lll_mod_preinv(
a_hi: mp_limb_t,
a_mi: mp_limb_t,
a_lo: mp_limb_t,
n: mp_limb_t,
ninv: mp_limb_t,
) -> mp_limb_t;
}
extern "C" {
pub fn n_mulmod_precomp(a: mp_limb_t, b: mp_limb_t, n: mp_limb_t, ninv: f64) -> mp_limb_t;
}
extern "C" {
pub fn n_mulmod_preinv(
a: mp_limb_t,
b: mp_limb_t,
n: mp_limb_t,
ninv: mp_limb_t,
norm: mp_limb_t,
) -> mp_limb_t;
}
extern "C" {
pub fn n_powmod_ui_precomp(a: mp_limb_t, exp: mp_limb_t, n: mp_limb_t, npre: f64) -> mp_limb_t;
}
extern "C" {
pub fn n_powmod_precomp(
a: mp_limb_t,
exp: mp_limb_signed_t,
n: mp_limb_t,
npre: f64,
) -> mp_limb_t;
}
extern "C" {
pub fn n_powmod2_preinv(
a: mp_limb_t,
exp: mp_limb_signed_t,
n: mp_limb_t,
ninv: mp_limb_t,
) -> mp_limb_t;
}
extern "C" {
pub fn n_powmod2_ui_preinv(
a: mp_limb_t,
exp: mp_limb_t,
n: mp_limb_t,
ninv: mp_limb_t,
) -> mp_limb_t;
}
extern "C" {
pub fn n_powmod_ui_preinv(
a: mp_limb_t,
exp: mp_limb_t,
n: mp_limb_t,
ninv: mp_limb_t,
norm: mp_limb_t,
) -> mp_limb_t;
}
extern "C" {
pub fn n_sqrtmod(a: mp_limb_t, p: mp_limb_t) -> mp_limb_t;
}
extern "C" {
pub fn n_sqrtmod_2pow(
sqrt: *mut *mut mp_limb_t,
a: mp_limb_t,
exp: mp_limb_signed_t,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn n_sqrtmod_primepow(
sqrt: *mut *mut mp_limb_t,
a: mp_limb_t,
p: mp_limb_t,
exp: mp_limb_signed_t,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn n_sqrtmodn(
sqrt: *mut *mut mp_limb_t,
a: mp_limb_t,
fac: *mut n_factor_t,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn n_gcd(x: mp_limb_t, y: mp_limb_t) -> mp_limb_t;
}
extern "C" {
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;
}
extern "C" {
pub fn n_gcdinv(a: *mut mp_limb_t, x: mp_limb_t, y: mp_limb_t) -> mp_limb_t;
}
extern "C" {
pub fn n_CRT(r1: mp_limb_t, m1: mp_limb_t, r2: mp_limb_t, m2: mp_limb_t) -> mp_limb_t;
}
extern "C" {
pub fn n_revbin(in_: mp_limb_t, bits: mp_limb_t) -> mp_limb_t;
}
extern "C" {
pub fn n_jacobi(x: mp_limb_signed_t, y: mp_limb_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn n_jacobi_unsigned(x: mp_limb_t, y: mp_limb_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn n_sqrt(a: mp_limb_t) -> mp_limb_t;
}
extern "C" {
pub fn n_sqrtrem(r: *mut mp_limb_t, a: mp_limb_t) -> mp_limb_t;
}
extern "C" {
pub fn n_is_square(x: mp_limb_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn n_cbrt_estimate(a: f64) -> f64;
}
extern "C" {
pub fn n_cbrt(a: mp_limb_t) -> mp_limb_t;
}
extern "C" {
pub fn n_cbrt_binary_search(x: mp_limb_t) -> mp_limb_t;
}
extern "C" {
pub fn n_cbrt_newton_iteration(n: mp_limb_t) -> mp_limb_t;
}
extern "C" {
pub fn n_cbrt_chebyshev_approx(n: mp_limb_t) -> mp_limb_t;
}
extern "C" {
pub fn n_cbrtrem(remainder: *mut mp_limb_t, n: mp_limb_t) -> mp_limb_t;
}
extern "C" {
pub fn n_is_perfect_power235(n: mp_limb_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn n_is_perfect_power(root: *mut mp_limb_t, n: mp_limb_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn n_is_oddprime_small(n: mp_limb_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn n_is_oddprime_binary(n: mp_limb_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn n_is_probabprime_fermat(n: mp_limb_t, i: mp_limb_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn n_is_probabprime_fibonacci(n: mp_limb_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn n_is_probabprime_lucas(n: mp_limb_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn n_is_probabprime_BPSW(n: mp_limb_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn n_is_strong_probabprime_precomp(
n: mp_limb_t,
npre: f64,
a: mp_limb_t,
d: mp_limb_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn n_is_strong_probabprime2_preinv(
n: mp_limb_t,
ninv: mp_limb_t,
a: mp_limb_t,
d: mp_limb_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn n_is_probabprime(n: mp_limb_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn n_is_prime_pseudosquare(n: mp_limb_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn n_is_prime_pocklington(n: mp_limb_t, iterations: mp_limb_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn n_is_prime(n: mp_limb_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn n_nth_prime(n: mp_limb_t) -> mp_limb_t;
}
extern "C" {
pub fn n_nth_prime_bounds(lo: *mut mp_limb_t, hi: *mut mp_limb_t, n: mp_limb_t);
}
extern "C" {
pub fn n_prime_pi(n: mp_limb_t) -> mp_limb_t;
}
extern "C" {
pub fn n_prime_pi_bounds(lo: *mut mp_limb_t, hi: *mut mp_limb_t, n: mp_limb_t);
}
extern "C" {
pub fn n_remove(n: *mut mp_limb_t, p: mp_limb_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn n_remove2_precomp(n: *mut mp_limb_t, p: mp_limb_t, ppre: f64) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn n_factor_insert(factors: *mut n_factor_t, p: mp_limb_t, exp: mp_limb_t);
}
extern "C" {
pub fn n_factor_trial_range(
factors: *mut n_factor_t,
n: mp_limb_t,
start: mp_limb_t,
num_primes: mp_limb_t,
) -> mp_limb_t;
}
extern "C" {
pub fn n_factor_trial_partial(
factors: *mut n_factor_t,
n: mp_limb_t,
prod: *mut mp_limb_t,
num_primes: mp_limb_t,
limit: mp_limb_t,
) -> mp_limb_t;
}
extern "C" {
pub fn n_factor_trial(
factors: *mut n_factor_t,
n: mp_limb_t,
num_primes: mp_limb_t,
) -> mp_limb_t;
}
extern "C" {
pub fn n_factor_partial(
factors: *mut n_factor_t,
n: mp_limb_t,
limit: mp_limb_t,
proved: ::std::os::raw::c_int,
) -> mp_limb_t;
}
extern "C" {
pub fn n_factor_power235(exp: *mut mp_limb_t, n: mp_limb_t) -> mp_limb_t;
}
extern "C" {
pub fn n_factor_one_line(n: mp_limb_t, iters: mp_limb_t) -> mp_limb_t;
}
extern "C" {
pub fn n_factor_lehman(n: mp_limb_t) -> mp_limb_t;
}
extern "C" {
pub fn n_factor_SQUFOF(n: mp_limb_t, iters: mp_limb_t) -> mp_limb_t;
}
extern "C" {
pub fn n_factor(factors: *mut n_factor_t, n: mp_limb_t, proved: ::std::os::raw::c_int);
}
extern "C" {
pub fn n_factor_pp1(n: mp_limb_t, B1: mp_limb_t, c: mp_limb_t) -> mp_limb_t;
}
extern "C" {
pub fn n_factor_pp1_wrapper(n: mp_limb_t) -> mp_limb_t;
}
extern "C" {
pub fn n_factor_pp1_table_insert(
bits: mp_limb_signed_t,
B1: mp_limb_signed_t,
count: mp_limb_signed_t,
);
}
extern "C" {
pub fn n_factor_pollard_brent_single(
factor: *mut mp_limb_t,
n: mp_limb_t,
ninv: mp_limb_t,
ai: mp_limb_t,
xi: mp_limb_t,
normbits: mp_limb_t,
max_iters: mp_limb_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn n_factor_pollard_brent(
factor: *mut mp_limb_t,
state: *mut flint_rand_s,
n_in: mp_limb_t,
max_tries: mp_limb_t,
max_iters: mp_limb_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn n_is_squarefree(n: mp_limb_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn n_moebius_mu(n: mp_limb_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn n_moebius_mu_vec(mu: *mut ::std::os::raw::c_int, len: mp_limb_t);
}
extern "C" {
pub fn n_euler_phi(n: mp_limb_t) -> mp_limb_t;
}
extern "C" {
pub fn n_sizeinbase(n: mp_limb_t, base: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn n_nextprime(n: mp_limb_t, proved: ::std::os::raw::c_int) -> mp_limb_t;
}
extern "C" {
pub fn n_factorial_mod2_preinv(n: mp_limb_t, p: mp_limb_t, pinv: mp_limb_t) -> mp_limb_t;
}
extern "C" {
pub fn n_factorial_fast_mod2_preinv(n: mp_limb_t, p: mp_limb_t, pinv: mp_limb_t) -> mp_limb_t;
}
extern "C" {
pub fn n_primitive_root_prime_prefactor(p: mp_limb_t, factors: *mut n_factor_t) -> mp_limb_t;
}
extern "C" {
pub fn n_primitive_root_prime(p: mp_limb_t) -> mp_limb_t;
}
extern "C" {
pub fn n_discrete_log_bsgs(b: mp_limb_t, a: mp_limb_t, n: mp_limb_t) -> mp_limb_t;
}
extern "C" {
pub fn n_root_estimate(a: f64, n: ::std::os::raw::c_int) -> mp_limb_t;
}
extern "C" {
pub fn n_rootrem(remainder: *mut mp_limb_t, n: mp_limb_t, root: mp_limb_t) -> mp_limb_t;
}
extern "C" {
pub fn n_root(n: mp_limb_t, root: mp_limb_t) -> mp_limb_t;
}
#[doc = " ECM functions"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct n_ecm_s {
pub x: mp_limb_t,
pub z: mp_limb_t,
pub a24: mp_limb_t,
pub ninv: mp_limb_t,
pub normbits: mp_limb_t,
pub one: mp_limb_t,
pub GCD_table: *mut ::std::os::raw::c_uchar,
pub prime_table: *mut *mut ::std::os::raw::c_uchar,
}
#[test]
fn bindgen_test_layout_n_ecm_s() {
assert_eq!(
::std::mem::size_of::<n_ecm_s>(),
64usize,
concat!("Size of: ", stringify!(n_ecm_s))
);
assert_eq!(
::std::mem::align_of::<n_ecm_s>(),
8usize,
concat!("Alignment of ", stringify!(n_ecm_s))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<n_ecm_s>())).x as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(n_ecm_s),
"::",
stringify!(x)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<n_ecm_s>())).z as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(n_ecm_s),
"::",
stringify!(z)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<n_ecm_s>())).a24 as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(n_ecm_s),
"::",
stringify!(a24)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<n_ecm_s>())).ninv as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(n_ecm_s),
"::",
stringify!(ninv)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<n_ecm_s>())).normbits as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(n_ecm_s),
"::",
stringify!(normbits)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<n_ecm_s>())).one as *const _ as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(n_ecm_s),
"::",
stringify!(one)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<n_ecm_s>())).GCD_table as *const _ as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(n_ecm_s),
"::",
stringify!(GCD_table)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<n_ecm_s>())).prime_table as *const _ as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(n_ecm_s),
"::",
stringify!(prime_table)
)
);
}
pub type n_ecm_t = [n_ecm_s; 1usize];
extern "C" {
pub fn n_factor_ecm_double(
x: *mut mp_limb_t,
z: *mut mp_limb_t,
x0: mp_limb_t,
z0: mp_limb_t,
n: mp_limb_t,
n_ecm_inf: *mut n_ecm_s,
);
}
extern "C" {
pub fn n_factor_ecm_add(
x: *mut mp_limb_t,
z: *mut mp_limb_t,
x1: mp_limb_t,
z1: mp_limb_t,
x2: mp_limb_t,
z2: mp_limb_t,
x0: mp_limb_t,
z0: mp_limb_t,
n: mp_limb_t,
n_ecm_inf: *mut n_ecm_s,
);
}
extern "C" {
pub fn n_factor_ecm_mul_montgomery_ladder(
x: *mut mp_limb_t,
z: *mut mp_limb_t,
x0: mp_limb_t,
z0: mp_limb_t,
k: mp_limb_t,
n: mp_limb_t,
n_ecm_inf: *mut n_ecm_s,
);
}
extern "C" {
pub fn n_factor_ecm_select_curve(
f: *mut mp_limb_t,
sig: mp_limb_t,
n: mp_limb_t,
n_ecm_inf: *mut n_ecm_s,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn n_factor_ecm_stage_I(
f: *mut mp_limb_t,
prime_array: *const mp_limb_t,
num: mp_limb_t,
B1: mp_limb_t,
n: mp_limb_t,
n_ecm_inf: *mut n_ecm_s,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn n_factor_ecm_stage_II(
f: *mut mp_limb_t,
B1: mp_limb_t,
B2: mp_limb_t,
P: mp_limb_t,
n: mp_limb_t,
n_ecm_inf: *mut n_ecm_s,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn n_factor_ecm(
f: *mut mp_limb_t,
curves: mp_limb_t,
B1: mp_limb_t,
B2: mp_limb_t,
state: *mut flint_rand_s,
n: mp_limb_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn n_mulmod_precomp_shoup(w: mp_limb_t, p: mp_limb_t) -> mp_limb_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct nmod_t {
pub n: mp_limb_t,
pub ninv: mp_limb_t,
pub norm: mp_limb_t,
}
#[test]
fn bindgen_test_layout_nmod_t() {
assert_eq!(
::std::mem::size_of::<nmod_t>(),
24usize,
concat!("Size of: ", stringify!(nmod_t))
);
assert_eq!(
::std::mem::align_of::<nmod_t>(),
8usize,
concat!("Alignment of ", stringify!(nmod_t))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nmod_t>())).n as *const _ as usize },
0usize,
concat!("Offset of field: ", stringify!(nmod_t), "::", stringify!(n))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nmod_t>())).ninv as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(nmod_t),
"::",
stringify!(ninv)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nmod_t>())).norm as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(nmod_t),
"::",
stringify!(norm)
)
);
}
extern "C" {
pub fn _nmod_vec_randtest(
vec: mp_ptr,
state: *mut flint_rand_s,
len: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn _nmod_vec_max_bits(vec: mp_srcptr, len: mp_limb_signed_t) -> mp_limb_t;
}
extern "C" {
pub fn _nmod_vec_reduce(res: mp_ptr, vec: mp_srcptr, len: mp_limb_signed_t, mod_: nmod_t);
}
extern "C" {
pub fn _nmod_vec_add(
res: mp_ptr,
vec1: mp_srcptr,
vec2: mp_srcptr,
len: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn _nmod_vec_sub(
res: mp_ptr,
vec1: mp_srcptr,
vec2: mp_srcptr,
len: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn _nmod_vec_neg(res: mp_ptr, vec: mp_srcptr, len: mp_limb_signed_t, mod_: nmod_t);
}
extern "C" {
pub fn _nmod_vec_scalar_mul_nmod(
res: mp_ptr,
vec: mp_srcptr,
len: mp_limb_signed_t,
c: mp_limb_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn _nmod_vec_scalar_mul_nmod_shoup(
res: mp_ptr,
vec: mp_srcptr,
len: mp_limb_signed_t,
c: mp_limb_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn _nmod_vec_scalar_addmul_nmod(
res: mp_ptr,
vec: mp_srcptr,
len: mp_limb_signed_t,
c: mp_limb_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn _nmod_vec_dot_bound_limbs(len: mp_limb_signed_t, mod_: nmod_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _nmod_vec_dot(
vec1: mp_srcptr,
vec2: mp_srcptr,
len: mp_limb_signed_t,
mod_: nmod_t,
nlimbs: ::std::os::raw::c_int,
) -> mp_limb_t;
}
extern "C" {
pub fn _nmod_vec_dot_ptr(
vec1: mp_srcptr,
vec2: *const mp_ptr,
offset: mp_limb_signed_t,
len: mp_limb_signed_t,
mod_: nmod_t,
nlimbs: ::std::os::raw::c_int,
) -> mp_limb_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct nmod_discrete_log_pohlig_hellman_table_entry_struct {
pub gammapow: mp_limb_t,
pub cm: mp_limb_t,
}
#[test]
fn bindgen_test_layout_nmod_discrete_log_pohlig_hellman_table_entry_struct() {
assert_eq!(
::std::mem::size_of::<nmod_discrete_log_pohlig_hellman_table_entry_struct>(),
16usize,
concat!(
"Size of: ",
stringify!(nmod_discrete_log_pohlig_hellman_table_entry_struct)
)
);
assert_eq!(
::std::mem::align_of::<nmod_discrete_log_pohlig_hellman_table_entry_struct>(),
8usize,
concat!(
"Alignment of ",
stringify!(nmod_discrete_log_pohlig_hellman_table_entry_struct)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<nmod_discrete_log_pohlig_hellman_table_entry_struct>())).gammapow
as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(nmod_discrete_log_pohlig_hellman_table_entry_struct),
"::",
stringify!(gammapow)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<nmod_discrete_log_pohlig_hellman_table_entry_struct>())).cm
as *const _ as usize
},
8usize,
concat!(
"Offset of field: ",
stringify!(nmod_discrete_log_pohlig_hellman_table_entry_struct),
"::",
stringify!(cm)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct nmod_discrete_log_pohlig_hellman_entry_struct {
pub exp: mp_limb_signed_t,
pub prime: mp_limb_t,
pub gamma: mp_limb_t,
pub gammainv: mp_limb_t,
pub startingbeta: mp_limb_t,
pub co: mp_limb_t,
pub startinge: mp_limb_t,
pub idem: mp_limb_t,
pub cbound: mp_limb_t,
pub dbound: mp_limb_t,
pub table: *mut nmod_discrete_log_pohlig_hellman_table_entry_struct,
}
#[test]
fn bindgen_test_layout_nmod_discrete_log_pohlig_hellman_entry_struct() {
assert_eq!(
::std::mem::size_of::<nmod_discrete_log_pohlig_hellman_entry_struct>(),
88usize,
concat!(
"Size of: ",
stringify!(nmod_discrete_log_pohlig_hellman_entry_struct)
)
);
assert_eq!(
::std::mem::align_of::<nmod_discrete_log_pohlig_hellman_entry_struct>(),
8usize,
concat!(
"Alignment of ",
stringify!(nmod_discrete_log_pohlig_hellman_entry_struct)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<nmod_discrete_log_pohlig_hellman_entry_struct>())).exp
as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(nmod_discrete_log_pohlig_hellman_entry_struct),
"::",
stringify!(exp)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<nmod_discrete_log_pohlig_hellman_entry_struct>())).prime
as *const _ as usize
},
8usize,
concat!(
"Offset of field: ",
stringify!(nmod_discrete_log_pohlig_hellman_entry_struct),
"::",
stringify!(prime)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<nmod_discrete_log_pohlig_hellman_entry_struct>())).gamma
as *const _ as usize
},
16usize,
concat!(
"Offset of field: ",
stringify!(nmod_discrete_log_pohlig_hellman_entry_struct),
"::",
stringify!(gamma)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<nmod_discrete_log_pohlig_hellman_entry_struct>())).gammainv
as *const _ as usize
},
24usize,
concat!(
"Offset of field: ",
stringify!(nmod_discrete_log_pohlig_hellman_entry_struct),
"::",
stringify!(gammainv)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<nmod_discrete_log_pohlig_hellman_entry_struct>())).startingbeta
as *const _ as usize
},
32usize,
concat!(
"Offset of field: ",
stringify!(nmod_discrete_log_pohlig_hellman_entry_struct),
"::",
stringify!(startingbeta)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<nmod_discrete_log_pohlig_hellman_entry_struct>())).co as *const _
as usize
},
40usize,
concat!(
"Offset of field: ",
stringify!(nmod_discrete_log_pohlig_hellman_entry_struct),
"::",
stringify!(co)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<nmod_discrete_log_pohlig_hellman_entry_struct>())).startinge
as *const _ as usize
},
48usize,
concat!(
"Offset of field: ",
stringify!(nmod_discrete_log_pohlig_hellman_entry_struct),
"::",
stringify!(startinge)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<nmod_discrete_log_pohlig_hellman_entry_struct>())).idem
as *const _ as usize
},
56usize,
concat!(
"Offset of field: ",
stringify!(nmod_discrete_log_pohlig_hellman_entry_struct),
"::",
stringify!(idem)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<nmod_discrete_log_pohlig_hellman_entry_struct>())).cbound
as *const _ as usize
},
64usize,
concat!(
"Offset of field: ",
stringify!(nmod_discrete_log_pohlig_hellman_entry_struct),
"::",
stringify!(cbound)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<nmod_discrete_log_pohlig_hellman_entry_struct>())).dbound
as *const _ as usize
},
72usize,
concat!(
"Offset of field: ",
stringify!(nmod_discrete_log_pohlig_hellman_entry_struct),
"::",
stringify!(dbound)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<nmod_discrete_log_pohlig_hellman_entry_struct>())).table
as *const _ as usize
},
80usize,
concat!(
"Offset of field: ",
stringify!(nmod_discrete_log_pohlig_hellman_entry_struct),
"::",
stringify!(table)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct nmod_discrete_log_pohlig_hellman_struct {
pub mod_: nmod_t,
pub alpha: mp_limb_t,
pub alphainv: mp_limb_t,
pub num_factors: mp_limb_signed_t,
pub entries: *mut nmod_discrete_log_pohlig_hellman_entry_struct,
}
#[test]
fn bindgen_test_layout_nmod_discrete_log_pohlig_hellman_struct() {
assert_eq!(
::std::mem::size_of::<nmod_discrete_log_pohlig_hellman_struct>(),
56usize,
concat!(
"Size of: ",
stringify!(nmod_discrete_log_pohlig_hellman_struct)
)
);
assert_eq!(
::std::mem::align_of::<nmod_discrete_log_pohlig_hellman_struct>(),
8usize,
concat!(
"Alignment of ",
stringify!(nmod_discrete_log_pohlig_hellman_struct)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<nmod_discrete_log_pohlig_hellman_struct>())).mod_ as *const _
as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(nmod_discrete_log_pohlig_hellman_struct),
"::",
stringify!(mod_)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<nmod_discrete_log_pohlig_hellman_struct>())).alpha as *const _
as usize
},
24usize,
concat!(
"Offset of field: ",
stringify!(nmod_discrete_log_pohlig_hellman_struct),
"::",
stringify!(alpha)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<nmod_discrete_log_pohlig_hellman_struct>())).alphainv as *const _
as usize
},
32usize,
concat!(
"Offset of field: ",
stringify!(nmod_discrete_log_pohlig_hellman_struct),
"::",
stringify!(alphainv)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<nmod_discrete_log_pohlig_hellman_struct>())).num_factors
as *const _ as usize
},
40usize,
concat!(
"Offset of field: ",
stringify!(nmod_discrete_log_pohlig_hellman_struct),
"::",
stringify!(num_factors)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<nmod_discrete_log_pohlig_hellman_struct>())).entries as *const _
as usize
},
48usize,
concat!(
"Offset of field: ",
stringify!(nmod_discrete_log_pohlig_hellman_struct),
"::",
stringify!(entries)
)
);
}
pub type nmod_discrete_log_pohlig_hellman_t = [nmod_discrete_log_pohlig_hellman_struct; 1usize];
extern "C" {
pub fn nmod_discrete_log_pohlig_hellman_init(L: *mut nmod_discrete_log_pohlig_hellman_struct);
}
extern "C" {
pub fn nmod_discrete_log_pohlig_hellman_clear(L: *mut nmod_discrete_log_pohlig_hellman_struct);
}
extern "C" {
pub fn nmod_discrete_log_pohlig_hellman_precompute_prime(
L: *mut nmod_discrete_log_pohlig_hellman_struct,
p: mp_limb_t,
) -> f64;
}
extern "C" {
pub fn nmod_discrete_log_pohlig_hellman_run(
L: *mut nmod_discrete_log_pohlig_hellman_struct,
y: mp_limb_t,
) -> mp_limb_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct sched_param {
pub sched_priority: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_sched_param() {
assert_eq!(
::std::mem::size_of::<sched_param>(),
4usize,
concat!("Size of: ", stringify!(sched_param))
);
assert_eq!(
::std::mem::align_of::<sched_param>(),
4usize,
concat!("Alignment of ", stringify!(sched_param))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sched_param>())).sched_priority as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(sched_param),
"::",
stringify!(sched_priority)
)
);
}
pub type __cpu_mask = ::std::os::raw::c_ulong;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct cpu_set_t {
pub __bits: [__cpu_mask; 16usize],
}
#[test]
fn bindgen_test_layout_cpu_set_t() {
assert_eq!(
::std::mem::size_of::<cpu_set_t>(),
128usize,
concat!("Size of: ", stringify!(cpu_set_t))
);
assert_eq!(
::std::mem::align_of::<cpu_set_t>(),
8usize,
concat!("Alignment of ", stringify!(cpu_set_t))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<cpu_set_t>())).__bits as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(cpu_set_t),
"::",
stringify!(__bits)
)
);
}
extern "C" {
pub fn __sched_cpucount(__setsize: usize, __setp: *const cpu_set_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __sched_cpualloc(__count: usize) -> *mut cpu_set_t;
}
extern "C" {
pub fn __sched_cpufree(__set: *mut cpu_set_t);
}
extern "C" {
pub fn sched_setparam(__pid: __pid_t, __param: *const sched_param) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn sched_getparam(__pid: __pid_t, __param: *mut sched_param) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn sched_setscheduler(
__pid: __pid_t,
__policy: ::std::os::raw::c_int,
__param: *const sched_param,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn sched_getscheduler(__pid: __pid_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn sched_yield() -> ::std::os::raw::c_int;
}
extern "C" {
pub fn sched_get_priority_max(__algorithm: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn sched_get_priority_min(__algorithm: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn sched_rr_get_interval(__pid: __pid_t, __t: *mut timespec) -> ::std::os::raw::c_int;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct tm {
pub tm_sec: ::std::os::raw::c_int,
pub tm_min: ::std::os::raw::c_int,
pub tm_hour: ::std::os::raw::c_int,
pub tm_mday: ::std::os::raw::c_int,
pub tm_mon: ::std::os::raw::c_int,
pub tm_year: ::std::os::raw::c_int,
pub tm_wday: ::std::os::raw::c_int,
pub tm_yday: ::std::os::raw::c_int,
pub tm_isdst: ::std::os::raw::c_int,
pub tm_gmtoff: ::std::os::raw::c_long,
pub tm_zone: *const ::std::os::raw::c_char,
}
#[test]
fn bindgen_test_layout_tm() {
assert_eq!(
::std::mem::size_of::<tm>(),
56usize,
concat!("Size of: ", stringify!(tm))
);
assert_eq!(
::std::mem::align_of::<tm>(),
8usize,
concat!("Alignment of ", stringify!(tm))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<tm>())).tm_sec as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(tm),
"::",
stringify!(tm_sec)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<tm>())).tm_min as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(tm),
"::",
stringify!(tm_min)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<tm>())).tm_hour as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(tm),
"::",
stringify!(tm_hour)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<tm>())).tm_mday as *const _ as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(tm),
"::",
stringify!(tm_mday)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<tm>())).tm_mon as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(tm),
"::",
stringify!(tm_mon)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<tm>())).tm_year as *const _ as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(tm),
"::",
stringify!(tm_year)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<tm>())).tm_wday as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(tm),
"::",
stringify!(tm_wday)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<tm>())).tm_yday as *const _ as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(tm),
"::",
stringify!(tm_yday)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<tm>())).tm_isdst as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(tm),
"::",
stringify!(tm_isdst)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<tm>())).tm_gmtoff as *const _ as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(tm),
"::",
stringify!(tm_gmtoff)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<tm>())).tm_zone as *const _ as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(tm),
"::",
stringify!(tm_zone)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct itimerspec {
pub it_interval: timespec,
pub it_value: timespec,
}
#[test]
fn bindgen_test_layout_itimerspec() {
assert_eq!(
::std::mem::size_of::<itimerspec>(),
32usize,
concat!("Size of: ", stringify!(itimerspec))
);
assert_eq!(
::std::mem::align_of::<itimerspec>(),
8usize,
concat!("Alignment of ", stringify!(itimerspec))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<itimerspec>())).it_interval as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(itimerspec),
"::",
stringify!(it_interval)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<itimerspec>())).it_value as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(itimerspec),
"::",
stringify!(it_value)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __locale_struct {
pub __locales: [*mut __locale_data; 13usize],
pub __ctype_b: *const ::std::os::raw::c_ushort,
pub __ctype_tolower: *const ::std::os::raw::c_int,
pub __ctype_toupper: *const ::std::os::raw::c_int,
pub __names: [*const ::std::os::raw::c_char; 13usize],
}
#[test]
fn bindgen_test_layout___locale_struct() {
assert_eq!(
::std::mem::size_of::<__locale_struct>(),
232usize,
concat!("Size of: ", stringify!(__locale_struct))
);
assert_eq!(
::std::mem::align_of::<__locale_struct>(),
8usize,
concat!("Alignment of ", stringify!(__locale_struct))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__locale_struct>())).__locales as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__locale_struct),
"::",
stringify!(__locales)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__locale_struct>())).__ctype_b as *const _ as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(__locale_struct),
"::",
stringify!(__ctype_b)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__locale_struct>())).__ctype_tolower as *const _ as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(__locale_struct),
"::",
stringify!(__ctype_tolower)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__locale_struct>())).__ctype_toupper as *const _ as usize },
120usize,
concat!(
"Offset of field: ",
stringify!(__locale_struct),
"::",
stringify!(__ctype_toupper)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__locale_struct>())).__names as *const _ as usize },
128usize,
concat!(
"Offset of field: ",
stringify!(__locale_struct),
"::",
stringify!(__names)
)
);
}
pub type __locale_t = *mut __locale_struct;
pub type locale_t = __locale_t;
extern "C" {
pub fn clock() -> clock_t;
}
extern "C" {
pub fn time(__timer: *mut time_t) -> time_t;
}
extern "C" {
pub fn difftime(__time1: time_t, __time0: time_t) -> f64;
}
extern "C" {
pub fn mktime(__tp: *mut tm) -> time_t;
}
extern "C" {
pub fn strftime(
__s: *mut ::std::os::raw::c_char,
__maxsize: usize,
__format: *const ::std::os::raw::c_char,
__tp: *const tm,
) -> usize;
}
extern "C" {
pub fn strftime_l(
__s: *mut ::std::os::raw::c_char,
__maxsize: usize,
__format: *const ::std::os::raw::c_char,
__tp: *const tm,
__loc: locale_t,
) -> usize;
}
extern "C" {
pub fn gmtime(__timer: *const time_t) -> *mut tm;
}
extern "C" {
pub fn localtime(__timer: *const time_t) -> *mut tm;
}
extern "C" {
pub fn gmtime_r(__timer: *const time_t, __tp: *mut tm) -> *mut tm;
}
extern "C" {
pub fn localtime_r(__timer: *const time_t, __tp: *mut tm) -> *mut tm;
}
extern "C" {
pub fn asctime(__tp: *const tm) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn ctime(__timer: *const time_t) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn asctime_r(
__tp: *const tm,
__buf: *mut ::std::os::raw::c_char,
) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn ctime_r(
__timer: *const time_t,
__buf: *mut ::std::os::raw::c_char,
) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub static mut __tzname: [*mut ::std::os::raw::c_char; 2usize];
}
extern "C" {
pub static mut __daylight: ::std::os::raw::c_int;
}
extern "C" {
pub static mut __timezone: ::std::os::raw::c_long;
}
extern "C" {
pub static mut tzname: [*mut ::std::os::raw::c_char; 2usize];
}
extern "C" {
pub fn tzset();
}
extern "C" {
pub static mut daylight: ::std::os::raw::c_int;
}
extern "C" {
pub static mut timezone: ::std::os::raw::c_long;
}
extern "C" {
pub fn stime(__when: *const time_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn timegm(__tp: *mut tm) -> time_t;
}
extern "C" {
pub fn timelocal(__tp: *mut tm) -> time_t;
}
extern "C" {
pub fn dysize(__year: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn nanosleep(
__requested_time: *const timespec,
__remaining: *mut timespec,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn clock_getres(__clock_id: clockid_t, __res: *mut timespec) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn clock_gettime(__clock_id: clockid_t, __tp: *mut timespec) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn clock_settime(__clock_id: clockid_t, __tp: *const timespec) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn clock_nanosleep(
__clock_id: clockid_t,
__flags: ::std::os::raw::c_int,
__req: *const timespec,
__rem: *mut timespec,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn clock_getcpuclockid(__pid: pid_t, __clock_id: *mut clockid_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn timer_create(
__clock_id: clockid_t,
__evp: *mut sigevent,
__timerid: *mut timer_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn timer_delete(__timerid: timer_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn timer_settime(
__timerid: timer_t,
__flags: ::std::os::raw::c_int,
__value: *const itimerspec,
__ovalue: *mut itimerspec,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn timer_gettime(__timerid: timer_t, __value: *mut itimerspec) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn timer_getoverrun(__timerid: timer_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn timespec_get(
__ts: *mut timespec,
__base: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
pub type __jmp_buf = [::std::os::raw::c_long; 8usize];
pub const PTHREAD_CREATE_JOINABLE: _bindgen_ty_11 = 0;
pub const PTHREAD_CREATE_DETACHED: _bindgen_ty_11 = 1;
pub type _bindgen_ty_11 = u32;
pub const PTHREAD_MUTEX_TIMED_NP: _bindgen_ty_12 = 0;
pub const PTHREAD_MUTEX_RECURSIVE_NP: _bindgen_ty_12 = 1;
pub const PTHREAD_MUTEX_ERRORCHECK_NP: _bindgen_ty_12 = 2;
pub const PTHREAD_MUTEX_ADAPTIVE_NP: _bindgen_ty_12 = 3;
pub const PTHREAD_MUTEX_NORMAL: _bindgen_ty_12 = 0;
pub const PTHREAD_MUTEX_RECURSIVE: _bindgen_ty_12 = 1;
pub const PTHREAD_MUTEX_ERRORCHECK: _bindgen_ty_12 = 2;
pub const PTHREAD_MUTEX_DEFAULT: _bindgen_ty_12 = 0;
pub type _bindgen_ty_12 = u32;
pub const PTHREAD_MUTEX_STALLED: _bindgen_ty_13 = 0;
pub const PTHREAD_MUTEX_STALLED_NP: _bindgen_ty_13 = 0;
pub const PTHREAD_MUTEX_ROBUST: _bindgen_ty_13 = 1;
pub const PTHREAD_MUTEX_ROBUST_NP: _bindgen_ty_13 = 1;
pub type _bindgen_ty_13 = u32;
pub const PTHREAD_PRIO_NONE: _bindgen_ty_14 = 0;
pub const PTHREAD_PRIO_INHERIT: _bindgen_ty_14 = 1;
pub const PTHREAD_PRIO_PROTECT: _bindgen_ty_14 = 2;
pub type _bindgen_ty_14 = u32;
pub const PTHREAD_RWLOCK_PREFER_READER_NP: _bindgen_ty_15 = 0;
pub const PTHREAD_RWLOCK_PREFER_WRITER_NP: _bindgen_ty_15 = 1;
pub const PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP: _bindgen_ty_15 = 2;
pub const PTHREAD_RWLOCK_DEFAULT_NP: _bindgen_ty_15 = 0;
pub type _bindgen_ty_15 = u32;
pub const PTHREAD_INHERIT_SCHED: _bindgen_ty_16 = 0;
pub const PTHREAD_EXPLICIT_SCHED: _bindgen_ty_16 = 1;
pub type _bindgen_ty_16 = u32;
pub const PTHREAD_SCOPE_SYSTEM: _bindgen_ty_17 = 0;
pub const PTHREAD_SCOPE_PROCESS: _bindgen_ty_17 = 1;
pub type _bindgen_ty_17 = u32;
pub const PTHREAD_PROCESS_PRIVATE: _bindgen_ty_18 = 0;
pub const PTHREAD_PROCESS_SHARED: _bindgen_ty_18 = 1;
pub type _bindgen_ty_18 = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _pthread_cleanup_buffer {
pub __routine: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
pub __arg: *mut ::std::os::raw::c_void,
pub __canceltype: ::std::os::raw::c_int,
pub __prev: *mut _pthread_cleanup_buffer,
}
#[test]
fn bindgen_test_layout__pthread_cleanup_buffer() {
assert_eq!(
::std::mem::size_of::<_pthread_cleanup_buffer>(),
32usize,
concat!("Size of: ", stringify!(_pthread_cleanup_buffer))
);
assert_eq!(
::std::mem::align_of::<_pthread_cleanup_buffer>(),
8usize,
concat!("Alignment of ", stringify!(_pthread_cleanup_buffer))
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<_pthread_cleanup_buffer>())).__routine as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(_pthread_cleanup_buffer),
"::",
stringify!(__routine)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_pthread_cleanup_buffer>())).__arg as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_pthread_cleanup_buffer),
"::",
stringify!(__arg)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<_pthread_cleanup_buffer>())).__canceltype as *const _ as usize
},
16usize,
concat!(
"Offset of field: ",
stringify!(_pthread_cleanup_buffer),
"::",
stringify!(__canceltype)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_pthread_cleanup_buffer>())).__prev as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(_pthread_cleanup_buffer),
"::",
stringify!(__prev)
)
);
}
pub const PTHREAD_CANCEL_ENABLE: _bindgen_ty_19 = 0;
pub const PTHREAD_CANCEL_DISABLE: _bindgen_ty_19 = 1;
pub type _bindgen_ty_19 = u32;
pub const PTHREAD_CANCEL_DEFERRED: _bindgen_ty_20 = 0;
pub const PTHREAD_CANCEL_ASYNCHRONOUS: _bindgen_ty_20 = 1;
pub type _bindgen_ty_20 = u32;
extern "C" {
pub fn pthread_create(
__newthread: *mut pthread_t,
__attr: *const pthread_attr_t,
__start_routine: ::std::option::Option<
unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> *mut ::std::os::raw::c_void,
>,
__arg: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_exit(__retval: *mut ::std::os::raw::c_void);
}
extern "C" {
pub fn pthread_join(
__th: pthread_t,
__thread_return: *mut *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_detach(__th: pthread_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_self() -> pthread_t;
}
extern "C" {
pub fn pthread_equal(__thread1: pthread_t, __thread2: pthread_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_attr_init(__attr: *mut pthread_attr_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_attr_destroy(__attr: *mut pthread_attr_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_attr_getdetachstate(
__attr: *const pthread_attr_t,
__detachstate: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_attr_setdetachstate(
__attr: *mut pthread_attr_t,
__detachstate: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_attr_getguardsize(
__attr: *const pthread_attr_t,
__guardsize: *mut usize,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_attr_setguardsize(
__attr: *mut pthread_attr_t,
__guardsize: usize,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_attr_getschedparam(
__attr: *const pthread_attr_t,
__param: *mut sched_param,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_attr_setschedparam(
__attr: *mut pthread_attr_t,
__param: *const sched_param,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_attr_getschedpolicy(
__attr: *const pthread_attr_t,
__policy: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_attr_setschedpolicy(
__attr: *mut pthread_attr_t,
__policy: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_attr_getinheritsched(
__attr: *const pthread_attr_t,
__inherit: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_attr_setinheritsched(
__attr: *mut pthread_attr_t,
__inherit: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_attr_getscope(
__attr: *const pthread_attr_t,
__scope: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_attr_setscope(
__attr: *mut pthread_attr_t,
__scope: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_attr_getstackaddr(
__attr: *const pthread_attr_t,
__stackaddr: *mut *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_attr_setstackaddr(
__attr: *mut pthread_attr_t,
__stackaddr: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_attr_getstacksize(
__attr: *const pthread_attr_t,
__stacksize: *mut usize,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_attr_setstacksize(
__attr: *mut pthread_attr_t,
__stacksize: usize,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_attr_getstack(
__attr: *const pthread_attr_t,
__stackaddr: *mut *mut ::std::os::raw::c_void,
__stacksize: *mut usize,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_attr_setstack(
__attr: *mut pthread_attr_t,
__stackaddr: *mut ::std::os::raw::c_void,
__stacksize: usize,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_setschedparam(
__target_thread: pthread_t,
__policy: ::std::os::raw::c_int,
__param: *const sched_param,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_getschedparam(
__target_thread: pthread_t,
__policy: *mut ::std::os::raw::c_int,
__param: *mut sched_param,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_setschedprio(
__target_thread: pthread_t,
__prio: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_once(
__once_control: *mut pthread_once_t,
__init_routine: ::std::option::Option<unsafe extern "C" fn()>,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_setcancelstate(
__state: ::std::os::raw::c_int,
__oldstate: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_setcanceltype(
__type: ::std::os::raw::c_int,
__oldtype: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_cancel(__th: pthread_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_testcancel();
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __pthread_unwind_buf_t {
pub __cancel_jmp_buf: [__pthread_unwind_buf_t__bindgen_ty_1; 1usize],
pub __pad: [*mut ::std::os::raw::c_void; 4usize],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __pthread_unwind_buf_t__bindgen_ty_1 {
pub __cancel_jmp_buf: __jmp_buf,
pub __mask_was_saved: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout___pthread_unwind_buf_t__bindgen_ty_1() {
assert_eq!(
::std::mem::size_of::<__pthread_unwind_buf_t__bindgen_ty_1>(),
72usize,
concat!(
"Size of: ",
stringify!(__pthread_unwind_buf_t__bindgen_ty_1)
)
);
assert_eq!(
::std::mem::align_of::<__pthread_unwind_buf_t__bindgen_ty_1>(),
8usize,
concat!(
"Alignment of ",
stringify!(__pthread_unwind_buf_t__bindgen_ty_1)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<__pthread_unwind_buf_t__bindgen_ty_1>())).__cancel_jmp_buf
as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(__pthread_unwind_buf_t__bindgen_ty_1),
"::",
stringify!(__cancel_jmp_buf)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<__pthread_unwind_buf_t__bindgen_ty_1>())).__mask_was_saved
as *const _ as usize
},
64usize,
concat!(
"Offset of field: ",
stringify!(__pthread_unwind_buf_t__bindgen_ty_1),
"::",
stringify!(__mask_was_saved)
)
);
}
#[test]
fn bindgen_test_layout___pthread_unwind_buf_t() {
assert_eq!(
::std::mem::size_of::<__pthread_unwind_buf_t>(),
104usize,
concat!("Size of: ", stringify!(__pthread_unwind_buf_t))
);
assert_eq!(
::std::mem::align_of::<__pthread_unwind_buf_t>(),
8usize,
concat!("Alignment of ", stringify!(__pthread_unwind_buf_t))
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<__pthread_unwind_buf_t>())).__cancel_jmp_buf as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(__pthread_unwind_buf_t),
"::",
stringify!(__cancel_jmp_buf)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__pthread_unwind_buf_t>())).__pad as *const _ as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(__pthread_unwind_buf_t),
"::",
stringify!(__pad)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __pthread_cleanup_frame {
pub __cancel_routine:
::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
pub __cancel_arg: *mut ::std::os::raw::c_void,
pub __do_it: ::std::os::raw::c_int,
pub __cancel_type: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout___pthread_cleanup_frame() {
assert_eq!(
::std::mem::size_of::<__pthread_cleanup_frame>(),
24usize,
concat!("Size of: ", stringify!(__pthread_cleanup_frame))
);
assert_eq!(
::std::mem::align_of::<__pthread_cleanup_frame>(),
8usize,
concat!("Alignment of ", stringify!(__pthread_cleanup_frame))
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<__pthread_cleanup_frame>())).__cancel_routine as *const _
as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(__pthread_cleanup_frame),
"::",
stringify!(__cancel_routine)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<__pthread_cleanup_frame>())).__cancel_arg as *const _ as usize
},
8usize,
concat!(
"Offset of field: ",
stringify!(__pthread_cleanup_frame),
"::",
stringify!(__cancel_arg)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__pthread_cleanup_frame>())).__do_it as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(__pthread_cleanup_frame),
"::",
stringify!(__do_it)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<__pthread_cleanup_frame>())).__cancel_type as *const _ as usize
},
20usize,
concat!(
"Offset of field: ",
stringify!(__pthread_cleanup_frame),
"::",
stringify!(__cancel_type)
)
);
}
extern "C" {
pub fn __pthread_register_cancel(__buf: *mut __pthread_unwind_buf_t);
}
extern "C" {
pub fn __pthread_unregister_cancel(__buf: *mut __pthread_unwind_buf_t);
}
extern "C" {
pub fn __pthread_unwind_next(__buf: *mut __pthread_unwind_buf_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __jmp_buf_tag {
_unused: [u8; 0],
}
extern "C" {
pub fn __sigsetjmp(
__env: *mut __jmp_buf_tag,
__savemask: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_mutex_init(
__mutex: *mut pthread_mutex_t,
__mutexattr: *const pthread_mutexattr_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_mutex_destroy(__mutex: *mut pthread_mutex_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_mutex_trylock(__mutex: *mut pthread_mutex_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_mutex_lock(__mutex: *mut pthread_mutex_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_mutex_timedlock(
__mutex: *mut pthread_mutex_t,
__abstime: *const timespec,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_mutex_unlock(__mutex: *mut pthread_mutex_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_mutex_getprioceiling(
__mutex: *const pthread_mutex_t,
__prioceiling: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_mutex_setprioceiling(
__mutex: *mut pthread_mutex_t,
__prioceiling: ::std::os::raw::c_int,
__old_ceiling: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_mutex_consistent(__mutex: *mut pthread_mutex_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_mutexattr_init(__attr: *mut pthread_mutexattr_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_mutexattr_destroy(__attr: *mut pthread_mutexattr_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_mutexattr_getpshared(
__attr: *const pthread_mutexattr_t,
__pshared: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_mutexattr_setpshared(
__attr: *mut pthread_mutexattr_t,
__pshared: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_mutexattr_gettype(
__attr: *const pthread_mutexattr_t,
__kind: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_mutexattr_settype(
__attr: *mut pthread_mutexattr_t,
__kind: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_mutexattr_getprotocol(
__attr: *const pthread_mutexattr_t,
__protocol: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_mutexattr_setprotocol(
__attr: *mut pthread_mutexattr_t,
__protocol: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_mutexattr_getprioceiling(
__attr: *const pthread_mutexattr_t,
__prioceiling: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_mutexattr_setprioceiling(
__attr: *mut pthread_mutexattr_t,
__prioceiling: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_mutexattr_getrobust(
__attr: *const pthread_mutexattr_t,
__robustness: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_mutexattr_setrobust(
__attr: *mut pthread_mutexattr_t,
__robustness: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_rwlock_init(
__rwlock: *mut pthread_rwlock_t,
__attr: *const pthread_rwlockattr_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_rwlock_destroy(__rwlock: *mut pthread_rwlock_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_rwlock_rdlock(__rwlock: *mut pthread_rwlock_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_rwlock_tryrdlock(__rwlock: *mut pthread_rwlock_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_rwlock_timedrdlock(
__rwlock: *mut pthread_rwlock_t,
__abstime: *const timespec,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_rwlock_wrlock(__rwlock: *mut pthread_rwlock_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_rwlock_trywrlock(__rwlock: *mut pthread_rwlock_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_rwlock_timedwrlock(
__rwlock: *mut pthread_rwlock_t,
__abstime: *const timespec,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_rwlock_unlock(__rwlock: *mut pthread_rwlock_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_rwlockattr_init(__attr: *mut pthread_rwlockattr_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_rwlockattr_destroy(__attr: *mut pthread_rwlockattr_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_rwlockattr_getpshared(
__attr: *const pthread_rwlockattr_t,
__pshared: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_rwlockattr_setpshared(
__attr: *mut pthread_rwlockattr_t,
__pshared: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_rwlockattr_getkind_np(
__attr: *const pthread_rwlockattr_t,
__pref: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_rwlockattr_setkind_np(
__attr: *mut pthread_rwlockattr_t,
__pref: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_cond_init(
__cond: *mut pthread_cond_t,
__cond_attr: *const pthread_condattr_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_cond_destroy(__cond: *mut pthread_cond_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_cond_signal(__cond: *mut pthread_cond_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_cond_broadcast(__cond: *mut pthread_cond_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_cond_wait(
__cond: *mut pthread_cond_t,
__mutex: *mut pthread_mutex_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_cond_timedwait(
__cond: *mut pthread_cond_t,
__mutex: *mut pthread_mutex_t,
__abstime: *const timespec,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_condattr_init(__attr: *mut pthread_condattr_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_condattr_destroy(__attr: *mut pthread_condattr_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_condattr_getpshared(
__attr: *const pthread_condattr_t,
__pshared: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_condattr_setpshared(
__attr: *mut pthread_condattr_t,
__pshared: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_condattr_getclock(
__attr: *const pthread_condattr_t,
__clock_id: *mut __clockid_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_condattr_setclock(
__attr: *mut pthread_condattr_t,
__clock_id: __clockid_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_spin_init(
__lock: *mut pthread_spinlock_t,
__pshared: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_spin_destroy(__lock: *mut pthread_spinlock_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_spin_lock(__lock: *mut pthread_spinlock_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_spin_trylock(__lock: *mut pthread_spinlock_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_spin_unlock(__lock: *mut pthread_spinlock_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_barrier_init(
__barrier: *mut pthread_barrier_t,
__attr: *const pthread_barrierattr_t,
__count: ::std::os::raw::c_uint,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_barrier_destroy(__barrier: *mut pthread_barrier_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_barrier_wait(__barrier: *mut pthread_barrier_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_barrierattr_init(__attr: *mut pthread_barrierattr_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_barrierattr_destroy(__attr: *mut pthread_barrierattr_t)
-> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_barrierattr_getpshared(
__attr: *const pthread_barrierattr_t,
__pshared: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_barrierattr_setpshared(
__attr: *mut pthread_barrierattr_t,
__pshared: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_key_create(
__key: *mut pthread_key_t,
__destr_function: ::std::option::Option<
unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void),
>,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_key_delete(__key: pthread_key_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_getspecific(__key: pthread_key_t) -> *mut ::std::os::raw::c_void;
}
extern "C" {
pub fn pthread_setspecific(
__key: pthread_key_t,
__pointer: *const ::std::os::raw::c_void,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_getcpuclockid(
__thread_id: pthread_t,
__clock_id: *mut __clockid_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pthread_atfork(
__prepare: ::std::option::Option<unsafe extern "C" fn()>,
__parent: ::std::option::Option<unsafe extern "C" fn()>,
__child: ::std::option::Option<unsafe extern "C" fn()>,
) -> ::std::os::raw::c_int;
}
pub type fmpz = mp_limb_signed_t;
pub type fmpz_t = [fmpz; 1usize];
pub type fmpz_randstate_t = gmp_randstate_t;
extern "C" {
pub static mut fmpz_arr: *mut __mpz_struct;
}
extern "C" {
pub static mut fmpz_randstate: gmp_randstate_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct fmpz_preinvn_struct {
pub dinv: mp_ptr,
pub n: mp_limb_signed_t,
pub norm: mp_limb_t,
}
#[test]
fn bindgen_test_layout_fmpz_preinvn_struct() {
assert_eq!(
::std::mem::size_of::<fmpz_preinvn_struct>(),
24usize,
concat!("Size of: ", stringify!(fmpz_preinvn_struct))
);
assert_eq!(
::std::mem::align_of::<fmpz_preinvn_struct>(),
8usize,
concat!("Alignment of ", stringify!(fmpz_preinvn_struct))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_preinvn_struct>())).dinv as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(fmpz_preinvn_struct),
"::",
stringify!(dinv)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_preinvn_struct>())).n as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(fmpz_preinvn_struct),
"::",
stringify!(n)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_preinvn_struct>())).norm as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(fmpz_preinvn_struct),
"::",
stringify!(norm)
)
);
}
pub type fmpz_preinvn_t = [fmpz_preinvn_struct; 1usize];
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct fmpz_block_header_s {
pub count: ::std::os::raw::c_int,
pub thread: pthread_t,
pub address: *mut ::std::os::raw::c_void,
}
#[test]
fn bindgen_test_layout_fmpz_block_header_s() {
assert_eq!(
::std::mem::size_of::<fmpz_block_header_s>(),
24usize,
concat!("Size of: ", stringify!(fmpz_block_header_s))
);
assert_eq!(
::std::mem::align_of::<fmpz_block_header_s>(),
8usize,
concat!("Alignment of ", stringify!(fmpz_block_header_s))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_block_header_s>())).count as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(fmpz_block_header_s),
"::",
stringify!(count)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_block_header_s>())).thread as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(fmpz_block_header_s),
"::",
stringify!(thread)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_block_header_s>())).address as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(fmpz_block_header_s),
"::",
stringify!(address)
)
);
}
extern "C" {
pub fn _fmpz_new_mpz() -> *mut __mpz_struct;
}
extern "C" {
pub fn _fmpz_clear_mpz(f: fmpz);
}
extern "C" {
pub fn _fmpz_cleanup_mpz_content();
}
extern "C" {
pub fn _fmpz_cleanup();
}
extern "C" {
pub fn _fmpz_promote(f: *mut fmpz) -> *mut __mpz_struct;
}
extern "C" {
pub fn _fmpz_promote_val(f: *mut fmpz) -> *mut __mpz_struct;
}
extern "C" {
pub fn _fmpz_demote_val(f: *mut fmpz);
}
extern "C" {
pub fn _fmpz_init_readonly_mpz(f: *mut fmpz, z: *mut __mpz_struct);
}
extern "C" {
pub fn _fmpz_clear_readonly_mpz(arg1: *mut __mpz_struct);
}
extern "C" {
pub fn fmpz_init2(f: *mut fmpz, limbs: mp_limb_t);
}
extern "C" {
pub fn fmpz_randbits(f: *mut fmpz, state: *mut flint_rand_s, bits: mp_limb_t);
}
extern "C" {
pub fn fmpz_randm(f: *mut fmpz, state: *mut flint_rand_s, m: *mut fmpz);
}
extern "C" {
pub fn fmpz_randtest(f: *mut fmpz, state: *mut flint_rand_s, bits: mp_limb_t);
}
extern "C" {
pub fn fmpz_randtest_unsigned(f: *mut fmpz, state: *mut flint_rand_s, bits: mp_limb_t);
}
extern "C" {
pub fn fmpz_randtest_not_zero(f: *mut fmpz, state: *mut flint_rand_s, bits: mp_limb_t);
}
extern "C" {
pub fn fmpz_randtest_mod(f: *mut fmpz, state: *mut flint_rand_s, m: *mut fmpz);
}
extern "C" {
pub fn fmpz_randtest_mod_signed(f: *mut fmpz, state: *mut flint_rand_s, m: *mut fmpz);
}
extern "C" {
pub fn fmpz_randprime(
f: *mut fmpz,
state: *mut flint_rand_s,
bits: mp_limb_t,
proved: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn fmpz_get_si(f: *mut fmpz) -> mp_limb_signed_t;
}
extern "C" {
pub fn fmpz_get_ui(f: *mut fmpz) -> mp_limb_t;
}
extern "C" {
pub fn fmpz_set_signed_uiui(r: *mut fmpz, hi: mp_limb_t, lo: mp_limb_t);
}
extern "C" {
pub fn fmpz_set_signed_uiuiui(r: *mut fmpz, hi: mp_limb_t, mid: mp_limb_t, lo: mp_limb_t);
}
extern "C" {
pub fn fmpz_set_ui_array(out: *mut fmpz, in_: *const mp_limb_t, in_len: mp_limb_signed_t);
}
extern "C" {
pub fn fmpz_get_ui_array(out: *mut mp_limb_t, out_len: mp_limb_signed_t, in_: *mut fmpz);
}
extern "C" {
pub fn fmpz_get_mpz(x: *mut __mpz_struct, f: *mut fmpz);
}
extern "C" {
pub fn fmpz_set_mpz(f: *mut fmpz, x: *mut __mpz_struct);
}
extern "C" {
pub fn fmpz_get_d(f: *mut fmpz) -> f64;
}
extern "C" {
pub fn fmpz_set_d(f: *mut fmpz, c: f64);
}
extern "C" {
pub fn fmpz_get_mpf(x: *mut __mpf_struct, f: *mut fmpz);
}
extern "C" {
pub fn fmpz_set_mpf(f: *mut fmpz, x: *mut __mpf_struct);
}
extern "C" {
pub fn fmpz_get_mpfr(x: *mut __mpfr_struct, f: *mut fmpz, rnd: mpfr_rnd_t);
}
extern "C" {
pub fn fmpz_get_mpn(n: *mut mp_ptr, n_in: *mut fmpz) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_set_str(
f: *mut fmpz,
str: *const ::std::os::raw::c_char,
b: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn flint_mpz_init_set_readonly(z: *mut __mpz_struct, f: *mut fmpz);
}
extern "C" {
pub fn flint_mpz_clear_readonly(z: *mut __mpz_struct);
}
extern "C" {
pub fn fmpz_init_set_readonly(f: *mut fmpz, z: *mut __mpz_struct);
}
extern "C" {
pub fn fmpz_clear_readonly(f: *mut fmpz);
}
extern "C" {
pub fn fmpz_abs_fits_ui(f: *mut fmpz) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_fits_si(f: *mut fmpz) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_set(f: *mut fmpz, g: *mut fmpz);
}
extern "C" {
pub fn fmpz_equal(f: *mut fmpz, g: *mut fmpz) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_equal_si(f: *mut fmpz, g: mp_limb_signed_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_equal_ui(f: *mut fmpz, g: mp_limb_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_read(f: *mut fmpz) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_fread(file: *mut FILE, f: *mut fmpz) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_inp_raw(x: *mut fmpz, fin: *mut FILE) -> usize;
}
extern "C" {
pub fn fmpz_print(x: *mut fmpz) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_fprint(file: *mut FILE, x: *mut fmpz) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_out_raw(fout: *mut FILE, x: *mut fmpz) -> usize;
}
extern "C" {
pub fn fmpz_sizeinbase(f: *mut fmpz, b: ::std::os::raw::c_int) -> usize;
}
extern "C" {
pub fn fmpz_get_str(
str: *mut ::std::os::raw::c_char,
b: ::std::os::raw::c_int,
f: *mut fmpz,
) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn fmpz_cmp(f: *mut fmpz, g: *mut fmpz) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_cmp_ui(f: *mut fmpz, g: mp_limb_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_cmp_si(f: *mut fmpz, g: mp_limb_signed_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_cmpabs(f: *mut fmpz, g: *mut fmpz) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_size(f: *mut fmpz) -> mp_size_t;
}
extern "C" {
pub fn fmpz_sgn(f: *mut fmpz) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_bits(f: *mut fmpz) -> mp_limb_t;
}
extern "C" {
pub fn fmpz_val2(x: *mut fmpz) -> mp_limb_t;
}
extern "C" {
pub fn fmpz_abs(f1: *mut fmpz, f2: *mut fmpz);
}
extern "C" {
pub fn fmpz_add(f: *mut fmpz, g: *mut fmpz, h: *mut fmpz);
}
extern "C" {
pub fn fmpz_sub(f: *mut fmpz, g: *mut fmpz, h: *mut fmpz);
}
extern "C" {
pub fn fmpz_mul_ui(f: *mut fmpz, g: *mut fmpz, x: mp_limb_t);
}
extern "C" {
pub fn fmpz_mul_si(f: *mut fmpz, g: *mut fmpz, x: mp_limb_signed_t);
}
extern "C" {
pub fn fmpz_mul(f: *mut fmpz, g: *mut fmpz, h: *mut fmpz);
}
extern "C" {
pub fn fmpz_mul_2exp(f: *mut fmpz, g: *mut fmpz, exp: mp_limb_t);
}
extern "C" {
pub fn fmpz_add_ui(f: *mut fmpz, g: *mut fmpz, x: mp_limb_t);
}
extern "C" {
pub fn fmpz_sub_ui(f: *mut fmpz, g: *mut fmpz, x: mp_limb_t);
}
extern "C" {
pub fn fmpz_addmul_ui(f: *mut fmpz, g: *mut fmpz, x: mp_limb_t);
}
extern "C" {
pub fn fmpz_submul_ui(f: *mut fmpz, g: *mut fmpz, x: mp_limb_t);
}
extern "C" {
pub fn fmpz_addmul(f: *mut fmpz, g: *mut fmpz, h: *mut fmpz);
}
extern "C" {
pub fn fmpz_submul(f: *mut fmpz, g: *mut fmpz, h: *mut fmpz);
}
extern "C" {
pub fn fmpz_fmma(f: *mut fmpz, a: *mut fmpz, b: *mut fmpz, c: *mut fmpz, d: *mut fmpz);
}
extern "C" {
pub fn fmpz_fmms(f: *mut fmpz, a: *mut fmpz, b: *mut fmpz, c: *mut fmpz, d: *mut fmpz);
}
extern "C" {
pub fn fmpz_pow_ui(f: *mut fmpz, g: *mut fmpz, exp: mp_limb_t);
}
extern "C" {
pub fn fmpz_pow_fmpz(a: *mut fmpz, b: *mut fmpz, e: *mut fmpz) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_powm_ui(f: *mut fmpz, g: *mut fmpz, exp: mp_limb_t, m: *mut fmpz);
}
extern "C" {
pub fn fmpz_powm(f: *mut fmpz, g: *mut fmpz, e: *mut fmpz, m: *mut fmpz);
}
extern "C" {
pub fn fmpz_setbit(f: *mut fmpz, i: mp_limb_t);
}
extern "C" {
pub fn fmpz_tstbit(f: *mut fmpz, i: mp_limb_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_clrbit(f: *mut fmpz, i: mp_limb_t);
}
extern "C" {
pub fn fmpz_complement(r: *mut fmpz, f: *mut fmpz);
}
extern "C" {
pub fn fmpz_combit(f: *mut fmpz, i: mp_limb_t);
}
extern "C" {
pub fn fmpz_and(r: *mut fmpz, a: *mut fmpz, b: *mut fmpz);
}
extern "C" {
pub fn fmpz_or(r: *mut fmpz, a: *mut fmpz, b: *mut fmpz);
}
extern "C" {
pub fn fmpz_xor(r: *mut fmpz, a: *mut fmpz, b: *mut fmpz);
}
extern "C" {
pub fn fmpz_popcnt(c: *mut fmpz) -> mp_limb_t;
}
extern "C" {
pub fn fmpz_dlog(x: *mut fmpz) -> f64;
}
extern "C" {
pub fn fmpz_flog(x: *mut fmpz, b: *mut fmpz) -> mp_limb_signed_t;
}
extern "C" {
pub fn fmpz_flog_ui(x: *mut fmpz, b: mp_limb_t) -> mp_limb_signed_t;
}
extern "C" {
pub fn fmpz_clog(x: *mut fmpz, b: *mut fmpz) -> mp_limb_signed_t;
}
extern "C" {
pub fn fmpz_clog_ui(x: *mut fmpz, b: mp_limb_t) -> mp_limb_signed_t;
}
extern "C" {
pub fn fmpz_sqrtmod(b: *mut fmpz, a: *mut fmpz, p: *mut fmpz) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_sqrt(f: *mut fmpz, g: *mut fmpz);
}
extern "C" {
pub fn fmpz_is_square(f: *mut fmpz) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_root(r: *mut fmpz, f: *mut fmpz, n: mp_limb_signed_t);
}
extern "C" {
pub fn fmpz_is_perfect_power(root: *mut fmpz, f: *mut fmpz) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_sqrtrem(f: *mut fmpz, r: *mut fmpz, g: *mut fmpz);
}
extern "C" {
pub fn fmpz_fdiv_ui(g: *mut fmpz, h: mp_limb_t) -> mp_limb_t;
}
extern "C" {
pub fn fmpz_mod_ui(f: *mut fmpz, g: *mut fmpz, h: mp_limb_t) -> mp_limb_t;
}
extern "C" {
pub fn fmpz_mod(f: *mut fmpz, g: *mut fmpz, h: *mut fmpz);
}
extern "C" {
pub fn fmpz_smod(f: *mut fmpz, g: *mut fmpz, h: *mut fmpz);
}
extern "C" {
pub fn fmpz_gcd(f: *mut fmpz, g: *mut fmpz, h: *mut fmpz);
}
extern "C" {
pub fn fmpz_lcm(f: *mut fmpz, g: *mut fmpz, h: *mut fmpz);
}
extern "C" {
pub fn fmpz_gcdinv(d: *mut fmpz, a: *mut fmpz, f: *mut fmpz, g: *mut fmpz);
}
extern "C" {
pub fn fmpz_xgcd(d: *mut fmpz, a: *mut fmpz, b: *mut fmpz, f: *mut fmpz, g: *mut fmpz);
}
extern "C" {
pub fn fmpz_xgcd_partial(
co2: *mut fmpz,
co1: *mut fmpz,
r2: *mut fmpz,
r1: *mut fmpz,
L: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_invmod(f: *mut fmpz, g: *mut fmpz, h: *mut fmpz) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_jacobi(a: *mut fmpz, p: *mut fmpz) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_divides_mod_list(
xstart: *mut fmpz,
xstride: *mut fmpz,
xlength: *mut fmpz,
a: *mut fmpz,
b: *mut fmpz,
n: *mut fmpz,
);
}
extern "C" {
pub fn _fmpz_remove(x: *mut fmpz, f: *mut fmpz, finv: f64) -> mp_limb_signed_t;
}
extern "C" {
pub fn fmpz_remove(rop: *mut fmpz, op: *mut fmpz, f: *mut fmpz) -> mp_limb_signed_t;
}
extern "C" {
pub fn fmpz_divexact(f: *mut fmpz, g: *mut fmpz, h: *mut fmpz);
}
extern "C" {
pub fn fmpz_divexact_si(f: *mut fmpz, g: *mut fmpz, h: mp_limb_signed_t);
}
extern "C" {
pub fn fmpz_divexact_ui(f: *mut fmpz, g: *mut fmpz, h: mp_limb_t);
}
extern "C" {
pub fn fmpz_divisible(f: *mut fmpz, g: *mut fmpz) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_divisible_si(f: *mut fmpz, g: mp_limb_signed_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_cdiv_qr(f: *mut fmpz, s: *mut fmpz, g: *mut fmpz, h: *mut fmpz);
}
extern "C" {
pub fn fmpz_cdiv_q(f: *mut fmpz, g: *mut fmpz, h: *mut fmpz);
}
extern "C" {
pub fn fmpz_cdiv_q_si(f: *mut fmpz, g: *mut fmpz, h: mp_limb_signed_t);
}
extern "C" {
pub fn fmpz_cdiv_q_ui(f: *mut fmpz, g: *mut fmpz, h: mp_limb_t);
}
extern "C" {
pub fn fmpz_cdiv_q_2exp(f: *mut fmpz, g: *mut fmpz, exp: mp_limb_t);
}
extern "C" {
pub fn fmpz_cdiv_r_2exp(f: *mut fmpz, g: *mut fmpz, exp: mp_limb_t);
}
extern "C" {
pub fn fmpz_cdiv_ui(g: *mut fmpz, h: mp_limb_t) -> mp_limb_t;
}
extern "C" {
pub fn fmpz_fdiv_qr(f: *mut fmpz, s: *mut fmpz, g: *mut fmpz, h: *mut fmpz);
}
extern "C" {
pub fn fmpz_fdiv_qr_preinvn(
f: *mut fmpz,
s: *mut fmpz,
g: *mut fmpz,
h: *mut fmpz,
inv: *mut fmpz_preinvn_struct,
);
}
extern "C" {
pub fn fmpz_fdiv_q(f: *mut fmpz, g: *mut fmpz, h: *mut fmpz);
}
extern "C" {
pub fn fmpz_fdiv_r(f: *mut fmpz, g: *mut fmpz, h: *mut fmpz);
}
extern "C" {
pub fn fmpz_fdiv_q_ui(f: *mut fmpz, g: *mut fmpz, h: mp_limb_t);
}
extern "C" {
pub fn fmpz_fdiv_q_si(f: *mut fmpz, g: *mut fmpz, h: mp_limb_signed_t);
}
extern "C" {
pub fn fmpz_fdiv_q_2exp(f: *mut fmpz, g: *mut fmpz, exp: mp_limb_t);
}
extern "C" {
pub fn fmpz_fdiv_r_2exp(f: *mut fmpz, g: *mut fmpz, exp: mp_limb_t);
}
extern "C" {
pub fn fmpz_tdiv_q(f: *mut fmpz, g: *mut fmpz, h: *mut fmpz);
}
extern "C" {
pub fn fmpz_tdiv_qr(f: *mut fmpz, s: *mut fmpz, g: *mut fmpz, h: *mut fmpz);
}
extern "C" {
pub fn fmpz_tdiv_q_ui(f: *mut fmpz, g: *mut fmpz, h: mp_limb_t);
}
extern "C" {
pub fn fmpz_tdiv_q_si(f: *mut fmpz, g: *mut fmpz, h: mp_limb_signed_t);
}
extern "C" {
pub fn fmpz_tdiv_r_2exp(f: *mut fmpz, g: *mut fmpz, exp: mp_limb_t);
}
extern "C" {
pub fn fmpz_tdiv_ui(g: *mut fmpz, h: mp_limb_t) -> mp_limb_t;
}
extern "C" {
pub fn fmpz_tdiv_q_2exp(f: *mut fmpz, g: *mut fmpz, exp: mp_limb_t);
}
extern "C" {
pub fn fmpz_preinvn_init(inv: *mut fmpz_preinvn_struct, f: *mut fmpz);
}
extern "C" {
pub fn fmpz_preinvn_clear(inv: *mut fmpz_preinvn_struct);
}
extern "C" {
pub fn fmpz_get_d_2exp(exp: *mut mp_limb_signed_t, f: *mut fmpz) -> f64;
}
extern "C" {
pub fn fmpz_set_d_2exp(f: *mut fmpz, m: f64, exp: mp_limb_signed_t);
}
extern "C" {
pub fn fmpz_mul_tdiv_q_2exp(f: *mut fmpz, g: *mut fmpz, h: *mut fmpz, exp: mp_limb_t);
}
extern "C" {
pub fn fmpz_mul_si_tdiv_q_2exp(f: *mut fmpz, g: *mut fmpz, x: mp_limb_signed_t, exp: mp_limb_t);
}
extern "C" {
pub fn fmpz_fac_ui(f: *mut fmpz, n: mp_limb_t);
}
extern "C" {
pub fn fmpz_fib_ui(f: *mut fmpz, n: mp_limb_t);
}
extern "C" {
pub fn fmpz_bin_uiui(res: *mut fmpz, n: mp_limb_t, k: mp_limb_t);
}
extern "C" {
pub fn _fmpz_rfac_ui(r: *mut fmpz, x: *mut fmpz, a: mp_limb_t, b: mp_limb_t);
}
extern "C" {
pub fn fmpz_rfac_ui(r: *mut fmpz, x: *mut fmpz, n: mp_limb_t);
}
extern "C" {
pub fn fmpz_rfac_uiui(r: *mut fmpz, x: mp_limb_t, n: mp_limb_t);
}
extern "C" {
pub fn fmpz_bit_pack(
arr: mp_ptr,
shift: mp_limb_t,
bits: mp_limb_t,
coeff: *mut fmpz,
negate: ::std::os::raw::c_int,
borrow: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_bit_unpack(
coeff: *mut fmpz,
arr: mp_srcptr,
shift: mp_limb_t,
bits: mp_limb_t,
negate: ::std::os::raw::c_int,
borrow: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_bit_unpack_unsigned(
coeff: *mut fmpz,
arr: mp_srcptr,
shift: mp_limb_t,
bits: mp_limb_t,
);
}
extern "C" {
pub fn _fmpz_CRT_ui_precomp(
out: *mut fmpz,
r1: *mut fmpz,
m1: *mut fmpz,
r2: mp_limb_t,
m2: mp_limb_t,
m2inv: mp_limb_t,
m1m2: *mut fmpz,
c: mp_limb_t,
sign: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn fmpz_CRT_ui(
out: *mut fmpz,
r1: *mut fmpz,
m1: *mut fmpz,
r2: mp_limb_t,
m2: mp_limb_t,
sign: ::std::os::raw::c_int,
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct fmpz_comb_struct {
pub primes: *const mp_limb_t,
pub num_primes: mp_limb_signed_t,
pub n: mp_limb_signed_t,
pub comb: *mut *mut fmpz,
pub res: *mut *mut fmpz,
pub mod_: *mut nmod_t,
}
#[test]
fn bindgen_test_layout_fmpz_comb_struct() {
assert_eq!(
::std::mem::size_of::<fmpz_comb_struct>(),
48usize,
concat!("Size of: ", stringify!(fmpz_comb_struct))
);
assert_eq!(
::std::mem::align_of::<fmpz_comb_struct>(),
8usize,
concat!("Alignment of ", stringify!(fmpz_comb_struct))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_comb_struct>())).primes as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(fmpz_comb_struct),
"::",
stringify!(primes)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_comb_struct>())).num_primes as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(fmpz_comb_struct),
"::",
stringify!(num_primes)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_comb_struct>())).n as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(fmpz_comb_struct),
"::",
stringify!(n)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_comb_struct>())).comb as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(fmpz_comb_struct),
"::",
stringify!(comb)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_comb_struct>())).res as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(fmpz_comb_struct),
"::",
stringify!(res)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_comb_struct>())).mod_ as *const _ as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(fmpz_comb_struct),
"::",
stringify!(mod_)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct fmpz_comb_temp_struct {
pub n: mp_limb_signed_t,
pub comb_temp: *mut *mut fmpz,
pub temp: fmpz_t,
pub temp2: fmpz_t,
}
#[test]
fn bindgen_test_layout_fmpz_comb_temp_struct() {
assert_eq!(
::std::mem::size_of::<fmpz_comb_temp_struct>(),
32usize,
concat!("Size of: ", stringify!(fmpz_comb_temp_struct))
);
assert_eq!(
::std::mem::align_of::<fmpz_comb_temp_struct>(),
8usize,
concat!("Alignment of ", stringify!(fmpz_comb_temp_struct))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_comb_temp_struct>())).n as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(fmpz_comb_temp_struct),
"::",
stringify!(n)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_comb_temp_struct>())).comb_temp as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(fmpz_comb_temp_struct),
"::",
stringify!(comb_temp)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_comb_temp_struct>())).temp as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(fmpz_comb_temp_struct),
"::",
stringify!(temp)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_comb_temp_struct>())).temp2 as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(fmpz_comb_temp_struct),
"::",
stringify!(temp2)
)
);
}
pub type fmpz_comb_t = [fmpz_comb_struct; 1usize];
pub type fmpz_comb_temp_t = [fmpz_comb_temp_struct; 1usize];
extern "C" {
pub fn fmpz_comb_temp_init(temp: *mut fmpz_comb_temp_struct, comb: *mut fmpz_comb_struct);
}
extern "C" {
pub fn fmpz_comb_temp_clear(temp: *mut fmpz_comb_temp_struct);
}
extern "C" {
pub fn fmpz_comb_init(
comb: *mut fmpz_comb_struct,
primes: mp_srcptr,
num_primes: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_comb_clear(comb: *mut fmpz_comb_struct);
}
extern "C" {
pub fn fmpz_multi_mod_ui(
out: *mut mp_limb_t,
in_: *mut fmpz,
comb: *mut fmpz_comb_struct,
temp: *mut fmpz_comb_temp_struct,
);
}
extern "C" {
pub fn fmpz_multi_CRT_ui(
output: *mut fmpz,
residues: mp_srcptr,
comb: *mut fmpz_comb_struct,
temp: *mut fmpz_comb_temp_struct,
sign: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn fmpz_CRT(
out: *mut fmpz,
r1: *mut fmpz,
m1: *mut fmpz,
r2: *mut fmpz,
m2: *mut fmpz,
sign: ::std::os::raw::c_int,
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _fmpz_multi_crt_prog_instr {
pub a_idx: mp_limb_signed_t,
pub b_idx: mp_limb_signed_t,
pub c_idx: mp_limb_signed_t,
pub idem: fmpz_t,
pub modulus: fmpz_t,
}
#[test]
fn bindgen_test_layout__fmpz_multi_crt_prog_instr() {
assert_eq!(
::std::mem::size_of::<_fmpz_multi_crt_prog_instr>(),
40usize,
concat!("Size of: ", stringify!(_fmpz_multi_crt_prog_instr))
);
assert_eq!(
::std::mem::align_of::<_fmpz_multi_crt_prog_instr>(),
8usize,
concat!("Alignment of ", stringify!(_fmpz_multi_crt_prog_instr))
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<_fmpz_multi_crt_prog_instr>())).a_idx as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(_fmpz_multi_crt_prog_instr),
"::",
stringify!(a_idx)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<_fmpz_multi_crt_prog_instr>())).b_idx as *const _ as usize
},
8usize,
concat!(
"Offset of field: ",
stringify!(_fmpz_multi_crt_prog_instr),
"::",
stringify!(b_idx)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<_fmpz_multi_crt_prog_instr>())).c_idx as *const _ as usize
},
16usize,
concat!(
"Offset of field: ",
stringify!(_fmpz_multi_crt_prog_instr),
"::",
stringify!(c_idx)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_fmpz_multi_crt_prog_instr>())).idem as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(_fmpz_multi_crt_prog_instr),
"::",
stringify!(idem)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<_fmpz_multi_crt_prog_instr>())).modulus as *const _ as usize
},
32usize,
concat!(
"Offset of field: ",
stringify!(_fmpz_multi_crt_prog_instr),
"::",
stringify!(modulus)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct fmpz_multi_crt_struct {
pub prog: *mut _fmpz_multi_crt_prog_instr,
pub length: mp_limb_signed_t,
pub alloc: mp_limb_signed_t,
pub localsize: mp_limb_signed_t,
pub temp1loc: mp_limb_signed_t,
pub temp2loc: mp_limb_signed_t,
pub good: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_fmpz_multi_crt_struct() {
assert_eq!(
::std::mem::size_of::<fmpz_multi_crt_struct>(),
56usize,
concat!("Size of: ", stringify!(fmpz_multi_crt_struct))
);
assert_eq!(
::std::mem::align_of::<fmpz_multi_crt_struct>(),
8usize,
concat!("Alignment of ", stringify!(fmpz_multi_crt_struct))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_multi_crt_struct>())).prog as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(fmpz_multi_crt_struct),
"::",
stringify!(prog)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_multi_crt_struct>())).length as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(fmpz_multi_crt_struct),
"::",
stringify!(length)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_multi_crt_struct>())).alloc as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(fmpz_multi_crt_struct),
"::",
stringify!(alloc)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_multi_crt_struct>())).localsize as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(fmpz_multi_crt_struct),
"::",
stringify!(localsize)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_multi_crt_struct>())).temp1loc as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(fmpz_multi_crt_struct),
"::",
stringify!(temp1loc)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_multi_crt_struct>())).temp2loc as *const _ as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(fmpz_multi_crt_struct),
"::",
stringify!(temp2loc)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_multi_crt_struct>())).good as *const _ as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(fmpz_multi_crt_struct),
"::",
stringify!(good)
)
);
}
pub type fmpz_multi_crt_t = [fmpz_multi_crt_struct; 1usize];
extern "C" {
pub fn fmpz_multi_crt_init(CRT: *mut fmpz_multi_crt_struct);
}
extern "C" {
pub fn fmpz_multi_crt_precompute(
CRT: *mut fmpz_multi_crt_struct,
moduli: *const fmpz,
len: mp_limb_signed_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_multi_crt_precompute_p(
CRT: *mut fmpz_multi_crt_struct,
moduli: *const *const fmpz,
len: mp_limb_signed_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_multi_crt_precomp(
output: *mut fmpz,
P: *mut fmpz_multi_crt_struct,
inputs: *const fmpz,
);
}
extern "C" {
pub fn fmpz_multi_crt_precomp_p(
output: *mut fmpz,
P: *mut fmpz_multi_crt_struct,
inputs: *const *const fmpz,
);
}
extern "C" {
pub fn fmpz_multi_crt(
output: *mut fmpz,
moduli: *const fmpz,
values: *const fmpz,
len: mp_limb_signed_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_multi_crt_clear(P: *mut fmpz_multi_crt_struct);
}
extern "C" {
pub fn _fmpz_multi_crt_run(
outputs: *mut fmpz,
CRT: *mut fmpz_multi_crt_struct,
inputs: *const fmpz,
);
}
extern "C" {
pub fn _fmpz_multi_crt_run_p(
outputs: *mut fmpz,
CRT: *mut fmpz_multi_crt_struct,
inputs: *const *const fmpz,
);
}
extern "C" {
pub fn fmpz_abs_ubound_ui_2exp(
exp: *mut mp_limb_signed_t,
x: *mut fmpz,
bits: ::std::os::raw::c_int,
) -> mp_limb_t;
}
extern "C" {
pub fn fmpz_abs_lbound_ui_2exp(
exp: *mut mp_limb_signed_t,
x: *mut fmpz,
bits: ::std::os::raw::c_int,
) -> mp_limb_t;
}
extern "C" {
pub fn fmpz_lucas_chain(
Vm: *mut fmpz,
Vm1: *mut fmpz,
A: *mut fmpz,
m: *mut fmpz,
n: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_lucas_chain_full(
Vm: *mut fmpz,
Vm1: *mut fmpz,
A: *mut fmpz,
B: *mut fmpz,
m: *mut fmpz,
n: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_lucas_chain_double(
U2m: *mut fmpz,
U2m1: *mut fmpz,
Um: *mut fmpz,
Um1: *mut fmpz,
A: *mut fmpz,
B: *mut fmpz,
n: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_lucas_chain_add(
Umn: *mut fmpz,
Umn1: *mut fmpz,
Um: *mut fmpz,
Um1: *mut fmpz,
Un: *mut fmpz,
Un1: *mut fmpz,
A: *mut fmpz,
B: *mut fmpz,
n: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_lucas_chain_mul(
Ukm: *mut fmpz,
Ukm1: *mut fmpz,
Um: *mut fmpz,
Um1: *mut fmpz,
A: *mut fmpz,
B: *mut fmpz,
k: *mut fmpz,
n: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_lucas_chain_VtoU(
Um: *mut fmpz,
Um1: *mut fmpz,
Vm: *mut fmpz,
Vm1: *mut fmpz,
A: *mut fmpz,
B: *mut fmpz,
Dinv: *mut fmpz,
n: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_is_probabprime_lucas(n: *mut fmpz) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_is_probabprime_BPSW(n: *mut fmpz) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_is_strong_probabprime(n: *mut fmpz, a: *mut fmpz) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_is_probabprime(p: *mut fmpz) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_is_prime_pseudosquare(n: *mut fmpz) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fmpz_nm1_trial_factors(
n: *mut fmpz,
pm1: mp_ptr,
num_pm1: *mut mp_limb_signed_t,
limit: mp_limb_t,
);
}
extern "C" {
pub fn fmpz_is_prime_pocklington(
F: *mut fmpz,
R: *mut fmpz,
n: *mut fmpz,
pm1: mp_ptr,
num_pm1: mp_limb_signed_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fmpz_np1_trial_factors(
n: *mut fmpz,
pp1: mp_ptr,
num_pp1: *mut mp_limb_signed_t,
limit: mp_limb_t,
);
}
extern "C" {
pub fn fmpz_is_prime_morrison(
F: *mut fmpz,
R: *mut fmpz,
n: *mut fmpz,
pm1: mp_ptr,
num_pm1: mp_limb_signed_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_is_prime(p: *mut fmpz) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_divisor_in_residue_class_lenstra(
fac: *mut fmpz,
n: *mut fmpz,
r: *mut fmpz,
s: *mut fmpz,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_nextprime(res: *mut fmpz, n: *mut fmpz, proved: ::std::os::raw::c_int);
}
extern "C" {
pub fn fmpz_primorial(res: *mut fmpz, n: mp_limb_t);
}
extern "C" {
pub fn fmpz_euler_phi(res: *mut fmpz, n: *mut fmpz);
}
extern "C" {
pub fn fmpz_moebius_mu(n: *mut fmpz) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_divisor_sigma(res: *mut fmpz, n: *mut fmpz, k: mp_limb_t);
}
extern "C" {
pub fn n_powmod2_fmpz_preinv(
a: mp_limb_t,
exp: *mut fmpz,
n: mp_limb_t,
ninv: mp_limb_t,
) -> mp_limb_t;
}
extern "C" {
pub fn __new_fmpz() -> *mut fmpz;
}
extern "C" {
pub fn __free_fmpz(f: *mut fmpz);
}
extern "C" {
pub fn __fmpz_set_si(f: *mut fmpz, val: mp_limb_signed_t);
}
extern "C" {
pub fn __fmpz_set_ui(f: *mut fmpz, val: mp_limb_t);
}
extern "C" {
pub fn __fmpz_init(f: *mut fmpz);
}
extern "C" {
pub fn __fmpz_init_set_ui(f: *mut fmpz, g: mp_limb_t);
}
extern "C" {
pub fn __fmpz_clear(f: *mut fmpz);
}
extern "C" {
pub fn __fmpz_lt(f: *mut fmpz, g: *mut fmpz) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __fmpz_gt(f: *mut fmpz, g: *mut fmpz) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __fmpz_lte(f: *mut fmpz, g: *mut fmpz) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __fmpz_gte(f: *mut fmpz, g: *mut fmpz) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __fmpz_eq(f: *mut fmpz, g: *mut fmpz) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __fmpz_neq(f: *mut fmpz, g: *mut fmpz) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __fmpz_init_set(f: *mut fmpz, g: *mut fmpz);
}
extern "C" {
pub fn __fmpz_neg(f1: *mut fmpz, f2: *mut fmpz);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct fmpz_factor_struct {
pub sign: ::std::os::raw::c_int,
pub p: *mut fmpz,
pub exp: *mut mp_limb_t,
pub alloc: mp_limb_signed_t,
pub num: mp_limb_signed_t,
}
#[test]
fn bindgen_test_layout_fmpz_factor_struct() {
assert_eq!(
::std::mem::size_of::<fmpz_factor_struct>(),
40usize,
concat!("Size of: ", stringify!(fmpz_factor_struct))
);
assert_eq!(
::std::mem::align_of::<fmpz_factor_struct>(),
8usize,
concat!("Alignment of ", stringify!(fmpz_factor_struct))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_factor_struct>())).sign as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(fmpz_factor_struct),
"::",
stringify!(sign)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_factor_struct>())).p as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(fmpz_factor_struct),
"::",
stringify!(p)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_factor_struct>())).exp as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(fmpz_factor_struct),
"::",
stringify!(exp)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_factor_struct>())).alloc as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(fmpz_factor_struct),
"::",
stringify!(alloc)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_factor_struct>())).num as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(fmpz_factor_struct),
"::",
stringify!(num)
)
);
}
pub type fmpz_factor_t = [fmpz_factor_struct; 1usize];
extern "C" {
pub fn fmpz_factor_init(factor: *mut fmpz_factor_struct);
}
extern "C" {
pub fn fmpz_factor_clear(factor: *mut fmpz_factor_struct);
}
extern "C" {
pub fn fmpz_factor_print(factor: *mut fmpz_factor_struct);
}
extern "C" {
pub fn _fmpz_factor_fit_length(factor: *mut fmpz_factor_struct, len: mp_limb_signed_t);
}
extern "C" {
pub fn _fmpz_factor_append_ui(factor: *mut fmpz_factor_struct, p: mp_limb_t, exp: mp_limb_t);
}
extern "C" {
pub fn _fmpz_factor_append(factor: *mut fmpz_factor_struct, p: *mut fmpz, exp: mp_limb_t);
}
extern "C" {
pub fn _fmpz_factor_set_length(factor: *mut fmpz_factor_struct, newlen: mp_limb_signed_t);
}
extern "C" {
pub fn _fmpz_factor_concat(
factor1: *mut fmpz_factor_struct,
factor2: *mut fmpz_factor_struct,
exp: mp_limb_t,
);
}
extern "C" {
pub fn _fmpz_factor_extend_factor_ui(factor: *mut fmpz_factor_struct, n: mp_limb_t);
}
extern "C" {
pub fn fmpz_factor_trial_range(
factor: *mut fmpz_factor_struct,
n: *mut fmpz,
start: mp_limb_t,
num_primes: mp_limb_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_factor_trial(
factor: *mut fmpz_factor_struct,
n: *mut fmpz,
num_primes: mp_limb_signed_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_factor(factor: *mut fmpz_factor_struct, n: *mut fmpz);
}
extern "C" {
pub fn fmpz_factor_no_trial(factor: *mut fmpz_factor_struct, n: *mut fmpz);
}
extern "C" {
pub fn fmpz_factor_smooth(
factor: *mut fmpz_factor_struct,
n: *mut fmpz,
bits: mp_limb_signed_t,
proved: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_factor_si(factor: *mut fmpz_factor_struct, n: mp_limb_signed_t);
}
extern "C" {
pub fn fmpz_factor_pp1(
factor: *mut fmpz,
n: *mut fmpz,
B1: mp_limb_t,
B2_sqrt: mp_limb_t,
c: mp_limb_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_factor_refine(res: *mut fmpz_factor_struct, f: *mut fmpz_factor_struct);
}
extern "C" {
pub fn flint_mpn_sqr_and_add_a(
y: mp_ptr,
a: mp_ptr,
n: mp_ptr,
n_size: mp_limb_t,
ninv: mp_ptr,
normbits: mp_limb_t,
);
}
extern "C" {
pub fn flint_mpn_factor_pollard_brent_single(
factor: mp_ptr,
n: mp_ptr,
ninv: mp_ptr,
a: mp_ptr,
y: mp_ptr,
n_size: mp_limb_t,
normbits: mp_limb_t,
max_iters: mp_limb_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_factor_pollard_brent_single(
p_factor: *mut fmpz,
n_in: *mut fmpz,
yi: *mut fmpz,
ai: *mut fmpz,
max_iters: mp_limb_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_factor_pollard_brent(
factor: *mut fmpz,
state: *mut flint_rand_s,
n: *mut fmpz,
max_tries: mp_limb_t,
max_iters: mp_limb_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_factor_expand_iterative(n: *mut fmpz, factor: *mut fmpz_factor_struct);
}
extern "C" {
pub fn fmpz_factor_expand_multiexp(n: *mut fmpz, factor: *mut fmpz_factor_struct);
}
extern "C" {
pub fn fmpz_factor_expand(n: *mut fmpz, factor: *mut fmpz_factor_struct);
}
extern "C" {
pub fn fmpz_factor_euler_phi(res: *mut fmpz, fac: *mut fmpz_factor_struct);
}
extern "C" {
pub fn fmpz_factor_moebius_mu(fac: *mut fmpz_factor_struct) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_factor_divisor_sigma(res: *mut fmpz, fac: *mut fmpz_factor_struct, k: mp_limb_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ecm_s {
pub t: mp_ptr,
pub u: mp_ptr,
pub v: mp_ptr,
pub w: mp_ptr,
pub x: mp_ptr,
pub z: mp_ptr,
pub a24: mp_ptr,
pub ninv: mp_ptr,
pub one: mp_ptr,
pub GCD_table: *mut ::std::os::raw::c_uchar,
pub prime_table: *mut *mut ::std::os::raw::c_uchar,
pub n_size: mp_limb_t,
pub normbits: mp_limb_t,
}
#[test]
fn bindgen_test_layout_ecm_s() {
assert_eq!(
::std::mem::size_of::<ecm_s>(),
104usize,
concat!("Size of: ", stringify!(ecm_s))
);
assert_eq!(
::std::mem::align_of::<ecm_s>(),
8usize,
concat!("Alignment of ", stringify!(ecm_s))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ecm_s>())).t as *const _ as usize },
0usize,
concat!("Offset of field: ", stringify!(ecm_s), "::", stringify!(t))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ecm_s>())).u as *const _ as usize },
8usize,
concat!("Offset of field: ", stringify!(ecm_s), "::", stringify!(u))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ecm_s>())).v as *const _ as usize },
16usize,
concat!("Offset of field: ", stringify!(ecm_s), "::", stringify!(v))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ecm_s>())).w as *const _ as usize },
24usize,
concat!("Offset of field: ", stringify!(ecm_s), "::", stringify!(w))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ecm_s>())).x as *const _ as usize },
32usize,
concat!("Offset of field: ", stringify!(ecm_s), "::", stringify!(x))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ecm_s>())).z as *const _ as usize },
40usize,
concat!("Offset of field: ", stringify!(ecm_s), "::", stringify!(z))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ecm_s>())).a24 as *const _ as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(ecm_s),
"::",
stringify!(a24)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ecm_s>())).ninv as *const _ as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(ecm_s),
"::",
stringify!(ninv)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ecm_s>())).one as *const _ as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(ecm_s),
"::",
stringify!(one)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ecm_s>())).GCD_table as *const _ as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(ecm_s),
"::",
stringify!(GCD_table)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ecm_s>())).prime_table as *const _ as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(ecm_s),
"::",
stringify!(prime_table)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ecm_s>())).n_size as *const _ as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(ecm_s),
"::",
stringify!(n_size)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ecm_s>())).normbits as *const _ as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(ecm_s),
"::",
stringify!(normbits)
)
);
}
pub type ecm_t = [ecm_s; 1usize];
extern "C" {
pub fn fmpz_factor_ecm_init(ecm_inf: *mut ecm_s, sz: mp_limb_t);
}
extern "C" {
pub fn fmpz_factor_ecm_clear(ecm_inf: *mut ecm_s);
}
extern "C" {
pub fn fmpz_factor_ecm_addmod(a: mp_ptr, b: mp_ptr, c: mp_ptr, n: mp_ptr, n_size: mp_limb_t);
}
extern "C" {
pub fn fmpz_factor_ecm_submod(x: mp_ptr, a: mp_ptr, b: mp_ptr, n: mp_ptr, n_size: mp_limb_t);
}
extern "C" {
pub fn fmpz_factor_ecm_double(
x: mp_ptr,
z: mp_ptr,
x0: mp_ptr,
z0: mp_ptr,
n: mp_ptr,
ecm_inf: *mut ecm_s,
);
}
extern "C" {
pub fn fmpz_factor_ecm_add(
x: mp_ptr,
z: mp_ptr,
x1: mp_ptr,
z1: mp_ptr,
x2: mp_ptr,
z2: mp_ptr,
x0: mp_ptr,
z0: mp_ptr,
n: mp_ptr,
ecm_inf: *mut ecm_s,
);
}
extern "C" {
pub fn fmpz_factor_ecm_mul_montgomery_ladder(
x: mp_ptr,
z: mp_ptr,
x0: mp_ptr,
z0: mp_ptr,
k: mp_limb_t,
n: mp_ptr,
ecm_inf: *mut ecm_s,
);
}
extern "C" {
pub fn fmpz_factor_ecm_select_curve(
f: mp_ptr,
sig: mp_ptr,
n: mp_ptr,
ecm_inf: *mut ecm_s,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_factor_ecm_stage_I(
f: mp_ptr,
prime_array: *const mp_limb_t,
num: mp_limb_t,
B1: mp_limb_t,
n: mp_ptr,
ecm_inf: *mut ecm_s,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_factor_ecm_stage_II(
f: mp_ptr,
B1: mp_limb_t,
B2: mp_limb_t,
P: mp_limb_t,
n: mp_ptr,
ecm_inf: *mut ecm_s,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_factor_ecm(
f: *mut fmpz,
curves: mp_limb_t,
B1: mp_limb_t,
B2: mp_limb_t,
state: *mut flint_rand_s,
n_in: *mut fmpz,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_factor_get_fmpz(z: *mut fmpz, factor: *mut fmpz_factor_struct, i: mp_limb_signed_t);
}
pub type mpf = __mpf_struct;
extern "C" {
pub fn _mpf_vec_init(len: mp_limb_signed_t, prec: mp_limb_t) -> *mut mpf;
}
extern "C" {
pub fn _mpf_vec_clear(vec: *mut mpf, len: mp_limb_signed_t);
}
extern "C" {
pub fn _mpf_vec_randtest(
f: *mut mpf,
state: *mut flint_rand_s,
len: mp_limb_signed_t,
bits: mp_limb_t,
);
}
extern "C" {
pub fn _mpf_vec_zero(vec: *mut mpf, len: mp_limb_signed_t);
}
extern "C" {
pub fn _mpf_vec_set(vec1: *mut mpf, vec2: *const mpf, len2: mp_limb_signed_t);
}
extern "C" {
pub fn _mpf_vec_equal(
vec1: *const mpf,
vec2: *const mpf,
len: mp_limb_signed_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _mpf_vec_approx_equal(
vec1: *const mpf,
vec2: *const mpf,
len: mp_limb_signed_t,
bits: mp_limb_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _mpf_vec_is_zero(vec: *const mpf, len: mp_limb_signed_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _mpf_vec_add(res: *mut mpf, vec1: *const mpf, vec2: *const mpf, len2: mp_limb_signed_t);
}
extern "C" {
pub fn _mpf_vec_sub(res: *mut mpf, vec1: *const mpf, vec2: *const mpf, len2: mp_limb_signed_t);
}
extern "C" {
pub fn _mpf_vec_scalar_mul_2exp(
res: *mut mpf,
vec: *const mpf,
len: mp_limb_signed_t,
exp: mp_limb_t,
);
}
extern "C" {
pub fn _mpf_vec_scalar_mul_mpf(
res: *mut mpf,
vec: *const mpf,
len: mp_limb_signed_t,
c: *mut __mpf_struct,
);
}
extern "C" {
pub fn _mpf_vec_dot(
res: *mut __mpf_struct,
vec1: *const mpf,
vec2: *const mpf,
len2: mp_limb_signed_t,
);
}
extern "C" {
pub fn _mpf_vec_norm(res: *mut __mpf_struct, vec: *const mpf, len: mp_limb_signed_t);
}
extern "C" {
pub fn _mpf_vec_dot2(
res: *mut __mpf_struct,
vec1: *const mpf,
vec2: *const mpf,
len2: mp_limb_signed_t,
prec: mp_limb_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _mpf_vec_norm2(
res: *mut __mpf_struct,
vec: *const mpf,
len: mp_limb_signed_t,
prec: mp_limb_t,
);
}
extern "C" {
pub fn _fmpz_vec_init(len: mp_limb_signed_t) -> *mut fmpz;
}
extern "C" {
pub fn _fmpz_vec_clear(vec: *mut fmpz, len: mp_limb_signed_t);
}
extern "C" {
pub fn _fmpz_vec_randtest(
f: *mut fmpz,
state: *mut flint_rand_s,
len: mp_limb_signed_t,
bits: mp_limb_t,
);
}
extern "C" {
pub fn _fmpz_vec_randtest_unsigned(
f: *mut fmpz,
state: *mut flint_rand_s,
len: mp_limb_signed_t,
bits: mp_limb_t,
);
}
extern "C" {
pub fn _fmpz_vec_max_bits(vec: *const fmpz, len: mp_limb_signed_t) -> mp_limb_signed_t;
}
extern "C" {
pub fn _fmpz_vec_max_bits_ref(vec: *const fmpz, len: mp_limb_signed_t) -> mp_limb_signed_t;
}
extern "C" {
pub fn _fmpz_vec_sum_max_bits(
sumabs: *mut mp_limb_signed_t,
maxabs: *mut mp_limb_signed_t,
coeffs: *const fmpz,
length: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_vec_max_limbs(vec: *const fmpz, len: mp_limb_signed_t) -> mp_size_t;
}
extern "C" {
pub fn _fmpz_vec_height(height: *mut fmpz, vec: *const fmpz, len: mp_limb_signed_t);
}
extern "C" {
pub fn _fmpz_vec_height_index(vec: *const fmpz, len: mp_limb_signed_t) -> mp_limb_signed_t;
}
extern "C" {
pub fn _fmpz_vec_fprint(
file: *mut FILE,
vec: *const fmpz,
len: mp_limb_signed_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fmpz_vec_fread(
file: *mut FILE,
vec: *mut *mut fmpz,
len: *mut mp_limb_signed_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fmpz_vec_set_nmod_vec(
res: *mut fmpz,
poly: mp_srcptr,
len: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn _fmpz_vec_get_nmod_vec(
res: mp_ptr,
poly: *const fmpz,
len: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn _fmpz_vec_get_fft(
coeffs_f: *mut *mut mp_limb_t,
coeffs_m: *const fmpz,
l: mp_limb_signed_t,
length: mp_limb_signed_t,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn _fmpz_vec_set_fft(
coeffs_m: *mut fmpz,
length: mp_limb_signed_t,
coeffs_f: *const mp_ptr,
limbs: mp_limb_signed_t,
sign: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_vec_get_d_vec_2exp(
appv: *mut f64,
vec: *const fmpz,
len: mp_limb_signed_t,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn _fmpz_vec_get_mpf_vec(appv: *mut mpf, vec: *const fmpz, len: mp_limb_signed_t);
}
extern "C" {
pub fn _fmpz_vec_set(vec1: *mut fmpz, vec2: *const fmpz, len2: mp_limb_signed_t);
}
extern "C" {
pub fn _fmpz_vec_swap(vec1: *mut fmpz, vec2: *mut fmpz, len2: mp_limb_signed_t);
}
extern "C" {
pub fn _fmpz_vec_zero(vec: *mut fmpz, len: mp_limb_signed_t);
}
extern "C" {
pub fn _fmpz_vec_neg(vec1: *mut fmpz, vec2: *const fmpz, len2: mp_limb_signed_t);
}
extern "C" {
pub fn _fmpz_vec_scalar_abs(vec1: *mut fmpz, vec2: *const fmpz, len2: mp_limb_signed_t);
}
extern "C" {
pub fn _fmpz_vec_equal(
vec1: *const fmpz,
vec2: *const fmpz,
len: mp_limb_signed_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fmpz_vec_is_zero(vec: *const fmpz, len: mp_limb_signed_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fmpz_vec_max(
vec1: *mut fmpz,
vec2: *const fmpz,
vec3: *const fmpz,
len: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_vec_max_inplace(vec1: *mut fmpz, vec2: *const fmpz, len: mp_limb_signed_t);
}
extern "C" {
pub fn _fmpz_vec_min(
vec1: *mut fmpz,
vec2: *const fmpz,
vec3: *const fmpz,
len: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_vec_min_inplace(vec1: *mut fmpz, vec2: *const fmpz, len: mp_limb_signed_t);
}
extern "C" {
pub fn _fmpz_vec_sort(vec: *mut fmpz, len: mp_limb_signed_t);
}
extern "C" {
pub fn _fmpz_vec_add(
res: *mut fmpz,
vec1: *const fmpz,
vec2: *const fmpz,
len2: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_vec_sub(
res: *mut fmpz,
vec1: *const fmpz,
vec2: *const fmpz,
len2: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_vec_scalar_mul_si(
vec1: *mut fmpz,
vec2: *const fmpz,
len2: mp_limb_signed_t,
c: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_vec_scalar_mul_ui(
vec1: *mut fmpz,
vec2: *const fmpz,
len2: mp_limb_signed_t,
c: mp_limb_t,
);
}
extern "C" {
pub fn _fmpz_vec_scalar_mul_fmpz(
vec1: *mut fmpz,
vec2: *const fmpz,
len2: mp_limb_signed_t,
x: *mut fmpz,
);
}
extern "C" {
pub fn _fmpz_vec_scalar_mul_2exp(
vec1: *mut fmpz,
vec2: *const fmpz,
len2: mp_limb_signed_t,
exp: mp_limb_t,
);
}
extern "C" {
pub fn _fmpz_vec_scalar_divexact_fmpz(
vec1: *mut fmpz,
vec2: *const fmpz,
len2: mp_limb_signed_t,
x: *mut fmpz,
);
}
extern "C" {
pub fn _fmpz_vec_scalar_divexact_si(
vec1: *mut fmpz,
vec2: *const fmpz,
len2: mp_limb_signed_t,
c: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_vec_scalar_divexact_ui(
vec1: *mut fmpz,
vec2: *const fmpz,
len2: mp_limb_signed_t,
c: mp_limb_t,
);
}
extern "C" {
pub fn _fmpz_vec_scalar_fdiv_q_fmpz(
vec1: *mut fmpz,
vec2: *const fmpz,
len2: mp_limb_signed_t,
c: *mut fmpz,
);
}
extern "C" {
pub fn _fmpz_vec_scalar_fdiv_q_si(
vec1: *mut fmpz,
vec2: *const fmpz,
len2: mp_limb_signed_t,
c: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_vec_scalar_fdiv_q_ui(
vec1: *mut fmpz,
vec2: *const fmpz,
len2: mp_limb_signed_t,
c: mp_limb_t,
);
}
extern "C" {
pub fn _fmpz_vec_scalar_fdiv_q_2exp(
vec1: *mut fmpz,
vec2: *const fmpz,
len2: mp_limb_signed_t,
exp: mp_limb_t,
);
}
extern "C" {
pub fn _fmpz_vec_scalar_fdiv_r_2exp(
vec1: *mut fmpz,
vec2: *const fmpz,
len2: mp_limb_signed_t,
exp: mp_limb_t,
);
}
extern "C" {
pub fn _fmpz_vec_scalar_tdiv_q_fmpz(
vec1: *mut fmpz,
vec2: *const fmpz,
len2: mp_limb_signed_t,
c: *mut fmpz,
);
}
extern "C" {
pub fn _fmpz_vec_scalar_tdiv_q_si(
vec1: *mut fmpz,
vec2: *const fmpz,
len2: mp_limb_signed_t,
c: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_vec_scalar_tdiv_q_ui(
vec1: *mut fmpz,
vec2: *const fmpz,
len2: mp_limb_signed_t,
c: mp_limb_t,
);
}
extern "C" {
pub fn _fmpz_vec_scalar_tdiv_q_2exp(
vec1: *mut fmpz,
vec2: *const fmpz,
len2: mp_limb_signed_t,
exp: mp_limb_t,
);
}
extern "C" {
pub fn _fmpz_vec_scalar_addmul_si(
vec1: *mut fmpz,
vec2: *const fmpz,
len2: mp_limb_signed_t,
c: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_vec_scalar_addmul_fmpz(
poly1: *mut fmpz,
poly2: *const fmpz,
len2: mp_limb_signed_t,
x: *mut fmpz,
);
}
extern "C" {
pub fn _fmpz_vec_scalar_addmul_si_2exp(
vec1: *mut fmpz,
vec2: *const fmpz,
len2: mp_limb_signed_t,
c: mp_limb_signed_t,
exp: mp_limb_t,
);
}
extern "C" {
pub fn _fmpz_vec_scalar_submul_si(
vec1: *mut fmpz,
vec2: *const fmpz,
len2: mp_limb_signed_t,
c: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_vec_scalar_submul_fmpz(
vec1: *mut fmpz,
vec2: *const fmpz,
len2: mp_limb_signed_t,
x: *mut fmpz,
);
}
extern "C" {
pub fn _fmpz_vec_scalar_submul_si_2exp(
vec1: *mut fmpz,
vec2: *const fmpz,
len2: mp_limb_signed_t,
c: mp_limb_signed_t,
exp: mp_limb_t,
);
}
extern "C" {
pub fn _fmpz_vec_sum(res: *mut fmpz, vec: *const fmpz, len: mp_limb_signed_t);
}
extern "C" {
pub fn _fmpz_vec_prod(res: *mut fmpz, vec: *const fmpz, len: mp_limb_signed_t);
}
extern "C" {
pub fn _fmpz_vec_scalar_mod_fmpz(
res: *mut fmpz,
vec: *const fmpz,
len: mp_limb_signed_t,
p: *mut fmpz,
);
}
extern "C" {
pub fn _fmpz_vec_scalar_smod_fmpz(
res: *mut fmpz,
vec: *const fmpz,
len: mp_limb_signed_t,
p: *mut fmpz,
);
}
extern "C" {
pub fn _fmpz_vec_content(res: *mut fmpz, vec: *const fmpz, len: mp_limb_signed_t);
}
extern "C" {
pub fn _fmpz_vec_lcm(res: *mut fmpz, vec: *const fmpz, len: mp_limb_signed_t);
}
extern "C" {
pub fn _fmpz_vec_dot(
res: *mut fmpz,
vec1: *const fmpz,
vec2: *const fmpz,
len2: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_vec_dot_ptr(
c: *mut fmpz,
vec1: *const fmpz,
vec2: *mut *mut fmpz,
offset: mp_limb_signed_t,
len: mp_limb_signed_t,
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct fmpq {
pub num: fmpz,
pub den: fmpz,
}
#[test]
fn bindgen_test_layout_fmpq() {
assert_eq!(
::std::mem::size_of::<fmpq>(),
16usize,
concat!("Size of: ", stringify!(fmpq))
);
assert_eq!(
::std::mem::align_of::<fmpq>(),
8usize,
concat!("Alignment of ", stringify!(fmpq))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpq>())).num as *const _ as usize },
0usize,
concat!("Offset of field: ", stringify!(fmpq), "::", stringify!(num))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpq>())).den as *const _ as usize },
8usize,
concat!("Offset of field: ", stringify!(fmpq), "::", stringify!(den))
);
}
pub type fmpq_t = [fmpq; 1usize];
extern "C" {
pub fn fmpq_init(x: *mut fmpq);
}
extern "C" {
pub fn fmpq_clear(x: *mut fmpq);
}
extern "C" {
pub fn fmpq_zero(res: *mut fmpq);
}
extern "C" {
pub fn fmpq_one(res: *mut fmpq);
}
extern "C" {
pub fn fmpq_equal(x: *mut fmpq, y: *mut fmpq) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_sgn(x: *mut fmpq) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_is_zero(x: *mut fmpq) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_is_one(x: *mut fmpq) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_is_pm1(x: *mut fmpq) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_set(dest: *mut fmpq, src: *mut fmpq);
}
extern "C" {
pub fn fmpq_swap(op1: *mut fmpq, op2: *mut fmpq);
}
extern "C" {
pub fn fmpq_neg(dest: *mut fmpq, src: *mut fmpq);
}
extern "C" {
pub fn fmpq_abs(dest: *mut fmpq, src: *mut fmpq);
}
extern "C" {
pub fn _fmpq_cmp(
p: *mut fmpz,
q: *mut fmpz,
r: *mut fmpz,
s: *mut fmpz,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_cmp(x: *mut fmpq, y: *mut fmpq) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fmpq_cmp_fmpz(p: *mut fmpz, q: *mut fmpz, r: *mut fmpz) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_cmp_fmpz(x: *mut fmpq, y: *mut fmpz) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fmpq_cmp_ui(p: *mut fmpz, q: *mut fmpz, c: mp_limb_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_cmp_ui(x: *mut fmpq, c: mp_limb_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fmpq_cmp_si(p: *mut fmpz, q: *mut fmpz, c: mp_limb_signed_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_cmp_si(x: *mut fmpq, c: mp_limb_signed_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fmpq_canonicalise(num: *mut fmpz, den: *mut fmpz);
}
extern "C" {
pub fn fmpq_canonicalise(res: *mut fmpq);
}
extern "C" {
pub fn _fmpq_is_canonical(num: *mut fmpz, den: *mut fmpz) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_is_canonical(x: *mut fmpq) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fmpq_set_ui(rnum: *mut fmpz, rden: *mut fmpz, p: mp_limb_t, q: mp_limb_t);
}
extern "C" {
pub fn fmpq_set_ui(res: *mut fmpq, p: mp_limb_t, q: mp_limb_t);
}
extern "C" {
pub fn _fmpq_set_si(rnum: *mut fmpz, rden: *mut fmpz, p: mp_limb_signed_t, q: mp_limb_t);
}
extern "C" {
pub fn fmpq_set_si(res: *mut fmpq, p: mp_limb_signed_t, q: mp_limb_t);
}
extern "C" {
pub fn fmpq_equal_ui(q: *mut fmpq, n: mp_limb_signed_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_equal_si(q: *mut fmpq, n: mp_limb_signed_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_set_fmpz_frac(res: *mut fmpq, p: *mut fmpz, q: *mut fmpz);
}
extern "C" {
pub fn fmpq_set_str(
res: *mut fmpq,
str: *const ::std::os::raw::c_char,
base: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_set_mpq(dest: *mut fmpq, src: *mut __mpq_struct);
}
extern "C" {
pub fn fmpq_get_mpq(dest: *mut __mpq_struct, src: *mut fmpq);
}
extern "C" {
pub fn fmpq_get_d(a: *mut fmpq) -> f64;
}
extern "C" {
pub fn fmpq_get_mpfr(
r: *mut __mpfr_struct,
x: *mut fmpq,
rnd: mpfr_rnd_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_get_mpz_frac(a: *mut __mpz_struct, b: *mut __mpz_struct, c: *mut fmpq);
}
extern "C" {
pub fn flint_mpq_init_set_readonly(z: *mut __mpq_struct, f: *mut fmpq);
}
extern "C" {
pub fn flint_mpq_clear_readonly(z: *mut __mpq_struct);
}
extern "C" {
pub fn fmpq_init_set_readonly(f: *mut fmpq, z: *mut __mpq_struct);
}
extern "C" {
pub fn fmpq_clear_readonly(f: *mut fmpq);
}
extern "C" {
pub fn fmpq_init_set_mpz_frac_readonly(
z: *mut fmpq,
num: *mut __mpz_struct,
den: *mut __mpz_struct,
);
}
extern "C" {
pub fn _fmpq_get_str(
str: *mut ::std::os::raw::c_char,
b: ::std::os::raw::c_int,
num: *mut fmpz,
den: *mut fmpz,
) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn fmpq_get_str(
str: *mut ::std::os::raw::c_char,
b: ::std::os::raw::c_int,
x: *mut fmpq,
) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn _fmpq_fprint(file: *mut FILE, num: *mut fmpz, den: *mut fmpz) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_fprint(file: *mut FILE, x: *mut fmpq) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fmpq_print(num: *mut fmpz, den: *mut fmpz) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_print(x: *mut fmpq) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fmpq_randtest(
num: *mut fmpz,
den: *mut fmpz,
state: *mut flint_rand_s,
bits: mp_limb_t,
);
}
extern "C" {
pub fn fmpq_randtest(res: *mut fmpq, state: *mut flint_rand_s, bits: mp_limb_t);
}
extern "C" {
pub fn fmpq_randtest_not_zero(res: *mut fmpq, state: *mut flint_rand_s, bits: mp_limb_t);
}
extern "C" {
pub fn _fmpq_randbits(
num: *mut fmpz,
den: *mut fmpz,
state: *mut flint_rand_s,
bits: mp_limb_t,
);
}
extern "C" {
pub fn fmpq_randbits(res: *mut fmpq, state: *mut flint_rand_s, bits: mp_limb_t);
}
extern "C" {
pub fn _fmpq_add_small(
rnum: *mut fmpz,
rden: *mut fmpz,
p1: mp_limb_signed_t,
q1: mp_limb_t,
p2: mp_limb_signed_t,
q2: mp_limb_t,
);
}
extern "C" {
pub fn _fmpq_mul_small(
rnum: *mut fmpz,
rden: *mut fmpz,
p1: mp_limb_signed_t,
q1: mp_limb_t,
p2: mp_limb_signed_t,
q2: mp_limb_t,
);
}
extern "C" {
pub fn _fmpq_add(
rnum: *mut fmpz,
rden: *mut fmpz,
op1num: *mut fmpz,
op1den: *mut fmpz,
op2num: *mut fmpz,
op2den: *mut fmpz,
);
}
extern "C" {
pub fn fmpq_add(res: *mut fmpq, op1: *mut fmpq, op2: *mut fmpq);
}
extern "C" {
pub fn _fmpq_add_si(
rnum: *mut fmpz,
rden: *mut fmpz,
p: *mut fmpz,
q: *mut fmpz,
r: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_add_si(res: *mut fmpq, op1: *mut fmpq, c: mp_limb_signed_t);
}
extern "C" {
pub fn _fmpq_add_ui(rnum: *mut fmpz, rden: *mut fmpz, p: *mut fmpz, q: *mut fmpz, r: mp_limb_t);
}
extern "C" {
pub fn fmpq_add_ui(res: *mut fmpq, op1: *mut fmpq, c: mp_limb_t);
}
extern "C" {
pub fn _fmpq_add_fmpz(
rnum: *mut fmpz,
rden: *mut fmpz,
p: *mut fmpz,
q: *mut fmpz,
r: *mut fmpz,
);
}
extern "C" {
pub fn fmpq_add_fmpz(res: *mut fmpq, op1: *mut fmpq, c: *mut fmpz);
}
extern "C" {
pub fn _fmpq_sub(
rnum: *mut fmpz,
rden: *mut fmpz,
op1num: *mut fmpz,
op1den: *mut fmpz,
op2num: *mut fmpz,
op2den: *mut fmpz,
);
}
extern "C" {
pub fn fmpq_sub(res: *mut fmpq, op1: *mut fmpq, op2: *mut fmpq);
}
extern "C" {
pub fn _fmpq_sub_si(
rnum: *mut fmpz,
rden: *mut fmpz,
p: *mut fmpz,
q: *mut fmpz,
r: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_sub_si(res: *mut fmpq, op1: *mut fmpq, c: mp_limb_signed_t);
}
extern "C" {
pub fn _fmpq_sub_ui(rnum: *mut fmpz, rden: *mut fmpz, p: *mut fmpz, q: *mut fmpz, r: mp_limb_t);
}
extern "C" {
pub fn fmpq_sub_ui(res: *mut fmpq, op1: *mut fmpq, c: mp_limb_t);
}
extern "C" {
pub fn _fmpq_sub_fmpz(
rnum: *mut fmpz,
rden: *mut fmpz,
p: *mut fmpz,
q: *mut fmpz,
r: *mut fmpz,
);
}
extern "C" {
pub fn fmpq_sub_fmpz(res: *mut fmpq, op1: *mut fmpq, c: *mut fmpz);
}
extern "C" {
pub fn _fmpq_mul_si(
rnum: *mut fmpz,
rden: *mut fmpz,
p: *mut fmpz,
q: *mut fmpz,
r: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_mul_si(res: *mut fmpq, op1: *mut fmpq, c: mp_limb_signed_t);
}
extern "C" {
pub fn _fmpq_mul_ui(rnum: *mut fmpz, rden: *mut fmpz, p: *mut fmpz, q: *mut fmpz, r: mp_limb_t);
}
extern "C" {
pub fn fmpq_mul_ui(res: *mut fmpq, op1: *mut fmpq, c: mp_limb_t);
}
extern "C" {
pub fn _fmpq_mul(
rnum: *mut fmpz,
rden: *mut fmpz,
op1num: *mut fmpz,
op1den: *mut fmpz,
op2num: *mut fmpz,
op2den: *mut fmpz,
);
}
extern "C" {
pub fn fmpq_mul(res: *mut fmpq, op1: *mut fmpq, op2: *mut fmpq);
}
extern "C" {
pub fn fmpq_mul_fmpz(res: *mut fmpq, op: *mut fmpq, x: *mut fmpz);
}
extern "C" {
pub fn _fmpq_pow_si(
rnum: *mut fmpz,
rden: *mut fmpz,
opnum: *mut fmpz,
opden: *mut fmpz,
e: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_pow_si(rop: *mut fmpq, op: *mut fmpq, e: mp_limb_signed_t);
}
extern "C" {
pub fn fmpq_pow_fmpz(a: *mut fmpq, b: *mut fmpq, e: *mut fmpz) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fmpq_addmul(
rnum: *mut fmpz,
rden: *mut fmpz,
op1num: *mut fmpz,
op1den: *mut fmpz,
op2num: *mut fmpz,
op2den: *mut fmpz,
);
}
extern "C" {
pub fn fmpq_addmul(res: *mut fmpq, op1: *mut fmpq, op2: *mut fmpq);
}
extern "C" {
pub fn _fmpq_submul(
rnum: *mut fmpz,
rden: *mut fmpz,
op1num: *mut fmpz,
op1den: *mut fmpz,
op2num: *mut fmpz,
op2den: *mut fmpz,
);
}
extern "C" {
pub fn fmpq_submul(res: *mut fmpq, op1: *mut fmpq, op2: *mut fmpq);
}
extern "C" {
pub fn fmpq_inv(dest: *mut fmpq, src: *mut fmpq);
}
extern "C" {
pub fn _fmpq_div(
rnum: *mut fmpz,
rden: *mut fmpz,
op1num: *mut fmpz,
op1den: *mut fmpz,
op2num: *mut fmpz,
op2den: *mut fmpz,
);
}
extern "C" {
pub fn fmpq_div(res: *mut fmpq, op1: *mut fmpq, op2: *mut fmpq);
}
extern "C" {
pub fn fmpq_div_fmpz(res: *mut fmpq, op: *mut fmpq, x: *mut fmpz);
}
extern "C" {
pub fn fmpq_mul_2exp(res: *mut fmpq, x: *mut fmpq, exp: mp_limb_t);
}
extern "C" {
pub fn fmpq_div_2exp(res: *mut fmpq, x: *mut fmpq, exp: mp_limb_t);
}
extern "C" {
pub fn _fmpq_mod_fmpz(
res: *mut fmpz,
num: *mut fmpz,
den: *mut fmpz,
mod_: *mut fmpz,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_mod_fmpz(res: *mut fmpz, x: *mut fmpq, mod_: *mut fmpz) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fmpq_gcd(
rnum: *mut fmpz,
rden: *mut fmpz,
p: *mut fmpz,
q: *mut fmpz,
r: *mut fmpz,
s: *mut fmpz,
);
}
extern "C" {
pub fn fmpq_gcd(res: *mut fmpq, op1: *mut fmpq, op2: *mut fmpq);
}
extern "C" {
pub fn _fmpq_reconstruct_fmpz(
num: *mut fmpz,
den: *mut fmpz,
a: *mut fmpz,
m: *mut fmpz,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_reconstruct_fmpz(
res: *mut fmpq,
a: *mut fmpz,
m: *mut fmpz,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fmpq_reconstruct_fmpz_2_naive(
n: *mut fmpz,
d: *mut fmpz,
a: *mut fmpz,
m: *mut fmpz,
N: *mut fmpz,
D: *mut fmpz,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fmpq_reconstruct_fmpz_2(
n: *mut fmpz,
d: *mut fmpz,
a: *mut fmpz,
m: *mut fmpz,
N: *mut fmpz,
D: *mut fmpz,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_reconstruct_fmpz_2(
res: *mut fmpq,
a: *mut fmpz,
m: *mut fmpz,
N: *mut fmpz,
D: *mut fmpz,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_height_bits(x: *mut fmpq) -> mp_limb_t;
}
extern "C" {
pub fn fmpq_height(height: *mut fmpz, x: *mut fmpq);
}
extern "C" {
pub fn _fmpq_next_calkin_wilf(rnum: *mut fmpz, rden: *mut fmpz, num: *mut fmpz, den: *mut fmpz);
}
extern "C" {
pub fn fmpq_next_calkin_wilf(res: *mut fmpq, x: *mut fmpq);
}
extern "C" {
pub fn _fmpq_next_signed_calkin_wilf(
rnum: *mut fmpz,
rden: *mut fmpz,
num: *mut fmpz,
den: *mut fmpz,
);
}
extern "C" {
pub fn fmpq_next_signed_calkin_wilf(res: *mut fmpq, x: *mut fmpq);
}
extern "C" {
pub fn _fmpq_next_minimal(rnum: *mut fmpz, rden: *mut fmpz, num: *mut fmpz, den: *mut fmpz);
}
extern "C" {
pub fn fmpq_next_minimal(res: *mut fmpq, x: *mut fmpq);
}
extern "C" {
pub fn _fmpq_next_signed_minimal(
rnum: *mut fmpz,
rden: *mut fmpz,
num: *mut fmpz,
den: *mut fmpz,
);
}
extern "C" {
pub fn fmpq_next_signed_minimal(res: *mut fmpq, x: *mut fmpq);
}
extern "C" {
pub fn fmpq_farey_neighbors(left: *mut fmpq, right: *mut fmpq, mid: *mut fmpq, Q: *mut fmpz);
}
extern "C" {
pub fn fmpq_simplest_between(mid: *mut fmpq, l: *mut fmpq, r: *mut fmpq);
}
extern "C" {
pub fn _fmpq_simplest_between(
mid_num: *mut fmpz,
mid_den: *mut fmpz,
l_num: *mut fmpz,
l_den: *mut fmpz,
r_num: *mut fmpz,
r_den: *mut fmpz,
);
}
extern "C" {
pub fn fmpq_get_cfrac_naive(
c: *mut fmpz,
rem: *mut fmpq,
x: *mut fmpq,
n: mp_limb_signed_t,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn fmpq_get_cfrac(
c: *mut fmpz,
rem: *mut fmpq,
x: *mut fmpq,
n: mp_limb_signed_t,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn fmpq_set_cfrac(x: *mut fmpq, c: *const fmpz, n: mp_limb_signed_t);
}
extern "C" {
pub fn fmpq_cfrac_bound(x: *mut fmpq) -> mp_limb_signed_t;
}
extern "C" {
pub fn fmpq_dedekind_sum_naive(s: *mut fmpq, h: *mut fmpz, k: *mut fmpz);
}
extern "C" {
pub fn fmpq_dedekind_sum(s: *mut fmpq, h: *mut fmpz, k: *mut fmpz);
}
extern "C" {
pub fn _fmpq_harmonic_ui(num: *mut fmpz, den: *mut fmpz, n: mp_limb_t);
}
extern "C" {
pub fn fmpq_harmonic_ui(x: *mut fmpq, n: mp_limb_t);
}
extern "C" {
pub fn _fmpq_vec_init(len: mp_limb_signed_t) -> *mut fmpq;
}
extern "C" {
pub fn _fmpq_vec_clear(vec: *mut fmpq, len: mp_limb_signed_t);
}
#[doc = " 2x2 integer matrix"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _fmpz_mat22_struct {
pub _11: fmpz_t,
pub _12: fmpz_t,
pub _21: fmpz_t,
pub _22: fmpz_t,
pub det: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout__fmpz_mat22_struct() {
assert_eq!(
::std::mem::size_of::<_fmpz_mat22_struct>(),
40usize,
concat!("Size of: ", stringify!(_fmpz_mat22_struct))
);
assert_eq!(
::std::mem::align_of::<_fmpz_mat22_struct>(),
8usize,
concat!("Alignment of ", stringify!(_fmpz_mat22_struct))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_fmpz_mat22_struct>()))._11 as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_fmpz_mat22_struct),
"::",
stringify!(_11)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_fmpz_mat22_struct>()))._12 as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_fmpz_mat22_struct),
"::",
stringify!(_12)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_fmpz_mat22_struct>()))._21 as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(_fmpz_mat22_struct),
"::",
stringify!(_21)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_fmpz_mat22_struct>()))._22 as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(_fmpz_mat22_struct),
"::",
stringify!(_22)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_fmpz_mat22_struct>())).det as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(_fmpz_mat22_struct),
"::",
stringify!(det)
)
);
}
pub type _fmpz_mat22_t = [_fmpz_mat22_struct; 1usize];
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _ui_mat22_struct {
pub _11: mp_limb_t,
pub _12: mp_limb_t,
pub _21: mp_limb_t,
pub _22: mp_limb_t,
pub det: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout__ui_mat22_struct() {
assert_eq!(
::std::mem::size_of::<_ui_mat22_struct>(),
40usize,
concat!("Size of: ", stringify!(_ui_mat22_struct))
);
assert_eq!(
::std::mem::align_of::<_ui_mat22_struct>(),
8usize,
concat!("Alignment of ", stringify!(_ui_mat22_struct))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_ui_mat22_struct>()))._11 as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_ui_mat22_struct),
"::",
stringify!(_11)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_ui_mat22_struct>()))._12 as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_ui_mat22_struct),
"::",
stringify!(_12)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_ui_mat22_struct>()))._21 as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(_ui_mat22_struct),
"::",
stringify!(_21)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_ui_mat22_struct>()))._22 as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(_ui_mat22_struct),
"::",
stringify!(_22)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_ui_mat22_struct>())).det as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(_ui_mat22_struct),
"::",
stringify!(det)
)
);
}
pub type _ui_mat22_t = [_ui_mat22_struct; 1usize];
extern "C" {
pub fn _fmpz_mat22_init(M: *mut _fmpz_mat22_struct);
}
extern "C" {
pub fn _fmpz_mat22_clear(M: *mut _fmpz_mat22_struct);
}
extern "C" {
pub fn _fmpz_mat22_one(M: *mut _fmpz_mat22_struct);
}
extern "C" {
pub fn _fmpz_mat22_is_one(M: *mut _fmpz_mat22_struct) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fmpz_mat22_bits(N: *mut _fmpz_mat22_struct) -> mp_limb_t;
}
extern "C" {
pub fn _fmpz_mat22_rmul(M: *mut _fmpz_mat22_struct, N: *mut _fmpz_mat22_struct);
}
extern "C" {
pub fn _fmpz_mat22_rmul_ui(M: *mut _fmpz_mat22_struct, N: *mut _ui_mat22_struct);
}
extern "C" {
pub fn _fmpz_mat22_rmul_inv_ui(M: *mut _fmpz_mat22_struct, N: *mut _ui_mat22_struct);
}
extern "C" {
pub fn _fmpz_mat22_rmul_elem(M: *mut _fmpz_mat22_struct, q: *mut fmpz);
}
extern "C" {
pub fn _fmpz_mat22_rmul_inv_elem(M: *mut _fmpz_mat22_struct, q: *mut fmpz);
}
extern "C" {
pub fn _fmpz_mat22_lmul_elem(M: *mut _fmpz_mat22_struct, q: *mut fmpz);
}
#[doc = " resizable integer vector specific to cfrac functionality"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _fmpq_cfrac_list_struct {
pub array: *mut fmpz,
pub length: mp_limb_signed_t,
pub alloc: mp_limb_signed_t,
pub limit: mp_limb_signed_t,
pub alt_sum: fmpz_t,
pub want_alt_sum: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout__fmpq_cfrac_list_struct() {
assert_eq!(
::std::mem::size_of::<_fmpq_cfrac_list_struct>(),
48usize,
concat!("Size of: ", stringify!(_fmpq_cfrac_list_struct))
);
assert_eq!(
::std::mem::align_of::<_fmpq_cfrac_list_struct>(),
8usize,
concat!("Alignment of ", stringify!(_fmpq_cfrac_list_struct))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_fmpq_cfrac_list_struct>())).array as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_fmpq_cfrac_list_struct),
"::",
stringify!(array)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_fmpq_cfrac_list_struct>())).length as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_fmpq_cfrac_list_struct),
"::",
stringify!(length)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_fmpq_cfrac_list_struct>())).alloc as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(_fmpq_cfrac_list_struct),
"::",
stringify!(alloc)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_fmpq_cfrac_list_struct>())).limit as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(_fmpq_cfrac_list_struct),
"::",
stringify!(limit)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_fmpq_cfrac_list_struct>())).alt_sum as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(_fmpq_cfrac_list_struct),
"::",
stringify!(alt_sum)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<_fmpq_cfrac_list_struct>())).want_alt_sum as *const _ as usize
},
40usize,
concat!(
"Offset of field: ",
stringify!(_fmpq_cfrac_list_struct),
"::",
stringify!(want_alt_sum)
)
);
}
pub type _fmpq_cfrac_list_t = [_fmpq_cfrac_list_struct; 1usize];
extern "C" {
pub fn _fmpq_cfrac_list_init(v: *mut _fmpq_cfrac_list_struct);
}
extern "C" {
pub fn _fmpq_cfrac_list_clear(v: *mut _fmpq_cfrac_list_struct);
}
extern "C" {
pub fn _fmpq_cfrac_list_fit_length(v: *mut _fmpq_cfrac_list_struct, len: mp_limb_signed_t);
}
extern "C" {
pub fn _fmpq_cfrac_list_push_back(v: *mut _fmpq_cfrac_list_struct, a: *mut fmpz);
}
extern "C" {
pub fn _fmpq_cfrac_list_push_back_zero(v: *mut _fmpq_cfrac_list_struct);
}
extern "C" {
pub fn _fmpq_cfrac_list_append_ui(
v: *mut _fmpq_cfrac_list_struct,
a: *const mp_limb_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpq_cfrac_list_swap(a: *mut _fmpq_cfrac_list_struct, b: *mut _fmpq_cfrac_list_struct);
}
#[doc = " ball for closed interval [left, right]"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _fmpq_ball_struct {
pub left_num: fmpz_t,
pub left_den: fmpz_t,
pub right_num: fmpz_t,
pub right_den: fmpz_t,
pub exact: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout__fmpq_ball_struct() {
assert_eq!(
::std::mem::size_of::<_fmpq_ball_struct>(),
40usize,
concat!("Size of: ", stringify!(_fmpq_ball_struct))
);
assert_eq!(
::std::mem::align_of::<_fmpq_ball_struct>(),
8usize,
concat!("Alignment of ", stringify!(_fmpq_ball_struct))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_fmpq_ball_struct>())).left_num as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_fmpq_ball_struct),
"::",
stringify!(left_num)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_fmpq_ball_struct>())).left_den as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_fmpq_ball_struct),
"::",
stringify!(left_den)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_fmpq_ball_struct>())).right_num as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(_fmpq_ball_struct),
"::",
stringify!(right_num)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_fmpq_ball_struct>())).right_den as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(_fmpq_ball_struct),
"::",
stringify!(right_den)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<_fmpq_ball_struct>())).exact as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(_fmpq_ball_struct),
"::",
stringify!(exact)
)
);
}
pub type _fmpq_ball_t = [_fmpq_ball_struct; 1usize];
extern "C" {
pub fn _fmpq_ball_init(x: *mut _fmpq_ball_struct);
}
extern "C" {
pub fn _fmpq_ball_clear(x: *mut _fmpq_ball_struct);
}
extern "C" {
pub fn _fmpq_ball_swap(x: *mut _fmpq_ball_struct, y: *mut _fmpq_ball_struct);
}
extern "C" {
pub fn _fmpq_ball_gt_one(x: *mut _fmpq_ball_struct) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fmpq_hgcd(
s: *mut _fmpq_cfrac_list_struct,
M: *mut _fmpz_mat22_struct,
x_num: *mut fmpz,
x_den: *mut fmpz,
);
}
extern "C" {
pub fn _fmpq_ball_get_cfrac(
s: *mut _fmpq_cfrac_list_struct,
M: *mut _fmpz_mat22_struct,
needM: ::std::os::raw::c_int,
x: *mut _fmpq_ball_struct,
);
}
extern "C" {
pub fn fmpq_numerator(n: *mut fmpz, q: *mut fmpq);
}
extern "C" {
pub fn fmpq_denominator(n: *mut fmpz, q: *mut fmpq);
}
extern "C" {
pub fn fmpq_numerator_ptr(q: *mut fmpq) -> *mut fmpz;
}
extern "C" {
pub fn fmpq_denominator_ptr(q: *mut fmpq) -> *mut fmpz;
}
extern "C" {
pub fn fmpq_equal_fmpz(q: *mut fmpq, n: *mut fmpz) -> ::std::os::raw::c_int;
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct thread_pool_entry_struct {
pub pth: pthread_t,
pub mutex: pthread_mutex_t,
pub sleep1: pthread_cond_t,
pub sleep2: pthread_cond_t,
pub idx: ::std::os::raw::c_int,
pub available: ::std::os::raw::c_int,
pub max_workers: ::std::os::raw::c_int,
pub fxn: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
pub fxnarg: *mut ::std::os::raw::c_void,
pub working: ::std::os::raw::c_int,
pub exit: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_thread_pool_entry_struct() {
assert_eq!(
::std::mem::size_of::<thread_pool_entry_struct>(),
184usize,
concat!("Size of: ", stringify!(thread_pool_entry_struct))
);
assert_eq!(
::std::mem::align_of::<thread_pool_entry_struct>(),
8usize,
concat!("Alignment of ", stringify!(thread_pool_entry_struct))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<thread_pool_entry_struct>())).pth as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(thread_pool_entry_struct),
"::",
stringify!(pth)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<thread_pool_entry_struct>())).mutex as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(thread_pool_entry_struct),
"::",
stringify!(mutex)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<thread_pool_entry_struct>())).sleep1 as *const _ as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(thread_pool_entry_struct),
"::",
stringify!(sleep1)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<thread_pool_entry_struct>())).sleep2 as *const _ as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(thread_pool_entry_struct),
"::",
stringify!(sleep2)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<thread_pool_entry_struct>())).idx as *const _ as usize },
144usize,
concat!(
"Offset of field: ",
stringify!(thread_pool_entry_struct),
"::",
stringify!(idx)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<thread_pool_entry_struct>())).available as *const _ as usize
},
148usize,
concat!(
"Offset of field: ",
stringify!(thread_pool_entry_struct),
"::",
stringify!(available)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<thread_pool_entry_struct>())).max_workers as *const _ as usize
},
152usize,
concat!(
"Offset of field: ",
stringify!(thread_pool_entry_struct),
"::",
stringify!(max_workers)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<thread_pool_entry_struct>())).fxn as *const _ as usize },
160usize,
concat!(
"Offset of field: ",
stringify!(thread_pool_entry_struct),
"::",
stringify!(fxn)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<thread_pool_entry_struct>())).fxnarg as *const _ as usize },
168usize,
concat!(
"Offset of field: ",
stringify!(thread_pool_entry_struct),
"::",
stringify!(fxnarg)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<thread_pool_entry_struct>())).working as *const _ as usize
},
176usize,
concat!(
"Offset of field: ",
stringify!(thread_pool_entry_struct),
"::",
stringify!(working)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<thread_pool_entry_struct>())).exit as *const _ as usize },
180usize,
concat!(
"Offset of field: ",
stringify!(thread_pool_entry_struct),
"::",
stringify!(exit)
)
);
}
pub type thread_pool_entry_t = [thread_pool_entry_struct; 1usize];
#[repr(C)]
#[derive(Copy, Clone)]
pub struct thread_pool_struct {
pub original_affinity: cpu_set_t,
pub mutex: pthread_mutex_t,
pub tdata: *mut thread_pool_entry_struct,
pub length: mp_limb_signed_t,
}
#[test]
fn bindgen_test_layout_thread_pool_struct() {
assert_eq!(
::std::mem::size_of::<thread_pool_struct>(),
184usize,
concat!("Size of: ", stringify!(thread_pool_struct))
);
assert_eq!(
::std::mem::align_of::<thread_pool_struct>(),
8usize,
concat!("Alignment of ", stringify!(thread_pool_struct))
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<thread_pool_struct>())).original_affinity as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(thread_pool_struct),
"::",
stringify!(original_affinity)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<thread_pool_struct>())).mutex as *const _ as usize },
128usize,
concat!(
"Offset of field: ",
stringify!(thread_pool_struct),
"::",
stringify!(mutex)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<thread_pool_struct>())).tdata as *const _ as usize },
168usize,
concat!(
"Offset of field: ",
stringify!(thread_pool_struct),
"::",
stringify!(tdata)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<thread_pool_struct>())).length as *const _ as usize },
176usize,
concat!(
"Offset of field: ",
stringify!(thread_pool_struct),
"::",
stringify!(length)
)
);
}
pub type thread_pool_t = [thread_pool_struct; 1usize];
pub type thread_pool_handle = ::std::os::raw::c_int;
extern "C" {
pub static mut global_thread_pool: thread_pool_t;
}
extern "C" {
pub static mut global_thread_pool_initialized: ::std::os::raw::c_int;
}
extern "C" {
pub fn thread_pool_idle_loop(varg: *mut ::std::os::raw::c_void) -> *mut ::std::os::raw::c_void;
}
extern "C" {
pub fn thread_pool_init(T: *mut thread_pool_struct, l: mp_limb_signed_t);
}
extern "C" {
pub fn thread_pool_set_affinity(
T: *mut thread_pool_struct,
cpus: *mut ::std::os::raw::c_int,
length: mp_limb_signed_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn thread_pool_restore_affinity(T: *mut thread_pool_struct) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn thread_pool_get_size(T: *mut thread_pool_struct) -> mp_limb_signed_t;
}
extern "C" {
pub fn thread_pool_set_size(
T: *mut thread_pool_struct,
new_size: mp_limb_signed_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn thread_pool_request(
T: *mut thread_pool_struct,
out: *mut thread_pool_handle,
requested: mp_limb_signed_t,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn thread_pool_wake(
T: *mut thread_pool_struct,
i: thread_pool_handle,
max_workers: ::std::os::raw::c_int,
f: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
a: *mut ::std::os::raw::c_void,
);
}
extern "C" {
pub fn thread_pool_wait(T: *mut thread_pool_struct, i: thread_pool_handle);
}
extern "C" {
pub fn thread_pool_give_back(T: *mut thread_pool_struct, i: thread_pool_handle);
}
extern "C" {
pub fn thread_pool_clear(T: *mut thread_pool_struct);
}
extern "C" {
pub fn flint_request_threads(
handles: *mut *mut thread_pool_handle,
thread_limit: mp_limb_signed_t,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn flint_give_back_threads(handles: *mut thread_pool_handle, num_handles: mp_limb_signed_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct nmod_mat_struct {
pub entries: *mut mp_limb_t,
pub r: mp_limb_signed_t,
pub c: mp_limb_signed_t,
pub rows: *mut *mut mp_limb_t,
pub mod_: nmod_t,
}
#[test]
fn bindgen_test_layout_nmod_mat_struct() {
assert_eq!(
::std::mem::size_of::<nmod_mat_struct>(),
56usize,
concat!("Size of: ", stringify!(nmod_mat_struct))
);
assert_eq!(
::std::mem::align_of::<nmod_mat_struct>(),
8usize,
concat!("Alignment of ", stringify!(nmod_mat_struct))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nmod_mat_struct>())).entries as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(nmod_mat_struct),
"::",
stringify!(entries)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nmod_mat_struct>())).r as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(nmod_mat_struct),
"::",
stringify!(r)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nmod_mat_struct>())).c as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(nmod_mat_struct),
"::",
stringify!(c)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nmod_mat_struct>())).rows as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(nmod_mat_struct),
"::",
stringify!(rows)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nmod_mat_struct>())).mod_ as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(nmod_mat_struct),
"::",
stringify!(mod_)
)
);
}
pub type nmod_mat_t = [nmod_mat_struct; 1usize];
extern "C" {
pub fn nmod_mat_set_entry(
mat: *mut nmod_mat_struct,
i: mp_limb_signed_t,
j: mp_limb_signed_t,
x: mp_limb_t,
);
}
extern "C" {
pub fn nmod_mat_init(
mat: *mut nmod_mat_struct,
rows: mp_limb_signed_t,
cols: mp_limb_signed_t,
n: mp_limb_t,
);
}
extern "C" {
pub fn nmod_mat_init_set(mat: *mut nmod_mat_struct, src: *mut nmod_mat_struct);
}
extern "C" {
pub fn nmod_mat_clear(mat: *mut nmod_mat_struct);
}
extern "C" {
pub fn nmod_mat_one(mat: *mut nmod_mat_struct);
}
extern "C" {
pub fn nmod_mat_swap(mat1: *mut nmod_mat_struct, mat2: *mut nmod_mat_struct);
}
extern "C" {
pub fn nmod_mat_window_init(
window: *mut nmod_mat_struct,
mat: *mut nmod_mat_struct,
r1: mp_limb_signed_t,
c1: mp_limb_signed_t,
r2: mp_limb_signed_t,
c2: mp_limb_signed_t,
);
}
extern "C" {
pub fn nmod_mat_window_clear(window: *mut nmod_mat_struct);
}
extern "C" {
pub fn nmod_mat_concat_horizontal(
res: *mut nmod_mat_struct,
mat1: *mut nmod_mat_struct,
mat2: *mut nmod_mat_struct,
);
}
extern "C" {
pub fn nmod_mat_concat_vertical(
res: *mut nmod_mat_struct,
mat1: *mut nmod_mat_struct,
mat2: *mut nmod_mat_struct,
);
}
extern "C" {
pub fn nmod_mat_randtest(mat: *mut nmod_mat_struct, state: *mut flint_rand_s);
}
extern "C" {
pub fn nmod_mat_randfull(mat: *mut nmod_mat_struct, state: *mut flint_rand_s);
}
extern "C" {
pub fn nmod_mat_randpermdiag(
mat: *mut nmod_mat_struct,
state: *mut flint_rand_s,
diag: mp_srcptr,
n: mp_limb_signed_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn nmod_mat_randrank(
arg1: *mut nmod_mat_struct,
state: *mut flint_rand_s,
rank: mp_limb_signed_t,
);
}
extern "C" {
pub fn nmod_mat_randops(
mat: *mut nmod_mat_struct,
count: mp_limb_signed_t,
state: *mut flint_rand_s,
);
}
extern "C" {
pub fn nmod_mat_randtril(
mat: *mut nmod_mat_struct,
state: *mut flint_rand_s,
unit: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn nmod_mat_randtriu(
mat: *mut nmod_mat_struct,
state: *mut flint_rand_s,
unit: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn nmod_mat_print_pretty(mat: *mut nmod_mat_struct);
}
extern "C" {
pub fn nmod_mat_equal(
mat1: *mut nmod_mat_struct,
mat2: *mut nmod_mat_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn nmod_mat_zero(mat: *mut nmod_mat_struct);
}
extern "C" {
pub fn nmod_mat_is_zero(mat: *mut nmod_mat_struct) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn nmod_mat_set(B: *mut nmod_mat_struct, A: *mut nmod_mat_struct);
}
extern "C" {
pub fn nmod_mat_transpose(B: *mut nmod_mat_struct, A: *mut nmod_mat_struct);
}
extern "C" {
pub fn nmod_mat_add(C: *mut nmod_mat_struct, A: *mut nmod_mat_struct, B: *mut nmod_mat_struct);
}
extern "C" {
pub fn nmod_mat_sub(C: *mut nmod_mat_struct, A: *mut nmod_mat_struct, B: *mut nmod_mat_struct);
}
extern "C" {
pub fn nmod_mat_neg(B: *mut nmod_mat_struct, A: *mut nmod_mat_struct);
}
extern "C" {
pub fn nmod_mat_scalar_mul(B: *mut nmod_mat_struct, A: *mut nmod_mat_struct, c: mp_limb_t);
}
extern "C" {
pub fn nmod_mat_scalar_mul_add(
dest: *mut nmod_mat_struct,
X: *mut nmod_mat_struct,
b: mp_limb_t,
Y: *mut nmod_mat_struct,
);
}
extern "C" {
pub fn nmod_mat_mul(C: *mut nmod_mat_struct, A: *mut nmod_mat_struct, B: *mut nmod_mat_struct);
}
extern "C" {
pub fn nmod_mat_mul_classical(
C: *mut nmod_mat_struct,
A: *mut nmod_mat_struct,
B: *mut nmod_mat_struct,
);
}
extern "C" {
pub fn _nmod_mat_mul_classical_threaded_pool_op(
D: *mut nmod_mat_struct,
C: *mut nmod_mat_struct,
A: *mut nmod_mat_struct,
B: *mut nmod_mat_struct,
op: ::std::os::raw::c_int,
threads: *mut thread_pool_handle,
num_threads: mp_limb_signed_t,
);
}
extern "C" {
pub fn nmod_mat_mul_classical_threaded(
C: *mut nmod_mat_struct,
A: *mut nmod_mat_struct,
B: *mut nmod_mat_struct,
);
}
extern "C" {
pub fn nmod_mat_mul_strassen(
C: *mut nmod_mat_struct,
A: *mut nmod_mat_struct,
B: *mut nmod_mat_struct,
);
}
extern "C" {
pub fn _nmod_mat_mul_classical_op(
D: *mut nmod_mat_struct,
C: *mut nmod_mat_struct,
A: *mut nmod_mat_struct,
B: *mut nmod_mat_struct,
op: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn nmod_mat_addmul(
D: *mut nmod_mat_struct,
C: *mut nmod_mat_struct,
A: *mut nmod_mat_struct,
B: *mut nmod_mat_struct,
);
}
extern "C" {
pub fn nmod_mat_submul(
D: *mut nmod_mat_struct,
C: *mut nmod_mat_struct,
A: *mut nmod_mat_struct,
B: *mut nmod_mat_struct,
);
}
extern "C" {
pub fn _nmod_mat_pow(dest: *mut nmod_mat_struct, mat: *mut nmod_mat_struct, pow: mp_limb_t);
}
extern "C" {
pub fn nmod_mat_pow(dest: *mut nmod_mat_struct, mat: *mut nmod_mat_struct, pow: mp_limb_t);
}
extern "C" {
pub fn nmod_mat_trace(mat: *mut nmod_mat_struct) -> mp_limb_t;
}
extern "C" {
pub fn _nmod_mat_det(A: *mut nmod_mat_struct) -> mp_limb_t;
}
extern "C" {
pub fn nmod_mat_det(A: *mut nmod_mat_struct) -> mp_limb_t;
}
extern "C" {
pub fn nmod_mat_rank(A: *mut nmod_mat_struct) -> mp_limb_signed_t;
}
extern "C" {
pub fn nmod_mat_inv(B: *mut nmod_mat_struct, A: *mut nmod_mat_struct) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn nmod_mat_apply_permutation(
A: *mut nmod_mat_struct,
P: *mut mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn nmod_mat_solve_tril(
X: *mut nmod_mat_struct,
L: *mut nmod_mat_struct,
B: *mut nmod_mat_struct,
unit: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn nmod_mat_solve_tril_recursive(
X: *mut nmod_mat_struct,
L: *mut nmod_mat_struct,
B: *mut nmod_mat_struct,
unit: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn nmod_mat_solve_tril_classical(
X: *mut nmod_mat_struct,
L: *mut nmod_mat_struct,
B: *mut nmod_mat_struct,
unit: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn nmod_mat_solve_triu(
X: *mut nmod_mat_struct,
U: *mut nmod_mat_struct,
B: *mut nmod_mat_struct,
unit: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn nmod_mat_solve_triu_recursive(
X: *mut nmod_mat_struct,
U: *mut nmod_mat_struct,
B: *mut nmod_mat_struct,
unit: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn nmod_mat_solve_triu_classical(
X: *mut nmod_mat_struct,
U: *mut nmod_mat_struct,
B: *mut nmod_mat_struct,
unit: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn nmod_mat_lu(
P: *mut mp_limb_signed_t,
A: *mut nmod_mat_struct,
rank_check: ::std::os::raw::c_int,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn nmod_mat_lu_classical(
P: *mut mp_limb_signed_t,
A: *mut nmod_mat_struct,
rank_check: ::std::os::raw::c_int,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn nmod_mat_lu_recursive(
P: *mut mp_limb_signed_t,
A: *mut nmod_mat_struct,
rank_check: ::std::os::raw::c_int,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn nmod_mat_solve(
X: *mut nmod_mat_struct,
A: *mut nmod_mat_struct,
B: *mut nmod_mat_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn nmod_mat_solve_vec(
x: mp_ptr,
A: *mut nmod_mat_struct,
b: mp_srcptr,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn nmod_mat_rref(A: *mut nmod_mat_struct) -> mp_limb_signed_t;
}
extern "C" {
pub fn _nmod_mat_rref(
A: *mut nmod_mat_struct,
pivots_nonpivots: *mut mp_limb_signed_t,
P: *mut mp_limb_signed_t,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn nmod_mat_rref_classical(A: *mut nmod_mat_struct) -> mp_limb_signed_t;
}
extern "C" {
pub fn _nmod_mat_rref_classical(
A: *mut nmod_mat_struct,
pivots_nonpivots: *mut mp_limb_signed_t,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn nmod_mat_rref_storjohann(A: *mut nmod_mat_struct) -> mp_limb_signed_t;
}
extern "C" {
pub fn _nmod_mat_rref_storjohann(
A: *mut nmod_mat_struct,
pivots_nonpivots: *mut mp_limb_signed_t,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn nmod_mat_reduce_row(
M: *mut nmod_mat_struct,
P: *mut mp_limb_signed_t,
L: *mut mp_limb_signed_t,
m: mp_limb_signed_t,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn nmod_mat_nullspace(X: *mut nmod_mat_struct, A: *mut nmod_mat_struct)
-> mp_limb_signed_t;
}
extern "C" {
pub fn nmod_mat_strong_echelon_form(A: *mut nmod_mat_struct);
}
extern "C" {
pub fn nmod_mat_howell_form(A: *mut nmod_mat_struct) -> mp_limb_signed_t;
}
extern "C" {
pub fn nmod_mat_similarity(M: *mut nmod_mat_struct, r: mp_limb_signed_t, d: mp_limb_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct nmod_poly_struct {
pub coeffs: mp_ptr,
pub alloc: mp_limb_signed_t,
pub length: mp_limb_signed_t,
pub mod_: nmod_t,
}
#[test]
fn bindgen_test_layout_nmod_poly_struct() {
assert_eq!(
::std::mem::size_of::<nmod_poly_struct>(),
48usize,
concat!("Size of: ", stringify!(nmod_poly_struct))
);
assert_eq!(
::std::mem::align_of::<nmod_poly_struct>(),
8usize,
concat!("Alignment of ", stringify!(nmod_poly_struct))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nmod_poly_struct>())).coeffs as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(nmod_poly_struct),
"::",
stringify!(coeffs)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nmod_poly_struct>())).alloc as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(nmod_poly_struct),
"::",
stringify!(alloc)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nmod_poly_struct>())).length as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(nmod_poly_struct),
"::",
stringify!(length)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nmod_poly_struct>())).mod_ as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(nmod_poly_struct),
"::",
stringify!(mod_)
)
);
}
pub type nmod_poly_t = [nmod_poly_struct; 1usize];
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct nmod_poly_res_struct {
pub res: mp_limb_t,
pub lc: mp_limb_t,
pub len0: mp_limb_signed_t,
pub len1: mp_limb_signed_t,
pub off: mp_limb_signed_t,
}
#[test]
fn bindgen_test_layout_nmod_poly_res_struct() {
assert_eq!(
::std::mem::size_of::<nmod_poly_res_struct>(),
40usize,
concat!("Size of: ", stringify!(nmod_poly_res_struct))
);
assert_eq!(
::std::mem::align_of::<nmod_poly_res_struct>(),
8usize,
concat!("Alignment of ", stringify!(nmod_poly_res_struct))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nmod_poly_res_struct>())).res as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(nmod_poly_res_struct),
"::",
stringify!(res)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nmod_poly_res_struct>())).lc as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(nmod_poly_res_struct),
"::",
stringify!(lc)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nmod_poly_res_struct>())).len0 as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(nmod_poly_res_struct),
"::",
stringify!(len0)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nmod_poly_res_struct>())).len1 as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(nmod_poly_res_struct),
"::",
stringify!(len1)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nmod_poly_res_struct>())).off as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(nmod_poly_res_struct),
"::",
stringify!(off)
)
);
}
pub type nmod_poly_res_t = [nmod_poly_res_struct; 1usize];
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct nmod_poly_matrix_precompute_arg_t {
pub A: *mut nmod_mat_struct,
pub poly1: *mut nmod_poly_struct,
pub poly2: *mut nmod_poly_struct,
pub poly2inv: *mut nmod_poly_struct,
}
#[test]
fn bindgen_test_layout_nmod_poly_matrix_precompute_arg_t() {
assert_eq!(
::std::mem::size_of::<nmod_poly_matrix_precompute_arg_t>(),
32usize,
concat!("Size of: ", stringify!(nmod_poly_matrix_precompute_arg_t))
);
assert_eq!(
::std::mem::align_of::<nmod_poly_matrix_precompute_arg_t>(),
8usize,
concat!(
"Alignment of ",
stringify!(nmod_poly_matrix_precompute_arg_t)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<nmod_poly_matrix_precompute_arg_t>())).A as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(nmod_poly_matrix_precompute_arg_t),
"::",
stringify!(A)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<nmod_poly_matrix_precompute_arg_t>())).poly1 as *const _ as usize
},
8usize,
concat!(
"Offset of field: ",
stringify!(nmod_poly_matrix_precompute_arg_t),
"::",
stringify!(poly1)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<nmod_poly_matrix_precompute_arg_t>())).poly2 as *const _ as usize
},
16usize,
concat!(
"Offset of field: ",
stringify!(nmod_poly_matrix_precompute_arg_t),
"::",
stringify!(poly2)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<nmod_poly_matrix_precompute_arg_t>())).poly2inv as *const _
as usize
},
24usize,
concat!(
"Offset of field: ",
stringify!(nmod_poly_matrix_precompute_arg_t),
"::",
stringify!(poly2inv)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct nmod_poly_compose_mod_precomp_preinv_arg_t {
pub A: *mut nmod_mat_struct,
pub res: *mut nmod_poly_struct,
pub poly1: *mut nmod_poly_struct,
pub poly3: *mut nmod_poly_struct,
pub poly3inv: *mut nmod_poly_struct,
}
#[test]
fn bindgen_test_layout_nmod_poly_compose_mod_precomp_preinv_arg_t() {
assert_eq!(
::std::mem::size_of::<nmod_poly_compose_mod_precomp_preinv_arg_t>(),
40usize,
concat!(
"Size of: ",
stringify!(nmod_poly_compose_mod_precomp_preinv_arg_t)
)
);
assert_eq!(
::std::mem::align_of::<nmod_poly_compose_mod_precomp_preinv_arg_t>(),
8usize,
concat!(
"Alignment of ",
stringify!(nmod_poly_compose_mod_precomp_preinv_arg_t)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<nmod_poly_compose_mod_precomp_preinv_arg_t>())).A as *const _
as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(nmod_poly_compose_mod_precomp_preinv_arg_t),
"::",
stringify!(A)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<nmod_poly_compose_mod_precomp_preinv_arg_t>())).res as *const _
as usize
},
8usize,
concat!(
"Offset of field: ",
stringify!(nmod_poly_compose_mod_precomp_preinv_arg_t),
"::",
stringify!(res)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<nmod_poly_compose_mod_precomp_preinv_arg_t>())).poly1 as *const _
as usize
},
16usize,
concat!(
"Offset of field: ",
stringify!(nmod_poly_compose_mod_precomp_preinv_arg_t),
"::",
stringify!(poly1)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<nmod_poly_compose_mod_precomp_preinv_arg_t>())).poly3 as *const _
as usize
},
24usize,
concat!(
"Offset of field: ",
stringify!(nmod_poly_compose_mod_precomp_preinv_arg_t),
"::",
stringify!(poly3)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<nmod_poly_compose_mod_precomp_preinv_arg_t>())).poly3inv
as *const _ as usize
},
32usize,
concat!(
"Offset of field: ",
stringify!(nmod_poly_compose_mod_precomp_preinv_arg_t),
"::",
stringify!(poly3inv)
)
);
}
extern "C" {
pub fn nmod_poly_init(poly: *mut nmod_poly_struct, n: mp_limb_t);
}
extern "C" {
pub fn nmod_poly_init_preinv(poly: *mut nmod_poly_struct, n: mp_limb_t, ninv: mp_limb_t);
}
extern "C" {
pub fn nmod_poly_init2(poly: *mut nmod_poly_struct, n: mp_limb_t, alloc: mp_limb_signed_t);
}
extern "C" {
pub fn nmod_poly_init2_preinv(
poly: *mut nmod_poly_struct,
n: mp_limb_t,
ninv: mp_limb_t,
alloc: mp_limb_signed_t,
);
}
extern "C" {
pub fn nmod_poly_realloc(poly: *mut nmod_poly_struct, alloc: mp_limb_signed_t);
}
extern "C" {
pub fn nmod_poly_clear(poly: *mut nmod_poly_struct);
}
extern "C" {
pub fn nmod_poly_fit_length(poly: *mut nmod_poly_struct, alloc: mp_limb_signed_t);
}
extern "C" {
pub fn nmod_poly_set_trunc(
res: *mut nmod_poly_struct,
poly: *mut nmod_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _nmod_poly_reverse(
output: mp_ptr,
input: mp_srcptr,
len: mp_limb_signed_t,
m: mp_limb_signed_t,
);
}
extern "C" {
pub fn nmod_poly_reverse(
output: *mut nmod_poly_struct,
input: *mut nmod_poly_struct,
m: mp_limb_signed_t,
);
}
extern "C" {
pub fn nmod_poly_equal_trunc(
poly1: *mut nmod_poly_struct,
poly2: *mut nmod_poly_struct,
n: mp_limb_signed_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn nmod_poly_randtest(
poly: *mut nmod_poly_struct,
state: *mut flint_rand_s,
len: mp_limb_signed_t,
);
}
extern "C" {
pub fn nmod_poly_randtest_irreducible(
poly: *mut nmod_poly_struct,
state: *mut flint_rand_s,
len: mp_limb_signed_t,
);
}
extern "C" {
pub fn nmod_poly_randtest_monic(
poly: *mut nmod_poly_struct,
state: *mut flint_rand_s,
len: mp_limb_signed_t,
);
}
extern "C" {
pub fn nmod_poly_randtest_monic_irreducible(
poly: *mut nmod_poly_struct,
state: *mut flint_rand_s,
len: mp_limb_signed_t,
);
}
extern "C" {
pub fn nmod_poly_randtest_monic_primitive(
poly: *mut nmod_poly_struct,
state: *mut flint_rand_s,
len: mp_limb_signed_t,
);
}
extern "C" {
pub fn nmod_poly_randtest_trinomial(
poly: *mut nmod_poly_struct,
state: *mut flint_rand_s,
len: mp_limb_signed_t,
);
}
extern "C" {
pub fn nmod_poly_randtest_trinomial_irreducible(
poly: *mut nmod_poly_struct,
state: *mut flint_rand_s,
len: mp_limb_signed_t,
max_attempts: mp_limb_signed_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn nmod_poly_randtest_pentomial(
poly: *mut nmod_poly_struct,
state: *mut flint_rand_s,
len: mp_limb_signed_t,
);
}
extern "C" {
pub fn nmod_poly_randtest_pentomial_irreducible(
poly: *mut nmod_poly_struct,
state: *mut flint_rand_s,
len: mp_limb_signed_t,
max_attempts: mp_limb_signed_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn nmod_poly_randtest_sparse_irreducible(
poly: *mut nmod_poly_struct,
state: *mut flint_rand_s,
len: mp_limb_signed_t,
);
}
extern "C" {
pub fn nmod_poly_set_coeff_ui(poly: *mut nmod_poly_struct, j: mp_limb_signed_t, c: mp_limb_t);
}
extern "C" {
pub fn nmod_poly_get_str(poly: *mut nmod_poly_struct) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn nmod_poly_get_str_pretty(
poly: *mut nmod_poly_struct,
x: *const ::std::os::raw::c_char,
) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn nmod_poly_set_str(
poly: *mut nmod_poly_struct,
s: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn nmod_poly_fread(f: *mut FILE, poly: *mut nmod_poly_struct) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn nmod_poly_fprint_pretty(
f: *mut FILE,
a: *mut nmod_poly_struct,
x: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _nmod_poly_shift_left(
res: mp_ptr,
poly: mp_srcptr,
len: mp_limb_signed_t,
k: mp_limb_signed_t,
);
}
extern "C" {
pub fn nmod_poly_shift_left(
res: *mut nmod_poly_struct,
poly: *mut nmod_poly_struct,
k: mp_limb_signed_t,
);
}
extern "C" {
pub fn _nmod_poly_shift_right(
res: mp_ptr,
poly: mp_srcptr,
len: mp_limb_signed_t,
k: mp_limb_signed_t,
);
}
extern "C" {
pub fn nmod_poly_shift_right(
res: *mut nmod_poly_struct,
poly: *mut nmod_poly_struct,
k: mp_limb_signed_t,
);
}
extern "C" {
pub fn _nmod_poly_add(
res: mp_ptr,
poly1: mp_srcptr,
len1: mp_limb_signed_t,
poly2: mp_srcptr,
len2: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_add(
res: *mut nmod_poly_struct,
poly1: *mut nmod_poly_struct,
poly2: *mut nmod_poly_struct,
);
}
extern "C" {
pub fn nmod_poly_add_ui(res: *mut nmod_poly_struct, poly: *mut nmod_poly_struct, c: mp_limb_t);
}
extern "C" {
pub fn nmod_poly_add_series(
res: *mut nmod_poly_struct,
poly1: *mut nmod_poly_struct,
poly2: *mut nmod_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _nmod_poly_sub(
res: mp_ptr,
poly1: mp_srcptr,
len1: mp_limb_signed_t,
poly2: mp_srcptr,
len2: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_sub(
res: *mut nmod_poly_struct,
poly1: *mut nmod_poly_struct,
poly2: *mut nmod_poly_struct,
);
}
extern "C" {
pub fn nmod_poly_sub_series(
res: *mut nmod_poly_struct,
poly1: *mut nmod_poly_struct,
poly2: *mut nmod_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn nmod_poly_sub_ui(res: *mut nmod_poly_struct, poly: *mut nmod_poly_struct, c: mp_limb_t);
}
extern "C" {
pub fn nmod_poly_neg(res: *mut nmod_poly_struct, poly1: *mut nmod_poly_struct);
}
extern "C" {
pub fn nmod_poly_scalar_mul_nmod(
res: *mut nmod_poly_struct,
poly1: *mut nmod_poly_struct,
c: mp_limb_t,
);
}
extern "C" {
pub fn _nmod_poly_make_monic(
output: mp_ptr,
input: mp_srcptr,
len: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_make_monic(output: *mut nmod_poly_struct, input: *mut nmod_poly_struct);
}
extern "C" {
pub fn _nmod_poly_KS2_pack1(
res: mp_ptr,
op: mp_srcptr,
n: mp_limb_signed_t,
s: mp_limb_signed_t,
b: mp_limb_t,
k: mp_limb_t,
r: mp_limb_signed_t,
);
}
extern "C" {
pub fn _nmod_poly_KS2_pack(
res: mp_ptr,
op: mp_srcptr,
n: mp_limb_signed_t,
s: mp_limb_signed_t,
b: mp_limb_t,
k: mp_limb_t,
r: mp_limb_signed_t,
);
}
extern "C" {
pub fn _nmod_poly_KS2_unpack1(
res: mp_ptr,
op: mp_srcptr,
n: mp_limb_signed_t,
b: mp_limb_t,
k: mp_limb_t,
);
}
extern "C" {
pub fn _nmod_poly_KS2_unpack2(
res: mp_ptr,
op: mp_srcptr,
n: mp_limb_signed_t,
b: mp_limb_t,
k: mp_limb_t,
);
}
extern "C" {
pub fn _nmod_poly_KS2_unpack3(
res: mp_ptr,
op: mp_srcptr,
n: mp_limb_signed_t,
b: mp_limb_t,
k: mp_limb_t,
);
}
extern "C" {
pub fn _nmod_poly_KS2_unpack(
res: mp_ptr,
op: mp_srcptr,
n: mp_limb_signed_t,
b: mp_limb_t,
k: mp_limb_t,
);
}
extern "C" {
pub fn _nmod_poly_KS2_reduce(
res: mp_ptr,
s: mp_limb_signed_t,
op: mp_srcptr,
n: mp_limb_signed_t,
w: mp_limb_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn _nmod_poly_KS2_recover_reduce1(
res: mp_ptr,
s: mp_limb_signed_t,
op1: mp_srcptr,
op2: mp_srcptr,
n: mp_limb_signed_t,
b: mp_limb_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn _nmod_poly_KS2_recover_reduce2(
res: mp_ptr,
s: mp_limb_signed_t,
op1: mp_srcptr,
op2: mp_srcptr,
n: mp_limb_signed_t,
b: mp_limb_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn _nmod_poly_KS2_recover_reduce2b(
res: mp_ptr,
s: mp_limb_signed_t,
op1: mp_srcptr,
op2: mp_srcptr,
n: mp_limb_signed_t,
b: mp_limb_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn _nmod_poly_KS2_recover_reduce3(
res: mp_ptr,
s: mp_limb_signed_t,
op1: mp_srcptr,
op2: mp_srcptr,
n: mp_limb_signed_t,
b: mp_limb_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn _nmod_poly_KS2_recover_reduce(
res: mp_ptr,
s: mp_limb_signed_t,
op1: mp_srcptr,
op2: mp_srcptr,
n: mp_limb_signed_t,
b: mp_limb_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn _nmod_poly_bit_pack(
res: mp_ptr,
poly: mp_srcptr,
len: mp_limb_signed_t,
bits: mp_limb_t,
);
}
extern "C" {
pub fn _nmod_poly_bit_unpack(
res: mp_ptr,
len: mp_limb_signed_t,
mpn: mp_srcptr,
bits: mp_limb_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_bit_pack(f: *mut fmpz, poly: *mut nmod_poly_struct, bit_size: mp_limb_t);
}
extern "C" {
pub fn nmod_poly_bit_unpack(poly: *mut nmod_poly_struct, f: *mut fmpz, bit_size: mp_limb_t);
}
extern "C" {
pub fn _nmod_poly_mul_classical(
res: mp_ptr,
poly1: mp_srcptr,
len1: mp_limb_signed_t,
poly2: mp_srcptr,
len2: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_mul_classical(
res: *mut nmod_poly_struct,
poly1: *mut nmod_poly_struct,
poly2: *mut nmod_poly_struct,
);
}
extern "C" {
pub fn _nmod_poly_mullow_classical(
res: mp_ptr,
poly1: mp_srcptr,
len1: mp_limb_signed_t,
poly2: mp_srcptr,
len2: mp_limb_signed_t,
trunc: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_mullow_classical(
res: *mut nmod_poly_struct,
poly1: *mut nmod_poly_struct,
poly2: *mut nmod_poly_struct,
trunc: mp_limb_signed_t,
);
}
extern "C" {
pub fn _nmod_poly_mulhigh_classical(
res: mp_ptr,
poly1: mp_srcptr,
len1: mp_limb_signed_t,
poly2: mp_srcptr,
len2: mp_limb_signed_t,
start: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_mulhigh_classical(
res: *mut nmod_poly_struct,
poly1: *mut nmod_poly_struct,
poly2: *mut nmod_poly_struct,
start: mp_limb_signed_t,
);
}
extern "C" {
pub fn _nmod_poly_mul_KS(
out: mp_ptr,
in1: mp_srcptr,
len1: mp_limb_signed_t,
in2: mp_srcptr,
len2: mp_limb_signed_t,
bits: mp_limb_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_mul_KS(
res: *mut nmod_poly_struct,
poly1: *mut nmod_poly_struct,
poly2: *mut nmod_poly_struct,
bits: mp_limb_t,
);
}
extern "C" {
pub fn _nmod_poly_mul_KS2(
res: mp_ptr,
op1: mp_srcptr,
n1: mp_limb_signed_t,
op2: mp_srcptr,
n2: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_mul_KS2(
res: *mut nmod_poly_struct,
poly1: *mut nmod_poly_struct,
poly2: *mut nmod_poly_struct,
);
}
extern "C" {
pub fn _nmod_poly_mul_KS4(
res: mp_ptr,
op1: mp_srcptr,
n1: mp_limb_signed_t,
op2: mp_srcptr,
n2: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_mul_KS4(
res: *mut nmod_poly_struct,
poly1: *mut nmod_poly_struct,
poly2: *mut nmod_poly_struct,
);
}
extern "C" {
pub fn _nmod_poly_mullow_KS(
out: mp_ptr,
in1: mp_srcptr,
len1: mp_limb_signed_t,
in2: mp_srcptr,
len2: mp_limb_signed_t,
bits: mp_limb_t,
n: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_mullow_KS(
res: *mut nmod_poly_struct,
poly1: *mut nmod_poly_struct,
poly2: *mut nmod_poly_struct,
bits: mp_limb_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _nmod_poly_mul(
res: mp_ptr,
poly1: mp_srcptr,
len1: mp_limb_signed_t,
poly2: mp_srcptr,
len2: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_mul(
res: *mut nmod_poly_struct,
poly1: *mut nmod_poly_struct,
poly2: *mut nmod_poly_struct,
);
}
extern "C" {
pub fn _nmod_poly_mullow(
res: mp_ptr,
poly1: mp_srcptr,
len1: mp_limb_signed_t,
poly2: mp_srcptr,
len2: mp_limb_signed_t,
trunc: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_mullow(
res: *mut nmod_poly_struct,
poly1: *mut nmod_poly_struct,
poly2: *mut nmod_poly_struct,
trunc: mp_limb_signed_t,
);
}
extern "C" {
pub fn _nmod_poly_mulhigh(
res: mp_ptr,
poly1: mp_srcptr,
len1: mp_limb_signed_t,
poly2: mp_srcptr,
len2: mp_limb_signed_t,
n: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_mulhigh(
res: *mut nmod_poly_struct,
poly1: *mut nmod_poly_struct,
poly2: *mut nmod_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _nmod_poly_mulmod(
res: mp_ptr,
poly1: mp_srcptr,
len1: mp_limb_signed_t,
poly2: mp_srcptr,
len2: mp_limb_signed_t,
f: mp_srcptr,
lenf: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_mulmod(
res: *mut nmod_poly_struct,
poly1: *mut nmod_poly_struct,
poly2: *mut nmod_poly_struct,
f: *mut nmod_poly_struct,
);
}
extern "C" {
pub fn _nmod_poly_mulmod_preinv(
res: mp_ptr,
poly1: mp_srcptr,
len1: mp_limb_signed_t,
poly2: mp_srcptr,
len2: mp_limb_signed_t,
f: mp_srcptr,
lenf: mp_limb_signed_t,
finv: mp_srcptr,
lenfinv: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_mulmod_preinv(
res: *mut nmod_poly_struct,
poly1: *mut nmod_poly_struct,
poly2: *mut nmod_poly_struct,
f: *mut nmod_poly_struct,
finv: *mut nmod_poly_struct,
);
}
extern "C" {
pub fn _nmod_poly_invmod(
A: *mut mp_limb_t,
B: *const mp_limb_t,
lenB: mp_limb_signed_t,
P: *const mp_limb_t,
lenP: mp_limb_signed_t,
mod_: nmod_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn nmod_poly_invmod(
A: *mut nmod_poly_struct,
B: *mut nmod_poly_struct,
P: *mut nmod_poly_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _nmod_poly_pow_binexp(
res: mp_ptr,
poly: mp_srcptr,
len: mp_limb_signed_t,
e: mp_limb_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_pow_binexp(
res: *mut nmod_poly_struct,
poly: *mut nmod_poly_struct,
e: mp_limb_t,
);
}
extern "C" {
pub fn _nmod_poly_pow(
res: mp_ptr,
poly: mp_srcptr,
len: mp_limb_signed_t,
e: mp_limb_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_pow(res: *mut nmod_poly_struct, poly: *mut nmod_poly_struct, e: mp_limb_t);
}
extern "C" {
pub fn _nmod_poly_pow_trunc_binexp(
res: mp_ptr,
poly: mp_srcptr,
e: mp_limb_t,
trunc: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_pow_trunc_binexp(
res: *mut nmod_poly_struct,
poly: *mut nmod_poly_struct,
e: mp_limb_t,
trunc: mp_limb_signed_t,
);
}
extern "C" {
pub fn _nmod_poly_pow_trunc(
res: mp_ptr,
poly: mp_srcptr,
e: mp_limb_t,
trunc: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_pow_trunc(
res: *mut nmod_poly_struct,
poly: *mut nmod_poly_struct,
e: mp_limb_t,
trunc: mp_limb_signed_t,
);
}
extern "C" {
pub fn nmod_poly_powmod_ui_binexp(
res: *mut nmod_poly_struct,
poly: *mut nmod_poly_struct,
e: mp_limb_t,
f: *mut nmod_poly_struct,
);
}
extern "C" {
pub fn _nmod_poly_powmod_ui_binexp(
res: mp_ptr,
poly: mp_srcptr,
e: mp_limb_t,
f: mp_srcptr,
lenf: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_powmod_fmpz_binexp(
res: *mut nmod_poly_struct,
poly: *mut nmod_poly_struct,
e: *mut fmpz,
f: *mut nmod_poly_struct,
);
}
extern "C" {
pub fn _nmod_poly_powmod_fmpz_binexp(
res: mp_ptr,
poly: mp_srcptr,
e: *mut fmpz,
f: mp_srcptr,
lenf: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn _nmod_poly_powmod_mpz_binexp(
res: mp_ptr,
poly: mp_srcptr,
e: mpz_srcptr,
f: mp_srcptr,
lenf: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_powmod_mpz_binexp(
res: *mut nmod_poly_struct,
poly: *mut nmod_poly_struct,
e: mpz_srcptr,
f: *mut nmod_poly_struct,
);
}
extern "C" {
pub fn _nmod_poly_powmod_ui_binexp_preinv(
res: mp_ptr,
poly: mp_srcptr,
e: mp_limb_t,
f: mp_srcptr,
lenf: mp_limb_signed_t,
finv: mp_srcptr,
lenfinv: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_powmod_ui_binexp_preinv(
res: *mut nmod_poly_struct,
poly: *mut nmod_poly_struct,
e: mp_limb_t,
f: *mut nmod_poly_struct,
finv: *mut nmod_poly_struct,
);
}
extern "C" {
pub fn _nmod_poly_powmod_fmpz_binexp_preinv(
res: mp_ptr,
poly: mp_srcptr,
e: *mut fmpz,
f: mp_srcptr,
lenf: mp_limb_signed_t,
finv: mp_srcptr,
lenfinv: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_powmod_fmpz_binexp_preinv(
res: *mut nmod_poly_struct,
poly: *mut nmod_poly_struct,
e: *mut fmpz,
f: *mut nmod_poly_struct,
finv: *mut nmod_poly_struct,
);
}
extern "C" {
pub fn _nmod_poly_powmod_x_ui_preinv(
res: mp_ptr,
e: mp_limb_t,
f: mp_srcptr,
lenf: mp_limb_signed_t,
finv: mp_srcptr,
lenfinv: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_powmod_x_ui_preinv(
res: *mut nmod_poly_struct,
e: mp_limb_t,
f: *mut nmod_poly_struct,
finv: *mut nmod_poly_struct,
);
}
extern "C" {
pub fn _nmod_poly_powmod_mpz_binexp_preinv(
res: mp_ptr,
poly: mp_srcptr,
e: mpz_srcptr,
f: mp_srcptr,
lenf: mp_limb_signed_t,
finv: mp_srcptr,
lenfinv: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_powmod_mpz_binexp_preinv(
res: *mut nmod_poly_struct,
poly: *mut nmod_poly_struct,
e: mpz_srcptr,
f: *mut nmod_poly_struct,
finv: *mut nmod_poly_struct,
);
}
extern "C" {
pub fn _nmod_poly_powmod_x_fmpz_preinv(
res: mp_ptr,
e: *mut fmpz,
f: mp_srcptr,
lenf: mp_limb_signed_t,
finv: mp_srcptr,
lenfinv: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_powmod_x_fmpz_preinv(
res: *mut nmod_poly_struct,
e: *mut fmpz,
f: *mut nmod_poly_struct,
finv: *mut nmod_poly_struct,
);
}
extern "C" {
pub fn _nmod_poly_powers_mod_preinv_naive(
res: *mut mp_ptr,
f: mp_srcptr,
flen: mp_limb_signed_t,
n: mp_limb_signed_t,
g: mp_srcptr,
glen: mp_limb_signed_t,
ginv: mp_srcptr,
ginvlen: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_powers_mod_naive(
res: *mut nmod_poly_struct,
f: *mut nmod_poly_struct,
n: mp_limb_signed_t,
g: *mut nmod_poly_struct,
);
}
extern "C" {
pub fn _nmod_poly_powers_mod_preinv_threaded_pool(
res: *mut mp_ptr,
f: mp_srcptr,
flen: mp_limb_signed_t,
n: mp_limb_signed_t,
g: mp_srcptr,
glen: mp_limb_signed_t,
ginv: mp_srcptr,
ginvlen: mp_limb_signed_t,
mod_: nmod_t,
threads: *mut thread_pool_handle,
num_threads: mp_limb_signed_t,
);
}
extern "C" {
pub fn _nmod_poly_powers_mod_preinv_threaded(
res: *mut mp_ptr,
f: mp_srcptr,
flen: mp_limb_signed_t,
n: mp_limb_signed_t,
g: mp_srcptr,
glen: mp_limb_signed_t,
ginv: mp_srcptr,
ginvlen: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_powers_mod_bsgs(
res: *mut nmod_poly_struct,
f: *mut nmod_poly_struct,
n: mp_limb_signed_t,
g: *mut nmod_poly_struct,
);
}
extern "C" {
pub fn _nmod_poly_divrem_basecase(
Q: mp_ptr,
R: mp_ptr,
W: mp_ptr,
A: mp_srcptr,
A_len: mp_limb_signed_t,
B: mp_srcptr,
B_len: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_divrem_basecase(
Q: *mut nmod_poly_struct,
R: *mut nmod_poly_struct,
A: *mut nmod_poly_struct,
B: *mut nmod_poly_struct,
);
}
extern "C" {
pub fn _nmod_poly_divrem_divconquer_recursive(
Q: mp_ptr,
BQ: mp_ptr,
W: mp_ptr,
V: mp_ptr,
A: mp_srcptr,
B: mp_srcptr,
lenB: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn _nmod_poly_divrem_divconquer(
Q: mp_ptr,
R: mp_ptr,
A: mp_srcptr,
lenA: mp_limb_signed_t,
B: mp_srcptr,
lenB: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_divrem_divconquer(
Q: *mut nmod_poly_struct,
R: *mut nmod_poly_struct,
A: *mut nmod_poly_struct,
B: *mut nmod_poly_struct,
);
}
extern "C" {
pub fn _nmod_poly_divrem_q0(
Q: mp_ptr,
R: mp_ptr,
A: mp_srcptr,
B: mp_srcptr,
lenA: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn _nmod_poly_divrem_q1(
Q: mp_ptr,
R: mp_ptr,
A: mp_srcptr,
lenA: mp_limb_signed_t,
B: mp_srcptr,
lenB: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn _nmod_poly_divrem(
Q: mp_ptr,
R: mp_ptr,
A: mp_srcptr,
lenA: mp_limb_signed_t,
B: mp_srcptr,
lenB: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_divrem(
Q: *mut nmod_poly_struct,
R: *mut nmod_poly_struct,
A: *mut nmod_poly_struct,
B: *mut nmod_poly_struct,
);
}
extern "C" {
pub fn _nmod_poly_div_basecase(
Q: mp_ptr,
W: mp_ptr,
A: mp_srcptr,
A_len: mp_limb_signed_t,
B: mp_srcptr,
B_len: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_div_basecase(
Q: *mut nmod_poly_struct,
A: *mut nmod_poly_struct,
B: *mut nmod_poly_struct,
);
}
extern "C" {
pub fn _nmod_poly_div_divconquer_recursive(
Q: mp_ptr,
W: mp_ptr,
V: mp_ptr,
A: mp_srcptr,
B: mp_srcptr,
lenB: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn _nmod_poly_div_divconquer(
Q: mp_ptr,
A: mp_srcptr,
lenA: mp_limb_signed_t,
B: mp_srcptr,
lenB: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_div_divconquer(
Q: *mut nmod_poly_struct,
A: *mut nmod_poly_struct,
B: *mut nmod_poly_struct,
);
}
extern "C" {
pub fn _nmod_poly_div(
Q: mp_ptr,
A: mp_srcptr,
lenA: mp_limb_signed_t,
B: mp_srcptr,
lenB: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_div(
Q: *mut nmod_poly_struct,
A: *mut nmod_poly_struct,
B: *mut nmod_poly_struct,
);
}
extern "C" {
pub fn _nmod_poly_rem_basecase(
R: mp_ptr,
W: mp_ptr,
A: mp_srcptr,
lenA: mp_limb_signed_t,
B: mp_srcptr,
lenB: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_rem_basecase(
R: *mut nmod_poly_struct,
A: *mut nmod_poly_struct,
B: *mut nmod_poly_struct,
);
}
extern "C" {
pub fn _nmod_poly_rem_q1(
R: mp_ptr,
A: mp_srcptr,
lenA: mp_limb_signed_t,
B: mp_srcptr,
lenB: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn _nmod_poly_rem(
R: mp_ptr,
A: mp_srcptr,
lenA: mp_limb_signed_t,
B: mp_srcptr,
lenB: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_rem(
R: *mut nmod_poly_struct,
A: *mut nmod_poly_struct,
B: *mut nmod_poly_struct,
);
}
extern "C" {
pub fn _nmod_poly_inv_series_basecase(
Qinv: mp_ptr,
Q: mp_srcptr,
Qlen: mp_limb_signed_t,
n: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_inv_series_basecase(
Qinv: *mut nmod_poly_struct,
Q: *mut nmod_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _nmod_poly_inv_series_newton(
Qinv: mp_ptr,
Q: mp_srcptr,
Qlen: mp_limb_signed_t,
n: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_inv_series_newton(
Qinv: *mut nmod_poly_struct,
Q: *mut nmod_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _nmod_poly_div_series_basecase(
Q: mp_ptr,
A: mp_srcptr,
Alen: mp_limb_signed_t,
B: mp_srcptr,
Blen: mp_limb_signed_t,
n: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_div_series_basecase(
Q: *mut nmod_poly_struct,
A: *mut nmod_poly_struct,
B: *mut nmod_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _nmod_poly_div_series(
Q: mp_ptr,
A: mp_srcptr,
Alen: mp_limb_signed_t,
B: mp_srcptr,
Blen: mp_limb_signed_t,
n: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_div_series(
Q: *mut nmod_poly_struct,
A: *mut nmod_poly_struct,
B: *mut nmod_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _nmod_poly_div_newton(
Q: mp_ptr,
A: mp_srcptr,
Alen: mp_limb_signed_t,
B: mp_srcptr,
Blen: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_div_newton(
Q: *mut nmod_poly_struct,
A: *mut nmod_poly_struct,
B: *mut nmod_poly_struct,
);
}
extern "C" {
pub fn _nmod_poly_divrem_newton(
Q: mp_ptr,
R: mp_ptr,
A: mp_srcptr,
Alen: mp_limb_signed_t,
B: mp_srcptr,
Blen: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_divrem_newton(
Q: *mut nmod_poly_struct,
R: *mut nmod_poly_struct,
A: *mut nmod_poly_struct,
B: *mut nmod_poly_struct,
);
}
extern "C" {
pub fn _nmod_poly_div_newton_n_preinv(
Q: mp_ptr,
A: mp_srcptr,
lenA: mp_limb_signed_t,
B: mp_srcptr,
lenB: mp_limb_signed_t,
Binv: mp_srcptr,
lenBinv: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_div_newton_n_preinv(
Q: *mut nmod_poly_struct,
A: *mut nmod_poly_struct,
B: *mut nmod_poly_struct,
Binv: *mut nmod_poly_struct,
);
}
extern "C" {
pub fn _nmod_poly_divrem_newton_n_preinv(
Q: mp_ptr,
R: mp_ptr,
A: mp_srcptr,
lenA: mp_limb_signed_t,
B: mp_srcptr,
lenB: mp_limb_signed_t,
Binv: mp_srcptr,
lenBinv: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_divrem_newton_n_preinv(
Q: *mut nmod_poly_struct,
R: *mut nmod_poly_struct,
A: *mut nmod_poly_struct,
B: *mut nmod_poly_struct,
Binv: *mut nmod_poly_struct,
);
}
extern "C" {
pub fn _nmod_poly_div_root(
Q: mp_ptr,
A: mp_srcptr,
len: mp_limb_signed_t,
c: mp_limb_t,
mod_: nmod_t,
) -> mp_limb_t;
}
extern "C" {
pub fn nmod_poly_div_root(
Q: *mut nmod_poly_struct,
A: *mut nmod_poly_struct,
c: mp_limb_t,
) -> mp_limb_t;
}
extern "C" {
pub fn _nmod_poly_derivative(
x_prime: mp_ptr,
x: mp_srcptr,
len: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_derivative(x_prime: *mut nmod_poly_struct, x: *mut nmod_poly_struct);
}
extern "C" {
pub fn _nmod_poly_integral(x_int: mp_ptr, x: mp_srcptr, len: mp_limb_signed_t, mod_: nmod_t);
}
extern "C" {
pub fn nmod_poly_integral(x_int: *mut nmod_poly_struct, x: *mut nmod_poly_struct);
}
extern "C" {
pub fn _nmod_poly_evaluate_fmpz(
rop: *mut fmpz,
poly: mp_srcptr,
len: mp_limb_signed_t,
c: *mut fmpz,
);
}
extern "C" {
pub fn nmod_poly_evaluate_fmpz(rop: *mut fmpz, poly: *mut nmod_poly_struct, c: *mut fmpz);
}
extern "C" {
pub fn _nmod_poly_evaluate_nmod(
poly: mp_srcptr,
len: mp_limb_signed_t,
c: mp_limb_t,
mod_: nmod_t,
) -> mp_limb_t;
}
extern "C" {
pub fn nmod_poly_evaluate_nmod(poly: *mut nmod_poly_struct, c: mp_limb_t) -> mp_limb_t;
}
extern "C" {
pub fn _nmod_poly_evaluate_nmod_vec(
ys: mp_ptr,
coeffs: mp_srcptr,
len: mp_limb_signed_t,
xs: mp_srcptr,
n: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_evaluate_nmod_vec(
ys: mp_ptr,
poly: *mut nmod_poly_struct,
xs: mp_srcptr,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _nmod_poly_evaluate_nmod_vec_iter(
ys: mp_ptr,
coeffs: mp_srcptr,
len: mp_limb_signed_t,
xs: mp_srcptr,
n: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_evaluate_nmod_vec_iter(
ys: mp_ptr,
poly: *mut nmod_poly_struct,
xs: mp_srcptr,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _nmod_poly_evaluate_nmod_vec_fast_precomp(
vs: mp_ptr,
poly: mp_srcptr,
plen: mp_limb_signed_t,
tree: *const mp_ptr,
len: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn _nmod_poly_evaluate_nmod_vec_fast(
ys: mp_ptr,
coeffs: mp_srcptr,
len: mp_limb_signed_t,
xs: mp_srcptr,
n: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_evaluate_nmod_vec_fast(
ys: mp_ptr,
poly: *mut nmod_poly_struct,
xs: mp_srcptr,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn nmod_mat_one_addmul(dest: *mut nmod_mat_struct, mat: *mut nmod_mat_struct, c: mp_limb_t);
}
extern "C" {
pub fn nmod_poly_evaluate_mat_horner(
dest: *mut nmod_mat_struct,
poly: *mut nmod_poly_struct,
c: *mut nmod_mat_struct,
);
}
extern "C" {
pub fn nmod_poly_evaluate_mat_paterson_stockmeyer(
dest: *mut nmod_mat_struct,
poly: *mut nmod_poly_struct,
c: *mut nmod_mat_struct,
);
}
extern "C" {
pub fn _nmod_poly_tree_alloc(len: mp_limb_signed_t) -> *mut mp_ptr;
}
extern "C" {
pub fn _nmod_poly_tree_free(tree: *mut mp_ptr, len: mp_limb_signed_t);
}
extern "C" {
pub fn _nmod_poly_tree_build(
tree: *mut mp_ptr,
roots: mp_srcptr,
len: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn _nmod_poly_interpolate_nmod_vec_newton(
poly: mp_ptr,
xs: mp_srcptr,
ys: mp_srcptr,
n: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_interpolate_nmod_vec_newton(
poly: *mut nmod_poly_struct,
xs: mp_srcptr,
ys: mp_srcptr,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _nmod_poly_interpolate_nmod_vec_barycentric(
poly: mp_ptr,
xs: mp_srcptr,
ys: mp_srcptr,
n: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_interpolate_nmod_vec_barycentric(
poly: *mut nmod_poly_struct,
xs: mp_srcptr,
ys: mp_srcptr,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _nmod_poly_interpolate_nmod_vec(
poly: mp_ptr,
xs: mp_srcptr,
ys: mp_srcptr,
n: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_interpolate_nmod_vec(
poly: *mut nmod_poly_struct,
xs: mp_srcptr,
ys: mp_srcptr,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn nmod_poly_interpolate_nmod_vec_fast(
poly: *mut nmod_poly_struct,
xs: mp_srcptr,
ys: mp_srcptr,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _nmod_poly_interpolate_nmod_vec_fast(
poly: mp_ptr,
xs: mp_srcptr,
ys: mp_srcptr,
len: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn _nmod_poly_interpolate_nmod_vec_fast_precomp(
poly: mp_ptr,
ys: mp_srcptr,
tree: *const mp_ptr,
weights: mp_srcptr,
len: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn _nmod_poly_interpolation_weights(
w: mp_ptr,
tree: *const mp_ptr,
len: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn _nmod_poly_compose_horner(
res: mp_ptr,
poly1: mp_srcptr,
len1: mp_limb_signed_t,
poly2: mp_srcptr,
len2: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_compose_horner(
res: *mut nmod_poly_struct,
poly1: *mut nmod_poly_struct,
poly2: *mut nmod_poly_struct,
);
}
extern "C" {
pub fn _nmod_poly_compose_divconquer(
res: mp_ptr,
poly1: mp_srcptr,
len1: mp_limb_signed_t,
poly2: mp_srcptr,
len2: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_compose_divconquer(
res: *mut nmod_poly_struct,
poly1: *mut nmod_poly_struct,
poly2: *mut nmod_poly_struct,
);
}
extern "C" {
pub fn _nmod_poly_compose(
res: mp_ptr,
poly1: mp_srcptr,
len1: mp_limb_signed_t,
poly2: mp_srcptr,
len2: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_compose(
res: *mut nmod_poly_struct,
poly1: *mut nmod_poly_struct,
poly2: *mut nmod_poly_struct,
);
}
extern "C" {
pub fn _nmod_poly_taylor_shift_horner(
poly: mp_ptr,
c: mp_limb_t,
len: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_taylor_shift_horner(
g: *mut nmod_poly_struct,
f: *mut nmod_poly_struct,
c: mp_limb_t,
);
}
extern "C" {
pub fn _nmod_poly_taylor_shift_convolution(
poly: mp_ptr,
c: mp_limb_t,
len: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_taylor_shift_convolution(
g: *mut nmod_poly_struct,
f: *mut nmod_poly_struct,
c: mp_limb_t,
);
}
extern "C" {
pub fn _nmod_poly_taylor_shift(poly: mp_ptr, c: mp_limb_t, len: mp_limb_signed_t, mod_: nmod_t);
}
extern "C" {
pub fn nmod_poly_taylor_shift(g: *mut nmod_poly_struct, f: *mut nmod_poly_struct, c: mp_limb_t);
}
extern "C" {
pub fn _nmod_poly_compose_mod_brent_kung(
res: mp_ptr,
f: mp_srcptr,
lenf: mp_limb_signed_t,
g: mp_srcptr,
h: mp_srcptr,
lenh: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_compose_mod_brent_kung(
res: *mut nmod_poly_struct,
f: *mut nmod_poly_struct,
g: *mut nmod_poly_struct,
h: *mut nmod_poly_struct,
);
}
extern "C" {
pub fn _nmod_poly_reduce_matrix_mod_poly(
A: *mut nmod_mat_struct,
B: *mut nmod_mat_struct,
f: *mut nmod_poly_struct,
);
}
extern "C" {
pub fn _nmod_poly_precompute_matrix(
A: *mut nmod_mat_struct,
poly1: mp_srcptr,
poly2: mp_srcptr,
len2: mp_limb_signed_t,
poly2inv: mp_srcptr,
len2inv: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn _nmod_poly_precompute_matrix_worker(arg_ptr: *mut ::std::os::raw::c_void);
}
extern "C" {
pub fn nmod_poly_precompute_matrix(
A: *mut nmod_mat_struct,
poly1: *mut nmod_poly_struct,
poly2: *mut nmod_poly_struct,
poly2inv: *mut nmod_poly_struct,
);
}
extern "C" {
pub fn _nmod_poly_compose_mod_brent_kung_precomp_preinv(
res: mp_ptr,
poly1: mp_srcptr,
len1: mp_limb_signed_t,
A: *mut nmod_mat_struct,
poly3: mp_srcptr,
len3: mp_limb_signed_t,
poly3inv: mp_srcptr,
len3inv: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn _nmod_poly_compose_mod_brent_kung_precomp_preinv_worker(
arg_ptr: *mut ::std::os::raw::c_void,
);
}
extern "C" {
pub fn nmod_poly_compose_mod_brent_kung_precomp_preinv(
res: *mut nmod_poly_struct,
poly1: *mut nmod_poly_struct,
A: *mut nmod_mat_struct,
poly3: *mut nmod_poly_struct,
poly3inv: *mut nmod_poly_struct,
);
}
extern "C" {
pub fn _nmod_poly_compose_mod_brent_kung_preinv(
res: mp_ptr,
poly1: mp_srcptr,
len1: mp_limb_signed_t,
poly2: mp_srcptr,
poly3: mp_srcptr,
len3: mp_limb_signed_t,
poly3inv: mp_srcptr,
len3inv: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_compose_mod_brent_kung_preinv(
res: *mut nmod_poly_struct,
poly1: *mut nmod_poly_struct,
poly2: *mut nmod_poly_struct,
poly3: *mut nmod_poly_struct,
poly3inv: *mut nmod_poly_struct,
);
}
extern "C" {
pub fn _nmod_poly_compose_mod_brent_kung_vec_preinv(
res: *mut nmod_poly_struct,
polys: *const nmod_poly_struct,
len1: mp_limb_signed_t,
l: mp_limb_signed_t,
g: mp_srcptr,
glen: mp_limb_signed_t,
poly: mp_srcptr,
len: mp_limb_signed_t,
polyinv: mp_srcptr,
leninv: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_compose_mod_brent_kung_vec_preinv(
res: *mut nmod_poly_struct,
polys: *const nmod_poly_struct,
len1: mp_limb_signed_t,
n: mp_limb_signed_t,
g: *mut nmod_poly_struct,
poly: *mut nmod_poly_struct,
polyinv: *mut nmod_poly_struct,
);
}
extern "C" {
pub fn _nmod_poly_compose_mod_brent_kung_vec_preinv_worker(
arg_ptr: *mut ::std::os::raw::c_void,
);
}
extern "C" {
pub fn nmod_poly_compose_mod_brent_kung_vec_preinv_threaded_pool(
res: *mut nmod_poly_struct,
polys: *const nmod_poly_struct,
len1: mp_limb_signed_t,
n: mp_limb_signed_t,
g: *mut nmod_poly_struct,
poly: *mut nmod_poly_struct,
polyinv: *mut nmod_poly_struct,
threads: *mut thread_pool_handle,
num_threads: mp_limb_signed_t,
);
}
extern "C" {
pub fn _nmod_poly_compose_mod_brent_kung_vec_preinv_threaded_pool(
res: *mut nmod_poly_struct,
polys: *const nmod_poly_struct,
lenpolys: mp_limb_signed_t,
l: mp_limb_signed_t,
g: mp_srcptr,
glen: mp_limb_signed_t,
poly: mp_srcptr,
len: mp_limb_signed_t,
polyinv: mp_srcptr,
leninv: mp_limb_signed_t,
mod_: nmod_t,
threads: *mut thread_pool_handle,
num_threads: mp_limb_signed_t,
);
}
extern "C" {
pub fn nmod_poly_compose_mod_brent_kung_vec_preinv_threaded(
res: *mut nmod_poly_struct,
polys: *const nmod_poly_struct,
len1: mp_limb_signed_t,
n: mp_limb_signed_t,
g: *mut nmod_poly_struct,
poly: *mut nmod_poly_struct,
polyinv: *mut nmod_poly_struct,
);
}
extern "C" {
pub fn _nmod_poly_compose_mod_horner(
res: mp_ptr,
f: mp_srcptr,
lenf: mp_limb_signed_t,
g: mp_srcptr,
h: mp_srcptr,
lenh: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_compose_mod_horner(
res: *mut nmod_poly_struct,
f: *mut nmod_poly_struct,
g: *mut nmod_poly_struct,
h: *mut nmod_poly_struct,
);
}
extern "C" {
pub fn _nmod_poly_compose_mod(
res: mp_ptr,
f: mp_srcptr,
lenf: mp_limb_signed_t,
g: mp_srcptr,
h: mp_srcptr,
lenh: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_compose_mod(
res: *mut nmod_poly_struct,
f: *mut nmod_poly_struct,
g: *mut nmod_poly_struct,
h: *mut nmod_poly_struct,
);
}
extern "C" {
pub fn _nmod_poly_compose_series_horner(
res: mp_ptr,
poly1: mp_srcptr,
len1: mp_limb_signed_t,
poly2: mp_srcptr,
len2: mp_limb_signed_t,
n: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_compose_series_horner(
res: *mut nmod_poly_struct,
poly1: *mut nmod_poly_struct,
poly2: *mut nmod_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _nmod_poly_compose_series_brent_kung(
res: mp_ptr,
poly1: mp_srcptr,
len1: mp_limb_signed_t,
poly2: mp_srcptr,
len2: mp_limb_signed_t,
n: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_compose_series_brent_kung(
res: *mut nmod_poly_struct,
poly1: *mut nmod_poly_struct,
poly2: *mut nmod_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _nmod_poly_compose_series(
res: mp_ptr,
poly1: mp_srcptr,
len1: mp_limb_signed_t,
poly2: mp_srcptr,
len2: mp_limb_signed_t,
n: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_compose_series(
res: *mut nmod_poly_struct,
poly1: *mut nmod_poly_struct,
poly2: *mut nmod_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _nmod_poly_revert_series_lagrange(
Qinv: mp_ptr,
Q: mp_srcptr,
n: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_revert_series_lagrange(
Qinv: *mut nmod_poly_struct,
Q: *mut nmod_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _nmod_poly_revert_series_lagrange_fast(
Qinv: mp_ptr,
Q: mp_srcptr,
n: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_revert_series_lagrange_fast(
Qinv: *mut nmod_poly_struct,
Q: *mut nmod_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _nmod_poly_revert_series_newton(
Qinv: mp_ptr,
Q: mp_srcptr,
n: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_revert_series_newton(
Qinv: *mut nmod_poly_struct,
Q: *mut nmod_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _nmod_poly_revert_series(Qinv: mp_ptr, Q: mp_srcptr, n: mp_limb_signed_t, mod_: nmod_t);
}
extern "C" {
pub fn nmod_poly_revert_series(
Qinv: *mut nmod_poly_struct,
Q: *mut nmod_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _nmod_poly_compose_series_divconquer(
res: mp_ptr,
poly1: mp_srcptr,
len1: mp_limb_signed_t,
poly2: mp_srcptr,
len2: mp_limb_signed_t,
N: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_compose_series_divconquer(
res: *mut nmod_poly_struct,
poly1: *mut nmod_poly_struct,
poly2: *mut nmod_poly_struct,
N: mp_limb_signed_t,
);
}
extern "C" {
pub fn _nmod_poly_gcd_euclidean(
G: mp_ptr,
A: mp_srcptr,
lenA: mp_limb_signed_t,
B: mp_srcptr,
lenB: mp_limb_signed_t,
mod_: nmod_t,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn nmod_poly_gcd_euclidean(
G: *mut nmod_poly_struct,
A: *mut nmod_poly_struct,
B: *mut nmod_poly_struct,
);
}
extern "C" {
pub fn _nmod_poly_hgcd_recursive(
M: *mut mp_ptr,
lenM: *mut mp_limb_signed_t,
A: mp_ptr,
lenA: *mut mp_limb_signed_t,
B: mp_ptr,
lenB: *mut mp_limb_signed_t,
a: mp_srcptr,
lena: mp_limb_signed_t,
b: mp_srcptr,
lenb: mp_limb_signed_t,
P: mp_ptr,
mod_: nmod_t,
flag: ::std::os::raw::c_int,
res: *mut nmod_poly_res_struct,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn _nmod_poly_hgcd(
M: *mut mp_ptr,
lenM: *mut mp_limb_signed_t,
A: mp_ptr,
lenA: *mut mp_limb_signed_t,
B: mp_ptr,
lenB: *mut mp_limb_signed_t,
a: mp_srcptr,
lena: mp_limb_signed_t,
b: mp_srcptr,
lenb: mp_limb_signed_t,
mod_: nmod_t,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn nmod_poly_hgcd_ref(
m11: *mut nmod_poly_struct,
m12: *mut nmod_poly_struct,
m21: *mut nmod_poly_struct,
m22: *mut nmod_poly_struct,
A: *mut nmod_poly_struct,
B: *mut nmod_poly_struct,
a: *mut nmod_poly_struct,
b: *mut nmod_poly_struct,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn nmod_poly_hgcd(
m11: *mut nmod_poly_struct,
m12: *mut nmod_poly_struct,
m21: *mut nmod_poly_struct,
m22: *mut nmod_poly_struct,
A: *mut nmod_poly_struct,
B: *mut nmod_poly_struct,
a: *mut nmod_poly_struct,
b: *mut nmod_poly_struct,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn _nmod_poly_gcd_hgcd(
G: mp_ptr,
A: mp_srcptr,
lenA: mp_limb_signed_t,
B: mp_srcptr,
lenB: mp_limb_signed_t,
mod_: nmod_t,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn nmod_poly_gcd_hgcd(
G: *mut nmod_poly_struct,
A: *mut nmod_poly_struct,
B: *mut nmod_poly_struct,
);
}
extern "C" {
pub fn _nmod_poly_gcd(
G: mp_ptr,
A: mp_srcptr,
lenA: mp_limb_signed_t,
B: mp_srcptr,
lenB: mp_limb_signed_t,
mod_: nmod_t,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn nmod_poly_gcd(
G: *mut nmod_poly_struct,
A: *mut nmod_poly_struct,
B: *mut nmod_poly_struct,
);
}
extern "C" {
pub fn _nmod_poly_xgcd_euclidean(
res: mp_ptr,
s: mp_ptr,
t: mp_ptr,
poly1: mp_srcptr,
len1: mp_limb_signed_t,
poly2: mp_srcptr,
len2: mp_limb_signed_t,
mod_: nmod_t,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn nmod_poly_xgcd_euclidean(
G: *mut nmod_poly_struct,
S: *mut nmod_poly_struct,
T: *mut nmod_poly_struct,
A: *mut nmod_poly_struct,
B: *mut nmod_poly_struct,
);
}
extern "C" {
pub fn _nmod_poly_xgcd_hgcd(
G: mp_ptr,
S: mp_ptr,
T: mp_ptr,
A: mp_srcptr,
lenA: mp_limb_signed_t,
B: mp_srcptr,
lenB: mp_limb_signed_t,
mod_: nmod_t,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn nmod_poly_xgcd_hgcd(
G: *mut nmod_poly_struct,
S: *mut nmod_poly_struct,
T: *mut nmod_poly_struct,
A: *mut nmod_poly_struct,
B: *mut nmod_poly_struct,
);
}
extern "C" {
pub fn _nmod_poly_xgcd(
G: mp_ptr,
S: mp_ptr,
T: mp_ptr,
A: mp_srcptr,
lenA: mp_limb_signed_t,
B: mp_srcptr,
lenB: mp_limb_signed_t,
mod_: nmod_t,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn nmod_poly_xgcd(
G: *mut nmod_poly_struct,
S: *mut nmod_poly_struct,
T: *mut nmod_poly_struct,
A: *mut nmod_poly_struct,
B: *mut nmod_poly_struct,
);
}
extern "C" {
pub fn _nmod_poly_resultant_euclidean(
poly1: mp_srcptr,
len1: mp_limb_signed_t,
poly2: mp_srcptr,
len2: mp_limb_signed_t,
mod_: nmod_t,
) -> mp_limb_t;
}
extern "C" {
pub fn nmod_poly_resultant_euclidean(
f: *mut nmod_poly_struct,
g: *mut nmod_poly_struct,
) -> mp_limb_t;
}
extern "C" {
pub fn _nmod_poly_resultant_hgcd(
A: mp_srcptr,
lenA: mp_limb_signed_t,
B: mp_srcptr,
lenB: mp_limb_signed_t,
mod_: nmod_t,
) -> mp_limb_t;
}
extern "C" {
pub fn nmod_poly_resultant_hgcd(
A: *mut nmod_poly_struct,
B: *mut nmod_poly_struct,
) -> mp_limb_t;
}
extern "C" {
pub fn _nmod_poly_gcdinv(
G: *mut mp_limb_t,
S: *mut mp_limb_t,
A: *const mp_limb_t,
lenA: mp_limb_signed_t,
B: *const mp_limb_t,
lenB: mp_limb_signed_t,
mod_: nmod_t,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn nmod_poly_gcdinv(
G: *mut nmod_poly_struct,
S: *mut nmod_poly_struct,
A: *mut nmod_poly_struct,
B: *mut nmod_poly_struct,
);
}
extern "C" {
pub fn _nmod_poly_discriminant(
poly: mp_srcptr,
len: mp_limb_signed_t,
mod_: nmod_t,
) -> mp_limb_t;
}
extern "C" {
pub fn nmod_poly_discriminant(f: *mut nmod_poly_struct) -> mp_limb_t;
}
extern "C" {
pub fn _nmod_poly_invsqrt_series(g: mp_ptr, h: mp_srcptr, n: mp_limb_signed_t, mod_: nmod_t);
}
extern "C" {
pub fn nmod_poly_invsqrt_series(
g: *mut nmod_poly_struct,
h: *mut nmod_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _nmod_poly_sqrt_series(g: mp_ptr, h: mp_srcptr, n: mp_limb_signed_t, mod_: nmod_t);
}
extern "C" {
pub fn nmod_poly_sqrt_series(
g: *mut nmod_poly_struct,
h: *mut nmod_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _nmod_poly_sqrt(
s: mp_ptr,
p: mp_srcptr,
len: mp_limb_signed_t,
mod_: nmod_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn nmod_poly_sqrt(
b: *mut nmod_poly_struct,
a: *mut nmod_poly_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _nmod_poly_power_sums_naive(
res: mp_ptr,
poly: mp_srcptr,
len: mp_limb_signed_t,
n: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_power_sums_naive(
res: *mut nmod_poly_struct,
poly: *mut nmod_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _nmod_poly_power_sums_schoenhage(
res: mp_ptr,
poly: mp_srcptr,
len: mp_limb_signed_t,
n: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_power_sums_schoenhage(
res: *mut nmod_poly_struct,
poly: *mut nmod_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _nmod_poly_power_sums(
res: mp_ptr,
poly: mp_srcptr,
len: mp_limb_signed_t,
n: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_power_sums(
res: *mut nmod_poly_struct,
poly: *mut nmod_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _nmod_poly_power_sums_to_poly_naive(
res: mp_ptr,
poly: mp_srcptr,
len: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_power_sums_to_poly_naive(res: *mut nmod_poly_struct, Q: *mut nmod_poly_struct);
}
extern "C" {
pub fn _nmod_poly_power_sums_to_poly_schoenhage(
res: mp_ptr,
poly: mp_srcptr,
len: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_power_sums_to_poly_schoenhage(
res: *mut nmod_poly_struct,
Q: *mut nmod_poly_struct,
);
}
extern "C" {
pub fn _nmod_poly_power_sums_to_poly(
res: mp_ptr,
poly: mp_srcptr,
len: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_power_sums_to_poly(res: *mut nmod_poly_struct, Q: *mut nmod_poly_struct);
}
extern "C" {
pub fn _nmod_poly_atan_series(g: mp_ptr, h: mp_srcptr, n: mp_limb_signed_t, mod_: nmod_t);
}
extern "C" {
pub fn nmod_poly_atan_series(
g: *mut nmod_poly_struct,
h: *mut nmod_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _nmod_poly_tan_series(g: mp_ptr, h: mp_srcptr, n: mp_limb_signed_t, mod_: nmod_t);
}
extern "C" {
pub fn nmod_poly_tan_series(
g: *mut nmod_poly_struct,
h: *mut nmod_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _nmod_poly_asin_series(g: mp_ptr, h: mp_srcptr, n: mp_limb_signed_t, mod_: nmod_t);
}
extern "C" {
pub fn nmod_poly_asin_series(
g: *mut nmod_poly_struct,
h: *mut nmod_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _nmod_poly_sin_series(g: mp_ptr, h: mp_srcptr, n: mp_limb_signed_t, mod_: nmod_t);
}
extern "C" {
pub fn nmod_poly_sin_series(
g: *mut nmod_poly_struct,
h: *mut nmod_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _nmod_poly_cos_series(g: mp_ptr, h: mp_srcptr, n: mp_limb_signed_t, mod_: nmod_t);
}
extern "C" {
pub fn nmod_poly_cos_series(
g: *mut nmod_poly_struct,
h: *mut nmod_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _nmod_poly_asinh_series(g: mp_ptr, h: mp_srcptr, n: mp_limb_signed_t, mod_: nmod_t);
}
extern "C" {
pub fn nmod_poly_asinh_series(
g: *mut nmod_poly_struct,
h: *mut nmod_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _nmod_poly_atanh_series(g: mp_ptr, h: mp_srcptr, n: mp_limb_signed_t, mod_: nmod_t);
}
extern "C" {
pub fn nmod_poly_atanh_series(
g: *mut nmod_poly_struct,
h: *mut nmod_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _nmod_poly_sinh_series(g: mp_ptr, h: mp_srcptr, n: mp_limb_signed_t, mod_: nmod_t);
}
extern "C" {
pub fn nmod_poly_sinh_series(
g: *mut nmod_poly_struct,
h: *mut nmod_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _nmod_poly_cosh_series(g: mp_ptr, h: mp_srcptr, n: mp_limb_signed_t, mod_: nmod_t);
}
extern "C" {
pub fn nmod_poly_cosh_series(
g: *mut nmod_poly_struct,
h: *mut nmod_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _nmod_poly_tanh_series(g: mp_ptr, h: mp_srcptr, n: mp_limb_signed_t, mod_: nmod_t);
}
extern "C" {
pub fn nmod_poly_tanh_series(
g: *mut nmod_poly_struct,
h: *mut nmod_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _nmod_poly_log_series_monomial_ui(
res: mp_ptr,
coeff: mp_limb_t,
power: mp_limb_t,
n: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_log_series_monomial_ui(
res: *mut nmod_poly_struct,
coeff: mp_limb_t,
power: mp_limb_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _nmod_poly_log_series(
res: mp_ptr,
f: mp_srcptr,
flen: mp_limb_signed_t,
n: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_log_series(
res: *mut nmod_poly_struct,
f: *mut nmod_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _nmod_poly_exp_series_monomial_ui(
res: mp_ptr,
coeff: mp_limb_t,
power: mp_limb_t,
n: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_exp_series_monomial_ui(
res: *mut nmod_poly_struct,
coeff: mp_limb_t,
power: mp_limb_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _nmod_poly_exp_series_basecase(
f: mp_ptr,
h: mp_srcptr,
hlen: mp_limb_signed_t,
n: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_exp_series_basecase(
f: *mut nmod_poly_struct,
h: *mut nmod_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _nmod_poly_exp_expinv_series(
f: mp_ptr,
g: mp_ptr,
h: mp_srcptr,
n: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn _nmod_poly_exp_series(f: mp_ptr, h: mp_srcptr, n: mp_limb_signed_t, mod_: nmod_t);
}
extern "C" {
pub fn _nmod_poly_exp_series2(
f: mp_ptr,
h: mp_srcptr,
hlen: mp_limb_signed_t,
n: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn nmod_poly_exp_series(
f: *mut nmod_poly_struct,
h: *mut nmod_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn nmod_poly_product_roots_nmod_vec(
poly: *mut nmod_poly_struct,
xs: mp_srcptr,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _nmod_poly_product_roots_nmod_vec(
poly: mp_ptr,
xs: mp_srcptr,
n: mp_limb_signed_t,
mod_: nmod_t,
);
}
extern "C" {
pub fn _nmod_poly_split_rabin(
a: *mut nmod_poly_struct,
b: *mut nmod_poly_struct,
f: *mut nmod_poly_struct,
t: *mut nmod_poly_struct,
t2: *mut nmod_poly_struct,
randstate: *mut flint_rand_s,
);
}
extern "C" {
pub fn nmod_poly_find_distinct_nonzero_roots(
roots: *mut mp_limb_t,
P: *mut nmod_poly_struct,
) -> ::std::os::raw::c_int;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _nmod_poly_multi_crt_prog_instr {
pub a_idx: mp_limb_signed_t,
pub b_idx: mp_limb_signed_t,
pub c_idx: mp_limb_signed_t,
pub idem: nmod_poly_t,
pub modulus: nmod_poly_t,
}
#[test]
fn bindgen_test_layout__nmod_poly_multi_crt_prog_instr() {
assert_eq!(
::std::mem::size_of::<_nmod_poly_multi_crt_prog_instr>(),
120usize,
concat!("Size of: ", stringify!(_nmod_poly_multi_crt_prog_instr))
);
assert_eq!(
::std::mem::align_of::<_nmod_poly_multi_crt_prog_instr>(),
8usize,
concat!("Alignment of ", stringify!(_nmod_poly_multi_crt_prog_instr))
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<_nmod_poly_multi_crt_prog_instr>())).a_idx as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(_nmod_poly_multi_crt_prog_instr),
"::",
stringify!(a_idx)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<_nmod_poly_multi_crt_prog_instr>())).b_idx as *const _ as usize
},
8usize,
concat!(
"Offset of field: ",
stringify!(_nmod_poly_multi_crt_prog_instr),
"::",
stringify!(b_idx)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<_nmod_poly_multi_crt_prog_instr>())).c_idx as *const _ as usize
},
16usize,
concat!(
"Offset of field: ",
stringify!(_nmod_poly_multi_crt_prog_instr),
"::",
stringify!(c_idx)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<_nmod_poly_multi_crt_prog_instr>())).idem as *const _ as usize
},
24usize,
concat!(
"Offset of field: ",
stringify!(_nmod_poly_multi_crt_prog_instr),
"::",
stringify!(idem)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<_nmod_poly_multi_crt_prog_instr>())).modulus as *const _ as usize
},
72usize,
concat!(
"Offset of field: ",
stringify!(_nmod_poly_multi_crt_prog_instr),
"::",
stringify!(modulus)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct nmod_poly_multi_crt_struct {
pub prog: *mut _nmod_poly_multi_crt_prog_instr,
pub length: mp_limb_signed_t,
pub alloc: mp_limb_signed_t,
pub localsize: mp_limb_signed_t,
pub temp1loc: mp_limb_signed_t,
pub temp2loc: mp_limb_signed_t,
pub good: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_nmod_poly_multi_crt_struct() {
assert_eq!(
::std::mem::size_of::<nmod_poly_multi_crt_struct>(),
56usize,
concat!("Size of: ", stringify!(nmod_poly_multi_crt_struct))
);
assert_eq!(
::std::mem::align_of::<nmod_poly_multi_crt_struct>(),
8usize,
concat!("Alignment of ", stringify!(nmod_poly_multi_crt_struct))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nmod_poly_multi_crt_struct>())).prog as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(nmod_poly_multi_crt_struct),
"::",
stringify!(prog)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<nmod_poly_multi_crt_struct>())).length as *const _ as usize
},
8usize,
concat!(
"Offset of field: ",
stringify!(nmod_poly_multi_crt_struct),
"::",
stringify!(length)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<nmod_poly_multi_crt_struct>())).alloc as *const _ as usize
},
16usize,
concat!(
"Offset of field: ",
stringify!(nmod_poly_multi_crt_struct),
"::",
stringify!(alloc)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<nmod_poly_multi_crt_struct>())).localsize as *const _ as usize
},
24usize,
concat!(
"Offset of field: ",
stringify!(nmod_poly_multi_crt_struct),
"::",
stringify!(localsize)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<nmod_poly_multi_crt_struct>())).temp1loc as *const _ as usize
},
32usize,
concat!(
"Offset of field: ",
stringify!(nmod_poly_multi_crt_struct),
"::",
stringify!(temp1loc)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<nmod_poly_multi_crt_struct>())).temp2loc as *const _ as usize
},
40usize,
concat!(
"Offset of field: ",
stringify!(nmod_poly_multi_crt_struct),
"::",
stringify!(temp2loc)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nmod_poly_multi_crt_struct>())).good as *const _ as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(nmod_poly_multi_crt_struct),
"::",
stringify!(good)
)
);
}
pub type nmod_poly_multi_crt_t = [nmod_poly_multi_crt_struct; 1usize];
extern "C" {
pub fn nmod_poly_multi_crt_init(CRT: *mut nmod_poly_multi_crt_struct);
}
extern "C" {
pub fn nmod_poly_multi_crt_precompute(
CRT: *mut nmod_poly_multi_crt_struct,
moduli: *const nmod_poly_struct,
len: mp_limb_signed_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn nmod_poly_multi_crt_precompute_p(
CRT: *mut nmod_poly_multi_crt_struct,
moduli: *const *const nmod_poly_struct,
len: mp_limb_signed_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn nmod_poly_multi_crt_precomp(
output: *mut nmod_poly_struct,
CRT: *mut nmod_poly_multi_crt_struct,
values: *const nmod_poly_struct,
);
}
extern "C" {
pub fn nmod_poly_multi_crt_precomp_p(
output: *mut nmod_poly_struct,
CRT: *mut nmod_poly_multi_crt_struct,
values: *const *const nmod_poly_struct,
);
}
extern "C" {
pub fn nmod_poly_multi_crt(
output: *mut nmod_poly_struct,
moduli: *const nmod_poly_struct,
values: *const nmod_poly_struct,
len: mp_limb_signed_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn nmod_poly_multi_crt_clear(CRT: *mut nmod_poly_multi_crt_struct);
}
extern "C" {
pub fn _nmod_poly_multi_crt_run(
outputs: *mut nmod_poly_struct,
CRT: *mut nmod_poly_multi_crt_struct,
inputs: *const nmod_poly_struct,
);
}
extern "C" {
pub fn _nmod_poly_multi_crt_run_p(
outputs: *mut nmod_poly_struct,
CRT: *mut nmod_poly_multi_crt_struct,
inputs: *const *const nmod_poly_struct,
);
}
extern "C" {
pub fn nmod_poly_deflation(input: *mut nmod_poly_struct) -> mp_limb_t;
}
extern "C" {
pub fn nmod_poly_deflate(
result: *mut nmod_poly_struct,
input: *mut nmod_poly_struct,
deflation: mp_limb_t,
);
}
extern "C" {
pub fn nmod_poly_inflate(
result: *mut nmod_poly_struct,
input: *mut nmod_poly_struct,
inflation: mp_limb_t,
);
}
extern "C" {
pub fn nmod_mat_charpoly_danilevsky(p: *mut nmod_poly_struct, M: *mut nmod_mat_struct);
}
extern "C" {
pub fn nmod_mat_minpoly_with_gens(
p: *mut nmod_poly_struct,
X: *mut nmod_mat_struct,
P: *mut mp_limb_t,
);
}
extern "C" {
pub fn nmod_mat_minpoly(p: *mut nmod_poly_struct, M: *mut nmod_mat_struct);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct nmod_berlekamp_massey_struct {
pub npoints: mp_limb_signed_t,
pub R0: nmod_poly_t,
pub R1: nmod_poly_t,
pub V0: nmod_poly_t,
pub V1: nmod_poly_t,
pub qt: nmod_poly_t,
pub rt: nmod_poly_t,
pub points: nmod_poly_t,
}
#[test]
fn bindgen_test_layout_nmod_berlekamp_massey_struct() {
assert_eq!(
::std::mem::size_of::<nmod_berlekamp_massey_struct>(),
344usize,
concat!("Size of: ", stringify!(nmod_berlekamp_massey_struct))
);
assert_eq!(
::std::mem::align_of::<nmod_berlekamp_massey_struct>(),
8usize,
concat!("Alignment of ", stringify!(nmod_berlekamp_massey_struct))
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<nmod_berlekamp_massey_struct>())).npoints as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(nmod_berlekamp_massey_struct),
"::",
stringify!(npoints)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nmod_berlekamp_massey_struct>())).R0 as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(nmod_berlekamp_massey_struct),
"::",
stringify!(R0)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nmod_berlekamp_massey_struct>())).R1 as *const _ as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(nmod_berlekamp_massey_struct),
"::",
stringify!(R1)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nmod_berlekamp_massey_struct>())).V0 as *const _ as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(nmod_berlekamp_massey_struct),
"::",
stringify!(V0)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nmod_berlekamp_massey_struct>())).V1 as *const _ as usize },
152usize,
concat!(
"Offset of field: ",
stringify!(nmod_berlekamp_massey_struct),
"::",
stringify!(V1)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nmod_berlekamp_massey_struct>())).qt as *const _ as usize },
200usize,
concat!(
"Offset of field: ",
stringify!(nmod_berlekamp_massey_struct),
"::",
stringify!(qt)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nmod_berlekamp_massey_struct>())).rt as *const _ as usize },
248usize,
concat!(
"Offset of field: ",
stringify!(nmod_berlekamp_massey_struct),
"::",
stringify!(rt)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<nmod_berlekamp_massey_struct>())).points as *const _ as usize
},
296usize,
concat!(
"Offset of field: ",
stringify!(nmod_berlekamp_massey_struct),
"::",
stringify!(points)
)
);
}
pub type nmod_berlekamp_massey_t = [nmod_berlekamp_massey_struct; 1usize];
extern "C" {
pub fn nmod_berlekamp_massey_init(B: *mut nmod_berlekamp_massey_struct, p: mp_limb_t);
}
extern "C" {
pub fn nmod_berlekamp_massey_start_over(B: *mut nmod_berlekamp_massey_struct);
}
extern "C" {
pub fn nmod_berlekamp_massey_clear(B: *mut nmod_berlekamp_massey_struct);
}
extern "C" {
pub fn nmod_berlekamp_massey_set_prime(B: *mut nmod_berlekamp_massey_struct, p: mp_limb_t);
}
extern "C" {
pub fn nmod_berlekamp_massey_print(B: *mut nmod_berlekamp_massey_struct);
}
extern "C" {
pub fn nmod_berlekamp_massey_add_points(
B: *mut nmod_berlekamp_massey_struct,
a: *const mp_limb_t,
count: mp_limb_signed_t,
);
}
extern "C" {
pub fn nmod_berlekamp_massey_add_zeros(
B: *mut nmod_berlekamp_massey_struct,
count: mp_limb_signed_t,
);
}
extern "C" {
pub fn nmod_berlekamp_massey_add_point(B: *mut nmod_berlekamp_massey_struct, a: mp_limb_t);
}
extern "C" {
pub fn nmod_berlekamp_massey_reduce(
B: *mut nmod_berlekamp_massey_struct,
) -> ::std::os::raw::c_int;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct nmod_poly_factor_struct {
pub p: *mut nmod_poly_struct,
pub exp: *mut mp_limb_signed_t,
pub num: mp_limb_signed_t,
pub alloc: mp_limb_signed_t,
}
#[test]
fn bindgen_test_layout_nmod_poly_factor_struct() {
assert_eq!(
::std::mem::size_of::<nmod_poly_factor_struct>(),
32usize,
concat!("Size of: ", stringify!(nmod_poly_factor_struct))
);
assert_eq!(
::std::mem::align_of::<nmod_poly_factor_struct>(),
8usize,
concat!("Alignment of ", stringify!(nmod_poly_factor_struct))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nmod_poly_factor_struct>())).p as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(nmod_poly_factor_struct),
"::",
stringify!(p)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nmod_poly_factor_struct>())).exp as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(nmod_poly_factor_struct),
"::",
stringify!(exp)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nmod_poly_factor_struct>())).num as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(nmod_poly_factor_struct),
"::",
stringify!(num)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nmod_poly_factor_struct>())).alloc as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(nmod_poly_factor_struct),
"::",
stringify!(alloc)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct nmod_poly_interval_poly_arg_t {
pub baby: *mut nmod_poly_struct,
pub res: *mut nmod_poly_struct,
pub H: *mut nmod_poly_struct,
pub v: *mut nmod_poly_struct,
pub vinv: *mut nmod_poly_struct,
pub tmp: mp_ptr,
pub m: mp_limb_signed_t,
}
#[test]
fn bindgen_test_layout_nmod_poly_interval_poly_arg_t() {
assert_eq!(
::std::mem::size_of::<nmod_poly_interval_poly_arg_t>(),
56usize,
concat!("Size of: ", stringify!(nmod_poly_interval_poly_arg_t))
);
assert_eq!(
::std::mem::align_of::<nmod_poly_interval_poly_arg_t>(),
8usize,
concat!("Alignment of ", stringify!(nmod_poly_interval_poly_arg_t))
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<nmod_poly_interval_poly_arg_t>())).baby as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(nmod_poly_interval_poly_arg_t),
"::",
stringify!(baby)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<nmod_poly_interval_poly_arg_t>())).res as *const _ as usize
},
8usize,
concat!(
"Offset of field: ",
stringify!(nmod_poly_interval_poly_arg_t),
"::",
stringify!(res)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nmod_poly_interval_poly_arg_t>())).H as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(nmod_poly_interval_poly_arg_t),
"::",
stringify!(H)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nmod_poly_interval_poly_arg_t>())).v as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(nmod_poly_interval_poly_arg_t),
"::",
stringify!(v)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<nmod_poly_interval_poly_arg_t>())).vinv as *const _ as usize
},
32usize,
concat!(
"Offset of field: ",
stringify!(nmod_poly_interval_poly_arg_t),
"::",
stringify!(vinv)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<nmod_poly_interval_poly_arg_t>())).tmp as *const _ as usize
},
40usize,
concat!(
"Offset of field: ",
stringify!(nmod_poly_interval_poly_arg_t),
"::",
stringify!(tmp)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nmod_poly_interval_poly_arg_t>())).m as *const _ as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(nmod_poly_interval_poly_arg_t),
"::",
stringify!(m)
)
);
}
pub type nmod_poly_factor_t = [nmod_poly_factor_struct; 1usize];
extern "C" {
pub fn nmod_poly_factor_init(fac: *mut nmod_poly_factor_struct);
}
extern "C" {
pub fn nmod_poly_factor_clear(fac: *mut nmod_poly_factor_struct);
}
extern "C" {
pub fn nmod_poly_factor_realloc(fac: *mut nmod_poly_factor_struct, alloc: mp_limb_signed_t);
}
extern "C" {
pub fn nmod_poly_factor_fit_length(fac: *mut nmod_poly_factor_struct, len: mp_limb_signed_t);
}
extern "C" {
pub fn nmod_poly_factor_set(
res: *mut nmod_poly_factor_struct,
fac: *mut nmod_poly_factor_struct,
);
}
extern "C" {
pub fn nmod_poly_factor_insert(
fac: *mut nmod_poly_factor_struct,
poly: *mut nmod_poly_struct,
exp: mp_limb_signed_t,
);
}
extern "C" {
pub fn nmod_poly_factor_print(fac: *mut nmod_poly_factor_struct);
}
extern "C" {
pub fn nmod_poly_factor_concat(
res: *mut nmod_poly_factor_struct,
fac: *mut nmod_poly_factor_struct,
);
}
extern "C" {
pub fn nmod_poly_factor_pow(fac: *mut nmod_poly_factor_struct, exp: mp_limb_signed_t);
}
extern "C" {
pub fn nmod_poly_factor_equal_deg(
factors: *mut nmod_poly_factor_struct,
pol: *mut nmod_poly_struct,
d: mp_limb_signed_t,
);
}
extern "C" {
pub fn nmod_poly_factor_equal_deg_prob(
factor: *mut nmod_poly_struct,
state: *mut flint_rand_s,
pol: *mut nmod_poly_struct,
d: mp_limb_signed_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn nmod_poly_factor_distinct_deg(
res: *mut nmod_poly_factor_struct,
poly: *mut nmod_poly_struct,
degs: *const *mut mp_limb_signed_t,
);
}
extern "C" {
pub fn nmod_poly_remove(f: *mut nmod_poly_struct, p: *mut nmod_poly_struct) -> mp_limb_t;
}
extern "C" {
pub fn nmod_poly_factor_distinct_deg_threaded(
res: *mut nmod_poly_factor_struct,
poly: *mut nmod_poly_struct,
degs: *const *mut mp_limb_signed_t,
);
}
extern "C" {
pub fn nmod_poly_is_irreducible(f: *mut nmod_poly_struct) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn nmod_poly_is_irreducible_rabin(f: *mut nmod_poly_struct) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn nmod_poly_is_irreducible_ddf(f: *mut nmod_poly_struct) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _nmod_poly_is_squarefree(
f: mp_srcptr,
len: mp_limb_signed_t,
mod_: nmod_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn nmod_poly_is_squarefree(f: *mut nmod_poly_struct) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn nmod_poly_factor_cantor_zassenhaus(
res: *mut nmod_poly_factor_struct,
f: *mut nmod_poly_struct,
);
}
extern "C" {
pub fn nmod_poly_factor_berlekamp(
factors: *mut nmod_poly_factor_struct,
f: *mut nmod_poly_struct,
);
}
extern "C" {
pub fn nmod_poly_factor_kaltofen_shoup(
res: *mut nmod_poly_factor_struct,
poly: *mut nmod_poly_struct,
);
}
extern "C" {
pub fn nmod_poly_factor_squarefree(res: *mut nmod_poly_factor_struct, f: *mut nmod_poly_struct);
}
extern "C" {
pub fn nmod_poly_factor_with_berlekamp(
result: *mut nmod_poly_factor_struct,
input: *mut nmod_poly_struct,
) -> mp_limb_t;
}
extern "C" {
pub fn nmod_poly_factor_with_cantor_zassenhaus(
result: *mut nmod_poly_factor_struct,
input: *mut nmod_poly_struct,
) -> mp_limb_t;
}
extern "C" {
pub fn nmod_poly_factor_with_kaltofen_shoup(
result: *mut nmod_poly_factor_struct,
input: *mut nmod_poly_struct,
) -> mp_limb_t;
}
extern "C" {
pub fn nmod_poly_factor(
result: *mut nmod_poly_factor_struct,
input: *mut nmod_poly_struct,
) -> mp_limb_t;
}
extern "C" {
pub fn _nmod_poly_interval_poly_worker(arg_ptr: *mut ::std::os::raw::c_void);
}
extern "C" {
pub fn nmod_poly_roots(
r: *mut nmod_poly_factor_struct,
f: *mut nmod_poly_struct,
with_multiplicity: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn nmod_poly_roots_factored(
r: *mut nmod_poly_factor_struct,
f: *mut nmod_poly_struct,
with_multiplicity: ::std::os::raw::c_int,
n: *const n_factor_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn nmod_poly_factor_get_nmod_poly(
z: *mut nmod_poly_struct,
fac: *mut nmod_poly_factor_struct,
i: mp_limb_signed_t,
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct fmpz_poly_struct {
pub coeffs: *mut fmpz,
pub alloc: mp_limb_signed_t,
pub length: mp_limb_signed_t,
}
#[test]
fn bindgen_test_layout_fmpz_poly_struct() {
assert_eq!(
::std::mem::size_of::<fmpz_poly_struct>(),
24usize,
concat!("Size of: ", stringify!(fmpz_poly_struct))
);
assert_eq!(
::std::mem::align_of::<fmpz_poly_struct>(),
8usize,
concat!("Alignment of ", stringify!(fmpz_poly_struct))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_poly_struct>())).coeffs as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(fmpz_poly_struct),
"::",
stringify!(coeffs)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_poly_struct>())).alloc as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(fmpz_poly_struct),
"::",
stringify!(alloc)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_poly_struct>())).length as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(fmpz_poly_struct),
"::",
stringify!(length)
)
);
}
pub type fmpz_poly_t = [fmpz_poly_struct; 1usize];
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct fmpz_poly_powers_precomp_struct {
pub powers: *mut *mut fmpz,
pub len: mp_limb_signed_t,
}
#[test]
fn bindgen_test_layout_fmpz_poly_powers_precomp_struct() {
assert_eq!(
::std::mem::size_of::<fmpz_poly_powers_precomp_struct>(),
16usize,
concat!("Size of: ", stringify!(fmpz_poly_powers_precomp_struct))
);
assert_eq!(
::std::mem::align_of::<fmpz_poly_powers_precomp_struct>(),
8usize,
concat!("Alignment of ", stringify!(fmpz_poly_powers_precomp_struct))
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<fmpz_poly_powers_precomp_struct>())).powers as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(fmpz_poly_powers_precomp_struct),
"::",
stringify!(powers)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<fmpz_poly_powers_precomp_struct>())).len as *const _ as usize
},
8usize,
concat!(
"Offset of field: ",
stringify!(fmpz_poly_powers_precomp_struct),
"::",
stringify!(len)
)
);
}
pub type fmpz_poly_powers_precomp_t = [fmpz_poly_powers_precomp_struct; 1usize];
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct fmpz_poly_factor_struct {
pub c: fmpz,
pub p: *mut fmpz_poly_struct,
pub exp: *mut mp_limb_signed_t,
pub num: mp_limb_signed_t,
pub alloc: mp_limb_signed_t,
}
#[test]
fn bindgen_test_layout_fmpz_poly_factor_struct() {
assert_eq!(
::std::mem::size_of::<fmpz_poly_factor_struct>(),
40usize,
concat!("Size of: ", stringify!(fmpz_poly_factor_struct))
);
assert_eq!(
::std::mem::align_of::<fmpz_poly_factor_struct>(),
8usize,
concat!("Alignment of ", stringify!(fmpz_poly_factor_struct))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_poly_factor_struct>())).c as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(fmpz_poly_factor_struct),
"::",
stringify!(c)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_poly_factor_struct>())).p as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(fmpz_poly_factor_struct),
"::",
stringify!(p)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_poly_factor_struct>())).exp as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(fmpz_poly_factor_struct),
"::",
stringify!(exp)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_poly_factor_struct>())).num as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(fmpz_poly_factor_struct),
"::",
stringify!(num)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_poly_factor_struct>())).alloc as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(fmpz_poly_factor_struct),
"::",
stringify!(alloc)
)
);
}
pub type fmpz_poly_factor_t = [fmpz_poly_factor_struct; 1usize];
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct fmpz_poly_mul_precache_struct {
pub jj: *mut *mut mp_limb_t,
pub n: mp_limb_signed_t,
pub len2: mp_limb_signed_t,
pub loglen: mp_limb_signed_t,
pub bits2: mp_limb_signed_t,
pub limbs: mp_limb_signed_t,
pub poly2: fmpz_poly_t,
}
#[test]
fn bindgen_test_layout_fmpz_poly_mul_precache_struct() {
assert_eq!(
::std::mem::size_of::<fmpz_poly_mul_precache_struct>(),
72usize,
concat!("Size of: ", stringify!(fmpz_poly_mul_precache_struct))
);
assert_eq!(
::std::mem::align_of::<fmpz_poly_mul_precache_struct>(),
8usize,
concat!("Alignment of ", stringify!(fmpz_poly_mul_precache_struct))
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<fmpz_poly_mul_precache_struct>())).jj as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(fmpz_poly_mul_precache_struct),
"::",
stringify!(jj)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_poly_mul_precache_struct>())).n as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(fmpz_poly_mul_precache_struct),
"::",
stringify!(n)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<fmpz_poly_mul_precache_struct>())).len2 as *const _ as usize
},
16usize,
concat!(
"Offset of field: ",
stringify!(fmpz_poly_mul_precache_struct),
"::",
stringify!(len2)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<fmpz_poly_mul_precache_struct>())).loglen as *const _ as usize
},
24usize,
concat!(
"Offset of field: ",
stringify!(fmpz_poly_mul_precache_struct),
"::",
stringify!(loglen)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<fmpz_poly_mul_precache_struct>())).bits2 as *const _ as usize
},
32usize,
concat!(
"Offset of field: ",
stringify!(fmpz_poly_mul_precache_struct),
"::",
stringify!(bits2)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<fmpz_poly_mul_precache_struct>())).limbs as *const _ as usize
},
40usize,
concat!(
"Offset of field: ",
stringify!(fmpz_poly_mul_precache_struct),
"::",
stringify!(limbs)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<fmpz_poly_mul_precache_struct>())).poly2 as *const _ as usize
},
48usize,
concat!(
"Offset of field: ",
stringify!(fmpz_poly_mul_precache_struct),
"::",
stringify!(poly2)
)
);
}
pub type fmpz_poly_mul_precache_t = [fmpz_poly_mul_precache_struct; 1usize];
extern "C" {
pub fn fmpz_poly_init(poly: *mut fmpz_poly_struct);
}
extern "C" {
pub fn fmpz_poly_init2(poly: *mut fmpz_poly_struct, alloc: mp_limb_signed_t);
}
extern "C" {
pub fn fmpz_poly_realloc(poly: *mut fmpz_poly_struct, alloc: mp_limb_signed_t);
}
extern "C" {
pub fn fmpz_poly_fit_length(poly: *mut fmpz_poly_struct, len: mp_limb_signed_t);
}
extern "C" {
pub fn fmpz_poly_clear(poly: *mut fmpz_poly_struct);
}
extern "C" {
pub fn _fmpz_poly_normalise(poly: *mut fmpz_poly_struct);
}
extern "C" {
pub fn fmpz_poly_set(poly1: *mut fmpz_poly_struct, poly2: *mut fmpz_poly_struct);
}
extern "C" {
pub fn fmpz_poly_set_ui(poly: *mut fmpz_poly_struct, c: mp_limb_t);
}
extern "C" {
pub fn fmpz_poly_set_si(poly: *mut fmpz_poly_struct, c: mp_limb_signed_t);
}
extern "C" {
pub fn fmpz_poly_set_fmpz(poly: *mut fmpz_poly_struct, c: *mut fmpz);
}
extern "C" {
pub fn fmpz_poly_set_mpz(poly: *mut fmpz_poly_struct, c: *mut __mpz_struct);
}
extern "C" {
pub fn _fmpz_poly_set_str(
poly: *mut fmpz,
str: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_poly_set_str(
poly: *mut fmpz_poly_struct,
str: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fmpz_poly_get_str(
poly: *const fmpz,
len: mp_limb_signed_t,
) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn fmpz_poly_get_str(poly: *mut fmpz_poly_struct) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn _fmpz_poly_get_str_pretty(
poly: *const fmpz,
len: mp_limb_signed_t,
x: *const ::std::os::raw::c_char,
) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn fmpz_poly_get_str_pretty(
poly: *mut fmpz_poly_struct,
x: *const ::std::os::raw::c_char,
) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn fmpz_poly_zero_coeffs(
poly: *mut fmpz_poly_struct,
i: mp_limb_signed_t,
j: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_swap(poly1: *mut fmpz_poly_struct, poly2: *mut fmpz_poly_struct);
}
extern "C" {
pub fn _fmpz_poly_reverse(
res: *mut fmpz,
poly: *const fmpz,
len: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_reverse(
res: *mut fmpz_poly_struct,
poly: *mut fmpz_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_deflation(input: *mut fmpz_poly_struct) -> mp_limb_t;
}
extern "C" {
pub fn fmpz_poly_deflate(
result: *mut fmpz_poly_struct,
input: *mut fmpz_poly_struct,
deflation: mp_limb_t,
);
}
extern "C" {
pub fn fmpz_poly_inflate(
result: *mut fmpz_poly_struct,
input: *mut fmpz_poly_struct,
inflation: mp_limb_t,
);
}
extern "C" {
pub fn fmpz_poly_set_trunc(
res: *mut fmpz_poly_struct,
poly: *mut fmpz_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_randtest(
f: *mut fmpz_poly_struct,
state: *mut flint_rand_s,
len: mp_limb_signed_t,
bits: mp_limb_t,
);
}
extern "C" {
pub fn fmpz_poly_randtest_unsigned(
f: *mut fmpz_poly_struct,
state: *mut flint_rand_s,
len: mp_limb_signed_t,
bits: mp_limb_t,
);
}
extern "C" {
pub fn fmpz_poly_randtest_not_zero(
f: *mut fmpz_poly_struct,
state: *mut flint_rand_s,
len: mp_limb_signed_t,
bits: mp_limb_t,
);
}
extern "C" {
pub fn fmpz_poly_randtest_no_real_root(
p: *mut fmpz_poly_struct,
state: *mut flint_rand_s,
len: mp_limb_signed_t,
bits: mp_limb_t,
);
}
extern "C" {
pub fn fmpz_poly_get_coeff_si(
poly: *mut fmpz_poly_struct,
n: mp_limb_signed_t,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn fmpz_poly_set_coeff_si(
poly: *mut fmpz_poly_struct,
n: mp_limb_signed_t,
x: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_get_coeff_ui(poly: *mut fmpz_poly_struct, n: mp_limb_signed_t) -> mp_limb_t;
}
extern "C" {
pub fn fmpz_poly_set_coeff_ui(poly: *mut fmpz_poly_struct, n: mp_limb_signed_t, x: mp_limb_t);
}
extern "C" {
pub fn fmpz_poly_set_coeff_fmpz(poly: *mut fmpz_poly_struct, n: mp_limb_signed_t, x: *mut fmpz);
}
extern "C" {
pub fn fmpz_poly_get_coeff_fmpz(x: *mut fmpz, poly: *mut fmpz_poly_struct, n: mp_limb_signed_t);
}
extern "C" {
pub fn fmpz_poly_equal(
poly1: *mut fmpz_poly_struct,
poly2: *mut fmpz_poly_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_poly_equal_trunc(
poly1: *mut fmpz_poly_struct,
poly2: *mut fmpz_poly_struct,
n: mp_limb_signed_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fmpz_poly_add(
res: *mut fmpz,
poly1: *const fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
len2: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_add(
res: *mut fmpz_poly_struct,
poly1: *mut fmpz_poly_struct,
poly2: *mut fmpz_poly_struct,
);
}
extern "C" {
pub fn fmpz_poly_add_series(
res: *mut fmpz_poly_struct,
poly1: *mut fmpz_poly_struct,
poly2: *mut fmpz_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_poly_sub(
res: *mut fmpz,
poly1: *const fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
len2: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_sub(
res: *mut fmpz_poly_struct,
poly1: *mut fmpz_poly_struct,
poly2: *mut fmpz_poly_struct,
);
}
extern "C" {
pub fn fmpz_poly_sub_series(
res: *mut fmpz_poly_struct,
poly1: *mut fmpz_poly_struct,
poly2: *mut fmpz_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_neg(res: *mut fmpz_poly_struct, poly: *mut fmpz_poly_struct);
}
extern "C" {
pub fn fmpz_poly_scalar_abs(res: *mut fmpz_poly_struct, poly: *mut fmpz_poly_struct);
}
extern "C" {
pub fn fmpz_poly_scalar_mul_ui(
poly1: *mut fmpz_poly_struct,
poly2: *mut fmpz_poly_struct,
x: mp_limb_t,
);
}
extern "C" {
pub fn fmpz_poly_scalar_mul_si(
poly1: *mut fmpz_poly_struct,
poly2: *mut fmpz_poly_struct,
x: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_scalar_mul_fmpz(
poly1: *mut fmpz_poly_struct,
poly2: *mut fmpz_poly_struct,
x: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_poly_scalar_addmul_fmpz(
poly1: *mut fmpz_poly_struct,
poly2: *mut fmpz_poly_struct,
x: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_poly_scalar_submul_fmpz(
poly1: *mut fmpz_poly_struct,
poly2: *mut fmpz_poly_struct,
x: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_poly_scalar_fdiv_ui(
poly1: *mut fmpz_poly_struct,
poly2: *mut fmpz_poly_struct,
x: mp_limb_t,
);
}
extern "C" {
pub fn fmpz_poly_scalar_fdiv_si(
poly1: *mut fmpz_poly_struct,
poly2: *mut fmpz_poly_struct,
x: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_scalar_fdiv_fmpz(
poly1: *mut fmpz_poly_struct,
poly2: *mut fmpz_poly_struct,
x: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_poly_scalar_tdiv_ui(
poly1: *mut fmpz_poly_struct,
poly2: *mut fmpz_poly_struct,
x: mp_limb_t,
);
}
extern "C" {
pub fn fmpz_poly_scalar_tdiv_si(
poly1: *mut fmpz_poly_struct,
poly2: *mut fmpz_poly_struct,
x: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_scalar_tdiv_fmpz(
poly1: *mut fmpz_poly_struct,
poly2: *mut fmpz_poly_struct,
x: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_poly_scalar_divexact_ui(
poly1: *mut fmpz_poly_struct,
poly2: *mut fmpz_poly_struct,
x: mp_limb_t,
);
}
extern "C" {
pub fn fmpz_poly_scalar_divexact_si(
poly1: *mut fmpz_poly_struct,
poly2: *mut fmpz_poly_struct,
x: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_scalar_divexact_fmpz(
poly1: *mut fmpz_poly_struct,
poly2: *mut fmpz_poly_struct,
x: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_poly_scalar_fdiv_2exp(
poly1: *mut fmpz_poly_struct,
poly2: *mut fmpz_poly_struct,
exp: mp_limb_t,
);
}
extern "C" {
pub fn fmpz_poly_scalar_tdiv_2exp(
poly1: *mut fmpz_poly_struct,
poly2: *mut fmpz_poly_struct,
exp: mp_limb_t,
);
}
extern "C" {
pub fn fmpz_poly_scalar_mul_2exp(
poly1: *mut fmpz_poly_struct,
poly2: *mut fmpz_poly_struct,
exp: mp_limb_t,
);
}
extern "C" {
pub fn _fmpz_poly_remove_content_2exp(
pol: *mut fmpz,
len: mp_limb_signed_t,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn _fmpz_poly_scale_2exp(pol: *mut fmpz, len: mp_limb_signed_t, k: mp_limb_signed_t);
}
extern "C" {
pub fn _fmpz_poly_bit_pack(
arr: mp_ptr,
poly: *const fmpz,
len: mp_limb_signed_t,
bit_size: mp_limb_t,
negate: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn _fmpz_poly_bit_unpack(
poly: *mut fmpz,
len: mp_limb_signed_t,
arr: mp_srcptr,
bit_size: mp_limb_t,
negate: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fmpz_poly_bit_unpack_unsigned(
poly: *mut fmpz,
len: mp_limb_signed_t,
arr: mp_srcptr,
bit_size: mp_limb_t,
);
}
extern "C" {
pub fn fmpz_poly_bit_pack(f: *mut fmpz, poly: *mut fmpz_poly_struct, bit_size: mp_limb_t);
}
extern "C" {
pub fn fmpz_poly_bit_unpack(poly: *mut fmpz_poly_struct, f: *mut fmpz, bit_size: mp_limb_t);
}
extern "C" {
pub fn fmpz_poly_bit_unpack_unsigned(
poly: *mut fmpz_poly_struct,
f: *mut fmpz,
bit_size: mp_limb_t,
);
}
extern "C" {
pub fn _fmpz_poly_mul_classical(
res: *mut fmpz,
poly1: *const fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
len2: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_mul_classical(
res: *mut fmpz_poly_struct,
poly1: *mut fmpz_poly_struct,
poly2: *mut fmpz_poly_struct,
);
}
extern "C" {
pub fn _fmpz_poly_mullow_classical(
res: *mut fmpz,
poly1: *const fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
len2: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_mullow_classical(
res: *mut fmpz_poly_struct,
poly1: *mut fmpz_poly_struct,
poly2: *mut fmpz_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_poly_mulhigh_classical(
res: *mut fmpz,
poly1: *const fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
len2: mp_limb_signed_t,
start: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_mulhigh_classical(
res: *mut fmpz_poly_struct,
poly1: *mut fmpz_poly_struct,
poly2: *mut fmpz_poly_struct,
start: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_poly_mulmid_classical(
res: *mut fmpz,
poly1: *const fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
len2: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_mulmid_classical(
res: *mut fmpz_poly_struct,
poly1: *mut fmpz_poly_struct,
poly2: *mut fmpz_poly_struct,
);
}
extern "C" {
pub fn fmpz_poly_mul_karatsuba(
res: *mut fmpz_poly_struct,
poly1: *mut fmpz_poly_struct,
poly2: *mut fmpz_poly_struct,
);
}
extern "C" {
pub fn _fmpz_poly_mul_karatsuba(
res: *mut fmpz,
poly1: *const fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
len2: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_poly_mullow_karatsuba_n(
res: *mut fmpz,
poly1: *const fmpz,
poly2: *const fmpz,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_mullow_karatsuba_n(
res: *mut fmpz_poly_struct,
poly1: *mut fmpz_poly_struct,
poly2: *mut fmpz_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_poly_mulhigh_karatsuba_n(
res: *mut fmpz,
poly1: *const fmpz,
poly2: *const fmpz,
len: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_mulhigh_karatsuba_n(
res: *mut fmpz_poly_struct,
poly1: *mut fmpz_poly_struct,
poly2: *mut fmpz_poly_struct,
length: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_poly_mul_KS(
res: *mut fmpz,
poly1: *const fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
len2: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_mul_KS(
res: *mut fmpz_poly_struct,
poly1: *mut fmpz_poly_struct,
poly2: *mut fmpz_poly_struct,
);
}
extern "C" {
pub fn _fmpz_poly_mullow_KS(
res: *mut fmpz,
poly1: *const fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
len2: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_mullow_KS(
res: *mut fmpz_poly_struct,
poly1: *mut fmpz_poly_struct,
poly2: *mut fmpz_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_poly_mul_SS(
output: *mut fmpz,
input1: *const fmpz,
length1: mp_limb_signed_t,
input2: *const fmpz,
length2: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_mul_SS(
res: *mut fmpz_poly_struct,
poly1: *mut fmpz_poly_struct,
poly2: *mut fmpz_poly_struct,
);
}
extern "C" {
pub fn _fmpz_poly_mullow_SS(
output: *mut fmpz,
input1: *const fmpz,
length1: mp_limb_signed_t,
input2: *const fmpz,
length2: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_mullow_SS(
res: *mut fmpz_poly_struct,
poly1: *mut fmpz_poly_struct,
poly2: *mut fmpz_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_poly_mul(
res: *mut fmpz,
poly1: *const fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
len2: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_mul(
res: *mut fmpz_poly_struct,
poly1: *mut fmpz_poly_struct,
poly2: *mut fmpz_poly_struct,
);
}
extern "C" {
pub fn _fmpz_poly_mullow(
res: *mut fmpz,
poly1: *const fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
len2: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_mullow(
res: *mut fmpz_poly_struct,
poly1: *mut fmpz_poly_struct,
poly2: *mut fmpz_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_mulhigh_n(
res: *mut fmpz_poly_struct,
poly1: *mut fmpz_poly_struct,
poly2: *mut fmpz_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_mul_SS_precache_init(
pre: *mut fmpz_poly_mul_precache_struct,
len1: mp_limb_signed_t,
bits1: mp_limb_signed_t,
poly2: *mut fmpz_poly_struct,
);
}
extern "C" {
pub fn fmpz_poly_mul_precache_clear(pre: *mut fmpz_poly_mul_precache_struct);
}
extern "C" {
pub fn _fmpz_poly_mullow_SS_precache(
output: *mut fmpz,
input1: *const fmpz,
len1: mp_limb_signed_t,
pre: *mut fmpz_poly_mul_precache_struct,
trunc: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_mullow_SS_precache(
res: *mut fmpz_poly_struct,
poly1: *mut fmpz_poly_struct,
pre: *mut fmpz_poly_mul_precache_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_poly_sqr_KS(rop: *mut fmpz, op: *const fmpz, len: mp_limb_signed_t);
}
extern "C" {
pub fn fmpz_poly_sqr_KS(rop: *mut fmpz_poly_struct, op: *mut fmpz_poly_struct);
}
extern "C" {
pub fn fmpz_poly_sqr_karatsuba(rop: *mut fmpz_poly_struct, op: *mut fmpz_poly_struct);
}
extern "C" {
pub fn _fmpz_poly_sqr_karatsuba(rop: *mut fmpz, op: *const fmpz, len: mp_limb_signed_t);
}
extern "C" {
pub fn _fmpz_poly_sqr_classical(rop: *mut fmpz, op: *const fmpz, len: mp_limb_signed_t);
}
extern "C" {
pub fn fmpz_poly_sqr_classical(rop: *mut fmpz_poly_struct, op: *mut fmpz_poly_struct);
}
extern "C" {
pub fn _fmpz_poly_sqr(rop: *mut fmpz, op: *const fmpz, len: mp_limb_signed_t);
}
extern "C" {
pub fn fmpz_poly_sqr(rop: *mut fmpz_poly_struct, op: *mut fmpz_poly_struct);
}
extern "C" {
pub fn _fmpz_poly_sqrlow_KS(
res: *mut fmpz,
poly: *const fmpz,
len: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_sqrlow_KS(
res: *mut fmpz_poly_struct,
poly: *mut fmpz_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_poly_sqrlow_karatsuba_n(res: *mut fmpz, poly: *const fmpz, n: mp_limb_signed_t);
}
extern "C" {
pub fn fmpz_poly_sqrlow_karatsuba_n(
res: *mut fmpz_poly_struct,
poly: *mut fmpz_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_poly_sqrlow_classical(
res: *mut fmpz,
poly: *const fmpz,
len: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_sqrlow_classical(
res: *mut fmpz_poly_struct,
poly: *mut fmpz_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_poly_sqrlow(
res: *mut fmpz,
poly: *const fmpz,
len: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_sqrlow(
res: *mut fmpz_poly_struct,
poly: *mut fmpz_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_poly_pow_multinomial(
res: *mut fmpz,
poly: *const fmpz,
len: mp_limb_signed_t,
e: mp_limb_t,
);
}
extern "C" {
pub fn fmpz_poly_pow_multinomial(
res: *mut fmpz_poly_struct,
poly: *mut fmpz_poly_struct,
e: mp_limb_t,
);
}
extern "C" {
pub fn _fmpz_poly_pow_binomial(res: *mut fmpz, poly: *const fmpz, e: mp_limb_t);
}
extern "C" {
pub fn fmpz_poly_pow_binomial(
res: *mut fmpz_poly_struct,
poly: *mut fmpz_poly_struct,
e: mp_limb_t,
);
}
extern "C" {
pub fn _fmpz_poly_pow_binexp(
res: *mut fmpz,
poly: *const fmpz,
len: mp_limb_signed_t,
e: mp_limb_t,
);
}
extern "C" {
pub fn fmpz_poly_pow_binexp(
res: *mut fmpz_poly_struct,
poly: *mut fmpz_poly_struct,
e: mp_limb_t,
);
}
extern "C" {
pub fn _fmpz_poly_pow_addchains(
res: *mut fmpz,
poly: *const fmpz,
len: mp_limb_signed_t,
a: *const ::std::os::raw::c_int,
n: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn fmpz_poly_pow_addchains(
res: *mut fmpz_poly_struct,
poly: *mut fmpz_poly_struct,
e: mp_limb_t,
);
}
extern "C" {
pub fn _fmpz_poly_pow_small(
res: *mut fmpz,
poly: *const fmpz,
len: mp_limb_signed_t,
e: mp_limb_t,
);
}
extern "C" {
pub fn _fmpz_poly_pow(res: *mut fmpz, poly: *const fmpz, len: mp_limb_signed_t, e: mp_limb_t);
}
extern "C" {
pub fn fmpz_poly_pow(res: *mut fmpz_poly_struct, poly: *mut fmpz_poly_struct, e: mp_limb_t);
}
extern "C" {
pub fn _fmpz_poly_pow_trunc(
res: *mut fmpz,
poly: *const fmpz,
e: mp_limb_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_pow_trunc(
res: *mut fmpz_poly_struct,
poly: *mut fmpz_poly_struct,
e: mp_limb_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_poly_shift_left(
res: *mut fmpz,
poly: *const fmpz,
len: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_poly_shift_right(
res: *mut fmpz,
poly: *const fmpz,
len: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_shift_left(
res: *mut fmpz_poly_struct,
poly: *mut fmpz_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_shift_right(
res: *mut fmpz_poly_struct,
poly: *mut fmpz_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_poly_2norm(res: *mut fmpz, poly: *const fmpz, len: mp_limb_signed_t);
}
extern "C" {
pub fn fmpz_poly_2norm(res: *mut fmpz, poly: *mut fmpz_poly_struct);
}
extern "C" {
pub fn _fmpz_poly_2norm_normalised_bits(poly: *const fmpz, len: mp_limb_signed_t) -> mp_limb_t;
}
extern "C" {
pub fn _fmpz_poly_gcd_subresultant(
res: *mut fmpz,
poly1: *const fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
len2: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_gcd_subresultant(
res: *mut fmpz_poly_struct,
poly1: *mut fmpz_poly_struct,
poly2: *mut fmpz_poly_struct,
);
}
extern "C" {
pub fn _fmpz_poly_gcd_heuristic(
res: *mut fmpz,
poly1: *const fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
len2: mp_limb_signed_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_poly_gcd_heuristic(
res: *mut fmpz_poly_struct,
poly1: *mut fmpz_poly_struct,
poly2: *mut fmpz_poly_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fmpz_poly_gcd_modular(
res: *mut fmpz,
poly1: *const fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
len2: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_gcd_modular(
res: *mut fmpz_poly_struct,
poly1: *mut fmpz_poly_struct,
poly2: *mut fmpz_poly_struct,
);
}
extern "C" {
pub fn _fmpz_poly_gcd(
res: *mut fmpz,
poly1: *const fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
len2: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_gcd(
res: *mut fmpz_poly_struct,
poly1: *mut fmpz_poly_struct,
poly2: *mut fmpz_poly_struct,
);
}
extern "C" {
pub fn _fmpz_poly_lcm(
res: *mut fmpz,
poly1: *const fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
len2: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_lcm(
res: *mut fmpz_poly_struct,
poly1: *mut fmpz_poly_struct,
poly2: *mut fmpz_poly_struct,
);
}
extern "C" {
pub fn _fmpz_poly_resultant_euclidean(
res: *mut fmpz,
poly1: *const fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
len2: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_resultant_euclidean(
res: *mut fmpz,
poly1: *mut fmpz_poly_struct,
poly2: *mut fmpz_poly_struct,
);
}
extern "C" {
pub fn _fmpz_poly_resultant_modular(
res: *mut fmpz,
poly1: *const fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
len2: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_resultant_modular(
res: *mut fmpz,
poly1: *mut fmpz_poly_struct,
poly2: *mut fmpz_poly_struct,
);
}
extern "C" {
pub fn _fmpz_poly_resultant(
res: *mut fmpz,
poly1: *const fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
len2: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_resultant(
res: *mut fmpz,
poly1: *mut fmpz_poly_struct,
poly2: *mut fmpz_poly_struct,
);
}
extern "C" {
pub fn _fmpz_poly_resultant_modular_div(
res: *mut fmpz,
poly1: *const fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
len2: mp_limb_signed_t,
divisor: *mut fmpz,
nbits: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_resultant_modular_div(
res: *mut fmpz,
poly1: *mut fmpz_poly_struct,
poly2: *mut fmpz_poly_struct,
divisor: *mut fmpz,
nbits: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_poly_xgcd_modular(
r: *mut fmpz,
s: *mut fmpz,
t: *mut fmpz,
poly1: *const fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
len2: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_xgcd_modular(
r: *mut fmpz,
s: *mut fmpz_poly_struct,
t: *mut fmpz_poly_struct,
poly1: *mut fmpz_poly_struct,
poly2: *mut fmpz_poly_struct,
);
}
extern "C" {
pub fn _fmpz_poly_discriminant(res: *mut fmpz, poly: *const fmpz, len: mp_limb_signed_t);
}
extern "C" {
pub fn fmpz_poly_discriminant(res: *mut fmpz, poly: *mut fmpz_poly_struct);
}
extern "C" {
pub fn _fmpz_poly_content(res: *mut fmpz, poly: *const fmpz, len: mp_limb_signed_t);
}
extern "C" {
pub fn fmpz_poly_content(res: *mut fmpz, poly: *mut fmpz_poly_struct);
}
extern "C" {
pub fn _fmpz_poly_primitive_part(res: *mut fmpz, poly: *const fmpz, len: mp_limb_signed_t);
}
extern "C" {
pub fn fmpz_poly_primitive_part(res: *mut fmpz_poly_struct, poly: *mut fmpz_poly_struct);
}
extern "C" {
pub fn _fmpz_poly_is_squarefree(
poly: *const fmpz,
len: mp_limb_signed_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_poly_is_squarefree(poly: *mut fmpz_poly_struct) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fmpz_poly_divrem_basecase(
Q: *mut fmpz,
R: *mut fmpz,
A: *const fmpz,
lenA: mp_limb_signed_t,
B: *const fmpz,
lenB: mp_limb_signed_t,
exact: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_poly_divrem_basecase(
Q: *mut fmpz_poly_struct,
R: *mut fmpz_poly_struct,
A: *mut fmpz_poly_struct,
B: *mut fmpz_poly_struct,
);
}
extern "C" {
pub fn _fmpz_poly_divrem_divconquer_recursive(
Q: *mut fmpz,
BQ: *mut fmpz,
W: *mut fmpz,
A: *const fmpz,
B: *const fmpz,
lenB: mp_limb_signed_t,
exact: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fmpz_poly_divrem_divconquer(
Q: *mut fmpz,
R: *mut fmpz,
A: *const fmpz,
lenA: mp_limb_signed_t,
B: *const fmpz,
lenB: mp_limb_signed_t,
exact: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_poly_divrem_divconquer(
Q: *mut fmpz_poly_struct,
R: *mut fmpz_poly_struct,
A: *mut fmpz_poly_struct,
B: *mut fmpz_poly_struct,
);
}
extern "C" {
pub fn _fmpz_poly_divrem(
Q: *mut fmpz,
R: *mut fmpz,
A: *const fmpz,
lenA: mp_limb_signed_t,
B: *const fmpz,
lenB: mp_limb_signed_t,
exact: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_poly_divrem(
Q: *mut fmpz_poly_struct,
R: *mut fmpz_poly_struct,
A: *mut fmpz_poly_struct,
B: *mut fmpz_poly_struct,
);
}
extern "C" {
pub fn _fmpz_poly_div_basecase(
Q: *mut fmpz,
R: *mut fmpz,
A: *const fmpz,
lenA: mp_limb_signed_t,
B: *const fmpz,
lenB: mp_limb_signed_t,
exact: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_poly_div_basecase(
Q: *mut fmpz_poly_struct,
A: *mut fmpz_poly_struct,
B: *mut fmpz_poly_struct,
);
}
extern "C" {
pub fn _fmpz_poly_divremlow_divconquer_recursive(
Q: *mut fmpz,
QB: *mut fmpz,
A: *const fmpz,
B: *const fmpz,
lenB: mp_limb_signed_t,
exact: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fmpz_poly_div_divconquer_recursive(
Q: *mut fmpz,
temp: *mut fmpz,
A: *const fmpz,
B: *const fmpz,
lenB: mp_limb_signed_t,
exact: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fmpz_poly_div_divconquer(
Q: *mut fmpz,
A: *const fmpz,
lenA: mp_limb_signed_t,
B: *const fmpz,
lenB: mp_limb_signed_t,
exact: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_poly_div_divconquer(
Q: *mut fmpz_poly_struct,
A: *mut fmpz_poly_struct,
B: *mut fmpz_poly_struct,
);
}
extern "C" {
pub fn _fmpz_poly_div(
Q: *mut fmpz,
A: *const fmpz,
lenA: mp_limb_signed_t,
B: *const fmpz,
lenB: mp_limb_signed_t,
exact: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_poly_div(
Q: *mut fmpz_poly_struct,
A: *mut fmpz_poly_struct,
B: *mut fmpz_poly_struct,
);
}
extern "C" {
pub fn _fmpz_poly_preinvert(B_inv: *mut fmpz, B: *const fmpz, n: mp_limb_signed_t);
}
extern "C" {
pub fn fmpz_poly_preinvert(B_inv: *mut fmpz_poly_struct, B: *mut fmpz_poly_struct);
}
extern "C" {
pub fn _fmpz_poly_div_preinv(
Q: *mut fmpz,
A: *const fmpz,
len1: mp_limb_signed_t,
B: *const fmpz,
B_inv: *const fmpz,
len2: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_div_preinv(
Q: *mut fmpz_poly_struct,
A: *mut fmpz_poly_struct,
B: *mut fmpz_poly_struct,
B_inv: *mut fmpz_poly_struct,
);
}
extern "C" {
pub fn _fmpz_poly_divrem_preinv(
Q: *mut fmpz,
A: *mut fmpz,
len1: mp_limb_signed_t,
B: *const fmpz,
B_inv: *const fmpz,
len2: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_divrem_preinv(
Q: *mut fmpz_poly_struct,
R: *mut fmpz_poly_struct,
A: *mut fmpz_poly_struct,
B: *mut fmpz_poly_struct,
B_inv: *mut fmpz_poly_struct,
);
}
extern "C" {
pub fn _fmpz_poly_powers_precompute(B: *const fmpz, len: mp_limb_signed_t) -> *mut *mut fmpz;
}
extern "C" {
pub fn fmpz_poly_powers_precompute(
pinv: *mut fmpz_poly_powers_precomp_struct,
poly: *mut fmpz_poly_struct,
);
}
extern "C" {
pub fn _fmpz_poly_powers_clear(powers: *mut *mut fmpz, len: mp_limb_signed_t);
}
extern "C" {
pub fn fmpz_poly_powers_clear(pinv: *mut fmpz_poly_powers_precomp_struct);
}
extern "C" {
pub fn _fmpz_poly_rem_powers_precomp(
A: *mut fmpz,
m: mp_limb_signed_t,
B: *const fmpz,
n: mp_limb_signed_t,
powers: *mut *mut fmpz,
);
}
extern "C" {
pub fn fmpz_poly_rem_powers_precomp(
R: *mut fmpz_poly_struct,
A: *mut fmpz_poly_struct,
B: *mut fmpz_poly_struct,
B_inv: *mut fmpz_poly_powers_precomp_struct,
);
}
extern "C" {
pub fn _fmpz_poly_rem_basecase(
Q: *mut fmpz,
A: *const fmpz,
lenA: mp_limb_signed_t,
B: *const fmpz,
lenB: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_rem_basecase(
R: *mut fmpz_poly_struct,
A: *mut fmpz_poly_struct,
B: *mut fmpz_poly_struct,
);
}
extern "C" {
pub fn _fmpz_poly_rem(
R: *mut fmpz,
A: *const fmpz,
lenA: mp_limb_signed_t,
B: *const fmpz,
lenB: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_rem(
R: *mut fmpz_poly_struct,
A: *mut fmpz_poly_struct,
B: *mut fmpz_poly_struct,
);
}
extern "C" {
pub fn fmpz_poly_div_root(Q: *mut fmpz_poly_struct, A: *mut fmpz_poly_struct, c: *mut fmpz);
}
extern "C" {
pub fn _fmpz_poly_div_root(Q: *mut fmpz, A: *const fmpz, len: mp_limb_signed_t, c: *mut fmpz);
}
extern "C" {
pub fn _fmpz_poly_inv_series_basecase(
Qinv: *mut fmpz,
Q: *const fmpz,
Qlen: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_inv_series_basecase(
Qinv: *mut fmpz_poly_struct,
Q: *mut fmpz_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_poly_inv_series_newton(
Qinv: *mut fmpz,
Q: *const fmpz,
Qlen: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_inv_series_newton(
Qinv: *mut fmpz_poly_struct,
Q: *mut fmpz_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_poly_inv_series(
Qinv: *mut fmpz,
Q: *const fmpz,
Qlen: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_inv_series(
Qinv: *mut fmpz_poly_struct,
Q: *mut fmpz_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_poly_div_series_basecase(
Q: *mut fmpz,
A: *const fmpz,
Alen: mp_limb_signed_t,
B: *const fmpz,
Blen: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_poly_div_series_divconquer(
Q: *mut fmpz,
A: *const fmpz,
Alen: mp_limb_signed_t,
B: *const fmpz,
Blen: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_poly_div_series(
Q: *mut fmpz,
A: *const fmpz,
Alen: mp_limb_signed_t,
B: *const fmpz,
Blen: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_div_series_basecase(
Q: *mut fmpz_poly_struct,
A: *mut fmpz_poly_struct,
B: *mut fmpz_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_div_series_divconquer(
Q: *mut fmpz_poly_struct,
A: *mut fmpz_poly_struct,
B: *mut fmpz_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_div_series(
Q: *mut fmpz_poly_struct,
A: *mut fmpz_poly_struct,
B: *mut fmpz_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_poly_divides(
q: *mut fmpz,
a: *const fmpz,
len1: mp_limb_signed_t,
b: *const fmpz,
len2: mp_limb_signed_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_poly_divides(
q: *mut fmpz_poly_struct,
a: *mut fmpz_poly_struct,
b: *mut fmpz_poly_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_poly_remove(
res: *mut fmpz_poly_struct,
poly1: *mut fmpz_poly_struct,
poly2: *mut fmpz_poly_struct,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn _fmpz_poly_pseudo_divrem_basecase(
Q: *mut fmpz,
R: *mut fmpz,
d: *mut mp_limb_t,
A: *const fmpz,
A_len: mp_limb_signed_t,
B: *const fmpz,
B_len: mp_limb_signed_t,
inv: *mut fmpz_preinvn_struct,
);
}
extern "C" {
pub fn fmpz_poly_pseudo_divrem_basecase(
Q: *mut fmpz_poly_struct,
R: *mut fmpz_poly_struct,
d: *mut mp_limb_t,
A: *mut fmpz_poly_struct,
B: *mut fmpz_poly_struct,
);
}
extern "C" {
pub fn _fmpz_poly_pseudo_divrem_divconquer(
Q: *mut fmpz,
R: *mut fmpz,
d: *mut mp_limb_t,
A: *const fmpz,
lenA: mp_limb_signed_t,
B: *const fmpz,
lenB: mp_limb_signed_t,
inv: *mut fmpz_preinvn_struct,
);
}
extern "C" {
pub fn fmpz_poly_pseudo_divrem_divconquer(
Q: *mut fmpz_poly_struct,
R: *mut fmpz_poly_struct,
d: *mut mp_limb_t,
A: *mut fmpz_poly_struct,
B: *mut fmpz_poly_struct,
);
}
extern "C" {
pub fn _fmpz_poly_pseudo_divrem_cohen(
Q: *mut fmpz,
R: *mut fmpz,
A: *const fmpz,
lenA: mp_limb_signed_t,
B: *const fmpz,
lenB: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_pseudo_divrem_cohen(
Q: *mut fmpz_poly_struct,
R: *mut fmpz_poly_struct,
A: *mut fmpz_poly_struct,
B: *mut fmpz_poly_struct,
);
}
extern "C" {
pub fn _fmpz_poly_pseudo_rem_cohen(
R: *mut fmpz,
A: *const fmpz,
lenA: mp_limb_signed_t,
B: *const fmpz,
lenB: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_pseudo_rem_cohen(
R: *mut fmpz_poly_struct,
A: *mut fmpz_poly_struct,
B: *mut fmpz_poly_struct,
);
}
extern "C" {
pub fn _fmpz_poly_pseudo_div(
Q: *mut fmpz,
d: *mut mp_limb_t,
A: *const fmpz,
lenA: mp_limb_signed_t,
B: *const fmpz,
lenB: mp_limb_signed_t,
inv: *mut fmpz_preinvn_struct,
);
}
extern "C" {
pub fn fmpz_poly_pseudo_div(
Q: *mut fmpz_poly_struct,
d: *mut mp_limb_t,
A: *mut fmpz_poly_struct,
B: *mut fmpz_poly_struct,
);
}
extern "C" {
pub fn _fmpz_poly_pseudo_rem(
R: *mut fmpz,
d: *mut mp_limb_t,
A: *const fmpz,
lenA: mp_limb_signed_t,
B: *const fmpz,
lenB: mp_limb_signed_t,
inv: *mut fmpz_preinvn_struct,
);
}
extern "C" {
pub fn fmpz_poly_pseudo_rem(
R: *mut fmpz_poly_struct,
d: *mut mp_limb_t,
A: *mut fmpz_poly_struct,
B: *mut fmpz_poly_struct,
);
}
extern "C" {
pub fn fmpz_poly_divlow_smodp(
res: *mut fmpz,
f: *mut fmpz_poly_struct,
g: *mut fmpz_poly_struct,
p: *mut fmpz,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_divhigh_smodp(
res: *mut fmpz,
f: *mut fmpz_poly_struct,
g: *mut fmpz_poly_struct,
p: *mut fmpz,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_poly_derivative(rpoly: *mut fmpz, poly: *const fmpz, len: mp_limb_signed_t);
}
extern "C" {
pub fn fmpz_poly_derivative(res: *mut fmpz_poly_struct, poly: *mut fmpz_poly_struct);
}
extern "C" {
pub fn _fmpz_poly_evaluate_divconquer_fmpz(
res: *mut fmpz,
poly: *const fmpz,
len: mp_limb_signed_t,
a: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_poly_evaluate_divconquer_fmpz(
res: *mut fmpz,
poly: *mut fmpz_poly_struct,
a: *mut fmpz,
);
}
extern "C" {
pub fn _fmpz_poly_evaluate_horner_fmpz(
res: *mut fmpz,
f: *const fmpz,
len: mp_limb_signed_t,
a: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_poly_evaluate_horner_fmpz(res: *mut fmpz, f: *mut fmpz_poly_struct, a: *mut fmpz);
}
extern "C" {
pub fn _fmpz_poly_evaluate_fmpz(
res: *mut fmpz,
f: *const fmpz,
len: mp_limb_signed_t,
a: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_poly_evaluate_fmpz(res: *mut fmpz, f: *mut fmpz_poly_struct, a: *mut fmpz);
}
extern "C" {
pub fn _fmpz_poly_evaluate_horner_fmpq(
rnum: *mut fmpz,
rden: *mut fmpz,
f: *const fmpz,
len: mp_limb_signed_t,
anum: *mut fmpz,
aden: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_poly_evaluate_horner_fmpq(res: *mut fmpq, f: *mut fmpz_poly_struct, a: *mut fmpq);
}
extern "C" {
pub fn _fmpz_poly_evaluate_divconquer_fmpq(
rnum: *mut fmpz,
rden: *mut fmpz,
f: *const fmpz,
len: mp_limb_signed_t,
anum: *mut fmpz,
aden: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_poly_evaluate_divconquer_fmpq(
res: *mut fmpq,
f: *mut fmpz_poly_struct,
a: *mut fmpq,
);
}
extern "C" {
pub fn _fmpz_poly_evaluate_fmpq(
rnum: *mut fmpz,
rden: *mut fmpz,
f: *const fmpz,
len: mp_limb_signed_t,
anum: *mut fmpz,
aden: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_poly_evaluate_fmpq(res: *mut fmpq, f: *mut fmpz_poly_struct, a: *mut fmpq);
}
extern "C" {
pub fn fmpz_poly_evaluate_mpq(
res: *mut __mpq_struct,
f: *mut fmpz_poly_struct,
a: *mut __mpq_struct,
);
}
extern "C" {
pub fn _fmpz_poly_evaluate_mod(
poly: *const fmpz,
len: mp_limb_signed_t,
a: mp_limb_t,
n: mp_limb_t,
ninv: mp_limb_t,
) -> mp_limb_t;
}
extern "C" {
pub fn fmpz_poly_evaluate_mod(
poly: *mut fmpz_poly_struct,
a: mp_limb_t,
n: mp_limb_t,
) -> mp_limb_t;
}
extern "C" {
pub fn _fmpz_poly_evaluate_horner_d(poly: *const fmpz, n: mp_limb_signed_t, d: f64) -> f64;
}
extern "C" {
pub fn fmpz_poly_evaluate_horner_d(poly: *mut fmpz_poly_struct, d: f64) -> f64;
}
extern "C" {
pub fn _fmpz_poly_evaluate_horner_d_2exp(
exp: *mut mp_limb_signed_t,
poly: *const fmpz,
n: mp_limb_signed_t,
d: f64,
) -> f64;
}
extern "C" {
pub fn fmpz_poly_evaluate_horner_d_2exp(
exp: *mut mp_limb_signed_t,
poly: *mut fmpz_poly_struct,
d: f64,
) -> f64;
}
extern "C" {
pub fn _fmpz_poly_evaluate_horner_d_2exp2(
exp: *mut mp_limb_signed_t,
poly: *const fmpz,
n: mp_limb_signed_t,
d: f64,
dexp: mp_limb_signed_t,
prec_in: mp_limb_t,
) -> f64;
}
extern "C" {
pub fn fmpz_poly_evaluate_horner_d_2exp2(
exp: *mut mp_limb_signed_t,
poly: *mut fmpz_poly_struct,
d: f64,
dexp: mp_limb_signed_t,
prec: mp_limb_t,
) -> f64;
}
extern "C" {
pub fn _fmpz_poly_compose_horner(
res: *mut fmpz,
poly1: *const fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
len2: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_compose_horner(
res: *mut fmpz_poly_struct,
poly1: *mut fmpz_poly_struct,
poly2: *mut fmpz_poly_struct,
);
}
extern "C" {
pub fn _fmpz_poly_compose_divconquer(
res: *mut fmpz,
poly1: *const fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
len2: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_compose_divconquer(
res: *mut fmpz_poly_struct,
poly1: *mut fmpz_poly_struct,
poly2: *mut fmpz_poly_struct,
);
}
extern "C" {
pub fn _fmpz_poly_compose(
res: *mut fmpz,
poly1: *const fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
len2: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_compose(
res: *mut fmpz_poly_struct,
poly1: *mut fmpz_poly_struct,
poly2: *mut fmpz_poly_struct,
);
}
extern "C" {
pub fn _fmpz_poly_taylor_shift_horner(poly: *mut fmpz, c: *mut fmpz, n: mp_limb_signed_t);
}
extern "C" {
pub fn fmpz_poly_taylor_shift_horner(
g: *mut fmpz_poly_struct,
f: *mut fmpz_poly_struct,
c: *mut fmpz,
);
}
extern "C" {
pub fn _fmpz_poly_taylor_shift_divconquer(poly: *mut fmpz, c: *mut fmpz, n: mp_limb_signed_t);
}
extern "C" {
pub fn fmpz_poly_taylor_shift_divconquer(
g: *mut fmpz_poly_struct,
f: *mut fmpz_poly_struct,
c: *mut fmpz,
);
}
extern "C" {
pub fn _fmpz_poly_taylor_shift_multi_mod(poly: *mut fmpz, c: *mut fmpz, n: mp_limb_signed_t);
}
extern "C" {
pub fn _fmpz_poly_taylor_shift(poly: *mut fmpz, c: *mut fmpz, n: mp_limb_signed_t);
}
extern "C" {
pub fn fmpz_poly_taylor_shift(g: *mut fmpz_poly_struct, f: *mut fmpz_poly_struct, c: *mut fmpz);
}
extern "C" {
pub fn _fmpz_poly_compose_series_brent_kung(
res: *mut fmpz,
poly1: *const fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
len2: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_compose_series_brent_kung(
res: *mut fmpz_poly_struct,
poly1: *mut fmpz_poly_struct,
poly2: *mut fmpz_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_poly_compose_series_horner(
res: *mut fmpz,
poly1: *const fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
len2: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_compose_series_horner(
res: *mut fmpz_poly_struct,
poly1: *mut fmpz_poly_struct,
poly2: *mut fmpz_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_poly_compose_series(
res: *mut fmpz,
poly1: *const fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
len2: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_compose_series(
res: *mut fmpz_poly_struct,
poly1: *mut fmpz_poly_struct,
poly2: *mut fmpz_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_poly_revert_series_lagrange(
Qinv: *mut fmpz,
Q: *const fmpz,
Qlen: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_revert_series_lagrange(
Qinv: *mut fmpz_poly_struct,
Q: *mut fmpz_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_poly_revert_series_lagrange_fast(
Qinv: *mut fmpz,
Q: *const fmpz,
Qlen: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_revert_series_lagrange_fast(
Qinv: *mut fmpz_poly_struct,
Q: *mut fmpz_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_poly_revert_series_newton(
Qinv: *mut fmpz,
Q: *const fmpz,
Qlen: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_revert_series_newton(
Qinv: *mut fmpz_poly_struct,
Q: *mut fmpz_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_poly_revert_series(
Qinv: *mut fmpz,
Q: *const fmpz,
Qlen: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_revert_series(
Qinv: *mut fmpz_poly_struct,
Q: *mut fmpz_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_poly_sqrtrem_classical(
res: *mut fmpz,
r: *mut fmpz,
poly: *const fmpz,
len: mp_limb_signed_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_poly_sqrtrem_classical(
b: *mut fmpz_poly_struct,
r: *mut fmpz_poly_struct,
a: *mut fmpz_poly_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fmpz_poly_sqrtrem_divconquer(
res: *mut fmpz,
r: *mut fmpz,
poly: *const fmpz,
len: mp_limb_signed_t,
temp: *mut fmpz,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_poly_sqrtrem_divconquer(
b: *mut fmpz_poly_struct,
r: *mut fmpz_poly_struct,
a: *mut fmpz_poly_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fmpz_poly_sqrt_classical(
res: *mut fmpz,
poly: *const fmpz,
len: mp_limb_signed_t,
exact: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_poly_sqrt_classical(
b: *mut fmpz_poly_struct,
a: *mut fmpz_poly_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fmpz_poly_sqrt_divconquer(
res: *mut fmpz,
poly: *const fmpz,
len: mp_limb_signed_t,
exact: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_poly_sqrt_divconquer(
b: *mut fmpz_poly_struct,
a: *mut fmpz_poly_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fmpz_poly_sqrt_KS(
rop: *mut fmpz,
op: *const fmpz,
len: mp_limb_signed_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_poly_sqrt_KS(
b: *mut fmpz_poly_struct,
a: *mut fmpz_poly_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fmpz_poly_sqrt(
res: *mut fmpz,
poly: *const fmpz,
len: mp_limb_signed_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_poly_sqrt(
b: *mut fmpz_poly_struct,
a: *mut fmpz_poly_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fmpz_poly_sqrt_series(
res: *mut fmpz,
poly: *const fmpz,
len: mp_limb_signed_t,
n: mp_limb_signed_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_poly_sqrt_series(
b: *mut fmpz_poly_struct,
a: *mut fmpz_poly_struct,
n: mp_limb_signed_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fmpz_poly_power_sums_naive(
res: *mut fmpz,
poly: *const fmpz,
len: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_power_sums_naive(
res: *mut fmpz_poly_struct,
poly: *mut fmpz_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_power_sums(
res: *mut fmpz_poly_struct,
poly: *mut fmpz_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_poly_power_sums_to_poly(res: *mut fmpz, poly: *const fmpz, len: mp_limb_signed_t);
}
extern "C" {
pub fn fmpz_poly_power_sums_to_poly(res: *mut fmpz_poly_struct, Q: *mut fmpz_poly_struct);
}
extern "C" {
pub fn _fmpz_poly_signature(
r1: *mut mp_limb_signed_t,
r2: *mut mp_limb_signed_t,
poly: *const fmpz,
len: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_signature(
r1: *mut mp_limb_signed_t,
r2: *mut mp_limb_signed_t,
poly: *mut fmpz_poly_struct,
);
}
extern "C" {
pub fn _fmpz_poly_fprint(
file: *mut FILE,
poly: *const fmpz,
len: mp_limb_signed_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_poly_fprint(file: *mut FILE, poly: *mut fmpz_poly_struct) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fmpz_poly_fprint_pretty(
file: *mut FILE,
poly: *const fmpz,
len: mp_limb_signed_t,
x: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_poly_fprint_pretty(
file: *mut FILE,
poly: *mut fmpz_poly_struct,
x: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_poly_fread(file: *mut FILE, poly: *mut fmpz_poly_struct) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_poly_fread_pretty(
file: *mut FILE,
poly: *mut fmpz_poly_struct,
x: *mut *mut ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_poly_get_nmod_poly(res: *mut nmod_poly_struct, poly: *mut fmpz_poly_struct);
}
extern "C" {
pub fn fmpz_poly_set_nmod_poly(res: *mut fmpz_poly_struct, poly: *mut nmod_poly_struct);
}
extern "C" {
pub fn fmpz_poly_set_nmod_poly_unsigned(
res: *mut fmpz_poly_struct,
poly: *mut nmod_poly_struct,
);
}
extern "C" {
pub fn _fmpz_poly_CRT_ui_precomp(
res: *mut fmpz,
poly1: *const fmpz,
len1: mp_limb_signed_t,
m1: *mut fmpz,
poly2: mp_srcptr,
len2: mp_limb_signed_t,
m2: mp_limb_t,
m2inv: mp_limb_t,
m1m2: *mut fmpz,
c: mp_limb_t,
sign: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn _fmpz_poly_CRT_ui(
res: *mut fmpz,
poly1: *const fmpz,
len1: mp_limb_signed_t,
m1: *mut fmpz,
poly2: mp_srcptr,
len2: mp_limb_signed_t,
m2: mp_limb_t,
m2inv: mp_limb_t,
sign: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn fmpz_poly_CRT_ui(
res: *mut fmpz_poly_struct,
poly1: *mut fmpz_poly_struct,
m1: *mut fmpz,
poly2: *mut nmod_poly_struct,
sign: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn _fmpz_poly_product_roots_fmpz_vec(poly: *mut fmpz, xs: *const fmpz, n: mp_limb_signed_t);
}
extern "C" {
pub fn fmpz_poly_product_roots_fmpz_vec(
poly: *mut fmpz_poly_struct,
xs: *const fmpz,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_poly_product_roots_fmpq_vec(poly: *mut fmpz, xs: *const fmpq, n: mp_limb_signed_t);
}
extern "C" {
pub fn fmpz_poly_product_roots_fmpq_vec(
poly: *mut fmpz_poly_struct,
xs: *const fmpq,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_poly_monomial_to_newton(poly: *mut fmpz, roots: *const fmpz, n: mp_limb_signed_t);
}
extern "C" {
pub fn _fmpz_poly_newton_to_monomial(poly: *mut fmpz, roots: *const fmpz, n: mp_limb_signed_t);
}
extern "C" {
pub fn fmpz_poly_evaluate_fmpz_vec(
res: *mut fmpz,
f: *mut fmpz_poly_struct,
a: *const fmpz,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_interpolate_fmpz_vec(
poly: *mut fmpz_poly_struct,
xs: *const fmpz,
ys: *const fmpz,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_hensel_build_tree(
link: *mut mp_limb_signed_t,
v: *mut fmpz_poly_t,
w: *mut fmpz_poly_t,
fac: *mut nmod_poly_factor_struct,
);
}
extern "C" {
pub fn fmpz_poly_hensel_lift(
Gout: *mut fmpz_poly_struct,
Hout: *mut fmpz_poly_struct,
Aout: *mut fmpz_poly_struct,
Bout: *mut fmpz_poly_struct,
f: *mut fmpz_poly_struct,
g: *mut fmpz_poly_struct,
h: *mut fmpz_poly_struct,
a: *mut fmpz_poly_struct,
b: *mut fmpz_poly_struct,
p: *mut fmpz,
p1: *mut fmpz,
);
}
extern "C" {
pub fn _fmpz_poly_hensel_lift_without_inverse(
G: *mut fmpz,
H: *mut fmpz,
f: *const fmpz,
lenF: mp_limb_signed_t,
g: *const fmpz,
lenG: mp_limb_signed_t,
h: *const fmpz,
lenH: mp_limb_signed_t,
a: *const fmpz,
lenA: mp_limb_signed_t,
b: *const fmpz,
lenB: mp_limb_signed_t,
p: *mut fmpz,
p1: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_poly_hensel_lift_without_inverse(
Gout: *mut fmpz_poly_struct,
Hout: *mut fmpz_poly_struct,
f: *mut fmpz_poly_struct,
g: *mut fmpz_poly_struct,
h: *mut fmpz_poly_struct,
a: *mut fmpz_poly_struct,
b: *mut fmpz_poly_struct,
p: *mut fmpz,
p1: *mut fmpz,
);
}
extern "C" {
pub fn _fmpz_poly_hensel_lift_only_inverse(
A: *mut fmpz,
B: *mut fmpz,
G: *const fmpz,
lenG: mp_limb_signed_t,
H: *const fmpz,
lenH: mp_limb_signed_t,
a: *const fmpz,
lenA: mp_limb_signed_t,
b: *const fmpz,
lenB: mp_limb_signed_t,
p: *mut fmpz,
p1: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_poly_hensel_lift_only_inverse(
Aout: *mut fmpz_poly_struct,
Bout: *mut fmpz_poly_struct,
G: *mut fmpz_poly_struct,
H: *mut fmpz_poly_struct,
a: *mut fmpz_poly_struct,
b: *mut fmpz_poly_struct,
p: *mut fmpz,
p1: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_poly_hensel_lift_tree_recursive(
link: *mut mp_limb_signed_t,
v: *mut fmpz_poly_t,
w: *mut fmpz_poly_t,
f: *mut fmpz_poly_struct,
j: mp_limb_signed_t,
inv: mp_limb_signed_t,
p0: *mut fmpz,
p1: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_poly_hensel_lift_tree(
link: *mut mp_limb_signed_t,
v: *mut fmpz_poly_t,
w: *mut fmpz_poly_t,
f: *mut fmpz_poly_struct,
r: mp_limb_signed_t,
p: *mut fmpz,
e0: mp_limb_signed_t,
e1: mp_limb_signed_t,
inv: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_poly_hensel_start_lift(
lifted_fac: *mut fmpz_poly_factor_struct,
link: *mut mp_limb_signed_t,
v: *mut fmpz_poly_t,
w: *mut fmpz_poly_t,
f: *mut fmpz_poly_struct,
local_fac: *mut nmod_poly_factor_struct,
target_exp: mp_limb_signed_t,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn _fmpz_poly_hensel_continue_lift(
lifted_fac: *mut fmpz_poly_factor_struct,
link: *mut mp_limb_signed_t,
v: *mut fmpz_poly_t,
w: *mut fmpz_poly_t,
f: *mut fmpz_poly_struct,
prev: mp_limb_signed_t,
curr: mp_limb_signed_t,
N: mp_limb_signed_t,
p: *mut fmpz,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn fmpz_poly_hensel_lift_once(
lifted_fac: *mut fmpz_poly_factor_struct,
f: *mut fmpz_poly_struct,
local_fac: *mut nmod_poly_factor_struct,
N: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_poly_bound_roots(bound: *mut fmpz, poly: *const fmpz, len: mp_limb_signed_t);
}
extern "C" {
pub fn fmpz_poly_bound_roots(bound: *mut fmpz, poly: *mut fmpz_poly_struct);
}
extern "C" {
pub fn _fmpz_poly_num_real_roots_sturm(
n_neg: *mut mp_limb_signed_t,
n_pos: *mut mp_limb_signed_t,
pol: *const fmpz,
len: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_num_real_roots_sturm(poly: *mut fmpz_poly_struct) -> mp_limb_signed_t;
}
extern "C" {
pub fn _fmpz_poly_num_real_roots(pol: *const fmpz, len: mp_limb_signed_t) -> mp_limb_signed_t;
}
extern "C" {
pub fn fmpz_poly_num_real_roots(poly: *mut fmpz_poly_struct) -> mp_limb_signed_t;
}
extern "C" {
pub fn fmpz_poly_CLD_bound(res: *mut fmpz, f: *mut fmpz_poly_struct, n: mp_limb_signed_t);
}
extern "C" {
pub fn _fmpz_poly_cyclotomic(
a: *mut fmpz,
n: mp_limb_t,
factors: mp_ptr,
num_factors: mp_limb_signed_t,
phi: mp_limb_t,
);
}
extern "C" {
pub fn fmpz_poly_cyclotomic(poly: *mut fmpz_poly_struct, n: mp_limb_t);
}
extern "C" {
pub fn _fmpz_poly_is_cyclotomic(poly: *const fmpz, len: mp_limb_signed_t) -> mp_limb_t;
}
extern "C" {
pub fn fmpz_poly_is_cyclotomic(poly: *mut fmpz_poly_struct) -> mp_limb_t;
}
extern "C" {
pub fn _fmpz_poly_cos_minpoly(f: *mut fmpz, n: mp_limb_t);
}
extern "C" {
pub fn fmpz_poly_cos_minpoly(f: *mut fmpz_poly_struct, n: mp_limb_t);
}
extern "C" {
pub fn _fmpz_poly_swinnerton_dyer(T: *mut fmpz, n: mp_limb_t);
}
extern "C" {
pub fn fmpz_poly_swinnerton_dyer(poly: *mut fmpz_poly_struct, n: mp_limb_t);
}
extern "C" {
pub fn _fmpz_poly_chebyshev_t(coeffs: *mut fmpz, n: mp_limb_t);
}
extern "C" {
pub fn fmpz_poly_chebyshev_t(poly: *mut fmpz_poly_struct, n: mp_limb_t);
}
extern "C" {
pub fn _fmpz_poly_chebyshev_u(coeffs: *mut fmpz, n: mp_limb_t);
}
extern "C" {
pub fn fmpz_poly_chebyshev_u(poly: *mut fmpz_poly_struct, n: mp_limb_t);
}
extern "C" {
pub fn _fmpz_poly_legendre_pt(coeffs: *mut fmpz, n: mp_limb_t);
}
extern "C" {
pub fn fmpz_poly_legendre_pt(poly: *mut fmpz_poly_struct, n: mp_limb_t);
}
extern "C" {
pub fn _fmpz_poly_hermite_h(coeffs: *mut fmpz, n: mp_limb_t);
}
extern "C" {
pub fn fmpz_poly_hermite_h(poly: *mut fmpz_poly_struct, n: mp_limb_t);
}
extern "C" {
pub fn _fmpz_poly_hermite_he(coeffs: *mut fmpz, n: mp_limb_t);
}
extern "C" {
pub fn fmpz_poly_hermite_he(poly: *mut fmpz_poly_struct, n: mp_limb_t);
}
extern "C" {
pub fn _fmpz_poly_fibonacci(coeffs: *mut fmpz, n: mp_limb_t);
}
extern "C" {
pub fn fmpz_poly_fibonacci(poly: *mut fmpz_poly_struct, n: mp_limb_t);
}
extern "C" {
pub fn _fmpz_poly_eta_qexp(f: *mut fmpz, e: mp_limb_signed_t, n: mp_limb_signed_t);
}
extern "C" {
pub fn fmpz_poly_eta_qexp(f: *mut fmpz_poly_struct, e: mp_limb_signed_t, n: mp_limb_signed_t);
}
extern "C" {
pub fn _fmpz_poly_theta_qexp(f: *mut fmpz, e: mp_limb_signed_t, n: mp_limb_signed_t);
}
extern "C" {
pub fn fmpz_poly_theta_qexp(f: *mut fmpz_poly_struct, e: mp_limb_signed_t, n: mp_limb_signed_t);
}
extern "C" {
pub fn fmpz_poly_add_si(
res: *mut fmpz_poly_struct,
poly: *mut fmpz_poly_struct,
c: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_sub_si(
res: *mut fmpz_poly_struct,
poly: *mut fmpz_poly_struct,
c: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_si_sub(
res: *mut fmpz_poly_struct,
c: mp_limb_signed_t,
poly: *mut fmpz_poly_struct,
);
}
extern "C" {
pub fn fmpz_poly_add_fmpz(
res: *mut fmpz_poly_struct,
poly: *mut fmpz_poly_struct,
c: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_poly_sub_fmpz(
res: *mut fmpz_poly_struct,
poly: *mut fmpz_poly_struct,
c: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_poly_fmpz_sub(
res: *mut fmpz_poly_struct,
c: *mut fmpz,
poly: *mut fmpz_poly_struct,
);
}
pub type float_t = f32;
pub type double_t = f64;
extern "C" {
pub fn __fpclassify(__value: f64) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __signbit(__value: f64) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __isinf(__value: f64) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __finite(__value: f64) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __isnan(__value: f64) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __iseqsig(__x: f64, __y: f64) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __issignaling(__value: f64) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn acos(__x: f64) -> f64;
}
extern "C" {
pub fn __acos(__x: f64) -> f64;
}
extern "C" {
pub fn asin(__x: f64) -> f64;
}
extern "C" {
pub fn __asin(__x: f64) -> f64;
}
extern "C" {
pub fn atan(__x: f64) -> f64;
}
extern "C" {
pub fn __atan(__x: f64) -> f64;
}
extern "C" {
pub fn atan2(__y: f64, __x: f64) -> f64;
}
extern "C" {
pub fn __atan2(__y: f64, __x: f64) -> f64;
}
extern "C" {
pub fn cos(__x: f64) -> f64;
}
extern "C" {
pub fn __cos(__x: f64) -> f64;
}
extern "C" {
pub fn sin(__x: f64) -> f64;
}
extern "C" {
pub fn __sin(__x: f64) -> f64;
}
extern "C" {
pub fn tan(__x: f64) -> f64;
}
extern "C" {
pub fn __tan(__x: f64) -> f64;
}
extern "C" {
pub fn cosh(__x: f64) -> f64;
}
extern "C" {
pub fn __cosh(__x: f64) -> f64;
}
extern "C" {
pub fn sinh(__x: f64) -> f64;
}
extern "C" {
pub fn __sinh(__x: f64) -> f64;
}
extern "C" {
pub fn tanh(__x: f64) -> f64;
}
extern "C" {
pub fn __tanh(__x: f64) -> f64;
}
extern "C" {
pub fn acosh(__x: f64) -> f64;
}
extern "C" {
pub fn __acosh(__x: f64) -> f64;
}
extern "C" {
pub fn asinh(__x: f64) -> f64;
}
extern "C" {
pub fn __asinh(__x: f64) -> f64;
}
extern "C" {
pub fn atanh(__x: f64) -> f64;
}
extern "C" {
pub fn __atanh(__x: f64) -> f64;
}
extern "C" {
pub fn exp(__x: f64) -> f64;
}
extern "C" {
pub fn __exp(__x: f64) -> f64;
}
extern "C" {
pub fn frexp(__x: f64, __exponent: *mut ::std::os::raw::c_int) -> f64;
}
extern "C" {
pub fn __frexp(__x: f64, __exponent: *mut ::std::os::raw::c_int) -> f64;
}
extern "C" {
pub fn ldexp(__x: f64, __exponent: ::std::os::raw::c_int) -> f64;
}
extern "C" {
pub fn __ldexp(__x: f64, __exponent: ::std::os::raw::c_int) -> f64;
}
extern "C" {
pub fn log(__x: f64) -> f64;
}
extern "C" {
pub fn __log(__x: f64) -> f64;
}
extern "C" {
pub fn log10(__x: f64) -> f64;
}
extern "C" {
pub fn __log10(__x: f64) -> f64;
}
extern "C" {
pub fn modf(__x: f64, __iptr: *mut f64) -> f64;
}
extern "C" {
pub fn __modf(__x: f64, __iptr: *mut f64) -> f64;
}
extern "C" {
pub fn expm1(__x: f64) -> f64;
}
extern "C" {
pub fn __expm1(__x: f64) -> f64;
}
extern "C" {
pub fn log1p(__x: f64) -> f64;
}
extern "C" {
pub fn __log1p(__x: f64) -> f64;
}
extern "C" {
pub fn logb(__x: f64) -> f64;
}
extern "C" {
pub fn __logb(__x: f64) -> f64;
}
extern "C" {
pub fn exp2(__x: f64) -> f64;
}
extern "C" {
pub fn __exp2(__x: f64) -> f64;
}
extern "C" {
pub fn log2(__x: f64) -> f64;
}
extern "C" {
pub fn __log2(__x: f64) -> f64;
}
extern "C" {
pub fn pow(__x: f64, __y: f64) -> f64;
}
extern "C" {
pub fn __pow(__x: f64, __y: f64) -> f64;
}
extern "C" {
pub fn sqrt(__x: f64) -> f64;
}
extern "C" {
pub fn __sqrt(__x: f64) -> f64;
}
extern "C" {
pub fn hypot(__x: f64, __y: f64) -> f64;
}
extern "C" {
pub fn __hypot(__x: f64, __y: f64) -> f64;
}
extern "C" {
pub fn cbrt(__x: f64) -> f64;
}
extern "C" {
pub fn __cbrt(__x: f64) -> f64;
}
extern "C" {
pub fn ceil(__x: f64) -> f64;
}
extern "C" {
pub fn __ceil(__x: f64) -> f64;
}
extern "C" {
pub fn fabs(__x: f64) -> f64;
}
extern "C" {
pub fn __fabs(__x: f64) -> f64;
}
extern "C" {
pub fn floor(__x: f64) -> f64;
}
extern "C" {
pub fn __floor(__x: f64) -> f64;
}
extern "C" {
pub fn fmod(__x: f64, __y: f64) -> f64;
}
extern "C" {
pub fn __fmod(__x: f64, __y: f64) -> f64;
}
extern "C" {
pub fn isinf(__value: f64) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn finite(__value: f64) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn drem(__x: f64, __y: f64) -> f64;
}
extern "C" {
pub fn __drem(__x: f64, __y: f64) -> f64;
}
extern "C" {
pub fn significand(__x: f64) -> f64;
}
extern "C" {
pub fn __significand(__x: f64) -> f64;
}
extern "C" {
pub fn copysign(__x: f64, __y: f64) -> f64;
}
extern "C" {
pub fn __copysign(__x: f64, __y: f64) -> f64;
}
extern "C" {
pub fn nan(__tagb: *const ::std::os::raw::c_char) -> f64;
}
extern "C" {
pub fn __nan(__tagb: *const ::std::os::raw::c_char) -> f64;
}
extern "C" {
pub fn isnan(__value: f64) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn j0(arg1: f64) -> f64;
}
extern "C" {
pub fn __j0(arg1: f64) -> f64;
}
extern "C" {
pub fn j1(arg1: f64) -> f64;
}
extern "C" {
pub fn __j1(arg1: f64) -> f64;
}
extern "C" {
pub fn jn(arg1: ::std::os::raw::c_int, arg2: f64) -> f64;
}
extern "C" {
pub fn __jn(arg1: ::std::os::raw::c_int, arg2: f64) -> f64;
}
extern "C" {
pub fn y0(arg1: f64) -> f64;
}
extern "C" {
pub fn __y0(arg1: f64) -> f64;
}
extern "C" {
pub fn y1(arg1: f64) -> f64;
}
extern "C" {
pub fn __y1(arg1: f64) -> f64;
}
extern "C" {
pub fn yn(arg1: ::std::os::raw::c_int, arg2: f64) -> f64;
}
extern "C" {
pub fn __yn(arg1: ::std::os::raw::c_int, arg2: f64) -> f64;
}
extern "C" {
pub fn erf(arg1: f64) -> f64;
}
extern "C" {
pub fn __erf(arg1: f64) -> f64;
}
extern "C" {
pub fn erfc(arg1: f64) -> f64;
}
extern "C" {
pub fn __erfc(arg1: f64) -> f64;
}
extern "C" {
pub fn lgamma(arg1: f64) -> f64;
}
extern "C" {
pub fn __lgamma(arg1: f64) -> f64;
}
extern "C" {
pub fn tgamma(arg1: f64) -> f64;
}
extern "C" {
pub fn __tgamma(arg1: f64) -> f64;
}
extern "C" {
pub fn gamma(arg1: f64) -> f64;
}
extern "C" {
pub fn __gamma(arg1: f64) -> f64;
}
extern "C" {
pub fn lgamma_r(arg1: f64, __signgamp: *mut ::std::os::raw::c_int) -> f64;
}
extern "C" {
pub fn __lgamma_r(arg1: f64, __signgamp: *mut ::std::os::raw::c_int) -> f64;
}
extern "C" {
pub fn rint(__x: f64) -> f64;
}
extern "C" {
pub fn __rint(__x: f64) -> f64;
}
extern "C" {
pub fn nextafter(__x: f64, __y: f64) -> f64;
}
extern "C" {
pub fn __nextafter(__x: f64, __y: f64) -> f64;
}
extern "C" {
pub fn nexttoward(__x: f64, __y: u128) -> f64;
}
extern "C" {
pub fn __nexttoward(__x: f64, __y: u128) -> f64;
}
extern "C" {
pub fn remainder(__x: f64, __y: f64) -> f64;
}
extern "C" {
pub fn __remainder(__x: f64, __y: f64) -> f64;
}
extern "C" {
pub fn scalbn(__x: f64, __n: ::std::os::raw::c_int) -> f64;
}
extern "C" {
pub fn __scalbn(__x: f64, __n: ::std::os::raw::c_int) -> f64;
}
extern "C" {
pub fn ilogb(__x: f64) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __ilogb(__x: f64) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn scalbln(__x: f64, __n: ::std::os::raw::c_long) -> f64;
}
extern "C" {
pub fn __scalbln(__x: f64, __n: ::std::os::raw::c_long) -> f64;
}
extern "C" {
pub fn nearbyint(__x: f64) -> f64;
}
extern "C" {
pub fn __nearbyint(__x: f64) -> f64;
}
extern "C" {
pub fn round(__x: f64) -> f64;
}
extern "C" {
pub fn __round(__x: f64) -> f64;
}
extern "C" {
pub fn trunc(__x: f64) -> f64;
}
extern "C" {
pub fn __trunc(__x: f64) -> f64;
}
extern "C" {
pub fn remquo(__x: f64, __y: f64, __quo: *mut ::std::os::raw::c_int) -> f64;
}
extern "C" {
pub fn __remquo(__x: f64, __y: f64, __quo: *mut ::std::os::raw::c_int) -> f64;
}
extern "C" {
pub fn lrint(__x: f64) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn __lrint(__x: f64) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn llrint(__x: f64) -> ::std::os::raw::c_longlong;
}
extern "C" {
pub fn __llrint(__x: f64) -> ::std::os::raw::c_longlong;
}
extern "C" {
pub fn lround(__x: f64) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn __lround(__x: f64) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn llround(__x: f64) -> ::std::os::raw::c_longlong;
}
extern "C" {
pub fn __llround(__x: f64) -> ::std::os::raw::c_longlong;
}
extern "C" {
pub fn fdim(__x: f64, __y: f64) -> f64;
}
extern "C" {
pub fn __fdim(__x: f64, __y: f64) -> f64;
}
extern "C" {
pub fn fmax(__x: f64, __y: f64) -> f64;
}
extern "C" {
pub fn __fmax(__x: f64, __y: f64) -> f64;
}
extern "C" {
pub fn fmin(__x: f64, __y: f64) -> f64;
}
extern "C" {
pub fn __fmin(__x: f64, __y: f64) -> f64;
}
extern "C" {
pub fn fma(__x: f64, __y: f64, __z: f64) -> f64;
}
extern "C" {
pub fn __fma(__x: f64, __y: f64, __z: f64) -> f64;
}
extern "C" {
pub fn scalb(__x: f64, __n: f64) -> f64;
}
extern "C" {
pub fn __scalb(__x: f64, __n: f64) -> f64;
}
extern "C" {
pub fn __fpclassifyf(__value: f32) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __signbitf(__value: f32) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __isinff(__value: f32) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __finitef(__value: f32) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __isnanf(__value: f32) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __iseqsigf(__x: f32, __y: f32) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __issignalingf(__value: f32) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn acosf(__x: f32) -> f32;
}
extern "C" {
pub fn __acosf(__x: f32) -> f32;
}
extern "C" {
pub fn asinf(__x: f32) -> f32;
}
extern "C" {
pub fn __asinf(__x: f32) -> f32;
}
extern "C" {
pub fn atanf(__x: f32) -> f32;
}
extern "C" {
pub fn __atanf(__x: f32) -> f32;
}
extern "C" {
pub fn atan2f(__y: f32, __x: f32) -> f32;
}
extern "C" {
pub fn __atan2f(__y: f32, __x: f32) -> f32;
}
extern "C" {
pub fn cosf(__x: f32) -> f32;
}
extern "C" {
pub fn __cosf(__x: f32) -> f32;
}
extern "C" {
pub fn sinf(__x: f32) -> f32;
}
extern "C" {
pub fn __sinf(__x: f32) -> f32;
}
extern "C" {
pub fn tanf(__x: f32) -> f32;
}
extern "C" {
pub fn __tanf(__x: f32) -> f32;
}
extern "C" {
pub fn coshf(__x: f32) -> f32;
}
extern "C" {
pub fn __coshf(__x: f32) -> f32;
}
extern "C" {
pub fn sinhf(__x: f32) -> f32;
}
extern "C" {
pub fn __sinhf(__x: f32) -> f32;
}
extern "C" {
pub fn tanhf(__x: f32) -> f32;
}
extern "C" {
pub fn __tanhf(__x: f32) -> f32;
}
extern "C" {
pub fn acoshf(__x: f32) -> f32;
}
extern "C" {
pub fn __acoshf(__x: f32) -> f32;
}
extern "C" {
pub fn asinhf(__x: f32) -> f32;
}
extern "C" {
pub fn __asinhf(__x: f32) -> f32;
}
extern "C" {
pub fn atanhf(__x: f32) -> f32;
}
extern "C" {
pub fn __atanhf(__x: f32) -> f32;
}
extern "C" {
pub fn expf(__x: f32) -> f32;
}
extern "C" {
pub fn __expf(__x: f32) -> f32;
}
extern "C" {
pub fn frexpf(__x: f32, __exponent: *mut ::std::os::raw::c_int) -> f32;
}
extern "C" {
pub fn __frexpf(__x: f32, __exponent: *mut ::std::os::raw::c_int) -> f32;
}
extern "C" {
pub fn ldexpf(__x: f32, __exponent: ::std::os::raw::c_int) -> f32;
}
extern "C" {
pub fn __ldexpf(__x: f32, __exponent: ::std::os::raw::c_int) -> f32;
}
extern "C" {
pub fn logf(__x: f32) -> f32;
}
extern "C" {
pub fn __logf(__x: f32) -> f32;
}
extern "C" {
pub fn log10f(__x: f32) -> f32;
}
extern "C" {
pub fn __log10f(__x: f32) -> f32;
}
extern "C" {
pub fn modff(__x: f32, __iptr: *mut f32) -> f32;
}
extern "C" {
pub fn __modff(__x: f32, __iptr: *mut f32) -> f32;
}
extern "C" {
pub fn expm1f(__x: f32) -> f32;
}
extern "C" {
pub fn __expm1f(__x: f32) -> f32;
}
extern "C" {
pub fn log1pf(__x: f32) -> f32;
}
extern "C" {
pub fn __log1pf(__x: f32) -> f32;
}
extern "C" {
pub fn logbf(__x: f32) -> f32;
}
extern "C" {
pub fn __logbf(__x: f32) -> f32;
}
extern "C" {
pub fn exp2f(__x: f32) -> f32;
}
extern "C" {
pub fn __exp2f(__x: f32) -> f32;
}
extern "C" {
pub fn log2f(__x: f32) -> f32;
}
extern "C" {
pub fn __log2f(__x: f32) -> f32;
}
extern "C" {
pub fn powf(__x: f32, __y: f32) -> f32;
}
extern "C" {
pub fn __powf(__x: f32, __y: f32) -> f32;
}
extern "C" {
pub fn sqrtf(__x: f32) -> f32;
}
extern "C" {
pub fn __sqrtf(__x: f32) -> f32;
}
extern "C" {
pub fn hypotf(__x: f32, __y: f32) -> f32;
}
extern "C" {
pub fn __hypotf(__x: f32, __y: f32) -> f32;
}
extern "C" {
pub fn cbrtf(__x: f32) -> f32;
}
extern "C" {
pub fn __cbrtf(__x: f32) -> f32;
}
extern "C" {
pub fn ceilf(__x: f32) -> f32;
}
extern "C" {
pub fn __ceilf(__x: f32) -> f32;
}
extern "C" {
pub fn fabsf(__x: f32) -> f32;
}
extern "C" {
pub fn __fabsf(__x: f32) -> f32;
}
extern "C" {
pub fn floorf(__x: f32) -> f32;
}
extern "C" {
pub fn __floorf(__x: f32) -> f32;
}
extern "C" {
pub fn fmodf(__x: f32, __y: f32) -> f32;
}
extern "C" {
pub fn __fmodf(__x: f32, __y: f32) -> f32;
}
extern "C" {
pub fn isinff(__value: f32) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn finitef(__value: f32) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn dremf(__x: f32, __y: f32) -> f32;
}
extern "C" {
pub fn __dremf(__x: f32, __y: f32) -> f32;
}
extern "C" {
pub fn significandf(__x: f32) -> f32;
}
extern "C" {
pub fn __significandf(__x: f32) -> f32;
}
extern "C" {
pub fn copysignf(__x: f32, __y: f32) -> f32;
}
extern "C" {
pub fn __copysignf(__x: f32, __y: f32) -> f32;
}
extern "C" {
pub fn nanf(__tagb: *const ::std::os::raw::c_char) -> f32;
}
extern "C" {
pub fn __nanf(__tagb: *const ::std::os::raw::c_char) -> f32;
}
extern "C" {
pub fn isnanf(__value: f32) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn j0f(arg1: f32) -> f32;
}
extern "C" {
pub fn __j0f(arg1: f32) -> f32;
}
extern "C" {
pub fn j1f(arg1: f32) -> f32;
}
extern "C" {
pub fn __j1f(arg1: f32) -> f32;
}
extern "C" {
pub fn jnf(arg1: ::std::os::raw::c_int, arg2: f32) -> f32;
}
extern "C" {
pub fn __jnf(arg1: ::std::os::raw::c_int, arg2: f32) -> f32;
}
extern "C" {
pub fn y0f(arg1: f32) -> f32;
}
extern "C" {
pub fn __y0f(arg1: f32) -> f32;
}
extern "C" {
pub fn y1f(arg1: f32) -> f32;
}
extern "C" {
pub fn __y1f(arg1: f32) -> f32;
}
extern "C" {
pub fn ynf(arg1: ::std::os::raw::c_int, arg2: f32) -> f32;
}
extern "C" {
pub fn __ynf(arg1: ::std::os::raw::c_int, arg2: f32) -> f32;
}
extern "C" {
pub fn erff(arg1: f32) -> f32;
}
extern "C" {
pub fn __erff(arg1: f32) -> f32;
}
extern "C" {
pub fn erfcf(arg1: f32) -> f32;
}
extern "C" {
pub fn __erfcf(arg1: f32) -> f32;
}
extern "C" {
pub fn lgammaf(arg1: f32) -> f32;
}
extern "C" {
pub fn __lgammaf(arg1: f32) -> f32;
}
extern "C" {
pub fn tgammaf(arg1: f32) -> f32;
}
extern "C" {
pub fn __tgammaf(arg1: f32) -> f32;
}
extern "C" {
pub fn gammaf(arg1: f32) -> f32;
}
extern "C" {
pub fn __gammaf(arg1: f32) -> f32;
}
extern "C" {
pub fn lgammaf_r(arg1: f32, __signgamp: *mut ::std::os::raw::c_int) -> f32;
}
extern "C" {
pub fn __lgammaf_r(arg1: f32, __signgamp: *mut ::std::os::raw::c_int) -> f32;
}
extern "C" {
pub fn rintf(__x: f32) -> f32;
}
extern "C" {
pub fn __rintf(__x: f32) -> f32;
}
extern "C" {
pub fn nextafterf(__x: f32, __y: f32) -> f32;
}
extern "C" {
pub fn __nextafterf(__x: f32, __y: f32) -> f32;
}
extern "C" {
pub fn nexttowardf(__x: f32, __y: u128) -> f32;
}
extern "C" {
pub fn __nexttowardf(__x: f32, __y: u128) -> f32;
}
extern "C" {
pub fn remainderf(__x: f32, __y: f32) -> f32;
}
extern "C" {
pub fn __remainderf(__x: f32, __y: f32) -> f32;
}
extern "C" {
pub fn scalbnf(__x: f32, __n: ::std::os::raw::c_int) -> f32;
}
extern "C" {
pub fn __scalbnf(__x: f32, __n: ::std::os::raw::c_int) -> f32;
}
extern "C" {
pub fn ilogbf(__x: f32) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __ilogbf(__x: f32) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn scalblnf(__x: f32, __n: ::std::os::raw::c_long) -> f32;
}
extern "C" {
pub fn __scalblnf(__x: f32, __n: ::std::os::raw::c_long) -> f32;
}
extern "C" {
pub fn nearbyintf(__x: f32) -> f32;
}
extern "C" {
pub fn __nearbyintf(__x: f32) -> f32;
}
extern "C" {
pub fn roundf(__x: f32) -> f32;
}
extern "C" {
pub fn __roundf(__x: f32) -> f32;
}
extern "C" {
pub fn truncf(__x: f32) -> f32;
}
extern "C" {
pub fn __truncf(__x: f32) -> f32;
}
extern "C" {
pub fn remquof(__x: f32, __y: f32, __quo: *mut ::std::os::raw::c_int) -> f32;
}
extern "C" {
pub fn __remquof(__x: f32, __y: f32, __quo: *mut ::std::os::raw::c_int) -> f32;
}
extern "C" {
pub fn lrintf(__x: f32) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn __lrintf(__x: f32) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn llrintf(__x: f32) -> ::std::os::raw::c_longlong;
}
extern "C" {
pub fn __llrintf(__x: f32) -> ::std::os::raw::c_longlong;
}
extern "C" {
pub fn lroundf(__x: f32) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn __lroundf(__x: f32) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn llroundf(__x: f32) -> ::std::os::raw::c_longlong;
}
extern "C" {
pub fn __llroundf(__x: f32) -> ::std::os::raw::c_longlong;
}
extern "C" {
pub fn fdimf(__x: f32, __y: f32) -> f32;
}
extern "C" {
pub fn __fdimf(__x: f32, __y: f32) -> f32;
}
extern "C" {
pub fn fmaxf(__x: f32, __y: f32) -> f32;
}
extern "C" {
pub fn __fmaxf(__x: f32, __y: f32) -> f32;
}
extern "C" {
pub fn fminf(__x: f32, __y: f32) -> f32;
}
extern "C" {
pub fn __fminf(__x: f32, __y: f32) -> f32;
}
extern "C" {
pub fn fmaf(__x: f32, __y: f32, __z: f32) -> f32;
}
extern "C" {
pub fn __fmaf(__x: f32, __y: f32, __z: f32) -> f32;
}
extern "C" {
pub fn scalbf(__x: f32, __n: f32) -> f32;
}
extern "C" {
pub fn __scalbf(__x: f32, __n: f32) -> f32;
}
extern "C" {
pub fn __fpclassifyl(__value: u128) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __signbitl(__value: u128) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __isinfl(__value: u128) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __finitel(__value: u128) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __isnanl(__value: u128) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __iseqsigl(__x: u128, __y: u128) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __issignalingl(__value: u128) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn acosl(__x: u128) -> u128;
}
extern "C" {
pub fn __acosl(__x: u128) -> u128;
}
extern "C" {
pub fn asinl(__x: u128) -> u128;
}
extern "C" {
pub fn __asinl(__x: u128) -> u128;
}
extern "C" {
pub fn atanl(__x: u128) -> u128;
}
extern "C" {
pub fn __atanl(__x: u128) -> u128;
}
extern "C" {
pub fn atan2l(__y: u128, __x: u128) -> u128;
}
extern "C" {
pub fn __atan2l(__y: u128, __x: u128) -> u128;
}
extern "C" {
pub fn cosl(__x: u128) -> u128;
}
extern "C" {
pub fn __cosl(__x: u128) -> u128;
}
extern "C" {
pub fn sinl(__x: u128) -> u128;
}
extern "C" {
pub fn __sinl(__x: u128) -> u128;
}
extern "C" {
pub fn tanl(__x: u128) -> u128;
}
extern "C" {
pub fn __tanl(__x: u128) -> u128;
}
extern "C" {
pub fn coshl(__x: u128) -> u128;
}
extern "C" {
pub fn __coshl(__x: u128) -> u128;
}
extern "C" {
pub fn sinhl(__x: u128) -> u128;
}
extern "C" {
pub fn __sinhl(__x: u128) -> u128;
}
extern "C" {
pub fn tanhl(__x: u128) -> u128;
}
extern "C" {
pub fn __tanhl(__x: u128) -> u128;
}
extern "C" {
pub fn acoshl(__x: u128) -> u128;
}
extern "C" {
pub fn __acoshl(__x: u128) -> u128;
}
extern "C" {
pub fn asinhl(__x: u128) -> u128;
}
extern "C" {
pub fn __asinhl(__x: u128) -> u128;
}
extern "C" {
pub fn atanhl(__x: u128) -> u128;
}
extern "C" {
pub fn __atanhl(__x: u128) -> u128;
}
extern "C" {
pub fn expl(__x: u128) -> u128;
}
extern "C" {
pub fn __expl(__x: u128) -> u128;
}
extern "C" {
pub fn frexpl(__x: u128, __exponent: *mut ::std::os::raw::c_int) -> u128;
}
extern "C" {
pub fn __frexpl(__x: u128, __exponent: *mut ::std::os::raw::c_int) -> u128;
}
extern "C" {
pub fn ldexpl(__x: u128, __exponent: ::std::os::raw::c_int) -> u128;
}
extern "C" {
pub fn __ldexpl(__x: u128, __exponent: ::std::os::raw::c_int) -> u128;
}
extern "C" {
pub fn logl(__x: u128) -> u128;
}
extern "C" {
pub fn __logl(__x: u128) -> u128;
}
extern "C" {
pub fn log10l(__x: u128) -> u128;
}
extern "C" {
pub fn __log10l(__x: u128) -> u128;
}
extern "C" {
pub fn modfl(__x: u128, __iptr: *mut u128) -> u128;
}
extern "C" {
pub fn __modfl(__x: u128, __iptr: *mut u128) -> u128;
}
extern "C" {
pub fn expm1l(__x: u128) -> u128;
}
extern "C" {
pub fn __expm1l(__x: u128) -> u128;
}
extern "C" {
pub fn log1pl(__x: u128) -> u128;
}
extern "C" {
pub fn __log1pl(__x: u128) -> u128;
}
extern "C" {
pub fn logbl(__x: u128) -> u128;
}
extern "C" {
pub fn __logbl(__x: u128) -> u128;
}
extern "C" {
pub fn exp2l(__x: u128) -> u128;
}
extern "C" {
pub fn __exp2l(__x: u128) -> u128;
}
extern "C" {
pub fn log2l(__x: u128) -> u128;
}
extern "C" {
pub fn __log2l(__x: u128) -> u128;
}
extern "C" {
pub fn powl(__x: u128, __y: u128) -> u128;
}
extern "C" {
pub fn __powl(__x: u128, __y: u128) -> u128;
}
extern "C" {
pub fn sqrtl(__x: u128) -> u128;
}
extern "C" {
pub fn __sqrtl(__x: u128) -> u128;
}
extern "C" {
pub fn hypotl(__x: u128, __y: u128) -> u128;
}
extern "C" {
pub fn __hypotl(__x: u128, __y: u128) -> u128;
}
extern "C" {
pub fn cbrtl(__x: u128) -> u128;
}
extern "C" {
pub fn __cbrtl(__x: u128) -> u128;
}
extern "C" {
pub fn ceill(__x: u128) -> u128;
}
extern "C" {
pub fn __ceill(__x: u128) -> u128;
}
extern "C" {
pub fn fabsl(__x: u128) -> u128;
}
extern "C" {
pub fn __fabsl(__x: u128) -> u128;
}
extern "C" {
pub fn floorl(__x: u128) -> u128;
}
extern "C" {
pub fn __floorl(__x: u128) -> u128;
}
extern "C" {
pub fn fmodl(__x: u128, __y: u128) -> u128;
}
extern "C" {
pub fn __fmodl(__x: u128, __y: u128) -> u128;
}
extern "C" {
pub fn isinfl(__value: u128) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn finitel(__value: u128) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn dreml(__x: u128, __y: u128) -> u128;
}
extern "C" {
pub fn __dreml(__x: u128, __y: u128) -> u128;
}
extern "C" {
pub fn significandl(__x: u128) -> u128;
}
extern "C" {
pub fn __significandl(__x: u128) -> u128;
}
extern "C" {
pub fn copysignl(__x: u128, __y: u128) -> u128;
}
extern "C" {
pub fn __copysignl(__x: u128, __y: u128) -> u128;
}
extern "C" {
pub fn nanl(__tagb: *const ::std::os::raw::c_char) -> u128;
}
extern "C" {
pub fn __nanl(__tagb: *const ::std::os::raw::c_char) -> u128;
}
extern "C" {
pub fn isnanl(__value: u128) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn j0l(arg1: u128) -> u128;
}
extern "C" {
pub fn __j0l(arg1: u128) -> u128;
}
extern "C" {
pub fn j1l(arg1: u128) -> u128;
}
extern "C" {
pub fn __j1l(arg1: u128) -> u128;
}
extern "C" {
pub fn jnl(arg1: ::std::os::raw::c_int, arg2: u128) -> u128;
}
extern "C" {
pub fn __jnl(arg1: ::std::os::raw::c_int, arg2: u128) -> u128;
}
extern "C" {
pub fn y0l(arg1: u128) -> u128;
}
extern "C" {
pub fn __y0l(arg1: u128) -> u128;
}
extern "C" {
pub fn y1l(arg1: u128) -> u128;
}
extern "C" {
pub fn __y1l(arg1: u128) -> u128;
}
extern "C" {
pub fn ynl(arg1: ::std::os::raw::c_int, arg2: u128) -> u128;
}
extern "C" {
pub fn __ynl(arg1: ::std::os::raw::c_int, arg2: u128) -> u128;
}
extern "C" {
pub fn erfl(arg1: u128) -> u128;
}
extern "C" {
pub fn __erfl(arg1: u128) -> u128;
}
extern "C" {
pub fn erfcl(arg1: u128) -> u128;
}
extern "C" {
pub fn __erfcl(arg1: u128) -> u128;
}
extern "C" {
pub fn lgammal(arg1: u128) -> u128;
}
extern "C" {
pub fn __lgammal(arg1: u128) -> u128;
}
extern "C" {
pub fn tgammal(arg1: u128) -> u128;
}
extern "C" {
pub fn __tgammal(arg1: u128) -> u128;
}
extern "C" {
pub fn gammal(arg1: u128) -> u128;
}
extern "C" {
pub fn __gammal(arg1: u128) -> u128;
}
extern "C" {
pub fn lgammal_r(arg1: u128, __signgamp: *mut ::std::os::raw::c_int) -> u128;
}
extern "C" {
pub fn __lgammal_r(arg1: u128, __signgamp: *mut ::std::os::raw::c_int) -> u128;
}
extern "C" {
pub fn rintl(__x: u128) -> u128;
}
extern "C" {
pub fn __rintl(__x: u128) -> u128;
}
extern "C" {
pub fn nextafterl(__x: u128, __y: u128) -> u128;
}
extern "C" {
pub fn __nextafterl(__x: u128, __y: u128) -> u128;
}
extern "C" {
pub fn nexttowardl(__x: u128, __y: u128) -> u128;
}
extern "C" {
pub fn __nexttowardl(__x: u128, __y: u128) -> u128;
}
extern "C" {
pub fn remainderl(__x: u128, __y: u128) -> u128;
}
extern "C" {
pub fn __remainderl(__x: u128, __y: u128) -> u128;
}
extern "C" {
pub fn scalbnl(__x: u128, __n: ::std::os::raw::c_int) -> u128;
}
extern "C" {
pub fn __scalbnl(__x: u128, __n: ::std::os::raw::c_int) -> u128;
}
extern "C" {
pub fn ilogbl(__x: u128) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __ilogbl(__x: u128) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn scalblnl(__x: u128, __n: ::std::os::raw::c_long) -> u128;
}
extern "C" {
pub fn __scalblnl(__x: u128, __n: ::std::os::raw::c_long) -> u128;
}
extern "C" {
pub fn nearbyintl(__x: u128) -> u128;
}
extern "C" {
pub fn __nearbyintl(__x: u128) -> u128;
}
extern "C" {
pub fn roundl(__x: u128) -> u128;
}
extern "C" {
pub fn __roundl(__x: u128) -> u128;
}
extern "C" {
pub fn truncl(__x: u128) -> u128;
}
extern "C" {
pub fn __truncl(__x: u128) -> u128;
}
extern "C" {
pub fn remquol(__x: u128, __y: u128, __quo: *mut ::std::os::raw::c_int) -> u128;
}
extern "C" {
pub fn __remquol(__x: u128, __y: u128, __quo: *mut ::std::os::raw::c_int) -> u128;
}
extern "C" {
pub fn lrintl(__x: u128) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn __lrintl(__x: u128) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn llrintl(__x: u128) -> ::std::os::raw::c_longlong;
}
extern "C" {
pub fn __llrintl(__x: u128) -> ::std::os::raw::c_longlong;
}
extern "C" {
pub fn lroundl(__x: u128) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn __lroundl(__x: u128) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn llroundl(__x: u128) -> ::std::os::raw::c_longlong;
}
extern "C" {
pub fn __llroundl(__x: u128) -> ::std::os::raw::c_longlong;
}
extern "C" {
pub fn fdiml(__x: u128, __y: u128) -> u128;
}
extern "C" {
pub fn __fdiml(__x: u128, __y: u128) -> u128;
}
extern "C" {
pub fn fmaxl(__x: u128, __y: u128) -> u128;
}
extern "C" {
pub fn __fmaxl(__x: u128, __y: u128) -> u128;
}
extern "C" {
pub fn fminl(__x: u128, __y: u128) -> u128;
}
extern "C" {
pub fn __fminl(__x: u128, __y: u128) -> u128;
}
extern "C" {
pub fn fmal(__x: u128, __y: u128, __z: u128) -> u128;
}
extern "C" {
pub fn __fmal(__x: u128, __y: u128, __z: u128) -> u128;
}
extern "C" {
pub fn scalbl(__x: u128, __n: u128) -> u128;
}
extern "C" {
pub fn __scalbl(__x: u128, __n: u128) -> u128;
}
extern "C" {
pub static mut signgam: ::std::os::raw::c_int;
}
pub type _bindgen_ty_21 = u32;
extern "C" {
pub fn d_randtest(state: *mut flint_rand_s) -> f64;
}
extern "C" {
pub fn d_randtest_signed(
state: *mut flint_rand_s,
minexp: mp_limb_signed_t,
maxexp: mp_limb_signed_t,
) -> f64;
}
extern "C" {
pub fn d_randtest_special(
state: *mut flint_rand_s,
minexp: mp_limb_signed_t,
maxexp: mp_limb_signed_t,
) -> f64;
}
extern "C" {
pub fn d_lambertw(x: f64) -> f64;
}
extern "C" {
pub fn d_is_nan(x: f64) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn d_log2(x: f64) -> f64;
}
extern "C" {
pub fn _d_vec_init(len: mp_limb_signed_t) -> *mut f64;
}
extern "C" {
pub fn _d_vec_clear(vec: *mut f64);
}
extern "C" {
pub fn _d_vec_randtest(
f: *mut f64,
state: *mut flint_rand_s,
len: mp_limb_signed_t,
minexp: mp_limb_signed_t,
maxexp: mp_limb_signed_t,
);
}
extern "C" {
pub fn _d_vec_set(vec1: *mut f64, vec2: *const f64, len2: mp_limb_signed_t);
}
extern "C" {
pub fn _d_vec_zero(vec: *mut f64, len: mp_limb_signed_t);
}
extern "C" {
pub fn _d_vec_equal(
vec1: *const f64,
vec2: *const f64,
len: mp_limb_signed_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _d_vec_approx_equal(
vec1: *const f64,
vec2: *const f64,
len: mp_limb_signed_t,
eps: f64,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _d_vec_is_zero(vec: *const f64, len: mp_limb_signed_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _d_vec_is_approx_zero(
vec: *const f64,
len: mp_limb_signed_t,
eps: f64,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _d_vec_add(res: *mut f64, vec1: *const f64, vec2: *const f64, len2: mp_limb_signed_t);
}
extern "C" {
pub fn _d_vec_sub(res: *mut f64, vec1: *const f64, vec2: *const f64, len2: mp_limb_signed_t);
}
extern "C" {
pub fn _d_vec_dot(vec1: *const f64, vec2: *const f64, len2: mp_limb_signed_t) -> f64;
}
extern "C" {
pub fn _d_vec_norm(vec: *const f64, len: mp_limb_signed_t) -> f64;
}
extern "C" {
pub fn _d_vec_dot_heuristic(
vec1: *const f64,
vec2: *const f64,
len2: mp_limb_signed_t,
err: *mut f64,
) -> f64;
}
extern "C" {
pub fn _d_vec_dot_thrice(
vec1: *const f64,
vec2: *const f64,
len2: mp_limb_signed_t,
err: *mut f64,
) -> f64;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct d_mat_struct {
pub entries: *mut f64,
pub r: mp_limb_signed_t,
pub c: mp_limb_signed_t,
pub rows: *mut *mut f64,
}
#[test]
fn bindgen_test_layout_d_mat_struct() {
assert_eq!(
::std::mem::size_of::<d_mat_struct>(),
32usize,
concat!("Size of: ", stringify!(d_mat_struct))
);
assert_eq!(
::std::mem::align_of::<d_mat_struct>(),
8usize,
concat!("Alignment of ", stringify!(d_mat_struct))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<d_mat_struct>())).entries as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(d_mat_struct),
"::",
stringify!(entries)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<d_mat_struct>())).r as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(d_mat_struct),
"::",
stringify!(r)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<d_mat_struct>())).c as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(d_mat_struct),
"::",
stringify!(c)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<d_mat_struct>())).rows as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(d_mat_struct),
"::",
stringify!(rows)
)
);
}
pub type d_mat_t = [d_mat_struct; 1usize];
extern "C" {
pub fn d_mat_init(mat: *mut d_mat_struct, rows: mp_limb_signed_t, cols: mp_limb_signed_t);
}
extern "C" {
pub fn d_mat_swap(mat1: *mut d_mat_struct, mat2: *mut d_mat_struct);
}
extern "C" {
pub fn d_mat_set(mat1: *mut d_mat_struct, mat2: *mut d_mat_struct);
}
extern "C" {
pub fn d_mat_clear(mat: *mut d_mat_struct);
}
extern "C" {
pub fn d_mat_equal(mat1: *mut d_mat_struct, mat2: *mut d_mat_struct) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn d_mat_approx_equal(
mat1: *mut d_mat_struct,
mat2: *mut d_mat_struct,
eps: f64,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn d_mat_is_zero(mat: *mut d_mat_struct) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn d_mat_is_approx_zero(mat: *mut d_mat_struct, eps: f64) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn d_mat_zero(mat: *mut d_mat_struct);
}
extern "C" {
pub fn d_mat_one(mat: *mut d_mat_struct);
}
extern "C" {
pub fn d_mat_print(mat: *mut d_mat_struct);
}
extern "C" {
pub fn d_mat_randtest(
mat: *mut d_mat_struct,
state: *mut flint_rand_s,
minexp: mp_limb_signed_t,
maxexp: mp_limb_signed_t,
);
}
extern "C" {
pub fn d_mat_transpose(B: *mut d_mat_struct, A: *mut d_mat_struct);
}
extern "C" {
pub fn d_mat_mul_classical(C: *mut d_mat_struct, A: *mut d_mat_struct, B: *mut d_mat_struct);
}
extern "C" {
pub fn d_mat_gso(B: *mut d_mat_struct, A: *mut d_mat_struct);
}
extern "C" {
pub fn d_mat_qr(Q: *mut d_mat_struct, R: *mut d_mat_struct, A: *mut d_mat_struct);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct mpf_mat_struct {
pub entries: *mut mpf,
pub r: mp_limb_signed_t,
pub c: mp_limb_signed_t,
pub prec: mp_limb_t,
pub rows: *mut *mut mpf,
}
#[test]
fn bindgen_test_layout_mpf_mat_struct() {
assert_eq!(
::std::mem::size_of::<mpf_mat_struct>(),
40usize,
concat!("Size of: ", stringify!(mpf_mat_struct))
);
assert_eq!(
::std::mem::align_of::<mpf_mat_struct>(),
8usize,
concat!("Alignment of ", stringify!(mpf_mat_struct))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<mpf_mat_struct>())).entries as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(mpf_mat_struct),
"::",
stringify!(entries)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<mpf_mat_struct>())).r as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(mpf_mat_struct),
"::",
stringify!(r)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<mpf_mat_struct>())).c as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(mpf_mat_struct),
"::",
stringify!(c)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<mpf_mat_struct>())).prec as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(mpf_mat_struct),
"::",
stringify!(prec)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<mpf_mat_struct>())).rows as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(mpf_mat_struct),
"::",
stringify!(rows)
)
);
}
pub type mpf_mat_t = [mpf_mat_struct; 1usize];
extern "C" {
pub fn mpf_mat_init(
mat: *mut mpf_mat_struct,
rows: mp_limb_signed_t,
cols: mp_limb_signed_t,
prec: mp_limb_t,
);
}
extern "C" {
pub fn mpf_mat_swap(mat1: *mut mpf_mat_struct, mat2: *mut mpf_mat_struct);
}
extern "C" {
pub fn mpf_mat_set(mat1: *mut mpf_mat_struct, mat2: *mut mpf_mat_struct);
}
extern "C" {
pub fn mpf_mat_clear(mat: *mut mpf_mat_struct);
}
extern "C" {
pub fn mpf_mat_equal(
mat1: *mut mpf_mat_struct,
mat2: *mut mpf_mat_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpf_mat_approx_equal(
mat1: *mut mpf_mat_struct,
mat2: *mut mpf_mat_struct,
bits: mp_limb_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpf_mat_is_zero(mat: *mut mpf_mat_struct) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn mpf_mat_zero(mat: *mut mpf_mat_struct);
}
extern "C" {
pub fn mpf_mat_one(mat: *mut mpf_mat_struct);
}
extern "C" {
pub fn mpf_mat_print(mat: *mut mpf_mat_struct);
}
extern "C" {
pub fn mpf_mat_randtest(mat: *mut mpf_mat_struct, state: *mut flint_rand_s, bits: mp_limb_t);
}
extern "C" {
pub fn mpf_mat_mul(C: *mut mpf_mat_struct, A: *mut mpf_mat_struct, B: *mut mpf_mat_struct);
}
extern "C" {
pub fn mpf_mat_gso(B: *mut mpf_mat_struct, A: *mut mpf_mat_struct);
}
extern "C" {
pub fn mpf_mat_qr(Q: *mut mpf_mat_struct, R: *mut mpf_mat_struct, A: *mut mpf_mat_struct);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct fmpz_mat_struct {
pub entries: *mut fmpz,
pub r: mp_limb_signed_t,
pub c: mp_limb_signed_t,
pub rows: *mut *mut fmpz,
}
#[test]
fn bindgen_test_layout_fmpz_mat_struct() {
assert_eq!(
::std::mem::size_of::<fmpz_mat_struct>(),
32usize,
concat!("Size of: ", stringify!(fmpz_mat_struct))
);
assert_eq!(
::std::mem::align_of::<fmpz_mat_struct>(),
8usize,
concat!("Alignment of ", stringify!(fmpz_mat_struct))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_mat_struct>())).entries as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(fmpz_mat_struct),
"::",
stringify!(entries)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_mat_struct>())).r as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(fmpz_mat_struct),
"::",
stringify!(r)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_mat_struct>())).c as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(fmpz_mat_struct),
"::",
stringify!(c)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_mat_struct>())).rows as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(fmpz_mat_struct),
"::",
stringify!(rows)
)
);
}
pub type fmpz_mat_t = [fmpz_mat_struct; 1usize];
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct col_hash_t {
pub col: mp_limb_t,
pub hash: mp_limb_t,
}
#[test]
fn bindgen_test_layout_col_hash_t() {
assert_eq!(
::std::mem::size_of::<col_hash_t>(),
16usize,
concat!("Size of: ", stringify!(col_hash_t))
);
assert_eq!(
::std::mem::align_of::<col_hash_t>(),
8usize,
concat!("Alignment of ", stringify!(col_hash_t))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<col_hash_t>())).col as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(col_hash_t),
"::",
stringify!(col)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<col_hash_t>())).hash as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(col_hash_t),
"::",
stringify!(hash)
)
);
}
extern "C" {
pub fn fmpz_mat_init(mat: *mut fmpz_mat_struct, rows: mp_limb_signed_t, cols: mp_limb_signed_t);
}
extern "C" {
pub fn fmpz_mat_init_set(mat: *mut fmpz_mat_struct, src: *mut fmpz_mat_struct);
}
extern "C" {
pub fn fmpz_mat_swap(mat1: *mut fmpz_mat_struct, mat2: *mut fmpz_mat_struct);
}
extern "C" {
pub fn fmpz_mat_set(mat1: *mut fmpz_mat_struct, mat2: *mut fmpz_mat_struct);
}
extern "C" {
pub fn fmpz_mat_clear(mat: *mut fmpz_mat_struct);
}
extern "C" {
pub fn fmpz_mat_equal(
mat1: *mut fmpz_mat_struct,
mat2: *mut fmpz_mat_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_mat_is_zero(mat: *mut fmpz_mat_struct) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_mat_is_one(mat: *mut fmpz_mat_struct) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_mat_zero(mat: *mut fmpz_mat_struct);
}
extern "C" {
pub fn fmpz_mat_one(mat: *mut fmpz_mat_struct);
}
extern "C" {
pub fn fmpz_mat_window_init(
window: *mut fmpz_mat_struct,
mat: *mut fmpz_mat_struct,
r1: mp_limb_signed_t,
c1: mp_limb_signed_t,
r2: mp_limb_signed_t,
c2: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_mat_window_clear(window: *mut fmpz_mat_struct);
}
extern "C" {
pub fn fmpz_mat_concat_horizontal(
res: *mut fmpz_mat_struct,
mat1: *mut fmpz_mat_struct,
mat2: *mut fmpz_mat_struct,
);
}
extern "C" {
pub fn fmpz_mat_concat_vertical(
res: *mut fmpz_mat_struct,
mat1: *mut fmpz_mat_struct,
mat2: *mut fmpz_mat_struct,
);
}
extern "C" {
pub fn fmpz_mat_fprint(file: *mut FILE, mat: *mut fmpz_mat_struct) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_mat_fprint_pretty(
file: *mut FILE,
mat: *mut fmpz_mat_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_mat_fread(file: *mut FILE, mat: *mut fmpz_mat_struct) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_mat_randbits(mat: *mut fmpz_mat_struct, state: *mut flint_rand_s, bits: mp_limb_t);
}
extern "C" {
pub fn fmpz_mat_randtest(mat: *mut fmpz_mat_struct, state: *mut flint_rand_s, bits: mp_limb_t);
}
extern "C" {
pub fn fmpz_mat_randtest_unsigned(
mat: *mut fmpz_mat_struct,
state: *mut flint_rand_s,
bits: mp_limb_t,
);
}
extern "C" {
pub fn fmpz_mat_randintrel(
mat: *mut fmpz_mat_struct,
state: *mut flint_rand_s,
bits: mp_limb_t,
);
}
extern "C" {
pub fn fmpz_mat_randsimdioph(
mat: *mut fmpz_mat_struct,
state: *mut flint_rand_s,
bits: mp_limb_t,
bits2: mp_limb_t,
);
}
extern "C" {
pub fn fmpz_mat_randntrulike(
mat: *mut fmpz_mat_struct,
state: *mut flint_rand_s,
bits: mp_limb_t,
q: mp_limb_t,
);
}
extern "C" {
pub fn fmpz_mat_randntrulike2(
mat: *mut fmpz_mat_struct,
state: *mut flint_rand_s,
bits: mp_limb_t,
q: mp_limb_t,
);
}
extern "C" {
pub fn fmpz_mat_randajtai(mat: *mut fmpz_mat_struct, state: *mut flint_rand_s, alpha: f64);
}
extern "C" {
pub fn fmpz_mat_randrank(
mat: *mut fmpz_mat_struct,
state: *mut flint_rand_s,
rank: mp_limb_signed_t,
bits: mp_limb_t,
);
}
extern "C" {
pub fn fmpz_mat_randdet(mat: *mut fmpz_mat_struct, state: *mut flint_rand_s, det: *mut fmpz);
}
extern "C" {
pub fn fmpz_mat_randops(
mat: *mut fmpz_mat_struct,
state: *mut flint_rand_s,
count: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_mat_randpermdiag(
mat: *mut fmpz_mat_struct,
state: *mut flint_rand_s,
diag: *const fmpz,
n: mp_limb_signed_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_mat_max_bits(mat: *mut fmpz_mat_struct) -> mp_limb_signed_t;
}
extern "C" {
pub fn fmpz_mat_transpose(B: *mut fmpz_mat_struct, A: *mut fmpz_mat_struct);
}
extern "C" {
pub fn fmpz_mat_add(C: *mut fmpz_mat_struct, A: *mut fmpz_mat_struct, B: *mut fmpz_mat_struct);
}
extern "C" {
pub fn fmpz_mat_sub(C: *mut fmpz_mat_struct, A: *mut fmpz_mat_struct, B: *mut fmpz_mat_struct);
}
extern "C" {
pub fn fmpz_mat_neg(B: *mut fmpz_mat_struct, A: *mut fmpz_mat_struct);
}
extern "C" {
pub fn fmpz_mat_scalar_mul_fmpz(B: *mut fmpz_mat_struct, A: *mut fmpz_mat_struct, c: *mut fmpz);
}
extern "C" {
pub fn fmpz_mat_scalar_mul_si(
B: *mut fmpz_mat_struct,
A: *mut fmpz_mat_struct,
c: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_mat_scalar_mul_ui(B: *mut fmpz_mat_struct, A: *mut fmpz_mat_struct, c: mp_limb_t);
}
extern "C" {
pub fn fmpz_mat_scalar_addmul_fmpz(
B: *mut fmpz_mat_struct,
A: *mut fmpz_mat_struct,
c: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mat_scalar_addmul_si(
B: *mut fmpz_mat_struct,
A: *mut fmpz_mat_struct,
c: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_mat_scalar_addmul_ui(
B: *mut fmpz_mat_struct,
A: *mut fmpz_mat_struct,
c: mp_limb_t,
);
}
extern "C" {
pub fn fmpz_mat_scalar_submul_fmpz(
B: *mut fmpz_mat_struct,
A: *mut fmpz_mat_struct,
c: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mat_scalar_submul_si(
B: *mut fmpz_mat_struct,
A: *mut fmpz_mat_struct,
c: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_mat_scalar_submul_ui(
B: *mut fmpz_mat_struct,
A: *mut fmpz_mat_struct,
c: mp_limb_t,
);
}
extern "C" {
pub fn fmpz_mat_scalar_addmul_nmod_mat_fmpz(
B: *mut fmpz_mat_struct,
A: *mut nmod_mat_struct,
c: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mat_scalar_addmul_nmod_mat_ui(
B: *mut fmpz_mat_struct,
A: *mut nmod_mat_struct,
c: mp_limb_t,
);
}
extern "C" {
pub fn fmpz_mat_scalar_divexact_fmpz(
B: *mut fmpz_mat_struct,
A: *mut fmpz_mat_struct,
c: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mat_scalar_divexact_si(
B: *mut fmpz_mat_struct,
A: *mut fmpz_mat_struct,
c: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_mat_scalar_divexact_ui(
B: *mut fmpz_mat_struct,
A: *mut fmpz_mat_struct,
c: mp_limb_t,
);
}
extern "C" {
pub fn fmpz_mat_scalar_mul_2exp(
B: *mut fmpz_mat_struct,
A: *mut fmpz_mat_struct,
exp: mp_limb_t,
);
}
extern "C" {
pub fn fmpz_mat_scalar_tdiv_q_2exp(
B: *mut fmpz_mat_struct,
A: *mut fmpz_mat_struct,
exp: mp_limb_t,
);
}
extern "C" {
pub fn fmpz_mat_scalar_smod(B: *mut fmpz_mat_struct, A: *mut fmpz_mat_struct, P: *mut fmpz);
}
extern "C" {
pub fn fmpz_mat_scalar_mod_fmpz(B: *mut fmpz_mat_struct, A: *mut fmpz_mat_struct, m: *mut fmpz);
}
extern "C" {
pub fn fmpz_mat_mul(C: *mut fmpz_mat_struct, A: *mut fmpz_mat_struct, B: *mut fmpz_mat_struct);
}
extern "C" {
pub fn fmpz_mat_mul_classical(
C: *mut fmpz_mat_struct,
A: *mut fmpz_mat_struct,
B: *mut fmpz_mat_struct,
);
}
extern "C" {
pub fn fmpz_mat_mul_strassen(
C: *mut fmpz_mat_struct,
A: *mut fmpz_mat_struct,
B: *mut fmpz_mat_struct,
);
}
extern "C" {
pub fn fmpz_mat_mul_classical_inline(
C: *mut fmpz_mat_struct,
A: *mut fmpz_mat_struct,
B: *mut fmpz_mat_struct,
);
}
extern "C" {
pub fn _fmpz_mat_mul_multi_mod(
C: *mut fmpz_mat_struct,
A: *mut fmpz_mat_struct,
B: *mut fmpz_mat_struct,
bits: mp_limb_t,
);
}
extern "C" {
pub fn fmpz_mat_mul_multi_mod(
C: *mut fmpz_mat_struct,
A: *mut fmpz_mat_struct,
B: *mut fmpz_mat_struct,
);
}
extern "C" {
pub fn fmpz_mat_sqr_bodrato(B: *mut fmpz_mat_struct, A: *mut fmpz_mat_struct);
}
extern "C" {
pub fn fmpz_mat_sqr(B: *mut fmpz_mat_struct, A: *mut fmpz_mat_struct);
}
extern "C" {
pub fn fmpz_mat_pow(B: *mut fmpz_mat_struct, A: *mut fmpz_mat_struct, exp: mp_limb_t);
}
extern "C" {
pub fn fmpz_mat_kronecker_product(
C: *mut fmpz_mat_struct,
A: *mut fmpz_mat_struct,
B: *mut fmpz_mat_struct,
);
}
extern "C" {
pub fn fmpz_mat_content(ret: *mut fmpz, A: *mut fmpz_mat_struct);
}
extern "C" {
pub fn fmpz_mat_find_pivot_any(
mat: *mut fmpz_mat_struct,
start_row: mp_limb_signed_t,
end_row: mp_limb_signed_t,
c: mp_limb_signed_t,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn fmpz_mat_find_pivot_smallest(
mat: *mut fmpz_mat_struct,
start_row: mp_limb_signed_t,
end_row: mp_limb_signed_t,
c: mp_limb_signed_t,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn fmpz_mat_fflu(
B: *mut fmpz_mat_struct,
den: *mut fmpz,
perm: *mut mp_limb_signed_t,
A: *mut fmpz_mat_struct,
rank_check: ::std::os::raw::c_int,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn fmpz_mat_rank_small_inplace(B: *mut fmpz_mat_struct) -> mp_limb_signed_t;
}
extern "C" {
pub fn fmpz_mat_rref(
B: *mut fmpz_mat_struct,
den: *mut fmpz,
A: *mut fmpz_mat_struct,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn fmpz_mat_rref_fflu(
B: *mut fmpz_mat_struct,
den: *mut fmpz,
A: *mut fmpz_mat_struct,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn fmpz_mat_rref_mul(
B: *mut fmpz_mat_struct,
den: *mut fmpz,
A: *mut fmpz_mat_struct,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn fmpz_mat_is_in_rref_with_rank(
A: *mut fmpz_mat_struct,
den: *mut fmpz,
rank: mp_limb_signed_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_mat_rref_mod(
perm: *mut mp_limb_signed_t,
A: *mut fmpz_mat_struct,
p: *mut fmpz,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn fmpz_mat_howell_form_mod(A: *mut fmpz_mat_struct, mod_: *mut fmpz) -> mp_limb_signed_t;
}
extern "C" {
pub fn fmpz_mat_strong_echelon_form_mod(A: *mut fmpz_mat_struct, mod_: *mut fmpz);
}
extern "C" {
pub fn fmpz_mat_trace(trace: *mut fmpz, mat: *mut fmpz_mat_struct);
}
extern "C" {
pub fn fmpz_mat_det(det: *mut fmpz, A: *mut fmpz_mat_struct);
}
extern "C" {
pub fn fmpz_mat_det_cofactor(det: *mut fmpz, A: *mut fmpz_mat_struct);
}
extern "C" {
pub fn fmpz_mat_det_bareiss(det: *mut fmpz, A: *mut fmpz_mat_struct);
}
extern "C" {
pub fn fmpz_mat_det_modular(
det: *mut fmpz,
A: *mut fmpz_mat_struct,
proved: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn fmpz_mat_det_modular_accelerated(
det: *mut fmpz,
A: *mut fmpz_mat_struct,
proved: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn fmpz_mat_det_modular_given_divisor(
det: *mut fmpz,
A: *mut fmpz_mat_struct,
d: *mut fmpz,
proved: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn fmpz_mat_det_bound(bound: *mut fmpz, A: *mut fmpz_mat_struct);
}
extern "C" {
pub fn fmpz_mat_det_divisor(d: *mut fmpz, A: *mut fmpz_mat_struct);
}
extern "C" {
pub fn fmpz_mat_similarity(A: *mut fmpz_mat_struct, r: mp_limb_signed_t, d: *mut fmpz);
}
extern "C" {
pub fn _fmpz_mat_charpoly_berkowitz(rop: *mut fmpz, op: *mut fmpz_mat_struct);
}
extern "C" {
pub fn fmpz_mat_charpoly_berkowitz(cp: *mut fmpz_poly_struct, mat: *mut fmpz_mat_struct);
}
extern "C" {
pub fn _fmpz_mat_charpoly_modular(rop: *mut fmpz, op: *mut fmpz_mat_struct);
}
extern "C" {
pub fn fmpz_mat_charpoly_modular(cp: *mut fmpz_poly_struct, mat: *mut fmpz_mat_struct);
}
extern "C" {
pub fn _fmpz_mat_minpoly_modular(rop: *mut fmpz, op: *mut fmpz_mat_struct) -> mp_limb_signed_t;
}
extern "C" {
pub fn fmpz_mat_minpoly_modular(cp: *mut fmpz_poly_struct, mat: *mut fmpz_mat_struct);
}
extern "C" {
pub fn fmpz_mat_rank(A: *mut fmpz_mat_struct) -> mp_limb_signed_t;
}
extern "C" {
pub fn fmpz_mat_solve_bound(
N: *mut fmpz,
D: *mut fmpz,
A: *mut fmpz_mat_struct,
B: *mut fmpz_mat_struct,
);
}
extern "C" {
pub fn fmpz_mat_solve(
X: *mut fmpz_mat_struct,
den: *mut fmpz,
A: *mut fmpz_mat_struct,
B: *mut fmpz_mat_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_mat_solve_cramer(
X: *mut fmpz_mat_struct,
den: *mut fmpz,
A: *mut fmpz_mat_struct,
B: *mut fmpz_mat_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_mat_solve_fflu(
X: *mut fmpz_mat_struct,
den: *mut fmpz,
A: *mut fmpz_mat_struct,
B: *mut fmpz_mat_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_mat_solve_fflu_precomp(
X: *mut fmpz_mat_struct,
perm: *const mp_limb_signed_t,
FFLU: *mut fmpz_mat_struct,
B: *mut fmpz_mat_struct,
);
}
extern "C" {
pub fn fmpz_mat_find_good_prime_and_invert(
Ainv: *mut nmod_mat_struct,
A: *mut fmpz_mat_struct,
det_bound: *mut fmpz,
) -> mp_limb_t;
}
extern "C" {
pub fn fmpz_mat_dixon_get_crt_primes(
num_primes: *mut mp_limb_signed_t,
A: *mut fmpz_mat_struct,
p: mp_limb_t,
) -> *mut mp_limb_t;
}
extern "C" {
pub fn _fmpz_mat_solve_dixon(
X: *mut fmpz_mat_struct,
mod_: *mut fmpz,
A: *mut fmpz_mat_struct,
B: *mut fmpz_mat_struct,
Ainv: *mut nmod_mat_struct,
p: mp_limb_t,
N: *mut fmpz,
D: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mat_solve_dixon(
X: *mut fmpz_mat_struct,
mod_: *mut fmpz,
A: *mut fmpz_mat_struct,
B: *mut fmpz_mat_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fmpz_mat_solve_dixon_den(
X: *mut fmpz_mat_struct,
den: *mut fmpz,
A: *mut fmpz_mat_struct,
B: *mut fmpz_mat_struct,
Ainv: *mut nmod_mat_struct,
p: mp_limb_t,
N: *mut fmpz,
D: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mat_solve_dixon_den(
X: *mut fmpz_mat_struct,
den: *mut fmpz,
A: *mut fmpz_mat_struct,
B: *mut fmpz_mat_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_mat_solve_multi_mod_den(
X: *mut fmpz_mat_struct,
den: *mut fmpz,
A: *mut fmpz_mat_struct,
B: *mut fmpz_mat_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_mat_nullspace(
res: *mut fmpz_mat_struct,
mat: *mut fmpz_mat_struct,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn fmpz_mat_inv(
B: *mut fmpz_mat_struct,
den: *mut fmpz,
A: *mut fmpz_mat_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_mat_set_nmod_mat(A: *mut fmpz_mat_struct, Amod: *mut nmod_mat_struct);
}
extern "C" {
pub fn fmpz_mat_set_nmod_mat_unsigned(A: *mut fmpz_mat_struct, Amod: *mut nmod_mat_struct);
}
extern "C" {
pub fn fmpz_mat_get_nmod_mat(Amod: *mut nmod_mat_struct, A: *mut fmpz_mat_struct);
}
extern "C" {
pub fn fmpz_mat_CRT_ui(
res: *mut fmpz_mat_struct,
mat1: *mut fmpz_mat_struct,
m1: *mut fmpz,
mat2: *mut nmod_mat_struct,
sign: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn fmpz_mat_multi_mod_ui_precomp(
residues: *mut nmod_mat_t,
nres: mp_limb_signed_t,
mat: *mut fmpz_mat_struct,
comb: *mut fmpz_comb_struct,
temp: *mut fmpz_comb_temp_struct,
);
}
extern "C" {
pub fn fmpz_mat_multi_mod_ui(
residues: *mut nmod_mat_t,
nres: mp_limb_signed_t,
mat: *mut fmpz_mat_struct,
);
}
extern "C" {
pub fn fmpz_mat_multi_CRT_ui_precomp(
mat: *mut fmpz_mat_struct,
residues: *mut nmod_mat_t,
nres: mp_limb_signed_t,
comb: *mut fmpz_comb_struct,
temp: *mut fmpz_comb_temp_struct,
sign: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn fmpz_mat_multi_CRT_ui(
mat: *mut fmpz_mat_struct,
residues: *mut nmod_mat_t,
nres: mp_limb_signed_t,
sign: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn fmpz_mat_hnf(H: *mut fmpz_mat_struct, A: *mut fmpz_mat_struct);
}
extern "C" {
pub fn fmpz_mat_hnf_transform(
H: *mut fmpz_mat_struct,
U: *mut fmpz_mat_struct,
A: *mut fmpz_mat_struct,
);
}
extern "C" {
pub fn fmpz_mat_hnf_classical(H: *mut fmpz_mat_struct, A: *mut fmpz_mat_struct);
}
extern "C" {
pub fn fmpz_mat_hnf_xgcd(H: *mut fmpz_mat_struct, A: *mut fmpz_mat_struct);
}
extern "C" {
pub fn fmpz_mat_hnf_minors(H: *mut fmpz_mat_struct, A: *mut fmpz_mat_struct);
}
extern "C" {
pub fn fmpz_mat_hnf_minors_transform(
H: *mut fmpz_mat_struct,
U: *mut fmpz_mat_struct,
A: *mut fmpz_mat_struct,
);
}
extern "C" {
pub fn fmpz_mat_hnf_modular(H: *mut fmpz_mat_struct, A: *mut fmpz_mat_struct, D: *mut fmpz);
}
extern "C" {
pub fn fmpz_mat_hnf_modular_eldiv(A: *mut fmpz_mat_struct, D: *mut fmpz);
}
extern "C" {
pub fn fmpz_mat_hnf_pernet_stein(
H: *mut fmpz_mat_struct,
A: *mut fmpz_mat_struct,
state: *mut flint_rand_s,
);
}
extern "C" {
pub fn fmpz_mat_is_in_hnf(A: *mut fmpz_mat_struct) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_mat_snf(S: *mut fmpz_mat_struct, A: *mut fmpz_mat_struct);
}
extern "C" {
pub fn fmpz_mat_snf_diagonal(S: *mut fmpz_mat_struct, A: *mut fmpz_mat_struct);
}
extern "C" {
pub fn fmpz_mat_snf_kannan_bachem(S: *mut fmpz_mat_struct, A: *mut fmpz_mat_struct);
}
extern "C" {
pub fn fmpz_mat_snf_iliopoulos(
S: *mut fmpz_mat_struct,
A: *mut fmpz_mat_struct,
mod_: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mat_is_in_snf(A: *mut fmpz_mat_struct) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_mat_is_hadamard(A: *mut fmpz_mat_struct) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_mat_hadamard(A: *mut fmpz_mat_struct) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_mat_gram(B: *mut fmpz_mat_struct, A: *mut fmpz_mat_struct);
}
extern "C" {
pub fn fmpz_mat_get_d_mat(
B: *mut d_mat_struct,
A: *mut fmpz_mat_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_mat_get_d_mat_transpose(
B: *mut d_mat_struct,
A: *mut fmpz_mat_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_mat_get_mpf_mat(B: *mut mpf_mat_struct, A: *mut fmpz_mat_struct);
}
extern "C" {
pub fn fmpz_mat_chol_d(R: *mut d_mat_struct, A: *mut fmpz_mat_struct);
}
extern "C" {
pub fn fmpz_mat_is_reduced(
A: *mut fmpz_mat_struct,
delta: f64,
eta: f64,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_mat_is_reduced_gram(
A: *mut fmpz_mat_struct,
delta: f64,
eta: f64,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_mat_is_reduced_with_removal(
A: *mut fmpz_mat_struct,
delta: f64,
eta: f64,
gs_B: *mut fmpz,
newd: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_mat_is_reduced_gram_with_removal(
A: *mut fmpz_mat_struct,
delta: f64,
eta: f64,
gs_B: *mut fmpz,
newd: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_mat_lll_original(A: *mut fmpz_mat_struct, delta: *mut fmpq, eta: *mut fmpq);
}
extern "C" {
pub fn fmpz_mat_lll_storjohann(A: *mut fmpz_mat_struct, delta: *mut fmpq, eta: *mut fmpq);
}
extern "C" {
pub fn fmpz_mat_col_partition(
part: *mut mp_limb_signed_t,
M: *mut fmpz_mat_struct,
short_circuit: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_mat_next_col_van_hoeij(
M: *mut fmpz_mat_struct,
P: *mut fmpz,
col: *mut fmpz_mat_struct,
exp: mp_limb_signed_t,
U_exp: mp_limb_signed_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_poly_factor_init(fac: *mut fmpz_poly_factor_struct);
}
extern "C" {
pub fn fmpz_poly_factor_init2(fac: *mut fmpz_poly_factor_struct, alloc: mp_limb_signed_t);
}
extern "C" {
pub fn fmpz_poly_factor_realloc(fac: *mut fmpz_poly_factor_struct, alloc: mp_limb_signed_t);
}
extern "C" {
pub fn fmpz_poly_factor_fit_length(fac: *mut fmpz_poly_factor_struct, len: mp_limb_signed_t);
}
extern "C" {
pub fn fmpz_poly_factor_clear(fac: *mut fmpz_poly_factor_struct);
}
extern "C" {
pub fn fmpz_poly_factor_set(
res: *mut fmpz_poly_factor_struct,
fac: *mut fmpz_poly_factor_struct,
);
}
extern "C" {
pub fn fmpz_poly_factor_insert(
fac: *mut fmpz_poly_factor_struct,
p: *mut fmpz_poly_struct,
exp: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_factor_concat(
res: *mut fmpz_poly_factor_struct,
fac: *mut fmpz_poly_factor_struct,
);
}
extern "C" {
pub fn fmpz_poly_factor_print(fac: *mut fmpz_poly_factor_struct);
}
extern "C" {
pub fn fmpz_poly_factor_zassenhaus_recombination(
final_fac: *mut fmpz_poly_factor_struct,
lifted_fac: *mut fmpz_poly_factor_struct,
F: *mut fmpz_poly_struct,
P: *mut fmpz,
exp: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_factor_squarefree(fac: *mut fmpz_poly_factor_struct, F: *mut fmpz_poly_struct);
}
extern "C" {
pub fn fmpz_poly_factor_mignotte(B: *mut fmpz, f: *mut fmpz_poly_struct);
}
extern "C" {
pub fn _fmpz_poly_factor_zassenhaus(
final_fac: *mut fmpz_poly_factor_struct,
exp: mp_limb_signed_t,
f: *mut fmpz_poly_struct,
cutoff: mp_limb_signed_t,
use_van_hoeij: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn fmpz_poly_factor_zassenhaus(fac: *mut fmpz_poly_factor_struct, G: *mut fmpz_poly_struct);
}
extern "C" {
pub fn _fmpz_poly_factor_quadratic(
fac: *mut fmpz_poly_factor_struct,
f: *mut fmpz_poly_struct,
exp: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_poly_factor_CLD_mat(
res: *mut fmpz_mat_struct,
f: *mut fmpz_poly_struct,
lifted_fac: *mut fmpz_poly_factor_struct,
P: *mut fmpz,
k: mp_limb_t,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn fmpz_poly_factor_van_hoeij_check_if_solved(
M: *mut fmpz_mat_struct,
final_fac: *mut fmpz_poly_factor_struct,
lifted_fac: *mut fmpz_poly_factor_struct,
f: *mut fmpz_poly_struct,
P: *mut fmpz,
exp: mp_limb_signed_t,
lc: *mut fmpz,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_poly_factor_van_hoeij(
final_fac: *mut fmpz_poly_factor_struct,
fac: *mut nmod_poly_factor_struct,
f: *mut fmpz_poly_struct,
exp: mp_limb_signed_t,
p: mp_limb_t,
);
}
extern "C" {
pub fn fmpz_poly_factor(fac: *mut fmpz_poly_factor_struct, G: *mut fmpz_poly_struct);
}
extern "C" {
pub fn fmpz_poly_factor_get_fmpz_poly(
z: *mut fmpz_poly_struct,
F: *mut fmpz_poly_factor_struct,
i: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_poly_factor_get_fmpz(z: *mut fmpz, F: *mut fmpz_poly_factor_struct);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct fmpq_poly_struct {
pub coeffs: *mut fmpz,
pub den: fmpz_t,
pub alloc: mp_limb_signed_t,
pub length: mp_limb_signed_t,
}
#[test]
fn bindgen_test_layout_fmpq_poly_struct() {
assert_eq!(
::std::mem::size_of::<fmpq_poly_struct>(),
32usize,
concat!("Size of: ", stringify!(fmpq_poly_struct))
);
assert_eq!(
::std::mem::align_of::<fmpq_poly_struct>(),
8usize,
concat!("Alignment of ", stringify!(fmpq_poly_struct))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpq_poly_struct>())).coeffs as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(fmpq_poly_struct),
"::",
stringify!(coeffs)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpq_poly_struct>())).den as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(fmpq_poly_struct),
"::",
stringify!(den)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpq_poly_struct>())).alloc as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(fmpq_poly_struct),
"::",
stringify!(alloc)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpq_poly_struct>())).length as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(fmpq_poly_struct),
"::",
stringify!(length)
)
);
}
pub type fmpq_poly_t = [fmpq_poly_struct; 1usize];
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct fmpq_poly_powers_precomp_struct {
pub powers: *mut fmpq_poly_struct,
pub len: mp_limb_signed_t,
}
#[test]
fn bindgen_test_layout_fmpq_poly_powers_precomp_struct() {
assert_eq!(
::std::mem::size_of::<fmpq_poly_powers_precomp_struct>(),
16usize,
concat!("Size of: ", stringify!(fmpq_poly_powers_precomp_struct))
);
assert_eq!(
::std::mem::align_of::<fmpq_poly_powers_precomp_struct>(),
8usize,
concat!("Alignment of ", stringify!(fmpq_poly_powers_precomp_struct))
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<fmpq_poly_powers_precomp_struct>())).powers as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(fmpq_poly_powers_precomp_struct),
"::",
stringify!(powers)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<fmpq_poly_powers_precomp_struct>())).len as *const _ as usize
},
8usize,
concat!(
"Offset of field: ",
stringify!(fmpq_poly_powers_precomp_struct),
"::",
stringify!(len)
)
);
}
pub type fmpq_poly_powers_precomp_t = [fmpq_poly_powers_precomp_struct; 1usize];
extern "C" {
pub fn fmpq_poly_init(poly: *mut fmpq_poly_struct);
}
extern "C" {
pub fn fmpq_poly_init2(poly: *mut fmpq_poly_struct, alloc: mp_limb_signed_t);
}
extern "C" {
pub fn fmpq_poly_realloc(poly: *mut fmpq_poly_struct, alloc: mp_limb_signed_t);
}
extern "C" {
pub fn fmpq_poly_fit_length(poly: *mut fmpq_poly_struct, len: mp_limb_signed_t);
}
extern "C" {
pub fn _fmpq_poly_set_length(poly: *mut fmpq_poly_struct, len: mp_limb_signed_t);
}
extern "C" {
pub fn fmpq_poly_clear(poly: *mut fmpq_poly_struct);
}
extern "C" {
pub fn _fmpq_poly_normalise(poly: *mut fmpq_poly_struct);
}
extern "C" {
pub fn fmpq_poly_get_numerator(res: *mut fmpz_poly_struct, poly: *mut fmpq_poly_struct);
}
extern "C" {
pub fn fmpq_poly_get_denominator(den: *mut fmpz, poly: *mut fmpq_poly_struct);
}
extern "C" {
pub fn _fmpq_poly_canonicalise(rpoly: *mut fmpz, den: *mut fmpz, len: mp_limb_signed_t);
}
extern "C" {
pub fn fmpq_poly_canonicalise(poly: *mut fmpq_poly_struct);
}
extern "C" {
pub fn _fmpq_poly_is_canonical(
poly: *const fmpz,
den: *mut fmpz,
len: mp_limb_signed_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_poly_is_canonical(poly: *mut fmpq_poly_struct) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_poly_degree(poly: *mut fmpq_poly_struct) -> mp_limb_signed_t;
}
extern "C" {
pub fn fmpq_poly_length(poly: *mut fmpq_poly_struct) -> mp_limb_signed_t;
}
extern "C" {
pub fn fmpq_poly_randtest(
f: *mut fmpq_poly_struct,
state: *mut flint_rand_s,
len: mp_limb_signed_t,
bits_in: mp_limb_t,
);
}
extern "C" {
pub fn fmpq_poly_randtest_unsigned(
f: *mut fmpq_poly_struct,
state: *mut flint_rand_s,
len: mp_limb_signed_t,
bits_in: mp_limb_t,
);
}
extern "C" {
pub fn fmpq_poly_randtest_not_zero(
f: *mut fmpq_poly_struct,
state: *mut flint_rand_s,
len: mp_limb_signed_t,
bits_in: mp_limb_t,
);
}
extern "C" {
pub fn fmpq_poly_set(poly1: *mut fmpq_poly_struct, poly2: *mut fmpq_poly_struct);
}
extern "C" {
pub fn fmpq_poly_set_si(poly: *mut fmpq_poly_struct, x: mp_limb_signed_t);
}
extern "C" {
pub fn fmpq_poly_set_ui(poly: *mut fmpq_poly_struct, x: mp_limb_t);
}
extern "C" {
pub fn fmpq_poly_set_fmpz(poly: *mut fmpq_poly_struct, x: *mut fmpz);
}
extern "C" {
pub fn fmpq_poly_set_fmpq(poly: *mut fmpq_poly_struct, x: *mut fmpq);
}
extern "C" {
pub fn fmpq_poly_set_mpz(poly: *mut fmpq_poly_struct, x: *mut __mpz_struct);
}
extern "C" {
pub fn fmpq_poly_set_mpq(poly: *mut fmpq_poly_struct, x: *mut __mpq_struct);
}
extern "C" {
pub fn fmpq_poly_set_fmpz_poly(rop: *mut fmpq_poly_struct, op: *mut fmpz_poly_struct);
}
extern "C" {
pub fn _fmpq_poly_get_nmod_poly(rop: *mut nmod_poly_struct, op: *mut fmpq_poly_struct);
}
extern "C" {
pub fn fmpq_poly_get_nmod_poly_den(
rop: *mut nmod_poly_struct,
op: *mut fmpq_poly_struct,
den: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn fmpq_poly_get_nmod_poly(rop: *mut nmod_poly_struct, op: *mut fmpq_poly_struct);
}
extern "C" {
pub fn fmpq_poly_set_nmod_poly(rop: *mut fmpq_poly_struct, op: *mut nmod_poly_struct);
}
extern "C" {
pub fn _fmpq_poly_set_array_mpq(
poly: *mut fmpz,
den: *mut fmpz,
a: *const mpq_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_set_array_mpq(
poly: *mut fmpq_poly_struct,
a: *const mpq_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpq_poly_set_str(
poly: *mut fmpz,
den: *mut fmpz,
str: *const ::std::os::raw::c_char,
len: mp_limb_signed_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_poly_set_str(
poly: *mut fmpq_poly_struct,
str: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_poly_get_str(poly: *mut fmpq_poly_struct) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn fmpq_poly_get_str_pretty(
poly: *mut fmpq_poly_struct,
var: *const ::std::os::raw::c_char,
) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn _fmpq_poly_get_str_pretty(
poly: *const fmpz,
den: *mut fmpz,
len: mp_limb_signed_t,
var: *const ::std::os::raw::c_char,
) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn fmpq_poly_zero(poly: *mut fmpq_poly_struct);
}
extern "C" {
pub fn fmpq_poly_one(poly: *mut fmpq_poly_struct);
}
extern "C" {
pub fn fmpq_poly_neg(poly1: *mut fmpq_poly_struct, poly2: *mut fmpq_poly_struct);
}
extern "C" {
pub fn fmpq_poly_inv(poly1: *mut fmpq_poly_struct, poly2: *mut fmpq_poly_struct);
}
extern "C" {
pub fn fmpq_poly_swap(poly1: *mut fmpq_poly_struct, poly2: *mut fmpq_poly_struct);
}
extern "C" {
pub fn fmpq_poly_truncate(poly: *mut fmpq_poly_struct, n: mp_limb_signed_t);
}
extern "C" {
pub fn fmpq_poly_set_trunc(
res: *mut fmpq_poly_struct,
poly: *mut fmpq_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_get_slice(
rop: *mut fmpq_poly_struct,
op: *mut fmpq_poly_struct,
i: mp_limb_signed_t,
j: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_reverse(
res: *mut fmpq_poly_struct,
poly: *mut fmpq_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_get_coeff_fmpz(x: *mut fmpz, poly: *mut fmpq_poly_struct, n: mp_limb_signed_t);
}
extern "C" {
pub fn fmpq_poly_get_coeff_fmpq(x: *mut fmpq, poly: *mut fmpq_poly_struct, n: mp_limb_signed_t);
}
extern "C" {
pub fn fmpq_poly_get_coeff_mpq(
x: *mut __mpq_struct,
poly: *mut fmpq_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_set_coeff_si(
poly: *mut fmpq_poly_struct,
n: mp_limb_signed_t,
x: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_set_coeff_ui(poly: *mut fmpq_poly_struct, n: mp_limb_signed_t, x: mp_limb_t);
}
extern "C" {
pub fn fmpq_poly_set_coeff_fmpz(poly: *mut fmpq_poly_struct, n: mp_limb_signed_t, x: *mut fmpz);
}
extern "C" {
pub fn fmpq_poly_set_coeff_fmpq(poly: *mut fmpq_poly_struct, n: mp_limb_signed_t, x: *mut fmpq);
}
extern "C" {
pub fn fmpq_poly_set_coeff_mpz(
poly: *mut fmpq_poly_struct,
n: mp_limb_signed_t,
x: *mut __mpz_struct,
);
}
extern "C" {
pub fn fmpq_poly_set_coeff_mpq(
poly: *mut fmpq_poly_struct,
n: mp_limb_signed_t,
x: *mut __mpq_struct,
);
}
extern "C" {
pub fn fmpq_poly_equal(
poly1: *mut fmpq_poly_struct,
poly2: *mut fmpq_poly_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fmpq_poly_cmp(
lpoly: *const fmpz,
lden: *mut fmpz,
rpoly: *const fmpz,
rden: *mut fmpz,
len: mp_limb_signed_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_poly_cmp(
left: *mut fmpq_poly_struct,
right: *mut fmpq_poly_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fmpq_poly_equal_trunc(
poly1: *const fmpz,
den1: *mut fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
den2: *mut fmpz,
len2: mp_limb_signed_t,
n: mp_limb_signed_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_poly_equal_trunc(
poly1: *mut fmpq_poly_struct,
poly2: *mut fmpq_poly_struct,
n: mp_limb_signed_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_poly_is_zero(poly: *mut fmpq_poly_struct) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_poly_is_one(poly: *mut fmpq_poly_struct) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_poly_is_gen(op: *mut fmpq_poly_struct) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_poly_add_si(
res: *mut fmpq_poly_struct,
poly: *mut fmpq_poly_struct,
c: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_sub_si(
res: *mut fmpq_poly_struct,
poly: *mut fmpq_poly_struct,
c: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_si_sub(
res: *mut fmpq_poly_struct,
c: mp_limb_signed_t,
poly: *mut fmpq_poly_struct,
);
}
extern "C" {
pub fn fmpq_poly_add_fmpz(
res: *mut fmpq_poly_struct,
poly: *mut fmpq_poly_struct,
c: *mut fmpz,
);
}
extern "C" {
pub fn fmpq_poly_sub_fmpz(
res: *mut fmpq_poly_struct,
poly: *mut fmpq_poly_struct,
c: *mut fmpz,
);
}
extern "C" {
pub fn fmpq_poly_fmpz_sub(
res: *mut fmpq_poly_struct,
c: *mut fmpz,
poly: *mut fmpq_poly_struct,
);
}
extern "C" {
pub fn fmpq_poly_add_fmpq(
res: *mut fmpq_poly_struct,
poly: *mut fmpq_poly_struct,
c: *mut fmpq,
);
}
extern "C" {
pub fn fmpq_poly_sub_fmpq(
res: *mut fmpq_poly_struct,
poly: *mut fmpq_poly_struct,
c: *mut fmpq,
);
}
extern "C" {
pub fn fmpq_poly_fmpq_sub(
res: *mut fmpq_poly_struct,
c: *mut fmpq,
poly: *mut fmpq_poly_struct,
);
}
extern "C" {
pub fn _fmpq_poly_add(
rpoly: *mut fmpz,
rden: *mut fmpz,
poly1: *const fmpz,
den1: *mut fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
den2: *mut fmpz,
len2: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_add(
res: *mut fmpq_poly_struct,
poly1: *mut fmpq_poly_struct,
poly2: *mut fmpq_poly_struct,
);
}
extern "C" {
pub fn _fmpq_poly_add_can(
rpoly: *mut fmpz,
rden: *mut fmpz,
poly1: *const fmpz,
den1: *mut fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
den2: *mut fmpz,
len2: mp_limb_signed_t,
can: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn fmpq_poly_add_can(
res: *mut fmpq_poly_struct,
poly1: *mut fmpq_poly_struct,
poly2: *mut fmpq_poly_struct,
can: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn _fmpq_poly_add_series(
rpoly: *mut fmpz,
rden: *mut fmpz,
poly1: *const fmpz,
den1: *mut fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
den2: *mut fmpz,
len2: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_add_series(
res: *mut fmpq_poly_struct,
poly1: *mut fmpq_poly_struct,
poly2: *mut fmpq_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpq_poly_add_series_can(
rpoly: *mut fmpz,
rden: *mut fmpz,
poly1: *const fmpz,
den1: *mut fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
den2: *mut fmpz,
len2: mp_limb_signed_t,
n: mp_limb_signed_t,
can: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn fmpq_poly_add_series_can(
res: *mut fmpq_poly_struct,
poly1: *mut fmpq_poly_struct,
poly2: *mut fmpq_poly_struct,
n: mp_limb_signed_t,
can: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn _fmpq_poly_sub(
rpoly: *mut fmpz,
rden: *mut fmpz,
poly1: *const fmpz,
den1: *mut fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
den2: *mut fmpz,
len2: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_sub(
res: *mut fmpq_poly_struct,
poly1: *mut fmpq_poly_struct,
poly2: *mut fmpq_poly_struct,
);
}
extern "C" {
pub fn _fmpq_poly_sub_can(
rpoly: *mut fmpz,
rden: *mut fmpz,
poly1: *const fmpz,
den1: *mut fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
den2: *mut fmpz,
len2: mp_limb_signed_t,
can: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn fmpq_poly_sub_can(
res: *mut fmpq_poly_struct,
poly1: *mut fmpq_poly_struct,
poly2: *mut fmpq_poly_struct,
can: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn _fmpq_poly_sub_series(
rpoly: *mut fmpz,
rden: *mut fmpz,
poly1: *const fmpz,
den1: *mut fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
den2: *mut fmpz,
len2: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_sub_series(
res: *mut fmpq_poly_struct,
poly1: *mut fmpq_poly_struct,
poly2: *mut fmpq_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpq_poly_sub_series_can(
rpoly: *mut fmpz,
rden: *mut fmpz,
poly1: *const fmpz,
den1: *mut fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
den2: *mut fmpz,
len2: mp_limb_signed_t,
n: mp_limb_signed_t,
can: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn fmpq_poly_sub_series_can(
res: *mut fmpq_poly_struct,
poly1: *mut fmpq_poly_struct,
poly2: *mut fmpq_poly_struct,
n: mp_limb_signed_t,
can: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn _fmpq_poly_scalar_mul_si(
rpoly: *mut fmpz,
rden: *mut fmpz,
poly: *const fmpz,
den: *mut fmpz,
len: mp_limb_signed_t,
c: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpq_poly_scalar_mul_ui(
rpoly: *mut fmpz,
rden: *mut fmpz,
poly: *const fmpz,
den: *mut fmpz,
len: mp_limb_signed_t,
c: mp_limb_t,
);
}
extern "C" {
pub fn _fmpq_poly_scalar_mul_fmpz(
rpoly: *mut fmpz,
rden: *mut fmpz,
poly: *const fmpz,
den: *mut fmpz,
len: mp_limb_signed_t,
c: *mut fmpz,
);
}
extern "C" {
pub fn _fmpq_poly_scalar_mul_fmpq(
rpoly: *mut fmpz,
rden: *mut fmpz,
poly: *const fmpz,
den: *mut fmpz,
len: mp_limb_signed_t,
r: *mut fmpz,
s: *mut fmpz,
);
}
extern "C" {
pub fn fmpq_poly_scalar_mul_si(
rop: *mut fmpq_poly_struct,
op: *mut fmpq_poly_struct,
c: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_scalar_mul_ui(
rop: *mut fmpq_poly_struct,
op: *mut fmpq_poly_struct,
c: mp_limb_t,
);
}
extern "C" {
pub fn fmpq_poly_scalar_mul_fmpz(
rop: *mut fmpq_poly_struct,
op: *mut fmpq_poly_struct,
c: *mut fmpz,
);
}
extern "C" {
pub fn fmpq_poly_scalar_mul_fmpq(
rop: *mut fmpq_poly_struct,
op: *mut fmpq_poly_struct,
c: *mut fmpq,
);
}
extern "C" {
pub fn fmpq_poly_scalar_mul_mpz(
rop: *mut fmpq_poly_struct,
op: *mut fmpq_poly_struct,
c: *mut __mpz_struct,
);
}
extern "C" {
pub fn fmpq_poly_scalar_mul_mpq(
rop: *mut fmpq_poly_struct,
op: *mut fmpq_poly_struct,
c: *mut __mpq_struct,
);
}
extern "C" {
pub fn _fmpq_poly_scalar_div_si(
rpoly: *mut fmpz,
rden: *mut fmpz,
poly: *const fmpz,
den: *mut fmpz,
len: mp_limb_signed_t,
c: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpq_poly_scalar_div_ui(
rpoly: *mut fmpz,
rden: *mut fmpz,
poly: *const fmpz,
den: *mut fmpz,
len: mp_limb_signed_t,
c: mp_limb_t,
);
}
extern "C" {
pub fn _fmpq_poly_scalar_div_fmpz(
rpoly: *mut fmpz,
rden: *mut fmpz,
poly: *const fmpz,
den: *mut fmpz,
len: mp_limb_signed_t,
c: *mut fmpz,
);
}
extern "C" {
pub fn _fmpq_poly_scalar_div_fmpq(
rpoly: *mut fmpz,
rden: *mut fmpz,
poly: *const fmpz,
den: *mut fmpz,
len: mp_limb_signed_t,
r: *mut fmpz,
s: *mut fmpz,
);
}
extern "C" {
pub fn fmpq_poly_scalar_div_si(
rop: *mut fmpq_poly_struct,
op: *mut fmpq_poly_struct,
c: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_scalar_div_ui(
rop: *mut fmpq_poly_struct,
op: *mut fmpq_poly_struct,
c: mp_limb_t,
);
}
extern "C" {
pub fn fmpq_poly_scalar_div_fmpz(
rop: *mut fmpq_poly_struct,
op: *mut fmpq_poly_struct,
c: *mut fmpz,
);
}
extern "C" {
pub fn fmpq_poly_scalar_div_fmpq(
rop: *mut fmpq_poly_struct,
op: *mut fmpq_poly_struct,
c: *mut fmpq,
);
}
extern "C" {
pub fn fmpq_poly_scalar_div_mpz(
rop: *mut fmpq_poly_struct,
op: *mut fmpq_poly_struct,
c: *mut __mpz_struct,
);
}
extern "C" {
pub fn fmpq_poly_scalar_div_mpq(
rop: *mut fmpq_poly_struct,
op: *mut fmpq_poly_struct,
c: *mut __mpq_struct,
);
}
extern "C" {
pub fn _fmpq_poly_mul(
rpoly: *mut fmpz,
rden: *mut fmpz,
poly1: *const fmpz,
den1: *mut fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
den2: *mut fmpz,
len2: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_mul(
res: *mut fmpq_poly_struct,
poly1: *mut fmpq_poly_struct,
poly2: *mut fmpq_poly_struct,
);
}
extern "C" {
pub fn _fmpq_poly_mullow(
rpoly: *mut fmpz,
rden: *mut fmpz,
poly1: *const fmpz,
den1: *mut fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
den2: *mut fmpz,
len2: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_mullow(
res: *mut fmpq_poly_struct,
poly1: *mut fmpq_poly_struct,
poly2: *mut fmpq_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_addmul(
rop: *mut fmpq_poly_struct,
op1: *mut fmpq_poly_struct,
op2: *mut fmpq_poly_struct,
);
}
extern "C" {
pub fn fmpq_poly_submul(
rop: *mut fmpq_poly_struct,
op1: *mut fmpq_poly_struct,
op2: *mut fmpq_poly_struct,
);
}
extern "C" {
pub fn _fmpq_poly_pow(
rpoly: *mut fmpz,
rden: *mut fmpz,
poly: *const fmpz,
den: *mut fmpz,
len: mp_limb_signed_t,
e: mp_limb_t,
);
}
extern "C" {
pub fn fmpq_poly_pow(rpoly: *mut fmpq_poly_struct, poly: *mut fmpq_poly_struct, e: mp_limb_t);
}
extern "C" {
pub fn _fmpq_poly_pow_trunc(
res: *mut fmpz,
resden: *mut fmpz,
f: *const fmpz,
fden: *mut fmpz,
flen: mp_limb_signed_t,
exp: mp_limb_t,
len: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_pow_trunc(
res: *mut fmpq_poly_struct,
poly: *mut fmpq_poly_struct,
exp: mp_limb_t,
len: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_shift_left(
res: *mut fmpq_poly_struct,
poly: *mut fmpq_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_shift_right(
res: *mut fmpq_poly_struct,
poly: *mut fmpq_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpq_poly_divrem(
Q: *mut fmpz,
q: *mut fmpz,
R: *mut fmpz,
r: *mut fmpz,
A: *const fmpz,
a: *mut fmpz,
lenA: mp_limb_signed_t,
B: *const fmpz,
b: *mut fmpz,
lenB: mp_limb_signed_t,
inv: *mut fmpz_preinvn_struct,
);
}
extern "C" {
pub fn fmpq_poly_divrem(
Q: *mut fmpq_poly_struct,
R: *mut fmpq_poly_struct,
poly1: *mut fmpq_poly_struct,
poly2: *mut fmpq_poly_struct,
);
}
extern "C" {
pub fn _fmpq_poly_div(
Q: *mut fmpz,
q: *mut fmpz,
A: *const fmpz,
a: *mut fmpz,
lenA: mp_limb_signed_t,
B: *const fmpz,
b: *mut fmpz,
lenB: mp_limb_signed_t,
inv: *mut fmpz_preinvn_struct,
);
}
extern "C" {
pub fn fmpq_poly_div(
Q: *mut fmpq_poly_struct,
poly1: *mut fmpq_poly_struct,
poly2: *mut fmpq_poly_struct,
);
}
extern "C" {
pub fn _fmpq_poly_rem(
R: *mut fmpz,
r: *mut fmpz,
A: *const fmpz,
a: *mut fmpz,
lenA: mp_limb_signed_t,
B: *const fmpz,
b: *mut fmpz,
lenB: mp_limb_signed_t,
inv: *mut fmpz_preinvn_struct,
);
}
extern "C" {
pub fn fmpq_poly_rem(
R: *mut fmpq_poly_struct,
poly1: *mut fmpq_poly_struct,
poly2: *mut fmpq_poly_struct,
);
}
extern "C" {
pub fn _fmpq_poly_powers_precompute(
B: *const fmpz,
denB: *mut fmpz,
len: mp_limb_signed_t,
) -> *mut fmpq_poly_struct;
}
extern "C" {
pub fn fmpq_poly_powers_precompute(
pinv: *mut fmpq_poly_powers_precomp_struct,
poly: *mut fmpq_poly_struct,
);
}
extern "C" {
pub fn _fmpq_poly_powers_clear(powers: *mut fmpq_poly_struct, len: mp_limb_signed_t);
}
extern "C" {
pub fn fmpq_poly_powers_clear(pinv: *mut fmpq_poly_powers_precomp_struct);
}
extern "C" {
pub fn _fmpq_poly_rem_powers_precomp(
A: *mut fmpz,
denA: *mut fmpz,
m: mp_limb_signed_t,
B: *const fmpz,
denB: *mut fmpz,
n: mp_limb_signed_t,
powers: *mut fmpq_poly_struct,
);
}
extern "C" {
pub fn fmpq_poly_rem_powers_precomp(
R: *mut fmpq_poly_struct,
A: *mut fmpq_poly_struct,
B: *mut fmpq_poly_struct,
B_inv: *mut fmpq_poly_powers_precomp_struct,
);
}
extern "C" {
pub fn _fmpq_poly_divides(
qpoly: *mut fmpz,
qden: *mut fmpz,
poly1: *const fmpz,
den1: *mut fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
den2: *mut fmpz,
len2: mp_limb_signed_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_poly_divides(
q: *mut fmpq_poly_struct,
poly1: *mut fmpq_poly_struct,
poly2: *mut fmpq_poly_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_poly_remove(
q: *mut fmpq_poly_struct,
poly1: *mut fmpq_poly_struct,
poly2: *mut fmpq_poly_struct,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn _fmpq_poly_inv_series_newton(
Qinv: *mut fmpz,
Qinvden: *mut fmpz,
Q: *const fmpz,
Qden: *mut fmpz,
Qlen: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_inv_series_newton(
Qinv: *mut fmpq_poly_struct,
Q: *mut fmpq_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpq_poly_inv_series(
Qinv: *mut fmpz,
Qinvden: *mut fmpz,
Q: *const fmpz,
Qden: *mut fmpz,
Qlen: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_inv_series(
Qinv: *mut fmpq_poly_struct,
Q: *mut fmpq_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpq_poly_div_series(
Q: *mut fmpz,
denQ: *mut fmpz,
A: *const fmpz,
denA: *mut fmpz,
lenA: mp_limb_signed_t,
B: *const fmpz,
denB: *mut fmpz,
lenB: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_div_series(
Q: *mut fmpq_poly_struct,
A: *mut fmpq_poly_struct,
B: *mut fmpq_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpq_poly_gcd(
G: *mut fmpz,
denG: *mut fmpz,
A: *const fmpz,
lenA: mp_limb_signed_t,
B: *const fmpz,
lenB: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_gcd(
G: *mut fmpq_poly_struct,
A: *mut fmpq_poly_struct,
B: *mut fmpq_poly_struct,
);
}
extern "C" {
pub fn _fmpq_poly_xgcd(
G: *mut fmpz,
denG: *mut fmpz,
S: *mut fmpz,
denS: *mut fmpz,
T: *mut fmpz,
denT: *mut fmpz,
A: *const fmpz,
denA: *mut fmpz,
lenA: mp_limb_signed_t,
B: *const fmpz,
denB: *mut fmpz,
lenB: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_xgcd(
G: *mut fmpq_poly_struct,
S: *mut fmpq_poly_struct,
T: *mut fmpq_poly_struct,
A: *mut fmpq_poly_struct,
B: *mut fmpq_poly_struct,
);
}
extern "C" {
pub fn _fmpq_poly_lcm(
G: *mut fmpz,
denG: *mut fmpz,
A: *const fmpz,
lenA: mp_limb_signed_t,
B: *const fmpz,
lenB: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_lcm(
L: *mut fmpq_poly_struct,
A: *mut fmpq_poly_struct,
B: *mut fmpq_poly_struct,
);
}
extern "C" {
pub fn _fmpq_poly_resultant(
rnum: *mut fmpz,
rden: *mut fmpz,
poly1: *const fmpz,
den1: *mut fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
den2: *mut fmpz,
len2: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_resultant(r: *mut fmpq, f: *mut fmpq_poly_struct, g: *mut fmpq_poly_struct);
}
extern "C" {
pub fn _fmpq_poly_resultant_div(
rnum: *mut fmpz,
rden: *mut fmpz,
poly1: *const fmpz,
den1: *mut fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
den2: *mut fmpz,
len2: mp_limb_signed_t,
divisor: *mut fmpz,
nbits: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_resultant_div(
r: *mut fmpq,
f: *mut fmpq_poly_struct,
g: *mut fmpq_poly_struct,
divisor: *mut fmpz,
nbits: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpq_poly_derivative(
rpoly: *mut fmpz,
rden: *mut fmpz,
poly: *const fmpz,
den: *mut fmpz,
len: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_derivative(res: *mut fmpq_poly_struct, poly: *mut fmpq_poly_struct);
}
extern "C" {
pub fn _fmpq_poly_integral(
rpoly: *mut fmpz,
rden: *mut fmpz,
poly: *const fmpz,
den: *mut fmpz,
len: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_integral(res: *mut fmpq_poly_struct, poly: *mut fmpq_poly_struct);
}
extern "C" {
pub fn _fmpq_poly_invsqrt_series(
rpoly: *mut fmpz,
rden: *mut fmpz,
poly: *const fmpz,
den: *mut fmpz,
len: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_invsqrt_series(
res: *mut fmpq_poly_struct,
poly: *mut fmpq_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpq_poly_sqrt_series(
rpoly: *mut fmpz,
rden: *mut fmpz,
poly: *const fmpz,
den: *mut fmpz,
len: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_sqrt_series(
res: *mut fmpq_poly_struct,
poly: *mut fmpq_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpq_poly_power_sums(
res: *mut fmpz,
rden: *mut fmpz,
poly: *const fmpz,
len: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_power_sums(
res: *mut fmpq_poly_struct,
poly: *mut fmpq_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpq_poly_power_sums_to_poly(
res: *mut fmpz,
poly: *const fmpz,
den: *mut fmpz,
len: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_power_sums_to_fmpz_poly(res: *mut fmpz_poly_struct, Q: *mut fmpq_poly_struct);
}
extern "C" {
pub fn fmpq_poly_power_sums_to_poly(res: *mut fmpq_poly_struct, Q: *mut fmpq_poly_struct);
}
extern "C" {
pub fn _fmpq_poly_log_series(
g: *mut fmpz,
gden: *mut fmpz,
f: *const fmpz,
fden: *mut fmpz,
flen: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_log_series(
res: *mut fmpq_poly_struct,
f: *mut fmpq_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpq_poly_exp_series(
g: *mut fmpz,
gden: *mut fmpz,
h: *const fmpz,
hden: *mut fmpz,
hlen: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_exp_series(
res: *mut fmpq_poly_struct,
poly: *mut fmpq_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpq_poly_atan_series(
g: *mut fmpz,
gden: *mut fmpz,
h: *const fmpz,
hden: *mut fmpz,
hlen: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_atan_series(
res: *mut fmpq_poly_struct,
poly: *mut fmpq_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpq_poly_atanh_series(
g: *mut fmpz,
gden: *mut fmpz,
h: *const fmpz,
hden: *mut fmpz,
hlen: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_atanh_series(
res: *mut fmpq_poly_struct,
poly: *mut fmpq_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpq_poly_asin_series(
g: *mut fmpz,
gden: *mut fmpz,
h: *const fmpz,
hden: *mut fmpz,
hlen: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_asin_series(
res: *mut fmpq_poly_struct,
poly: *mut fmpq_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpq_poly_asinh_series(
g: *mut fmpz,
gden: *mut fmpz,
h: *const fmpz,
hden: *mut fmpz,
hlen: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_asinh_series(
res: *mut fmpq_poly_struct,
poly: *mut fmpq_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpq_poly_tan_series(
g: *mut fmpz,
gden: *mut fmpz,
h: *const fmpz,
hden: *mut fmpz,
hlen: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_tan_series(
res: *mut fmpq_poly_struct,
poly: *mut fmpq_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpq_poly_sin_series(
g: *mut fmpz,
gden: *mut fmpz,
h: *const fmpz,
hden: *mut fmpz,
hlen: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_sin_series(
res: *mut fmpq_poly_struct,
poly: *mut fmpq_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpq_poly_cos_series(
g: *mut fmpz,
gden: *mut fmpz,
h: *const fmpz,
hden: *mut fmpz,
hlen: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_cos_series(
res: *mut fmpq_poly_struct,
poly: *mut fmpq_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpq_poly_sin_cos_series(
s: *mut fmpz,
sden: *mut fmpz,
c: *mut fmpz,
cden: *mut fmpz,
h: *const fmpz,
hden: *mut fmpz,
hlen: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_sin_cos_series(
res1: *mut fmpq_poly_struct,
res2: *mut fmpq_poly_struct,
poly: *mut fmpq_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpq_poly_sinh_series(
g: *mut fmpz,
gden: *mut fmpz,
h: *const fmpz,
hden: *mut fmpz,
hlen: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_sinh_series(
res: *mut fmpq_poly_struct,
poly: *mut fmpq_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpq_poly_cosh_series(
g: *mut fmpz,
gden: *mut fmpz,
h: *const fmpz,
hden: *mut fmpz,
hlen: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_cosh_series(
res: *mut fmpq_poly_struct,
poly: *mut fmpq_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpq_poly_tanh_series(
g: *mut fmpz,
gden: *mut fmpz,
h: *const fmpz,
hden: *mut fmpz,
hlen: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_tanh_series(
res: *mut fmpq_poly_struct,
poly: *mut fmpq_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpq_poly_legendre_p(coeffs: *mut fmpz, den: *mut fmpz, n: mp_limb_t);
}
extern "C" {
pub fn fmpq_poly_legendre_p(poly: *mut fmpq_poly_struct, n: mp_limb_t);
}
extern "C" {
pub fn _fmpq_poly_laguerre_l(coeffs: *mut fmpz, den: *mut fmpz, n: mp_limb_t);
}
extern "C" {
pub fn fmpq_poly_laguerre_l(poly: *mut fmpq_poly_struct, n: mp_limb_t);
}
extern "C" {
pub fn _fmpq_poly_gegenbauer_c(coeffs: *mut fmpz, den: *mut fmpz, n: mp_limb_t, a: *mut fmpq);
}
extern "C" {
pub fn fmpq_poly_gegenbauer_c(poly: *mut fmpq_poly_struct, n: mp_limb_t, a: *mut fmpq);
}
extern "C" {
pub fn _fmpq_poly_evaluate_fmpz(
rnum: *mut fmpz,
rden: *mut fmpz,
poly: *const fmpz,
den: *mut fmpz,
len: mp_limb_signed_t,
a: *mut fmpz,
);
}
extern "C" {
pub fn fmpq_poly_evaluate_fmpz(res: *mut fmpq, poly: *mut fmpq_poly_struct, a: *mut fmpz);
}
extern "C" {
pub fn _fmpq_poly_evaluate_fmpq(
rnum: *mut fmpz,
rden: *mut fmpz,
poly: *const fmpz,
den: *mut fmpz,
len: mp_limb_signed_t,
anum: *mut fmpz,
aden: *mut fmpz,
);
}
extern "C" {
pub fn fmpq_poly_evaluate_fmpq(res: *mut fmpq, poly: *mut fmpq_poly_struct, a: *mut fmpq);
}
extern "C" {
pub fn fmpq_poly_evaluate_mpz(
res: *mut __mpq_struct,
poly: *mut fmpq_poly_struct,
a: *mut __mpz_struct,
);
}
extern "C" {
pub fn fmpq_poly_evaluate_mpq(
res: *mut __mpq_struct,
poly: *mut fmpq_poly_struct,
a: *mut __mpq_struct,
);
}
extern "C" {
pub fn _fmpq_poly_interpolate_fmpz_vec(
poly: *mut fmpz,
den: *mut fmpz,
xs: *const fmpz,
ys: *const fmpz,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_interpolate_fmpz_vec(
poly: *mut fmpq_poly_struct,
xs: *const fmpz,
ys: *const fmpz,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpq_poly_compose(
res: *mut fmpz,
den: *mut fmpz,
poly1: *const fmpz,
den1: *mut fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
den2: *mut fmpz,
len2: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_compose(
res: *mut fmpq_poly_struct,
poly1: *mut fmpq_poly_struct,
poly2: *mut fmpq_poly_struct,
);
}
extern "C" {
pub fn _fmpq_poly_rescale(
res: *mut fmpz,
denr: *mut fmpz,
poly: *const fmpz,
den: *mut fmpz,
len: mp_limb_signed_t,
xnum: *mut fmpz,
xden: *mut fmpz,
);
}
extern "C" {
pub fn fmpq_poly_rescale(res: *mut fmpq_poly_struct, poly: *mut fmpq_poly_struct, x: *mut fmpq);
}
extern "C" {
pub fn _fmpq_poly_compose_series_horner(
res: *mut fmpz,
den: *mut fmpz,
poly1: *const fmpz,
den1: *mut fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
den2: *mut fmpz,
len2: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_compose_series_horner(
res: *mut fmpq_poly_struct,
poly1: *mut fmpq_poly_struct,
poly2: *mut fmpq_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpq_poly_compose_series_brent_kung(
res: *mut fmpz,
den: *mut fmpz,
poly1: *const fmpz,
den1: *mut fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
den2: *mut fmpz,
len2: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_compose_series_brent_kung(
res: *mut fmpq_poly_struct,
poly1: *mut fmpq_poly_struct,
poly2: *mut fmpq_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpq_poly_compose_series(
res: *mut fmpz,
den: *mut fmpz,
poly1: *const fmpz,
den1: *mut fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
den2: *mut fmpz,
len2: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_compose_series(
res: *mut fmpq_poly_struct,
poly1: *mut fmpq_poly_struct,
poly2: *mut fmpq_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpq_poly_revert_series_lagrange(
res: *mut fmpz,
den: *mut fmpz,
poly1: *const fmpz,
den1: *mut fmpz,
len1: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_revert_series_lagrange(
res: *mut fmpq_poly_struct,
poly: *mut fmpq_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpq_poly_revert_series_lagrange_fast(
res: *mut fmpz,
den: *mut fmpz,
poly1: *const fmpz,
den1: *mut fmpz,
len1: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_revert_series_lagrange_fast(
res: *mut fmpq_poly_struct,
poly: *mut fmpq_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpq_poly_revert_series_newton(
res: *mut fmpz,
den: *mut fmpz,
poly1: *const fmpz,
den1: *mut fmpz,
len1: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_revert_series_newton(
res: *mut fmpq_poly_struct,
poly: *mut fmpq_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpq_poly_revert_series(
res: *mut fmpz,
den: *mut fmpz,
poly1: *const fmpz,
den1: *mut fmpz,
len1: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_revert_series(
res: *mut fmpq_poly_struct,
poly: *mut fmpq_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpq_poly_content(
res: *mut fmpq,
poly: *const fmpz,
den: *mut fmpz,
len: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_content(res: *mut fmpq, poly: *mut fmpq_poly_struct);
}
extern "C" {
pub fn _fmpq_poly_primitive_part(
rpoly: *mut fmpz,
rden: *mut fmpz,
poly: *const fmpz,
den: *mut fmpz,
len: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_primitive_part(res: *mut fmpq_poly_struct, poly: *mut fmpq_poly_struct);
}
extern "C" {
pub fn _fmpq_poly_is_monic(
poly: *const fmpz,
den: *mut fmpz,
len: mp_limb_signed_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_poly_is_monic(poly: *mut fmpq_poly_struct) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fmpq_poly_make_monic(
rpoly: *mut fmpz,
rden: *mut fmpz,
poly: *const fmpz,
den: *mut fmpz,
len: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_poly_make_monic(res: *mut fmpq_poly_struct, poly: *mut fmpq_poly_struct);
}
extern "C" {
pub fn fmpq_poly_is_squarefree(poly: *mut fmpq_poly_struct) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_poly_debug(poly: *mut fmpq_poly_struct) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fmpq_poly_fprint(
file: *mut FILE,
poly: *const fmpz,
den: *mut fmpz,
len: mp_limb_signed_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_poly_fprint(file: *mut FILE, poly: *mut fmpq_poly_struct) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fmpq_poly_fprint_pretty(
file: *mut FILE,
poly: *const fmpz,
den: *mut fmpz,
len: mp_limb_signed_t,
x: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_poly_fprint_pretty(
file: *mut FILE,
poly: *mut fmpq_poly_struct,
var: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fmpq_poly_print(
poly: *const fmpz,
den: *mut fmpz,
len: mp_limb_signed_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_poly_print(poly: *mut fmpq_poly_struct) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fmpq_poly_print_pretty(
poly: *const fmpz,
den: *mut fmpz,
len: mp_limb_signed_t,
x: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_poly_print_pretty(
poly: *mut fmpq_poly_struct,
var: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_poly_fread(file: *mut FILE, poly: *mut fmpq_poly_struct) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_poly_read(poly: *mut fmpq_poly_struct) -> ::std::os::raw::c_int;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct fmpq_mat_struct {
pub entries: *mut fmpq,
pub r: mp_limb_signed_t,
pub c: mp_limb_signed_t,
pub rows: *mut *mut fmpq,
}
#[test]
fn bindgen_test_layout_fmpq_mat_struct() {
assert_eq!(
::std::mem::size_of::<fmpq_mat_struct>(),
32usize,
concat!("Size of: ", stringify!(fmpq_mat_struct))
);
assert_eq!(
::std::mem::align_of::<fmpq_mat_struct>(),
8usize,
concat!("Alignment of ", stringify!(fmpq_mat_struct))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpq_mat_struct>())).entries as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(fmpq_mat_struct),
"::",
stringify!(entries)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpq_mat_struct>())).r as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(fmpq_mat_struct),
"::",
stringify!(r)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpq_mat_struct>())).c as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(fmpq_mat_struct),
"::",
stringify!(c)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpq_mat_struct>())).rows as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(fmpq_mat_struct),
"::",
stringify!(rows)
)
);
}
pub type fmpq_mat_t = [fmpq_mat_struct; 1usize];
extern "C" {
pub fn fmpq_mat_init(mat: *mut fmpq_mat_struct, rows: mp_limb_signed_t, cols: mp_limb_signed_t);
}
extern "C" {
pub fn fmpq_mat_init_set(mat1: *mut fmpq_mat_struct, mat2: *mut fmpq_mat_struct);
}
extern "C" {
pub fn fmpq_mat_clear(mat: *mut fmpq_mat_struct);
}
extern "C" {
pub fn fmpq_mat_swap(mat1: *mut fmpq_mat_struct, mat2: *mut fmpq_mat_struct);
}
extern "C" {
pub fn fmpq_mat_window_init(
window: *mut fmpq_mat_struct,
mat: *mut fmpq_mat_struct,
r1: mp_limb_signed_t,
c1: mp_limb_signed_t,
r2: mp_limb_signed_t,
c2: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpq_mat_window_clear(window: *mut fmpq_mat_struct);
}
extern "C" {
pub fn fmpq_mat_concat_horizontal(
res: *mut fmpq_mat_struct,
mat1: *mut fmpq_mat_struct,
mat2: *mut fmpq_mat_struct,
);
}
extern "C" {
pub fn fmpq_mat_concat_vertical(
res: *mut fmpq_mat_struct,
mat1: *mut fmpq_mat_struct,
mat2: *mut fmpq_mat_struct,
);
}
extern "C" {
pub fn fmpq_mat_print(mat: *mut fmpq_mat_struct);
}
extern "C" {
pub fn fmpq_mat_randbits(mat: *mut fmpq_mat_struct, state: *mut flint_rand_s, bits: mp_limb_t);
}
extern "C" {
pub fn fmpq_mat_randtest(mat: *mut fmpq_mat_struct, state: *mut flint_rand_s, bits: mp_limb_t);
}
extern "C" {
pub fn fmpq_mat_hilbert_matrix(mat: *mut fmpq_mat_struct);
}
extern "C" {
pub fn fmpq_mat_set(dest: *mut fmpq_mat_struct, src: *mut fmpq_mat_struct);
}
extern "C" {
pub fn fmpq_mat_zero(mat: *mut fmpq_mat_struct);
}
extern "C" {
pub fn fmpq_mat_one(mat: *mut fmpq_mat_struct);
}
extern "C" {
pub fn fmpq_mat_transpose(rop: *mut fmpq_mat_struct, op: *mut fmpq_mat_struct);
}
extern "C" {
pub fn fmpq_mat_add(
mat: *mut fmpq_mat_struct,
mat1: *mut fmpq_mat_struct,
mat2: *mut fmpq_mat_struct,
);
}
extern "C" {
pub fn fmpq_mat_sub(
mat: *mut fmpq_mat_struct,
mat1: *mut fmpq_mat_struct,
mat2: *mut fmpq_mat_struct,
);
}
extern "C" {
pub fn fmpq_mat_neg(rop: *mut fmpq_mat_struct, op: *mut fmpq_mat_struct);
}
extern "C" {
pub fn fmpq_mat_scalar_mul_fmpq(
rop: *mut fmpq_mat_struct,
op: *mut fmpq_mat_struct,
x: *mut fmpq,
);
}
extern "C" {
pub fn fmpq_mat_scalar_mul_fmpz(
rop: *mut fmpq_mat_struct,
op: *mut fmpq_mat_struct,
x: *mut fmpz,
);
}
extern "C" {
pub fn fmpq_mat_scalar_div_fmpz(
rop: *mut fmpq_mat_struct,
op: *mut fmpq_mat_struct,
x: *mut fmpz,
);
}
extern "C" {
pub fn fmpq_mat_equal(
mat1: *mut fmpq_mat_struct,
mat2: *mut fmpq_mat_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_mat_is_integral(mat: *mut fmpq_mat_struct) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_mat_is_zero(mat: *mut fmpq_mat_struct) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_mat_is_one(mat: *mut fmpq_mat_struct) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_mat_get_fmpz_mat(
dest: *mut fmpz_mat_struct,
mat: *mut fmpq_mat_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_mat_get_fmpz_mat_entrywise(
num: *mut fmpz_mat_struct,
den: *mut fmpz_mat_struct,
mat: *mut fmpq_mat_struct,
);
}
extern "C" {
pub fn fmpq_mat_get_fmpz_mat_matwise(
num: *mut fmpz_mat_struct,
den: *mut fmpz,
mat: *mut fmpq_mat_struct,
);
}
extern "C" {
pub fn fmpq_mat_get_fmpz_mat_rowwise(
num: *mut fmpz_mat_struct,
den: *mut fmpz,
mat: *mut fmpq_mat_struct,
);
}
extern "C" {
pub fn fmpq_mat_get_fmpz_mat_colwise(
num: *mut fmpz_mat_struct,
den: *mut fmpz,
mat: *mut fmpq_mat_struct,
);
}
extern "C" {
pub fn fmpq_mat_get_fmpz_mat_rowwise_2(
num: *mut fmpz_mat_struct,
num2: *mut fmpz_mat_struct,
den: *mut fmpz,
mat: *mut fmpq_mat_struct,
mat2: *mut fmpq_mat_struct,
);
}
extern "C" {
pub fn fmpq_mat_get_fmpz_mat_mod_fmpz(
dest: *mut fmpz_mat_struct,
mat: *mut fmpq_mat_struct,
mod_: *mut fmpz,
);
}
extern "C" {
pub fn fmpq_mat_set_fmpz_mat(dest: *mut fmpq_mat_struct, src: *mut fmpz_mat_struct);
}
extern "C" {
pub fn fmpq_mat_set_fmpz_mat_div_fmpz(
X: *mut fmpq_mat_struct,
Xmod: *mut fmpz_mat_struct,
div: *mut fmpz,
);
}
extern "C" {
pub fn fmpq_mat_set_fmpz_mat_mod_fmpz(
X: *mut fmpq_mat_struct,
Xmod: *mut fmpz_mat_struct,
mod_: *mut fmpz,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_mat_mul_direct(
C: *mut fmpq_mat_struct,
A: *mut fmpq_mat_struct,
B: *mut fmpq_mat_struct,
);
}
extern "C" {
pub fn fmpq_mat_mul_cleared(
C: *mut fmpq_mat_struct,
A: *mut fmpq_mat_struct,
B: *mut fmpq_mat_struct,
);
}
extern "C" {
pub fn fmpq_mat_mul(C: *mut fmpq_mat_struct, A: *mut fmpq_mat_struct, B: *mut fmpq_mat_struct);
}
extern "C" {
pub fn fmpq_mat_mul_fmpz_mat(
C: *mut fmpq_mat_struct,
A: *mut fmpq_mat_struct,
B: *mut fmpz_mat_struct,
);
}
extern "C" {
pub fn fmpq_mat_mul_r_fmpz_mat(
C: *mut fmpq_mat_struct,
A: *mut fmpz_mat_struct,
B: *mut fmpq_mat_struct,
);
}
extern "C" {
pub fn fmpq_mat_kronecker_product(
C: *mut fmpq_mat_struct,
A: *mut fmpq_mat_struct,
B: *mut fmpq_mat_struct,
);
}
extern "C" {
pub fn fmpq_mat_trace(trace: *mut fmpq, mat: *mut fmpq_mat_struct);
}
extern "C" {
pub fn fmpq_mat_det(det: *mut fmpq, mat: *mut fmpq_mat_struct);
}
extern "C" {
pub fn fmpq_mat_solve_fmpz_mat_fraction_free(
X: *mut fmpq_mat_struct,
A: *mut fmpz_mat_struct,
B: *mut fmpz_mat_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_mat_solve_fraction_free(
X: *mut fmpq_mat_struct,
A: *mut fmpq_mat_struct,
B: *mut fmpq_mat_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_mat_solve_fmpz_mat_dixon(
X: *mut fmpq_mat_struct,
A: *mut fmpz_mat_struct,
B: *mut fmpz_mat_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_mat_solve_dixon(
X: *mut fmpq_mat_struct,
A: *mut fmpq_mat_struct,
B: *mut fmpq_mat_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_mat_solve_fmpz_mat_multi_mod(
X: *mut fmpq_mat_struct,
A: *mut fmpz_mat_struct,
B: *mut fmpz_mat_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_mat_solve_multi_mod(
X: *mut fmpq_mat_struct,
A: *mut fmpq_mat_struct,
B: *mut fmpq_mat_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_mat_solve_fmpz_mat(
X: *mut fmpq_mat_struct,
A: *mut fmpz_mat_struct,
B: *mut fmpz_mat_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_mat_solve(
X: *mut fmpq_mat_struct,
A: *mut fmpq_mat_struct,
B: *mut fmpq_mat_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_mat_inv(B: *mut fmpq_mat_struct, A: *mut fmpq_mat_struct) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_mat_pivot(
perm: *mut mp_limb_signed_t,
mat: *mut fmpq_mat_struct,
r: mp_limb_signed_t,
c: mp_limb_signed_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpq_mat_rref_classical(
B: *mut fmpq_mat_struct,
A: *mut fmpq_mat_struct,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn fmpq_mat_rref_fraction_free(
B: *mut fmpq_mat_struct,
A: *mut fmpq_mat_struct,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn fmpq_mat_rref(B: *mut fmpq_mat_struct, A: *mut fmpq_mat_struct) -> mp_limb_signed_t;
}
extern "C" {
pub fn fmpq_mat_gso(B: *mut fmpq_mat_struct, A: *mut fmpq_mat_struct);
}
extern "C" {
pub fn fmpq_mat_similarity(A: *mut fmpq_mat_struct, r: mp_limb_signed_t, d: *mut fmpq);
}
extern "C" {
pub fn _fmpq_mat_charpoly(coeffs: *mut fmpz, den: *mut fmpz, mat: *mut fmpq_mat_struct);
}
extern "C" {
pub fn fmpq_mat_charpoly(pol: *mut fmpq_poly_struct, mat: *mut fmpq_mat_struct);
}
extern "C" {
pub fn _fmpq_mat_minpoly(
coeffs: *mut fmpz,
den: *mut fmpz,
mat: *mut fmpq_mat_struct,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn fmpq_mat_minpoly(pol: *mut fmpq_poly_struct, mat: *mut fmpq_mat_struct);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct fmpz_mod_mat_struct {
pub mat: fmpz_mat_t,
pub mod_: fmpz_t,
}
#[test]
fn bindgen_test_layout_fmpz_mod_mat_struct() {
assert_eq!(
::std::mem::size_of::<fmpz_mod_mat_struct>(),
40usize,
concat!("Size of: ", stringify!(fmpz_mod_mat_struct))
);
assert_eq!(
::std::mem::align_of::<fmpz_mod_mat_struct>(),
8usize,
concat!("Alignment of ", stringify!(fmpz_mod_mat_struct))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_mod_mat_struct>())).mat as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(fmpz_mod_mat_struct),
"::",
stringify!(mat)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_mod_mat_struct>())).mod_ as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(fmpz_mod_mat_struct),
"::",
stringify!(mod_)
)
);
}
pub type fmpz_mod_mat_t = [fmpz_mod_mat_struct; 1usize];
extern "C" {
pub fn fmpz_mod_mat_init(
mat: *mut fmpz_mod_mat_struct,
rows: mp_limb_signed_t,
cols: mp_limb_signed_t,
n: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mod_mat_init_set(mat: *mut fmpz_mod_mat_struct, src: *mut fmpz_mod_mat_struct);
}
extern "C" {
pub fn fmpz_mod_mat_clear(mat: *mut fmpz_mod_mat_struct);
}
extern "C" {
pub fn fmpz_mod_mat_randtest(mat: *mut fmpz_mod_mat_struct, state: *mut flint_rand_s);
}
extern "C" {
pub fn fmpz_mod_mat_window_init(
window: *mut fmpz_mod_mat_struct,
mat: *mut fmpz_mod_mat_struct,
r1: mp_limb_signed_t,
c1: mp_limb_signed_t,
r2: mp_limb_signed_t,
c2: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_mod_mat_window_clear(window: *mut fmpz_mod_mat_struct);
}
extern "C" {
pub fn fmpz_mod_mat_add(
C: *mut fmpz_mod_mat_struct,
A: *mut fmpz_mod_mat_struct,
B: *mut fmpz_mod_mat_struct,
);
}
extern "C" {
pub fn fmpz_mod_mat_sub(
C: *mut fmpz_mod_mat_struct,
A: *mut fmpz_mod_mat_struct,
B: *mut fmpz_mod_mat_struct,
);
}
extern "C" {
pub fn fmpz_mod_mat_neg(B: *mut fmpz_mod_mat_struct, A: *mut fmpz_mod_mat_struct);
}
extern "C" {
pub fn fmpz_mod_mat_scalar_mul_si(
B: *mut fmpz_mod_mat_struct,
A: *mut fmpz_mod_mat_struct,
c: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_mod_mat_scalar_mul_ui(
B: *mut fmpz_mod_mat_struct,
A: *mut fmpz_mod_mat_struct,
c: mp_limb_t,
);
}
extern "C" {
pub fn fmpz_mod_mat_scalar_mul_fmpz(
B: *mut fmpz_mod_mat_struct,
A: *mut fmpz_mod_mat_struct,
c: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mod_mat_mul(
C: *mut fmpz_mod_mat_struct,
A: *mut fmpz_mod_mat_struct,
B: *mut fmpz_mod_mat_struct,
);
}
extern "C" {
pub fn _fmpz_mod_mat_mul_classical_threaded_pool_op(
D: *mut fmpz_mod_mat_struct,
C: *mut fmpz_mod_mat_struct,
A: *mut fmpz_mod_mat_struct,
B: *mut fmpz_mod_mat_struct,
op: ::std::os::raw::c_int,
threads: *mut thread_pool_handle,
num_threads: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_mod_mat_mul_classical_threaded(
C: *mut fmpz_mod_mat_struct,
A: *mut fmpz_mod_mat_struct,
B: *mut fmpz_mod_mat_struct,
);
}
extern "C" {
pub fn fmpz_mod_mat_sqr(B: *mut fmpz_mod_mat_struct, A: *mut fmpz_mod_mat_struct);
}
extern "C" {
pub fn fmpz_mod_mat_trace(trace: *mut fmpz, mat: *mut fmpz_mod_mat_struct);
}
extern "C" {
pub fn fmpz_mod_mat_rref(
perm: *mut mp_limb_signed_t,
mat: *mut fmpz_mod_mat_struct,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn fmpz_mod_mat_howell_form(mat: *mut fmpz_mod_mat_struct) -> mp_limb_signed_t;
}
extern "C" {
pub fn fmpz_mod_mat_strong_echelon_form(mat: *mut fmpz_mod_mat_struct);
}
extern "C" {
pub fn fmpz_mod_mat_get_entry(
x: *mut fmpz,
mat: *mut fmpz_mod_mat_struct,
i: mp_limb_signed_t,
j: mp_limb_signed_t,
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct fmpz_mod_poly_struct {
pub coeffs: *mut fmpz,
pub alloc: mp_limb_signed_t,
pub length: mp_limb_signed_t,
pub p: fmpz,
}
#[test]
fn bindgen_test_layout_fmpz_mod_poly_struct() {
assert_eq!(
::std::mem::size_of::<fmpz_mod_poly_struct>(),
32usize,
concat!("Size of: ", stringify!(fmpz_mod_poly_struct))
);
assert_eq!(
::std::mem::align_of::<fmpz_mod_poly_struct>(),
8usize,
concat!("Alignment of ", stringify!(fmpz_mod_poly_struct))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_mod_poly_struct>())).coeffs as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(fmpz_mod_poly_struct),
"::",
stringify!(coeffs)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_mod_poly_struct>())).alloc as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(fmpz_mod_poly_struct),
"::",
stringify!(alloc)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_mod_poly_struct>())).length as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(fmpz_mod_poly_struct),
"::",
stringify!(length)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_mod_poly_struct>())).p as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(fmpz_mod_poly_struct),
"::",
stringify!(p)
)
);
}
pub type fmpz_mod_poly_t = [fmpz_mod_poly_struct; 1usize];
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct fmpz_mod_poly_res_struct {
pub res: fmpz_t,
pub lc: fmpz_t,
pub len0: mp_limb_signed_t,
pub len1: mp_limb_signed_t,
pub off: mp_limb_signed_t,
}
#[test]
fn bindgen_test_layout_fmpz_mod_poly_res_struct() {
assert_eq!(
::std::mem::size_of::<fmpz_mod_poly_res_struct>(),
40usize,
concat!("Size of: ", stringify!(fmpz_mod_poly_res_struct))
);
assert_eq!(
::std::mem::align_of::<fmpz_mod_poly_res_struct>(),
8usize,
concat!("Alignment of ", stringify!(fmpz_mod_poly_res_struct))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_mod_poly_res_struct>())).res as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(fmpz_mod_poly_res_struct),
"::",
stringify!(res)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_mod_poly_res_struct>())).lc as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(fmpz_mod_poly_res_struct),
"::",
stringify!(lc)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_mod_poly_res_struct>())).len0 as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(fmpz_mod_poly_res_struct),
"::",
stringify!(len0)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_mod_poly_res_struct>())).len1 as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(fmpz_mod_poly_res_struct),
"::",
stringify!(len1)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_mod_poly_res_struct>())).off as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(fmpz_mod_poly_res_struct),
"::",
stringify!(off)
)
);
}
pub type fmpz_mod_poly_res_t = [fmpz_mod_poly_res_struct; 1usize];
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct fmpz_mod_poly_frobenius_powers_2exp_struct {
pub pow: *mut fmpz_mod_poly_struct,
pub len: mp_limb_signed_t,
}
#[test]
fn bindgen_test_layout_fmpz_mod_poly_frobenius_powers_2exp_struct() {
assert_eq!(
::std::mem::size_of::<fmpz_mod_poly_frobenius_powers_2exp_struct>(),
16usize,
concat!(
"Size of: ",
stringify!(fmpz_mod_poly_frobenius_powers_2exp_struct)
)
);
assert_eq!(
::std::mem::align_of::<fmpz_mod_poly_frobenius_powers_2exp_struct>(),
8usize,
concat!(
"Alignment of ",
stringify!(fmpz_mod_poly_frobenius_powers_2exp_struct)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<fmpz_mod_poly_frobenius_powers_2exp_struct>())).pow as *const _
as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(fmpz_mod_poly_frobenius_powers_2exp_struct),
"::",
stringify!(pow)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<fmpz_mod_poly_frobenius_powers_2exp_struct>())).len as *const _
as usize
},
8usize,
concat!(
"Offset of field: ",
stringify!(fmpz_mod_poly_frobenius_powers_2exp_struct),
"::",
stringify!(len)
)
);
}
pub type fmpz_mod_poly_frobenius_powers_2exp_t =
[fmpz_mod_poly_frobenius_powers_2exp_struct; 1usize];
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct fmpz_mod_poly_frobenius_powers_struct {
pub pow: *mut fmpz_mod_poly_struct,
pub len: mp_limb_signed_t,
}
#[test]
fn bindgen_test_layout_fmpz_mod_poly_frobenius_powers_struct() {
assert_eq!(
::std::mem::size_of::<fmpz_mod_poly_frobenius_powers_struct>(),
16usize,
concat!(
"Size of: ",
stringify!(fmpz_mod_poly_frobenius_powers_struct)
)
);
assert_eq!(
::std::mem::align_of::<fmpz_mod_poly_frobenius_powers_struct>(),
8usize,
concat!(
"Alignment of ",
stringify!(fmpz_mod_poly_frobenius_powers_struct)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<fmpz_mod_poly_frobenius_powers_struct>())).pow as *const _
as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(fmpz_mod_poly_frobenius_powers_struct),
"::",
stringify!(pow)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<fmpz_mod_poly_frobenius_powers_struct>())).len as *const _
as usize
},
8usize,
concat!(
"Offset of field: ",
stringify!(fmpz_mod_poly_frobenius_powers_struct),
"::",
stringify!(len)
)
);
}
pub type fmpz_mod_poly_frobenius_powers_t = [fmpz_mod_poly_frobenius_powers_struct; 1usize];
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct fmpz_mod_poly_matrix_precompute_arg_t {
pub A: *mut fmpz_mat_struct,
pub poly1: *mut fmpz_mod_poly_struct,
pub poly2: *mut fmpz_mod_poly_struct,
pub poly2inv: *mut fmpz_mod_poly_struct,
}
#[test]
fn bindgen_test_layout_fmpz_mod_poly_matrix_precompute_arg_t() {
assert_eq!(
::std::mem::size_of::<fmpz_mod_poly_matrix_precompute_arg_t>(),
32usize,
concat!(
"Size of: ",
stringify!(fmpz_mod_poly_matrix_precompute_arg_t)
)
);
assert_eq!(
::std::mem::align_of::<fmpz_mod_poly_matrix_precompute_arg_t>(),
8usize,
concat!(
"Alignment of ",
stringify!(fmpz_mod_poly_matrix_precompute_arg_t)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<fmpz_mod_poly_matrix_precompute_arg_t>())).A as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(fmpz_mod_poly_matrix_precompute_arg_t),
"::",
stringify!(A)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<fmpz_mod_poly_matrix_precompute_arg_t>())).poly1 as *const _
as usize
},
8usize,
concat!(
"Offset of field: ",
stringify!(fmpz_mod_poly_matrix_precompute_arg_t),
"::",
stringify!(poly1)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<fmpz_mod_poly_matrix_precompute_arg_t>())).poly2 as *const _
as usize
},
16usize,
concat!(
"Offset of field: ",
stringify!(fmpz_mod_poly_matrix_precompute_arg_t),
"::",
stringify!(poly2)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<fmpz_mod_poly_matrix_precompute_arg_t>())).poly2inv as *const _
as usize
},
24usize,
concat!(
"Offset of field: ",
stringify!(fmpz_mod_poly_matrix_precompute_arg_t),
"::",
stringify!(poly2inv)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct fmpz_mod_poly_compose_mod_precomp_preinv_arg_t {
pub A: *mut fmpz_mat_struct,
pub res: *mut fmpz_mod_poly_struct,
pub poly1: *mut fmpz_mod_poly_struct,
pub poly3: *mut fmpz_mod_poly_struct,
pub poly3inv: *mut fmpz_mod_poly_struct,
}
#[test]
fn bindgen_test_layout_fmpz_mod_poly_compose_mod_precomp_preinv_arg_t() {
assert_eq!(
::std::mem::size_of::<fmpz_mod_poly_compose_mod_precomp_preinv_arg_t>(),
40usize,
concat!(
"Size of: ",
stringify!(fmpz_mod_poly_compose_mod_precomp_preinv_arg_t)
)
);
assert_eq!(
::std::mem::align_of::<fmpz_mod_poly_compose_mod_precomp_preinv_arg_t>(),
8usize,
concat!(
"Alignment of ",
stringify!(fmpz_mod_poly_compose_mod_precomp_preinv_arg_t)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<fmpz_mod_poly_compose_mod_precomp_preinv_arg_t>())).A as *const _
as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(fmpz_mod_poly_compose_mod_precomp_preinv_arg_t),
"::",
stringify!(A)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<fmpz_mod_poly_compose_mod_precomp_preinv_arg_t>())).res
as *const _ as usize
},
8usize,
concat!(
"Offset of field: ",
stringify!(fmpz_mod_poly_compose_mod_precomp_preinv_arg_t),
"::",
stringify!(res)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<fmpz_mod_poly_compose_mod_precomp_preinv_arg_t>())).poly1
as *const _ as usize
},
16usize,
concat!(
"Offset of field: ",
stringify!(fmpz_mod_poly_compose_mod_precomp_preinv_arg_t),
"::",
stringify!(poly1)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<fmpz_mod_poly_compose_mod_precomp_preinv_arg_t>())).poly3
as *const _ as usize
},
24usize,
concat!(
"Offset of field: ",
stringify!(fmpz_mod_poly_compose_mod_precomp_preinv_arg_t),
"::",
stringify!(poly3)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<fmpz_mod_poly_compose_mod_precomp_preinv_arg_t>())).poly3inv
as *const _ as usize
},
32usize,
concat!(
"Offset of field: ",
stringify!(fmpz_mod_poly_compose_mod_precomp_preinv_arg_t),
"::",
stringify!(poly3inv)
)
);
}
extern "C" {
pub fn fmpz_mod_poly_init(poly: *mut fmpz_mod_poly_struct, p: *mut fmpz);
}
extern "C" {
pub fn fmpz_mod_poly_init2(
poly: *mut fmpz_mod_poly_struct,
p: *mut fmpz,
alloc: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_mod_poly_clear(poly: *mut fmpz_mod_poly_struct);
}
extern "C" {
pub fn fmpz_mod_poly_realloc(poly: *mut fmpz_mod_poly_struct, alloc: mp_limb_signed_t);
}
extern "C" {
pub fn fmpz_mod_poly_fit_length(poly: *mut fmpz_mod_poly_struct, len: mp_limb_signed_t);
}
extern "C" {
pub fn _fmpz_mod_poly_normalise(poly: *mut fmpz_mod_poly_struct);
}
extern "C" {
pub fn fmpz_mod_poly_set_trunc(
res: *mut fmpz_mod_poly_struct,
poly: *mut fmpz_mod_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_mod_poly_randtest(
f: *mut fmpz_mod_poly_struct,
state: *mut flint_rand_s,
len: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_mod_poly_randtest_irreducible(
f: *mut fmpz_mod_poly_struct,
state: *mut flint_rand_s,
len: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_mod_poly_randtest_not_zero(
f: *mut fmpz_mod_poly_struct,
state: *mut flint_rand_s,
len: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_mod_poly_randtest_monic(
f: *mut fmpz_mod_poly_struct,
state: *mut flint_rand_s,
len: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_mod_poly_randtest_monic_irreducible(
f: *mut fmpz_mod_poly_struct,
state: *mut flint_rand_s,
len: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_mod_poly_randtest_monic_primitive(
f: *mut fmpz_mod_poly_struct,
state: *mut flint_rand_s,
len: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_mod_poly_randtest_trinomial(
f: *mut fmpz_mod_poly_struct,
state: *mut flint_rand_s,
len: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_mod_poly_randtest_trinomial_irreducible(
f: *mut fmpz_mod_poly_struct,
state: *mut flint_rand_s,
len: mp_limb_signed_t,
max_attempts: mp_limb_signed_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_mod_poly_randtest_pentomial(
f: *mut fmpz_mod_poly_struct,
state: *mut flint_rand_s,
len: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_mod_poly_randtest_pentomial_irreducible(
f: *mut fmpz_mod_poly_struct,
state: *mut flint_rand_s,
len: mp_limb_signed_t,
max_attempts: mp_limb_signed_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_mod_poly_randtest_sparse_irreducible(
poly: *mut fmpz_mod_poly_struct,
state: *mut flint_rand_s,
len: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_mod_poly_set(poly1: *mut fmpz_mod_poly_struct, poly2: *mut fmpz_mod_poly_struct);
}
extern "C" {
pub fn fmpz_mod_poly_swap(poly1: *mut fmpz_mod_poly_struct, poly2: *mut fmpz_mod_poly_struct);
}
extern "C" {
pub fn _fmpz_mod_poly_reverse(
res: *mut fmpz,
poly: *const fmpz,
len: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_mod_poly_reverse(
res: *mut fmpz_mod_poly_struct,
poly: *mut fmpz_mod_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_mod_poly_zero_coeffs(
poly: *mut fmpz_mod_poly_struct,
i: mp_limb_signed_t,
j: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_mod_poly_set_fmpz(poly: *mut fmpz_mod_poly_struct, c: *mut fmpz);
}
extern "C" {
pub fn fmpz_mod_poly_set_fmpz_poly(f: *mut fmpz_mod_poly_struct, g: *mut fmpz_poly_struct);
}
extern "C" {
pub fn fmpz_mod_poly_get_fmpz_poly(f: *mut fmpz_poly_struct, g: *mut fmpz_mod_poly_struct);
}
extern "C" {
pub fn fmpz_mod_poly_set_coeff_fmpz(
poly: *mut fmpz_mod_poly_struct,
n: mp_limb_signed_t,
x: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mod_poly_set_coeff_ui(
poly: *mut fmpz_mod_poly_struct,
n: mp_limb_signed_t,
x: mp_limb_t,
);
}
extern "C" {
pub fn fmpz_mod_poly_set_coeff_si(
poly: *mut fmpz_mod_poly_struct,
n: mp_limb_signed_t,
x: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_mod_poly_shift_left(
res: *mut fmpz,
poly: *const fmpz,
len: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_mod_poly_shift_left(
f: *mut fmpz_mod_poly_struct,
g: *mut fmpz_mod_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_mod_poly_shift_right(
res: *mut fmpz,
poly: *const fmpz,
len: mp_limb_signed_t,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_mod_poly_shift_right(
f: *mut fmpz_mod_poly_struct,
g: *mut fmpz_mod_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_mod_poly_add(
res: *mut fmpz,
poly1: *const fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
len2: mp_limb_signed_t,
p: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mod_poly_add(
res: *mut fmpz_mod_poly_struct,
poly1: *mut fmpz_mod_poly_struct,
poly2: *mut fmpz_mod_poly_struct,
);
}
extern "C" {
pub fn _fmpz_mod_poly_sub(
res: *mut fmpz,
poly1: *const fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
len2: mp_limb_signed_t,
p: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mod_poly_add_series(
res: *mut fmpz_mod_poly_struct,
poly1: *mut fmpz_mod_poly_struct,
poly2: *mut fmpz_mod_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_mod_poly_sub(
res: *mut fmpz_mod_poly_struct,
poly1: *mut fmpz_mod_poly_struct,
poly2: *mut fmpz_mod_poly_struct,
);
}
extern "C" {
pub fn _fmpz_mod_poly_neg(
res: *mut fmpz,
poly: *const fmpz,
len: mp_limb_signed_t,
p: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mod_poly_sub_series(
res: *mut fmpz_mod_poly_struct,
poly1: *mut fmpz_mod_poly_struct,
poly2: *mut fmpz_mod_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_mod_poly_neg(res: *mut fmpz_mod_poly_struct, poly: *mut fmpz_mod_poly_struct);
}
extern "C" {
pub fn _fmpz_mod_poly_scalar_mul_fmpz(
res: *mut fmpz,
poly: *const fmpz,
len: mp_limb_signed_t,
x: *mut fmpz,
p: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mod_poly_scalar_mul_fmpz(
res: *mut fmpz_mod_poly_struct,
poly: *mut fmpz_mod_poly_struct,
x: *mut fmpz,
);
}
extern "C" {
pub fn _fmpz_mod_poly_scalar_mul_ui(
res: *mut fmpz,
poly: *const fmpz,
len: mp_limb_signed_t,
x: mp_limb_t,
p: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mod_poly_scalar_mul_ui(
res: *mut fmpz_mod_poly_struct,
poly: *mut fmpz_mod_poly_struct,
x: mp_limb_t,
);
}
extern "C" {
pub fn _fmpz_mod_poly_scalar_div_fmpz(
res: *mut fmpz,
poly: *const fmpz,
len: mp_limb_signed_t,
x: *mut fmpz,
p: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mod_poly_scalar_div_fmpz(
res: *mut fmpz_mod_poly_struct,
poly: *mut fmpz_mod_poly_struct,
x: *mut fmpz,
);
}
extern "C" {
pub fn _fmpz_mod_poly_mul(
res: *mut fmpz,
poly1: *const fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
len2: mp_limb_signed_t,
p: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mod_poly_mul(
res: *mut fmpz_mod_poly_struct,
poly1: *mut fmpz_mod_poly_struct,
poly2: *mut fmpz_mod_poly_struct,
);
}
extern "C" {
pub fn _fmpz_mod_poly_mullow(
res: *mut fmpz,
poly1: *const fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
len2: mp_limb_signed_t,
p: *mut fmpz,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_mod_poly_mullow(
res: *mut fmpz_mod_poly_struct,
poly1: *mut fmpz_mod_poly_struct,
poly2: *mut fmpz_mod_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_mod_poly_sqr(
res: *mut fmpz,
poly: *const fmpz,
len: mp_limb_signed_t,
p: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mod_poly_sqr(res: *mut fmpz_mod_poly_struct, poly: *mut fmpz_mod_poly_struct);
}
extern "C" {
pub fn _fmpz_mod_poly_mulmod(
res: *mut fmpz,
poly1: *const fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
len2: mp_limb_signed_t,
f: *const fmpz,
lenf: mp_limb_signed_t,
p: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mod_poly_mulmod(
res: *mut fmpz_mod_poly_struct,
poly1: *mut fmpz_mod_poly_struct,
poly2: *mut fmpz_mod_poly_struct,
f: *mut fmpz_mod_poly_struct,
);
}
extern "C" {
pub fn _fmpz_mod_poly_mulmod_preinv(
res: *mut fmpz,
poly1: *const fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
len2: mp_limb_signed_t,
f: *const fmpz,
lenf: mp_limb_signed_t,
finv: *const fmpz,
lenfinv: mp_limb_signed_t,
p: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mod_poly_mulmod_preinv(
res: *mut fmpz_mod_poly_struct,
poly1: *mut fmpz_mod_poly_struct,
poly2: *mut fmpz_mod_poly_struct,
f: *mut fmpz_mod_poly_struct,
finv: *mut fmpz_mod_poly_struct,
);
}
extern "C" {
pub fn _fmpz_mod_poly_pow(
rop: *mut fmpz,
op: *const fmpz,
len: mp_limb_signed_t,
e: mp_limb_t,
p: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mod_poly_pow(
rop: *mut fmpz_mod_poly_struct,
op: *mut fmpz_mod_poly_struct,
e: mp_limb_t,
);
}
extern "C" {
pub fn _fmpz_mod_poly_pow_trunc(
res: *mut fmpz,
poly: *const fmpz,
e: mp_limb_t,
trunc: mp_limb_signed_t,
p: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mod_poly_pow_trunc(
res: *mut fmpz_mod_poly_struct,
poly: *mut fmpz_mod_poly_struct,
e: mp_limb_t,
trunc: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_mod_poly_pow_trunc_binexp(
res: *mut fmpz,
poly: *const fmpz,
e: mp_limb_t,
trunc: mp_limb_signed_t,
p: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mod_poly_pow_trunc_binexp(
res: *mut fmpz_mod_poly_struct,
poly: *mut fmpz_mod_poly_struct,
e: mp_limb_t,
trunc: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_mod_poly_powmod_ui_binexp(
res: *mut fmpz,
poly: *const fmpz,
e: mp_limb_t,
f: *const fmpz,
lenf: mp_limb_signed_t,
p: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mod_poly_powmod_ui_binexp(
res: *mut fmpz_mod_poly_struct,
poly: *mut fmpz_mod_poly_struct,
e: mp_limb_t,
f: *mut fmpz_mod_poly_struct,
);
}
extern "C" {
pub fn _fmpz_mod_poly_powmod_ui_binexp_preinv(
res: *mut fmpz,
poly: *const fmpz,
e: mp_limb_t,
f: *const fmpz,
lenf: mp_limb_signed_t,
finv: *const fmpz,
lenfinv: mp_limb_signed_t,
p: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mod_poly_powmod_ui_binexp_preinv(
res: *mut fmpz_mod_poly_struct,
poly: *mut fmpz_mod_poly_struct,
e: mp_limb_t,
f: *mut fmpz_mod_poly_struct,
finv: *mut fmpz_mod_poly_struct,
);
}
extern "C" {
pub fn _fmpz_mod_poly_powmod_fmpz_binexp(
res: *mut fmpz,
poly: *const fmpz,
e: *mut fmpz,
f: *const fmpz,
lenf: mp_limb_signed_t,
p: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mod_poly_powmod_fmpz_binexp(
res: *mut fmpz_mod_poly_struct,
poly: *mut fmpz_mod_poly_struct,
e: *mut fmpz,
f: *mut fmpz_mod_poly_struct,
);
}
extern "C" {
pub fn _fmpz_mod_poly_powmod_fmpz_binexp_preinv(
res: *mut fmpz,
poly: *const fmpz,
e: *mut fmpz,
f: *const fmpz,
lenf: mp_limb_signed_t,
finv: *const fmpz,
lenfinv: mp_limb_signed_t,
p: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mod_poly_powmod_fmpz_binexp_preinv(
res: *mut fmpz_mod_poly_struct,
poly: *mut fmpz_mod_poly_struct,
e: *mut fmpz,
f: *mut fmpz_mod_poly_struct,
finv: *mut fmpz_mod_poly_struct,
);
}
extern "C" {
pub fn _fmpz_mod_poly_powmod_x_fmpz_preinv(
res: *mut fmpz,
e: *mut fmpz,
f: *const fmpz,
lenf: mp_limb_signed_t,
finv: *const fmpz,
lenfinv: mp_limb_signed_t,
p: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mod_poly_powmod_x_fmpz_preinv(
res: *mut fmpz_mod_poly_struct,
e: *mut fmpz,
f: *mut fmpz_mod_poly_struct,
finv: *mut fmpz_mod_poly_struct,
);
}
extern "C" {
pub fn _fmpz_mod_poly_powers_mod_preinv_naive(
res: *mut *mut fmpz,
f: *const fmpz,
flen: mp_limb_signed_t,
n: mp_limb_signed_t,
g: *const fmpz,
glen: mp_limb_signed_t,
ginv: *const fmpz,
ginvlen: mp_limb_signed_t,
p: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mod_poly_powers_mod_naive(
res: *mut fmpz_mod_poly_struct,
f: *mut fmpz_mod_poly_struct,
n: mp_limb_signed_t,
g: *mut fmpz_mod_poly_struct,
);
}
extern "C" {
pub fn _fmpz_mod_poly_powers_mod_preinv_threaded_pool(
res: *mut *mut fmpz,
f: *const fmpz,
flen: mp_limb_signed_t,
n: mp_limb_signed_t,
g: *const fmpz,
glen: mp_limb_signed_t,
ginv: *const fmpz,
ginvlen: mp_limb_signed_t,
p: *mut fmpz,
threads: *mut thread_pool_handle,
num_threads: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_mod_poly_powers_mod_bsgs(
res: *mut fmpz_mod_poly_struct,
f: *mut fmpz_mod_poly_struct,
n: mp_limb_signed_t,
g: *mut fmpz_mod_poly_struct,
);
}
extern "C" {
pub fn fmpz_mod_poly_frobenius_powers_2exp_precomp(
pow: *mut fmpz_mod_poly_frobenius_powers_2exp_struct,
f: *mut fmpz_mod_poly_struct,
finv: *mut fmpz_mod_poly_struct,
m: mp_limb_t,
);
}
extern "C" {
pub fn fmpz_mod_poly_frobenius_powers_2exp_clear(
pow: *mut fmpz_mod_poly_frobenius_powers_2exp_struct,
);
}
extern "C" {
pub fn fmpz_mod_poly_frobenius_power(
res: *mut fmpz_mod_poly_struct,
pow: *mut fmpz_mod_poly_frobenius_powers_2exp_struct,
f: *mut fmpz_mod_poly_struct,
m: mp_limb_t,
);
}
extern "C" {
pub fn fmpz_mod_poly_frobenius_powers_precomp(
pow: *mut fmpz_mod_poly_frobenius_powers_struct,
f: *mut fmpz_mod_poly_struct,
finv: *mut fmpz_mod_poly_struct,
m: mp_limb_t,
);
}
extern "C" {
pub fn fmpz_mod_poly_frobenius_powers_clear(pow: *mut fmpz_mod_poly_frobenius_powers_struct);
}
extern "C" {
pub fn _fmpz_mod_poly_divrem_basecase(
Q: *mut fmpz,
R: *mut fmpz,
A: *const fmpz,
lenA: mp_limb_signed_t,
B: *const fmpz,
lenB: mp_limb_signed_t,
invB: *mut fmpz,
p: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mod_poly_divrem_basecase(
Q: *mut fmpz_mod_poly_struct,
R: *mut fmpz_mod_poly_struct,
A: *mut fmpz_mod_poly_struct,
B: *mut fmpz_mod_poly_struct,
);
}
extern "C" {
pub fn _fmpz_mod_poly_div_basecase(
Q: *mut fmpz,
R: *mut fmpz,
A: *const fmpz,
lenA: mp_limb_signed_t,
B: *const fmpz,
lenB: mp_limb_signed_t,
invB: *mut fmpz,
p: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mod_poly_div_basecase(
Q: *mut fmpz_mod_poly_struct,
A: *mut fmpz_mod_poly_struct,
B: *mut fmpz_mod_poly_struct,
);
}
extern "C" {
pub fn _fmpz_mod_poly_div_newton_n_preinv(
Q: *mut fmpz,
A: *const fmpz,
lenA: mp_limb_signed_t,
B: *const fmpz,
lenB: mp_limb_signed_t,
Binv: *const fmpz,
lenBinv: mp_limb_signed_t,
mod_: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mod_poly_div_newton_n_preinv(
Q: *mut fmpz_mod_poly_struct,
A: *mut fmpz_mod_poly_struct,
B: *mut fmpz_mod_poly_struct,
Binv: *mut fmpz_mod_poly_struct,
);
}
extern "C" {
pub fn _fmpz_mod_poly_divrem_newton_n_preinv(
Q: *mut fmpz,
R: *mut fmpz,
A: *const fmpz,
lenA: mp_limb_signed_t,
B: *const fmpz,
lenB: mp_limb_signed_t,
Binv: *const fmpz,
lenBinv: mp_limb_signed_t,
mod_: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mod_poly_divrem_newton_n_preinv(
Q: *mut fmpz_mod_poly_struct,
R: *mut fmpz_mod_poly_struct,
A: *mut fmpz_mod_poly_struct,
B: *mut fmpz_mod_poly_struct,
Binv: *mut fmpz_mod_poly_struct,
);
}
extern "C" {
pub fn fmpz_mod_poly_remove(
f: *mut fmpz_mod_poly_struct,
p: *mut fmpz_mod_poly_struct,
) -> mp_limb_t;
}
extern "C" {
pub fn _fmpz_mod_poly_rem_basecase(
R: *mut fmpz,
A: *const fmpz,
lenA: mp_limb_signed_t,
B: *const fmpz,
lenB: mp_limb_signed_t,
invB: *mut fmpz,
p: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mod_poly_rem_basecase(
R: *mut fmpz_mod_poly_struct,
A: *mut fmpz_mod_poly_struct,
B: *mut fmpz_mod_poly_struct,
);
}
extern "C" {
pub fn _fmpz_mod_poly_divrem_divconquer_recursive(
Q: *mut fmpz,
BQ: *mut fmpz,
W: *mut fmpz,
A: *const fmpz,
B: *const fmpz,
lenB: mp_limb_signed_t,
invB: *mut fmpz,
p: *mut fmpz,
);
}
extern "C" {
pub fn _fmpz_mod_poly_divrem_divconquer(
Q: *mut fmpz,
R: *mut fmpz,
A: *const fmpz,
lenA: mp_limb_signed_t,
B: *const fmpz,
lenB: mp_limb_signed_t,
invB: *mut fmpz,
p: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mod_poly_divrem_divconquer(
Q: *mut fmpz_mod_poly_struct,
R: *mut fmpz_mod_poly_struct,
A: *mut fmpz_mod_poly_struct,
B: *mut fmpz_mod_poly_struct,
);
}
extern "C" {
pub fn _fmpz_mod_poly_divrem_f(
f: *mut fmpz,
Q: *mut fmpz,
R: *mut fmpz,
A: *const fmpz,
lenA: mp_limb_signed_t,
B: *const fmpz,
lenB: mp_limb_signed_t,
p: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mod_poly_divrem_f(
f: *mut fmpz,
Q: *mut fmpz_mod_poly_struct,
R: *mut fmpz_mod_poly_struct,
A: *mut fmpz_mod_poly_struct,
B: *mut fmpz_mod_poly_struct,
);
}
extern "C" {
pub fn _fmpz_mod_poly_inv_series_newton(
Qinv: *mut fmpz,
Q: *const fmpz,
n: mp_limb_signed_t,
cinv: *mut fmpz,
p: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mod_poly_inv_series_newton(
Qinv: *mut fmpz_mod_poly_struct,
Q: *mut fmpz_mod_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_mod_poly_inv_series_newton_f(
f: *mut fmpz,
Qinv: *mut fmpz_mod_poly_struct,
Q: *mut fmpz_mod_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_mod_poly_div_series(
Q: *mut fmpz,
A: *const fmpz,
Alen: mp_limb_signed_t,
B: *const fmpz,
Blen: mp_limb_signed_t,
p: *mut fmpz,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_mod_poly_div_series(
Q: *mut fmpz_mod_poly_struct,
A: *mut fmpz_mod_poly_struct,
B: *mut fmpz_mod_poly_struct,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_mod_poly_make_monic(
res: *mut fmpz_mod_poly_struct,
poly: *mut fmpz_mod_poly_struct,
);
}
extern "C" {
pub fn fmpz_mod_poly_make_monic_f(
f: *mut fmpz,
res: *mut fmpz_mod_poly_struct,
poly: *mut fmpz_mod_poly_struct,
);
}
extern "C" {
pub fn _fmpz_mod_poly_gcd_euclidean(
G: *mut fmpz,
A: *const fmpz,
lenA: mp_limb_signed_t,
B: *const fmpz,
lenB: mp_limb_signed_t,
invB: *mut fmpz,
p: *mut fmpz,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn fmpz_mod_poly_gcd_euclidean(
G: *mut fmpz_mod_poly_struct,
A: *mut fmpz_mod_poly_struct,
B: *mut fmpz_mod_poly_struct,
);
}
extern "C" {
pub fn _fmpz_mod_poly_gcd_euclidean_f(
f: *mut fmpz,
G: *mut fmpz,
A: *const fmpz,
lenA: mp_limb_signed_t,
B: *const fmpz,
lenB: mp_limb_signed_t,
p: *mut fmpz,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn fmpz_mod_poly_gcd_euclidean_f(
f: *mut fmpz,
G: *mut fmpz_mod_poly_struct,
A: *mut fmpz_mod_poly_struct,
B: *mut fmpz_mod_poly_struct,
);
}
extern "C" {
pub fn _fmpz_mod_poly_hgcd_recursive(
M: *mut *mut fmpz,
lenM: *mut mp_limb_signed_t,
A: *mut fmpz,
lenA: *mut mp_limb_signed_t,
B: *mut fmpz,
lenB: *mut mp_limb_signed_t,
a: *const fmpz,
lena: mp_limb_signed_t,
b: *const fmpz,
lenb: mp_limb_signed_t,
P: *mut fmpz,
mod_: *mut fmpz,
flag: ::std::os::raw::c_int,
res: *mut fmpz_mod_poly_res_struct,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn _fmpz_mod_poly_hgcd(
M: *mut *mut fmpz,
lenM: *mut mp_limb_signed_t,
A: *mut fmpz,
lenA: *mut mp_limb_signed_t,
B: *mut fmpz,
lenB: *mut mp_limb_signed_t,
a: *const fmpz,
lena: mp_limb_signed_t,
b: *const fmpz,
lenb: mp_limb_signed_t,
mod_: *mut fmpz,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn _fmpz_mod_poly_gcd_hgcd(
G: *mut fmpz,
A: *const fmpz,
lenA: mp_limb_signed_t,
B: *const fmpz,
lenB: mp_limb_signed_t,
mod_: *mut fmpz,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn fmpz_mod_poly_gcd_hgcd(
G: *mut fmpz_mod_poly_struct,
A: *mut fmpz_mod_poly_struct,
B: *mut fmpz_mod_poly_struct,
);
}
extern "C" {
pub fn _fmpz_mod_poly_xgcd_euclidean(
G: *mut fmpz,
S: *mut fmpz,
T: *mut fmpz,
A: *const fmpz,
lenA: mp_limb_signed_t,
B: *const fmpz,
lenB: mp_limb_signed_t,
invB: *mut fmpz,
p: *mut fmpz,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn _fmpz_mod_poly_xgcd_euclidean_f(
f: *mut fmpz,
G: *mut fmpz,
S: *mut fmpz,
T: *mut fmpz,
A: *const fmpz,
lenA: mp_limb_signed_t,
B: *const fmpz,
lenB: mp_limb_signed_t,
invB: *mut fmpz,
p: *mut fmpz,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn fmpz_mod_poly_xgcd_euclidean(
G: *mut fmpz_mod_poly_struct,
S: *mut fmpz_mod_poly_struct,
T: *mut fmpz_mod_poly_struct,
A: *mut fmpz_mod_poly_struct,
B: *mut fmpz_mod_poly_struct,
);
}
extern "C" {
pub fn fmpz_mod_poly_xgcd_euclidean_f(
f: *mut fmpz,
G: *mut fmpz_mod_poly_struct,
S: *mut fmpz_mod_poly_struct,
T: *mut fmpz_mod_poly_struct,
A: *mut fmpz_mod_poly_struct,
B: *mut fmpz_mod_poly_struct,
);
}
extern "C" {
pub fn _fmpz_mod_poly_xgcd_hgcd(
G: *mut fmpz,
S: *mut fmpz,
T: *mut fmpz,
A: *const fmpz,
lenA: mp_limb_signed_t,
B: *const fmpz,
lenB: mp_limb_signed_t,
mod_: *mut fmpz,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn fmpz_mod_poly_xgcd_hgcd(
G: *mut fmpz_mod_poly_struct,
S: *mut fmpz_mod_poly_struct,
T: *mut fmpz_mod_poly_struct,
A: *mut fmpz_mod_poly_struct,
B: *mut fmpz_mod_poly_struct,
);
}
extern "C" {
pub fn _fmpz_mod_poly_gcdinv_euclidean_f(
f: *mut fmpz,
G: *mut fmpz,
S: *mut fmpz,
A: *const fmpz,
lenA: mp_limb_signed_t,
B: *const fmpz,
lenB: mp_limb_signed_t,
invA: *mut fmpz,
p: *mut fmpz,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn fmpz_mod_poly_gcdinv_euclidean_f(
f: *mut fmpz,
G: *mut fmpz_mod_poly_struct,
S: *mut fmpz_mod_poly_struct,
A: *mut fmpz_mod_poly_struct,
B: *mut fmpz_mod_poly_struct,
);
}
extern "C" {
pub fn _fmpz_mod_poly_gcdinv_euclidean(
G: *mut fmpz,
S: *mut fmpz,
A: *const fmpz,
lenA: mp_limb_signed_t,
B: *const fmpz,
lenB: mp_limb_signed_t,
invA: *mut fmpz,
p: *mut fmpz,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn fmpz_mod_poly_gcdinv_euclidean(
G: *mut fmpz_mod_poly_struct,
S: *mut fmpz_mod_poly_struct,
A: *mut fmpz_mod_poly_struct,
B: *mut fmpz_mod_poly_struct,
);
}
extern "C" {
pub fn _fmpz_mod_poly_gcdinv(
G: *mut fmpz,
S: *mut fmpz,
A: *const fmpz,
lenA: mp_limb_signed_t,
B: *const fmpz,
lenB: mp_limb_signed_t,
p: *mut fmpz,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn fmpz_mod_poly_gcdinv(
G: *mut fmpz_mod_poly_struct,
S: *mut fmpz_mod_poly_struct,
A: *mut fmpz_mod_poly_struct,
B: *mut fmpz_mod_poly_struct,
);
}
extern "C" {
pub fn _fmpz_mod_poly_gcdinv_f(
f: *mut fmpz,
G: *mut fmpz,
S: *mut fmpz,
A: *const fmpz,
lenA: mp_limb_signed_t,
B: *const fmpz,
lenB: mp_limb_signed_t,
p: *mut fmpz,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn fmpz_mod_poly_gcdinv_f(
f: *mut fmpz,
G: *mut fmpz_mod_poly_struct,
S: *mut fmpz_mod_poly_struct,
A: *mut fmpz_mod_poly_struct,
B: *mut fmpz_mod_poly_struct,
);
}
extern "C" {
pub fn _fmpz_mod_poly_invmod(
A: *mut fmpz,
B: *const fmpz,
lenB: mp_limb_signed_t,
P: *const fmpz,
lenP: mp_limb_signed_t,
p: *mut fmpz,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fmpz_mod_poly_invmod_f(
f: *mut fmpz,
A: *mut fmpz,
B: *const fmpz,
lenB: mp_limb_signed_t,
P: *const fmpz,
lenP: mp_limb_signed_t,
p: *mut fmpz,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_mod_poly_invmod(
A: *mut fmpz_mod_poly_struct,
B: *mut fmpz_mod_poly_struct,
P: *mut fmpz_mod_poly_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_mod_poly_invmod_f(
f: *mut fmpz,
A: *mut fmpz_mod_poly_struct,
B: *mut fmpz_mod_poly_struct,
P: *mut fmpz_mod_poly_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fmpz_mod_poly_minpoly_bm(
poly: *mut fmpz,
seq: *const fmpz,
len: mp_limb_signed_t,
p: *mut fmpz,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn _fmpz_mod_poly_minpoly_hgcd(
poly: *mut fmpz,
seq: *const fmpz,
len: mp_limb_signed_t,
p: *mut fmpz,
) -> mp_limb_signed_t;
}
extern "C" {
pub fn _fmpz_mod_poly_resultant_euclidean(
res: *mut fmpz,
poly1: *const fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
len2: mp_limb_signed_t,
mod_: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mod_poly_resultant_euclidean(
r: *mut fmpz,
f: *mut fmpz_mod_poly_struct,
g: *mut fmpz_mod_poly_struct,
);
}
extern "C" {
pub fn _fmpz_mod_poly_resultant_hgcd(
res: *mut fmpz,
A: *const fmpz,
lenA: mp_limb_signed_t,
B: *const fmpz,
lenB: mp_limb_signed_t,
mod_: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mod_poly_resultant_hgcd(
res: *mut fmpz,
A: *mut fmpz_mod_poly_struct,
B: *mut fmpz_mod_poly_struct,
);
}
extern "C" {
pub fn _fmpz_mod_poly_discriminant(
d: *mut fmpz,
poly: *const fmpz,
len: mp_limb_signed_t,
mod_: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mod_poly_discriminant(d: *mut fmpz, f: *mut fmpz_mod_poly_struct);
}
extern "C" {
pub fn _fmpz_mod_poly_derivative(
res: *mut fmpz,
poly: *const fmpz,
len: mp_limb_signed_t,
p: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mod_poly_derivative(
res: *mut fmpz_mod_poly_struct,
poly: *mut fmpz_mod_poly_struct,
);
}
extern "C" {
pub fn _fmpz_mod_poly_evaluate_fmpz(
res: *mut fmpz,
poly: *const fmpz,
len: mp_limb_signed_t,
a: *mut fmpz,
p: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mod_poly_evaluate_fmpz(
res: *mut fmpz,
poly: *mut fmpz_mod_poly_struct,
a: *mut fmpz,
);
}
extern "C" {
pub fn _fmpz_mod_poly_tree_alloc(len: mp_limb_signed_t) -> *mut *mut fmpz_poly_struct;
}
extern "C" {
pub fn _fmpz_mod_poly_tree_free(tree: *mut *mut fmpz_poly_struct, len: mp_limb_signed_t);
}
extern "C" {
pub fn _fmpz_mod_poly_tree_build(
tree: *mut *mut fmpz_poly_struct,
roots: *const fmpz,
len: mp_limb_signed_t,
mod_: *mut fmpz,
);
}
extern "C" {
pub fn _fmpz_mod_poly_evaluate_fmpz_vec_iter(
ys: *mut fmpz,
coeffs: *const fmpz,
len: mp_limb_signed_t,
xs: *const fmpz,
n: mp_limb_signed_t,
mod_: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mod_poly_evaluate_fmpz_vec_iter(
ys: *mut fmpz,
poly: *mut fmpz_mod_poly_struct,
xs: *const fmpz,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_mod_poly_evaluate_fmpz_vec_fast_precomp(
vs: *mut fmpz,
poly: *const fmpz,
plen: mp_limb_signed_t,
tree: *const *mut fmpz_poly_struct,
len: mp_limb_signed_t,
mod_: *mut fmpz,
);
}
extern "C" {
pub fn _fmpz_mod_poly_evaluate_fmpz_vec_fast(
ys: *mut fmpz,
poly: *const fmpz,
plen: mp_limb_signed_t,
xs: *const fmpz,
n: mp_limb_signed_t,
mod_: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mod_poly_evaluate_fmpz_vec_fast(
ys: *mut fmpz,
poly: *mut fmpz_mod_poly_struct,
xs: *const fmpz,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_mod_poly_evaluate_fmpz_vec(
ys: *mut fmpz,
coeffs: *const fmpz,
len: mp_limb_signed_t,
xs: *const fmpz,
n: mp_limb_signed_t,
mod_: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mod_poly_evaluate_fmpz_vec(
ys: *mut fmpz,
poly: *mut fmpz_mod_poly_struct,
xs: *const fmpz,
n: mp_limb_signed_t,
);
}
extern "C" {
pub fn _fmpz_mod_poly_compose_horner(
res: *mut fmpz,
poly1: *const fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
len2: mp_limb_signed_t,
p: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mod_poly_compose_horner(
res: *mut fmpz_mod_poly_struct,
poly1: *mut fmpz_mod_poly_struct,
poly2: *mut fmpz_mod_poly_struct,
);
}
extern "C" {
pub fn _fmpz_mod_poly_compose_divconquer(
res: *mut fmpz,
poly1: *const fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
len2: mp_limb_signed_t,
p: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mod_poly_compose_divconquer(
res: *mut fmpz_mod_poly_struct,
poly1: *mut fmpz_mod_poly_struct,
poly2: *mut fmpz_mod_poly_struct,
);
}
extern "C" {
pub fn _fmpz_mod_poly_compose_mod(
res: *mut fmpz,
f: *const fmpz,
lenf: mp_limb_signed_t,
g: *const fmpz,
h: *const fmpz,
lenh: mp_limb_signed_t,
p: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mod_poly_compose_mod(
res: *mut fmpz_mod_poly_struct,
poly1: *mut fmpz_mod_poly_struct,
poly2: *mut fmpz_mod_poly_struct,
poly3: *mut fmpz_mod_poly_struct,
);
}
extern "C" {
pub fn _fmpz_mod_poly_compose_mod_brent_kung(
res: *mut fmpz,
poly1: *const fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
poly3: *const fmpz,
len3: mp_limb_signed_t,
p: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mod_poly_compose_mod_brent_kung(
res: *mut fmpz_mod_poly_struct,
poly1: *mut fmpz_mod_poly_struct,
poly2: *mut fmpz_mod_poly_struct,
poly3: *mut fmpz_mod_poly_struct,
);
}
extern "C" {
pub fn _fmpz_mod_poly_reduce_matrix_mod_poly(
A: *mut fmpz_mat_struct,
B: *mut fmpz_mat_struct,
f: *mut fmpz_mod_poly_struct,
);
}
extern "C" {
pub fn _fmpz_mod_poly_precompute_matrix(
A: *mut fmpz_mat_struct,
poly1: *const fmpz,
poly2: *const fmpz,
len2: mp_limb_signed_t,
poly2inv: *const fmpz,
len2inv: mp_limb_signed_t,
p: *mut fmpz,
);
}
extern "C" {
pub fn _fmpz_mod_poly_precompute_matrix_worker(arg_ptr: *mut ::std::os::raw::c_void);
}
extern "C" {
pub fn fmpz_mod_poly_precompute_matrix(
A: *mut fmpz_mat_struct,
poly1: *mut fmpz_mod_poly_struct,
poly2: *mut fmpz_mod_poly_struct,
poly2inv: *mut fmpz_mod_poly_struct,
);
}
extern "C" {
pub fn _fmpz_mod_poly_compose_mod_brent_kung_precomp_preinv(
res: *mut fmpz,
poly1: *const fmpz,
len1: mp_limb_signed_t,
A: *mut fmpz_mat_struct,
poly3: *const fmpz,
len3: mp_limb_signed_t,
poly3inv: *const fmpz,
len3inv: mp_limb_signed_t,
p: *mut fmpz,
);
}
extern "C" {
pub fn _fmpz_mod_poly_compose_mod_brent_kung_precomp_preinv_worker(
arg_ptr: *mut ::std::os::raw::c_void,
);
}
extern "C" {
pub fn fmpz_mod_poly_compose_mod_brent_kung_precomp_preinv(
res: *mut fmpz_mod_poly_struct,
poly1: *mut fmpz_mod_poly_struct,
A: *mut fmpz_mat_struct,
poly3: *mut fmpz_mod_poly_struct,
poly3inv: *mut fmpz_mod_poly_struct,
);
}
extern "C" {
pub fn _fmpz_mod_poly_compose_mod_brent_kung_preinv(
res: *mut fmpz,
poly1: *const fmpz,
len1: mp_limb_signed_t,
poly2: *const fmpz,
poly3: *const fmpz,
len3: mp_limb_signed_t,
poly3inv: *const fmpz,
len3inv: mp_limb_signed_t,
p: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mod_poly_compose_mod_brent_kung_preinv(
res: *mut fmpz_mod_poly_struct,
poly1: *mut fmpz_mod_poly_struct,
poly2: *mut fmpz_mod_poly_struct,
poly3: *mut fmpz_mod_poly_struct,
poly3inv: *mut fmpz_mod_poly_struct,
);
}
extern "C" {
pub fn _fmpz_mod_poly_compose_mod_horner(
res: *mut fmpz,
f: *const fmpz,
lenf: mp_limb_signed_t,
g: *const fmpz,
h: *const fmpz,
lenh: mp_limb_signed_t,
p: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mod_poly_compose_mod_horner(
res: *mut fmpz_mod_poly_struct,
poly1: *mut fmpz_mod_poly_struct,
poly2: *mut fmpz_mod_poly_struct,
poly3: *mut fmpz_mod_poly_struct,
);
}
extern "C" {
pub fn _fmpz_mod_poly_compose_mod_brent_kung_vec_preinv(
res: *mut fmpz_mod_poly_struct,
polys: *const fmpz_mod_poly_struct,
len1: mp_limb_signed_t,
l: mp_limb_signed_t,
g: *const fmpz,
glen: mp_limb_signed_t,
poly: *const fmpz,
len: mp_limb_signed_t,
polyinv: *const fmpz,
leninv: mp_limb_signed_t,
p: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mod_poly_compose_mod_brent_kung_vec_preinv(
res: *mut fmpz_mod_poly_struct,
polys: *const fmpz_mod_poly_struct,
len1: mp_limb_signed_t,
n: mp_limb_signed_t,
g: *mut fmpz_mod_poly_struct,
poly: *mut fmpz_mod_poly_struct,
polyinv: *mut fmpz_mod_poly_struct,
);
}
extern "C" {
pub fn _fmpz_mod_poly_compose_mod_brent_kung_vec_preinv_threaded_pool(
res: *mut fmpz_mod_poly_struct,
polys: *const fmpz_mod_poly_struct,
lenpolys: mp_limb_signed_t,
l: mp_limb_signed_t,
g: *const fmpz,
glen: mp_limb_signed_t,
poly: *const fmpz,
len: mp_limb_signed_t,
polyinv: *const fmpz,
leninv: mp_limb_signed_t,
p: *mut fmpz,
threads: *mut thread_pool_handle,
num_threads: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_mod_poly_compose_mod_brent_kung_vec_preinv_threaded_pool(
res: *mut fmpz_mod_poly_struct,
polys: *const fmpz_mod_poly_struct,
len1: mp_limb_signed_t,
n: mp_limb_signed_t,
g: *mut fmpz_mod_poly_struct,
poly: *mut fmpz_mod_poly_struct,
polyinv: *mut fmpz_mod_poly_struct,
threads: *mut thread_pool_handle,
num_threads: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_mod_poly_compose_mod_brent_kung_vec_preinv_threaded(
res: *mut fmpz_mod_poly_struct,
polys: *const fmpz_mod_poly_struct,
len1: mp_limb_signed_t,
n: mp_limb_signed_t,
g: *mut fmpz_mod_poly_struct,
poly: *mut fmpz_mod_poly_struct,
polyinv: *mut fmpz_mod_poly_struct,
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct fmpz_mod_poly_radix_struct {
pub V: *mut fmpz,
pub W: *mut fmpz,
pub Rpow: *mut *mut fmpz,
pub Rinv: *mut *mut fmpz,
pub degR: mp_limb_signed_t,
pub k: mp_limb_signed_t,
pub invL: fmpz,
}
#[test]
fn bindgen_test_layout_fmpz_mod_poly_radix_struct() {
assert_eq!(
::std::mem::size_of::<fmpz_mod_poly_radix_struct>(),
56usize,
concat!("Size of: ", stringify!(fmpz_mod_poly_radix_struct))
);
assert_eq!(
::std::mem::align_of::<fmpz_mod_poly_radix_struct>(),
8usize,
concat!("Alignment of ", stringify!(fmpz_mod_poly_radix_struct))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_mod_poly_radix_struct>())).V as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(fmpz_mod_poly_radix_struct),
"::",
stringify!(V)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_mod_poly_radix_struct>())).W as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(fmpz_mod_poly_radix_struct),
"::",
stringify!(W)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_mod_poly_radix_struct>())).Rpow as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(fmpz_mod_poly_radix_struct),
"::",
stringify!(Rpow)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_mod_poly_radix_struct>())).Rinv as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(fmpz_mod_poly_radix_struct),
"::",
stringify!(Rinv)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_mod_poly_radix_struct>())).degR as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(fmpz_mod_poly_radix_struct),
"::",
stringify!(degR)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_mod_poly_radix_struct>())).k as *const _ as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(fmpz_mod_poly_radix_struct),
"::",
stringify!(k)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_mod_poly_radix_struct>())).invL as *const _ as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(fmpz_mod_poly_radix_struct),
"::",
stringify!(invL)
)
);
}
pub type fmpz_mod_poly_radix_t = [fmpz_mod_poly_radix_struct; 1usize];
extern "C" {
pub fn _fmpz_mod_poly_radix_init(
Rpow: *mut *mut fmpz,
Rinv: *mut *mut fmpz,
R: *const fmpz,
lenR: mp_limb_signed_t,
k: mp_limb_signed_t,
invL: *mut fmpz,
p: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mod_poly_radix_init(
D: *mut fmpz_mod_poly_radix_struct,
R: *mut fmpz_mod_poly_struct,
degF: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_mod_poly_radix_clear(D: *mut fmpz_mod_poly_radix_struct);
}
extern "C" {
pub fn _fmpz_mod_poly_radix(
B: *mut *mut fmpz,
F: *const fmpz,
Rpow: *mut *mut fmpz,
Rinv: *mut *mut fmpz,
degR: mp_limb_signed_t,
k: mp_limb_signed_t,
i: mp_limb_signed_t,
W: *mut fmpz,
p: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mod_poly_radix(
B: *mut *mut fmpz_mod_poly_struct,
F: *mut fmpz_mod_poly_struct,
D: *mut fmpz_mod_poly_radix_struct,
);
}
extern "C" {
pub fn _fmpz_mod_poly_fprint(
file: *mut FILE,
poly: *const fmpz,
len: mp_limb_signed_t,
p: *mut fmpz,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_mod_poly_fprint(
file: *mut FILE,
poly: *mut fmpz_mod_poly_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_mod_poly_fread(
file: *mut FILE,
poly: *mut fmpz_mod_poly_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fmpz_mod_poly_product_roots_fmpz_vec(
poly: *mut fmpz,
xs: *const fmpz,
n: mp_limb_signed_t,
mod_: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mod_poly_product_roots_fmpz_vec(
poly: *mut fmpz_poly_struct,
xs: *const fmpz,
n: mp_limb_signed_t,
mod_: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mod_poly_find_distinct_nonzero_roots(
roots: *mut fmpz,
P: *mut fmpz_mod_poly_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fmpz_mod_poly_split_rabin(
a: *mut fmpz_mod_poly_struct,
b: *mut fmpz_mod_poly_struct,
f: *mut fmpz_mod_poly_struct,
halfp: *mut fmpz,
t: *mut fmpz_mod_poly_struct,
t2: *mut fmpz_mod_poly_struct,
randstate: *mut flint_rand_s,
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct fmpz_mod_berlekamp_massey_struct {
pub npoints: mp_limb_signed_t,
pub R0: fmpz_mod_poly_t,
pub R1: fmpz_mod_poly_t,
pub V0: fmpz_mod_poly_t,
pub V1: fmpz_mod_poly_t,
pub qt: fmpz_mod_poly_t,
pub rt: fmpz_mod_poly_t,
pub points: fmpz_mod_poly_t,
}
#[test]
fn bindgen_test_layout_fmpz_mod_berlekamp_massey_struct() {
assert_eq!(
::std::mem::size_of::<fmpz_mod_berlekamp_massey_struct>(),
232usize,
concat!("Size of: ", stringify!(fmpz_mod_berlekamp_massey_struct))
);
assert_eq!(
::std::mem::align_of::<fmpz_mod_berlekamp_massey_struct>(),
8usize,
concat!(
"Alignment of ",
stringify!(fmpz_mod_berlekamp_massey_struct)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<fmpz_mod_berlekamp_massey_struct>())).npoints as *const _
as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(fmpz_mod_berlekamp_massey_struct),
"::",
stringify!(npoints)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<fmpz_mod_berlekamp_massey_struct>())).R0 as *const _ as usize
},
8usize,
concat!(
"Offset of field: ",
stringify!(fmpz_mod_berlekamp_massey_struct),
"::",
stringify!(R0)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<fmpz_mod_berlekamp_massey_struct>())).R1 as *const _ as usize
},
40usize,
concat!(
"Offset of field: ",
stringify!(fmpz_mod_berlekamp_massey_struct),
"::",
stringify!(R1)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<fmpz_mod_berlekamp_massey_struct>())).V0 as *const _ as usize
},
72usize,
concat!(
"Offset of field: ",
stringify!(fmpz_mod_berlekamp_massey_struct),
"::",
stringify!(V0)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<fmpz_mod_berlekamp_massey_struct>())).V1 as *const _ as usize
},
104usize,
concat!(
"Offset of field: ",
stringify!(fmpz_mod_berlekamp_massey_struct),
"::",
stringify!(V1)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<fmpz_mod_berlekamp_massey_struct>())).qt as *const _ as usize
},
136usize,
concat!(
"Offset of field: ",
stringify!(fmpz_mod_berlekamp_massey_struct),
"::",
stringify!(qt)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<fmpz_mod_berlekamp_massey_struct>())).rt as *const _ as usize
},
168usize,
concat!(
"Offset of field: ",
stringify!(fmpz_mod_berlekamp_massey_struct),
"::",
stringify!(rt)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<fmpz_mod_berlekamp_massey_struct>())).points as *const _ as usize
},
200usize,
concat!(
"Offset of field: ",
stringify!(fmpz_mod_berlekamp_massey_struct),
"::",
stringify!(points)
)
);
}
pub type fmpz_mod_berlekamp_massey_t = [fmpz_mod_berlekamp_massey_struct; 1usize];
extern "C" {
pub fn fmpz_mod_berlekamp_massey_init(B: *mut fmpz_mod_berlekamp_massey_struct, p: *mut fmpz);
}
extern "C" {
pub fn fmpz_mod_berlekamp_massey_init_ui(
B: *mut fmpz_mod_berlekamp_massey_struct,
p: mp_limb_t,
);
}
extern "C" {
pub fn fmpz_mod_berlekamp_massey_start_over(B: *mut fmpz_mod_berlekamp_massey_struct);
}
extern "C" {
pub fn fmpz_mod_berlekamp_massey_clear(B: *mut fmpz_mod_berlekamp_massey_struct);
}
extern "C" {
pub fn fmpz_mod_berlekamp_massey_set_prime(
B: *mut fmpz_mod_berlekamp_massey_struct,
p: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mod_berlekamp_massey_print(B: *mut fmpz_mod_berlekamp_massey_struct);
}
extern "C" {
pub fn fmpz_mod_berlekamp_massey_add_points(
B: *mut fmpz_mod_berlekamp_massey_struct,
a: *const fmpz,
count: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_mod_berlekamp_massey_add_zeros(
B: *mut fmpz_mod_berlekamp_massey_struct,
count: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_mod_berlekamp_massey_add_point(
B: *mut fmpz_mod_berlekamp_massey_struct,
a: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mod_berlekamp_massey_add_point_ui(
B: *mut fmpz_mod_berlekamp_massey_struct,
a: mp_limb_t,
);
}
extern "C" {
pub fn fmpz_mod_berlekamp_massey_reduce(
B: *mut fmpz_mod_berlekamp_massey_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_mod_poly_add_si(
res: *mut fmpz_mod_poly_struct,
poly: *mut fmpz_mod_poly_struct,
c: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_mod_poly_sub_si(
res: *mut fmpz_mod_poly_struct,
poly: *mut fmpz_mod_poly_struct,
c: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_mod_poly_si_sub(
res: *mut fmpz_mod_poly_struct,
c: mp_limb_signed_t,
poly: *mut fmpz_mod_poly_struct,
);
}
extern "C" {
pub fn fmpz_mod_poly_add_fmpz(
res: *mut fmpz_mod_poly_struct,
poly: *mut fmpz_mod_poly_struct,
c: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mod_poly_sub_fmpz(
res: *mut fmpz_mod_poly_struct,
poly: *mut fmpz_mod_poly_struct,
c: *mut fmpz,
);
}
extern "C" {
pub fn fmpz_mod_poly_fmpz_sub(
res: *mut fmpz_mod_poly_struct,
c: *mut fmpz,
poly: *mut fmpz_mod_poly_struct,
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct fmpz_mod_poly_factor_struct {
pub poly: *mut fmpz_mod_poly_struct,
pub exp: *mut mp_limb_signed_t,
pub num: mp_limb_signed_t,
pub alloc: mp_limb_signed_t,
}
#[test]
fn bindgen_test_layout_fmpz_mod_poly_factor_struct() {
assert_eq!(
::std::mem::size_of::<fmpz_mod_poly_factor_struct>(),
32usize,
concat!("Size of: ", stringify!(fmpz_mod_poly_factor_struct))
);
assert_eq!(
::std::mem::align_of::<fmpz_mod_poly_factor_struct>(),
8usize,
concat!("Alignment of ", stringify!(fmpz_mod_poly_factor_struct))
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<fmpz_mod_poly_factor_struct>())).poly as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(fmpz_mod_poly_factor_struct),
"::",
stringify!(poly)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_mod_poly_factor_struct>())).exp as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(fmpz_mod_poly_factor_struct),
"::",
stringify!(exp)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fmpz_mod_poly_factor_struct>())).num as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(fmpz_mod_poly_factor_struct),
"::",
stringify!(num)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<fmpz_mod_poly_factor_struct>())).alloc as *const _ as usize
},
24usize,
concat!(
"Offset of field: ",
stringify!(fmpz_mod_poly_factor_struct),
"::",
stringify!(alloc)
)
);
}
pub type fmpz_mod_poly_factor_t = [fmpz_mod_poly_factor_struct; 1usize];
extern "C" {
pub fn fmpz_mod_poly_factor_init(fac: *mut fmpz_mod_poly_factor_struct);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct fmpz_mod_poly_interval_poly_arg_t {
pub baby: *mut fmpz_mod_poly_struct,
pub res: *mut fmpz_mod_poly_struct,
pub H: *mut fmpz_mod_poly_struct,
pub v: *mut fmpz_mod_poly_struct,
pub vinv: *mut fmpz_mod_poly_struct,
pub tmp: *mut fmpz,
pub m: mp_limb_signed_t,
}
#[test]
fn bindgen_test_layout_fmpz_mod_poly_interval_poly_arg_t() {
assert_eq!(
::std::mem::size_of::<fmpz_mod_poly_interval_poly_arg_t>(),
56usize,
concat!("Size of: ", stringify!(fmpz_mod_poly_interval_poly_arg_t))
);
assert_eq!(
::std::mem::align_of::<fmpz_mod_poly_interval_poly_arg_t>(),
8usize,
concat!(
"Alignment of ",
stringify!(fmpz_mod_poly_interval_poly_arg_t)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<fmpz_mod_poly_interval_poly_arg_t>())).baby as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(fmpz_mod_poly_interval_poly_arg_t),
"::",
stringify!(baby)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<fmpz_mod_poly_interval_poly_arg_t>())).res as *const _ as usize
},
8usize,
concat!(
"Offset of field: ",
stringify!(fmpz_mod_poly_interval_poly_arg_t),
"::",
stringify!(res)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<fmpz_mod_poly_interval_poly_arg_t>())).H as *const _ as usize
},
16usize,
concat!(
"Offset of field: ",
stringify!(fmpz_mod_poly_interval_poly_arg_t),
"::",
stringify!(H)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<fmpz_mod_poly_interval_poly_arg_t>())).v as *const _ as usize
},
24usize,
concat!(
"Offset of field: ",
stringify!(fmpz_mod_poly_interval_poly_arg_t),
"::",
stringify!(v)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<fmpz_mod_poly_interval_poly_arg_t>())).vinv as *const _ as usize
},
32usize,
concat!(
"Offset of field: ",
stringify!(fmpz_mod_poly_interval_poly_arg_t),
"::",
stringify!(vinv)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<fmpz_mod_poly_interval_poly_arg_t>())).tmp as *const _ as usize
},
40usize,
concat!(
"Offset of field: ",
stringify!(fmpz_mod_poly_interval_poly_arg_t),
"::",
stringify!(tmp)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<fmpz_mod_poly_interval_poly_arg_t>())).m as *const _ as usize
},
48usize,
concat!(
"Offset of field: ",
stringify!(fmpz_mod_poly_interval_poly_arg_t),
"::",
stringify!(m)
)
);
}
extern "C" {
pub fn fmpz_mod_poly_factor_clear(fac: *mut fmpz_mod_poly_factor_struct);
}
extern "C" {
pub fn fmpz_mod_poly_factor_realloc(
fac: *mut fmpz_mod_poly_factor_struct,
alloc: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_mod_poly_factor_fit_length(
fac: *mut fmpz_mod_poly_factor_struct,
len: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_mod_poly_factor_set(
res: *mut fmpz_mod_poly_factor_struct,
fac: *mut fmpz_mod_poly_factor_struct,
);
}
extern "C" {
pub fn fmpz_mod_poly_factor_insert(
fac: *mut fmpz_mod_poly_factor_struct,
poly: *mut fmpz_mod_poly_struct,
exp: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_mod_poly_factor_print(fac: *mut fmpz_mod_poly_factor_struct);
}
extern "C" {
pub fn fmpz_mod_poly_factor_concat(
res: *mut fmpz_mod_poly_factor_struct,
fac: *mut fmpz_mod_poly_factor_struct,
);
}
extern "C" {
pub fn fmpz_mod_poly_factor_pow(fac: *mut fmpz_mod_poly_factor_struct, exp: mp_limb_signed_t);
}
extern "C" {
pub fn fmpz_mod_poly_is_irreducible(f: *mut fmpz_mod_poly_struct) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_mod_poly_is_irreducible_ddf(f: *mut fmpz_mod_poly_struct) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_mod_poly_is_irreducible_rabin(
f: *mut fmpz_mod_poly_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_mod_poly_is_irreducible_rabin_f(
fac: *mut fmpz,
f: *mut fmpz_mod_poly_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fmpz_mod_poly_is_squarefree(
f: *const fmpz,
len: mp_limb_signed_t,
p: *mut fmpz,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fmpz_mod_poly_is_squarefree_f(
fac: *mut fmpz,
f: *const fmpz,
len: mp_limb_signed_t,
p: *mut fmpz,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_mod_poly_is_squarefree(f: *mut fmpz_mod_poly_struct) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_mod_poly_is_squarefree_f(
fac: *mut fmpz,
f: *mut fmpz_mod_poly_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_mod_poly_factor_equal_deg_prob(
factor: *mut fmpz_mod_poly_struct,
state: *mut flint_rand_s,
pol: *mut fmpz_mod_poly_struct,
d: mp_limb_signed_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_mod_poly_factor_equal_deg(
factors: *mut fmpz_mod_poly_factor_struct,
pol: *mut fmpz_mod_poly_struct,
d: mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_mod_poly_factor_distinct_deg(
res: *mut fmpz_mod_poly_factor_struct,
poly: *mut fmpz_mod_poly_struct,
degs: *const *mut mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_mod_poly_factor_squarefree(
res: *mut fmpz_mod_poly_factor_struct,
f: *mut fmpz_mod_poly_struct,
);
}
extern "C" {
pub fn fmpz_mod_poly_factor_distinct_deg_threaded(
res: *mut fmpz_mod_poly_factor_struct,
poly: *mut fmpz_mod_poly_struct,
degs: *const *mut mp_limb_signed_t,
);
}
extern "C" {
pub fn fmpz_mod_poly_factor(
res: *mut fmpz_mod_poly_factor_struct,
f: *mut fmpz_mod_poly_struct,
);
}
extern "C" {
pub fn fmpz_mod_poly_factor_cantor_zassenhaus(
res: *mut fmpz_mod_poly_factor_struct,
f: *mut fmpz_mod_poly_struct,
);
}
extern "C" {
pub fn fmpz_mod_poly_factor_kaltofen_shoup(
res: *mut fmpz_mod_poly_factor_struct,
poly: *mut fmpz_mod_poly_struct,
);
}
extern "C" {
pub fn fmpz_mod_poly_factor_berlekamp(
factors: *mut fmpz_mod_poly_factor_struct,
f: *mut fmpz_mod_poly_struct,
);
}
extern "C" {
pub fn _fmpz_mod_poly_interval_poly_worker(arg_ptr: *mut ::std::os::raw::c_void);
}
extern "C" {
pub fn fmpz_mod_poly_roots(
r: *mut fmpz_mod_poly_factor_struct,
f: *mut fmpz_mod_poly_struct,
with_multiplicity: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn fmpz_mod_poly_roots_factored(
r: *mut fmpz_mod_poly_factor_struct,
f: *mut fmpz_mod_poly_struct,
with_multiplicity: ::std::os::raw::c_int,
n: *mut fmpz_factor_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fmpz_mod_poly_factor_get_fmpz_mod_poly(
z: *mut fmpz_mod_poly_struct,
fac: *mut fmpz_mod_poly_factor_struct,
i: mp_limb_signed_t,
);
}
extern "C" {
pub fn antic_test_multiplier() -> ::std::os::raw::c_long;
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct nf_struct {
pub pol: fmpq_poly_t,
pub pinv: nf_struct__bindgen_ty_1,
pub powers: nf_struct__bindgen_ty_2,
pub traces: fmpq_poly_t,
pub flag: mp_limb_t,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union nf_struct__bindgen_ty_1 {
pub qq: fmpz_preinvn_t,
_bindgen_union_align: [u64; 3usize],
}
#[test]
fn bindgen_test_layout_nf_struct__bindgen_ty_1() {
assert_eq!(
::std::mem::size_of::<nf_struct__bindgen_ty_1>(),
24usize,
concat!("Size of: ", stringify!(nf_struct__bindgen_ty_1))
);
assert_eq!(
::std::mem::align_of::<nf_struct__bindgen_ty_1>(),
8usize,
concat!("Alignment of ", stringify!(nf_struct__bindgen_ty_1))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nf_struct__bindgen_ty_1>())).qq as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(nf_struct__bindgen_ty_1),
"::",
stringify!(qq)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union nf_struct__bindgen_ty_2 {
pub qq: fmpq_poly_powers_precomp_t,
pub zz: fmpz_poly_powers_precomp_t,
_bindgen_union_align: [u64; 2usize],
}
#[test]
fn bindgen_test_layout_nf_struct__bindgen_ty_2() {
assert_eq!(
::std::mem::size_of::<nf_struct__bindgen_ty_2>(),
16usize,
concat!("Size of: ", stringify!(nf_struct__bindgen_ty_2))
);
assert_eq!(
::std::mem::align_of::<nf_struct__bindgen_ty_2>(),
8usize,
concat!("Alignment of ", stringify!(nf_struct__bindgen_ty_2))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nf_struct__bindgen_ty_2>())).qq as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(nf_struct__bindgen_ty_2),
"::",
stringify!(qq)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nf_struct__bindgen_ty_2>())).zz as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(nf_struct__bindgen_ty_2),
"::",
stringify!(zz)
)
);
}
#[test]
fn bindgen_test_layout_nf_struct() {
assert_eq!(
::std::mem::size_of::<nf_struct>(),
112usize,
concat!("Size of: ", stringify!(nf_struct))
);
assert_eq!(
::std::mem::align_of::<nf_struct>(),
8usize,
concat!("Alignment of ", stringify!(nf_struct))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nf_struct>())).pol as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(nf_struct),
"::",
stringify!(pol)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nf_struct>())).pinv as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(nf_struct),
"::",
stringify!(pinv)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nf_struct>())).powers as *const _ as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(nf_struct),
"::",
stringify!(powers)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nf_struct>())).traces as *const _ as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(nf_struct),
"::",
stringify!(traces)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nf_struct>())).flag as *const _ as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(nf_struct),
"::",
stringify!(flag)
)
);
}
pub type nf_t = [nf_struct; 1usize];
extern "C" {
#[doc = "Initialisation"]
pub fn nf_init(nf: *mut nf_struct, pol: *mut fmpq_poly_struct);
}
extern "C" {
pub fn nf_clear(nf: *mut nf_struct);
}
extern "C" {
pub fn nf_print(nf: *mut nf_struct);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct lnf_elem_struct {
pub num: fmpz_t,
pub den: fmpz_t,
}
#[test]
fn bindgen_test_layout_lnf_elem_struct() {
assert_eq!(
::std::mem::size_of::<lnf_elem_struct>(),
16usize,
concat!("Size of: ", stringify!(lnf_elem_struct))
);
assert_eq!(
::std::mem::align_of::<lnf_elem_struct>(),
8usize,
concat!("Alignment of ", stringify!(lnf_elem_struct))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<lnf_elem_struct>())).num as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(lnf_elem_struct),
"::",
stringify!(num)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<lnf_elem_struct>())).den as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(lnf_elem_struct),
"::",
stringify!(den)
)
);
}
pub type lnf_elem_t = [lnf_elem_struct; 1usize];
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct qnf_elem_struct {
pub num: [fmpz; 3usize],
pub den: fmpz_t,
}
#[test]
fn bindgen_test_layout_qnf_elem_struct() {
assert_eq!(
::std::mem::size_of::<qnf_elem_struct>(),
32usize,
concat!("Size of: ", stringify!(qnf_elem_struct))
);
assert_eq!(
::std::mem::align_of::<qnf_elem_struct>(),
8usize,
concat!("Alignment of ", stringify!(qnf_elem_struct))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<qnf_elem_struct>())).num as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(qnf_elem_struct),
"::",
stringify!(num)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<qnf_elem_struct>())).den as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(qnf_elem_struct),
"::",
stringify!(den)
)
);
}
pub type qnf_elem_t = [qnf_elem_struct; 1usize];
#[repr(C)]
#[derive(Copy, Clone)]
pub union nf_elem_struct {
pub elem: fmpq_poly_t,
pub lelem: lnf_elem_t,
pub qelem: qnf_elem_t,
_bindgen_union_align: [u64; 4usize],
}
#[test]
fn bindgen_test_layout_nf_elem_struct() {
assert_eq!(
::std::mem::size_of::<nf_elem_struct>(),
32usize,
concat!("Size of: ", stringify!(nf_elem_struct))
);
assert_eq!(
::std::mem::align_of::<nf_elem_struct>(),
8usize,
concat!("Alignment of ", stringify!(nf_elem_struct))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nf_elem_struct>())).elem as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(nf_elem_struct),
"::",
stringify!(elem)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nf_elem_struct>())).lelem as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(nf_elem_struct),
"::",
stringify!(lelem)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nf_elem_struct>())).qelem as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(nf_elem_struct),
"::",
stringify!(qelem)
)
);
}
pub type nf_elem_t = [nf_elem_struct; 1usize];
extern "C" {
#[doc = "Initialisation"]
pub fn nf_elem_init(a: *mut nf_elem_struct, nf: *mut nf_struct);
}
extern "C" {
pub fn nf_elem_clear(a: *mut nf_elem_struct, nf: *mut nf_struct);
}
extern "C" {
pub fn nf_elem_randtest(
a: *mut nf_elem_struct,
state: *mut flint_rand_s,
bits: mp_bitcnt_t,
nf: *mut nf_struct,
);
}
extern "C" {
pub fn nf_elem_randtest_not_zero(
a: *mut nf_elem_struct,
state: *mut flint_rand_s,
bits: mp_bitcnt_t,
nf: *mut nf_struct,
);
}
extern "C" {
pub fn nf_elem_canonicalise(a: *mut nf_elem_struct, nf: *mut nf_struct);
}
extern "C" {
pub fn _nf_elem_reduce(a: *mut nf_elem_struct, nf: *mut nf_struct);
}
extern "C" {
pub fn nf_elem_reduce(a: *mut nf_elem_struct, nf: *mut nf_struct);
}
extern "C" {
pub fn _nf_elem_invertible_check(
a: *mut nf_elem_struct,
nf: *mut nf_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = "Comparison"]
pub fn _nf_elem_equal(
a: *mut nf_elem_struct,
b: *mut nf_elem_struct,
nf: *mut nf_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn nf_elem_equal(
a: *mut nf_elem_struct,
b: *mut nf_elem_struct,
nf: *mut nf_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn nf_elem_is_zero(a: *mut nf_elem_struct, nf: *mut nf_struct) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn nf_elem_is_one(a: *mut nf_elem_struct, nf: *mut nf_struct) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn nf_elem_is_gen(a: *mut nf_elem_struct, nf: *mut nf_struct) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn nf_elem_is_integer(a: *mut nf_elem_struct, nf: *mut nf_struct) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn nf_elem_is_rational(a: *mut nf_elem_struct, nf: *mut nf_struct)
-> ::std::os::raw::c_int;
}
extern "C" {
pub fn nf_elem_equal_si(
a: *mut nf_elem_struct,
b: mp_limb_signed_t,
nf: *mut nf_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn nf_elem_equal_ui(
a: *mut nf_elem_struct,
b: mp_limb_t,
nf: *mut nf_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn nf_elem_equal_fmpz(
a: *mut nf_elem_struct,
b: *mut fmpz,
nf: *mut nf_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn nf_elem_equal_fmpq(
a: *mut nf_elem_struct,
b: *mut fmpq,
nf: *mut nf_struct,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = "I/O"]
pub fn nf_elem_print_pretty(
a: *mut nf_elem_struct,
nf: *mut nf_struct,
var: *const ::std::os::raw::c_char,
);
}
extern "C" {
pub fn nf_elem_get_str_pretty(
a: *mut nf_elem_struct,
var: *const ::std::os::raw::c_char,
nf: *mut nf_struct,
) -> *mut ::std::os::raw::c_char;
}
extern "C" {
#[doc = "Element creation"]
pub fn nf_elem_zero(a: *mut nf_elem_struct, nf: *mut nf_struct);
}
extern "C" {
pub fn nf_elem_one(a: *mut nf_elem_struct, nf: *mut nf_struct);
}
extern "C" {
pub fn nf_elem_gen(a: *mut nf_elem_struct, nf: *mut nf_struct);
}
extern "C" {
pub fn nf_elem_set_si(a: *mut nf_elem_struct, c: mp_limb_signed_t, nf: *mut nf_struct);
}
extern "C" {
pub fn nf_elem_set_ui(a: *mut nf_elem_struct, c: mp_limb_t, nf: *mut nf_struct);
}
extern "C" {
pub fn nf_elem_set_fmpz(a: *mut nf_elem_struct, c: *mut fmpz, nf: *mut nf_struct);
}
extern "C" {
pub fn nf_elem_set_fmpq(a: *mut nf_elem_struct, c: *mut fmpq, nf: *mut nf_struct);
}
extern "C" {
pub fn nf_elem_set_fmpq_poly(
a: *mut nf_elem_struct,
pol: *mut fmpq_poly_struct,
nf: *mut nf_struct,
);
}
extern "C" {
#[doc = "Conversion"]
pub fn nf_elem_set_fmpz_mat_row(
b: *mut nf_elem_struct,
M: *mut fmpz_mat_struct,
i: mp_limb_signed_t,
den: *mut fmpz,
nf: *mut nf_struct,
);
}
extern "C" {
pub fn nf_elem_get_fmpz_mat_row(
M: *mut fmpz_mat_struct,
i: mp_limb_signed_t,
den: *mut fmpz,
b: *mut nf_elem_struct,
nf: *mut nf_struct,
);
}
extern "C" {
pub fn nf_elem_get_fmpq_poly(
pol: *mut fmpq_poly_struct,
a: *mut nf_elem_struct,
nf: *mut nf_struct,
);
}
extern "C" {
pub fn _nf_elem_get_nmod_poly(
pol: *mut nmod_poly_struct,
a: *mut nf_elem_struct,
nf: *mut nf_struct,
);
}
extern "C" {
pub fn nf_elem_get_nmod_poly_den(
pol: *mut nmod_poly_struct,
a: *mut nf_elem_struct,
nf: *mut nf_struct,
den: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn nf_elem_get_nmod_poly(
pol: *mut nmod_poly_struct,
a: *mut nf_elem_struct,
nf: *mut nf_struct,
);
}
extern "C" {
pub fn _nf_elem_get_fmpz_mod_poly(
pol: *mut fmpz_mod_poly_struct,
a: *mut nf_elem_struct,
nf: *mut nf_struct,
);
}
extern "C" {
pub fn nf_elem_get_fmpz_mod_poly_den(
pol: *mut fmpz_mod_poly_struct,
a: *mut nf_elem_struct,
nf: *mut nf_struct,
den: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn nf_elem_get_fmpz_mod_poly(
pol: *mut fmpz_mod_poly_struct,
a: *mut nf_elem_struct,
nf: *mut nf_struct,
);
}
extern "C" {
#[doc = "Basic manipulation"]
pub fn nf_elem_get_den(d: *mut fmpz, b: *mut nf_elem_struct, nf: *mut nf_struct);
}
extern "C" {
pub fn nf_elem_set_den(b: *mut nf_elem_struct, d: *mut fmpz, nf: *mut nf_struct);
}
extern "C" {
pub fn nf_elem_get_coeff_fmpq(
a: *mut fmpq,
b: *mut nf_elem_struct,
i: mp_limb_signed_t,
nf: *mut nf_struct,
);
}
extern "C" {
pub fn nf_elem_get_coeff_fmpz(
a: *mut fmpz,
b: *mut nf_elem_struct,
i: mp_limb_signed_t,
nf: *mut nf_struct,
);
}
extern "C" {
pub fn nf_elem_den_is_one(a: *mut nf_elem_struct, nf: *mut nf_struct) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _nf_elem_set_coeff_num_fmpz(
a: *mut nf_elem_struct,
i: mp_limb_signed_t,
b: *mut fmpz,
nf: *mut nf_struct,
);
}
extern "C" {
#[doc = "Arithmetic"]
pub fn nf_elem_set(a: *mut nf_elem_struct, b: *mut nf_elem_struct, nf: *mut nf_struct);
}
extern "C" {
pub fn nf_elem_neg(a: *mut nf_elem_struct, b: *mut nf_elem_struct, nf: *mut nf_struct);
}
extern "C" {
pub fn nf_elem_swap(a: *mut nf_elem_struct, b: *mut nf_elem_struct, nf: *mut nf_struct);
}
extern "C" {
pub fn nf_elem_add_si(
a: *mut nf_elem_struct,
b: *mut nf_elem_struct,
c: mp_limb_signed_t,
nf: *mut nf_struct,
);
}
extern "C" {
pub fn nf_elem_add_fmpz(
a: *mut nf_elem_struct,
b: *mut nf_elem_struct,
c: *mut fmpz,
nf: *mut nf_struct,
);
}
extern "C" {
pub fn nf_elem_add_fmpq(
a: *mut nf_elem_struct,
b: *mut nf_elem_struct,
c: *mut fmpq,
nf: *mut nf_struct,
);
}
extern "C" {
pub fn nf_elem_sub_si(
a: *mut nf_elem_struct,
b: *mut nf_elem_struct,
c: mp_limb_signed_t,
nf: *mut nf_struct,
);
}
extern "C" {
pub fn nf_elem_sub_fmpz(
a: *mut nf_elem_struct,
b: *mut nf_elem_struct,
c: *mut fmpz,
nf: *mut nf_struct,
);
}
extern "C" {
pub fn nf_elem_sub_fmpq(
a: *mut nf_elem_struct,
b: *mut nf_elem_struct,
c: *mut fmpq,
nf: *mut nf_struct,
);
}
extern "C" {
pub fn nf_elem_si_sub(
a: *mut nf_elem_struct,
c: mp_limb_signed_t,
b: *mut nf_elem_struct,
nf: *mut nf_struct,
);
}
extern "C" {
pub fn nf_elem_fmpz_sub(
a: *mut nf_elem_struct,
c: *mut fmpz,
b: *mut nf_elem_struct,
nf: *mut nf_struct,
);
}
extern "C" {
pub fn nf_elem_fmpq_sub(
a: *mut nf_elem_struct,
c: *mut fmpq,
b: *mut nf_elem_struct,
nf: *mut nf_struct,
);
}
extern "C" {
pub fn nf_elem_scalar_mul_si(
a: *mut nf_elem_struct,
b: *mut nf_elem_struct,
c: mp_limb_signed_t,
nf: *mut nf_struct,
);
}
extern "C" {
pub fn nf_elem_scalar_mul_fmpz(
a: *mut nf_elem_struct,
b: *mut nf_elem_struct,
c: *mut fmpz,
nf: *mut nf_struct,
);
}
extern "C" {
pub fn nf_elem_scalar_mul_fmpq(
a: *mut nf_elem_struct,
b: *mut nf_elem_struct,
c: *mut fmpq,
nf: *mut nf_struct,
);
}
extern "C" {
pub fn nf_elem_scalar_div_si(
a: *mut nf_elem_struct,
b: *mut nf_elem_struct,
c: mp_limb_signed_t,
nf: *mut nf_struct,
);
}
extern "C" {
pub fn nf_elem_scalar_div_fmpz(
a: *mut nf_elem_struct,
b: *mut nf_elem_struct,
c: *mut fmpz,
nf: *mut nf_struct,
);
}
extern "C" {
pub fn nf_elem_scalar_div_fmpq(
a: *mut nf_elem_struct,
b: *mut nf_elem_struct,
c: *mut fmpq,
nf: *mut nf_struct,
);
}
extern "C" {
pub fn _nf_elem_add_lf(
a: *mut nf_elem_struct,
b: *mut nf_elem_struct,
c: *mut nf_elem_struct,
nf: *mut nf_struct,
can: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn _nf_elem_sub_lf(
a: *mut nf_elem_struct,
b: *mut nf_elem_struct,
c: *mut nf_elem_struct,
nf: *mut nf_struct,
can: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn _nf_elem_add_qf(
a: *mut nf_elem_struct,
b: *mut nf_elem_struct,
c: *mut nf_elem_struct,
nf: *mut nf_struct,
can: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn _nf_elem_sub_qf(
a: *mut nf_elem_struct,
b: *mut nf_elem_struct,
c: *mut nf_elem_struct,
nf: *mut nf_struct,
can: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn nf_elem_add_qf(
a: *mut nf_elem_struct,
b: *mut nf_elem_struct,
c: *mut nf_elem_struct,
nf: *mut nf_struct,
);
}
extern "C" {
pub fn nf_elem_sub_qf(
a: *mut nf_elem_struct,
b: *mut nf_elem_struct,
c: *mut nf_elem_struct,
nf: *mut nf_struct,
);
}
extern "C" {
pub fn _nf_elem_add(
a: *mut nf_elem_struct,
b: *mut nf_elem_struct,
c: *mut nf_elem_struct,
nf: *mut nf_struct,
);
}
extern "C" {
pub fn _nf_elem_sub(
a: *mut nf_elem_struct,
b: *mut nf_elem_struct,
c: *mut nf_elem_struct,
nf: *mut nf_struct,
);
}
extern "C" {
pub fn nf_elem_add(
a: *mut nf_elem_struct,
b: *mut nf_elem_struct,
c: *mut nf_elem_struct,
nf: *mut nf_struct,
);
}
extern "C" {
pub fn nf_elem_sub(
a: *mut nf_elem_struct,
b: *mut nf_elem_struct,
c: *mut nf_elem_struct,
nf: *mut nf_struct,
);
}
extern "C" {
pub fn nf_elem_mul_gen(a: *mut nf_elem_struct, b: *mut nf_elem_struct, nf: *mut nf_struct);
}
extern "C" {
pub fn _nf_elem_mul(
a: *mut nf_elem_struct,
b: *mut nf_elem_struct,
c: *mut nf_elem_struct,
nf: *mut nf_struct,
);
}
extern "C" {
pub fn nf_elem_mul(
a: *mut nf_elem_struct,
b: *mut nf_elem_struct,
c: *mut nf_elem_struct,
nf: *mut nf_struct,
);
}
extern "C" {
pub fn _nf_elem_mul_red(
a: *mut nf_elem_struct,
b: *mut nf_elem_struct,
c: *mut nf_elem_struct,
nf: *mut nf_struct,
red: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn nf_elem_mul_red(
a: *mut nf_elem_struct,
b: *mut nf_elem_struct,
c: *mut nf_elem_struct,
nf: *mut nf_struct,
red: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn _nf_elem_inv(a: *mut nf_elem_struct, b: *mut nf_elem_struct, nf: *mut nf_struct);
}
extern "C" {
pub fn nf_elem_inv(a: *mut nf_elem_struct, b: *mut nf_elem_struct, nf: *mut nf_struct);
}
extern "C" {
pub fn _nf_elem_div(
a: *mut nf_elem_struct,
b: *mut nf_elem_struct,
c: *mut nf_elem_struct,
nf: *mut nf_struct,
);
}
extern "C" {
pub fn nf_elem_div(
a: *mut nf_elem_struct,
b: *mut nf_elem_struct,
c: *mut nf_elem_struct,
nf: *mut nf_struct,
);
}
extern "C" {
pub fn _nf_elem_pow(
res: *mut nf_elem_struct,
b: *mut nf_elem_struct,
e: mp_limb_t,
nf: *mut nf_struct,
);
}
extern "C" {
pub fn nf_elem_pow(
res: *mut nf_elem_struct,
a: *mut nf_elem_struct,
e: mp_limb_t,
nf: *mut nf_struct,
);
}
extern "C" {
pub fn _nf_elem_norm(
rnum: *mut fmpz,
rden: *mut fmpz,
a: *mut nf_elem_struct,
nf: *mut nf_struct,
);
}
extern "C" {
pub fn nf_elem_norm(res: *mut fmpq, a: *mut nf_elem_struct, nf: *mut nf_struct);
}
extern "C" {
pub fn _nf_elem_norm_div(
rnum: *mut fmpz,
rden: *mut fmpz,
a: *mut nf_elem_struct,
nf: *mut nf_struct,
divisor: *mut fmpz,
nbits: mp_limb_signed_t,
);
}
extern "C" {
pub fn nf_elem_norm_div(
res: *mut fmpq,
a: *mut nf_elem_struct,
nf: *mut nf_struct,
divisor: *mut fmpz,
nbits: mp_limb_signed_t,
);
}
extern "C" {
pub fn _nf_elem_trace(
rnum: *mut fmpz,
rden: *mut fmpz,
a: *mut nf_elem_struct,
nf: *mut nf_struct,
);
}
extern "C" {
pub fn nf_elem_trace(res: *mut fmpq, a: *mut nf_elem_struct, nf: *mut nf_struct);
}
extern "C" {
pub fn nf_elem_rep_mat(res: *mut fmpq_mat_struct, a: *mut nf_elem_struct, nf: *mut nf_struct);
}
extern "C" {
pub fn nf_elem_rep_mat_fmpz_mat_den(
res: *mut fmpz_mat_struct,
den: *mut fmpz,
a: *mut nf_elem_struct,
nf: *mut nf_struct,
);
}
extern "C" {
#[doc = "Modular reduction"]
pub fn _nf_elem_mod_fmpz(
res: *mut nf_elem_struct,
a: *mut nf_elem_struct,
mod_: *mut fmpz,
nf: *mut nf_struct,
sign: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn nf_elem_mod_fmpz_den(
res: *mut nf_elem_struct,
a: *mut nf_elem_struct,
mod_: *mut fmpz,
nf: *mut nf_struct,
den: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn nf_elem_smod_fmpz_den(
res: *mut nf_elem_struct,
a: *mut nf_elem_struct,
mod_: *mut fmpz,
nf: *mut nf_struct,
den: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn nf_elem_mod_fmpz(
res: *mut nf_elem_struct,
a: *mut nf_elem_struct,
mod_: *mut fmpz,
nf: *mut nf_struct,
);
}
extern "C" {
pub fn nf_elem_smod_fmpz(
res: *mut nf_elem_struct,
a: *mut nf_elem_struct,
mod_: *mut fmpz,
nf: *mut nf_struct,
);
}
extern "C" {
pub fn nf_elem_coprime_den(
res: *mut nf_elem_struct,
a: *mut nf_elem_struct,
mod_: *mut fmpz,
nf: *mut nf_struct,
);
}
extern "C" {
pub fn nf_elem_coprime_den_signed(
res: *mut nf_elem_struct,
a: *mut nf_elem_struct,
mod_: *mut fmpz,
nf: *mut nf_struct,
);
}
pub type __builtin_va_list = [__va_list_tag; 1usize];
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __va_list_tag {
pub gp_offset: ::std::os::raw::c_uint,
pub fp_offset: ::std::os::raw::c_uint,
pub overflow_arg_area: *mut ::std::os::raw::c_void,
pub reg_save_area: *mut ::std::os::raw::c_void,
}
#[test]
fn bindgen_test_layout___va_list_tag() {
assert_eq!(
::std::mem::size_of::<__va_list_tag>(),
24usize,
concat!("Size of: ", stringify!(__va_list_tag))
);
assert_eq!(
::std::mem::align_of::<__va_list_tag>(),
8usize,
concat!("Alignment of ", stringify!(__va_list_tag))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__va_list_tag>())).gp_offset as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__va_list_tag),
"::",
stringify!(gp_offset)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__va_list_tag>())).fp_offset as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(__va_list_tag),
"::",
stringify!(fp_offset)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__va_list_tag>())).overflow_arg_area as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(__va_list_tag),
"::",
stringify!(overflow_arg_area)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__va_list_tag>())).reg_save_area as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(__va_list_tag),
"::",
stringify!(reg_save_area)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __locale_data {
pub _address: u8,
}