1use 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;