Skip to main content

flint_sys/
fq.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_types::*;
9
10
11extern "C" {
12    pub fn fq_ctx_init(ctx: *mut fq_ctx_struct, p: *const fmpz, d: slong, var: *const libc::c_char);
13    pub fn _fq_ctx_init_conway_ui(
14        ctx: *mut fq_ctx_struct,
15        p: ulong,
16        d: slong,
17        var: *const libc::c_char,
18    ) -> libc::c_int;
19    pub fn fq_ctx_init_conway_ui(
20        ctx: *mut fq_ctx_struct,
21        p: ulong,
22        d: slong,
23        var: *const libc::c_char,
24    );
25    pub fn _fq_ctx_init_conway(
26        ctx: *mut fq_ctx_struct,
27        p: *const fmpz,
28        d: slong,
29        var: *const libc::c_char,
30    ) -> libc::c_int;
31    pub fn fq_ctx_init_conway(
32        ctx: *mut fq_ctx_struct,
33        p: *const fmpz,
34        d: slong,
35        var: *const libc::c_char,
36    );
37    pub fn fq_ctx_init_modulus(
38        ctx: *mut fq_ctx_struct,
39        modulus: *const fmpz_mod_poly_struct,
40        ctxp: *const fmpz_mod_ctx_struct,
41        var: *const libc::c_char,
42    );
43    pub fn fq_ctx_init_randtest(
44        ctx: *mut fq_ctx_struct,
45        state: *mut flint_rand_struct,
46        type_: libc::c_int,
47    );
48    pub fn fq_ctx_init_randtest_reducible(
49        ctx: *mut fq_ctx_struct,
50        state: *mut flint_rand_struct,
51        type_: libc::c_int,
52    );
53    pub fn fq_ctx_clear(ctx: *mut fq_ctx_struct);
54    #[link_name = "fq_ctx_modulus__extern"]
55    pub fn fq_ctx_modulus(ctx: *const fq_ctx_struct) -> *const fmpz_mod_poly_struct;
56    #[link_name = "fq_ctx_degree__extern"]
57    pub fn fq_ctx_degree(ctx: *const fq_ctx_struct) -> slong;
58    #[link_name = "fq_ctx_prime__extern"]
59    pub fn fq_ctx_prime(ctx: *const fq_ctx_struct) -> *const fmpz;
60    pub fn fq_ctx_order(f: *mut fmpz, ctx: *const fq_ctx_struct);
61    pub fn fq_ctx_fprint(file: *mut FILE, ctx: *const fq_ctx_struct) -> libc::c_int;
62    pub fn fq_ctx_print(ctx: *const fq_ctx_struct);
63    pub fn fq_init(rop: *mut fmpz_poly_struct, UNUSED_ctx: *const fq_ctx_struct);
64    pub fn fq_init2(rop: *mut fmpz_poly_struct, ctx: *const fq_ctx_struct);
65    pub fn fq_clear(rop: *mut fmpz_poly_struct, UNUSED_ctx: *const fq_ctx_struct);
66    pub fn _fq_sparse_reduce(R: *mut fmpz, lenR: slong, ctx: *const fq_ctx_struct);
67    pub fn _fq_dense_reduce(R: *mut fmpz, lenR: slong, ctx: *const fq_ctx_struct);
68    pub fn _fq_reduce(R: *mut fmpz, lenR: slong, ctx: *const fq_ctx_struct);
69    pub fn fq_reduce(rop: *mut fmpz_poly_struct, ctx: *const fq_ctx_struct);
70    pub fn fq_add(
71        rop: *mut fmpz_poly_struct,
72        op1: *const fmpz_poly_struct,
73        op2: *const fmpz_poly_struct,
74        ctx: *const fq_ctx_struct,
75    );
76    pub fn fq_sub(
77        rop: *mut fmpz_poly_struct,
78        op1: *const fmpz_poly_struct,
79        op2: *const fmpz_poly_struct,
80        ctx: *const fq_ctx_struct,
81    );
82    pub fn fq_sub_one(
83        rop: *mut fmpz_poly_struct,
84        op1: *const fmpz_poly_struct,
85        ctx: *const fq_ctx_struct,
86    );
87    pub fn fq_neg(
88        rop: *mut fmpz_poly_struct,
89        op1: *const fmpz_poly_struct,
90        ctx: *const fq_ctx_struct,
91    );
92    pub fn fq_mul(
93        rop: *mut fmpz_poly_struct,
94        op1: *const fmpz_poly_struct,
95        op2: *const fmpz_poly_struct,
96        ctx: *const fq_ctx_struct,
97    );
98    pub fn fq_mul_fmpz(
99        rop: *mut fmpz_poly_struct,
100        op: *const fmpz_poly_struct,
101        x: *const fmpz,
102        ctx: *const fq_ctx_struct,
103    );
104    pub fn fq_mul_si(
105        rop: *mut fmpz_poly_struct,
106        op: *const fmpz_poly_struct,
107        x: slong,
108        ctx: *const fq_ctx_struct,
109    );
110    pub fn fq_mul_ui(
111        rop: *mut fmpz_poly_struct,
112        op: *const fmpz_poly_struct,
113        x: ulong,
114        ctx: *const fq_ctx_struct,
115    );
116    pub fn fq_sqr(
117        rop: *mut fmpz_poly_struct,
118        op: *const fmpz_poly_struct,
119        ctx: *const fq_ctx_struct,
120    );
121    pub fn fq_inv(
122        rop: *mut fmpz_poly_struct,
123        op1: *const fmpz_poly_struct,
124        ctx: *const fq_ctx_struct,
125    );
126    pub fn _fq_pow(
127        rop: *mut fmpz,
128        op: *const fmpz,
129        len: slong,
130        e: *const fmpz,
131        ctx: *const fq_ctx_struct,
132    );
133    pub fn fq_pow(
134        rop: *mut fmpz_poly_struct,
135        op1: *const fmpz_poly_struct,
136        e: *const fmpz,
137        ctx: *const fq_ctx_struct,
138    );
139    pub fn fq_pow_ui(
140        rop: *mut fmpz_poly_struct,
141        op: *const fmpz_poly_struct,
142        e: ulong,
143        ctx: *const fq_ctx_struct,
144    );
145    pub fn fq_sqrt(
146        rop: *mut fmpz_poly_struct,
147        op: *const fmpz_poly_struct,
148        ctx: *const fq_ctx_struct,
149    ) -> libc::c_int;
150    pub fn fq_pth_root(
151        rop: *mut fmpz_poly_struct,
152        op1: *const fmpz_poly_struct,
153        ctx: *const fq_ctx_struct,
154    );
155    pub fn fq_is_square(op: *const fmpz_poly_struct, ctx: *const fq_ctx_struct) -> libc::c_int;
156    pub fn fq_randtest(
157        rop: *mut fmpz_poly_struct,
158        state: *mut flint_rand_struct,
159        ctx: *const fq_ctx_struct,
160    );
161    pub fn fq_randtest_dense(
162        rop: *mut fmpz_poly_struct,
163        state: *mut flint_rand_struct,
164        ctx: *const fq_ctx_struct,
165    );
166    pub fn fq_randtest_not_zero(
167        rop: *mut fmpz_poly_struct,
168        state: *mut flint_rand_struct,
169        ctx: *const fq_ctx_struct,
170    );
171    pub fn fq_rand(
172        rop: *mut fmpz_poly_struct,
173        state: *mut flint_rand_struct,
174        ctx: *const fq_ctx_struct,
175    );
176    pub fn fq_rand_not_zero(
177        rop: *mut fmpz_poly_struct,
178        state: *mut flint_rand_struct,
179        ctx: *const fq_ctx_struct,
180    );
181    pub fn fq_equal(
182        op1: *const fmpz_poly_struct,
183        op2: *const fmpz_poly_struct,
184        UNUSED_ctx: *const fq_ctx_struct,
185    ) -> libc::c_int;
186    pub fn fq_is_zero(op: *const fmpz_poly_struct, UNUSED_ctx: *const fq_ctx_struct)
187        -> libc::c_int;
188    pub fn fq_is_one(op: *const fmpz_poly_struct, UNUSED_ctx: *const fq_ctx_struct) -> libc::c_int;
189    pub fn fq_set(
190        rop: *mut fmpz_poly_struct,
191        op: *const fmpz_poly_struct,
192        UNUSED_ctx: *const fq_ctx_struct,
193    );
194    pub fn fq_set_ui(rop: *mut fmpz_poly_struct, x: ulong, ctx: *const fq_ctx_struct);
195    pub fn fq_set_si(rop: *mut fmpz_poly_struct, x: slong, ctx: *const fq_ctx_struct);
196    pub fn fq_set_fmpz(rop: *mut fmpz_poly_struct, x: *const fmpz, ctx: *const fq_ctx_struct);
197    pub fn fq_set_fmpz_poly(
198        a: *mut fmpz_poly_struct,
199        b: *const fmpz_poly_struct,
200        ctx: *const fq_ctx_struct,
201    );
202    pub fn fq_set_fmpz_mod_poly(
203        a: *mut fmpz_poly_struct,
204        b: *const fmpz_mod_poly_struct,
205        ctx: *const fq_ctx_struct,
206    );
207    pub fn fq_get_fmpz(
208        a: *mut fmpz,
209        b: *const fmpz_poly_struct,
210        UNUSED_ctx: *const fq_ctx_struct,
211    ) -> libc::c_int;
212    pub fn fq_get_fmpz_poly(
213        a: *mut fmpz_poly_struct,
214        b: *const fmpz_poly_struct,
215        UNUSED_ctx: *const fq_ctx_struct,
216    );
217    pub fn fq_get_fmpz_mod_poly(
218        a: *mut fmpz_mod_poly_struct,
219        b: *const fmpz_poly_struct,
220        ctx: *const fq_ctx_struct,
221    );
222    pub fn fq_zero(rop: *mut fmpz_poly_struct, UNUSED_ctx: *const fq_ctx_struct);
223    pub fn fq_one(rop: *mut fmpz_poly_struct, UNUSED_ctx: *const fq_ctx_struct);
224    pub fn fq_swap(
225        op1: *mut fmpz_poly_struct,
226        op2: *mut fmpz_poly_struct,
227        UNUSED_ctx: *const fq_ctx_struct,
228    );
229    pub fn fq_gen(rop: *mut fmpz_poly_struct, ctx: *const fq_ctx_struct);
230    pub fn fq_fprint(
231        file: *mut FILE,
232        op: *const fmpz_poly_struct,
233        UNUSED_ctx: *const fq_ctx_struct,
234    ) -> libc::c_int;
235    pub fn fq_print(op: *const fmpz_poly_struct, UNUSED_ctx: *const fq_ctx_struct);
236    pub fn fq_fprint_pretty(
237        file: *mut FILE,
238        op: *const fmpz_poly_struct,
239        ctx: *const fq_ctx_struct,
240    ) -> libc::c_int;
241    pub fn fq_print_pretty(op: *const fmpz_poly_struct, ctx: *const fq_ctx_struct) -> libc::c_int;
242    pub fn fq_get_str(
243        op: *const fmpz_poly_struct,
244        UNUSED_ctx: *const fq_ctx_struct,
245    ) -> *mut libc::c_char;
246    pub fn fq_get_str_pretty(
247        op: *const fmpz_poly_struct,
248        ctx: *const fq_ctx_struct,
249    ) -> *mut libc::c_char;
250    pub fn _fq_trace(rop: *mut fmpz, op: *const fmpz, len: slong, ctx: *const fq_ctx_struct);
251    pub fn fq_trace(rop: *mut fmpz, op: *const fmpz_poly_struct, ctx: *const fq_ctx_struct);
252    pub fn _fq_frobenius(
253        rop: *mut fmpz,
254        op: *const fmpz,
255        len: slong,
256        e: slong,
257        ctx: *const fq_ctx_struct,
258    );
259    pub fn fq_frobenius(
260        rop: *mut fmpz_poly_struct,
261        op: *const fmpz_poly_struct,
262        e: slong,
263        ctx: *const fq_ctx_struct,
264    );
265    pub fn _fq_norm(rop: *mut fmpz, op: *const fmpz, len: slong, ctx: *const fq_ctx_struct);
266    pub fn fq_norm(rop: *mut fmpz, op: *const fmpz_poly_struct, ctx: *const fq_ctx_struct);
267    pub fn fq_bit_pack(
268        f: *mut fmpz,
269        op: *const fmpz_poly_struct,
270        bit_size: flint_bitcnt_t,
271        UNUSED_ctx: *const fq_ctx_struct,
272    );
273    pub fn fq_bit_unpack(
274        rop: *mut fmpz_poly_struct,
275        f: *const fmpz,
276        bit_size: flint_bitcnt_t,
277        ctx: *const fq_ctx_struct,
278    );
279    pub fn __fq_ctx_prime(p: *mut fmpz, ctx: *mut fq_ctx_struct);
280}