1use crate::deps::*;
4use crate::flint::*;
5use crate::fmpz_mod_mpoly::*;
6use crate::fmpz_mod_types::*;
7use crate::mpoly_types::*;
8use crate::nmod_types::*;
9
10
11#[repr(C)]
12pub struct fmpz_mod_bpoly_struct {
13 pub coeffs: *mut fmpz_mod_poly_struct,
14 pub alloc: slong,
15 pub length: slong,
16}
17#[allow(clippy::unnecessary_operation, clippy::identity_op)]
18const _: () = {
19 ["Size of fmpz_mod_bpoly_struct"][::std::mem::size_of::<fmpz_mod_bpoly_struct>() - 24usize];
20 ["Alignment of fmpz_mod_bpoly_struct"]
21 [::std::mem::align_of::<fmpz_mod_bpoly_struct>() - 8usize];
22 ["Offset of field: fmpz_mod_bpoly_struct::coeffs"]
23 [::std::mem::offset_of!(fmpz_mod_bpoly_struct, coeffs) - 0usize];
24 ["Offset of field: fmpz_mod_bpoly_struct::alloc"]
25 [::std::mem::offset_of!(fmpz_mod_bpoly_struct, alloc) - 8usize];
26 ["Offset of field: fmpz_mod_bpoly_struct::length"]
27 [::std::mem::offset_of!(fmpz_mod_bpoly_struct, length) - 16usize];
28};
29impl Default for fmpz_mod_bpoly_struct {
30 fn default() -> Self {
31 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
32 unsafe {
33 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
34 s.assume_init()
35 }
36 }
37}
38pub type fmpz_mod_bpoly_t = [fmpz_mod_bpoly_struct; 1usize];
39#[repr(C)]
40pub struct fmpz_mod_tpoly_struct {
41 pub coeffs: *mut fmpz_mod_bpoly_struct,
42 pub alloc: slong,
43 pub length: slong,
44}
45#[allow(clippy::unnecessary_operation, clippy::identity_op)]
46const _: () = {
47 ["Size of fmpz_mod_tpoly_struct"][::std::mem::size_of::<fmpz_mod_tpoly_struct>() - 24usize];
48 ["Alignment of fmpz_mod_tpoly_struct"]
49 [::std::mem::align_of::<fmpz_mod_tpoly_struct>() - 8usize];
50 ["Offset of field: fmpz_mod_tpoly_struct::coeffs"]
51 [::std::mem::offset_of!(fmpz_mod_tpoly_struct, coeffs) - 0usize];
52 ["Offset of field: fmpz_mod_tpoly_struct::alloc"]
53 [::std::mem::offset_of!(fmpz_mod_tpoly_struct, alloc) - 8usize];
54 ["Offset of field: fmpz_mod_tpoly_struct::length"]
55 [::std::mem::offset_of!(fmpz_mod_tpoly_struct, length) - 16usize];
56};
57impl Default for fmpz_mod_tpoly_struct {
58 fn default() -> Self {
59 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
60 unsafe {
61 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
62 s.assume_init()
63 }
64 }
65}
66pub type fmpz_mod_tpoly_t = [fmpz_mod_tpoly_struct; 1usize];
67#[repr(C)]
68pub struct fmpz_mod_polyu_struct {
69 pub exps: *mut ulong,
70 pub coeffs: *mut fmpz,
71 pub length: slong,
72 pub alloc: slong,
73}
74#[allow(clippy::unnecessary_operation, clippy::identity_op)]
75const _: () = {
76 ["Size of fmpz_mod_polyu_struct"][::std::mem::size_of::<fmpz_mod_polyu_struct>() - 32usize];
77 ["Alignment of fmpz_mod_polyu_struct"]
78 [::std::mem::align_of::<fmpz_mod_polyu_struct>() - 8usize];
79 ["Offset of field: fmpz_mod_polyu_struct::exps"]
80 [::std::mem::offset_of!(fmpz_mod_polyu_struct, exps) - 0usize];
81 ["Offset of field: fmpz_mod_polyu_struct::coeffs"]
82 [::std::mem::offset_of!(fmpz_mod_polyu_struct, coeffs) - 8usize];
83 ["Offset of field: fmpz_mod_polyu_struct::length"]
84 [::std::mem::offset_of!(fmpz_mod_polyu_struct, length) - 16usize];
85 ["Offset of field: fmpz_mod_polyu_struct::alloc"]
86 [::std::mem::offset_of!(fmpz_mod_polyu_struct, alloc) - 24usize];
87};
88impl Default for fmpz_mod_polyu_struct {
89 fn default() -> Self {
90 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
91 unsafe {
92 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
93 s.assume_init()
94 }
95 }
96}
97pub type fmpz_mod_polyu_t = [fmpz_mod_polyu_struct; 1usize];
98#[repr(C)]
99pub struct fmpz_mod_polyun_struct {
100 pub coeffs: *mut fmpz_mod_poly_struct,
101 pub exps: *mut ulong,
102 pub alloc: slong,
103 pub length: slong,
104}
105#[allow(clippy::unnecessary_operation, clippy::identity_op)]
106const _: () = {
107 ["Size of fmpz_mod_polyun_struct"][::std::mem::size_of::<fmpz_mod_polyun_struct>() - 32usize];
108 ["Alignment of fmpz_mod_polyun_struct"]
109 [::std::mem::align_of::<fmpz_mod_polyun_struct>() - 8usize];
110 ["Offset of field: fmpz_mod_polyun_struct::coeffs"]
111 [::std::mem::offset_of!(fmpz_mod_polyun_struct, coeffs) - 0usize];
112 ["Offset of field: fmpz_mod_polyun_struct::exps"]
113 [::std::mem::offset_of!(fmpz_mod_polyun_struct, exps) - 8usize];
114 ["Offset of field: fmpz_mod_polyun_struct::alloc"]
115 [::std::mem::offset_of!(fmpz_mod_polyun_struct, alloc) - 16usize];
116 ["Offset of field: fmpz_mod_polyun_struct::length"]
117 [::std::mem::offset_of!(fmpz_mod_polyun_struct, length) - 24usize];
118};
119impl Default for fmpz_mod_polyun_struct {
120 fn default() -> Self {
121 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
122 unsafe {
123 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
124 s.assume_init()
125 }
126 }
127}
128pub type fmpz_mod_polyun_t = [fmpz_mod_polyun_struct; 1usize];
129#[repr(C)]
130pub struct fmpz_mod_mpolyu_struct {
131 pub coeffs: *mut fmpz_mod_mpoly_struct,
132 pub exps: *mut ulong,
133 pub alloc: slong,
134 pub length: slong,
135 pub bits: flint_bitcnt_t,
136}
137#[allow(clippy::unnecessary_operation, clippy::identity_op)]
138const _: () = {
139 ["Size of fmpz_mod_mpolyu_struct"][::std::mem::size_of::<fmpz_mod_mpolyu_struct>() - 40usize];
140 ["Alignment of fmpz_mod_mpolyu_struct"]
141 [::std::mem::align_of::<fmpz_mod_mpolyu_struct>() - 8usize];
142 ["Offset of field: fmpz_mod_mpolyu_struct::coeffs"]
143 [::std::mem::offset_of!(fmpz_mod_mpolyu_struct, coeffs) - 0usize];
144 ["Offset of field: fmpz_mod_mpolyu_struct::exps"]
145 [::std::mem::offset_of!(fmpz_mod_mpolyu_struct, exps) - 8usize];
146 ["Offset of field: fmpz_mod_mpolyu_struct::alloc"]
147 [::std::mem::offset_of!(fmpz_mod_mpolyu_struct, alloc) - 16usize];
148 ["Offset of field: fmpz_mod_mpolyu_struct::length"]
149 [::std::mem::offset_of!(fmpz_mod_mpolyu_struct, length) - 24usize];
150 ["Offset of field: fmpz_mod_mpolyu_struct::bits"]
151 [::std::mem::offset_of!(fmpz_mod_mpolyu_struct, bits) - 32usize];
152};
153impl Default for fmpz_mod_mpolyu_struct {
154 fn default() -> Self {
155 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
156 unsafe {
157 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
158 s.assume_init()
159 }
160 }
161}
162pub type fmpz_mod_mpolyu_t = [fmpz_mod_mpolyu_struct; 1usize];
163#[repr(C)]
164pub struct fmpz_mod_mpolyn_struct {
165 pub coeffs: *mut fmpz_mod_poly_struct,
166 pub exps: *mut ulong,
167 pub alloc: slong,
168 pub length: slong,
169 pub bits: slong,
170}
171#[allow(clippy::unnecessary_operation, clippy::identity_op)]
172const _: () = {
173 ["Size of fmpz_mod_mpolyn_struct"][::std::mem::size_of::<fmpz_mod_mpolyn_struct>() - 40usize];
174 ["Alignment of fmpz_mod_mpolyn_struct"]
175 [::std::mem::align_of::<fmpz_mod_mpolyn_struct>() - 8usize];
176 ["Offset of field: fmpz_mod_mpolyn_struct::coeffs"]
177 [::std::mem::offset_of!(fmpz_mod_mpolyn_struct, coeffs) - 0usize];
178 ["Offset of field: fmpz_mod_mpolyn_struct::exps"]
179 [::std::mem::offset_of!(fmpz_mod_mpolyn_struct, exps) - 8usize];
180 ["Offset of field: fmpz_mod_mpolyn_struct::alloc"]
181 [::std::mem::offset_of!(fmpz_mod_mpolyn_struct, alloc) - 16usize];
182 ["Offset of field: fmpz_mod_mpolyn_struct::length"]
183 [::std::mem::offset_of!(fmpz_mod_mpolyn_struct, length) - 24usize];
184 ["Offset of field: fmpz_mod_mpolyn_struct::bits"]
185 [::std::mem::offset_of!(fmpz_mod_mpolyn_struct, bits) - 32usize];
186};
187impl Default for fmpz_mod_mpolyn_struct {
188 fn default() -> Self {
189 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
190 unsafe {
191 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
192 s.assume_init()
193 }
194 }
195}
196pub type fmpz_mod_mpolyn_t = [fmpz_mod_mpolyn_struct; 1usize];
197#[repr(C)]
198pub struct fmpz_mod_poly_stack_struct {
199 pub array: *mut *mut fmpz_mod_poly_struct,
200 pub alloc: slong,
201 pub top: slong,
202}
203#[allow(clippy::unnecessary_operation, clippy::identity_op)]
204const _: () = {
205 ["Size of fmpz_mod_poly_stack_struct"]
206 [::std::mem::size_of::<fmpz_mod_poly_stack_struct>() - 24usize];
207 ["Alignment of fmpz_mod_poly_stack_struct"]
208 [::std::mem::align_of::<fmpz_mod_poly_stack_struct>() - 8usize];
209 ["Offset of field: fmpz_mod_poly_stack_struct::array"]
210 [::std::mem::offset_of!(fmpz_mod_poly_stack_struct, array) - 0usize];
211 ["Offset of field: fmpz_mod_poly_stack_struct::alloc"]
212 [::std::mem::offset_of!(fmpz_mod_poly_stack_struct, alloc) - 8usize];
213 ["Offset of field: fmpz_mod_poly_stack_struct::top"]
214 [::std::mem::offset_of!(fmpz_mod_poly_stack_struct, top) - 16usize];
215};
216impl Default for fmpz_mod_poly_stack_struct {
217 fn default() -> Self {
218 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
219 unsafe {
220 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
221 s.assume_init()
222 }
223 }
224}
225pub type fmpz_mod_poly_stack_t = [fmpz_mod_poly_stack_struct; 1usize];
226#[repr(C)]
227pub struct fmpz_mod_bpoly_stack_struct {
228 pub array: *mut *mut fmpz_mod_bpoly_struct,
229 pub alloc: slong,
230 pub top: slong,
231}
232#[allow(clippy::unnecessary_operation, clippy::identity_op)]
233const _: () = {
234 ["Size of fmpz_mod_bpoly_stack_struct"]
235 [::std::mem::size_of::<fmpz_mod_bpoly_stack_struct>() - 24usize];
236 ["Alignment of fmpz_mod_bpoly_stack_struct"]
237 [::std::mem::align_of::<fmpz_mod_bpoly_stack_struct>() - 8usize];
238 ["Offset of field: fmpz_mod_bpoly_stack_struct::array"]
239 [::std::mem::offset_of!(fmpz_mod_bpoly_stack_struct, array) - 0usize];
240 ["Offset of field: fmpz_mod_bpoly_stack_struct::alloc"]
241 [::std::mem::offset_of!(fmpz_mod_bpoly_stack_struct, alloc) - 8usize];
242 ["Offset of field: fmpz_mod_bpoly_stack_struct::top"]
243 [::std::mem::offset_of!(fmpz_mod_bpoly_stack_struct, top) - 16usize];
244};
245impl Default for fmpz_mod_bpoly_stack_struct {
246 fn default() -> Self {
247 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
248 unsafe {
249 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
250 s.assume_init()
251 }
252 }
253}
254pub type fmpz_mod_bpoly_stack_t = [fmpz_mod_bpoly_stack_struct; 1usize];
255#[repr(C)]
256pub struct fmpz_mod_polyun_stack_struct {
257 pub array: *mut *mut fmpz_mod_polyun_struct,
258 pub alloc: slong,
259 pub top: slong,
260}
261#[allow(clippy::unnecessary_operation, clippy::identity_op)]
262const _: () = {
263 ["Size of fmpz_mod_polyun_stack_struct"]
264 [::std::mem::size_of::<fmpz_mod_polyun_stack_struct>() - 24usize];
265 ["Alignment of fmpz_mod_polyun_stack_struct"]
266 [::std::mem::align_of::<fmpz_mod_polyun_stack_struct>() - 8usize];
267 ["Offset of field: fmpz_mod_polyun_stack_struct::array"]
268 [::std::mem::offset_of!(fmpz_mod_polyun_stack_struct, array) - 0usize];
269 ["Offset of field: fmpz_mod_polyun_stack_struct::alloc"]
270 [::std::mem::offset_of!(fmpz_mod_polyun_stack_struct, alloc) - 8usize];
271 ["Offset of field: fmpz_mod_polyun_stack_struct::top"]
272 [::std::mem::offset_of!(fmpz_mod_polyun_stack_struct, top) - 16usize];
273};
274impl Default for fmpz_mod_polyun_stack_struct {
275 fn default() -> Self {
276 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
277 unsafe {
278 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
279 s.assume_init()
280 }
281 }
282}
283pub type fmpz_mod_polyun_stack_t = [fmpz_mod_polyun_stack_struct; 1usize];
284#[repr(C)]
285pub struct fmpz_mod_mpolyn_stack_struct {
286 pub array: *mut *mut fmpz_mod_mpolyn_struct,
287 pub alloc: slong,
288 pub top: slong,
289 pub bits: flint_bitcnt_t,
290}
291#[allow(clippy::unnecessary_operation, clippy::identity_op)]
292const _: () = {
293 ["Size of fmpz_mod_mpolyn_stack_struct"]
294 [::std::mem::size_of::<fmpz_mod_mpolyn_stack_struct>() - 32usize];
295 ["Alignment of fmpz_mod_mpolyn_stack_struct"]
296 [::std::mem::align_of::<fmpz_mod_mpolyn_stack_struct>() - 8usize];
297 ["Offset of field: fmpz_mod_mpolyn_stack_struct::array"]
298 [::std::mem::offset_of!(fmpz_mod_mpolyn_stack_struct, array) - 0usize];
299 ["Offset of field: fmpz_mod_mpolyn_stack_struct::alloc"]
300 [::std::mem::offset_of!(fmpz_mod_mpolyn_stack_struct, alloc) - 8usize];
301 ["Offset of field: fmpz_mod_mpolyn_stack_struct::top"]
302 [::std::mem::offset_of!(fmpz_mod_mpolyn_stack_struct, top) - 16usize];
303 ["Offset of field: fmpz_mod_mpolyn_stack_struct::bits"]
304 [::std::mem::offset_of!(fmpz_mod_mpolyn_stack_struct, bits) - 24usize];
305};
306impl Default for fmpz_mod_mpolyn_stack_struct {
307 fn default() -> Self {
308 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
309 unsafe {
310 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
311 s.assume_init()
312 }
313 }
314}
315pub type fmpz_mod_mpolyn_stack_t = [fmpz_mod_mpolyn_stack_struct; 1usize];
316#[repr(C)]
317pub struct fmpz_mod_poly_bpoly_stack_struct {
318 pub poly_stack: fmpz_mod_poly_stack_t,
319 pub bpoly_stack: fmpz_mod_bpoly_stack_t,
320}
321#[allow(clippy::unnecessary_operation, clippy::identity_op)]
322const _: () = {
323 ["Size of fmpz_mod_poly_bpoly_stack_struct"]
324 [::std::mem::size_of::<fmpz_mod_poly_bpoly_stack_struct>() - 48usize];
325 ["Alignment of fmpz_mod_poly_bpoly_stack_struct"]
326 [::std::mem::align_of::<fmpz_mod_poly_bpoly_stack_struct>() - 8usize];
327 ["Offset of field: fmpz_mod_poly_bpoly_stack_struct::poly_stack"]
328 [::std::mem::offset_of!(fmpz_mod_poly_bpoly_stack_struct, poly_stack) - 0usize];
329 ["Offset of field: fmpz_mod_poly_bpoly_stack_struct::bpoly_stack"]
330 [::std::mem::offset_of!(fmpz_mod_poly_bpoly_stack_struct, bpoly_stack) - 24usize];
331};
332impl Default for fmpz_mod_poly_bpoly_stack_struct {
333 fn default() -> Self {
334 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
335 unsafe {
336 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
337 s.assume_init()
338 }
339 }
340}
341pub type fmpz_mod_poly_bpoly_stack_t = [fmpz_mod_poly_bpoly_stack_struct; 1usize];
342#[repr(C)]
343pub struct fmpz_mod_poly_polyun_stack_struct {
344 pub poly_stack: fmpz_mod_poly_stack_t,
345 pub polyun_stack: fmpz_mod_polyun_stack_t,
346}
347#[allow(clippy::unnecessary_operation, clippy::identity_op)]
348const _: () = {
349 ["Size of fmpz_mod_poly_polyun_stack_struct"]
350 [::std::mem::size_of::<fmpz_mod_poly_polyun_stack_struct>() - 48usize];
351 ["Alignment of fmpz_mod_poly_polyun_stack_struct"]
352 [::std::mem::align_of::<fmpz_mod_poly_polyun_stack_struct>() - 8usize];
353 ["Offset of field: fmpz_mod_poly_polyun_stack_struct::poly_stack"]
354 [::std::mem::offset_of!(fmpz_mod_poly_polyun_stack_struct, poly_stack) - 0usize];
355 ["Offset of field: fmpz_mod_poly_polyun_stack_struct::polyun_stack"]
356 [::std::mem::offset_of!(fmpz_mod_poly_polyun_stack_struct, polyun_stack) - 24usize];
357};
358impl Default for fmpz_mod_poly_polyun_stack_struct {
359 fn default() -> Self {
360 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
361 unsafe {
362 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
363 s.assume_init()
364 }
365 }
366}
367pub type fmpz_mod_poly_polyun_stack_t = [fmpz_mod_poly_polyun_stack_struct; 1usize];
368#[repr(C)]
369pub struct fmpz_mod_poly_polyun_mpolyn_stack_struct {
370 pub poly_stack: fmpz_mod_poly_stack_t,
371 pub polyun_stack: fmpz_mod_polyun_stack_t,
372 pub mpolyn_stack: fmpz_mod_mpolyn_stack_t,
373}
374#[allow(clippy::unnecessary_operation, clippy::identity_op)]
375const _: () = {
376 ["Size of fmpz_mod_poly_polyun_mpolyn_stack_struct"]
377 [::std::mem::size_of::<fmpz_mod_poly_polyun_mpolyn_stack_struct>() - 80usize];
378 ["Alignment of fmpz_mod_poly_polyun_mpolyn_stack_struct"]
379 [::std::mem::align_of::<fmpz_mod_poly_polyun_mpolyn_stack_struct>() - 8usize];
380 ["Offset of field: fmpz_mod_poly_polyun_mpolyn_stack_struct::poly_stack"]
381 [::std::mem::offset_of!(fmpz_mod_poly_polyun_mpolyn_stack_struct, poly_stack) - 0usize];
382 ["Offset of field: fmpz_mod_poly_polyun_mpolyn_stack_struct::polyun_stack"]
383 [::std::mem::offset_of!(fmpz_mod_poly_polyun_mpolyn_stack_struct, polyun_stack) - 24usize];
384 ["Offset of field: fmpz_mod_poly_polyun_mpolyn_stack_struct::mpolyn_stack"]
385 [::std::mem::offset_of!(fmpz_mod_poly_polyun_mpolyn_stack_struct, mpolyn_stack) - 48usize];
386};
387impl Default for fmpz_mod_poly_polyun_mpolyn_stack_struct {
388 fn default() -> Self {
389 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
390 unsafe {
391 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
392 s.assume_init()
393 }
394 }
395}
396pub type fmpz_mod_poly_polyun_mpolyn_stack_t = [fmpz_mod_poly_polyun_mpolyn_stack_struct; 1usize];
397#[repr(C)]
398pub struct fmpz_mod_mpolyv_struct {
399 pub coeffs: *mut fmpz_mod_mpoly_struct,
400 pub alloc: slong,
401 pub length: slong,
402}
403#[allow(clippy::unnecessary_operation, clippy::identity_op)]
404const _: () = {
405 ["Size of fmpz_mod_mpolyv_struct"][::std::mem::size_of::<fmpz_mod_mpolyv_struct>() - 24usize];
406 ["Alignment of fmpz_mod_mpolyv_struct"]
407 [::std::mem::align_of::<fmpz_mod_mpolyv_struct>() - 8usize];
408 ["Offset of field: fmpz_mod_mpolyv_struct::coeffs"]
409 [::std::mem::offset_of!(fmpz_mod_mpolyv_struct, coeffs) - 0usize];
410 ["Offset of field: fmpz_mod_mpolyv_struct::alloc"]
411 [::std::mem::offset_of!(fmpz_mod_mpolyv_struct, alloc) - 8usize];
412 ["Offset of field: fmpz_mod_mpolyv_struct::length"]
413 [::std::mem::offset_of!(fmpz_mod_mpolyv_struct, length) - 16usize];
414};
415impl Default for fmpz_mod_mpolyv_struct {
416 fn default() -> Self {
417 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
418 unsafe {
419 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
420 s.assume_init()
421 }
422 }
423}
424pub type fmpz_mod_mpolyv_t = [fmpz_mod_mpolyv_struct; 1usize];
425#[repr(C)]
426pub struct fmpz_mod_mpoly_pfrac_struct {
427 pub bits: flint_bitcnt_t,
428 pub w: slong,
429 pub r: slong,
430 pub inv_prod_dbetas: *mut fmpz_mod_poly_struct,
431 pub inv_prod_dbetas_mvar: *mut fmpz_mod_mpoly_struct,
432 pub dbetas: *mut fmpz_mod_poly_struct,
433 pub dbetas_mvar: *mut fmpz_mod_mpoly_struct,
434 pub prod_mbetas: *mut fmpz_mod_mpoly_struct,
435 pub prod_mbetas_coeffs: *mut fmpz_mod_mpolyv_struct,
436 pub mbetas: *mut fmpz_mod_mpoly_struct,
437 pub deltas: *mut fmpz_mod_mpoly_struct,
438 pub xalpha: *mut fmpz_mod_mpoly_struct,
439 pub q: *mut fmpz_mod_mpoly_struct,
440 pub G: *mut fmpz_mod_mpoly_geobucket_struct,
441 pub qt: *mut fmpz_mod_mpoly_struct,
442 pub newt: *mut fmpz_mod_mpoly_struct,
443 pub delta_coeffs: *mut fmpz_mod_mpolyv_struct,
444 pub T: fmpz_mod_mpoly_t,
445 pub Q: fmpz_mod_mpoly_t,
446 pub R: fmpz_mod_mpoly_t,
447}
448#[allow(clippy::unnecessary_operation, clippy::identity_op)]
449const _: () = {
450 ["Size of fmpz_mod_mpoly_pfrac_struct"]
451 [::std::mem::size_of::<fmpz_mod_mpoly_pfrac_struct>() - 280usize];
452 ["Alignment of fmpz_mod_mpoly_pfrac_struct"]
453 [::std::mem::align_of::<fmpz_mod_mpoly_pfrac_struct>() - 8usize];
454 ["Offset of field: fmpz_mod_mpoly_pfrac_struct::bits"]
455 [::std::mem::offset_of!(fmpz_mod_mpoly_pfrac_struct, bits) - 0usize];
456 ["Offset of field: fmpz_mod_mpoly_pfrac_struct::w"]
457 [::std::mem::offset_of!(fmpz_mod_mpoly_pfrac_struct, w) - 8usize];
458 ["Offset of field: fmpz_mod_mpoly_pfrac_struct::r"]
459 [::std::mem::offset_of!(fmpz_mod_mpoly_pfrac_struct, r) - 16usize];
460 ["Offset of field: fmpz_mod_mpoly_pfrac_struct::inv_prod_dbetas"]
461 [::std::mem::offset_of!(fmpz_mod_mpoly_pfrac_struct, inv_prod_dbetas) - 24usize];
462 ["Offset of field: fmpz_mod_mpoly_pfrac_struct::inv_prod_dbetas_mvar"]
463 [::std::mem::offset_of!(fmpz_mod_mpoly_pfrac_struct, inv_prod_dbetas_mvar) - 32usize];
464 ["Offset of field: fmpz_mod_mpoly_pfrac_struct::dbetas"]
465 [::std::mem::offset_of!(fmpz_mod_mpoly_pfrac_struct, dbetas) - 40usize];
466 ["Offset of field: fmpz_mod_mpoly_pfrac_struct::dbetas_mvar"]
467 [::std::mem::offset_of!(fmpz_mod_mpoly_pfrac_struct, dbetas_mvar) - 48usize];
468 ["Offset of field: fmpz_mod_mpoly_pfrac_struct::prod_mbetas"]
469 [::std::mem::offset_of!(fmpz_mod_mpoly_pfrac_struct, prod_mbetas) - 56usize];
470 ["Offset of field: fmpz_mod_mpoly_pfrac_struct::prod_mbetas_coeffs"]
471 [::std::mem::offset_of!(fmpz_mod_mpoly_pfrac_struct, prod_mbetas_coeffs) - 64usize];
472 ["Offset of field: fmpz_mod_mpoly_pfrac_struct::mbetas"]
473 [::std::mem::offset_of!(fmpz_mod_mpoly_pfrac_struct, mbetas) - 72usize];
474 ["Offset of field: fmpz_mod_mpoly_pfrac_struct::deltas"]
475 [::std::mem::offset_of!(fmpz_mod_mpoly_pfrac_struct, deltas) - 80usize];
476 ["Offset of field: fmpz_mod_mpoly_pfrac_struct::xalpha"]
477 [::std::mem::offset_of!(fmpz_mod_mpoly_pfrac_struct, xalpha) - 88usize];
478 ["Offset of field: fmpz_mod_mpoly_pfrac_struct::q"]
479 [::std::mem::offset_of!(fmpz_mod_mpoly_pfrac_struct, q) - 96usize];
480 ["Offset of field: fmpz_mod_mpoly_pfrac_struct::G"]
481 [::std::mem::offset_of!(fmpz_mod_mpoly_pfrac_struct, G) - 104usize];
482 ["Offset of field: fmpz_mod_mpoly_pfrac_struct::qt"]
483 [::std::mem::offset_of!(fmpz_mod_mpoly_pfrac_struct, qt) - 112usize];
484 ["Offset of field: fmpz_mod_mpoly_pfrac_struct::newt"]
485 [::std::mem::offset_of!(fmpz_mod_mpoly_pfrac_struct, newt) - 120usize];
486 ["Offset of field: fmpz_mod_mpoly_pfrac_struct::delta_coeffs"]
487 [::std::mem::offset_of!(fmpz_mod_mpoly_pfrac_struct, delta_coeffs) - 128usize];
488 ["Offset of field: fmpz_mod_mpoly_pfrac_struct::T"]
489 [::std::mem::offset_of!(fmpz_mod_mpoly_pfrac_struct, T) - 136usize];
490 ["Offset of field: fmpz_mod_mpoly_pfrac_struct::Q"]
491 [::std::mem::offset_of!(fmpz_mod_mpoly_pfrac_struct, Q) - 184usize];
492 ["Offset of field: fmpz_mod_mpoly_pfrac_struct::R"]
493 [::std::mem::offset_of!(fmpz_mod_mpoly_pfrac_struct, R) - 232usize];
494};
495impl Default for fmpz_mod_mpoly_pfrac_struct {
496 fn default() -> Self {
497 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
498 unsafe {
499 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
500 s.assume_init()
501 }
502 }
503}
504pub type fmpz_mod_mpoly_pfrac_t = [fmpz_mod_mpoly_pfrac_struct; 1usize];
505extern "C" {
506 #[link_name = "fmpz_mod_mpoly_factor_init__extern"]
507 pub fn fmpz_mod_mpoly_factor_init(
508 f: *mut fmpz_mod_mpoly_factor_struct,
509 UNUSED_ctx: *const fmpz_mod_mpoly_ctx_struct,
510 );
511 pub fn fmpz_mod_mpoly_factor_init2(
512 f: *mut fmpz_mod_mpoly_factor_struct,
513 alloc: slong,
514 ctx: *const fmpz_mod_mpoly_ctx_struct,
515 );
516 pub fn fmpz_mod_mpoly_factor_realloc(
517 f: *mut fmpz_mod_mpoly_factor_struct,
518 alloc: slong,
519 ctx: *const fmpz_mod_mpoly_ctx_struct,
520 );
521 pub fn fmpz_mod_mpoly_factor_fit_length(
522 f: *mut fmpz_mod_mpoly_factor_struct,
523 len: slong,
524 ctx: *const fmpz_mod_mpoly_ctx_struct,
525 );
526 pub fn fmpz_mod_mpoly_factor_clear(
527 f: *mut fmpz_mod_mpoly_factor_struct,
528 ctx: *const fmpz_mod_mpoly_ctx_struct,
529 );
530 #[link_name = "fmpz_mod_mpoly_factor_length__extern"]
531 pub fn fmpz_mod_mpoly_factor_length(
532 f: *const fmpz_mod_mpoly_factor_struct,
533 UNUSED_ctx: *const fmpz_mod_mpoly_ctx_struct,
534 ) -> slong;
535 #[link_name = "fmpz_mod_mpoly_factor_get_constant_fmpz__extern"]
536 pub fn fmpz_mod_mpoly_factor_get_constant_fmpz(
537 c: *mut fmpz,
538 f: *const fmpz_mod_mpoly_factor_struct,
539 UNUSED_ctx: *const fmpz_mod_mpoly_ctx_struct,
540 );
541 #[link_name = "fmpz_mod_mpoly_factor_get_base__extern"]
542 pub fn fmpz_mod_mpoly_factor_get_base(
543 p: *mut fmpz_mod_mpoly_struct,
544 f: *const fmpz_mod_mpoly_factor_struct,
545 i: slong,
546 ctx: *const fmpz_mod_mpoly_ctx_struct,
547 );
548 #[link_name = "fmpz_mod_mpoly_factor_swap_base__extern"]
549 pub fn fmpz_mod_mpoly_factor_swap_base(
550 p: *mut fmpz_mod_mpoly_struct,
551 f: *mut fmpz_mod_mpoly_factor_struct,
552 i: slong,
553 ctx: *const fmpz_mod_mpoly_ctx_struct,
554 );
555 #[link_name = "fmpz_mod_mpoly_factor_get_exp_si__extern"]
556 pub fn fmpz_mod_mpoly_factor_get_exp_si(
557 f: *mut fmpz_mod_mpoly_factor_struct,
558 i: slong,
559 UNUSED_ctx: *const fmpz_mod_mpoly_ctx_struct,
560 ) -> slong;
561 #[link_name = "fmpz_mod_mpoly_factor_swap__extern"]
562 pub fn fmpz_mod_mpoly_factor_swap(
563 f: *mut fmpz_mod_mpoly_factor_struct,
564 g: *mut fmpz_mod_mpoly_factor_struct,
565 UNUSED_ctx: *const fmpz_mod_mpoly_ctx_struct,
566 );
567 pub fn fmpz_mod_mpoly_factor_set(
568 f: *mut fmpz_mod_mpoly_factor_struct,
569 g: *const fmpz_mod_mpoly_factor_struct,
570 ctx: *const fmpz_mod_mpoly_ctx_struct,
571 );
572 pub fn fmpz_mod_mpoly_factor_print_pretty(
573 f: *const fmpz_mod_mpoly_factor_struct,
574 vars: *mut *const libc::c_char,
575 ctx: *const fmpz_mod_mpoly_ctx_struct,
576 );
577 pub fn fmpz_mod_mpoly_factor_content(
578 f: *mut fmpz_mod_mpoly_factor_struct,
579 A: *const fmpz_mod_mpoly_struct,
580 ctx: *const fmpz_mod_mpoly_ctx_struct,
581 ) -> libc::c_int;
582 pub fn fmpz_mod_mpoly_factor_squarefree(
583 f: *mut fmpz_mod_mpoly_factor_struct,
584 A: *const fmpz_mod_mpoly_struct,
585 ctx: *const fmpz_mod_mpoly_ctx_struct,
586 ) -> libc::c_int;
587 pub fn fmpz_mod_mpoly_factor(
588 f: *mut fmpz_mod_mpoly_factor_struct,
589 A: *const fmpz_mod_mpoly_struct,
590 ctx: *const fmpz_mod_mpoly_ctx_struct,
591 ) -> libc::c_int;
592 pub fn fmpz_mod_mpoly_factor_sort(
593 f: *mut fmpz_mod_mpoly_factor_struct,
594 ctx: *const fmpz_mod_mpoly_ctx_struct,
595 );
596 pub fn fmpz_mod_mpoly_factor_cmp(
597 A: *const fmpz_mod_mpoly_factor_struct,
598 B: *const fmpz_mod_mpoly_factor_struct,
599 ctx: *const fmpz_mod_mpoly_ctx_struct,
600 ) -> libc::c_int;
601 #[doc = "Internal functions (guaranteed to change without notice)"]
602 #[link_name = "_fmpz_mod_poly_degree__extern"]
603 pub fn _fmpz_mod_poly_degree(a: *const fmpz_mod_poly_struct) -> slong;
604 pub fn fmpz_mod_poly_scalar_addmul_fmpz_mod(
605 A: *mut fmpz_mod_poly_struct,
606 B: *const fmpz_mod_poly_struct,
607 C: *const fmpz_mod_poly_struct,
608 d0: *const fmpz,
609 ctx: *const fmpz_mod_ctx_struct,
610 );
611 pub fn fmpz_mod_poly_addmul_linear(
612 A: *mut fmpz_mod_poly_struct,
613 B: *const fmpz_mod_poly_struct,
614 C: *const fmpz_mod_poly_struct,
615 d1: *const fmpz,
616 d0: *const fmpz,
617 ctx: *const fmpz_mod_ctx_struct,
618 );
619 pub fn fmpz_mod_poly_shift_left_scalar_addmul_fmpz_mod(
620 A: *mut fmpz_mod_poly_struct,
621 k: slong,
622 c: *const fmpz,
623 ctx: *const fmpz_mod_ctx_struct,
624 );
625 pub fn fmpz_mod_poly_eval_pow(
626 eval: *mut fmpz,
627 P: *const fmpz_mod_poly_struct,
628 alphapow: *mut fmpz_mod_poly_struct,
629 ctx: *const fmpz_mod_ctx_struct,
630 );
631 pub fn fmpz_mod_poly_eval2_pow(
632 evalp: *mut fmpz,
633 evalm: *mut fmpz,
634 P: *const fmpz_mod_poly_struct,
635 alphapow: *mut fmpz_mod_poly_struct,
636 ctx: *const fmpz_mod_ctx_struct,
637 );
638 pub fn fmpz_mod_mat_is_reduced(
639 N: *const fmpz_mod_mat_struct,
640 ctx: *const fmpz_mod_ctx_struct,
641 ) -> libc::c_int;
642 pub fn fmpz_mod_mat_init_nullspace_tr(
643 X: *mut fmpz_mod_mat_struct,
644 tmp: *mut fmpz_mod_mat_struct,
645 ctx: *const fmpz_mod_ctx_struct,
646 );
647 pub fn fmpz_mod_mpoly_factor_separable(
648 f: *mut fmpz_mod_mpoly_factor_struct,
649 A: *const fmpz_mod_mpoly_struct,
650 ctx: *const fmpz_mod_mpoly_ctx_struct,
651 sep: libc::c_int,
652 ) -> libc::c_int;
653 pub fn fmpz_mod_mpoly_factor_expand(
654 A: *mut fmpz_mod_mpoly_struct,
655 f: *const fmpz_mod_mpoly_factor_struct,
656 ctx: *const fmpz_mod_mpoly_ctx_struct,
657 ) -> libc::c_int;
658 #[link_name = "fmpz_mod_mpoly_factor_matches__extern"]
659 pub fn fmpz_mod_mpoly_factor_matches(
660 a: *const fmpz_mod_mpoly_struct,
661 f: *const fmpz_mod_mpoly_factor_struct,
662 ctx: *const fmpz_mod_mpoly_ctx_struct,
663 ) -> libc::c_int;
664 #[link_name = "fmpz_mod_mpoly_factor_append_fmpz_swap__extern"]
665 pub fn fmpz_mod_mpoly_factor_append_fmpz_swap(
666 f: *mut fmpz_mod_mpoly_factor_struct,
667 A: *mut fmpz_mod_mpoly_struct,
668 e: *const fmpz,
669 ctx: *const fmpz_mod_mpoly_ctx_struct,
670 );
671 #[link_name = "fmpz_mod_mpoly_factor_one__extern"]
672 pub fn fmpz_mod_mpoly_factor_one(
673 f: *mut fmpz_mod_mpoly_factor_struct,
674 UNUSED_ctx: *const fmpz_mod_mpoly_ctx_struct,
675 );
676 pub fn _fmpz_mod_mpoly_get_lead0(
677 c: *mut fmpz_mod_mpoly_struct,
678 A: *const fmpz_mod_mpoly_struct,
679 ctx: *const fmpz_mod_mpoly_ctx_struct,
680 );
681 pub fn _fmpz_mod_mpoly_set_lead0(
682 A: *mut fmpz_mod_mpoly_struct,
683 B: *const fmpz_mod_mpoly_struct,
684 c: *const fmpz_mod_mpoly_struct,
685 ctx: *const fmpz_mod_mpoly_ctx_struct,
686 );
687 pub fn _fmpz_mod_mpoly_factor_set_nmod_mpoly_factor(
688 f: *mut fmpz_mod_mpoly_factor_struct,
689 ctx: *const fmpz_mod_mpoly_ctx_struct,
690 nf: *const nmod_mpoly_factor_struct,
691 nctx: *const nmod_mpoly_ctx_struct,
692 );
693 pub fn fmpz_mod_poly_stack_init(S: *mut fmpz_mod_poly_stack_struct);
694 pub fn fmpz_mod_poly_stack_clear(S: *mut fmpz_mod_poly_stack_struct);
695 pub fn fmpz_mod_poly_stack_fit_request(
696 S: *mut fmpz_mod_poly_stack_struct,
697 k: slong,
698 ) -> *mut *mut fmpz_mod_poly_struct;
699 #[link_name = "fmpz_mod_poly_stack_request__extern"]
700 pub fn fmpz_mod_poly_stack_request(
701 S: *mut fmpz_mod_poly_stack_struct,
702 k: slong,
703 ) -> *mut *mut fmpz_mod_poly_struct;
704 #[link_name = "fmpz_mod_poly_stack_take_top__extern"]
705 pub fn fmpz_mod_poly_stack_take_top(
706 S: *mut fmpz_mod_poly_stack_struct,
707 ) -> *mut fmpz_mod_poly_struct;
708 #[link_name = "fmpz_mod_poly_stack_give_back__extern"]
709 pub fn fmpz_mod_poly_stack_give_back(S: *mut fmpz_mod_poly_stack_struct, k: slong);
710 #[link_name = "fmpz_mod_poly_stack_size__extern"]
711 pub fn fmpz_mod_poly_stack_size(S: *const fmpz_mod_poly_stack_struct) -> slong;
712 pub fn fmpz_mod_bpoly_stack_init(S: *mut fmpz_mod_bpoly_stack_struct);
713 pub fn fmpz_mod_bpoly_stack_clear(S: *mut fmpz_mod_bpoly_stack_struct);
714 pub fn fmpz_mod_bpoly_stack_fit_request(
715 S: *mut fmpz_mod_bpoly_stack_struct,
716 k: slong,
717 ) -> *mut *mut fmpz_mod_bpoly_struct;
718 #[link_name = "fmpz_mod_bpoly_stack_request__extern"]
719 pub fn fmpz_mod_bpoly_stack_request(
720 S: *mut fmpz_mod_bpoly_stack_struct,
721 k: slong,
722 ) -> *mut *mut fmpz_mod_bpoly_struct;
723 #[link_name = "fmpz_mod_bpoly_stack_take_top__extern"]
724 pub fn fmpz_mod_bpoly_stack_take_top(
725 S: *mut fmpz_mod_bpoly_stack_struct,
726 ) -> *mut fmpz_mod_bpoly_struct;
727 #[link_name = "fmpz_mod_bpoly_stack_give_back__extern"]
728 pub fn fmpz_mod_bpoly_stack_give_back(S: *mut fmpz_mod_bpoly_stack_struct, k: slong);
729 #[link_name = "fmpz_mod_bpoly_stack_size__extern"]
730 pub fn fmpz_mod_bpoly_stack_size(S: *const fmpz_mod_bpoly_stack_struct) -> slong;
731 pub fn fmpz_mod_polyun_stack_init(S: *mut fmpz_mod_polyun_stack_struct);
732 pub fn fmpz_mod_polyun_stack_clear(S: *mut fmpz_mod_polyun_stack_struct);
733 pub fn fmpz_mod_polyun_stack_fit_request(
734 S: *mut fmpz_mod_polyun_stack_struct,
735 k: slong,
736 ) -> *mut *mut fmpz_mod_polyun_struct;
737 #[link_name = "fmpz_mod_polyun_stack_request__extern"]
738 pub fn fmpz_mod_polyun_stack_request(
739 S: *mut fmpz_mod_polyun_stack_struct,
740 k: slong,
741 ) -> *mut *mut fmpz_mod_polyun_struct;
742 #[link_name = "fmpz_mod_polyun_stack_take_top__extern"]
743 pub fn fmpz_mod_polyun_stack_take_top(
744 S: *mut fmpz_mod_polyun_stack_struct,
745 ) -> *mut fmpz_mod_polyun_struct;
746 #[link_name = "fmpz_mod_polyun_stack_give_back__extern"]
747 pub fn fmpz_mod_polyun_stack_give_back(S: *mut fmpz_mod_polyun_stack_struct, k: slong);
748 #[link_name = "fmpz_mod_polyun_stack_size__extern"]
749 pub fn fmpz_mod_polyun_stack_size(S: *const fmpz_mod_polyun_stack_struct) -> slong;
750 pub fn fmpz_mod_mpolyn_stack_init(
751 S: *mut fmpz_mod_mpolyn_stack_struct,
752 bits: flint_bitcnt_t,
753 UNUSED_ctx: *const fmpz_mod_mpoly_ctx_struct,
754 );
755 pub fn fmpz_mod_mpolyn_stack_clear(
756 S: *mut fmpz_mod_mpolyn_stack_struct,
757 ctx: *const fmpz_mod_mpoly_ctx_struct,
758 );
759 pub fn fmpz_mod_mpolyn_stack_fit_request(
760 S: *mut fmpz_mod_mpolyn_stack_struct,
761 k: slong,
762 ctx: *const fmpz_mod_mpoly_ctx_struct,
763 ) -> *mut *mut fmpz_mod_mpolyn_struct;
764 #[link_name = "fmpz_mod_mpolyn_stack_request__extern"]
765 pub fn fmpz_mod_mpolyn_stack_request(
766 S: *mut fmpz_mod_mpolyn_stack_struct,
767 k: slong,
768 ctx: *const fmpz_mod_mpoly_ctx_struct,
769 ) -> *mut *mut fmpz_mod_mpolyn_struct;
770 #[link_name = "fmpz_mod_mpolyn_stack_take_top__extern"]
771 pub fn fmpz_mod_mpolyn_stack_take_top(
772 S: *mut fmpz_mod_mpolyn_stack_struct,
773 ) -> *mut fmpz_mod_mpolyn_struct;
774 #[link_name = "fmpz_mod_mpolyn_stack_give_back__extern"]
775 pub fn fmpz_mod_mpolyn_stack_give_back(S: *mut fmpz_mod_mpolyn_stack_struct, k: slong);
776 #[link_name = "fmpz_mod_mpolyn_stack_size__extern"]
777 pub fn fmpz_mod_mpolyn_stack_size(S: *const fmpz_mod_mpolyn_stack_struct) -> slong;
778 pub fn _fmpz_mod_poly_vec_max_degree(
779 A: *const fmpz_mod_poly_struct,
780 Alen: slong,
781 ctx: *const fmpz_mod_ctx_struct,
782 ) -> slong;
783 pub fn _fmpz_mod_poly_vec_content(
784 g: *mut fmpz_mod_poly_struct,
785 A: *const fmpz_mod_poly_struct,
786 Alen: slong,
787 ctx: *const fmpz_mod_ctx_struct,
788 );
789 pub fn _fmpz_mod_poly_vec_remove_content(
790 g: *mut fmpz_mod_poly_struct,
791 A: *mut fmpz_mod_poly_struct,
792 Alen: slong,
793 ctx: *const fmpz_mod_ctx_struct,
794 );
795 pub fn _fmpz_mod_poly_vec_mul_poly(
796 A: *mut fmpz_mod_poly_struct,
797 Alen: slong,
798 g: *const fmpz_mod_poly_struct,
799 ctx: *const fmpz_mod_ctx_struct,
800 );
801 pub fn _fmpz_mod_poly_vec_divexact_poly(
802 A: *mut fmpz_mod_poly_struct,
803 Alen: slong,
804 g: *const fmpz_mod_poly_struct,
805 ctx: *const fmpz_mod_ctx_struct,
806 );
807 pub fn _fmpz_mod_poly_vec_mul_fmpz_mod(
808 A: *mut fmpz_mod_poly_struct,
809 Alen: slong,
810 g: *const fmpz,
811 ctx: *const fmpz_mod_ctx_struct,
812 );
813 #[link_name = "fmpz_mod_polyu1n_bidegree__extern"]
814 pub fn fmpz_mod_polyu1n_bidegree(A: *const fmpz_mod_polyun_struct) -> ulong;
815 #[link_name = "fmpz_mod_polyun_leadcoeff__extern"]
816 pub fn fmpz_mod_polyun_leadcoeff(A: *const fmpz_mod_polyun_struct) -> *const fmpz;
817 #[link_name = "fmpz_mod_polyun_swap__extern"]
818 pub fn fmpz_mod_polyun_swap(A: *mut fmpz_mod_polyun_struct, B: *mut fmpz_mod_polyun_struct);
819 pub fn fmpz_mod_polyun_is_canonical(
820 A: *const fmpz_mod_polyun_struct,
821 ctx: *const fmpz_mod_ctx_struct,
822 ) -> libc::c_int;
823 #[link_name = "fmpz_mod_polyun_init__extern"]
824 pub fn fmpz_mod_polyun_init(
825 A: *mut fmpz_mod_polyun_struct,
826 UNUSED_ctx: *const fmpz_mod_ctx_struct,
827 );
828 pub fn fmpz_mod_polyun_clear(A: *mut fmpz_mod_polyun_struct, ctx: *const fmpz_mod_ctx_struct);
829 pub fn fmpz_mod_polyun_realloc(
830 A: *mut fmpz_mod_polyun_struct,
831 len: slong,
832 ctx: *const fmpz_mod_ctx_struct,
833 );
834 pub fn fmpz_mod_polyu2n_print_pretty(
835 A: *const fmpz_mod_polyun_struct,
836 var0: *const libc::c_char,
837 var1: *const libc::c_char,
838 varlast: *const libc::c_char,
839 ctx: *const fmpz_mod_ctx_struct,
840 );
841 pub fn fmpz_mod_polyun_equal(
842 A: *mut fmpz_mod_polyun_struct,
843 B: *const fmpz_mod_polyun_struct,
844 ctx: *const fmpz_mod_ctx_struct,
845 ) -> libc::c_int;
846 pub fn fmpz_mod_polyun_set(
847 A: *mut fmpz_mod_polyun_struct,
848 B: *const fmpz_mod_polyun_struct,
849 ctx: *const fmpz_mod_ctx_struct,
850 );
851 pub fn fmpz_mod_polyu3n_print_pretty(
852 A: *const fmpz_mod_polyun_struct,
853 var0: *const libc::c_char,
854 var1: *const libc::c_char,
855 var2: *const libc::c_char,
856 varlast: *const libc::c_char,
857 ctx: *const fmpz_mod_ctx_struct,
858 );
859 pub fn fmpz_mod_polyu1n_print_pretty(
860 A: *const fmpz_mod_polyun_struct,
861 var0: *const libc::c_char,
862 varlast: *const libc::c_char,
863 ctx: *const fmpz_mod_ctx_struct,
864 );
865 #[link_name = "fmpz_mod_polyun_fit_length__extern"]
866 pub fn fmpz_mod_polyun_fit_length(
867 A: *mut fmpz_mod_polyun_struct,
868 len: slong,
869 ctx: *const fmpz_mod_ctx_struct,
870 );
871 pub fn fmpz_mod_polyun_one(A: *mut fmpz_mod_polyun_struct, ctx: *const fmpz_mod_ctx_struct);
872 pub fn fmpz_mod_mpoly_get_polyu1n(
873 A: *mut fmpz_mod_polyun_struct,
874 B: *const fmpz_mod_mpoly_struct,
875 varx: slong,
876 vary: slong,
877 ctx: *const fmpz_mod_mpoly_ctx_struct,
878 );
879 pub fn fmpz_mod_mpoly_set_polyu1n(
880 B: *mut fmpz_mod_mpoly_struct,
881 A: *const fmpz_mod_polyun_struct,
882 varx: slong,
883 vary: slong,
884 ctx: *const fmpz_mod_mpoly_ctx_struct,
885 );
886 pub fn fmpz_mod_mpolyn_init(
887 A: *mut fmpz_mod_mpolyn_struct,
888 bits: flint_bitcnt_t,
889 UNUSED_ctx: *const fmpz_mod_mpoly_ctx_struct,
890 );
891 #[link_name = "fmpz_mod_mpolyn_swap__extern"]
892 pub fn fmpz_mod_mpolyn_swap(
893 A: *mut fmpz_mod_mpolyn_struct,
894 B: *mut fmpz_mod_mpolyn_struct,
895 UNUSED_ctx: *const fmpz_mod_mpoly_ctx_struct,
896 );
897 pub fn fmpz_mod_mpolyn_fit_length(
898 A: *mut fmpz_mod_mpolyn_struct,
899 length: slong,
900 ctx: *const fmpz_mod_mpoly_ctx_struct,
901 );
902 #[link_name = "fmpz_mod_mpolyn_leadcoeff__extern"]
903 pub fn fmpz_mod_mpolyn_leadcoeff(A: *const fmpz_mod_mpolyn_struct) -> *const fmpz;
904 pub fn fmpz_mod_mpolyn_is_canonical(
905 A: *const fmpz_mod_mpolyn_struct,
906 ctx: *const fmpz_mod_mpoly_ctx_struct,
907 ) -> libc::c_int;
908 pub fn fmpz_mod_mpolyn_lastdeg(
909 A: *const fmpz_mod_mpolyn_struct,
910 ctx: *const fmpz_mod_mpoly_ctx_struct,
911 ) -> slong;
912 pub fn fmpz_mod_mpolyn_clear(
913 A: *mut fmpz_mod_mpolyn_struct,
914 ctx: *const fmpz_mod_mpoly_ctx_struct,
915 );
916 pub fn fmpz_mod_mpolyn_one(
917 A: *mut fmpz_mod_mpolyn_struct,
918 ctx: *const fmpz_mod_mpoly_ctx_struct,
919 );
920 pub fn fmpz_mod_mpolyn_scalar_mul_fmpz_mod(
921 A: *mut fmpz_mod_mpolyn_struct,
922 c: *const fmpz,
923 ctx: *const fmpz_mod_mpoly_ctx_struct,
924 );
925 pub fn fmpz_mod_mpolyn_equal(
926 A: *const fmpz_mod_mpolyn_struct,
927 B: *const fmpz_mod_mpolyn_struct,
928 ctx: *const fmpz_mod_mpoly_ctx_struct,
929 ) -> libc::c_int;
930 pub fn fmpz_mod_mpolyn_print_pretty(
931 poly: *const fmpz_mod_mpolyn_struct,
932 x: *mut *const libc::c_char,
933 ctx: *const fmpz_mod_mpoly_ctx_struct,
934 );
935 pub fn fmpz_mod_mpoly_cvtfrom_mpolyn(
936 A: *mut fmpz_mod_mpoly_struct,
937 B: *const fmpz_mod_mpolyn_struct,
938 var: slong,
939 ctx: *const fmpz_mod_mpoly_ctx_struct,
940 );
941 pub fn fmpz_mod_mpoly_cvtto_mpolyn(
942 A: *mut fmpz_mod_mpolyn_struct,
943 B: *const fmpz_mod_mpoly_struct,
944 var: slong,
945 ctx: *const fmpz_mod_mpoly_ctx_struct,
946 );
947 pub fn fmpz_mod_mpoly_to_mpolyn_perm_deflate(
948 A: *mut fmpz_mod_mpolyn_struct,
949 nctx: *const fmpz_mod_mpoly_ctx_struct,
950 B: *const fmpz_mod_mpoly_struct,
951 ctx: *const fmpz_mod_mpoly_ctx_struct,
952 perm: *const slong,
953 shift: *const ulong,
954 stride: *const ulong,
955 );
956 pub fn fmpz_mod_mpoly_from_mpolyn_perm_inflate(
957 A: *mut fmpz_mod_mpoly_struct,
958 Abits: flint_bitcnt_t,
959 ctx: *const fmpz_mod_mpoly_ctx_struct,
960 B: *const fmpz_mod_mpolyn_struct,
961 nctx: *const fmpz_mod_mpoly_ctx_struct,
962 perm: *const slong,
963 shift: *const ulong,
964 stride: *const ulong,
965 );
966 pub fn fmpz_mod_mpolyn_set(
967 A: *mut fmpz_mod_mpolyn_struct,
968 B: *const fmpz_mod_mpolyn_struct,
969 ctx: *const fmpz_mod_mpoly_ctx_struct,
970 );
971 pub fn fmpz_mod_mpolyn_is_nonzero_fmpz(
972 A: *const fmpz_mod_mpolyn_struct,
973 ctx: *const fmpz_mod_mpoly_ctx_struct,
974 ) -> libc::c_int;
975 pub fn fmpz_mod_mpolyn_divides(
976 Q: *mut fmpz_mod_mpolyn_struct,
977 A: *const fmpz_mod_mpolyn_struct,
978 B: *const fmpz_mod_mpolyn_struct,
979 ctx: *const fmpz_mod_mpoly_ctx_struct,
980 ) -> libc::c_int;
981 pub fn fmpz_mod_polyu1n_interp_reduce_2sm_poly(
982 E: *mut fmpz_mod_poly_struct,
983 F: *mut fmpz_mod_poly_struct,
984 A: *const fmpz_mod_polyun_struct,
985 alphapow: *mut fmpz_mod_poly_struct,
986 ctx: *const fmpz_mod_ctx_struct,
987 );
988 pub fn fmpz_mod_polyu1n_interp_lift_2sm_poly(
989 lastdeg: *mut slong,
990 F: *mut fmpz_mod_polyun_struct,
991 A: *const fmpz_mod_poly_struct,
992 B: *const fmpz_mod_poly_struct,
993 alpha: *const fmpz,
994 ctx: *const fmpz_mod_ctx_struct,
995 );
996 pub fn fmpz_mod_polyu1n_interp_crt_2sm_poly(
997 lastdeg: *mut slong,
998 F: *mut fmpz_mod_polyun_struct,
999 T: *mut fmpz_mod_polyun_struct,
1000 A: *const fmpz_mod_poly_struct,
1001 B: *const fmpz_mod_poly_struct,
1002 modulus: *const fmpz_mod_poly_struct,
1003 alphapow: *mut fmpz_mod_poly_struct,
1004 ctx: *const fmpz_mod_ctx_struct,
1005 ) -> libc::c_int;
1006 pub fn fmpz_mod_mpolyn_interp_reduce_sm_poly(
1007 E: *mut fmpz_mod_poly_struct,
1008 A: *const fmpz_mod_mpolyn_struct,
1009 alpha: *const fmpz,
1010 ctx: *const fmpz_mod_mpoly_ctx_struct,
1011 );
1012 pub fn fmpz_mod_mpolyn_interp_lift_sm_poly(
1013 A: *mut fmpz_mod_mpolyn_struct,
1014 B: *const fmpz_mod_poly_struct,
1015 ctx: *const fmpz_mod_mpoly_ctx_struct,
1016 );
1017 pub fn fmpz_mod_mpolyn_interp_crt_sm_poly(
1018 lastdeg_: *mut slong,
1019 F: *mut fmpz_mod_mpolyn_struct,
1020 T: *mut fmpz_mod_mpolyn_struct,
1021 A: *const fmpz_mod_poly_struct,
1022 modulus: *const fmpz_mod_poly_struct,
1023 alpha: *const fmpz,
1024 ctx: *const fmpz_mod_mpoly_ctx_struct,
1025 ) -> libc::c_int;
1026 pub fn fmpz_mod_mpolyn_interp_reduce_2sm_mpolyn(
1027 E: *mut fmpz_mod_mpolyn_struct,
1028 F: *mut fmpz_mod_mpolyn_struct,
1029 A: *mut fmpz_mod_mpolyn_struct,
1030 var: slong,
1031 alphapow: *mut fmpz_mod_poly_struct,
1032 ctx: *const fmpz_mod_mpoly_ctx_struct,
1033 );
1034 pub fn fmpz_mod_mpolyn_interp_lift_2sm_mpolyn(
1035 lastdeg: *mut slong,
1036 T: *mut fmpz_mod_mpolyn_struct,
1037 A: *mut fmpz_mod_mpolyn_struct,
1038 B: *mut fmpz_mod_mpolyn_struct,
1039 var: slong,
1040 alpha: *const fmpz,
1041 ctx: *const fmpz_mod_mpoly_ctx_struct,
1042 );
1043 pub fn fmpz_mod_mpolyn_interp_crt_2sm_mpolyn(
1044 lastdeg: *mut slong,
1045 F: *mut fmpz_mod_mpolyn_struct,
1046 T: *mut fmpz_mod_mpolyn_struct,
1047 A: *mut fmpz_mod_mpolyn_struct,
1048 B: *mut fmpz_mod_mpolyn_struct,
1049 var: slong,
1050 modulus: *mut fmpz_mod_poly_struct,
1051 alphapow: *mut fmpz_mod_poly_struct,
1052 ctx: *const fmpz_mod_mpoly_ctx_struct,
1053 ) -> libc::c_int;
1054 pub fn fmpz_mod_mpolyn_interp_lift_sm_mpoly(
1055 A: *mut fmpz_mod_mpolyn_struct,
1056 B: *const fmpz_mod_mpoly_struct,
1057 ctx: *const fmpz_mod_mpoly_ctx_struct,
1058 );
1059 pub fn fmpz_mod_mpolyn_interp_crt_sm_mpoly(
1060 lastdeg: *mut slong,
1061 F: *mut fmpz_mod_mpolyn_struct,
1062 T: *mut fmpz_mod_mpolyn_struct,
1063 A: *mut fmpz_mod_mpoly_struct,
1064 modulus: *mut fmpz_mod_poly_struct,
1065 alphapow: *mut fmpz_mod_poly_struct,
1066 ctx: *const fmpz_mod_mpoly_ctx_struct,
1067 ) -> libc::c_int;
1068 pub fn fmpz_mod_mpolyn_interp_mcrt_sm_mpoly(
1069 lastdeg: *mut slong,
1070 F: *mut fmpz_mod_mpolyn_struct,
1071 A: *const fmpz_mod_mpoly_struct,
1072 modulus: *const fmpz_mod_poly_struct,
1073 alphapow: *mut fmpz_mod_poly_struct,
1074 ctx: *const fmpz_mod_mpoly_ctx_struct,
1075 ) -> libc::c_int;
1076 #[link_name = "fmpz_mod_polyu_swap__extern"]
1077 pub fn fmpz_mod_polyu_swap(A: *mut fmpz_mod_polyu_struct, B: *mut fmpz_mod_polyu_struct);
1078 pub fn fmpz_mod_polyu_init(A: *mut fmpz_mod_polyu_struct);
1079 pub fn fmpz_mod_polyu_clear(A: *mut fmpz_mod_polyu_struct);
1080 pub fn fmpz_mod_polyu_realloc(A: *mut fmpz_mod_polyu_struct, len: slong);
1081 #[link_name = "fmpz_mod_polyu_fit_length__extern"]
1082 pub fn fmpz_mod_polyu_fit_length(
1083 a: *mut fmpz_mod_polyu_struct,
1084 len: slong,
1085 UNUSED_ctx: *const fmpz_mod_ctx_struct,
1086 );
1087 pub fn fmpz_mod_polyu3_degrees(
1088 deg0: *mut slong,
1089 deg1: *mut slong,
1090 deg2: *mut slong,
1091 A: *const fmpz_mod_polyu_struct,
1092 );
1093 pub fn fmpz_mod_polyu3_print_pretty(
1094 A: *const fmpz_mod_polyu_struct,
1095 var0: *const libc::c_char,
1096 var1: *const libc::c_char,
1097 var2: *const libc::c_char,
1098 UNUSED_ctx: *const fmpz_mod_ctx_struct,
1099 );
1100 pub fn fmpz_mod_mpolyu_is_canonical(
1101 A: *const fmpz_mod_mpolyu_struct,
1102 ctx: *const fmpz_mod_mpoly_ctx_struct,
1103 ) -> libc::c_int;
1104 pub fn fmpz_mod_mpolyu3_print_pretty(
1105 A: *const fmpz_mod_mpolyu_struct,
1106 var0: *const libc::c_char,
1107 var1: *const libc::c_char,
1108 var2: *const libc::c_char,
1109 vars: *mut *const libc::c_char,
1110 ctx: *const fmpz_mod_mpoly_ctx_struct,
1111 );
1112 pub fn fmpz_mod_bpoly_is_canonical(
1113 A: *const fmpz_mod_bpoly_struct,
1114 ctx: *const fmpz_mod_ctx_struct,
1115 ) -> libc::c_int;
1116 #[link_name = "fmpz_mod_bpoly_init__extern"]
1117 pub fn fmpz_mod_bpoly_init(
1118 A: *mut fmpz_mod_bpoly_struct,
1119 UNUSED_ctx: *const fmpz_mod_ctx_struct,
1120 );
1121 pub fn fmpz_mod_bpoly_clear(A: *mut fmpz_mod_bpoly_struct, ctx: *const fmpz_mod_ctx_struct);
1122 #[link_name = "fmpz_mod_bpoly_swap__extern"]
1123 pub fn fmpz_mod_bpoly_swap(
1124 A: *mut fmpz_mod_bpoly_struct,
1125 B: *mut fmpz_mod_bpoly_struct,
1126 UNUSED_ctx: *const fmpz_mod_ctx_struct,
1127 );
1128 #[link_name = "fmpz_mod_bpoly_get_coeff__extern"]
1129 pub fn fmpz_mod_bpoly_get_coeff(
1130 c: *mut fmpz,
1131 A: *const fmpz_mod_bpoly_struct,
1132 e0: slong,
1133 e1: slong,
1134 ctx: *const fmpz_mod_ctx_struct,
1135 );
1136 #[link_name = "fmpz_mod_bpoly_degree0__extern"]
1137 pub fn fmpz_mod_bpoly_degree0(
1138 A: *const fmpz_mod_bpoly_struct,
1139 UNUSED_ctx: *const fmpz_mod_ctx_struct,
1140 ) -> slong;
1141 #[link_name = "fmpz_mod_bpoly_normalise__extern"]
1142 pub fn fmpz_mod_bpoly_normalise(A: *mut fmpz_mod_bpoly_struct, ctx: *const fmpz_mod_ctx_struct);
1143 pub fn fmpz_mod_bpoly_equal(
1144 A: *const fmpz_mod_bpoly_struct,
1145 B: *const fmpz_mod_bpoly_struct,
1146 ctx: *const fmpz_mod_ctx_struct,
1147 ) -> libc::c_int;
1148 pub fn fmpz_mod_bpoly_set(
1149 A: *mut fmpz_mod_bpoly_struct,
1150 B: *const fmpz_mod_bpoly_struct,
1151 ctx: *const fmpz_mod_ctx_struct,
1152 );
1153 pub fn fmpz_mod_bpoly_set_poly_gen1(
1154 A: *mut fmpz_mod_bpoly_struct,
1155 B: *const fmpz_mod_poly_struct,
1156 ctx: *const fmpz_mod_ctx_struct,
1157 );
1158 pub fn fmpz_mod_bpoly_set_poly_gen0(
1159 A: *mut fmpz_mod_bpoly_struct,
1160 B: *const fmpz_mod_poly_struct,
1161 ctx: *const fmpz_mod_ctx_struct,
1162 );
1163 pub fn fmpz_mod_bpoly_one(A: *mut fmpz_mod_bpoly_struct, ctx: *const fmpz_mod_ctx_struct);
1164 #[link_name = "fmpz_mod_bpoly_is_one__extern"]
1165 pub fn fmpz_mod_bpoly_is_one(
1166 A: *const fmpz_mod_bpoly_struct,
1167 ctx: *const fmpz_mod_ctx_struct,
1168 ) -> libc::c_int;
1169 pub fn fmpz_mod_bpoly_degree1(
1170 A: *const fmpz_mod_bpoly_struct,
1171 UNUSED_ctx: *const fmpz_mod_ctx_struct,
1172 ) -> slong;
1173 pub fn fmpz_mod_bpoly_print_pretty(
1174 A: *const fmpz_mod_bpoly_struct,
1175 xvar: *const libc::c_char,
1176 yvar: *const libc::c_char,
1177 ctx: *const fmpz_mod_ctx_struct,
1178 );
1179 pub fn fmpz_mod_bpoly_fit_length(
1180 A: *mut fmpz_mod_bpoly_struct,
1181 len: slong,
1182 ctx: *const fmpz_mod_ctx_struct,
1183 );
1184 pub fn fmpz_mod_bpoly_set_coeff(
1185 A: *mut fmpz_mod_bpoly_struct,
1186 xi: slong,
1187 yi: slong,
1188 c: *const fmpz,
1189 ctx: *const fmpz_mod_ctx_struct,
1190 );
1191 pub fn fmpz_mod_bpoly_zero(
1192 A: *mut fmpz_mod_bpoly_struct,
1193 UNUSED_ctx: *const fmpz_mod_ctx_struct,
1194 );
1195 pub fn fmpz_mod_bpoly_reverse_vars(
1196 A: *mut fmpz_mod_bpoly_struct,
1197 B: *const fmpz_mod_bpoly_struct,
1198 ctx: *const fmpz_mod_ctx_struct,
1199 );
1200 pub fn fmpz_mod_bpoly_taylor_shift_gen1(
1201 A: *mut fmpz_mod_bpoly_struct,
1202 B: *const fmpz_mod_bpoly_struct,
1203 c: *const fmpz,
1204 ctx: *const fmpz_mod_ctx_struct,
1205 );
1206 pub fn fmpz_mod_bpoly_sub(
1207 A: *mut fmpz_mod_bpoly_struct,
1208 B: *const fmpz_mod_bpoly_struct,
1209 C: *const fmpz_mod_bpoly_struct,
1210 ctx: *const fmpz_mod_ctx_struct,
1211 );
1212 pub fn fmpz_mod_bpoly_add(
1213 A: *mut fmpz_mod_bpoly_struct,
1214 B: *const fmpz_mod_bpoly_struct,
1215 C: *const fmpz_mod_bpoly_struct,
1216 ctx: *const fmpz_mod_ctx_struct,
1217 );
1218 pub fn fmpz_mod_bpoly_make_primitive(
1219 g: *mut fmpz_mod_poly_struct,
1220 A: *mut fmpz_mod_bpoly_struct,
1221 ctx: *const fmpz_mod_ctx_struct,
1222 );
1223 pub fn fmpz_mod_bpoly_mul(
1224 A: *mut fmpz_mod_bpoly_struct,
1225 B: *const fmpz_mod_bpoly_struct,
1226 C: *const fmpz_mod_bpoly_struct,
1227 ctx: *const fmpz_mod_ctx_struct,
1228 );
1229 pub fn fmpz_mod_bpoly_mul_series(
1230 A: *mut fmpz_mod_bpoly_struct,
1231 B: *const fmpz_mod_bpoly_struct,
1232 C: *const fmpz_mod_bpoly_struct,
1233 order: slong,
1234 ctx: *const fmpz_mod_ctx_struct,
1235 );
1236 pub fn fmpz_mod_bpoly_divrem_series(
1237 Q: *mut fmpz_mod_bpoly_struct,
1238 R: *mut fmpz_mod_bpoly_struct,
1239 A: *const fmpz_mod_bpoly_struct,
1240 B: *const fmpz_mod_bpoly_struct,
1241 order: slong,
1242 ctx: *const fmpz_mod_ctx_struct,
1243 );
1244 pub fn fmpz_mod_bpoly_divides(
1245 Q: *mut fmpz_mod_bpoly_struct,
1246 A: *const fmpz_mod_bpoly_struct,
1247 B: *const fmpz_mod_bpoly_struct,
1248 ctx: *const fmpz_mod_ctx_struct,
1249 ) -> libc::c_int;
1250 pub fn fmpz_mod_bpoly_taylor_shift_gen0(
1251 A: *mut fmpz_mod_bpoly_struct,
1252 alpha: *const fmpz,
1253 ctx: *const fmpz_mod_ctx_struct,
1254 );
1255 pub fn fmpz_mod_bpoly_derivative_gen0(
1256 A: *mut fmpz_mod_bpoly_struct,
1257 B: *const fmpz_mod_bpoly_struct,
1258 ctx: *const fmpz_mod_ctx_struct,
1259 );
1260 pub fn fmpz_mod_bpoly_make_monic_series(
1261 A: *mut fmpz_mod_bpoly_struct,
1262 B: *const fmpz_mod_bpoly_struct,
1263 order: slong,
1264 ctx: *const fmpz_mod_ctx_struct,
1265 );
1266 #[link_name = "fmpz_mod_tpoly_init__extern"]
1267 pub fn fmpz_mod_tpoly_init(
1268 A: *mut fmpz_mod_tpoly_struct,
1269 UNUSED_ctx: *const fmpz_mod_ctx_struct,
1270 );
1271 #[link_name = "fmpz_mod_tpoly_swap__extern"]
1272 pub fn fmpz_mod_tpoly_swap(
1273 A: *mut fmpz_mod_tpoly_struct,
1274 B: *mut fmpz_mod_tpoly_struct,
1275 UNUSED_ctx: *const fmpz_mod_ctx_struct,
1276 );
1277 pub fn fmpz_mod_tpoly_fit_length(
1278 A: *mut fmpz_mod_tpoly_struct,
1279 len: slong,
1280 ctx: *const fmpz_mod_ctx_struct,
1281 );
1282 pub fn fmpz_mod_tpoly_clear(A: *mut fmpz_mod_tpoly_struct, ctx: *const fmpz_mod_ctx_struct);
1283 pub fn fmpz_mod_mpoly_get_fmpz_mod_bpoly(
1284 A: *mut fmpz_mod_bpoly_struct,
1285 B: *const fmpz_mod_mpoly_struct,
1286 var0: slong,
1287 var1: slong,
1288 ctx: *const fmpz_mod_mpoly_ctx_struct,
1289 );
1290 pub fn fmpz_mod_mpoly_set_fmpz_mod_bpoly(
1291 A: *mut fmpz_mod_mpoly_struct,
1292 Abits: flint_bitcnt_t,
1293 B: *const fmpz_mod_bpoly_struct,
1294 var0: slong,
1295 var1: slong,
1296 ctx: *const fmpz_mod_mpoly_ctx_struct,
1297 );
1298 pub fn fmpz_mod_bpoly_factor_smprime(
1299 c: *mut fmpz_mod_poly_struct,
1300 F: *mut fmpz_mod_tpoly_struct,
1301 B: *mut fmpz_mod_bpoly_struct,
1302 allow_shift: libc::c_int,
1303 ctx: *const fmpz_mod_ctx_struct,
1304 ) -> libc::c_int;
1305 pub fn _fmpz_mod_zip_vand_solve(
1306 coeffs: *mut fmpz,
1307 monomials: *const fmpz,
1308 mlength: slong,
1309 evals: *const fmpz,
1310 elength: slong,
1311 master: *const fmpz,
1312 scratch: *mut fmpz,
1313 ctx: *const fmpz_mod_ctx_struct,
1314 ) -> libc::c_int;
1315 pub fn _fmpz_mod_zip_eval_step(
1316 ev: *mut fmpz,
1317 cur: *mut fmpz,
1318 inc: *const fmpz,
1319 coeffs: *const fmpz,
1320 length: slong,
1321 ctx: *const fmpz_mod_ctx_struct,
1322 );
1323 #[link_name = "fmpz_mod_mpolyv_init__extern"]
1324 pub fn fmpz_mod_mpolyv_init(
1325 A: *mut fmpz_mod_mpolyv_struct,
1326 UNUSED_ctx: *const fmpz_mod_mpoly_ctx_struct,
1327 );
1328 #[link_name = "fmpz_mod_mpolyv_swap__extern"]
1329 pub fn fmpz_mod_mpolyv_swap(
1330 A: *mut fmpz_mod_mpolyv_struct,
1331 B: *mut fmpz_mod_mpolyv_struct,
1332 UNUSED_ctx: *const fmpz_mod_mpoly_ctx_struct,
1333 );
1334 pub fn fmpz_mod_mpolyv_clear(
1335 A: *mut fmpz_mod_mpolyv_struct,
1336 ctx: *const fmpz_mod_mpoly_ctx_struct,
1337 );
1338 pub fn fmpz_mod_mpolyv_print_pretty(
1339 poly: *const fmpz_mod_mpolyv_struct,
1340 x: *mut *const libc::c_char,
1341 ctx: *const fmpz_mod_mpoly_ctx_struct,
1342 );
1343 pub fn fmpz_mod_mpolyv_fit_length(
1344 A: *mut fmpz_mod_mpolyv_struct,
1345 length: slong,
1346 ctx: *const fmpz_mod_mpoly_ctx_struct,
1347 );
1348 pub fn fmpz_mod_mpolyv_set_coeff(
1349 A: *mut fmpz_mod_mpolyv_struct,
1350 i: slong,
1351 c: *mut fmpz_mod_mpoly_struct,
1352 ctx: *const fmpz_mod_mpoly_ctx_struct,
1353 );
1354 pub fn fmpz_mod_mpoly_to_mpolyv(
1355 A: *mut fmpz_mod_mpolyv_struct,
1356 B: *const fmpz_mod_mpoly_struct,
1357 xalpha: *const fmpz_mod_mpoly_struct,
1358 ctx: *const fmpz_mod_mpoly_ctx_struct,
1359 );
1360 pub fn fmpz_mod_mpoly_from_mpolyv(
1361 A: *mut fmpz_mod_mpoly_struct,
1362 Abits: flint_bitcnt_t,
1363 B: *const fmpz_mod_mpolyv_struct,
1364 xalpha: *const fmpz_mod_mpoly_struct,
1365 ctx: *const fmpz_mod_mpoly_ctx_struct,
1366 );
1367 pub fn _fmpz_mod_mpoly_vec_content_mpoly(
1368 g: *mut fmpz_mod_mpoly_struct,
1369 A: *const fmpz_mod_mpoly_struct,
1370 Alen: slong,
1371 ctx: *const fmpz_mod_mpoly_ctx_struct,
1372 ) -> libc::c_int;
1373 pub fn _fmpz_mod_mpoly_vec_divexact_mpoly(
1374 A: *mut fmpz_mod_mpoly_struct,
1375 Alen: slong,
1376 c: *const fmpz_mod_mpoly_struct,
1377 ctx: *const fmpz_mod_mpoly_ctx_struct,
1378 );
1379 pub fn _fmpz_mod_mpoly_vec_mul_mpoly(
1380 A: *mut fmpz_mod_mpoly_struct,
1381 Alen: slong,
1382 c: *const fmpz_mod_mpoly_struct,
1383 ctx: *const fmpz_mod_mpoly_ctx_struct,
1384 );
1385 pub fn _fmpz_mod_mpoly_factor_separable(
1386 f: *mut fmpz_mod_mpoly_factor_struct,
1387 A: *const fmpz_mod_mpoly_struct,
1388 ctx: *const fmpz_mod_mpoly_ctx_struct,
1389 sep: libc::c_int,
1390 ) -> libc::c_int;
1391 pub fn fmpz_mod_mpoly_factor_lcc_wang(
1392 lc_divs: *mut fmpz_mod_mpoly_struct,
1393 lcAfac: *const fmpz_mod_mpoly_factor_struct,
1394 Auc: *const fmpz_mod_poly_struct,
1395 Auf: *const fmpz_mod_bpoly_struct,
1396 r: slong,
1397 alpha: *const fmpz_mod_poly_struct,
1398 ctx: *const fmpz_mod_mpoly_ctx_struct,
1399 ) -> libc::c_int;
1400 pub fn fmpz_mod_mpoly_factor_irred_smprime_zassenhaus(
1401 fac: *mut fmpz_mod_mpolyv_struct,
1402 A: *const fmpz_mod_mpoly_struct,
1403 ctx: *const fmpz_mod_mpoly_ctx_struct,
1404 state: *mut flint_rand_struct,
1405 ) -> libc::c_int;
1406 pub fn fmpz_mod_mpoly_factor_irred_smprime_wang(
1407 fac: *mut fmpz_mod_mpolyv_struct,
1408 A: *const fmpz_mod_mpoly_struct,
1409 lcAfac: *const fmpz_mod_mpoly_factor_struct,
1410 lcA: *const fmpz_mod_mpoly_struct,
1411 ctx: *const fmpz_mod_mpoly_ctx_struct,
1412 state: *mut flint_rand_struct,
1413 ) -> libc::c_int;
1414 pub fn fmpz_mod_mpoly_factor_irred_smprime_zippel(
1415 fac: *mut fmpz_mod_mpolyv_struct,
1416 A: *const fmpz_mod_mpoly_struct,
1417 lcAfac: *const fmpz_mod_mpoly_factor_struct,
1418 lcA: *const fmpz_mod_mpoly_struct,
1419 ctx: *const fmpz_mod_mpoly_ctx_struct,
1420 state: *mut flint_rand_struct,
1421 ) -> libc::c_int;
1422 pub fn fmpz_mod_mpoly_compression_do(
1423 L: *mut fmpz_mod_mpoly_struct,
1424 Lctx: *const fmpz_mod_mpoly_ctx_struct,
1425 Acoeffs: *mut fmpz,
1426 Alen: slong,
1427 M: *mut mpoly_compression_struct,
1428 );
1429 pub fn fmpz_mod_mpoly_compression_undo(
1430 A: *mut fmpz_mod_mpoly_struct,
1431 Abits: flint_bitcnt_t,
1432 Actx: *const fmpz_mod_mpoly_ctx_struct,
1433 L: *mut fmpz_mod_mpoly_struct,
1434 Lctx: *const fmpz_mod_mpoly_ctx_struct,
1435 M: *mut mpoly_compression_struct,
1436 );
1437 pub fn fmpz_mod_mpoly_pfrac_init(
1438 Iv: *mut fmpz_mod_mpoly_pfrac_struct,
1439 bits: flint_bitcnt_t,
1440 l: slong,
1441 r: slong,
1442 betas: *const fmpz_mod_mpoly_struct,
1443 alpha: *const fmpz,
1444 ctx: *const fmpz_mod_mpoly_ctx_struct,
1445 ) -> libc::c_int;
1446 pub fn fmpz_mod_mpoly_pfrac_clear(
1447 Iv: *mut fmpz_mod_mpoly_pfrac_struct,
1448 ctx: *const fmpz_mod_mpoly_ctx_struct,
1449 );
1450 pub fn fmpz_mod_mpoly_pfrac(
1451 r: slong,
1452 t: *mut fmpz_mod_mpoly_struct,
1453 deg: *const slong,
1454 Iv: *mut fmpz_mod_mpoly_pfrac_struct,
1455 ctx: *const fmpz_mod_mpoly_ctx_struct,
1456 ) -> libc::c_int;
1457 pub fn fmpz_mod_mpoly_hlift(
1458 m: slong,
1459 f: *mut fmpz_mod_mpoly_struct,
1460 r: slong,
1461 alpha: *const fmpz,
1462 A: *const fmpz_mod_mpoly_struct,
1463 degs: *const slong,
1464 ctx: *const fmpz_mod_mpoly_ctx_struct,
1465 ) -> libc::c_int;
1466 pub fn fmpz_mod_bpoly_pfrac(
1467 r: slong,
1468 C: *mut fmpz_mod_bpoly_struct,
1469 C_deg1_bound: *mut slong,
1470 A: *mut fmpz_mod_bpoly_struct,
1471 B: *mut fmpz_mod_bpoly_struct,
1472 ctx: *const fmpz_mod_ctx_struct,
1473 ) -> libc::c_int;
1474 pub fn fmpz_mod_bpoly_hlift2(
1475 A: *mut fmpz_mod_bpoly_struct,
1476 B0: *mut fmpz_mod_bpoly_struct,
1477 B1: *mut fmpz_mod_bpoly_struct,
1478 alpha: *const fmpz,
1479 degree_inner: slong,
1480 ctx: *const fmpz_mod_ctx_struct,
1481 St: *mut fmpz_mod_poly_bpoly_stack_struct,
1482 ) -> libc::c_int;
1483 pub fn fmpz_mod_bpoly_hlift(
1484 r: slong,
1485 A: *mut fmpz_mod_bpoly_struct,
1486 B: *mut fmpz_mod_bpoly_struct,
1487 alpha: *const fmpz,
1488 degree_inner: slong,
1489 ctx: *const fmpz_mod_ctx_struct,
1490 St: *mut fmpz_mod_poly_bpoly_stack_struct,
1491 ) -> libc::c_int;
1492 pub fn fmpz_mod_polyu3_hlift(
1493 r: slong,
1494 BB: *mut fmpz_mod_polyun_struct,
1495 A: *mut fmpz_mod_polyu_struct,
1496 B: *mut fmpz_mod_polyu_struct,
1497 beta: *const fmpz,
1498 degree_inner: slong,
1499 ctx: *const fmpz_mod_ctx_struct,
1500 ) -> libc::c_int;
1501 pub fn fmpz_mod_mpoly_hlift_zippel(
1502 m: slong,
1503 B: *mut fmpz_mod_mpoly_struct,
1504 r: slong,
1505 alpha: *const fmpz,
1506 A: *const fmpz_mod_mpoly_struct,
1507 degs: *const slong,
1508 ctx: *const fmpz_mod_mpoly_ctx_struct,
1509 state: *mut flint_rand_struct,
1510 ) -> libc::c_int;
1511 pub fn fmpz_mod_mpoly_factor_algo(
1512 f: *mut fmpz_mod_mpoly_factor_struct,
1513 A: *const fmpz_mod_mpoly_struct,
1514 ctx: *const fmpz_mod_mpoly_ctx_struct,
1515 algo: libc::c_uint,
1516 ) -> libc::c_int;
1517 pub fn fmpz_mod_mpoly_factor_zassenhaus(
1518 f: *mut fmpz_mod_mpoly_factor_struct,
1519 A: *const fmpz_mod_mpoly_struct,
1520 ctx: *const fmpz_mod_mpoly_ctx_struct,
1521 ) -> libc::c_int;
1522 pub fn fmpz_mod_mpoly_factor_wang(
1523 f: *mut fmpz_mod_mpoly_factor_struct,
1524 A: *const fmpz_mod_mpoly_struct,
1525 ctx: *const fmpz_mod_mpoly_ctx_struct,
1526 ) -> libc::c_int;
1527 pub fn fmpz_mod_mpoly_factor_zippel(
1528 f: *mut fmpz_mod_mpoly_factor_struct,
1529 A: *const fmpz_mod_mpoly_struct,
1530 ctx: *const fmpz_mod_mpoly_ctx_struct,
1531 ) -> libc::c_int;
1532 pub fn _fmpz_mod_mpoly_evaluate_rest_fmpz_mod_poly(
1533 E: *mut fmpz_mod_poly_struct,
1534 starts: *mut slong,
1535 ends: *mut slong,
1536 stops: *mut slong,
1537 es: *mut ulong,
1538 Acoeffs: *const fmpz,
1539 Aexps: *const ulong,
1540 Alen: slong,
1541 var: slong,
1542 alphas: *const fmpz_mod_poly_struct,
1543 offsets: *const slong,
1544 shifts: *const slong,
1545 N: slong,
1546 mask: ulong,
1547 nvars: slong,
1548 ctx: *const fmpz_mod_ctx_struct,
1549 ) -> libc::c_int;
1550 pub fn _fmpz_mod_mpoly_eval_rest_to_fmpz_mod_bpoly(
1551 E: *mut fmpz_mod_bpoly_struct,
1552 A: *const fmpz_mod_mpoly_struct,
1553 alphabetas: *const fmpz_mod_poly_struct,
1554 ctx: *const fmpz_mod_mpoly_ctx_struct,
1555 );
1556 pub fn _fmpz_mod_mpoly_set_fmpz_mod_bpoly_var1_zero(
1557 A: *mut fmpz_mod_mpoly_struct,
1558 Abits: flint_bitcnt_t,
1559 B: *const fmpz_mod_bpoly_struct,
1560 var: slong,
1561 ctx: *const fmpz_mod_mpoly_ctx_struct,
1562 );
1563 pub fn _fmpz_mod_mpoly_gcd_algo(
1564 G: *mut fmpz_mod_mpoly_struct,
1565 Abar: *mut fmpz_mod_mpoly_struct,
1566 Bbar: *mut fmpz_mod_mpoly_struct,
1567 A: *const fmpz_mod_mpoly_struct,
1568 B: *const fmpz_mod_mpoly_struct,
1569 ctx: *const fmpz_mod_mpoly_ctx_struct,
1570 algo: libc::c_uint,
1571 ) -> libc::c_int;
1572 pub fn fmpz_mod_polyu1n_gcd_brown_smprime(
1573 G: *mut fmpz_mod_polyun_struct,
1574 Abar: *mut fmpz_mod_polyun_struct,
1575 Bbar: *mut fmpz_mod_polyun_struct,
1576 A: *mut fmpz_mod_polyun_struct,
1577 B: *mut fmpz_mod_polyun_struct,
1578 ctx: *const fmpz_mod_ctx_struct,
1579 St_poly: *mut fmpz_mod_poly_stack_struct,
1580 St_polyun: *mut fmpz_mod_polyun_stack_struct,
1581 ) -> libc::c_int;
1582 pub fn fmpz_mod_mpolyn_gcd_brown_smprime(
1583 G: *mut fmpz_mod_mpolyn_struct,
1584 Abar: *mut fmpz_mod_mpolyn_struct,
1585 Bbar: *mut fmpz_mod_mpolyn_struct,
1586 A: *mut fmpz_mod_mpolyn_struct,
1587 B: *mut fmpz_mod_mpolyn_struct,
1588 var: slong,
1589 ctx: *const fmpz_mod_mpoly_ctx_struct,
1590 Iv: *const mpoly_gcd_info_struct,
1591 St: *mut fmpz_mod_poly_polyun_mpolyn_stack_struct,
1592 ) -> libc::c_int;
1593 pub fn fmpz_mod_mpolyl_gcdp_zippel(
1594 G: *mut fmpz_mod_mpoly_struct,
1595 Abar: *mut fmpz_mod_mpoly_struct,
1596 Bbar: *mut fmpz_mod_mpoly_struct,
1597 A: *mut fmpz_mod_mpoly_struct,
1598 B: *mut fmpz_mod_mpoly_struct,
1599 var: slong,
1600 ctx: *const fmpz_mod_mpoly_ctx_struct,
1601 state: *mut flint_rand_struct,
1602 ) -> libc::c_int;
1603 pub fn fmpz_mod_mpolyl_gcd_zippel2_smprime(
1604 rG: *mut fmpz_mod_mpoly_struct,
1605 rGdegs: *const slong,
1606 rAbar: *mut fmpz_mod_mpoly_struct,
1607 rBbar: *mut fmpz_mod_mpoly_struct,
1608 A: *const fmpz_mod_mpoly_struct,
1609 Adegs: *const slong,
1610 B: *const fmpz_mod_mpoly_struct,
1611 Bdegs: *const slong,
1612 gamma: *const fmpz_mod_mpoly_struct,
1613 gammadegs: *const slong,
1614 ctx: *const fmpz_mod_mpoly_ctx_struct,
1615 ) -> libc::c_int;
1616 pub fn fmpz_mod_mpolyl_gcd_hensel_smprime(
1617 G: *mut fmpz_mod_mpoly_struct,
1618 Gdeg: slong,
1619 Abar: *mut fmpz_mod_mpoly_struct,
1620 Bbar: *mut fmpz_mod_mpoly_struct,
1621 A: *const fmpz_mod_mpoly_struct,
1622 B: *const fmpz_mod_mpoly_struct,
1623 ctx: *const fmpz_mod_mpoly_ctx_struct,
1624 ) -> libc::c_int;
1625 pub fn fmpz_mod_pow_cache_start(
1626 b: *const fmpz,
1627 c: *mut fmpz_mod_poly_struct,
1628 ctx: *const fmpz_mod_ctx_struct,
1629 );
1630 pub fn fmpz_mod_pow_cache_mulpow_ui(
1631 a: *mut fmpz,
1632 b: *const fmpz,
1633 e: ulong,
1634 c: *mut fmpz_mod_poly_struct,
1635 ctx: *const fmpz_mod_ctx_struct,
1636 );
1637 pub fn mpoly_monomial_evals_fmpz_mod(
1638 EH: *mut fmpz_mod_poly_struct,
1639 Aexps: *const ulong,
1640 Alen: slong,
1641 Abits: flint_bitcnt_t,
1642 alpha_caches: *mut fmpz_mod_poly_struct,
1643 start: slong,
1644 stop: slong,
1645 mctx: *const mpoly_ctx_struct,
1646 fpctx: *const fmpz_mod_ctx_struct,
1647 );
1648 pub fn mpoly1_monomial_evals_fmpz_mod(
1649 EH: *mut fmpz_mod_polyun_struct,
1650 Aexps: *const ulong,
1651 Abits: flint_bitcnt_t,
1652 Amarks: *const ulong,
1653 Amarkslen: slong,
1654 alpha_caches: *mut fmpz_mod_poly_struct,
1655 m: slong,
1656 mctx: *const mpoly_ctx_struct,
1657 fpctx: *const fmpz_mod_ctx_struct,
1658 );
1659 pub fn mpoly2_monomial_evals_fmpz_mod(
1660 EH: *mut fmpz_mod_polyun_struct,
1661 Aexps: *const ulong,
1662 Abits: flint_bitcnt_t,
1663 Amarks: *mut ulong,
1664 Amarkslen: slong,
1665 alpha_caches: *mut fmpz_mod_poly_struct,
1666 m: slong,
1667 mctx: *const mpoly_ctx_struct,
1668 fpctx: *const fmpz_mod_ctx_struct,
1669 );
1670 pub fn fmpz_mod_mpoly_mock_eval_coeff(
1671 mock: *mut fmpz_mod_polyun_struct,
1672 A: *const fmpz_mod_mpoly_struct,
1673 Aeh_inc: *const fmpz_mod_polyun_struct,
1674 UNUSED_ctx: *const fmpz_mod_mpoly_ctx_struct,
1675 );
1676 pub fn fmpz_mod_polyun_product_roots(
1677 M: *mut fmpz_mod_polyun_struct,
1678 H: *const fmpz_mod_polyun_struct,
1679 ctx: *const fmpz_mod_ctx_struct,
1680 ) -> slong;
1681 pub fn fmpz_mod_polyun_zip_start(
1682 Z: *mut fmpz_mod_polyun_struct,
1683 H: *mut fmpz_mod_polyun_struct,
1684 req_images: slong,
1685 fctx: *const fmpz_mod_ctx_struct,
1686 );
1687 pub fn fmpz_mod_polyu2n_zip_eval_cur_inc_coeff(
1688 E: *mut fmpz_mod_polyun_struct,
1689 Acur: *mut fmpz_mod_polyun_struct,
1690 Ainc: *const fmpz_mod_polyun_struct,
1691 Acoeff: *const fmpz_mod_polyun_struct,
1692 ctx: *const fmpz_mod_ctx_struct,
1693 );
1694 pub fn fmpz_mod_polyun_zip_solve(
1695 A: *mut fmpz_mod_mpoly_struct,
1696 Z: *mut fmpz_mod_polyun_struct,
1697 H: *mut fmpz_mod_polyun_struct,
1698 M: *mut fmpz_mod_polyun_struct,
1699 ctx: *const fmpz_mod_mpoly_ctx_struct,
1700 ) -> libc::c_int;
1701}