1use libc::*;
4use crate::deps::*;
5use crate::acb_types::*;
6use crate::flint::*;
7use crate::fmpz_mod_types::*;
8use crate::fmpz_types::*;
9use crate::mpoly_types::*;
10
11
12#[repr(C)]
13pub struct fmpz_mpoly_univar_struct {
14 pub coeffs: *mut fmpz_mpoly_struct,
15 pub exps: *mut fmpz,
16 pub alloc: slong,
17 pub length: slong,
18}
19#[allow(clippy::unnecessary_operation, clippy::identity_op)]
20const _: () = {
21 ["Size of fmpz_mpoly_univar_struct"]
22 [::std::mem::size_of::<fmpz_mpoly_univar_struct>() - 32usize];
23 ["Alignment of fmpz_mpoly_univar_struct"]
24 [::std::mem::align_of::<fmpz_mpoly_univar_struct>() - 8usize];
25 ["Offset of field: fmpz_mpoly_univar_struct::coeffs"]
26 [::std::mem::offset_of!(fmpz_mpoly_univar_struct, coeffs) - 0usize];
27 ["Offset of field: fmpz_mpoly_univar_struct::exps"]
28 [::std::mem::offset_of!(fmpz_mpoly_univar_struct, exps) - 8usize];
29 ["Offset of field: fmpz_mpoly_univar_struct::alloc"]
30 [::std::mem::offset_of!(fmpz_mpoly_univar_struct, alloc) - 16usize];
31 ["Offset of field: fmpz_mpoly_univar_struct::length"]
32 [::std::mem::offset_of!(fmpz_mpoly_univar_struct, length) - 24usize];
33};
34impl Default for fmpz_mpoly_univar_struct {
35 fn default() -> Self {
36 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
37 unsafe {
38 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
39 s.assume_init()
40 }
41 }
42}
43pub type fmpz_mpoly_univar_t = [fmpz_mpoly_univar_struct; 1usize];
44#[repr(C)]
45pub struct fmpz_mpolyd_struct {
46 pub nvars: slong,
47 pub degb_alloc: slong,
48 pub deg_bounds: *mut slong,
49 pub length: slong,
50 pub coeff_alloc: slong,
51 pub coeffs: *mut fmpz,
52}
53#[allow(clippy::unnecessary_operation, clippy::identity_op)]
54const _: () = {
55 ["Size of fmpz_mpolyd_struct"][::std::mem::size_of::<fmpz_mpolyd_struct>() - 48usize];
56 ["Alignment of fmpz_mpolyd_struct"][::std::mem::align_of::<fmpz_mpolyd_struct>() - 8usize];
57 ["Offset of field: fmpz_mpolyd_struct::nvars"]
58 [::std::mem::offset_of!(fmpz_mpolyd_struct, nvars) - 0usize];
59 ["Offset of field: fmpz_mpolyd_struct::degb_alloc"]
60 [::std::mem::offset_of!(fmpz_mpolyd_struct, degb_alloc) - 8usize];
61 ["Offset of field: fmpz_mpolyd_struct::deg_bounds"]
62 [::std::mem::offset_of!(fmpz_mpolyd_struct, deg_bounds) - 16usize];
63 ["Offset of field: fmpz_mpolyd_struct::length"]
64 [::std::mem::offset_of!(fmpz_mpolyd_struct, length) - 24usize];
65 ["Offset of field: fmpz_mpolyd_struct::coeff_alloc"]
66 [::std::mem::offset_of!(fmpz_mpolyd_struct, coeff_alloc) - 32usize];
67 ["Offset of field: fmpz_mpolyd_struct::coeffs"]
68 [::std::mem::offset_of!(fmpz_mpolyd_struct, coeffs) - 40usize];
69};
70impl Default for fmpz_mpolyd_struct {
71 fn default() -> Self {
72 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
73 unsafe {
74 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
75 s.assume_init()
76 }
77 }
78}
79pub type fmpz_mpolyd_t = [fmpz_mpolyd_struct; 1usize];
80#[repr(C)]
81pub struct fmpz_mpoly_vec_struct {
82 pub p: *mut fmpz_mpoly_struct,
83 pub alloc: slong,
84 pub length: slong,
85}
86#[allow(clippy::unnecessary_operation, clippy::identity_op)]
87const _: () = {
88 ["Size of fmpz_mpoly_vec_struct"][::std::mem::size_of::<fmpz_mpoly_vec_struct>() - 24usize];
89 ["Alignment of fmpz_mpoly_vec_struct"]
90 [::std::mem::align_of::<fmpz_mpoly_vec_struct>() - 8usize];
91 ["Offset of field: fmpz_mpoly_vec_struct::p"]
92 [::std::mem::offset_of!(fmpz_mpoly_vec_struct, p) - 0usize];
93 ["Offset of field: fmpz_mpoly_vec_struct::alloc"]
94 [::std::mem::offset_of!(fmpz_mpoly_vec_struct, alloc) - 8usize];
95 ["Offset of field: fmpz_mpoly_vec_struct::length"]
96 [::std::mem::offset_of!(fmpz_mpoly_vec_struct, length) - 16usize];
97};
98impl Default for fmpz_mpoly_vec_struct {
99 fn default() -> Self {
100 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
101 unsafe {
102 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
103 s.assume_init()
104 }
105 }
106}
107pub type fmpz_mpoly_vec_t = [fmpz_mpoly_vec_struct; 1usize];
108#[repr(C)]
109pub struct _fmpz_mpoly_stripe_struct {
110 pub big_mem: *mut libc::c_char,
111 pub big_mem_alloc: slong,
112 pub N: slong,
113 pub bits: flint_bitcnt_t,
114 pub cmpmask: *const ulong,
115 pub startidx: *mut slong,
116 pub endidx: *mut slong,
117 pub emin: *mut ulong,
118 pub emax: *mut ulong,
119 pub coeff_bits: flint_bitcnt_t,
120 pub upperclosed: libc::c_int,
121 pub flint_small: libc::c_int,
122}
123#[allow(clippy::unnecessary_operation, clippy::identity_op)]
124const _: () = {
125 ["Size of _fmpz_mpoly_stripe_struct"]
126 [::std::mem::size_of::<_fmpz_mpoly_stripe_struct>() - 88usize];
127 ["Alignment of _fmpz_mpoly_stripe_struct"]
128 [::std::mem::align_of::<_fmpz_mpoly_stripe_struct>() - 8usize];
129 ["Offset of field: _fmpz_mpoly_stripe_struct::big_mem"]
130 [::std::mem::offset_of!(_fmpz_mpoly_stripe_struct, big_mem) - 0usize];
131 ["Offset of field: _fmpz_mpoly_stripe_struct::big_mem_alloc"]
132 [::std::mem::offset_of!(_fmpz_mpoly_stripe_struct, big_mem_alloc) - 8usize];
133 ["Offset of field: _fmpz_mpoly_stripe_struct::N"]
134 [::std::mem::offset_of!(_fmpz_mpoly_stripe_struct, N) - 16usize];
135 ["Offset of field: _fmpz_mpoly_stripe_struct::bits"]
136 [::std::mem::offset_of!(_fmpz_mpoly_stripe_struct, bits) - 24usize];
137 ["Offset of field: _fmpz_mpoly_stripe_struct::cmpmask"]
138 [::std::mem::offset_of!(_fmpz_mpoly_stripe_struct, cmpmask) - 32usize];
139 ["Offset of field: _fmpz_mpoly_stripe_struct::startidx"]
140 [::std::mem::offset_of!(_fmpz_mpoly_stripe_struct, startidx) - 40usize];
141 ["Offset of field: _fmpz_mpoly_stripe_struct::endidx"]
142 [::std::mem::offset_of!(_fmpz_mpoly_stripe_struct, endidx) - 48usize];
143 ["Offset of field: _fmpz_mpoly_stripe_struct::emin"]
144 [::std::mem::offset_of!(_fmpz_mpoly_stripe_struct, emin) - 56usize];
145 ["Offset of field: _fmpz_mpoly_stripe_struct::emax"]
146 [::std::mem::offset_of!(_fmpz_mpoly_stripe_struct, emax) - 64usize];
147 ["Offset of field: _fmpz_mpoly_stripe_struct::coeff_bits"]
148 [::std::mem::offset_of!(_fmpz_mpoly_stripe_struct, coeff_bits) - 72usize];
149 ["Offset of field: _fmpz_mpoly_stripe_struct::upperclosed"]
150 [::std::mem::offset_of!(_fmpz_mpoly_stripe_struct, upperclosed) - 80usize];
151 ["Offset of field: _fmpz_mpoly_stripe_struct::flint_small"]
152 [::std::mem::offset_of!(_fmpz_mpoly_stripe_struct, flint_small) - 84usize];
153};
154impl Default for _fmpz_mpoly_stripe_struct {
155 fn default() -> Self {
156 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
157 unsafe {
158 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
159 s.assume_init()
160 }
161 }
162}
163pub type fmpz_mpoly_stripe_struct = _fmpz_mpoly_stripe_struct;
164pub type fmpz_mpoly_stripe_t = [fmpz_mpoly_stripe_struct; 1usize];
165#[repr(C)]
166pub struct fmpz_mpolyd_ctx_struct {
167 pub nvars: slong,
168 pub perm: *mut slong,
169}
170#[allow(clippy::unnecessary_operation, clippy::identity_op)]
171const _: () = {
172 ["Size of fmpz_mpolyd_ctx_struct"][::std::mem::size_of::<fmpz_mpolyd_ctx_struct>() - 16usize];
173 ["Alignment of fmpz_mpolyd_ctx_struct"]
174 [::std::mem::align_of::<fmpz_mpolyd_ctx_struct>() - 8usize];
175 ["Offset of field: fmpz_mpolyd_ctx_struct::nvars"]
176 [::std::mem::offset_of!(fmpz_mpolyd_ctx_struct, nvars) - 0usize];
177 ["Offset of field: fmpz_mpolyd_ctx_struct::perm"]
178 [::std::mem::offset_of!(fmpz_mpolyd_ctx_struct, perm) - 8usize];
179};
180impl Default for fmpz_mpolyd_ctx_struct {
181 fn default() -> Self {
182 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
183 unsafe {
184 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
185 s.assume_init()
186 }
187 }
188}
189pub type fmpz_mpolyd_ctx_t = [fmpz_mpolyd_ctx_struct; 1usize];
190#[repr(C)]
191pub struct _bindgen_ty_3 {
192 pub powers: *mut fmpz,
193 pub length: slong,
194 pub alloc: slong,
195 pub tmp: fmpz_t,
196}
197#[allow(clippy::unnecessary_operation, clippy::identity_op)]
198const _: () = {
199 ["Size of _bindgen_ty_3"][::std::mem::size_of::<_bindgen_ty_3>() - 32usize];
200 ["Alignment of _bindgen_ty_3"][::std::mem::align_of::<_bindgen_ty_3>() - 8usize];
201 ["Offset of field: _bindgen_ty_3::powers"]
202 [::std::mem::offset_of!(_bindgen_ty_3, powers) - 0usize];
203 ["Offset of field: _bindgen_ty_3::length"]
204 [::std::mem::offset_of!(_bindgen_ty_3, length) - 8usize];
205 ["Offset of field: _bindgen_ty_3::alloc"]
206 [::std::mem::offset_of!(_bindgen_ty_3, alloc) - 16usize];
207 ["Offset of field: _bindgen_ty_3::tmp"][::std::mem::offset_of!(_bindgen_ty_3, tmp) - 24usize];
208};
209impl Default for _bindgen_ty_3 {
210 fn default() -> Self {
211 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
212 unsafe {
213 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
214 s.assume_init()
215 }
216 }
217}
218pub type fmpz_pow_cache_t = [_bindgen_ty_3; 1usize];
219#[repr(C)]
220pub struct fmpz_mpoly_geobucket {
221 pub polys: [fmpz_mpoly_struct; 32usize],
222 pub temps: [fmpz_mpoly_struct; 32usize],
223 pub length: slong,
224}
225#[allow(clippy::unnecessary_operation, clippy::identity_op)]
226const _: () = {
227 ["Size of fmpz_mpoly_geobucket"][::std::mem::size_of::<fmpz_mpoly_geobucket>() - 2568usize];
228 ["Alignment of fmpz_mpoly_geobucket"][::std::mem::align_of::<fmpz_mpoly_geobucket>() - 8usize];
229 ["Offset of field: fmpz_mpoly_geobucket::polys"]
230 [::std::mem::offset_of!(fmpz_mpoly_geobucket, polys) - 0usize];
231 ["Offset of field: fmpz_mpoly_geobucket::temps"]
232 [::std::mem::offset_of!(fmpz_mpoly_geobucket, temps) - 1280usize];
233 ["Offset of field: fmpz_mpoly_geobucket::length"]
234 [::std::mem::offset_of!(fmpz_mpoly_geobucket, length) - 2560usize];
235};
236impl Default for fmpz_mpoly_geobucket {
237 fn default() -> Self {
238 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
239 unsafe {
240 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
241 s.assume_init()
242 }
243 }
244}
245pub type fmpz_mpoly_geobucket_struct = fmpz_mpoly_geobucket;
246pub type fmpz_mpoly_geobucket_t = [fmpz_mpoly_geobucket_struct; 1usize];
247extern "C" {
248 #[link_name = "fmpz_mpoly_term_coeff_ref__extern"]
249 pub fn fmpz_mpoly_term_coeff_ref(
250 A: *mut fmpz_mpoly_struct,
251 i: slong,
252 UNUSED_ctx: *const fmpz_mpoly_ctx_struct,
253 ) -> *mut fmpz;
254 #[link_name = "fmpz_mpoly_leadcoeff__extern"]
255 pub fn fmpz_mpoly_leadcoeff(A: *const fmpz_mpoly_struct) -> *mut fmpz;
256 pub fn fmpz_mpoly_ctx_init(ctx: *mut fmpz_mpoly_ctx_struct, nvars: slong, ord: ordering_t);
257 pub fn fmpz_mpoly_ctx_init_rand(
258 mctx: *mut fmpz_mpoly_ctx_struct,
259 state: *mut flint_rand_struct,
260 max_nvars: slong,
261 );
262 pub fn fmpz_mpoly_ctx_clear(ctx: *mut fmpz_mpoly_ctx_struct);
263 #[link_name = "fmpz_mpoly_ctx_nvars__extern"]
264 pub fn fmpz_mpoly_ctx_nvars(ctx: *const fmpz_mpoly_ctx_struct) -> slong;
265 #[link_name = "fmpz_mpoly_ctx_ord__extern"]
266 pub fn fmpz_mpoly_ctx_ord(ctx: *const fmpz_mpoly_ctx_struct) -> ordering_t;
267 pub fn fmpz_mpoly_init(A: *mut fmpz_mpoly_struct, UNUSED_ctx: *const fmpz_mpoly_ctx_struct);
268 pub fn fmpz_mpoly_init2(
269 A: *mut fmpz_mpoly_struct,
270 alloc: slong,
271 ctx: *const fmpz_mpoly_ctx_struct,
272 );
273 pub fn fmpz_mpoly_init3(
274 A: *mut fmpz_mpoly_struct,
275 alloc: slong,
276 bits: flint_bitcnt_t,
277 ctx: *const fmpz_mpoly_ctx_struct,
278 );
279 pub fn _fmpz_mpoly_realloc(
280 Acoeff: *mut *mut fmpz,
281 Aexp: *mut *mut ulong,
282 Aalloc: *mut slong,
283 len: slong,
284 N: slong,
285 );
286 pub fn fmpz_mpoly_realloc(
287 A: *mut fmpz_mpoly_struct,
288 alloc: slong,
289 ctx: *const fmpz_mpoly_ctx_struct,
290 );
291 pub fn _fmpz_mpoly_fit_length(
292 Acoeff: *mut *mut fmpz,
293 Aexp: *mut *mut ulong,
294 Aalloc: *mut slong,
295 len: slong,
296 N: slong,
297 );
298 pub fn fmpz_mpoly_fit_length(
299 A: *mut fmpz_mpoly_struct,
300 len: slong,
301 ctx: *const fmpz_mpoly_ctx_struct,
302 );
303 pub fn fmpz_mpoly_fit_length_reset_bits(
304 A: *mut fmpz_mpoly_struct,
305 len: slong,
306 bits: flint_bitcnt_t,
307 ctx: *const fmpz_mpoly_ctx_struct,
308 );
309 pub fn fmpz_mpoly_clear(A: *mut fmpz_mpoly_struct, UNUSED_ctx: *const fmpz_mpoly_ctx_struct);
310 pub fn _fmpz_mpoly_set_length(
311 A: *mut fmpz_mpoly_struct,
312 newlen: slong,
313 UNUSED_ctx: *const fmpz_mpoly_ctx_struct,
314 );
315 pub fn fmpz_mpoly_truncate(
316 A: *mut fmpz_mpoly_struct,
317 newlen: slong,
318 UNUSED_ctx: *const fmpz_mpoly_ctx_struct,
319 );
320 pub fn fmpz_mpoly_fit_bits(
321 A: *mut fmpz_mpoly_struct,
322 bits: flint_bitcnt_t,
323 ctx: *const fmpz_mpoly_ctx_struct,
324 );
325 pub fn fmpz_mpoly_set_str_pretty(
326 A: *mut fmpz_mpoly_struct,
327 str_: *const libc::c_char,
328 x: *mut *const libc::c_char,
329 ctx: *const fmpz_mpoly_ctx_struct,
330 ) -> libc::c_int;
331 pub fn _fmpz_mpoly_get_str_pretty(
332 poly: *const fmpz,
333 exps: *const ulong,
334 len: slong,
335 x: *mut *const libc::c_char,
336 bits: slong,
337 mctx: *const mpoly_ctx_struct,
338 ) -> *mut libc::c_char;
339 pub fn fmpz_mpoly_get_str_pretty(
340 A: *const fmpz_mpoly_struct,
341 x: *mut *const libc::c_char,
342 ctx: *const fmpz_mpoly_ctx_struct,
343 ) -> *mut libc::c_char;
344 pub fn _fmpz_mpoly_fprint_pretty(
345 file: *mut FILE,
346 poly: *const fmpz,
347 exps: *const ulong,
348 len: slong,
349 x_in: *mut *const libc::c_char,
350 bits: flint_bitcnt_t,
351 mctx: *const mpoly_ctx_struct,
352 ) -> libc::c_int;
353 pub fn fmpz_mpoly_fprint_pretty(
354 file: *mut FILE,
355 A: *const fmpz_mpoly_struct,
356 x: *mut *const libc::c_char,
357 ctx: *const fmpz_mpoly_ctx_struct,
358 ) -> libc::c_int;
359 pub fn _fmpz_mpoly_print_pretty(
360 poly: *const fmpz,
361 exps: *const ulong,
362 len: slong,
363 x: *mut *const libc::c_char,
364 bits: slong,
365 mctx: *const mpoly_ctx_struct,
366 ) -> libc::c_int;
367 pub fn fmpz_mpoly_print_pretty(
368 A: *const fmpz_mpoly_struct,
369 x: *mut *const libc::c_char,
370 ctx: *const fmpz_mpoly_ctx_struct,
371 ) -> libc::c_int;
372 pub fn fmpz_mpoly_gen(
373 poly: *mut fmpz_mpoly_struct,
374 i: slong,
375 ctx: *const fmpz_mpoly_ctx_struct,
376 );
377 pub fn fmpz_mpoly_is_gen(
378 poly: *const fmpz_mpoly_struct,
379 k: slong,
380 ctx: *const fmpz_mpoly_ctx_struct,
381 ) -> libc::c_int;
382 pub fn _fmpz_mpoly_set(
383 poly1: *mut fmpz,
384 exps1: *mut ulong,
385 poly2: *const fmpz,
386 exps2: *const ulong,
387 n: slong,
388 N: slong,
389 );
390 pub fn fmpz_mpoly_set(
391 A: *mut fmpz_mpoly_struct,
392 B: *const fmpz_mpoly_struct,
393 ctx: *const fmpz_mpoly_ctx_struct,
394 );
395 pub fn _fmpz_mpoly_equal(
396 poly1: *mut fmpz,
397 exps1: *mut ulong,
398 poly2: *const fmpz,
399 exps2: *const ulong,
400 n: slong,
401 N: slong,
402 ) -> libc::c_int;
403 pub fn fmpz_mpoly_equal(
404 A: *const fmpz_mpoly_struct,
405 B: *const fmpz_mpoly_struct,
406 ctx: *const fmpz_mpoly_ctx_struct,
407 ) -> libc::c_int;
408 #[link_name = "fmpz_mpoly_swap__extern"]
409 pub fn fmpz_mpoly_swap(
410 A: *mut fmpz_mpoly_struct,
411 B: *mut fmpz_mpoly_struct,
412 UNUSED_ctx: *const fmpz_mpoly_ctx_struct,
413 );
414 #[link_name = "_fmpz_mpoly_fits_small__extern"]
415 pub fn _fmpz_mpoly_fits_small(poly: *const fmpz, len: slong) -> libc::c_int;
416 pub fn fmpz_mpoly_max_bits(A: *const fmpz_mpoly_struct) -> slong;
417 pub fn fmpz_mpoly_is_fmpz(
418 A: *const fmpz_mpoly_struct,
419 ctx: *const fmpz_mpoly_ctx_struct,
420 ) -> libc::c_int;
421 pub fn fmpz_mpoly_get_fmpz(
422 c: *mut fmpz,
423 A: *const fmpz_mpoly_struct,
424 ctx: *const fmpz_mpoly_ctx_struct,
425 );
426 pub fn fmpz_mpoly_set_si(
427 A: *mut fmpz_mpoly_struct,
428 c: slong,
429 ctx: *const fmpz_mpoly_ctx_struct,
430 );
431 pub fn fmpz_mpoly_set_ui(
432 A: *mut fmpz_mpoly_struct,
433 c: ulong,
434 ctx: *const fmpz_mpoly_ctx_struct,
435 );
436 pub fn fmpz_mpoly_set_fmpz(
437 A: *mut fmpz_mpoly_struct,
438 c: *const fmpz,
439 ctx: *const fmpz_mpoly_ctx_struct,
440 );
441 #[link_name = "fmpz_mpoly_zero__extern"]
442 pub fn fmpz_mpoly_zero(A: *mut fmpz_mpoly_struct, ctx: *const fmpz_mpoly_ctx_struct);
443 #[link_name = "fmpz_mpoly_one__extern"]
444 pub fn fmpz_mpoly_one(A: *mut fmpz_mpoly_struct, ctx: *const fmpz_mpoly_ctx_struct);
445 pub fn fmpz_mpoly_equal_si(
446 A: *const fmpz_mpoly_struct,
447 c: slong,
448 ctx: *const fmpz_mpoly_ctx_struct,
449 ) -> libc::c_int;
450 pub fn fmpz_mpoly_equal_ui(
451 A: *const fmpz_mpoly_struct,
452 c: ulong,
453 ctx: *const fmpz_mpoly_ctx_struct,
454 ) -> libc::c_int;
455 pub fn fmpz_mpoly_equal_fmpz(
456 A: *const fmpz_mpoly_struct,
457 c: *const fmpz,
458 ctx: *const fmpz_mpoly_ctx_struct,
459 ) -> libc::c_int;
460 #[link_name = "fmpz_mpoly_is_zero__extern"]
461 pub fn fmpz_mpoly_is_zero(
462 A: *const fmpz_mpoly_struct,
463 UNUSED_ctx: *const fmpz_mpoly_ctx_struct,
464 ) -> libc::c_int;
465 #[link_name = "fmpz_mpoly_is_one__extern"]
466 pub fn fmpz_mpoly_is_one(
467 A: *const fmpz_mpoly_struct,
468 ctx: *const fmpz_mpoly_ctx_struct,
469 ) -> libc::c_int;
470 pub fn fmpz_mpoly_degrees_fit_si(
471 A: *const fmpz_mpoly_struct,
472 ctx: *const fmpz_mpoly_ctx_struct,
473 ) -> libc::c_int;
474 pub fn fmpz_mpoly_degrees_fmpz(
475 degs: *mut *mut fmpz,
476 A: *const fmpz_mpoly_struct,
477 ctx: *const fmpz_mpoly_ctx_struct,
478 );
479 pub fn fmpz_mpoly_degrees_si(
480 degs: *mut slong,
481 A: *const fmpz_mpoly_struct,
482 ctx: *const fmpz_mpoly_ctx_struct,
483 );
484 pub fn fmpz_mpoly_degree_fmpz(
485 deg: *mut fmpz,
486 A: *const fmpz_mpoly_struct,
487 var: slong,
488 ctx: *const fmpz_mpoly_ctx_struct,
489 );
490 pub fn fmpz_mpoly_degree_si(
491 A: *const fmpz_mpoly_struct,
492 var: slong,
493 ctx: *const fmpz_mpoly_ctx_struct,
494 ) -> slong;
495 pub fn fmpz_mpoly_total_degree_fits_si(
496 A: *const fmpz_mpoly_struct,
497 ctx: *const fmpz_mpoly_ctx_struct,
498 ) -> libc::c_int;
499 pub fn fmpz_mpoly_total_degree_fmpz(
500 td: *mut fmpz,
501 A: *const fmpz_mpoly_struct,
502 ctx: *const fmpz_mpoly_ctx_struct,
503 );
504 pub fn fmpz_mpoly_total_degree_si(
505 A: *const fmpz_mpoly_struct,
506 ctx: *const fmpz_mpoly_ctx_struct,
507 ) -> slong;
508 pub fn fmpz_mpoly_used_vars(
509 used: *mut libc::c_int,
510 A: *const fmpz_mpoly_struct,
511 ctx: *const fmpz_mpoly_ctx_struct,
512 );
513 pub fn fmpz_mpoly_get_coeff_si_fmpz(
514 A: *const fmpz_mpoly_struct,
515 exp: *const *mut fmpz,
516 ctx: *const fmpz_mpoly_ctx_struct,
517 ) -> slong;
518 pub fn fmpz_mpoly_get_coeff_ui_fmpz(
519 A: *const fmpz_mpoly_struct,
520 exp: *const *mut fmpz,
521 ctx: *const fmpz_mpoly_ctx_struct,
522 ) -> ulong;
523 pub fn fmpz_mpoly_get_coeff_fmpz_fmpz(
524 c: *mut fmpz,
525 A: *const fmpz_mpoly_struct,
526 exp: *const *mut fmpz,
527 ctx: *const fmpz_mpoly_ctx_struct,
528 );
529 pub fn fmpz_mpoly_get_coeff_si_ui(
530 A: *const fmpz_mpoly_struct,
531 exp: *const ulong,
532 ctx: *const fmpz_mpoly_ctx_struct,
533 ) -> slong;
534 pub fn fmpz_mpoly_get_coeff_ui_ui(
535 A: *const fmpz_mpoly_struct,
536 exp: *const ulong,
537 ctx: *const fmpz_mpoly_ctx_struct,
538 ) -> ulong;
539 pub fn fmpz_mpoly_get_coeff_fmpz_ui(
540 c: *mut fmpz,
541 A: *const fmpz_mpoly_struct,
542 exp: *const ulong,
543 ctx: *const fmpz_mpoly_ctx_struct,
544 );
545 pub fn fmpz_mpoly_get_coeff_fmpz_monomial(
546 c: *mut fmpz,
547 A: *const fmpz_mpoly_struct,
548 M: *const fmpz_mpoly_struct,
549 ctx: *const fmpz_mpoly_ctx_struct,
550 );
551 pub fn fmpz_mpoly_set_coeff_si_ui(
552 A: *mut fmpz_mpoly_struct,
553 c: slong,
554 exp: *const ulong,
555 ctx: *const fmpz_mpoly_ctx_struct,
556 );
557 pub fn fmpz_mpoly_set_coeff_ui_ui(
558 A: *mut fmpz_mpoly_struct,
559 c: ulong,
560 exp: *const ulong,
561 ctx: *const fmpz_mpoly_ctx_struct,
562 );
563 pub fn fmpz_mpoly_set_coeff_fmpz_ui(
564 A: *mut fmpz_mpoly_struct,
565 c: *const fmpz,
566 exp: *const ulong,
567 ctx: *const fmpz_mpoly_ctx_struct,
568 );
569 pub fn fmpz_mpoly_set_coeff_si_fmpz(
570 A: *mut fmpz_mpoly_struct,
571 c: slong,
572 exp: *const *mut fmpz,
573 ctx: *const fmpz_mpoly_ctx_struct,
574 );
575 pub fn fmpz_mpoly_set_coeff_ui_fmpz(
576 A: *mut fmpz_mpoly_struct,
577 c: ulong,
578 exp: *const *mut fmpz,
579 ctx: *const fmpz_mpoly_ctx_struct,
580 );
581 pub fn _fmpz_mpoly_set_coeff_fmpz_fmpz(
582 A: *mut fmpz_mpoly_struct,
583 c: *const fmpz,
584 exp: *const fmpz,
585 ctx: *const fmpz_mpoly_ctx_struct,
586 );
587 pub fn fmpz_mpoly_set_coeff_fmpz_fmpz(
588 A: *mut fmpz_mpoly_struct,
589 c: *const fmpz,
590 exp: *const *mut fmpz,
591 ctx: *const fmpz_mpoly_ctx_struct,
592 );
593 pub fn fmpz_mpoly_set_coeff_fmpz_monomial(
594 A: *mut fmpz_mpoly_struct,
595 c: *const fmpz,
596 M: *const fmpz_mpoly_struct,
597 ctx: *const fmpz_mpoly_ctx_struct,
598 );
599 pub fn fmpz_mpoly_get_coeff_vars_ui(
600 C: *mut fmpz_mpoly_struct,
601 A: *const fmpz_mpoly_struct,
602 vars: *const slong,
603 exps: *const ulong,
604 length: slong,
605 ctx: *const fmpz_mpoly_ctx_struct,
606 );
607 pub fn fmpz_mpoly_is_fmpz_poly(
608 A: *const fmpz_mpoly_struct,
609 var: slong,
610 ctx: *const fmpz_mpoly_ctx_struct,
611 ) -> libc::c_int;
612 pub fn fmpz_mpoly_get_fmpz_poly(
613 A: *mut fmpz_poly_struct,
614 B: *const fmpz_mpoly_struct,
615 var: slong,
616 ctx: *const fmpz_mpoly_ctx_struct,
617 ) -> libc::c_int;
618 pub fn _fmpz_mpoly_set_fmpz_poly(
619 A: *mut fmpz_mpoly_struct,
620 Abits: flint_bitcnt_t,
621 Bcoeffs: *const fmpz,
622 Blen: slong,
623 var: slong,
624 ctx: *const fmpz_mpoly_ctx_struct,
625 );
626 pub fn fmpz_mpoly_set_fmpz_poly(
627 A: *mut fmpz_mpoly_struct,
628 B: *const fmpz_poly_struct,
629 v: slong,
630 ctx: *const fmpz_mpoly_ctx_struct,
631 );
632 pub fn _fmpz_mpoly_set_fmpz_poly_one_var(
633 A: *mut fmpz_mpoly_struct,
634 Aminbits: flint_bitcnt_t,
635 Acoeffs: *mut fmpz,
636 Adeg: slong,
637 ctx: *const fmpz_mpoly_ctx_struct,
638 );
639 pub fn fmpz_mpoly_set_gen_fmpz_poly(
640 res: *mut fmpz_mpoly_struct,
641 var: slong,
642 pol: *const fmpz_poly_struct,
643 ctx: *const fmpz_mpoly_ctx_struct,
644 );
645 pub fn fmpz_mpoly_cmp(
646 A: *const fmpz_mpoly_struct,
647 B: *const fmpz_mpoly_struct,
648 ctx: *const fmpz_mpoly_ctx_struct,
649 ) -> libc::c_int;
650 pub fn fmpz_mpoly_is_canonical(
651 A: *const fmpz_mpoly_struct,
652 ctx: *const fmpz_mpoly_ctx_struct,
653 ) -> libc::c_int;
654 #[link_name = "fmpz_mpoly_length__extern"]
655 pub fn fmpz_mpoly_length(
656 A: *const fmpz_mpoly_struct,
657 UNUSED_ctx: *const fmpz_mpoly_ctx_struct,
658 ) -> slong;
659 pub fn fmpz_mpoly_resize(
660 A: *mut fmpz_mpoly_struct,
661 new_length: slong,
662 ctx: *const fmpz_mpoly_ctx_struct,
663 );
664 pub fn fmpz_mpoly_get_term_coeff_fmpz(
665 c: *mut fmpz,
666 A: *const fmpz_mpoly_struct,
667 i: slong,
668 UNUSED_ctx: *const fmpz_mpoly_ctx_struct,
669 );
670 pub fn fmpz_mpoly_get_term_coeff_ui(
671 A: *const fmpz_mpoly_struct,
672 i: slong,
673 UNUSED_ctx: *const fmpz_mpoly_ctx_struct,
674 ) -> ulong;
675 pub fn fmpz_mpoly_get_term_coeff_si(
676 A: *const fmpz_mpoly_struct,
677 i: slong,
678 UNUSED_ctx: *const fmpz_mpoly_ctx_struct,
679 ) -> slong;
680 pub fn fmpz_mpoly_set_term_coeff_fmpz(
681 A: *mut fmpz_mpoly_struct,
682 i: slong,
683 c: *const fmpz,
684 UNUSED_ctx: *const fmpz_mpoly_ctx_struct,
685 );
686 pub fn fmpz_mpoly_set_term_coeff_ui(
687 A: *mut fmpz_mpoly_struct,
688 i: slong,
689 c: ulong,
690 UNUSED_ctx: *const fmpz_mpoly_ctx_struct,
691 );
692 pub fn fmpz_mpoly_set_term_coeff_si(
693 A: *mut fmpz_mpoly_struct,
694 i: slong,
695 c: slong,
696 UNUSED_ctx: *const fmpz_mpoly_ctx_struct,
697 );
698 pub fn fmpz_mpoly_term_exp_fits_ui(
699 A: *const fmpz_mpoly_struct,
700 i: slong,
701 ctx: *const fmpz_mpoly_ctx_struct,
702 ) -> libc::c_int;
703 pub fn fmpz_mpoly_term_exp_fits_si(
704 A: *const fmpz_mpoly_struct,
705 i: slong,
706 ctx: *const fmpz_mpoly_ctx_struct,
707 ) -> libc::c_int;
708 pub fn fmpz_mpoly_get_term_exp_si(
709 exp: *mut slong,
710 A: *const fmpz_mpoly_struct,
711 i: slong,
712 ctx: *const fmpz_mpoly_ctx_struct,
713 );
714 pub fn fmpz_mpoly_get_term_exp_ui(
715 exp: *mut ulong,
716 A: *const fmpz_mpoly_struct,
717 i: slong,
718 ctx: *const fmpz_mpoly_ctx_struct,
719 );
720 pub fn fmpz_mpoly_get_term_exp_fmpz(
721 exp: *mut *mut fmpz,
722 A: *const fmpz_mpoly_struct,
723 i: slong,
724 ctx: *const fmpz_mpoly_ctx_struct,
725 );
726 pub fn fmpz_mpoly_get_term_var_exp_si(
727 A: *const fmpz_mpoly_struct,
728 i: slong,
729 var: slong,
730 ctx: *const fmpz_mpoly_ctx_struct,
731 ) -> slong;
732 pub fn fmpz_mpoly_get_term_var_exp_ui(
733 A: *const fmpz_mpoly_struct,
734 i: slong,
735 var: slong,
736 ctx: *const fmpz_mpoly_ctx_struct,
737 ) -> ulong;
738 pub fn fmpz_mpoly_get_term(
739 M: *mut fmpz_mpoly_struct,
740 A: *const fmpz_mpoly_struct,
741 i: slong,
742 ctx: *const fmpz_mpoly_ctx_struct,
743 );
744 pub fn fmpz_mpoly_get_term_monomial(
745 M: *mut fmpz_mpoly_struct,
746 A: *const fmpz_mpoly_struct,
747 i: slong,
748 ctx: *const fmpz_mpoly_ctx_struct,
749 );
750 pub fn fmpz_mpoly_set_term_exp_ui(
751 A: *mut fmpz_mpoly_struct,
752 i: slong,
753 exp: *const ulong,
754 ctx: *const fmpz_mpoly_ctx_struct,
755 );
756 pub fn fmpz_mpoly_set_term_exp_fmpz(
757 A: *mut fmpz_mpoly_struct,
758 i: slong,
759 exp: *const *mut fmpz,
760 ctx: *const fmpz_mpoly_ctx_struct,
761 );
762 pub fn fmpz_mpoly_push_term_si_ui(
763 A: *mut fmpz_mpoly_struct,
764 c: slong,
765 exp: *const ulong,
766 ctx: *const fmpz_mpoly_ctx_struct,
767 );
768 pub fn fmpz_mpoly_push_term_si_fmpz(
769 A: *mut fmpz_mpoly_struct,
770 c: slong,
771 exp: *const *mut fmpz,
772 ctx: *const fmpz_mpoly_ctx_struct,
773 );
774 pub fn fmpz_mpoly_push_term_si_ffmpz(
775 A: *mut fmpz_mpoly_struct,
776 c: slong,
777 exp: *const fmpz,
778 ctx: *const fmpz_mpoly_ctx_struct,
779 );
780 pub fn fmpz_mpoly_push_term_ui_ui(
781 A: *mut fmpz_mpoly_struct,
782 c: ulong,
783 exp: *const ulong,
784 ctx: *const fmpz_mpoly_ctx_struct,
785 );
786 pub fn fmpz_mpoly_push_term_ui_fmpz(
787 A: *mut fmpz_mpoly_struct,
788 c: ulong,
789 exp: *const *mut fmpz,
790 ctx: *const fmpz_mpoly_ctx_struct,
791 );
792 pub fn fmpz_mpoly_push_term_ui_ffmpz(
793 A: *mut fmpz_mpoly_struct,
794 c: ulong,
795 exp: *const fmpz,
796 ctx: *const fmpz_mpoly_ctx_struct,
797 );
798 pub fn fmpz_mpoly_push_term_fmpz_ui(
799 A: *mut fmpz_mpoly_struct,
800 c: *const fmpz,
801 exp: *const ulong,
802 ctx: *const fmpz_mpoly_ctx_struct,
803 );
804 pub fn fmpz_mpoly_push_term_fmpz_fmpz(
805 A: *mut fmpz_mpoly_struct,
806 c: *const fmpz,
807 exp: *const *mut fmpz,
808 ctx: *const fmpz_mpoly_ctx_struct,
809 );
810 pub fn fmpz_mpoly_push_term_fmpz_ffmpz(
811 A: *mut fmpz_mpoly_struct,
812 c: *const fmpz,
813 exp: *const fmpz,
814 ctx: *const fmpz_mpoly_ctx_struct,
815 );
816 pub fn _fmpz_mpoly_push_exp_ui(
817 A: *mut fmpz_mpoly_struct,
818 exp: *const ulong,
819 ctx: *const fmpz_mpoly_ctx_struct,
820 );
821 pub fn _fmpz_mpoly_push_exp_ffmpz(
822 A: *mut fmpz_mpoly_struct,
823 exp: *const fmpz,
824 ctx: *const fmpz_mpoly_ctx_struct,
825 );
826 pub fn _fmpz_mpoly_push_exp_pfmpz(
827 A: *mut fmpz_mpoly_struct,
828 exp: *const *mut fmpz,
829 ctx: *const fmpz_mpoly_ctx_struct,
830 );
831 pub fn fmpz_mpoly_combine_like_terms(
832 A: *mut fmpz_mpoly_struct,
833 ctx: *const fmpz_mpoly_ctx_struct,
834 );
835 pub fn fmpz_mpoly_reverse(
836 A: *mut fmpz_mpoly_struct,
837 B: *const fmpz_mpoly_struct,
838 ctx: *const fmpz_mpoly_ctx_struct,
839 );
840 pub fn fmpz_mpoly_sort_terms(A: *mut fmpz_mpoly_struct, ctx: *const fmpz_mpoly_ctx_struct);
841 pub fn _fmpz_mpoly_radix_sort1(
842 A: *mut fmpz_mpoly_struct,
843 left: slong,
844 right: slong,
845 pos: flint_bitcnt_t,
846 cmpmask: ulong,
847 totalmask: ulong,
848 );
849 pub fn _fmpz_mpoly_radix_sort(
850 A: *mut fmpz_mpoly_struct,
851 left: slong,
852 right: slong,
853 pos: flint_bitcnt_t,
854 N: slong,
855 cmpmask: *mut ulong,
856 );
857 pub fn fmpz_mpoly_assert_canonical(
858 A: *const fmpz_mpoly_struct,
859 ctx: *const fmpz_mpoly_ctx_struct,
860 );
861 pub fn fmpz_mpoly_randtest_bound(
862 A: *mut fmpz_mpoly_struct,
863 state: *mut flint_rand_struct,
864 length: slong,
865 coeff_bits: flint_bitcnt_t,
866 exp_bound: ulong,
867 ctx: *const fmpz_mpoly_ctx_struct,
868 );
869 pub fn fmpz_mpoly_randtest_bounds(
870 A: *mut fmpz_mpoly_struct,
871 state: *mut flint_rand_struct,
872 length: slong,
873 coeff_bits: flint_bitcnt_t,
874 exp_bounds: *mut ulong,
875 ctx: *const fmpz_mpoly_ctx_struct,
876 );
877 pub fn fmpz_mpoly_randtest_bits(
878 A: *mut fmpz_mpoly_struct,
879 state: *mut flint_rand_struct,
880 length: slong,
881 coeff_bits: flint_bitcnt_t,
882 exp_bits: flint_bitcnt_t,
883 ctx: *const fmpz_mpoly_ctx_struct,
884 );
885 pub fn fmpz_mpoly_add_si(
886 A: *mut fmpz_mpoly_struct,
887 B: *const fmpz_mpoly_struct,
888 c: slong,
889 ctx: *const fmpz_mpoly_ctx_struct,
890 );
891 pub fn fmpz_mpoly_add_ui(
892 A: *mut fmpz_mpoly_struct,
893 B: *const fmpz_mpoly_struct,
894 c: ulong,
895 ctx: *const fmpz_mpoly_ctx_struct,
896 );
897 pub fn fmpz_mpoly_add_fmpz(
898 A: *mut fmpz_mpoly_struct,
899 B: *const fmpz_mpoly_struct,
900 c: *const fmpz,
901 ctx: *const fmpz_mpoly_ctx_struct,
902 );
903 pub fn _fmpz_mpoly_add(
904 poly1: *mut fmpz,
905 exps1: *mut ulong,
906 poly2: *const fmpz,
907 exps2: *const ulong,
908 len2: slong,
909 poly3: *const fmpz,
910 exps3: *const ulong,
911 len3: slong,
912 N: slong,
913 cmpmask: *const ulong,
914 ) -> slong;
915 pub fn fmpz_mpoly_add(
916 A: *mut fmpz_mpoly_struct,
917 B: *const fmpz_mpoly_struct,
918 C: *const fmpz_mpoly_struct,
919 ctx: *const fmpz_mpoly_ctx_struct,
920 );
921 pub fn fmpz_mpoly_sub_si(
922 A: *mut fmpz_mpoly_struct,
923 B: *const fmpz_mpoly_struct,
924 c: slong,
925 ctx: *const fmpz_mpoly_ctx_struct,
926 );
927 pub fn fmpz_mpoly_sub_ui(
928 A: *mut fmpz_mpoly_struct,
929 B: *const fmpz_mpoly_struct,
930 c: ulong,
931 ctx: *const fmpz_mpoly_ctx_struct,
932 );
933 pub fn fmpz_mpoly_sub_fmpz(
934 A: *mut fmpz_mpoly_struct,
935 B: *const fmpz_mpoly_struct,
936 c: *const fmpz,
937 ctx: *const fmpz_mpoly_ctx_struct,
938 );
939 pub fn _fmpz_mpoly_sub(
940 poly1: *mut fmpz,
941 exps1: *mut ulong,
942 poly2: *const fmpz,
943 exps2: *const ulong,
944 len2: slong,
945 poly3: *const fmpz,
946 exps3: *const ulong,
947 len3: slong,
948 N: slong,
949 cmpmask: *const ulong,
950 ) -> slong;
951 pub fn fmpz_mpoly_sub(
952 A: *mut fmpz_mpoly_struct,
953 B: *const fmpz_mpoly_struct,
954 C: *const fmpz_mpoly_struct,
955 ctx: *const fmpz_mpoly_ctx_struct,
956 );
957 pub fn fmpz_mpoly_neg(
958 A: *mut fmpz_mpoly_struct,
959 B: *const fmpz_mpoly_struct,
960 ctx: *const fmpz_mpoly_ctx_struct,
961 );
962 pub fn fmpz_mpoly_scalar_mul_si(
963 A: *mut fmpz_mpoly_struct,
964 B: *const fmpz_mpoly_struct,
965 c: slong,
966 ctx: *const fmpz_mpoly_ctx_struct,
967 );
968 pub fn fmpz_mpoly_scalar_mul_ui(
969 A: *mut fmpz_mpoly_struct,
970 B: *const fmpz_mpoly_struct,
971 c: ulong,
972 ctx: *const fmpz_mpoly_ctx_struct,
973 );
974 pub fn fmpz_mpoly_scalar_mul_fmpz(
975 A: *mut fmpz_mpoly_struct,
976 B: *const fmpz_mpoly_struct,
977 c: *const fmpz,
978 ctx: *const fmpz_mpoly_ctx_struct,
979 );
980 pub fn fmpz_mpoly_scalar_fmma(
981 A: *mut fmpz_mpoly_struct,
982 B: *const fmpz_mpoly_struct,
983 c: *const fmpz,
984 D: *const fmpz_mpoly_struct,
985 e: *const fmpz,
986 ctx: *const fmpz_mpoly_ctx_struct,
987 );
988 pub fn fmpz_mpoly_scalar_divexact_si(
989 A: *mut fmpz_mpoly_struct,
990 B: *const fmpz_mpoly_struct,
991 c: slong,
992 ctx: *const fmpz_mpoly_ctx_struct,
993 );
994 pub fn fmpz_mpoly_scalar_divexact_ui(
995 A: *mut fmpz_mpoly_struct,
996 B: *const fmpz_mpoly_struct,
997 c: ulong,
998 ctx: *const fmpz_mpoly_ctx_struct,
999 );
1000 pub fn fmpz_mpoly_scalar_divexact_fmpz(
1001 A: *mut fmpz_mpoly_struct,
1002 B: *const fmpz_mpoly_struct,
1003 c: *const fmpz,
1004 ctx: *const fmpz_mpoly_ctx_struct,
1005 );
1006 pub fn fmpz_mpoly_scalar_divides_si(
1007 A: *mut fmpz_mpoly_struct,
1008 B: *const fmpz_mpoly_struct,
1009 c: slong,
1010 ctx: *const fmpz_mpoly_ctx_struct,
1011 ) -> libc::c_int;
1012 pub fn fmpz_mpoly_scalar_divides_ui(
1013 A: *mut fmpz_mpoly_struct,
1014 B: *const fmpz_mpoly_struct,
1015 c: ulong,
1016 ctx: *const fmpz_mpoly_ctx_struct,
1017 ) -> libc::c_int;
1018 pub fn fmpz_mpoly_scalar_divides_fmpz(
1019 A: *mut fmpz_mpoly_struct,
1020 B: *const fmpz_mpoly_struct,
1021 c: *const fmpz,
1022 ctx: *const fmpz_mpoly_ctx_struct,
1023 ) -> libc::c_int;
1024 pub fn fmpz_mpoly_derivative(
1025 A: *mut fmpz_mpoly_struct,
1026 B: *const fmpz_mpoly_struct,
1027 var: slong,
1028 ctx: *const fmpz_mpoly_ctx_struct,
1029 );
1030 pub fn fmpz_mpoly_integral(
1031 A: *mut fmpz_mpoly_struct,
1032 scale: *mut fmpz,
1033 B: *const fmpz_mpoly_struct,
1034 var: slong,
1035 ctx: *const fmpz_mpoly_ctx_struct,
1036 );
1037 pub fn _fmpz_pow_ui_is_not_feasible(bbits: flint_bitcnt_t, e: ulong) -> libc::c_int;
1038 pub fn _fmpz_pow_fmpz_is_not_feasible(bbits: flint_bitcnt_t, e: *const fmpz) -> libc::c_int;
1039 pub fn fmpz_mpoly_evaluate_all_fmpz(
1040 ev: *mut fmpz,
1041 A: *const fmpz_mpoly_struct,
1042 vals: *const *mut fmpz,
1043 ctx: *const fmpz_mpoly_ctx_struct,
1044 ) -> libc::c_int;
1045 pub fn fmpz_mpoly_evaluate_all_nmod(
1046 A: *const fmpz_mpoly_struct,
1047 alphas: *const ulong,
1048 ctx: *const fmpz_mpoly_ctx_struct,
1049 fpctx: nmod_t,
1050 ) -> ulong;
1051 pub fn fmpz_mpoly_evaluate_all_fmpz_mod(
1052 ev: *mut fmpz,
1053 A: *const fmpz_mpoly_struct,
1054 alphas: *const fmpz,
1055 ctx: *const fmpz_mpoly_ctx_struct,
1056 fpctx: *const fmpz_mod_ctx_struct,
1057 );
1058 pub fn fmpz_mpoly_evaluate_acb(
1059 res: *mut acb_struct,
1060 pol: *const fmpz_mpoly_struct,
1061 x: acb_srcptr,
1062 prec: slong,
1063 ctx: *const fmpz_mpoly_ctx_struct,
1064 );
1065 pub fn fmpz_mpoly_evaluate_one_fmpz(
1066 A: *mut fmpz_mpoly_struct,
1067 B: *const fmpz_mpoly_struct,
1068 var: slong,
1069 val: *const fmpz,
1070 ctx: *const fmpz_mpoly_ctx_struct,
1071 ) -> libc::c_int;
1072 pub fn fmpz_mpoly_compose_fmpz_poly(
1073 A: *mut fmpz_poly_struct,
1074 B: *const fmpz_mpoly_struct,
1075 C: *const *mut fmpz_poly_struct,
1076 ctxB: *const fmpz_mpoly_ctx_struct,
1077 ) -> libc::c_int;
1078 pub fn _fmpz_mpoly_compose_mat(
1079 A: *mut fmpz_mpoly_struct,
1080 B: *const fmpz_mpoly_struct,
1081 M: *const fmpz_mat_struct,
1082 ctxB: *const fmpz_mpoly_ctx_struct,
1083 ctxAC: *const fmpz_mpoly_ctx_struct,
1084 );
1085 pub fn fmpz_mpoly_compose_fmpz_mpoly_geobucket(
1086 A: *mut fmpz_mpoly_struct,
1087 B: *const fmpz_mpoly_struct,
1088 C: *const *mut fmpz_mpoly_struct,
1089 ctxB: *const fmpz_mpoly_ctx_struct,
1090 ctxAC: *const fmpz_mpoly_ctx_struct,
1091 ) -> libc::c_int;
1092 pub fn fmpz_mpoly_compose_fmpz_mpoly_horner(
1093 A: *mut fmpz_mpoly_struct,
1094 B: *const fmpz_mpoly_struct,
1095 C: *const *mut fmpz_mpoly_struct,
1096 ctxB: *const fmpz_mpoly_ctx_struct,
1097 ctxAC: *const fmpz_mpoly_ctx_struct,
1098 ) -> libc::c_int;
1099 pub fn fmpz_mpoly_compose_fmpz_mpoly(
1100 A: *mut fmpz_mpoly_struct,
1101 B: *const fmpz_mpoly_struct,
1102 C: *const *mut fmpz_mpoly_struct,
1103 ctxB: *const fmpz_mpoly_ctx_struct,
1104 ctxAC: *const fmpz_mpoly_ctx_struct,
1105 ) -> libc::c_int;
1106 pub fn fmpz_mpoly_compose_fmpz_mpoly_gen(
1107 A: *mut fmpz_mpoly_struct,
1108 B: *const fmpz_mpoly_struct,
1109 c: *const slong,
1110 ctxB: *const fmpz_mpoly_ctx_struct,
1111 ctxAC: *const fmpz_mpoly_ctx_struct,
1112 );
1113 pub fn fmpz_mpoly_mul(
1114 A: *mut fmpz_mpoly_struct,
1115 B: *const fmpz_mpoly_struct,
1116 C: *const fmpz_mpoly_struct,
1117 ctx: *const fmpz_mpoly_ctx_struct,
1118 );
1119 pub fn fmpz_mpoly_mul_monomial(
1120 A: *mut fmpz_mpoly_struct,
1121 B: *const fmpz_mpoly_struct,
1122 C: *const fmpz_mpoly_struct,
1123 ctx: *const fmpz_mpoly_ctx_struct,
1124 );
1125 pub fn _fmpz_mpoly_mul_johnson_maxfields(
1126 A: *mut fmpz_mpoly_struct,
1127 B: *const fmpz_mpoly_struct,
1128 maxBfields: *mut fmpz,
1129 C: *const fmpz_mpoly_struct,
1130 maxCfields: *mut fmpz,
1131 ctx: *const fmpz_mpoly_ctx_struct,
1132 );
1133 pub fn _fmpz_mpoly_mul_johnson(
1134 poly1: *mut *mut fmpz,
1135 exp1: *mut *mut ulong,
1136 alloc: *mut slong,
1137 poly2: *const fmpz,
1138 exp2: *const ulong,
1139 len2: slong,
1140 poly3: *const fmpz,
1141 exp3: *const ulong,
1142 len3: slong,
1143 bits: flint_bitcnt_t,
1144 N: slong,
1145 cmpmask: *const ulong,
1146 ) -> slong;
1147 pub fn fmpz_mpoly_mul_johnson(
1148 A: *mut fmpz_mpoly_struct,
1149 B: *const fmpz_mpoly_struct,
1150 C: *const fmpz_mpoly_struct,
1151 ctx: *const fmpz_mpoly_ctx_struct,
1152 );
1153 pub fn _fmpz_mpoly_mul_heap_threaded_pool_maxfields(
1154 A: *mut fmpz_mpoly_struct,
1155 B: *const fmpz_mpoly_struct,
1156 maxBfields: *mut fmpz,
1157 C: *const fmpz_mpoly_struct,
1158 maxCfields: *mut fmpz,
1159 ctx: *const fmpz_mpoly_ctx_struct,
1160 handles: *const thread_pool_handle,
1161 num_handles: slong,
1162 );
1163 pub fn fmpz_mpoly_mul_heap_threaded(
1164 A: *mut fmpz_mpoly_struct,
1165 B: *const fmpz_mpoly_struct,
1166 C: *const fmpz_mpoly_struct,
1167 ctx: *const fmpz_mpoly_ctx_struct,
1168 );
1169 pub fn fmpz_mpoly_mul_array(
1170 A: *mut fmpz_mpoly_struct,
1171 B: *const fmpz_mpoly_struct,
1172 C: *const fmpz_mpoly_struct,
1173 ctx: *const fmpz_mpoly_ctx_struct,
1174 ) -> libc::c_int;
1175 pub fn fmpz_mpoly_mul_array_threaded(
1176 A: *mut fmpz_mpoly_struct,
1177 B: *const fmpz_mpoly_struct,
1178 C: *const fmpz_mpoly_struct,
1179 ctx: *const fmpz_mpoly_ctx_struct,
1180 ) -> libc::c_int;
1181 pub fn _fmpz_mpoly_mul_dense(
1182 P: *mut fmpz_mpoly_struct,
1183 A: *const fmpz_mpoly_struct,
1184 maxAfields: *mut fmpz,
1185 B: *const fmpz_mpoly_struct,
1186 maxBfields: *mut fmpz,
1187 ctx: *const fmpz_mpoly_ctx_struct,
1188 ) -> libc::c_int;
1189 pub fn fmpz_mpoly_mul_dense(
1190 A: *mut fmpz_mpoly_struct,
1191 B: *const fmpz_mpoly_struct,
1192 C: *const fmpz_mpoly_struct,
1193 ctx: *const fmpz_mpoly_ctx_struct,
1194 ) -> libc::c_int;
1195 pub fn _fmpz_mpoly_mul_array_DEG(
1196 A: *mut fmpz_mpoly_struct,
1197 B: *const fmpz_mpoly_struct,
1198 maxBfields: *mut fmpz,
1199 C: *const fmpz_mpoly_struct,
1200 maxCfields: *mut fmpz,
1201 ctx: *const fmpz_mpoly_ctx_struct,
1202 ) -> libc::c_int;
1203 pub fn _fmpz_mpoly_mul_array_LEX(
1204 A: *mut fmpz_mpoly_struct,
1205 B: *const fmpz_mpoly_struct,
1206 maxBfields: *mut fmpz,
1207 C: *const fmpz_mpoly_struct,
1208 maxCfields: *mut fmpz,
1209 ctx: *const fmpz_mpoly_ctx_struct,
1210 ) -> libc::c_int;
1211 pub fn _fmpz_mpoly_mul_array_threaded_pool_DEG(
1212 A: *mut fmpz_mpoly_struct,
1213 B: *const fmpz_mpoly_struct,
1214 maxBfields: *mut fmpz,
1215 C: *const fmpz_mpoly_struct,
1216 maxCfields: *mut fmpz,
1217 ctx: *const fmpz_mpoly_ctx_struct,
1218 handles: *const thread_pool_handle,
1219 num_handles: slong,
1220 ) -> libc::c_int;
1221 pub fn _fmpz_mpoly_mul_array_threaded_pool_LEX(
1222 A: *mut fmpz_mpoly_struct,
1223 B: *const fmpz_mpoly_struct,
1224 maxBfields: *mut fmpz,
1225 C: *const fmpz_mpoly_struct,
1226 maxCfields: *mut fmpz,
1227 ctx: *const fmpz_mpoly_ctx_struct,
1228 handles: *const thread_pool_handle,
1229 num_handles: slong,
1230 ) -> libc::c_int;
1231 pub fn fmpz_mpoly_pow_ui(
1232 A: *mut fmpz_mpoly_struct,
1233 B: *const fmpz_mpoly_struct,
1234 k: ulong,
1235 ctx: *const fmpz_mpoly_ctx_struct,
1236 ) -> libc::c_int;
1237 pub fn fmpz_mpoly_pow_fmpz(
1238 A: *mut fmpz_mpoly_struct,
1239 B: *const fmpz_mpoly_struct,
1240 k: *const fmpz,
1241 ctx: *const fmpz_mpoly_ctx_struct,
1242 ) -> libc::c_int;
1243 pub fn fmpz_mpoly_divides(
1244 Q: *mut fmpz_mpoly_struct,
1245 A: *const fmpz_mpoly_struct,
1246 B: *const fmpz_mpoly_struct,
1247 ctx: *const fmpz_mpoly_ctx_struct,
1248 ) -> libc::c_int;
1249 pub fn fmpz_mpoly_divides_monagan_pearce(
1250 Q: *mut fmpz_mpoly_struct,
1251 A: *const fmpz_mpoly_struct,
1252 B: *const fmpz_mpoly_struct,
1253 ctx: *const fmpz_mpoly_ctx_struct,
1254 ) -> libc::c_int;
1255 pub fn fmpz_mpoly_divides_heap_threaded(
1256 Q: *mut fmpz_mpoly_struct,
1257 A: *const fmpz_mpoly_struct,
1258 B: *const fmpz_mpoly_struct,
1259 ctx: *const fmpz_mpoly_ctx_struct,
1260 ) -> libc::c_int;
1261 pub fn _fmpz_mpoly_divides_heap_threaded_pool(
1262 Q: *mut fmpz_mpoly_struct,
1263 A: *const fmpz_mpoly_struct,
1264 B: *const fmpz_mpoly_struct,
1265 ctx: *const fmpz_mpoly_ctx_struct,
1266 handles: *const thread_pool_handle,
1267 num_handles: slong,
1268 ) -> libc::c_int;
1269 pub fn _fmpz_mpoly_divides_array(
1270 poly1: *mut *mut fmpz,
1271 exp1: *mut *mut ulong,
1272 alloc: *mut slong,
1273 poly2: *const fmpz,
1274 exp2: *const ulong,
1275 len2: slong,
1276 poly3: *const fmpz,
1277 exp3: *const ulong,
1278 len3: slong,
1279 mults: *mut slong,
1280 num: slong,
1281 bits: slong,
1282 ) -> slong;
1283 pub fn fmpz_mpoly_divides_array(
1284 poly1: *mut fmpz_mpoly_struct,
1285 poly2: *const fmpz_mpoly_struct,
1286 poly3: *const fmpz_mpoly_struct,
1287 ctx: *const fmpz_mpoly_ctx_struct,
1288 ) -> libc::c_int;
1289 pub fn mpoly_divides_select_exps(
1290 S: *mut fmpz_mpoly_struct,
1291 zctx: *mut fmpz_mpoly_ctx_struct,
1292 nworkers: slong,
1293 Aexp: *mut ulong,
1294 Alen: slong,
1295 Bexp: *mut ulong,
1296 Blen: slong,
1297 bits: flint_bitcnt_t,
1298 ) -> libc::c_int;
1299 pub fn _fmpz_mpoly_divides_monagan_pearce(
1300 poly1: *mut *mut fmpz,
1301 exp1: *mut *mut ulong,
1302 alloc: *mut slong,
1303 poly2: *const fmpz,
1304 exp2: *const ulong,
1305 len2: slong,
1306 poly3: *const fmpz,
1307 exp3: *const ulong,
1308 len3: slong,
1309 bits: flint_bitcnt_t,
1310 N: slong,
1311 cmpmask: *const ulong,
1312 ) -> slong;
1313 pub fn fmpz_mpoly_divrem(
1314 Q: *mut fmpz_mpoly_struct,
1315 R: *mut fmpz_mpoly_struct,
1316 A: *const fmpz_mpoly_struct,
1317 B: *const fmpz_mpoly_struct,
1318 ctx: *const fmpz_mpoly_ctx_struct,
1319 );
1320 pub fn fmpz_mpoly_quasidivrem(
1321 scale: *mut fmpz,
1322 Q: *mut fmpz_mpoly_struct,
1323 R: *mut fmpz_mpoly_struct,
1324 A: *const fmpz_mpoly_struct,
1325 B: *const fmpz_mpoly_struct,
1326 ctx: *const fmpz_mpoly_ctx_struct,
1327 );
1328 pub fn fmpz_mpoly_div(
1329 Q: *mut fmpz_mpoly_struct,
1330 A: *const fmpz_mpoly_struct,
1331 B: *const fmpz_mpoly_struct,
1332 ctx: *const fmpz_mpoly_ctx_struct,
1333 );
1334 pub fn fmpz_mpoly_quasidiv(
1335 scale: *mut fmpz,
1336 Q: *mut fmpz_mpoly_struct,
1337 A: *const fmpz_mpoly_struct,
1338 B: *const fmpz_mpoly_struct,
1339 ctx: *const fmpz_mpoly_ctx_struct,
1340 );
1341 pub fn fmpz_mpoly_divrem_ideal(
1342 Q: *mut *mut fmpz_mpoly_struct,
1343 R: *mut fmpz_mpoly_struct,
1344 A: *const fmpz_mpoly_struct,
1345 B: *const *mut fmpz_mpoly_struct,
1346 len: slong,
1347 ctx: *const fmpz_mpoly_ctx_struct,
1348 );
1349 pub fn fmpz_mpoly_quasidivrem_ideal(
1350 scale: *mut fmpz,
1351 Q: *mut *mut fmpz_mpoly_struct,
1352 R: *mut fmpz_mpoly_struct,
1353 A: *const fmpz_mpoly_struct,
1354 B: *const *mut fmpz_mpoly_struct,
1355 len: slong,
1356 ctx: *const fmpz_mpoly_ctx_struct,
1357 );
1358 #[link_name = "fmpz_mpoly_divexact__extern"]
1359 pub fn fmpz_mpoly_divexact(
1360 Q: *mut fmpz_mpoly_struct,
1361 A: *const fmpz_mpoly_struct,
1362 B: *const fmpz_mpoly_struct,
1363 ctx: *const fmpz_mpoly_ctx_struct,
1364 );
1365 pub fn _fmpz_mpoly_div_monagan_pearce(
1366 polyq: *mut *mut fmpz,
1367 expq: *mut *mut ulong,
1368 allocq: *mut slong,
1369 poly2: *const fmpz,
1370 exp2: *const ulong,
1371 len2: slong,
1372 poly3: *const fmpz,
1373 exp3: *const ulong,
1374 len3: slong,
1375 bits: slong,
1376 N: slong,
1377 cmpmask: *const ulong,
1378 ) -> slong;
1379 pub fn fmpz_mpoly_div_monagan_pearce(
1380 q: *mut fmpz_mpoly_struct,
1381 poly2: *const fmpz_mpoly_struct,
1382 poly3: *const fmpz_mpoly_struct,
1383 ctx: *const fmpz_mpoly_ctx_struct,
1384 );
1385 pub fn _fmpz_mpoly_divrem_monagan_pearce(
1386 lenr: *mut slong,
1387 polyq: *mut *mut fmpz,
1388 expq: *mut *mut ulong,
1389 allocq: *mut slong,
1390 polyr: *mut *mut fmpz,
1391 expr: *mut *mut ulong,
1392 allocr: *mut slong,
1393 poly2: *const fmpz,
1394 exp2: *const ulong,
1395 len2: slong,
1396 poly3: *const fmpz,
1397 exp3: *const ulong,
1398 len3: slong,
1399 bits: slong,
1400 N: slong,
1401 cmpmask: *const ulong,
1402 ) -> slong;
1403 pub fn fmpz_mpoly_divrem_monagan_pearce(
1404 q: *mut fmpz_mpoly_struct,
1405 r: *mut fmpz_mpoly_struct,
1406 poly2: *const fmpz_mpoly_struct,
1407 poly3: *const fmpz_mpoly_struct,
1408 ctx: *const fmpz_mpoly_ctx_struct,
1409 );
1410 pub fn _fmpz_mpoly_divrem_array(
1411 lenr: *mut slong,
1412 polyq: *mut *mut fmpz,
1413 expq: *mut *mut ulong,
1414 allocq: *mut slong,
1415 polyr: *mut *mut fmpz,
1416 expr: *mut *mut ulong,
1417 allocr: *mut slong,
1418 poly2: *const fmpz,
1419 exp2: *const ulong,
1420 len2: slong,
1421 poly3: *const fmpz,
1422 exp3: *const ulong,
1423 len3: slong,
1424 mults: *mut slong,
1425 num: slong,
1426 bits: slong,
1427 ) -> slong;
1428 pub fn fmpz_mpoly_divrem_array(
1429 q: *mut fmpz_mpoly_struct,
1430 r: *mut fmpz_mpoly_struct,
1431 poly2: *const fmpz_mpoly_struct,
1432 poly3: *const fmpz_mpoly_struct,
1433 ctx: *const fmpz_mpoly_ctx_struct,
1434 ) -> libc::c_int;
1435 pub fn fmpz_mpoly_quasidivrem_heap(
1436 scale: *mut fmpz,
1437 q: *mut fmpz_mpoly_struct,
1438 r: *mut fmpz_mpoly_struct,
1439 poly2: *const fmpz_mpoly_struct,
1440 poly3: *const fmpz_mpoly_struct,
1441 ctx: *const fmpz_mpoly_ctx_struct,
1442 );
1443 pub fn fmpz_mpoly_quasidiv_heap(
1444 scale: *mut fmpz,
1445 q: *mut fmpz_mpoly_struct,
1446 poly2: *const fmpz_mpoly_struct,
1447 poly3: *const fmpz_mpoly_struct,
1448 ctx: *const fmpz_mpoly_ctx_struct,
1449 );
1450 pub fn _fmpz_mpoly_divrem_ideal_monagan_pearce(
1451 polyq: *mut *mut fmpz_mpoly_struct,
1452 polyr: *mut *mut fmpz,
1453 expr: *mut *mut ulong,
1454 allocr: *mut slong,
1455 poly2: *const fmpz,
1456 exp2: *const ulong,
1457 len2: slong,
1458 poly3: *const *mut fmpz_mpoly_struct,
1459 exp3: *const *mut ulong,
1460 len: slong,
1461 N: slong,
1462 bits: slong,
1463 ctx: *const fmpz_mpoly_ctx_struct,
1464 cmpmask: *const ulong,
1465 ) -> slong;
1466 pub fn fmpz_mpoly_divrem_ideal_monagan_pearce(
1467 q: *mut *mut fmpz_mpoly_struct,
1468 r: *mut fmpz_mpoly_struct,
1469 poly2: *const fmpz_mpoly_struct,
1470 poly3: *const *mut fmpz_mpoly_struct,
1471 len: slong,
1472 ctx: *const fmpz_mpoly_ctx_struct,
1473 );
1474 pub fn fmpz_mpoly_quasidivrem_ideal_heap(
1475 scale: *mut fmpz,
1476 q: *mut *mut fmpz_mpoly_struct,
1477 r: *mut fmpz_mpoly_struct,
1478 poly2: *const fmpz_mpoly_struct,
1479 poly3: *const *mut fmpz_mpoly_struct,
1480 len: slong,
1481 ctx: *const fmpz_mpoly_ctx_struct,
1482 );
1483 pub fn _fmpz_mpoly_sqrt_heap(
1484 polyq: *mut *mut fmpz,
1485 expq: *mut *mut ulong,
1486 allocq: *mut slong,
1487 poly2: *const fmpz,
1488 exp2: *const ulong,
1489 len2: slong,
1490 bits: flint_bitcnt_t,
1491 mctx: *const mpoly_ctx_struct,
1492 check: libc::c_int,
1493 ) -> slong;
1494 pub fn fmpz_mpoly_sqrt_heap(
1495 q: *mut fmpz_mpoly_struct,
1496 poly2: *const fmpz_mpoly_struct,
1497 ctx: *const fmpz_mpoly_ctx_struct,
1498 check: libc::c_int,
1499 ) -> libc::c_int;
1500 #[link_name = "fmpz_mpoly_sqrt__extern"]
1501 pub fn fmpz_mpoly_sqrt(
1502 q: *mut fmpz_mpoly_struct,
1503 poly2: *const fmpz_mpoly_struct,
1504 ctx: *const fmpz_mpoly_ctx_struct,
1505 ) -> libc::c_int;
1506 #[link_name = "fmpz_mpoly_is_square__extern"]
1507 pub fn fmpz_mpoly_is_square(
1508 poly2: *const fmpz_mpoly_struct,
1509 ctx: *const fmpz_mpoly_ctx_struct,
1510 ) -> libc::c_int;
1511 pub fn fmpz_mpoly_term_content(
1512 M: *mut fmpz_mpoly_struct,
1513 A: *const fmpz_mpoly_struct,
1514 ctx: *const fmpz_mpoly_ctx_struct,
1515 );
1516 pub fn fmpz_mpoly_primitive_part(
1517 res: *mut fmpz_mpoly_struct,
1518 f: *const fmpz_mpoly_struct,
1519 ctx: *const fmpz_mpoly_ctx_struct,
1520 );
1521 pub fn fmpz_mpoly_content_vars(
1522 g: *mut fmpz_mpoly_struct,
1523 A: *const fmpz_mpoly_struct,
1524 vars: *mut slong,
1525 vars_length: slong,
1526 ctx: *const fmpz_mpoly_ctx_struct,
1527 ) -> libc::c_int;
1528 pub fn fmpz_mpoly_deflation(
1529 shift: *mut fmpz,
1530 stride: *mut fmpz,
1531 A: *const fmpz_mpoly_struct,
1532 ctx: *const fmpz_mpoly_ctx_struct,
1533 );
1534 pub fn fmpz_mpoly_deflate(
1535 A: *mut fmpz_mpoly_struct,
1536 B: *const fmpz_mpoly_struct,
1537 shift: *const fmpz,
1538 stride: *const fmpz,
1539 ctx: *const fmpz_mpoly_ctx_struct,
1540 );
1541 pub fn fmpz_mpoly_inflate(
1542 A: *mut fmpz_mpoly_struct,
1543 B: *const fmpz_mpoly_struct,
1544 shift: *const fmpz,
1545 stride: *const fmpz,
1546 ctx: *const fmpz_mpoly_ctx_struct,
1547 );
1548 pub fn fmpz_mpoly_gcd_cofactors(
1549 G: *mut fmpz_mpoly_struct,
1550 Abar: *mut fmpz_mpoly_struct,
1551 Bbar: *mut fmpz_mpoly_struct,
1552 A: *const fmpz_mpoly_struct,
1553 B: *const fmpz_mpoly_struct,
1554 ctx: *const fmpz_mpoly_ctx_struct,
1555 ) -> libc::c_int;
1556 pub fn fmpz_mpoly_gcd_hensel(
1557 G: *mut fmpz_mpoly_struct,
1558 A: *const fmpz_mpoly_struct,
1559 B: *const fmpz_mpoly_struct,
1560 ctx: *const fmpz_mpoly_ctx_struct,
1561 ) -> libc::c_int;
1562 pub fn fmpz_mpoly_gcd_brown(
1563 G: *mut fmpz_mpoly_struct,
1564 A: *const fmpz_mpoly_struct,
1565 B: *const fmpz_mpoly_struct,
1566 ctx: *const fmpz_mpoly_ctx_struct,
1567 ) -> libc::c_int;
1568 pub fn fmpz_mpoly_gcd_subresultant(
1569 G: *mut fmpz_mpoly_struct,
1570 A: *const fmpz_mpoly_struct,
1571 B: *const fmpz_mpoly_struct,
1572 ctx: *const fmpz_mpoly_ctx_struct,
1573 ) -> libc::c_int;
1574 pub fn fmpz_mpoly_gcd_zippel(
1575 G: *mut fmpz_mpoly_struct,
1576 A: *const fmpz_mpoly_struct,
1577 B: *const fmpz_mpoly_struct,
1578 ctx: *const fmpz_mpoly_ctx_struct,
1579 ) -> libc::c_int;
1580 pub fn fmpz_mpoly_gcd_zippel2(
1581 G: *mut fmpz_mpoly_struct,
1582 A: *const fmpz_mpoly_struct,
1583 B: *const fmpz_mpoly_struct,
1584 ctx: *const fmpz_mpoly_ctx_struct,
1585 ) -> libc::c_int;
1586 pub fn fmpz_mpoly_gcd(
1587 G: *mut fmpz_mpoly_struct,
1588 A: *const fmpz_mpoly_struct,
1589 B: *const fmpz_mpoly_struct,
1590 ctx: *const fmpz_mpoly_ctx_struct,
1591 ) -> libc::c_int;
1592 pub fn fmpz_mpoly_univar_init(
1593 A: *mut fmpz_mpoly_univar_struct,
1594 UNUSED_ctx: *const fmpz_mpoly_ctx_struct,
1595 );
1596 pub fn fmpz_mpoly_univar_clear(
1597 A: *mut fmpz_mpoly_univar_struct,
1598 ctx: *const fmpz_mpoly_ctx_struct,
1599 );
1600 pub fn fmpz_mpoly_univar_fit_length(
1601 A: *mut fmpz_mpoly_univar_struct,
1602 length: slong,
1603 ctx: *const fmpz_mpoly_ctx_struct,
1604 );
1605 pub fn fmpz_mpoly_univar_print_pretty(
1606 A: *const fmpz_mpoly_univar_struct,
1607 x: *mut *const libc::c_char,
1608 ctx: *const fmpz_mpoly_ctx_struct,
1609 );
1610 pub fn fmpz_mpoly_univar_assert_canonical(
1611 A: *mut fmpz_mpoly_univar_struct,
1612 ctx: *const fmpz_mpoly_ctx_struct,
1613 );
1614 #[link_name = "fmpz_mpoly_univar_zero__extern"]
1615 pub fn fmpz_mpoly_univar_zero(
1616 A: *mut fmpz_mpoly_univar_struct,
1617 UNUSED_ctx: *const fmpz_mpoly_ctx_struct,
1618 );
1619 pub fn fmpz_mpoly_univar_set_coeff_ui(
1620 A: *mut fmpz_mpoly_univar_struct,
1621 e: ulong,
1622 c: *const fmpz_mpoly_struct,
1623 ctx: *const fmpz_mpoly_ctx_struct,
1624 );
1625 pub fn fmpz_mpoly_to_univar(
1626 A: *mut fmpz_mpoly_univar_struct,
1627 B: *const fmpz_mpoly_struct,
1628 var: slong,
1629 ctx: *const fmpz_mpoly_ctx_struct,
1630 );
1631 pub fn _fmpz_mpoly_from_univar(
1632 A: *mut fmpz_mpoly_struct,
1633 Abits: flint_bitcnt_t,
1634 B: *const fmpz_mpoly_univar_struct,
1635 var: slong,
1636 ctx: *const fmpz_mpoly_ctx_struct,
1637 );
1638 pub fn fmpz_mpoly_from_univar(
1639 A: *mut fmpz_mpoly_struct,
1640 B: *const fmpz_mpoly_univar_struct,
1641 var: slong,
1642 ctx: *const fmpz_mpoly_ctx_struct,
1643 );
1644 #[link_name = "fmpz_mpoly_univar_swap__extern"]
1645 pub fn fmpz_mpoly_univar_swap(
1646 A: *mut fmpz_mpoly_univar_struct,
1647 B: *mut fmpz_mpoly_univar_struct,
1648 UNUSED_ctx: *const fmpz_mpoly_ctx_struct,
1649 );
1650 pub fn fmpz_mpoly_univar_degree_fits_si(
1651 A: *const fmpz_mpoly_univar_struct,
1652 UNUSED_ctx: *const fmpz_mpoly_ctx_struct,
1653 ) -> libc::c_int;
1654 #[link_name = "fmpz_mpoly_univar_length__extern"]
1655 pub fn fmpz_mpoly_univar_length(
1656 A: *const fmpz_mpoly_univar_struct,
1657 UNUSED_ctx: *const fmpz_mpoly_ctx_struct,
1658 ) -> slong;
1659 pub fn fmpz_mpoly_univar_get_term_exp_si(
1660 A: *mut fmpz_mpoly_univar_struct,
1661 i: slong,
1662 UNUSED_ctx: *const fmpz_mpoly_ctx_struct,
1663 ) -> slong;
1664 #[link_name = "fmpz_mpoly_univar_get_term_coeff__extern"]
1665 pub fn fmpz_mpoly_univar_get_term_coeff(
1666 c: *mut fmpz_mpoly_struct,
1667 A: *const fmpz_mpoly_univar_struct,
1668 i: slong,
1669 ctx: *const fmpz_mpoly_ctx_struct,
1670 );
1671 #[link_name = "fmpz_mpoly_univar_swap_term_coeff__extern"]
1672 pub fn fmpz_mpoly_univar_swap_term_coeff(
1673 c: *mut fmpz_mpoly_struct,
1674 A: *mut fmpz_mpoly_univar_struct,
1675 i: slong,
1676 ctx: *const fmpz_mpoly_ctx_struct,
1677 );
1678 pub fn fmpz_mpoly_univar_pseudo_gcd(
1679 gx: *mut fmpz_mpoly_univar_struct,
1680 ax: *const fmpz_mpoly_univar_struct,
1681 bx: *const fmpz_mpoly_univar_struct,
1682 ctx: *const fmpz_mpoly_ctx_struct,
1683 ) -> libc::c_int;
1684 pub fn fmpz_mpoly_univar_resultant(
1685 d: *mut fmpz_mpoly_struct,
1686 ax: *const fmpz_mpoly_univar_struct,
1687 bx: *const fmpz_mpoly_univar_struct,
1688 ctx: *const fmpz_mpoly_ctx_struct,
1689 ) -> libc::c_int;
1690 pub fn fmpz_mpoly_univar_discriminant(
1691 d: *mut fmpz_mpoly_struct,
1692 fx: *const fmpz_mpoly_univar_struct,
1693 ctx: *const fmpz_mpoly_ctx_struct,
1694 ) -> libc::c_int;
1695 pub fn fmpz_mpoly_resultant(
1696 R: *mut fmpz_mpoly_struct,
1697 A: *const fmpz_mpoly_struct,
1698 B: *const fmpz_mpoly_struct,
1699 var: slong,
1700 ctx: *const fmpz_mpoly_ctx_struct,
1701 ) -> libc::c_int;
1702 pub fn fmpz_mpoly_discriminant(
1703 R: *mut fmpz_mpoly_struct,
1704 A: *const fmpz_mpoly_struct,
1705 var: slong,
1706 ctx: *const fmpz_mpoly_ctx_struct,
1707 ) -> libc::c_int;
1708 pub fn fmpz_mpoly_symmetric_gens(
1709 res: *mut fmpz_mpoly_struct,
1710 k: ulong,
1711 vars: *mut slong,
1712 n: slong,
1713 ctx: *const fmpz_mpoly_ctx_struct,
1714 );
1715 pub fn fmpz_mpoly_symmetric(
1716 res: *mut fmpz_mpoly_struct,
1717 k: ulong,
1718 ctx: *const fmpz_mpoly_ctx_struct,
1719 );
1720 pub fn fmpz_mpoly_vec_init(
1721 vec: *mut fmpz_mpoly_vec_struct,
1722 len: slong,
1723 ctx: *const fmpz_mpoly_ctx_struct,
1724 );
1725 pub fn fmpz_mpoly_vec_print(F: *const fmpz_mpoly_vec_struct, ctx: *const fmpz_mpoly_ctx_struct);
1726 pub fn fmpz_mpoly_vec_swap(
1727 x: *mut fmpz_mpoly_vec_struct,
1728 y: *mut fmpz_mpoly_vec_struct,
1729 UNUSED_ctx: *const fmpz_mpoly_ctx_struct,
1730 );
1731 pub fn fmpz_mpoly_vec_fit_length(
1732 vec: *mut fmpz_mpoly_vec_struct,
1733 len: slong,
1734 ctx: *const fmpz_mpoly_ctx_struct,
1735 );
1736 pub fn fmpz_mpoly_vec_clear(vec: *mut fmpz_mpoly_vec_struct, ctx: *const fmpz_mpoly_ctx_struct);
1737 pub fn fmpz_mpoly_vec_set(
1738 dest: *mut fmpz_mpoly_vec_struct,
1739 src: *const fmpz_mpoly_vec_struct,
1740 ctx: *const fmpz_mpoly_ctx_struct,
1741 );
1742 pub fn fmpz_mpoly_vec_append(
1743 vec: *mut fmpz_mpoly_vec_struct,
1744 f: *const fmpz_mpoly_struct,
1745 ctx: *const fmpz_mpoly_ctx_struct,
1746 );
1747 pub fn fmpz_mpoly_vec_insert_unique(
1748 vec: *mut fmpz_mpoly_vec_struct,
1749 f: *const fmpz_mpoly_struct,
1750 ctx: *const fmpz_mpoly_ctx_struct,
1751 ) -> slong;
1752 pub fn fmpz_mpoly_vec_set_length(
1753 vec: *mut fmpz_mpoly_vec_struct,
1754 len: slong,
1755 ctx: *const fmpz_mpoly_ctx_struct,
1756 );
1757 pub fn fmpz_mpoly_vec_randtest_not_zero(
1758 vec: *mut fmpz_mpoly_vec_struct,
1759 state: *mut flint_rand_struct,
1760 len: slong,
1761 poly_len: slong,
1762 bits: slong,
1763 exp_bound: ulong,
1764 ctx: *mut fmpz_mpoly_ctx_struct,
1765 );
1766 pub fn fmpz_mpoly_spoly(
1767 res: *mut fmpz_mpoly_struct,
1768 f: *const fmpz_mpoly_struct,
1769 g: *const fmpz_mpoly_struct,
1770 ctx: *const fmpz_mpoly_ctx_struct,
1771 );
1772 pub fn fmpz_mpoly_vec_set_primitive_unique(
1773 G: *mut fmpz_mpoly_vec_struct,
1774 F: *const fmpz_mpoly_vec_struct,
1775 ctx: *const fmpz_mpoly_ctx_struct,
1776 );
1777 pub fn fmpz_mpoly_reduction_primitive_part(
1778 res: *mut fmpz_mpoly_struct,
1779 f: *const fmpz_mpoly_struct,
1780 Iv: *const fmpz_mpoly_vec_struct,
1781 ctx: *const fmpz_mpoly_ctx_struct,
1782 );
1783 pub fn fmpz_mpoly_vec_is_groebner(
1784 G: *const fmpz_mpoly_vec_struct,
1785 F: *const fmpz_mpoly_vec_struct,
1786 ctx: *const fmpz_mpoly_ctx_struct,
1787 ) -> libc::c_int;
1788 pub fn fmpz_mpoly_buchberger_naive(
1789 G: *mut fmpz_mpoly_vec_struct,
1790 F: *const fmpz_mpoly_vec_struct,
1791 ctx: *const fmpz_mpoly_ctx_struct,
1792 );
1793 pub fn fmpz_mpoly_buchberger_naive_with_limits(
1794 G: *mut fmpz_mpoly_vec_struct,
1795 F: *const fmpz_mpoly_vec_struct,
1796 ideal_len_limit: slong,
1797 poly_len_limit: slong,
1798 poly_bits_limit: slong,
1799 ctx: *const fmpz_mpoly_ctx_struct,
1800 ) -> libc::c_int;
1801 pub fn fmpz_mpoly_vec_autoreduction(
1802 H: *mut fmpz_mpoly_vec_struct,
1803 F: *const fmpz_mpoly_vec_struct,
1804 ctx: *const fmpz_mpoly_ctx_struct,
1805 );
1806 pub fn fmpz_mpoly_vec_autoreduction_groebner(
1807 H: *mut fmpz_mpoly_vec_struct,
1808 G: *const fmpz_mpoly_vec_struct,
1809 ctx: *const fmpz_mpoly_ctx_struct,
1810 );
1811 pub fn fmpz_mpoly_vec_is_autoreduced(
1812 G: *const fmpz_mpoly_vec_struct,
1813 ctx: *const fmpz_mpoly_ctx_struct,
1814 ) -> libc::c_int;
1815 #[doc = "Internal functions (guaranteed to change without notice)"]
1816 pub fn mpoly_void_ring_init_fmpz_mpoly_ctx(
1817 R: *mut _bindgen_ty_2,
1818 ctx: *const fmpz_mpoly_ctx_struct,
1819 );
1820 pub fn fmpz_mpoly_pow_fps(
1821 A: *mut fmpz_mpoly_struct,
1822 B: *const fmpz_mpoly_struct,
1823 k: ulong,
1824 ctx: *const fmpz_mpoly_ctx_struct,
1825 );
1826 pub fn fmpz_mpolyl_lead_coeff(
1827 c: *mut fmpz_mpoly_struct,
1828 A: *const fmpz_mpoly_struct,
1829 num_vars: slong,
1830 ctx: *const fmpz_mpoly_ctx_struct,
1831 );
1832 pub fn fmpz_mpolyl_content(
1833 g: *mut fmpz_mpoly_struct,
1834 A: *const fmpz_mpoly_struct,
1835 num_vars: slong,
1836 ctx: *const fmpz_mpoly_ctx_struct,
1837 ) -> libc::c_int;
1838 pub fn _fmpz_mpoly_to_fmpz_poly_deflate(
1839 A: *mut fmpz_poly_struct,
1840 B: *const fmpz_mpoly_struct,
1841 var: slong,
1842 Bshift: *const ulong,
1843 Bstride: *const ulong,
1844 ctx: *const fmpz_mpoly_ctx_struct,
1845 );
1846 pub fn fmpz_mpoly_to_fmpz_poly(
1847 poly1: *mut fmpz_poly_struct,
1848 poly1_shift: *mut slong,
1849 poly2: *const fmpz_mpoly_struct,
1850 var: slong,
1851 ctx: *const fmpz_mpoly_ctx_struct,
1852 );
1853 pub fn _fmpz_mpoly_from_fmpz_poly_inflate(
1854 A: *mut fmpz_mpoly_struct,
1855 Abits: flint_bitcnt_t,
1856 B: *const fmpz_poly_struct,
1857 var: slong,
1858 Ashift: *const ulong,
1859 Astride: *const ulong,
1860 ctx: *const fmpz_mpoly_ctx_struct,
1861 );
1862 pub fn fmpz_mpoly_from_fmpz_poly(
1863 poly1: *mut fmpz_mpoly_struct,
1864 poly2: *const fmpz_poly_struct,
1865 shift2: slong,
1866 var: slong,
1867 ctx: *const fmpz_mpoly_ctx_struct,
1868 );
1869 pub fn fmpz_mpoly_repack_bits(
1870 A: *mut fmpz_mpoly_struct,
1871 B: *const fmpz_mpoly_struct,
1872 Abits: flint_bitcnt_t,
1873 ctx: *const fmpz_mpoly_ctx_struct,
1874 ) -> libc::c_int;
1875 pub fn fmpz_mpoly_repack_bits_inplace(
1876 A: *mut fmpz_mpoly_struct,
1877 Abits: flint_bitcnt_t,
1878 ctx: *const fmpz_mpoly_ctx_struct,
1879 ) -> libc::c_int;
1880 pub fn fmpz_mpolyd_init(poly: *mut fmpz_mpolyd_struct, nvars: slong);
1881 pub fn fmpz_mpolyd_fit_length(poly: *mut fmpz_mpolyd_struct, len: slong);
1882 pub fn fmpz_mpolyd_clear(poly: *mut fmpz_mpolyd_struct);
1883 pub fn fmpz_pow_cache_init(T: *mut _bindgen_ty_3, val: *const fmpz);
1884 pub fn fmpz_pow_cache_clear(T: *mut _bindgen_ty_3);
1885 pub fn fmpz_pow_cache_mulpow_ui(
1886 a: *mut fmpz,
1887 b: *const fmpz,
1888 k: ulong,
1889 T: *mut _bindgen_ty_3,
1890 ) -> libc::c_int;
1891 pub fn fmpz_pow_cache_mulpow_fmpz(
1892 a: *mut fmpz,
1893 b: *const fmpz,
1894 k: *const fmpz,
1895 T: *mut _bindgen_ty_3,
1896 ) -> libc::c_int;
1897 pub fn fmpz_mpoly_to_mpoly_perm_deflate_threaded_pool(
1898 A: *mut fmpz_mpoly_struct,
1899 lctx: *const fmpz_mpoly_ctx_struct,
1900 B: *const fmpz_mpoly_struct,
1901 ctx: *const fmpz_mpoly_ctx_struct,
1902 perm: *const slong,
1903 shift: *const ulong,
1904 stride: *const ulong,
1905 handles: *const thread_pool_handle,
1906 num_handles: slong,
1907 );
1908 pub fn fmpz_mpoly_from_mpoly_perm_inflate(
1909 A: *mut fmpz_mpoly_struct,
1910 Abits: flint_bitcnt_t,
1911 ctx: *const fmpz_mpoly_ctx_struct,
1912 B: *const fmpz_mpoly_struct,
1913 lctx: *const fmpz_mpoly_ctx_struct,
1914 perm: *const slong,
1915 shift: *const ulong,
1916 stride: *const ulong,
1917 );
1918 pub fn fmpz_mpoly_height(
1919 max: *mut fmpz,
1920 A: *const fmpz_mpoly_struct,
1921 UNUSED_ctx: *const fmpz_mpoly_ctx_struct,
1922 );
1923 pub fn fmpz_mpoly_heights(
1924 max: *mut fmpz,
1925 sum: *mut fmpz,
1926 A: *const fmpz_mpoly_struct,
1927 UNUSED_ctx: *const fmpz_mpoly_ctx_struct,
1928 );
1929 pub fn fmpz_mpoly_geobucket_init(
1930 B: *mut fmpz_mpoly_geobucket_struct,
1931 ctx: *const fmpz_mpoly_ctx_struct,
1932 );
1933 pub fn fmpz_mpoly_geobucket_clear(
1934 B: *mut fmpz_mpoly_geobucket_struct,
1935 ctx: *const fmpz_mpoly_ctx_struct,
1936 );
1937 pub fn fmpz_mpoly_geobucket_empty(
1938 p: *mut fmpz_mpoly_struct,
1939 B: *mut fmpz_mpoly_geobucket_struct,
1940 ctx: *const fmpz_mpoly_ctx_struct,
1941 );
1942 pub fn fmpz_mpoly_geobucket_fit_length(
1943 B: *mut fmpz_mpoly_geobucket_struct,
1944 i: slong,
1945 ctx: *const fmpz_mpoly_ctx_struct,
1946 );
1947 pub fn fmpz_mpoly_geobucket_set(
1948 B: *mut fmpz_mpoly_geobucket_struct,
1949 p: *mut fmpz_mpoly_struct,
1950 ctx: *const fmpz_mpoly_ctx_struct,
1951 );
1952 pub fn fmpz_mpoly_geobucket_add(
1953 B: *mut fmpz_mpoly_geobucket_struct,
1954 p: *mut fmpz_mpoly_struct,
1955 ctx: *const fmpz_mpoly_ctx_struct,
1956 );
1957 pub fn fmpz_mpoly_geobucket_sub(
1958 B: *mut fmpz_mpoly_geobucket_struct,
1959 p: *mut fmpz_mpoly_struct,
1960 ctx: *const fmpz_mpoly_ctx_struct,
1961 );
1962 pub fn _fmpz_mpoly_mul_array_chunked_DEG(
1963 P: *mut fmpz_mpoly_struct,
1964 A: *const fmpz_mpoly_struct,
1965 B: *const fmpz_mpoly_struct,
1966 degb: ulong,
1967 ctx: *const fmpz_mpoly_ctx_struct,
1968 );
1969 pub fn _fmpz_mpoly_mul_array_chunked_LEX(
1970 P: *mut fmpz_mpoly_struct,
1971 A: *const fmpz_mpoly_struct,
1972 B: *const fmpz_mpoly_struct,
1973 mults: *const ulong,
1974 ctx: *const fmpz_mpoly_ctx_struct,
1975 );
1976 pub fn _fmpz_mpoly_addmul_array1_slong1(
1977 poly1: *mut ulong,
1978 poly2: *const slong,
1979 exp2: *const ulong,
1980 len2: slong,
1981 poly3: *const slong,
1982 exp3: *const ulong,
1983 len3: slong,
1984 );
1985 pub fn _fmpz_mpoly_addmul_array1_slong2(
1986 poly1: *mut ulong,
1987 poly2: *const slong,
1988 exp2: *const ulong,
1989 len2: slong,
1990 poly3: *const slong,
1991 exp3: *const ulong,
1992 len3: slong,
1993 );
1994 pub fn _fmpz_mpoly_addmul_array1_slong(
1995 poly1: *mut ulong,
1996 poly2: *const slong,
1997 exp2: *const ulong,
1998 len2: slong,
1999 poly3: *const slong,
2000 exp3: *const ulong,
2001 len3: slong,
2002 );
2003 pub fn _fmpz_mpoly_addmul_array1_fmpz(
2004 poly1: *mut fmpz,
2005 poly2: *const fmpz,
2006 exp2: *const ulong,
2007 len2: slong,
2008 poly3: *const fmpz,
2009 exp3: *const ulong,
2010 len3: slong,
2011 );
2012 pub fn _fmpz_mpoly_submul_array1_slong1(
2013 poly1: *mut ulong,
2014 poly2: *const slong,
2015 exp2: *const ulong,
2016 len2: slong,
2017 poly3: *const slong,
2018 exp3: *const ulong,
2019 len3: slong,
2020 );
2021 pub fn _fmpz_mpoly_submul_array1_slong2(
2022 poly1: *mut ulong,
2023 poly2: *const slong,
2024 exp2: *const ulong,
2025 len2: slong,
2026 poly3: *const slong,
2027 exp3: *const ulong,
2028 len3: slong,
2029 );
2030 pub fn _fmpz_mpoly_submul_array1_slong(
2031 poly1: *mut ulong,
2032 poly2: *const slong,
2033 exp2: *const ulong,
2034 len2: slong,
2035 poly3: *const slong,
2036 exp3: *const ulong,
2037 len3: slong,
2038 );
2039 pub fn _fmpz_mpoly_submul_array1_fmpz(
2040 poly1: *mut fmpz,
2041 poly2: *const fmpz,
2042 exp2: *const ulong,
2043 len2: slong,
2044 poly3: *const fmpz,
2045 exp3: *const ulong,
2046 len3: slong,
2047 );
2048 pub fn _fmpz_mpoly_submul_array1_slong2_1(
2049 poly1: *mut ulong,
2050 d: slong,
2051 exp2: ulong,
2052 poly3: *const slong,
2053 exp3: *const ulong,
2054 len3: slong,
2055 );
2056 pub fn _fmpz_mpoly_submul_array1_slong_1(
2057 poly1: *mut ulong,
2058 d: slong,
2059 exp2: ulong,
2060 poly3: *const slong,
2061 exp3: *const ulong,
2062 len3: slong,
2063 );
2064 pub fn _fmpz_mpoly_submul_array1_fmpz_1(
2065 poly1: *mut fmpz,
2066 d: *const fmpz,
2067 exp2: ulong,
2068 poly3: *const fmpz,
2069 exp3: *const ulong,
2070 len3: slong,
2071 );
2072 pub fn fmpz_mpoly_append_array_sm1_LEX(
2073 P: *mut fmpz_mpoly_struct,
2074 Plen: slong,
2075 coeff_array: *mut ulong,
2076 mults: *const ulong,
2077 num: slong,
2078 array_size: slong,
2079 top: slong,
2080 ) -> slong;
2081 pub fn fmpz_mpoly_append_array_sm2_LEX(
2082 P: *mut fmpz_mpoly_struct,
2083 Plen: slong,
2084 coeff_array: *mut ulong,
2085 mults: *const ulong,
2086 num: slong,
2087 array_size: slong,
2088 top: slong,
2089 ) -> slong;
2090 pub fn fmpz_mpoly_append_array_sm3_LEX(
2091 P: *mut fmpz_mpoly_struct,
2092 Plen: slong,
2093 coeff_array: *mut ulong,
2094 mults: *const ulong,
2095 num: slong,
2096 array_size: slong,
2097 top: slong,
2098 ) -> slong;
2099 pub fn fmpz_mpoly_append_array_fmpz_LEX(
2100 P: *mut fmpz_mpoly_struct,
2101 Plen: slong,
2102 coeff_array: *mut fmpz,
2103 mults: *const ulong,
2104 num: slong,
2105 array_size: slong,
2106 top: slong,
2107 ) -> slong;
2108 pub fn fmpz_mpoly_append_array_sm1_DEGLEX(
2109 P: *mut fmpz_mpoly_struct,
2110 Plen: slong,
2111 coeff_array: *mut ulong,
2112 top: slong,
2113 nvars: slong,
2114 degb: slong,
2115 ) -> slong;
2116 pub fn fmpz_mpoly_append_array_sm2_DEGLEX(
2117 P: *mut fmpz_mpoly_struct,
2118 Plen: slong,
2119 coeff_array: *mut ulong,
2120 top: slong,
2121 nvars: slong,
2122 degb: slong,
2123 ) -> slong;
2124 pub fn fmpz_mpoly_append_array_sm3_DEGLEX(
2125 P: *mut fmpz_mpoly_struct,
2126 Plen: slong,
2127 coeff_array: *mut ulong,
2128 top: slong,
2129 nvars: slong,
2130 degb: slong,
2131 ) -> slong;
2132 pub fn fmpz_mpoly_append_array_fmpz_DEGLEX(
2133 P: *mut fmpz_mpoly_struct,
2134 Plen: slong,
2135 coeff_array: *mut fmpz,
2136 top: slong,
2137 nvars: slong,
2138 degb: slong,
2139 ) -> slong;
2140 pub fn fmpz_mpoly_append_array_sm1_DEGREVLEX(
2141 P: *mut fmpz_mpoly_struct,
2142 Plen: slong,
2143 coeff_array: *mut ulong,
2144 top: slong,
2145 nvars: slong,
2146 degb: slong,
2147 ) -> slong;
2148 pub fn fmpz_mpoly_append_array_sm2_DEGREVLEX(
2149 P: *mut fmpz_mpoly_struct,
2150 Plen: slong,
2151 coeff_array: *mut ulong,
2152 top: slong,
2153 nvars: slong,
2154 degb: slong,
2155 ) -> slong;
2156 pub fn fmpz_mpoly_append_array_sm3_DEGREVLEX(
2157 P: *mut fmpz_mpoly_struct,
2158 Plen: slong,
2159 coeff_array: *mut ulong,
2160 top: slong,
2161 nvars: slong,
2162 degb: slong,
2163 ) -> slong;
2164 pub fn fmpz_mpoly_append_array_fmpz_DEGREVLEX(
2165 P: *mut fmpz_mpoly_struct,
2166 Plen: slong,
2167 coeff_array: *mut fmpz,
2168 top: slong,
2169 nvars: slong,
2170 degb: slong,
2171 ) -> slong;
2172 pub fn _fmpz_mpoly_from_ulong_array1(
2173 poly1: *mut *mut fmpz,
2174 exp1: *mut *mut ulong,
2175 alloc: *mut slong,
2176 poly2: *mut ulong,
2177 mults: *const slong,
2178 num: slong,
2179 bits: slong,
2180 k: slong,
2181 ) -> slong;
2182 pub fn _fmpz_mpoly_from_ulong_array2(
2183 poly1: *mut *mut fmpz,
2184 exp1: *mut *mut ulong,
2185 alloc: *mut slong,
2186 poly2: *mut ulong,
2187 mults: *const slong,
2188 num: slong,
2189 bits: slong,
2190 k: slong,
2191 ) -> slong;
2192 pub fn _fmpz_mpoly_from_ulong_array(
2193 poly1: *mut *mut fmpz,
2194 exp1: *mut *mut ulong,
2195 alloc: *mut slong,
2196 poly2: *mut ulong,
2197 mults: *const slong,
2198 num: slong,
2199 bits: slong,
2200 k: slong,
2201 ) -> slong;
2202 pub fn _fmpz_mpoly_from_fmpz_array(
2203 poly1: *mut *mut fmpz,
2204 exp1: *mut *mut ulong,
2205 alloc: *mut slong,
2206 poly2: *mut fmpz,
2207 mults: *const slong,
2208 num: slong,
2209 bits: slong,
2210 k: slong,
2211 ) -> slong;
2212 pub fn _fmpz_mpoly_to_ulong_array1(
2213 p: *mut ulong,
2214 coeffs: *const fmpz,
2215 exps: *const ulong,
2216 len: slong,
2217 );
2218 pub fn _fmpz_mpoly_to_ulong_array2(
2219 p: *mut ulong,
2220 coeffs: *const fmpz,
2221 exps: *const ulong,
2222 len: slong,
2223 );
2224 pub fn _fmpz_mpoly_to_ulong_array(
2225 p: *mut ulong,
2226 coeffs: *const fmpz,
2227 exps: *const ulong,
2228 len: slong,
2229 );
2230 pub fn _fmpz_mpoly_to_fmpz_array(
2231 p: *mut fmpz,
2232 coeffs: *const fmpz,
2233 exps: *const ulong,
2234 len: slong,
2235 );
2236 pub fn _fmpz_mpoly_add_uiuiui_fmpz(c: *mut ulong, d: *const fmpz);
2237 pub fn _fmpz_mpoly_sub_uiuiui_fmpz(c: *mut ulong, d: *const fmpz);
2238 #[link_name = "_fmpz_mpoly_submul_uiuiui_fmpz__extern"]
2239 pub fn _fmpz_mpoly_submul_uiuiui_fmpz(c: *mut ulong, d1: slong, d2: slong);
2240 #[link_name = "_fmpz_mpoly_addmul_uiuiui_fmpz__extern"]
2241 pub fn _fmpz_mpoly_addmul_uiuiui_fmpz(c: *mut ulong, d1: slong, d2: slong);
2242 #[doc = "Internal consistency checks"]
2243 pub fn fmpz_mpoly_remainder_test(
2244 r: *const fmpz_mpoly_struct,
2245 g: *const fmpz_mpoly_struct,
2246 ctx: *const fmpz_mpoly_ctx_struct,
2247 );
2248 pub fn fmpz_mpoly_remainder_strongtest(
2249 r: *const fmpz_mpoly_struct,
2250 g: *const fmpz_mpoly_struct,
2251 ctx: *const fmpz_mpoly_ctx_struct,
2252 );
2253}