1use libc::*;
4use crate::deps::*;
5use crate::flint::*;
6use crate::fmpz_mod_types::*;
7use crate::fmpz_types::*;
8use crate::fq_default::*;
9use crate::fq_default_mat::*;
10use crate::fq_nmod_types::*;
11use crate::fq_types::*;
12use crate::fq_zech_types::*;
13use crate::nmod_types::*;
14
15
16#[repr(C)]
17pub struct __BindgenUnionField<T>(::std::marker::PhantomData<T>);
18impl<T> __BindgenUnionField<T> {
19 #[inline]
20 pub const fn new() -> Self {
21 __BindgenUnionField(::std::marker::PhantomData)
22 }
23 #[inline]
24 pub unsafe fn as_ref(&self) -> &T {
25 ::std::mem::transmute(self)
26 }
27 #[inline]
28 pub unsafe fn as_mut(&mut self) -> &mut T {
29 ::std::mem::transmute(self)
30 }
31}
32impl<T> ::std::default::Default for __BindgenUnionField<T> {
33 #[inline]
34 fn default() -> Self {
35 Self::new()
36 }
37}
38impl<T> ::std::clone::Clone for __BindgenUnionField<T> {
39 #[inline]
40 fn clone(&self) -> Self {
41 *self
42 }
43}
44impl<T> ::std::marker::Copy for __BindgenUnionField<T> {}
45impl<T> ::std::fmt::Debug for __BindgenUnionField<T> {
46 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
47 fmt.write_str("__BindgenUnionField")
48 }
49}
50impl<T> ::std::hash::Hash for __BindgenUnionField<T> {
51 fn hash<H: ::std::hash::Hasher>(&self, _state: &mut H) {}
52}
53impl<T> ::std::cmp::PartialEq for __BindgenUnionField<T> {
54 fn eq(&self, _other: &__BindgenUnionField<T>) -> bool {
55 true
56 }
57}
58impl<T> ::std::cmp::Eq for __BindgenUnionField<T> {}
59#[repr(C)]
60pub struct fq_default_poly_struct {
61 pub fq: __BindgenUnionField<fq_poly_t>,
62 pub fq_nmod: __BindgenUnionField<fq_nmod_poly_t>,
63 pub fq_zech: __BindgenUnionField<fq_zech_poly_t>,
64 pub nmod: __BindgenUnionField<nmod_poly_t>,
65 pub fmpz_mod: __BindgenUnionField<fmpz_mod_poly_t>,
66 pub bindgen_union_field: [u64; 6usize],
67}
68#[allow(clippy::unnecessary_operation, clippy::identity_op)]
69const _: () = {
70 ["Size of fq_default_poly_struct"][::std::mem::size_of::<fq_default_poly_struct>() - 48usize];
71 ["Alignment of fq_default_poly_struct"]
72 [::std::mem::align_of::<fq_default_poly_struct>() - 8usize];
73 ["Offset of field: fq_default_poly_struct::fq"]
74 [::std::mem::offset_of!(fq_default_poly_struct, fq) - 0usize];
75 ["Offset of field: fq_default_poly_struct::fq_nmod"]
76 [::std::mem::offset_of!(fq_default_poly_struct, fq_nmod) - 0usize];
77 ["Offset of field: fq_default_poly_struct::fq_zech"]
78 [::std::mem::offset_of!(fq_default_poly_struct, fq_zech) - 0usize];
79 ["Offset of field: fq_default_poly_struct::nmod"]
80 [::std::mem::offset_of!(fq_default_poly_struct, nmod) - 0usize];
81 ["Offset of field: fq_default_poly_struct::fmpz_mod"]
82 [::std::mem::offset_of!(fq_default_poly_struct, fmpz_mod) - 0usize];
83};
84impl Default for fq_default_poly_struct {
85 fn default() -> Self {
86 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
87 unsafe {
88 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
89 s.assume_init()
90 }
91 }
92}
93pub type fq_default_poly_t = [fq_default_poly_struct; 1usize];
94extern "C" {
95 #[link_name = "fq_default_poly_init__extern"]
96 pub fn fq_default_poly_init(
97 poly: *mut fq_default_poly_struct,
98 ctx: *const fq_default_ctx_struct,
99 );
100 #[link_name = "fq_default_poly_init2__extern"]
101 pub fn fq_default_poly_init2(
102 poly: *mut fq_default_poly_struct,
103 alloc: slong,
104 ctx: *const fq_default_ctx_struct,
105 );
106 #[link_name = "fq_default_poly_realloc__extern"]
107 pub fn fq_default_poly_realloc(
108 poly: *mut fq_default_poly_struct,
109 alloc: slong,
110 ctx: *const fq_default_ctx_struct,
111 );
112 #[link_name = "fq_default_poly_truncate__extern"]
113 pub fn fq_default_poly_truncate(
114 poly: *mut fq_default_poly_struct,
115 len: slong,
116 ctx: *const fq_default_ctx_struct,
117 );
118 #[link_name = "fq_default_poly_set_trunc__extern"]
119 pub fn fq_default_poly_set_trunc(
120 poly1: *mut fq_default_poly_struct,
121 poly2: *mut fq_default_poly_struct,
122 len: slong,
123 ctx: *const fq_default_ctx_struct,
124 );
125 #[link_name = "fq_default_poly_fit_length__extern"]
126 pub fn fq_default_poly_fit_length(
127 poly: *mut fq_default_poly_struct,
128 len: slong,
129 ctx: *const fq_default_ctx_struct,
130 );
131 #[link_name = "_fq_default_poly_set_length__extern"]
132 pub fn _fq_default_poly_set_length(
133 poly: *mut fq_default_poly_struct,
134 len: slong,
135 ctx: *const fq_default_ctx_struct,
136 );
137 #[link_name = "fq_default_poly_clear__extern"]
138 pub fn fq_default_poly_clear(
139 poly: *mut fq_default_poly_struct,
140 ctx: *const fq_default_ctx_struct,
141 );
142 #[link_name = "fq_default_poly_length__extern"]
143 pub fn fq_default_poly_length(
144 poly: *const fq_default_poly_struct,
145 ctx: *const fq_default_ctx_struct,
146 ) -> slong;
147 #[link_name = "fq_default_poly_degree__extern"]
148 pub fn fq_default_poly_degree(
149 poly: *const fq_default_poly_struct,
150 ctx: *const fq_default_ctx_struct,
151 ) -> slong;
152 #[link_name = "fq_default_poly_randtest__extern"]
153 pub fn fq_default_poly_randtest(
154 f: *mut fq_default_poly_struct,
155 state: *mut flint_rand_struct,
156 len: slong,
157 ctx: *const fq_default_ctx_struct,
158 );
159 #[link_name = "fq_default_poly_randtest_not_zero__extern"]
160 pub fn fq_default_poly_randtest_not_zero(
161 f: *mut fq_default_poly_struct,
162 state: *mut flint_rand_struct,
163 len: slong,
164 ctx: *const fq_default_ctx_struct,
165 );
166 #[link_name = "fq_default_poly_randtest_monic__extern"]
167 pub fn fq_default_poly_randtest_monic(
168 f: *mut fq_default_poly_struct,
169 state: *mut flint_rand_struct,
170 len: slong,
171 ctx: *const fq_default_ctx_struct,
172 );
173 #[link_name = "fq_default_poly_randtest_irreducible__extern"]
174 pub fn fq_default_poly_randtest_irreducible(
175 f: *mut fq_default_poly_struct,
176 state: *mut flint_rand_struct,
177 len: slong,
178 ctx: *const fq_default_ctx_struct,
179 );
180 #[link_name = "fq_default_poly_set__extern"]
181 pub fn fq_default_poly_set(
182 rop: *mut fq_default_poly_struct,
183 op: *const fq_default_poly_struct,
184 ctx: *const fq_default_ctx_struct,
185 );
186 #[link_name = "fq_default_poly_set_fq_default__extern"]
187 pub fn fq_default_poly_set_fq_default(
188 poly: *mut fq_default_poly_struct,
189 c: *const fq_default_struct,
190 ctx: *const fq_default_ctx_struct,
191 );
192 #[link_name = "fq_default_poly_swap__extern"]
193 pub fn fq_default_poly_swap(
194 op1: *mut fq_default_poly_struct,
195 op2: *mut fq_default_poly_struct,
196 ctx: *const fq_default_ctx_struct,
197 );
198 #[link_name = "fq_default_poly_zero__extern"]
199 pub fn fq_default_poly_zero(
200 poly: *mut fq_default_poly_struct,
201 ctx: *const fq_default_ctx_struct,
202 );
203 #[link_name = "fq_default_poly_one__extern"]
204 pub fn fq_default_poly_one(
205 poly: *mut fq_default_poly_struct,
206 ctx: *const fq_default_ctx_struct,
207 );
208 #[link_name = "fq_default_poly_gen__extern"]
209 pub fn fq_default_poly_gen(f: *mut fq_default_poly_struct, ctx: *const fq_default_ctx_struct);
210 #[link_name = "fq_default_poly_make_monic__extern"]
211 pub fn fq_default_poly_make_monic(
212 rop: *mut fq_default_poly_struct,
213 op: *const fq_default_poly_struct,
214 ctx: *const fq_default_ctx_struct,
215 );
216 #[link_name = "fq_default_poly_reverse__extern"]
217 pub fn fq_default_poly_reverse(
218 res: *mut fq_default_poly_struct,
219 poly: *const fq_default_poly_struct,
220 n: slong,
221 ctx: *const fq_default_ctx_struct,
222 );
223 #[link_name = "fq_default_poly_deflation__extern"]
224 pub fn fq_default_poly_deflation(
225 input: *const fq_default_poly_struct,
226 ctx: *const fq_default_ctx_struct,
227 ) -> ulong;
228 #[link_name = "fq_default_poly_deflate__extern"]
229 pub fn fq_default_poly_deflate(
230 result: *mut fq_default_poly_struct,
231 input: *const fq_default_poly_struct,
232 deflation: ulong,
233 ctx: *const fq_default_ctx_struct,
234 );
235 #[link_name = "fq_default_poly_inflate__extern"]
236 pub fn fq_default_poly_inflate(
237 result: *mut fq_default_poly_struct,
238 input: *const fq_default_poly_struct,
239 inflation: ulong,
240 ctx: *const fq_default_ctx_struct,
241 );
242 #[link_name = "fq_default_poly_get_coeff__extern"]
243 pub fn fq_default_poly_get_coeff(
244 x: *mut fq_default_struct,
245 poly: *const fq_default_poly_struct,
246 n: slong,
247 ctx: *const fq_default_ctx_struct,
248 );
249 #[link_name = "fq_default_poly_set_coeff__extern"]
250 pub fn fq_default_poly_set_coeff(
251 poly: *mut fq_default_poly_struct,
252 n: slong,
253 x: *const fq_default_struct,
254 ctx: *const fq_default_ctx_struct,
255 );
256 #[link_name = "fq_default_poly_set_coeff_fmpz__extern"]
257 pub fn fq_default_poly_set_coeff_fmpz(
258 poly: *mut fq_default_poly_struct,
259 n: slong,
260 x: *const fmpz,
261 ctx: *const fq_default_ctx_struct,
262 );
263 #[link_name = "fq_default_poly_set_nmod_poly__extern"]
264 pub fn fq_default_poly_set_nmod_poly(
265 rop: *mut fq_default_poly_struct,
266 op: *const nmod_poly_struct,
267 ctx: *const fq_default_ctx_struct,
268 );
269 #[link_name = "fq_default_poly_set_fmpz_mod_poly__extern"]
270 pub fn fq_default_poly_set_fmpz_mod_poly(
271 rop: *mut fq_default_poly_struct,
272 op: *const fmpz_mod_poly_struct,
273 ctx: *const fq_default_ctx_struct,
274 );
275 pub fn fq_default_poly_set_fmpz_poly(
276 rop: *mut fq_default_poly_struct,
277 op: *const fmpz_poly_struct,
278 ctx: *const fq_default_ctx_struct,
279 );
280 #[link_name = "fq_default_poly_equal__extern"]
281 pub fn fq_default_poly_equal(
282 poly1: *const fq_default_poly_struct,
283 poly2: *const fq_default_poly_struct,
284 ctx: *const fq_default_ctx_struct,
285 ) -> libc::c_int;
286 #[link_name = "fq_default_poly_equal_trunc__extern"]
287 pub fn fq_default_poly_equal_trunc(
288 poly1: *const fq_default_poly_struct,
289 poly2: *const fq_default_poly_struct,
290 n: slong,
291 ctx: *const fq_default_ctx_struct,
292 ) -> libc::c_int;
293 #[link_name = "fq_default_poly_is_zero__extern"]
294 pub fn fq_default_poly_is_zero(
295 poly: *const fq_default_poly_struct,
296 ctx: *const fq_default_ctx_struct,
297 ) -> libc::c_int;
298 #[link_name = "fq_default_poly_is_one__extern"]
299 pub fn fq_default_poly_is_one(
300 op: *const fq_default_poly_struct,
301 ctx: *const fq_default_ctx_struct,
302 ) -> libc::c_int;
303 #[link_name = "fq_default_poly_is_unit__extern"]
304 pub fn fq_default_poly_is_unit(
305 op: *const fq_default_poly_struct,
306 ctx: *const fq_default_ctx_struct,
307 ) -> libc::c_int;
308 #[link_name = "fq_default_poly_is_gen__extern"]
309 pub fn fq_default_poly_is_gen(
310 poly: *const fq_default_poly_struct,
311 ctx: *const fq_default_ctx_struct,
312 ) -> libc::c_int;
313 #[link_name = "fq_default_poly_equal_fq_default__extern"]
314 pub fn fq_default_poly_equal_fq_default(
315 poly: *const fq_default_poly_struct,
316 c: *const fq_default_struct,
317 ctx: *const fq_default_ctx_struct,
318 ) -> libc::c_int;
319 #[link_name = "fq_default_poly_add__extern"]
320 pub fn fq_default_poly_add(
321 rop: *mut fq_default_poly_struct,
322 op1: *const fq_default_poly_struct,
323 op2: *const fq_default_poly_struct,
324 ctx: *const fq_default_ctx_struct,
325 );
326 #[link_name = "fq_default_poly_add_si__extern"]
327 pub fn fq_default_poly_add_si(
328 rop: *mut fq_default_poly_struct,
329 op1: *const fq_default_poly_struct,
330 c: slong,
331 ctx: *const fq_default_ctx_struct,
332 );
333 #[link_name = "fq_default_poly_add_series__extern"]
334 pub fn fq_default_poly_add_series(
335 rop: *mut fq_default_poly_struct,
336 op1: *const fq_default_poly_struct,
337 op2: *const fq_default_poly_struct,
338 n: slong,
339 ctx: *const fq_default_ctx_struct,
340 );
341 #[link_name = "fq_default_poly_sub__extern"]
342 pub fn fq_default_poly_sub(
343 rop: *mut fq_default_poly_struct,
344 op1: *const fq_default_poly_struct,
345 op2: *const fq_default_poly_struct,
346 ctx: *const fq_default_ctx_struct,
347 );
348 #[link_name = "fq_default_poly_sub_series__extern"]
349 pub fn fq_default_poly_sub_series(
350 rop: *mut fq_default_poly_struct,
351 op1: *const fq_default_poly_struct,
352 op2: *const fq_default_poly_struct,
353 n: slong,
354 ctx: *const fq_default_ctx_struct,
355 );
356 #[link_name = "fq_default_poly_neg__extern"]
357 pub fn fq_default_poly_neg(
358 rop: *mut fq_default_poly_struct,
359 op: *const fq_default_poly_struct,
360 ctx: *const fq_default_ctx_struct,
361 );
362 #[link_name = "fq_default_poly_scalar_mul_fq_default__extern"]
363 pub fn fq_default_poly_scalar_mul_fq_default(
364 rop: *mut fq_default_poly_struct,
365 op: *const fq_default_poly_struct,
366 x: *const fq_default_struct,
367 ctx: *const fq_default_ctx_struct,
368 );
369 #[link_name = "fq_default_poly_scalar_div_fq_default__extern"]
370 pub fn fq_default_poly_scalar_div_fq_default(
371 rop: *mut fq_default_poly_struct,
372 op: *const fq_default_poly_struct,
373 x: *const fq_default_struct,
374 ctx: *const fq_default_ctx_struct,
375 );
376 #[link_name = "fq_default_poly_scalar_addmul_fq_default__extern"]
377 pub fn fq_default_poly_scalar_addmul_fq_default(
378 rop: *mut fq_default_poly_struct,
379 op: *const fq_default_poly_struct,
380 x: *const fq_default_struct,
381 ctx: *const fq_default_ctx_struct,
382 );
383 #[link_name = "fq_default_poly_scalar_submul_fq_default__extern"]
384 pub fn fq_default_poly_scalar_submul_fq_default(
385 rop: *mut fq_default_poly_struct,
386 op: *const fq_default_poly_struct,
387 x: *const fq_default_struct,
388 ctx: *const fq_default_ctx_struct,
389 );
390 #[link_name = "fq_default_poly_mul__extern"]
391 pub fn fq_default_poly_mul(
392 rop: *mut fq_default_poly_struct,
393 op1: *const fq_default_poly_struct,
394 op2: *const fq_default_poly_struct,
395 ctx: *const fq_default_ctx_struct,
396 );
397 #[link_name = "fq_default_poly_mullow__extern"]
398 pub fn fq_default_poly_mullow(
399 rop: *mut fq_default_poly_struct,
400 op1: *const fq_default_poly_struct,
401 op2: *const fq_default_poly_struct,
402 n: slong,
403 ctx: *const fq_default_ctx_struct,
404 );
405 #[link_name = "fq_default_poly_mulhigh__extern"]
406 pub fn fq_default_poly_mulhigh(
407 rop: *mut fq_default_poly_struct,
408 op1: *const fq_default_poly_struct,
409 op2: *const fq_default_poly_struct,
410 start: slong,
411 ctx: *const fq_default_ctx_struct,
412 );
413 #[link_name = "fq_default_poly_mulmod__extern"]
414 pub fn fq_default_poly_mulmod(
415 res: *mut fq_default_poly_struct,
416 poly1: *const fq_default_poly_struct,
417 poly2: *const fq_default_poly_struct,
418 f: *const fq_default_poly_struct,
419 ctx: *const fq_default_ctx_struct,
420 );
421 #[link_name = "fq_default_poly_sqr__extern"]
422 pub fn fq_default_poly_sqr(
423 rop: *mut fq_default_poly_struct,
424 op: *const fq_default_poly_struct,
425 ctx: *const fq_default_ctx_struct,
426 );
427 #[link_name = "fq_default_poly_pow__extern"]
428 pub fn fq_default_poly_pow(
429 rop: *mut fq_default_poly_struct,
430 op: *const fq_default_poly_struct,
431 e: ulong,
432 ctx: *const fq_default_ctx_struct,
433 );
434 #[link_name = "fq_default_poly_pow_trunc__extern"]
435 pub fn fq_default_poly_pow_trunc(
436 res: *mut fq_default_poly_struct,
437 poly: *const fq_default_poly_struct,
438 e: ulong,
439 trunc: slong,
440 ctx: *const fq_default_ctx_struct,
441 );
442 #[link_name = "fq_default_poly_powmod_fmpz_binexp__extern"]
443 pub fn fq_default_poly_powmod_fmpz_binexp(
444 res: *mut fq_default_poly_struct,
445 poly: *const fq_default_poly_struct,
446 e: *const fmpz,
447 f: *const fq_default_poly_struct,
448 ctx: *const fq_default_ctx_struct,
449 );
450 #[link_name = "fq_default_poly_powmod_ui_binexp__extern"]
451 pub fn fq_default_poly_powmod_ui_binexp(
452 res: *mut fq_default_poly_struct,
453 poly: *const fq_default_poly_struct,
454 e: ulong,
455 f: *const fq_default_poly_struct,
456 ctx: *const fq_default_ctx_struct,
457 );
458 #[link_name = "fq_default_poly_shift_left__extern"]
459 pub fn fq_default_poly_shift_left(
460 rop: *mut fq_default_poly_struct,
461 op: *const fq_default_poly_struct,
462 n: slong,
463 ctx: *const fq_default_ctx_struct,
464 );
465 #[link_name = "fq_default_poly_shift_right__extern"]
466 pub fn fq_default_poly_shift_right(
467 rop: *mut fq_default_poly_struct,
468 op: *const fq_default_poly_struct,
469 n: slong,
470 ctx: *const fq_default_ctx_struct,
471 );
472 #[link_name = "fq_default_poly_hamming_weight__extern"]
473 pub fn fq_default_poly_hamming_weight(
474 op: *const fq_default_poly_struct,
475 ctx: *const fq_default_ctx_struct,
476 ) -> slong;
477 #[link_name = "fq_default_poly_gcd__extern"]
478 pub fn fq_default_poly_gcd(
479 rop: *mut fq_default_poly_struct,
480 op1: *const fq_default_poly_struct,
481 op2: *const fq_default_poly_struct,
482 ctx: *const fq_default_ctx_struct,
483 );
484 #[link_name = "fq_default_poly_xgcd__extern"]
485 pub fn fq_default_poly_xgcd(
486 G: *mut fq_default_poly_struct,
487 S: *mut fq_default_poly_struct,
488 T: *mut fq_default_poly_struct,
489 A: *const fq_default_poly_struct,
490 B: *const fq_default_poly_struct,
491 ctx: *const fq_default_ctx_struct,
492 );
493 #[link_name = "fq_default_poly_remove__extern"]
494 pub fn fq_default_poly_remove(
495 f: *mut fq_default_poly_struct,
496 g: *const fq_default_poly_struct,
497 ctx: *const fq_default_ctx_struct,
498 ) -> ulong;
499 #[link_name = "fq_default_poly_divrem__extern"]
500 pub fn fq_default_poly_divrem(
501 Q: *mut fq_default_poly_struct,
502 R: *mut fq_default_poly_struct,
503 A: *const fq_default_poly_struct,
504 B: *const fq_default_poly_struct,
505 ctx: *const fq_default_ctx_struct,
506 );
507 #[link_name = "fq_default_poly_rem__extern"]
508 pub fn fq_default_poly_rem(
509 R: *mut fq_default_poly_struct,
510 A: *const fq_default_poly_struct,
511 B: *const fq_default_poly_struct,
512 ctx: *const fq_default_ctx_struct,
513 );
514 #[link_name = "fq_default_poly_inv_series__extern"]
515 pub fn fq_default_poly_inv_series(
516 Qinv: *mut fq_default_poly_struct,
517 Q: *const fq_default_poly_struct,
518 n: slong,
519 ctx: *const fq_default_ctx_struct,
520 );
521 #[link_name = "fq_default_poly_div_series__extern"]
522 pub fn fq_default_poly_div_series(
523 Q: *mut fq_default_poly_struct,
524 A: *const fq_default_poly_struct,
525 B: *const fq_default_poly_struct,
526 n: slong,
527 ctx: *const fq_default_ctx_struct,
528 );
529 #[link_name = "fq_default_poly_divides__extern"]
530 pub fn fq_default_poly_divides(
531 Q: *mut fq_default_poly_struct,
532 A: *const fq_default_poly_struct,
533 B: *const fq_default_poly_struct,
534 ctx: *const fq_default_ctx_struct,
535 ) -> libc::c_int;
536 #[link_name = "fq_default_poly_derivative__extern"]
537 pub fn fq_default_poly_derivative(
538 rop: *mut fq_default_poly_struct,
539 op: *const fq_default_poly_struct,
540 ctx: *const fq_default_ctx_struct,
541 );
542 #[link_name = "fq_default_poly_invsqrt_series__extern"]
543 pub fn fq_default_poly_invsqrt_series(
544 rop: *mut fq_default_poly_struct,
545 op: *const fq_default_poly_struct,
546 n: slong,
547 ctx: *mut fq_default_ctx_struct,
548 );
549 #[link_name = "fq_default_poly_sqrt_series__extern"]
550 pub fn fq_default_poly_sqrt_series(
551 rop: *mut fq_default_poly_struct,
552 op: *const fq_default_poly_struct,
553 n: slong,
554 ctx: *mut fq_default_ctx_struct,
555 );
556 #[link_name = "fq_default_poly_sqrt__extern"]
557 pub fn fq_default_poly_sqrt(
558 rop: *mut fq_default_poly_struct,
559 op: *const fq_default_poly_struct,
560 ctx: *mut fq_default_ctx_struct,
561 ) -> libc::c_int;
562 #[link_name = "fq_default_poly_evaluate_fq_default__extern"]
563 pub fn fq_default_poly_evaluate_fq_default(
564 res: *mut fq_default_struct,
565 f: *const fq_default_poly_struct,
566 a: *const fq_default_struct,
567 ctx: *const fq_default_ctx_struct,
568 );
569 #[link_name = "fq_default_poly_compose__extern"]
570 pub fn fq_default_poly_compose(
571 rop: *mut fq_default_poly_struct,
572 op1: *const fq_default_poly_struct,
573 op2: *const fq_default_poly_struct,
574 ctx: *const fq_default_ctx_struct,
575 );
576 #[link_name = "fq_default_poly_compose_mod__extern"]
577 pub fn fq_default_poly_compose_mod(
578 res: *mut fq_default_poly_struct,
579 poly1: *const fq_default_poly_struct,
580 poly2: *const fq_default_poly_struct,
581 poly3: *const fq_default_poly_struct,
582 ctx: *const fq_default_ctx_struct,
583 );
584 pub fn fq_default_poly_fprint(
585 file: *mut FILE,
586 poly: *const fq_default_poly_struct,
587 ctx: *const fq_default_ctx_struct,
588 ) -> libc::c_int;
589 pub fn fq_default_poly_fprint_pretty(
590 file: *mut FILE,
591 poly: *const fq_default_poly_struct,
592 x: *const libc::c_char,
593 ctx: *const fq_default_ctx_struct,
594 ) -> libc::c_int;
595 pub fn fq_default_poly_print(
596 poly: *const fq_default_poly_struct,
597 ctx: *const fq_default_ctx_struct,
598 ) -> libc::c_int;
599 pub fn fq_default_poly_print_pretty(
600 poly: *const fq_default_poly_struct,
601 x: *const libc::c_char,
602 ctx: *const fq_default_ctx_struct,
603 ) -> libc::c_int;
604 #[link_name = "fq_default_poly_get_str_pretty__extern"]
605 pub fn fq_default_poly_get_str_pretty(
606 poly: *const fq_default_poly_struct,
607 x: *const libc::c_char,
608 ctx: *const fq_default_ctx_struct,
609 ) -> *mut libc::c_char;
610 #[link_name = "fq_default_poly_get_str__extern"]
611 pub fn fq_default_poly_get_str(
612 poly: *const fq_default_poly_struct,
613 ctx: *const fq_default_ctx_struct,
614 ) -> *mut libc::c_char;
615 #[link_name = "fq_default_mat_charpoly__extern"]
616 pub fn fq_default_mat_charpoly(
617 p: *mut fq_default_poly_struct,
618 M: *const fq_default_mat_struct,
619 ctx: *const fq_default_ctx_struct,
620 );
621 #[link_name = "fq_default_mat_minpoly__extern"]
622 pub fn fq_default_mat_minpoly(
623 p: *mut fq_default_poly_struct,
624 X: *const fq_default_mat_struct,
625 ctx: *const fq_default_ctx_struct,
626 );
627}