Skip to main content

flint_sys/
fq_default_poly.rs

1/* automatically generated by rust-bindgen 0.70.1 */
2
3use 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}