1use crate::deps::*;
4use crate::flint::*;
5use crate::gr_types::*;
6
7
8#[repr(C)]
9pub struct __BindgenUnionField<T>(::std::marker::PhantomData<T>);
10impl<T> __BindgenUnionField<T> {
11 #[inline]
12 pub const fn new() -> Self {
13 __BindgenUnionField(::std::marker::PhantomData)
14 }
15 #[inline]
16 pub unsafe fn as_ref(&self) -> &T {
17 ::std::mem::transmute(self)
18 }
19 #[inline]
20 pub unsafe fn as_mut(&mut self) -> &mut T {
21 ::std::mem::transmute(self)
22 }
23}
24impl<T> ::std::default::Default for __BindgenUnionField<T> {
25 #[inline]
26 fn default() -> Self {
27 Self::new()
28 }
29}
30impl<T> ::std::clone::Clone for __BindgenUnionField<T> {
31 #[inline]
32 fn clone(&self) -> Self {
33 *self
34 }
35}
36impl<T> ::std::marker::Copy for __BindgenUnionField<T> {}
37impl<T> ::std::fmt::Debug for __BindgenUnionField<T> {
38 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
39 fmt.write_str("__BindgenUnionField")
40 }
41}
42impl<T> ::std::hash::Hash for __BindgenUnionField<T> {
43 fn hash<H: ::std::hash::Hasher>(&self, _state: &mut H) {}
44}
45impl<T> ::std::cmp::PartialEq for __BindgenUnionField<T> {
46 fn eq(&self, _other: &__BindgenUnionField<T>) -> bool {
47 true
48 }
49}
50impl<T> ::std::cmp::Eq for __BindgenUnionField<T> {}
51pub const ore_algebra_t_ORE_ALGEBRA_CUSTOM: ore_algebra_t = 0;
52pub const ore_algebra_t_ORE_ALGEBRA_COMMUTATIVE: ore_algebra_t = 1;
53pub const ore_algebra_t_ORE_ALGEBRA_DERIVATIVE: ore_algebra_t = 2;
54pub const ore_algebra_t_ORE_ALGEBRA_EULER_DERIVATIVE: ore_algebra_t = 3;
55pub const ore_algebra_t_ORE_ALGEBRA_FORWARD_SHIFT: ore_algebra_t = 4;
56pub const ore_algebra_t_ORE_ALGEBRA_FORWARD_DIFFERENCE: ore_algebra_t = 5;
57pub const ore_algebra_t_ORE_ALGEBRA_BACKWARD_SHIFT: ore_algebra_t = 6;
58pub const ore_algebra_t_ORE_ALGEBRA_BACKWARD_DIFFERENCE: ore_algebra_t = 7;
59pub const ore_algebra_t_ORE_ALGEBRA_Q_SHIFT: ore_algebra_t = 8;
60pub const ore_algebra_t_ORE_ALGEBRA_MAHLER: ore_algebra_t = 9;
61pub const ore_algebra_t_ORE_ALGEBRA_FROBENIUS: ore_algebra_t = 10;
62pub const ore_algebra_t_ORE_POLY_NUM_ALGEBRAS: ore_algebra_t = 11;
63pub type ore_algebra_t = libc::c_uint;
64#[repr(C)]
65pub struct gr_ore_poly_struct {
66 pub coeffs: gr_ptr,
67 pub alloc: slong,
68 pub length: slong,
69}
70#[allow(clippy::unnecessary_operation, clippy::identity_op)]
71const _: () = {
72 ["Size of gr_ore_poly_struct"][::std::mem::size_of::<gr_ore_poly_struct>() - 24usize];
73 ["Alignment of gr_ore_poly_struct"][::std::mem::align_of::<gr_ore_poly_struct>() - 8usize];
74 ["Offset of field: gr_ore_poly_struct::coeffs"]
75 [::std::mem::offset_of!(gr_ore_poly_struct, coeffs) - 0usize];
76 ["Offset of field: gr_ore_poly_struct::alloc"]
77 [::std::mem::offset_of!(gr_ore_poly_struct, alloc) - 8usize];
78 ["Offset of field: gr_ore_poly_struct::length"]
79 [::std::mem::offset_of!(gr_ore_poly_struct, length) - 16usize];
80};
81impl Default for gr_ore_poly_struct {
82 fn default() -> Self {
83 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
84 unsafe {
85 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
86 s.assume_init()
87 }
88 }
89}
90pub type gr_ore_poly_t = [gr_ore_poly_struct; 1usize];
91pub type gr_ore_poly_ctx_struct = gr_ctx_struct;
92pub type gr_ore_poly_ctx_t = [gr_ore_poly_ctx_struct; 1usize];
93pub type gr_ore_poly_sigma_delta_t = ::std::option::Option<
94 unsafe extern "C" fn(
95 arg1: gr_ptr,
96 arg2: gr_ptr,
97 arg3: gr_srcptr,
98 arg4: *mut gr_ore_poly_ctx_struct,
99 ) -> libc::c_int,
100>;
101#[repr(C)]
102pub struct gr_ore_poly_ore_data_t {
103 pub base_var: slong,
104 pub sigma_x: gr_ptr,
105 pub __bindgen_anon_1: gr_ore_poly_ore_data_t__bindgen_ty_1,
106}
107#[repr(C)]
108pub struct gr_ore_poly_ore_data_t__bindgen_ty_1 {
109 pub q: __BindgenUnionField<gr_ptr>,
110 pub mahler_base: __BindgenUnionField<slong>,
111 pub bindgen_union_field: u64,
112}
113#[allow(clippy::unnecessary_operation, clippy::identity_op)]
114const _: () = {
115 ["Size of gr_ore_poly_ore_data_t__bindgen_ty_1"]
116 [::std::mem::size_of::<gr_ore_poly_ore_data_t__bindgen_ty_1>() - 8usize];
117 ["Alignment of gr_ore_poly_ore_data_t__bindgen_ty_1"]
118 [::std::mem::align_of::<gr_ore_poly_ore_data_t__bindgen_ty_1>() - 8usize];
119 ["Offset of field: gr_ore_poly_ore_data_t__bindgen_ty_1::q"]
120 [::std::mem::offset_of!(gr_ore_poly_ore_data_t__bindgen_ty_1, q) - 0usize];
121 ["Offset of field: gr_ore_poly_ore_data_t__bindgen_ty_1::mahler_base"]
122 [::std::mem::offset_of!(gr_ore_poly_ore_data_t__bindgen_ty_1, mahler_base) - 0usize];
123};
124impl Default for gr_ore_poly_ore_data_t__bindgen_ty_1 {
125 fn default() -> Self {
126 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
127 unsafe {
128 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
129 s.assume_init()
130 }
131 }
132}
133#[allow(clippy::unnecessary_operation, clippy::identity_op)]
134const _: () = {
135 ["Size of gr_ore_poly_ore_data_t"][::std::mem::size_of::<gr_ore_poly_ore_data_t>() - 24usize];
136 ["Alignment of gr_ore_poly_ore_data_t"]
137 [::std::mem::align_of::<gr_ore_poly_ore_data_t>() - 8usize];
138 ["Offset of field: gr_ore_poly_ore_data_t::base_var"]
139 [::std::mem::offset_of!(gr_ore_poly_ore_data_t, base_var) - 0usize];
140 ["Offset of field: gr_ore_poly_ore_data_t::sigma_x"]
141 [::std::mem::offset_of!(gr_ore_poly_ore_data_t, sigma_x) - 8usize];
142};
143impl Default for gr_ore_poly_ore_data_t {
144 fn default() -> Self {
145 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
146 unsafe {
147 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
148 s.assume_init()
149 }
150 }
151}
152#[repr(C)]
153pub struct _gr_ore_poly_ctx_struct {
154 pub base_ring: *mut gr_ctx_struct,
155 pub degree_limit: slong,
156 pub var: *mut libc::c_char,
157 pub which_algebra: ore_algebra_t,
158 pub sigma_delta: gr_ore_poly_sigma_delta_t,
159 pub ore_data: *mut libc::c_void,
160}
161#[allow(clippy::unnecessary_operation, clippy::identity_op)]
162const _: () = {
163 ["Size of _gr_ore_poly_ctx_struct"][::std::mem::size_of::<_gr_ore_poly_ctx_struct>() - 48usize];
164 ["Alignment of _gr_ore_poly_ctx_struct"]
165 [::std::mem::align_of::<_gr_ore_poly_ctx_struct>() - 8usize];
166 ["Offset of field: _gr_ore_poly_ctx_struct::base_ring"]
167 [::std::mem::offset_of!(_gr_ore_poly_ctx_struct, base_ring) - 0usize];
168 ["Offset of field: _gr_ore_poly_ctx_struct::degree_limit"]
169 [::std::mem::offset_of!(_gr_ore_poly_ctx_struct, degree_limit) - 8usize];
170 ["Offset of field: _gr_ore_poly_ctx_struct::var"]
171 [::std::mem::offset_of!(_gr_ore_poly_ctx_struct, var) - 16usize];
172 ["Offset of field: _gr_ore_poly_ctx_struct::which_algebra"]
173 [::std::mem::offset_of!(_gr_ore_poly_ctx_struct, which_algebra) - 24usize];
174 ["Offset of field: _gr_ore_poly_ctx_struct::sigma_delta"]
175 [::std::mem::offset_of!(_gr_ore_poly_ctx_struct, sigma_delta) - 32usize];
176 ["Offset of field: _gr_ore_poly_ctx_struct::ore_data"]
177 [::std::mem::offset_of!(_gr_ore_poly_ctx_struct, ore_data) - 40usize];
178};
179impl Default for _gr_ore_poly_ctx_struct {
180 fn default() -> Self {
181 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
182 unsafe {
183 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
184 s.assume_init()
185 }
186 }
187}
188extern "C" {
189 pub fn ore_algebra_randtest(state: *mut flint_rand_struct) -> ore_algebra_t;
190 #[link_name = "gr_ore_poly_ctx_data_ptr__extern"]
191 pub fn gr_ore_poly_ctx_data_ptr(ctx: *mut gr_ore_poly_ctx_struct) -> *mut libc::c_void;
192 pub fn gr_ctx_init_gr_ore_poly(
193 ctx: *mut gr_ctx_struct,
194 base_ring: *mut gr_ctx_struct,
195 base_var: slong,
196 which_algebra: ore_algebra_t,
197 );
198 pub fn gr_ore_poly_ctx_init(
199 ctx: *mut gr_ore_poly_ctx_struct,
200 base_ring: *mut gr_ctx_struct,
201 base_var: slong,
202 which_algebra: ore_algebra_t,
203 );
204 pub fn gr_ore_poly_ctx_init_q_shift(
205 ctx: *mut gr_ore_poly_ctx_struct,
206 base_ring: *mut gr_ctx_struct,
207 base_var: slong,
208 q: gr_srcptr,
209 ) -> libc::c_int;
210 pub fn gr_ore_poly_ctx_init_mahler(
211 ctx: *mut gr_ore_poly_ctx_struct,
212 base_ring: *mut gr_ctx_struct,
213 base_var: slong,
214 mahler_base: slong,
215 ) -> libc::c_int;
216 pub fn gr_ore_poly_ctx_init_custom(
217 ctx: *mut gr_ore_poly_ctx_struct,
218 base_ring: *mut gr_ctx_struct,
219 sigma_delta: gr_ore_poly_sigma_delta_t,
220 ore_data: *mut libc::c_void,
221 );
222 pub fn gr_ore_poly_ctx_clear(ctx: *mut gr_ore_poly_ctx_struct);
223 pub fn gr_ore_poly_ctx_init_randtest(
224 ctx: *mut gr_ore_poly_ctx_struct,
225 state: *mut flint_rand_struct,
226 base_ring: *mut gr_ctx_struct,
227 );
228 pub fn gr_ore_poly_ctx_init_randtest2(
229 base_ring: *mut gr_ctx_struct,
230 ctx: *mut gr_ore_poly_ctx_struct,
231 state: *mut flint_rand_struct,
232 );
233 pub fn _gr_ore_poly_ctx_set_gen_name(
234 ctx: *mut gr_ctx_struct,
235 s: *const libc::c_char,
236 ) -> libc::c_int;
237 pub fn _gr_ore_poly_ctx_set_gen_names(
238 ctx: *mut gr_ctx_struct,
239 s: *mut *const libc::c_char,
240 ) -> libc::c_int;
241 pub fn gr_ore_poly_gens_recursive(
242 vec: *mut gr_vec_struct,
243 ctx: *mut gr_ore_poly_ctx_struct,
244 ) -> libc::c_int;
245 pub fn gr_ore_poly_ctx_write(
246 out: *mut gr_stream_struct,
247 ctx: *mut gr_ore_poly_ctx_struct,
248 ) -> libc::c_int;
249 pub fn gr_ore_poly_ctx_is_ring(ctx: *mut gr_ore_poly_ctx_struct) -> truth_t;
250 pub fn gr_ore_poly_ctx_is_zero_ring(ctx: *mut gr_ore_poly_ctx_struct) -> truth_t;
251 pub fn gr_ore_poly_ctx_is_commutative_ring(ctx: *mut gr_ore_poly_ctx_struct) -> truth_t;
252 pub fn gr_ore_poly_ctx_is_integral_domain(ctx: *mut gr_ore_poly_ctx_struct) -> truth_t;
253 pub fn gr_ore_poly_ctx_is_threadsafe(ctx: *mut gr_ore_poly_ctx_struct) -> truth_t;
254 pub fn gr_ore_poly_init(poly: *mut gr_ore_poly_struct, ctx: *mut gr_ore_poly_ctx_struct);
255 pub fn gr_ore_poly_init2(
256 poly: *mut gr_ore_poly_struct,
257 len: slong,
258 ctx: *mut gr_ore_poly_ctx_struct,
259 );
260 pub fn gr_ore_poly_clear(poly: *mut gr_ore_poly_struct, ctx: *mut gr_ore_poly_ctx_struct);
261 #[link_name = "gr_ore_poly_coeff_ptr__extern"]
262 pub fn gr_ore_poly_coeff_ptr(
263 poly: *mut gr_ore_poly_struct,
264 i: slong,
265 ctx: *mut gr_ore_poly_ctx_struct,
266 ) -> gr_ptr;
267 #[link_name = "gr_ore_poly_coeff_srcptr__extern"]
268 pub fn gr_ore_poly_coeff_srcptr(
269 poly: *const gr_ore_poly_struct,
270 i: slong,
271 ctx: *mut gr_ore_poly_ctx_struct,
272 ) -> gr_srcptr;
273 #[link_name = "gr_ore_poly_length__extern"]
274 pub fn gr_ore_poly_length(
275 poly: *const gr_ore_poly_struct,
276 UNUSED_ctx: *mut gr_ore_poly_ctx_struct,
277 ) -> slong;
278 #[link_name = "gr_ore_poly_swap__extern"]
279 pub fn gr_ore_poly_swap(
280 poly1: *mut gr_ore_poly_struct,
281 poly2: *mut gr_ore_poly_struct,
282 UNUSED_ctx: *mut gr_ore_poly_ctx_struct,
283 );
284 #[link_name = "gr_ore_poly_set_shallow__extern"]
285 pub fn gr_ore_poly_set_shallow(
286 res: *mut gr_ore_poly_struct,
287 x: *const gr_ore_poly_struct,
288 ctx: *const gr_ore_poly_ctx_struct,
289 );
290 pub fn gr_ore_poly_fit_length(
291 poly: *mut gr_ore_poly_struct,
292 len: slong,
293 ctx: *mut gr_ore_poly_ctx_struct,
294 );
295 pub fn _gr_ore_poly_set_length(
296 poly: *mut gr_ore_poly_struct,
297 len: slong,
298 ctx: *mut gr_ore_poly_ctx_struct,
299 );
300 pub fn _gr_ore_poly_normalise(poly: *mut gr_ore_poly_struct, ctx: *mut gr_ore_poly_ctx_struct);
301 pub fn gr_ore_poly_set(
302 res: *mut gr_ore_poly_struct,
303 src: *const gr_ore_poly_struct,
304 ctx: *mut gr_ore_poly_ctx_struct,
305 ) -> libc::c_int;
306 pub fn gr_ore_poly_truncate(
307 poly: *mut gr_ore_poly_struct,
308 src: *const gr_ore_poly_struct,
309 newlen: slong,
310 ctx: *mut gr_ore_poly_ctx_struct,
311 ) -> libc::c_int;
312 #[link_name = "gr_ore_poly_zero__extern"]
313 pub fn gr_ore_poly_zero(
314 poly: *mut gr_ore_poly_struct,
315 ctx: *mut gr_ore_poly_ctx_struct,
316 ) -> libc::c_int;
317 pub fn gr_ore_poly_one(
318 poly: *mut gr_ore_poly_struct,
319 ctx: *mut gr_ore_poly_ctx_struct,
320 ) -> libc::c_int;
321 pub fn gr_ore_poly_neg_one(
322 poly: *mut gr_ore_poly_struct,
323 ctx: *mut gr_ore_poly_ctx_struct,
324 ) -> libc::c_int;
325 pub fn gr_ore_poly_gen(
326 poly: *mut gr_ore_poly_struct,
327 ctx: *mut gr_ore_poly_ctx_struct,
328 ) -> libc::c_int;
329 pub fn _gr_ore_poly_equal(
330 poly1: gr_srcptr,
331 len1: slong,
332 poly2: gr_srcptr,
333 len2: slong,
334 ctx: *mut gr_ore_poly_ctx_struct,
335 ) -> truth_t;
336 pub fn gr_ore_poly_equal(
337 poly1: *const gr_ore_poly_struct,
338 poly2: *const gr_ore_poly_struct,
339 ctx: *mut gr_ore_poly_ctx_struct,
340 ) -> truth_t;
341 pub fn gr_ore_poly_is_zero(
342 poly: *const gr_ore_poly_struct,
343 ctx: *mut gr_ore_poly_ctx_struct,
344 ) -> truth_t;
345 pub fn gr_ore_poly_is_one(
346 poly: *const gr_ore_poly_struct,
347 ctx: *mut gr_ore_poly_ctx_struct,
348 ) -> truth_t;
349 pub fn gr_ore_poly_is_gen(
350 poly: *const gr_ore_poly_struct,
351 ctx: *mut gr_ore_poly_ctx_struct,
352 ) -> truth_t;
353 pub fn _gr_ore_poly_write(
354 out: *mut gr_stream_struct,
355 poly: gr_srcptr,
356 len: slong,
357 ctx: *mut gr_ore_poly_ctx_struct,
358 ) -> libc::c_int;
359 pub fn gr_ore_poly_write(
360 out: *mut gr_stream_struct,
361 poly: *const gr_ore_poly_struct,
362 ctx: *mut gr_ore_poly_ctx_struct,
363 ) -> libc::c_int;
364 pub fn _gr_ore_poly_get_str(
365 res: *mut *mut libc::c_char,
366 f: gr_srcptr,
367 len: slong,
368 ctx: *mut gr_ore_poly_ctx_struct,
369 ) -> libc::c_int;
370 pub fn gr_ore_poly_get_str(
371 res: *mut *mut libc::c_char,
372 poly: *const gr_ore_poly_struct,
373 ctx: *mut gr_ore_poly_ctx_struct,
374 ) -> libc::c_int;
375 pub fn _gr_ore_poly_set_str(
376 res: gr_ptr,
377 s: *const libc::c_char,
378 len: slong,
379 ctx: *mut gr_ore_poly_ctx_struct,
380 ) -> libc::c_int;
381 pub fn gr_ore_poly_set_str(
382 res: *mut gr_ore_poly_struct,
383 s: *const libc::c_char,
384 ctx: *mut gr_ore_poly_ctx_struct,
385 ) -> libc::c_int;
386 pub fn gr_ore_poly_print(
387 poly: *const gr_ore_poly_struct,
388 ctx: *mut gr_ore_poly_ctx_struct,
389 ) -> libc::c_int;
390 pub fn gr_ore_poly_randtest(
391 poly: *mut gr_ore_poly_struct,
392 state: *mut flint_rand_struct,
393 len: slong,
394 ctx: *mut gr_ore_poly_ctx_struct,
395 ) -> libc::c_int;
396 #[link_name = "_gr_ore_poly_randtest_default__extern"]
397 pub fn _gr_ore_poly_randtest_default(
398 res: *mut gr_ore_poly_struct,
399 state: *mut flint_rand_struct,
400 ctx: *mut gr_ore_poly_ctx_struct,
401 ) -> libc::c_int;
402 pub fn gr_ore_poly_set_si(
403 poly: *mut gr_ore_poly_struct,
404 x: slong,
405 ctx: *mut gr_ore_poly_ctx_struct,
406 ) -> libc::c_int;
407 pub fn gr_ore_poly_set_ui(
408 poly: *mut gr_ore_poly_struct,
409 x: ulong,
410 ctx: *mut gr_ore_poly_ctx_struct,
411 ) -> libc::c_int;
412 pub fn gr_ore_poly_set_fmpz(
413 poly: *mut gr_ore_poly_struct,
414 x: *const fmpz,
415 ctx: *mut gr_ore_poly_ctx_struct,
416 ) -> libc::c_int;
417 pub fn gr_ore_poly_set_fmpq(
418 poly: *mut gr_ore_poly_struct,
419 x: *const fmpq,
420 ctx: *mut gr_ore_poly_ctx_struct,
421 ) -> libc::c_int;
422 pub fn gr_ore_poly_set_other(
423 poly: *mut gr_ore_poly_struct,
424 x: gr_srcptr,
425 x_ctx: *mut gr_ctx_struct,
426 ctx: *mut gr_ore_poly_ctx_struct,
427 ) -> libc::c_int;
428 pub fn sigma_delta_unable(
429 sigma: gr_ptr,
430 delta: gr_ptr,
431 a: gr_srcptr,
432 ctx: *mut gr_ore_poly_ctx_struct,
433 ) -> libc::c_int;
434 pub fn sigma_delta_commutative(
435 sigma: gr_ptr,
436 delta: gr_ptr,
437 a: gr_srcptr,
438 ctx: *mut gr_ore_poly_ctx_struct,
439 ) -> libc::c_int;
440 pub fn sigma_delta_derivative(
441 sigma: gr_ptr,
442 delta: gr_ptr,
443 a: gr_srcptr,
444 ctx: *mut gr_ore_poly_ctx_struct,
445 ) -> libc::c_int;
446 pub fn sigma_delta_euler_derivative(
447 sigma: gr_ptr,
448 delta: gr_ptr,
449 a: gr_srcptr,
450 ctx: *mut gr_ore_poly_ctx_struct,
451 ) -> libc::c_int;
452 pub fn sigma_delta_forward_shift(
453 sigma: gr_ptr,
454 delta: gr_ptr,
455 a: gr_srcptr,
456 ctx: *mut gr_ore_poly_ctx_struct,
457 ) -> libc::c_int;
458 pub fn sigma_delta_backward_shift(
459 sigma: gr_ptr,
460 delta: gr_ptr,
461 a: gr_srcptr,
462 ctx: *mut gr_ore_poly_ctx_struct,
463 ) -> libc::c_int;
464 pub fn sigma_delta_forward_difference(
465 sigma: gr_ptr,
466 delta: gr_ptr,
467 a: gr_srcptr,
468 ctx: *mut gr_ore_poly_ctx_struct,
469 ) -> libc::c_int;
470 pub fn sigma_delta_backward_difference(
471 sigma: gr_ptr,
472 delta: gr_ptr,
473 a: gr_srcptr,
474 ctx: *mut gr_ore_poly_ctx_struct,
475 ) -> libc::c_int;
476 pub fn sigma_delta_compose(
477 sigma: gr_ptr,
478 delta: gr_ptr,
479 a: gr_srcptr,
480 ctx: *mut gr_ore_poly_ctx_struct,
481 ) -> libc::c_int;
482 pub fn sigma_delta_mahler(
483 sigma: gr_ptr,
484 delta: gr_ptr,
485 a: gr_srcptr,
486 ctx: *mut gr_ore_poly_ctx_struct,
487 ) -> libc::c_int;
488 pub fn sigma_delta_frobenius(
489 sigma: gr_ptr,
490 delta: gr_ptr,
491 a: gr_srcptr,
492 ctx: *mut gr_ore_poly_ctx_struct,
493 ) -> libc::c_int;
494 #[link_name = "gr_ore_poly_sigma_delta__extern"]
495 pub fn gr_ore_poly_sigma_delta(
496 sigma: gr_ptr,
497 delta: gr_ptr,
498 a: gr_srcptr,
499 ctx: *mut gr_ore_poly_ctx_struct,
500 ) -> libc::c_int;
501 #[link_name = "gr_ore_poly_sigma__extern"]
502 pub fn gr_ore_poly_sigma(
503 res: gr_ptr,
504 a: gr_srcptr,
505 ctx: *mut gr_ore_poly_ctx_struct,
506 ) -> libc::c_int;
507 #[link_name = "gr_ore_poly_delta__extern"]
508 pub fn gr_ore_poly_delta(
509 res: gr_ptr,
510 a: gr_srcptr,
511 ctx: *mut gr_ore_poly_ctx_struct,
512 ) -> libc::c_int;
513 pub static _gr_ore_poly_default_sigma_delta: [gr_ore_poly_sigma_delta_t; 0usize];
514 pub fn gr_ore_poly_neg(
515 res: *mut gr_ore_poly_struct,
516 src: *const gr_ore_poly_struct,
517 ctx: *mut gr_ore_poly_ctx_struct,
518 ) -> libc::c_int;
519 pub fn _gr_ore_poly_add(
520 res: gr_ptr,
521 poly1: gr_srcptr,
522 len1: slong,
523 poly2: gr_srcptr,
524 len2: slong,
525 ctx: *mut gr_ore_poly_ctx_struct,
526 ) -> libc::c_int;
527 pub fn gr_ore_poly_add(
528 res: *mut gr_ore_poly_struct,
529 poly1: *const gr_ore_poly_struct,
530 poly2: *const gr_ore_poly_struct,
531 ctx: *mut gr_ore_poly_ctx_struct,
532 ) -> libc::c_int;
533 pub fn _gr_ore_poly_sub(
534 res: gr_ptr,
535 poly1: gr_srcptr,
536 len1: slong,
537 poly2: gr_srcptr,
538 len2: slong,
539 ctx: *mut gr_ore_poly_ctx_struct,
540 ) -> libc::c_int;
541 pub fn gr_ore_poly_sub(
542 res: *mut gr_ore_poly_struct,
543 poly1: *const gr_ore_poly_struct,
544 poly2: *const gr_ore_poly_struct,
545 ctx: *mut gr_ore_poly_ctx_struct,
546 ) -> libc::c_int;
547 pub fn gr_ore_poly_add_ui(
548 res: *mut gr_ore_poly_struct,
549 poly: *const gr_ore_poly_struct,
550 c: ulong,
551 ctx: *mut gr_ore_poly_ctx_struct,
552 ) -> libc::c_int;
553 pub fn gr_ore_poly_add_si(
554 res: *mut gr_ore_poly_struct,
555 poly: *const gr_ore_poly_struct,
556 c: slong,
557 ctx: *mut gr_ore_poly_ctx_struct,
558 ) -> libc::c_int;
559 pub fn gr_ore_poly_add_fmpz(
560 res: *mut gr_ore_poly_struct,
561 poly: *const gr_ore_poly_struct,
562 c: *const fmpz,
563 ctx: *mut gr_ore_poly_ctx_struct,
564 ) -> libc::c_int;
565 pub fn gr_ore_poly_add_fmpq(
566 res: *mut gr_ore_poly_struct,
567 poly: *const gr_ore_poly_struct,
568 c: *const fmpq,
569 ctx: *mut gr_ore_poly_ctx_struct,
570 ) -> libc::c_int;
571 pub fn gr_ore_poly_add_other(
572 res: *mut gr_ore_poly_struct,
573 poly: *const gr_ore_poly_struct,
574 x: gr_srcptr,
575 x_ctx: *mut gr_ctx_struct,
576 ctx: *mut gr_ore_poly_ctx_struct,
577 ) -> libc::c_int;
578 pub fn gr_ore_poly_sub_ui(
579 res: *mut gr_ore_poly_struct,
580 poly: *const gr_ore_poly_struct,
581 c: ulong,
582 ctx: *mut gr_ore_poly_ctx_struct,
583 ) -> libc::c_int;
584 pub fn gr_ore_poly_sub_si(
585 res: *mut gr_ore_poly_struct,
586 poly: *const gr_ore_poly_struct,
587 c: slong,
588 ctx: *mut gr_ore_poly_ctx_struct,
589 ) -> libc::c_int;
590 pub fn gr_ore_poly_sub_fmpz(
591 res: *mut gr_ore_poly_struct,
592 poly: *const gr_ore_poly_struct,
593 c: *const fmpz,
594 ctx: *mut gr_ore_poly_ctx_struct,
595 ) -> libc::c_int;
596 pub fn gr_ore_poly_sub_fmpq(
597 res: *mut gr_ore_poly_struct,
598 poly: *const gr_ore_poly_struct,
599 c: *const fmpq,
600 ctx: *mut gr_ore_poly_ctx_struct,
601 ) -> libc::c_int;
602 pub fn gr_ore_poly_sub_other(
603 res: *mut gr_ore_poly_struct,
604 poly: *const gr_ore_poly_struct,
605 x: gr_srcptr,
606 x_ctx: *mut gr_ctx_struct,
607 ctx: *mut gr_ore_poly_ctx_struct,
608 ) -> libc::c_int;
609 pub fn gr_ore_poly_mul_ui(
610 res: *mut gr_ore_poly_struct,
611 poly: *const gr_ore_poly_struct,
612 c: ulong,
613 ctx: *mut gr_ore_poly_ctx_struct,
614 ) -> libc::c_int;
615 pub fn gr_ore_poly_mul_si(
616 res: *mut gr_ore_poly_struct,
617 poly: *const gr_ore_poly_struct,
618 c: slong,
619 ctx: *mut gr_ore_poly_ctx_struct,
620 ) -> libc::c_int;
621 pub fn gr_ore_poly_mul_fmpz(
622 res: *mut gr_ore_poly_struct,
623 poly: *const gr_ore_poly_struct,
624 c: *const fmpz,
625 ctx: *mut gr_ore_poly_ctx_struct,
626 ) -> libc::c_int;
627 pub fn gr_ore_poly_mul_fmpq(
628 res: *mut gr_ore_poly_struct,
629 poly: *const gr_ore_poly_struct,
630 c: *const fmpq,
631 ctx: *mut gr_ore_poly_ctx_struct,
632 ) -> libc::c_int;
633 pub fn gr_ore_poly_other_mul(
634 res: *mut gr_ore_poly_struct,
635 x: gr_srcptr,
636 x_ctx: *mut gr_ctx_struct,
637 poly: *const gr_ore_poly_struct,
638 ctx: *mut gr_ore_poly_ctx_struct,
639 ) -> libc::c_int;
640 pub fn _gr_ore_poly_lmul_gen(
641 res: gr_ptr,
642 poly: gr_srcptr,
643 len: slong,
644 ctx: *mut gr_ore_poly_ctx_struct,
645 ) -> libc::c_int;
646 pub fn gr_ore_poly_lmul_gen(
647 res: *mut gr_ore_poly_struct,
648 poly: *const gr_ore_poly_struct,
649 ctx: *mut gr_ore_poly_ctx_struct,
650 ) -> libc::c_int;
651 pub fn _gr_ore_poly_mul(
652 res: gr_ptr,
653 poly1: gr_srcptr,
654 len1: slong,
655 poly2: gr_srcptr,
656 len2: slong,
657 ctx: *mut gr_ore_poly_ctx_struct,
658 ) -> libc::c_int;
659 pub fn gr_ore_poly_mul(
660 res: *mut gr_ore_poly_struct,
661 poly1: *const gr_ore_poly_struct,
662 poly2: *const gr_ore_poly_struct,
663 ctx: *mut gr_ore_poly_ctx_struct,
664 ) -> libc::c_int;
665}