Skip to main content

flint_sys/
mpoly_types.rs

1/* automatically generated by rust-bindgen 0.70.1 */
2
3use crate::deps::*;
4use crate::flint::*;
5use crate::fmpz_mod_types::*;
6use crate::fq_nmod_types::*;
7use crate::n_poly_types::*;
8
9
10pub const MPOLY_NUM_ORDERINGS: u32 = 3;
11pub const ordering_t_ORD_LEX: ordering_t = 0;
12pub const ordering_t_ORD_DEGLEX: ordering_t = 1;
13pub const ordering_t_ORD_DEGREVLEX: ordering_t = 2;
14pub type ordering_t = libc::c_uint;
15#[repr(C)]
16pub struct mpoly_ctx_struct {
17    pub nvars: slong,
18    pub nfields: slong,
19    pub ord: ordering_t,
20    pub deg: libc::c_int,
21    pub rev: libc::c_int,
22    pub lut_words_per_exp: [slong; 64usize],
23    pub lut_fix_bits: [libc::c_uchar; 64usize],
24}
25#[allow(clippy::unnecessary_operation, clippy::identity_op)]
26const _: () = {
27    ["Size of mpoly_ctx_struct"][::std::mem::size_of::<mpoly_ctx_struct>() - 608usize];
28    ["Alignment of mpoly_ctx_struct"][::std::mem::align_of::<mpoly_ctx_struct>() - 8usize];
29    ["Offset of field: mpoly_ctx_struct::nvars"]
30        [::std::mem::offset_of!(mpoly_ctx_struct, nvars) - 0usize];
31    ["Offset of field: mpoly_ctx_struct::nfields"]
32        [::std::mem::offset_of!(mpoly_ctx_struct, nfields) - 8usize];
33    ["Offset of field: mpoly_ctx_struct::ord"]
34        [::std::mem::offset_of!(mpoly_ctx_struct, ord) - 16usize];
35    ["Offset of field: mpoly_ctx_struct::deg"]
36        [::std::mem::offset_of!(mpoly_ctx_struct, deg) - 20usize];
37    ["Offset of field: mpoly_ctx_struct::rev"]
38        [::std::mem::offset_of!(mpoly_ctx_struct, rev) - 24usize];
39    ["Offset of field: mpoly_ctx_struct::lut_words_per_exp"]
40        [::std::mem::offset_of!(mpoly_ctx_struct, lut_words_per_exp) - 32usize];
41    ["Offset of field: mpoly_ctx_struct::lut_fix_bits"]
42        [::std::mem::offset_of!(mpoly_ctx_struct, lut_fix_bits) - 544usize];
43};
44impl Default for mpoly_ctx_struct {
45    fn default() -> Self {
46        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
47        unsafe {
48            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
49            s.assume_init()
50        }
51    }
52}
53pub type mpoly_ctx_t = [mpoly_ctx_struct; 1usize];
54#[repr(C)]
55pub struct nmod_mpoly_ctx_struct {
56    pub minfo: mpoly_ctx_t,
57    pub mod_: nmod_t,
58}
59#[allow(clippy::unnecessary_operation, clippy::identity_op)]
60const _: () = {
61    ["Size of nmod_mpoly_ctx_struct"][::std::mem::size_of::<nmod_mpoly_ctx_struct>() - 632usize];
62    ["Alignment of nmod_mpoly_ctx_struct"]
63        [::std::mem::align_of::<nmod_mpoly_ctx_struct>() - 8usize];
64    ["Offset of field: nmod_mpoly_ctx_struct::minfo"]
65        [::std::mem::offset_of!(nmod_mpoly_ctx_struct, minfo) - 0usize];
66    ["Offset of field: nmod_mpoly_ctx_struct::mod_"]
67        [::std::mem::offset_of!(nmod_mpoly_ctx_struct, mod_) - 608usize];
68};
69impl Default for nmod_mpoly_ctx_struct {
70    fn default() -> Self {
71        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
72        unsafe {
73            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
74            s.assume_init()
75        }
76    }
77}
78pub type nmod_mpoly_ctx_t = [nmod_mpoly_ctx_struct; 1usize];
79#[repr(C)]
80pub struct fmpz_mpoly_ctx_struct {
81    pub minfo: mpoly_ctx_t,
82}
83#[allow(clippy::unnecessary_operation, clippy::identity_op)]
84const _: () = {
85    ["Size of fmpz_mpoly_ctx_struct"][::std::mem::size_of::<fmpz_mpoly_ctx_struct>() - 608usize];
86    ["Alignment of fmpz_mpoly_ctx_struct"]
87        [::std::mem::align_of::<fmpz_mpoly_ctx_struct>() - 8usize];
88    ["Offset of field: fmpz_mpoly_ctx_struct::minfo"]
89        [::std::mem::offset_of!(fmpz_mpoly_ctx_struct, minfo) - 0usize];
90};
91impl Default for fmpz_mpoly_ctx_struct {
92    fn default() -> Self {
93        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
94        unsafe {
95            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
96            s.assume_init()
97        }
98    }
99}
100pub type fmpz_mpoly_ctx_t = [fmpz_mpoly_ctx_struct; 1usize];
101#[repr(C)]
102pub struct fmpq_mpoly_ctx_struct {
103    pub zctx: fmpz_mpoly_ctx_t,
104}
105#[allow(clippy::unnecessary_operation, clippy::identity_op)]
106const _: () = {
107    ["Size of fmpq_mpoly_ctx_struct"][::std::mem::size_of::<fmpq_mpoly_ctx_struct>() - 608usize];
108    ["Alignment of fmpq_mpoly_ctx_struct"]
109        [::std::mem::align_of::<fmpq_mpoly_ctx_struct>() - 8usize];
110    ["Offset of field: fmpq_mpoly_ctx_struct::zctx"]
111        [::std::mem::offset_of!(fmpq_mpoly_ctx_struct, zctx) - 0usize];
112};
113impl Default for fmpq_mpoly_ctx_struct {
114    fn default() -> Self {
115        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
116        unsafe {
117            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
118            s.assume_init()
119        }
120    }
121}
122pub type fmpq_mpoly_ctx_t = [fmpq_mpoly_ctx_struct; 1usize];
123#[repr(C)]
124pub struct fmpz_mod_mpoly_ctx_struct {
125    pub minfo: mpoly_ctx_t,
126    pub ffinfo: fmpz_mod_ctx_t,
127}
128#[allow(clippy::unnecessary_operation, clippy::identity_op)]
129const _: () = {
130    ["Size of fmpz_mod_mpoly_ctx_struct"]
131        [::std::mem::size_of::<fmpz_mod_mpoly_ctx_struct>() - 720usize];
132    ["Alignment of fmpz_mod_mpoly_ctx_struct"]
133        [::std::mem::align_of::<fmpz_mod_mpoly_ctx_struct>() - 8usize];
134    ["Offset of field: fmpz_mod_mpoly_ctx_struct::minfo"]
135        [::std::mem::offset_of!(fmpz_mod_mpoly_ctx_struct, minfo) - 0usize];
136    ["Offset of field: fmpz_mod_mpoly_ctx_struct::ffinfo"]
137        [::std::mem::offset_of!(fmpz_mod_mpoly_ctx_struct, ffinfo) - 608usize];
138};
139impl Default for fmpz_mod_mpoly_ctx_struct {
140    fn default() -> Self {
141        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
142        unsafe {
143            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
144            s.assume_init()
145        }
146    }
147}
148pub type fmpz_mod_mpoly_ctx_t = [fmpz_mod_mpoly_ctx_struct; 1usize];
149#[repr(C)]
150pub struct fq_nmod_mpoly_ctx_struct {
151    pub minfo: mpoly_ctx_t,
152    pub fqctx: fq_nmod_ctx_t,
153}
154#[allow(clippy::unnecessary_operation, clippy::identity_op)]
155const _: () = {
156    ["Size of fq_nmod_mpoly_ctx_struct"]
157        [::std::mem::size_of::<fq_nmod_mpoly_ctx_struct>() - 768usize];
158    ["Alignment of fq_nmod_mpoly_ctx_struct"]
159        [::std::mem::align_of::<fq_nmod_mpoly_ctx_struct>() - 8usize];
160    ["Offset of field: fq_nmod_mpoly_ctx_struct::minfo"]
161        [::std::mem::offset_of!(fq_nmod_mpoly_ctx_struct, minfo) - 0usize];
162    ["Offset of field: fq_nmod_mpoly_ctx_struct::fqctx"]
163        [::std::mem::offset_of!(fq_nmod_mpoly_ctx_struct, fqctx) - 608usize];
164};
165impl Default for fq_nmod_mpoly_ctx_struct {
166    fn default() -> Self {
167        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
168        unsafe {
169            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
170            s.assume_init()
171        }
172    }
173}
174pub type fq_nmod_mpoly_ctx_t = [fq_nmod_mpoly_ctx_struct; 1usize];
175#[repr(C)]
176pub struct _bindgen_ty_2 {
177    pub elem_size: slong,
178    pub ctx: *const libc::c_void,
179    pub init: ::std::option::Option<
180        unsafe extern "C" fn(arg1: *mut libc::c_void, arg2: *const libc::c_void),
181    >,
182    pub clear: ::std::option::Option<
183        unsafe extern "C" fn(arg1: *mut libc::c_void, arg2: *const libc::c_void),
184    >,
185    pub is_zero: ::std::option::Option<
186        unsafe extern "C" fn(arg1: *const libc::c_void, arg2: *const libc::c_void) -> libc::c_int,
187    >,
188    pub zero: ::std::option::Option<
189        unsafe extern "C" fn(arg1: *mut libc::c_void, arg2: *const libc::c_void),
190    >,
191    pub one: ::std::option::Option<
192        unsafe extern "C" fn(arg1: *mut libc::c_void, arg2: *const libc::c_void),
193    >,
194    pub set_fmpz: ::std::option::Option<
195        unsafe extern "C" fn(arg1: *mut libc::c_void, arg2: *const fmpz, arg3: *const libc::c_void),
196    >,
197    pub set: ::std::option::Option<
198        unsafe extern "C" fn(
199            arg1: *mut libc::c_void,
200            arg2: *const libc::c_void,
201            arg3: *const libc::c_void,
202        ),
203    >,
204    pub swap: ::std::option::Option<
205        unsafe extern "C" fn(
206            arg1: *mut libc::c_void,
207            arg2: *mut libc::c_void,
208            arg3: *const libc::c_void,
209        ),
210    >,
211    pub neg: ::std::option::Option<
212        unsafe extern "C" fn(
213            arg1: *mut libc::c_void,
214            arg2: *const libc::c_void,
215            arg3: *const libc::c_void,
216        ),
217    >,
218    pub add: ::std::option::Option<
219        unsafe extern "C" fn(
220            arg1: *mut libc::c_void,
221            arg2: *const libc::c_void,
222            arg3: *const libc::c_void,
223            arg4: *const libc::c_void,
224        ),
225    >,
226    pub sub: ::std::option::Option<
227        unsafe extern "C" fn(
228            arg1: *mut libc::c_void,
229            arg2: *const libc::c_void,
230            arg3: *const libc::c_void,
231            arg4: *const libc::c_void,
232        ),
233    >,
234    pub mul_fmpz: ::std::option::Option<
235        unsafe extern "C" fn(
236            arg1: *mut libc::c_void,
237            arg2: *const libc::c_void,
238            arg3: *const fmpz,
239            arg4: *const libc::c_void,
240        ),
241    >,
242    pub mul: ::std::option::Option<
243        unsafe extern "C" fn(
244            arg1: *mut libc::c_void,
245            arg2: *const libc::c_void,
246            arg3: *const libc::c_void,
247            arg4: *const libc::c_void,
248        ),
249    >,
250    pub divexact: ::std::option::Option<
251        unsafe extern "C" fn(
252            arg1: *mut libc::c_void,
253            arg2: *const libc::c_void,
254            arg3: *const libc::c_void,
255            arg4: *const libc::c_void,
256        ),
257    >,
258    pub divides: ::std::option::Option<
259        unsafe extern "C" fn(
260            arg1: *mut libc::c_void,
261            arg2: *const libc::c_void,
262            arg3: *const libc::c_void,
263            arg4: *const libc::c_void,
264        ) -> libc::c_int,
265    >,
266    pub pow_fmpz: ::std::option::Option<
267        unsafe extern "C" fn(
268            arg1: *mut libc::c_void,
269            arg2: *const libc::c_void,
270            arg3: *const fmpz,
271            arg4: *const libc::c_void,
272        ) -> libc::c_int,
273    >,
274    pub length: ::std::option::Option<
275        unsafe extern "C" fn(arg1: *const libc::c_void, arg2: *const libc::c_void) -> slong,
276    >,
277}
278#[allow(clippy::unnecessary_operation, clippy::identity_op)]
279const _: () = {
280    ["Size of _bindgen_ty_2"][::std::mem::size_of::<_bindgen_ty_2>() - 152usize];
281    ["Alignment of _bindgen_ty_2"][::std::mem::align_of::<_bindgen_ty_2>() - 8usize];
282    ["Offset of field: _bindgen_ty_2::elem_size"]
283        [::std::mem::offset_of!(_bindgen_ty_2, elem_size) - 0usize];
284    ["Offset of field: _bindgen_ty_2::ctx"][::std::mem::offset_of!(_bindgen_ty_2, ctx) - 8usize];
285    ["Offset of field: _bindgen_ty_2::init"][::std::mem::offset_of!(_bindgen_ty_2, init) - 16usize];
286    ["Offset of field: _bindgen_ty_2::clear"]
287        [::std::mem::offset_of!(_bindgen_ty_2, clear) - 24usize];
288    ["Offset of field: _bindgen_ty_2::is_zero"]
289        [::std::mem::offset_of!(_bindgen_ty_2, is_zero) - 32usize];
290    ["Offset of field: _bindgen_ty_2::zero"][::std::mem::offset_of!(_bindgen_ty_2, zero) - 40usize];
291    ["Offset of field: _bindgen_ty_2::one"][::std::mem::offset_of!(_bindgen_ty_2, one) - 48usize];
292    ["Offset of field: _bindgen_ty_2::set_fmpz"]
293        [::std::mem::offset_of!(_bindgen_ty_2, set_fmpz) - 56usize];
294    ["Offset of field: _bindgen_ty_2::set"][::std::mem::offset_of!(_bindgen_ty_2, set) - 64usize];
295    ["Offset of field: _bindgen_ty_2::swap"][::std::mem::offset_of!(_bindgen_ty_2, swap) - 72usize];
296    ["Offset of field: _bindgen_ty_2::neg"][::std::mem::offset_of!(_bindgen_ty_2, neg) - 80usize];
297    ["Offset of field: _bindgen_ty_2::add"][::std::mem::offset_of!(_bindgen_ty_2, add) - 88usize];
298    ["Offset of field: _bindgen_ty_2::sub"][::std::mem::offset_of!(_bindgen_ty_2, sub) - 96usize];
299    ["Offset of field: _bindgen_ty_2::mul_fmpz"]
300        [::std::mem::offset_of!(_bindgen_ty_2, mul_fmpz) - 104usize];
301    ["Offset of field: _bindgen_ty_2::mul"][::std::mem::offset_of!(_bindgen_ty_2, mul) - 112usize];
302    ["Offset of field: _bindgen_ty_2::divexact"]
303        [::std::mem::offset_of!(_bindgen_ty_2, divexact) - 120usize];
304    ["Offset of field: _bindgen_ty_2::divides"]
305        [::std::mem::offset_of!(_bindgen_ty_2, divides) - 128usize];
306    ["Offset of field: _bindgen_ty_2::pow_fmpz"]
307        [::std::mem::offset_of!(_bindgen_ty_2, pow_fmpz) - 136usize];
308    ["Offset of field: _bindgen_ty_2::length"]
309        [::std::mem::offset_of!(_bindgen_ty_2, length) - 144usize];
310};
311impl Default for _bindgen_ty_2 {
312    fn default() -> Self {
313        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
314        unsafe {
315            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
316            s.assume_init()
317        }
318    }
319}
320pub type mpoly_void_ring_t = [_bindgen_ty_2; 1usize];
321#[repr(C)]
322pub struct mpoly_gcd_info_struct {
323    pub Amax_exp: *mut ulong,
324    pub Amin_exp: *mut ulong,
325    pub Astride: *mut ulong,
326    pub Adeflate_deg: *mut slong,
327    pub Alead_count: *mut slong,
328    pub Atail_count: *mut slong,
329    pub Bmax_exp: *mut ulong,
330    pub Bmin_exp: *mut ulong,
331    pub Bstride: *mut ulong,
332    pub Bdeflate_deg: *mut slong,
333    pub Blead_count: *mut slong,
334    pub Btail_count: *mut slong,
335    pub Gmin_exp: *mut ulong,
336    pub Abarmin_exp: *mut ulong,
337    pub Bbarmin_exp: *mut ulong,
338    pub Gstride: *mut ulong,
339    pub Gterm_count_est: *mut slong,
340    pub Gdeflate_deg_bound: *mut slong,
341    pub Gbits: flint_bitcnt_t,
342    pub Abarbits: flint_bitcnt_t,
343    pub Bbarbits: flint_bitcnt_t,
344    pub mvars: slong,
345    pub Adeflate_tdeg: slong,
346    pub Bdeflate_tdeg: slong,
347    pub Adensity: f64,
348    pub Bdensity: f64,
349    pub hensel_time: f64,
350    pub brown_time: f64,
351    pub zippel_time: f64,
352    pub zippel2_time: f64,
353    pub hensel_perm: *mut slong,
354    pub brown_perm: *mut slong,
355    pub zippel_perm: *mut slong,
356    pub zippel2_perm: *mut slong,
357    pub can_use: libc::c_uint,
358    pub Gdeflate_deg_bounds_are_nice: libc::c_int,
359    pub data: *mut libc::c_char,
360}
361#[allow(clippy::unnecessary_operation, clippy::identity_op)]
362const _: () = {
363    ["Size of mpoly_gcd_info_struct"][::std::mem::size_of::<mpoly_gcd_info_struct>() - 288usize];
364    ["Alignment of mpoly_gcd_info_struct"]
365        [::std::mem::align_of::<mpoly_gcd_info_struct>() - 8usize];
366    ["Offset of field: mpoly_gcd_info_struct::Amax_exp"]
367        [::std::mem::offset_of!(mpoly_gcd_info_struct, Amax_exp) - 0usize];
368    ["Offset of field: mpoly_gcd_info_struct::Amin_exp"]
369        [::std::mem::offset_of!(mpoly_gcd_info_struct, Amin_exp) - 8usize];
370    ["Offset of field: mpoly_gcd_info_struct::Astride"]
371        [::std::mem::offset_of!(mpoly_gcd_info_struct, Astride) - 16usize];
372    ["Offset of field: mpoly_gcd_info_struct::Adeflate_deg"]
373        [::std::mem::offset_of!(mpoly_gcd_info_struct, Adeflate_deg) - 24usize];
374    ["Offset of field: mpoly_gcd_info_struct::Alead_count"]
375        [::std::mem::offset_of!(mpoly_gcd_info_struct, Alead_count) - 32usize];
376    ["Offset of field: mpoly_gcd_info_struct::Atail_count"]
377        [::std::mem::offset_of!(mpoly_gcd_info_struct, Atail_count) - 40usize];
378    ["Offset of field: mpoly_gcd_info_struct::Bmax_exp"]
379        [::std::mem::offset_of!(mpoly_gcd_info_struct, Bmax_exp) - 48usize];
380    ["Offset of field: mpoly_gcd_info_struct::Bmin_exp"]
381        [::std::mem::offset_of!(mpoly_gcd_info_struct, Bmin_exp) - 56usize];
382    ["Offset of field: mpoly_gcd_info_struct::Bstride"]
383        [::std::mem::offset_of!(mpoly_gcd_info_struct, Bstride) - 64usize];
384    ["Offset of field: mpoly_gcd_info_struct::Bdeflate_deg"]
385        [::std::mem::offset_of!(mpoly_gcd_info_struct, Bdeflate_deg) - 72usize];
386    ["Offset of field: mpoly_gcd_info_struct::Blead_count"]
387        [::std::mem::offset_of!(mpoly_gcd_info_struct, Blead_count) - 80usize];
388    ["Offset of field: mpoly_gcd_info_struct::Btail_count"]
389        [::std::mem::offset_of!(mpoly_gcd_info_struct, Btail_count) - 88usize];
390    ["Offset of field: mpoly_gcd_info_struct::Gmin_exp"]
391        [::std::mem::offset_of!(mpoly_gcd_info_struct, Gmin_exp) - 96usize];
392    ["Offset of field: mpoly_gcd_info_struct::Abarmin_exp"]
393        [::std::mem::offset_of!(mpoly_gcd_info_struct, Abarmin_exp) - 104usize];
394    ["Offset of field: mpoly_gcd_info_struct::Bbarmin_exp"]
395        [::std::mem::offset_of!(mpoly_gcd_info_struct, Bbarmin_exp) - 112usize];
396    ["Offset of field: mpoly_gcd_info_struct::Gstride"]
397        [::std::mem::offset_of!(mpoly_gcd_info_struct, Gstride) - 120usize];
398    ["Offset of field: mpoly_gcd_info_struct::Gterm_count_est"]
399        [::std::mem::offset_of!(mpoly_gcd_info_struct, Gterm_count_est) - 128usize];
400    ["Offset of field: mpoly_gcd_info_struct::Gdeflate_deg_bound"]
401        [::std::mem::offset_of!(mpoly_gcd_info_struct, Gdeflate_deg_bound) - 136usize];
402    ["Offset of field: mpoly_gcd_info_struct::Gbits"]
403        [::std::mem::offset_of!(mpoly_gcd_info_struct, Gbits) - 144usize];
404    ["Offset of field: mpoly_gcd_info_struct::Abarbits"]
405        [::std::mem::offset_of!(mpoly_gcd_info_struct, Abarbits) - 152usize];
406    ["Offset of field: mpoly_gcd_info_struct::Bbarbits"]
407        [::std::mem::offset_of!(mpoly_gcd_info_struct, Bbarbits) - 160usize];
408    ["Offset of field: mpoly_gcd_info_struct::mvars"]
409        [::std::mem::offset_of!(mpoly_gcd_info_struct, mvars) - 168usize];
410    ["Offset of field: mpoly_gcd_info_struct::Adeflate_tdeg"]
411        [::std::mem::offset_of!(mpoly_gcd_info_struct, Adeflate_tdeg) - 176usize];
412    ["Offset of field: mpoly_gcd_info_struct::Bdeflate_tdeg"]
413        [::std::mem::offset_of!(mpoly_gcd_info_struct, Bdeflate_tdeg) - 184usize];
414    ["Offset of field: mpoly_gcd_info_struct::Adensity"]
415        [::std::mem::offset_of!(mpoly_gcd_info_struct, Adensity) - 192usize];
416    ["Offset of field: mpoly_gcd_info_struct::Bdensity"]
417        [::std::mem::offset_of!(mpoly_gcd_info_struct, Bdensity) - 200usize];
418    ["Offset of field: mpoly_gcd_info_struct::hensel_time"]
419        [::std::mem::offset_of!(mpoly_gcd_info_struct, hensel_time) - 208usize];
420    ["Offset of field: mpoly_gcd_info_struct::brown_time"]
421        [::std::mem::offset_of!(mpoly_gcd_info_struct, brown_time) - 216usize];
422    ["Offset of field: mpoly_gcd_info_struct::zippel_time"]
423        [::std::mem::offset_of!(mpoly_gcd_info_struct, zippel_time) - 224usize];
424    ["Offset of field: mpoly_gcd_info_struct::zippel2_time"]
425        [::std::mem::offset_of!(mpoly_gcd_info_struct, zippel2_time) - 232usize];
426    ["Offset of field: mpoly_gcd_info_struct::hensel_perm"]
427        [::std::mem::offset_of!(mpoly_gcd_info_struct, hensel_perm) - 240usize];
428    ["Offset of field: mpoly_gcd_info_struct::brown_perm"]
429        [::std::mem::offset_of!(mpoly_gcd_info_struct, brown_perm) - 248usize];
430    ["Offset of field: mpoly_gcd_info_struct::zippel_perm"]
431        [::std::mem::offset_of!(mpoly_gcd_info_struct, zippel_perm) - 256usize];
432    ["Offset of field: mpoly_gcd_info_struct::zippel2_perm"]
433        [::std::mem::offset_of!(mpoly_gcd_info_struct, zippel2_perm) - 264usize];
434    ["Offset of field: mpoly_gcd_info_struct::can_use"]
435        [::std::mem::offset_of!(mpoly_gcd_info_struct, can_use) - 272usize];
436    ["Offset of field: mpoly_gcd_info_struct::Gdeflate_deg_bounds_are_nice"]
437        [::std::mem::offset_of!(mpoly_gcd_info_struct, Gdeflate_deg_bounds_are_nice) - 276usize];
438    ["Offset of field: mpoly_gcd_info_struct::data"]
439        [::std::mem::offset_of!(mpoly_gcd_info_struct, data) - 280usize];
440};
441impl Default for mpoly_gcd_info_struct {
442    fn default() -> Self {
443        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
444        unsafe {
445            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
446            s.assume_init()
447        }
448    }
449}
450pub type mpoly_gcd_info_t = [mpoly_gcd_info_struct; 1usize];
451#[repr(C)]
452pub struct mpoly_compression_struct {
453    pub mvars: slong,
454    pub nvars: slong,
455    pub exps: *mut slong,
456    pub exps_alloc: slong,
457    pub rest: *mut slong,
458    pub rest_alloc: slong,
459    pub umat: *mut slong,
460    pub deltas: *mut slong,
461    pub degs: *mut slong,
462    pub is_trivial: libc::c_int,
463    pub is_perm: libc::c_int,
464    pub is_irred: libc::c_int,
465}
466#[allow(clippy::unnecessary_operation, clippy::identity_op)]
467const _: () = {
468    ["Size of mpoly_compression_struct"]
469        [::std::mem::size_of::<mpoly_compression_struct>() - 88usize];
470    ["Alignment of mpoly_compression_struct"]
471        [::std::mem::align_of::<mpoly_compression_struct>() - 8usize];
472    ["Offset of field: mpoly_compression_struct::mvars"]
473        [::std::mem::offset_of!(mpoly_compression_struct, mvars) - 0usize];
474    ["Offset of field: mpoly_compression_struct::nvars"]
475        [::std::mem::offset_of!(mpoly_compression_struct, nvars) - 8usize];
476    ["Offset of field: mpoly_compression_struct::exps"]
477        [::std::mem::offset_of!(mpoly_compression_struct, exps) - 16usize];
478    ["Offset of field: mpoly_compression_struct::exps_alloc"]
479        [::std::mem::offset_of!(mpoly_compression_struct, exps_alloc) - 24usize];
480    ["Offset of field: mpoly_compression_struct::rest"]
481        [::std::mem::offset_of!(mpoly_compression_struct, rest) - 32usize];
482    ["Offset of field: mpoly_compression_struct::rest_alloc"]
483        [::std::mem::offset_of!(mpoly_compression_struct, rest_alloc) - 40usize];
484    ["Offset of field: mpoly_compression_struct::umat"]
485        [::std::mem::offset_of!(mpoly_compression_struct, umat) - 48usize];
486    ["Offset of field: mpoly_compression_struct::deltas"]
487        [::std::mem::offset_of!(mpoly_compression_struct, deltas) - 56usize];
488    ["Offset of field: mpoly_compression_struct::degs"]
489        [::std::mem::offset_of!(mpoly_compression_struct, degs) - 64usize];
490    ["Offset of field: mpoly_compression_struct::is_trivial"]
491        [::std::mem::offset_of!(mpoly_compression_struct, is_trivial) - 72usize];
492    ["Offset of field: mpoly_compression_struct::is_perm"]
493        [::std::mem::offset_of!(mpoly_compression_struct, is_perm) - 76usize];
494    ["Offset of field: mpoly_compression_struct::is_irred"]
495        [::std::mem::offset_of!(mpoly_compression_struct, is_irred) - 80usize];
496};
497impl Default for mpoly_compression_struct {
498    fn default() -> Self {
499        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
500        unsafe {
501            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
502            s.assume_init()
503        }
504    }
505}
506pub type mpoly_compression_t = [mpoly_compression_struct; 1usize];
507#[repr(C)]
508pub struct nmod_mpolyn_struct {
509    pub coeffs: *mut n_poly_struct,
510    pub exps: *mut ulong,
511    pub alloc: slong,
512    pub length: slong,
513    pub bits: slong,
514}
515#[allow(clippy::unnecessary_operation, clippy::identity_op)]
516const _: () = {
517    ["Size of nmod_mpolyn_struct"][::std::mem::size_of::<nmod_mpolyn_struct>() - 40usize];
518    ["Alignment of nmod_mpolyn_struct"][::std::mem::align_of::<nmod_mpolyn_struct>() - 8usize];
519    ["Offset of field: nmod_mpolyn_struct::coeffs"]
520        [::std::mem::offset_of!(nmod_mpolyn_struct, coeffs) - 0usize];
521    ["Offset of field: nmod_mpolyn_struct::exps"]
522        [::std::mem::offset_of!(nmod_mpolyn_struct, exps) - 8usize];
523    ["Offset of field: nmod_mpolyn_struct::alloc"]
524        [::std::mem::offset_of!(nmod_mpolyn_struct, alloc) - 16usize];
525    ["Offset of field: nmod_mpolyn_struct::length"]
526        [::std::mem::offset_of!(nmod_mpolyn_struct, length) - 24usize];
527    ["Offset of field: nmod_mpolyn_struct::bits"]
528        [::std::mem::offset_of!(nmod_mpolyn_struct, bits) - 32usize];
529};
530impl Default for nmod_mpolyn_struct {
531    fn default() -> Self {
532        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
533        unsafe {
534            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
535            s.assume_init()
536        }
537    }
538}
539pub type nmod_mpolyn_t = [nmod_mpolyn_struct; 1usize];
540#[repr(C)]
541pub struct nmod_mpolyun_struct {
542    pub coeffs: *mut nmod_mpolyn_struct,
543    pub exps: *mut ulong,
544    pub alloc: slong,
545    pub length: slong,
546    pub bits: flint_bitcnt_t,
547}
548#[allow(clippy::unnecessary_operation, clippy::identity_op)]
549const _: () = {
550    ["Size of nmod_mpolyun_struct"][::std::mem::size_of::<nmod_mpolyun_struct>() - 40usize];
551    ["Alignment of nmod_mpolyun_struct"][::std::mem::align_of::<nmod_mpolyun_struct>() - 8usize];
552    ["Offset of field: nmod_mpolyun_struct::coeffs"]
553        [::std::mem::offset_of!(nmod_mpolyun_struct, coeffs) - 0usize];
554    ["Offset of field: nmod_mpolyun_struct::exps"]
555        [::std::mem::offset_of!(nmod_mpolyun_struct, exps) - 8usize];
556    ["Offset of field: nmod_mpolyun_struct::alloc"]
557        [::std::mem::offset_of!(nmod_mpolyun_struct, alloc) - 16usize];
558    ["Offset of field: nmod_mpolyun_struct::length"]
559        [::std::mem::offset_of!(nmod_mpolyun_struct, length) - 24usize];
560    ["Offset of field: nmod_mpolyun_struct::bits"]
561        [::std::mem::offset_of!(nmod_mpolyun_struct, bits) - 32usize];
562};
563impl Default for nmod_mpolyun_struct {
564    fn default() -> Self {
565        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
566        unsafe {
567            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
568            s.assume_init()
569        }
570    }
571}
572pub type nmod_mpolyun_t = [nmod_mpolyun_struct; 1usize];
573pub const nmod_gcds_ret_t_nmod_gcds_success: nmod_gcds_ret_t = 0;
574pub const nmod_gcds_ret_t_nmod_gcds_form_main_degree_too_high: nmod_gcds_ret_t = 1;
575pub const nmod_gcds_ret_t_nmod_gcds_form_wrong: nmod_gcds_ret_t = 2;
576pub const nmod_gcds_ret_t_nmod_gcds_no_solution: nmod_gcds_ret_t = 3;
577pub const nmod_gcds_ret_t_nmod_gcds_scales_not_found: nmod_gcds_ret_t = 4;
578pub const nmod_gcds_ret_t_nmod_gcds_eval_point_not_found: nmod_gcds_ret_t = 5;
579pub const nmod_gcds_ret_t_nmod_gcds_eval_gcd_deg_too_high: nmod_gcds_ret_t = 6;
580pub type nmod_gcds_ret_t = libc::c_uint;