Skip to main content

flint_sys/
gr_generic.rs

1/* automatically generated by rust-bindgen 0.70.1 */
2
3use crate::deps::*;
4use crate::flint::*;
5use crate::gr_types::*;
6
7
8pub const GR_GENERIC_DEBUG_RINGS: u32 = 0;
9pub const GR_PARSE_BALANCE_ADDITIONS: u32 = 1;
10pub const GR_PARSE_RING_EXPONENTS: u32 = 2;
11extern "C" {
12    pub fn gr_generic_ctx_predicate(ctx: *mut gr_ctx_struct) -> truth_t;
13    pub fn gr_generic_ctx_predicate_true(ctx: *mut gr_ctx_struct) -> truth_t;
14    pub fn gr_generic_ctx_predicate_false(ctx: *mut gr_ctx_struct) -> truth_t;
15    pub fn gr_generic_ctx_clear(ctx: *mut gr_ctx_struct);
16    pub fn gr_generic_ctx_ngens_0(ngens: *mut slong, ctx: *mut gr_ctx_struct) -> slong;
17    pub fn gr_generic_ctx_ngens_1(ngens: *mut slong, ctx: *mut gr_ctx_struct) -> slong;
18    pub fn gr_generic_ctx_base(ctx: *mut gr_ctx_struct) -> gr_ptr;
19    pub fn gr_generic_set_shallow(res: gr_ptr, x: gr_srcptr, ctx: *const gr_ctx_struct);
20    pub fn gr_generic_write_n(
21        out: *mut gr_stream_struct,
22        x: gr_srcptr,
23        n: slong,
24        ctx: *mut gr_ctx_struct,
25    ) -> libc::c_int;
26    pub fn gr_generic_randtest_not_zero(
27        x: gr_ptr,
28        state: *mut flint_rand_struct,
29        ctx: *mut gr_ctx_struct,
30    ) -> libc::c_int;
31    pub fn gr_generic_randtest_small(
32        x: gr_ptr,
33        state: *mut flint_rand_struct,
34        ctx: *mut gr_ctx_struct,
35    ) -> libc::c_int;
36    pub fn gr_generic_gens(vec: *mut gr_vec_struct, ctx: *mut gr_ctx_struct) -> libc::c_int;
37    pub fn gr_generic_gens_single(vec: *mut gr_vec_struct, ctx: *mut gr_ctx_struct) -> libc::c_int;
38    pub fn gr_generic_gens_recursive(
39        vec: *mut gr_vec_struct,
40        ctx: *mut gr_ctx_struct,
41    ) -> libc::c_int;
42    pub fn gr_generic_is_zero(x: gr_srcptr, ctx: *mut gr_ctx_struct) -> truth_t;
43    pub fn gr_generic_is_one(x: gr_srcptr, ctx: *mut gr_ctx_struct) -> truth_t;
44    pub fn gr_generic_is_neg_one(x: gr_srcptr, ctx: *mut gr_ctx_struct) -> truth_t;
45    pub fn gr_generic_neg_one(res: gr_ptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
46    pub fn gr_generic_set_other(
47        res: gr_ptr,
48        x: gr_srcptr,
49        xctx: *mut gr_ctx_struct,
50        ctx: *mut gr_ctx_struct,
51    ) -> libc::c_int;
52    pub fn gr_generic_set_fmpq(res: gr_ptr, y: *const fmpq, ctx: *mut gr_ctx_struct)
53        -> libc::c_int;
54    pub fn gr_generic_set_str_expr(
55        res: gr_ptr,
56        s: *const libc::c_char,
57        flags: libc::c_int,
58        ctx: *mut gr_ctx_struct,
59    ) -> libc::c_int;
60    pub fn gr_generic_set_str(
61        res: gr_ptr,
62        s: *const libc::c_char,
63        ctx: *mut gr_ctx_struct,
64    ) -> libc::c_int;
65    pub fn gr_generic_set_str_balance_additions(
66        res: gr_ptr,
67        s: *const libc::c_char,
68        ctx: *mut gr_ctx_struct,
69    ) -> libc::c_int;
70    pub fn gr_generic_set_str_ring_exponents(
71        res: gr_ptr,
72        s: *const libc::c_char,
73        ctx: *mut gr_ctx_struct,
74    ) -> libc::c_int;
75    pub fn gr_generic_add_fmpz(
76        res: gr_ptr,
77        x: gr_srcptr,
78        y: *const fmpz,
79        ctx: *mut gr_ctx_struct,
80    ) -> libc::c_int;
81    pub fn gr_generic_add_ui(
82        res: gr_ptr,
83        x: gr_srcptr,
84        y: ulong,
85        ctx: *mut gr_ctx_struct,
86    ) -> libc::c_int;
87    pub fn gr_generic_add_si(
88        res: gr_ptr,
89        x: gr_srcptr,
90        y: slong,
91        ctx: *mut gr_ctx_struct,
92    ) -> libc::c_int;
93    pub fn gr_generic_add_fmpq(
94        res: gr_ptr,
95        x: gr_srcptr,
96        y: *const fmpq,
97        ctx: *mut gr_ctx_struct,
98    ) -> libc::c_int;
99    pub fn gr_generic_add_other(
100        res: gr_ptr,
101        x: gr_srcptr,
102        y: gr_srcptr,
103        y_ctx: *mut gr_ctx_struct,
104        ctx: *mut gr_ctx_struct,
105    ) -> libc::c_int;
106    pub fn gr_generic_other_add(
107        res: gr_ptr,
108        x: gr_srcptr,
109        x_ctx: *mut gr_ctx_struct,
110        y: gr_srcptr,
111        ctx: *mut gr_ctx_struct,
112    ) -> libc::c_int;
113    pub fn gr_generic_sub_ui(
114        res: gr_ptr,
115        x: gr_srcptr,
116        y: ulong,
117        ctx: *mut gr_ctx_struct,
118    ) -> libc::c_int;
119    pub fn gr_generic_sub_si(
120        res: gr_ptr,
121        x: gr_srcptr,
122        y: slong,
123        ctx: *mut gr_ctx_struct,
124    ) -> libc::c_int;
125    pub fn gr_generic_sub_fmpz(
126        res: gr_ptr,
127        x: gr_srcptr,
128        y: *const fmpz,
129        ctx: *mut gr_ctx_struct,
130    ) -> libc::c_int;
131    pub fn gr_generic_sub_fmpq(
132        res: gr_ptr,
133        x: gr_srcptr,
134        y: *const fmpq,
135        ctx: *mut gr_ctx_struct,
136    ) -> libc::c_int;
137    pub fn gr_generic_sub_other(
138        res: gr_ptr,
139        x: gr_srcptr,
140        y: gr_srcptr,
141        y_ctx: *mut gr_ctx_struct,
142        ctx: *mut gr_ctx_struct,
143    ) -> libc::c_int;
144    pub fn gr_generic_other_sub(
145        res: gr_ptr,
146        x: gr_srcptr,
147        x_ctx: *mut gr_ctx_struct,
148        y: gr_srcptr,
149        ctx: *mut gr_ctx_struct,
150    ) -> libc::c_int;
151    pub fn gr_generic_mul_fmpz(
152        res: gr_ptr,
153        x: gr_srcptr,
154        y: *const fmpz,
155        ctx: *mut gr_ctx_struct,
156    ) -> libc::c_int;
157    pub fn gr_generic_mul_ui(
158        res: gr_ptr,
159        x: gr_srcptr,
160        y: ulong,
161        ctx: *mut gr_ctx_struct,
162    ) -> libc::c_int;
163    pub fn gr_generic_mul_si(
164        res: gr_ptr,
165        x: gr_srcptr,
166        y: slong,
167        ctx: *mut gr_ctx_struct,
168    ) -> libc::c_int;
169    pub fn gr_generic_mul_fmpq(
170        res: gr_ptr,
171        x: gr_srcptr,
172        y: *const fmpq,
173        ctx: *mut gr_ctx_struct,
174    ) -> libc::c_int;
175    pub fn gr_generic_mul_other(
176        res: gr_ptr,
177        x: gr_srcptr,
178        y: gr_srcptr,
179        y_ctx: *mut gr_ctx_struct,
180        ctx: *mut gr_ctx_struct,
181    ) -> libc::c_int;
182    pub fn gr_generic_other_mul(
183        res: gr_ptr,
184        x: gr_srcptr,
185        x_ctx: *mut gr_ctx_struct,
186        y: gr_srcptr,
187        ctx: *mut gr_ctx_struct,
188    ) -> libc::c_int;
189    pub fn gr_generic_addmul(
190        res: gr_ptr,
191        x: gr_srcptr,
192        y: gr_srcptr,
193        ctx: *mut gr_ctx_struct,
194    ) -> libc::c_int;
195    pub fn gr_generic_addmul_ui(
196        res: gr_ptr,
197        x: gr_srcptr,
198        y: ulong,
199        ctx: *mut gr_ctx_struct,
200    ) -> libc::c_int;
201    pub fn gr_generic_addmul_si(
202        res: gr_ptr,
203        x: gr_srcptr,
204        y: slong,
205        ctx: *mut gr_ctx_struct,
206    ) -> libc::c_int;
207    pub fn gr_generic_addmul_fmpz(
208        res: gr_ptr,
209        x: gr_srcptr,
210        y: *const fmpz,
211        ctx: *mut gr_ctx_struct,
212    ) -> libc::c_int;
213    pub fn gr_generic_addmul_fmpq(
214        res: gr_ptr,
215        x: gr_srcptr,
216        y: *const fmpq,
217        ctx: *mut gr_ctx_struct,
218    ) -> libc::c_int;
219    pub fn gr_generic_addmul_other(
220        res: gr_ptr,
221        x: gr_srcptr,
222        y: gr_srcptr,
223        y_ctx: *mut gr_ctx_struct,
224        ctx: *mut gr_ctx_struct,
225    ) -> libc::c_int;
226    pub fn gr_generic_submul(
227        res: gr_ptr,
228        x: gr_srcptr,
229        y: gr_srcptr,
230        ctx: *mut gr_ctx_struct,
231    ) -> libc::c_int;
232    pub fn gr_generic_submul_ui(
233        res: gr_ptr,
234        x: gr_srcptr,
235        y: ulong,
236        ctx: *mut gr_ctx_struct,
237    ) -> libc::c_int;
238    pub fn gr_generic_submul_si(
239        res: gr_ptr,
240        x: gr_srcptr,
241        y: slong,
242        ctx: *mut gr_ctx_struct,
243    ) -> libc::c_int;
244    pub fn gr_generic_submul_fmpz(
245        res: gr_ptr,
246        x: gr_srcptr,
247        y: *const fmpz,
248        ctx: *mut gr_ctx_struct,
249    ) -> libc::c_int;
250    pub fn gr_generic_submul_fmpq(
251        res: gr_ptr,
252        x: gr_srcptr,
253        y: *const fmpq,
254        ctx: *mut gr_ctx_struct,
255    ) -> libc::c_int;
256    pub fn gr_generic_submul_other(
257        res: gr_ptr,
258        x: gr_srcptr,
259        y: gr_srcptr,
260        y_ctx: *mut gr_ctx_struct,
261        ctx: *mut gr_ctx_struct,
262    ) -> libc::c_int;
263    pub fn gr_generic_mul_two(res: gr_ptr, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
264    pub fn gr_generic_sqr(res: gr_ptr, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
265    pub fn gr_generic_mul_2exp_si(
266        res: gr_ptr,
267        x: gr_srcptr,
268        y: slong,
269        ctx: *mut gr_ctx_struct,
270    ) -> libc::c_int;
271    pub fn gr_generic_mul_2exp_fmpz(
272        res: gr_ptr,
273        x: gr_srcptr,
274        y: *const fmpz,
275        ctx: *mut gr_ctx_struct,
276    ) -> libc::c_int;
277    pub fn gr_generic_set_fmpz_2exp_fmpz(
278        res: gr_ptr,
279        x: *const fmpz,
280        y: *const fmpz,
281        ctx: *mut gr_ctx_struct,
282    ) -> libc::c_int;
283    pub fn gr_generic_get_fmpz_2exp_fmpz(
284        res1: *mut fmpz,
285        res2: *mut fmpz,
286        x: gr_ptr,
287        ctx: *mut gr_ctx_struct,
288    ) -> libc::c_int;
289    pub fn gr_generic_set_fmpz_10exp_fmpz(
290        res: gr_ptr,
291        x: *const fmpz,
292        y: *const fmpz,
293        ctx: *mut gr_ctx_struct,
294    ) -> libc::c_int;
295    pub fn gr_generic_inv(res: gr_ptr, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
296    pub fn gr_generic_is_invertible(x: gr_srcptr, ctx: *mut gr_ctx_struct) -> truth_t;
297    pub fn gr_generic_div_fmpz(
298        res: gr_ptr,
299        x: gr_srcptr,
300        y: *const fmpz,
301        ctx: *mut gr_ctx_struct,
302    ) -> libc::c_int;
303    pub fn gr_generic_div_ui(
304        res: gr_ptr,
305        x: gr_srcptr,
306        y: ulong,
307        ctx: *mut gr_ctx_struct,
308    ) -> libc::c_int;
309    pub fn gr_generic_div_si(
310        res: gr_ptr,
311        x: gr_srcptr,
312        y: slong,
313        ctx: *mut gr_ctx_struct,
314    ) -> libc::c_int;
315    pub fn gr_generic_div_fmpq(
316        res: gr_ptr,
317        x: gr_srcptr,
318        y: *const fmpq,
319        ctx: *mut gr_ctx_struct,
320    ) -> libc::c_int;
321    pub fn gr_generic_div_other(
322        res: gr_ptr,
323        x: gr_srcptr,
324        y: gr_srcptr,
325        y_ctx: *mut gr_ctx_struct,
326        ctx: *mut gr_ctx_struct,
327    ) -> libc::c_int;
328    pub fn gr_generic_other_div(
329        res: gr_ptr,
330        x: gr_srcptr,
331        x_ctx: *mut gr_ctx_struct,
332        y: gr_srcptr,
333        ctx: *mut gr_ctx_struct,
334    ) -> libc::c_int;
335    pub fn gr_generic_divexact(
336        res: gr_ptr,
337        x: gr_srcptr,
338        y: gr_srcptr,
339        ctx: *mut gr_ctx_struct,
340    ) -> libc::c_int;
341    pub fn gr_generic_pow_fmpz_sliding(
342        f: gr_ptr,
343        g: gr_srcptr,
344        pow: *const fmpz,
345        ctx: *mut gr_ctx_struct,
346    ) -> libc::c_int;
347    pub fn gr_generic_pow_ui_sliding(
348        f: gr_ptr,
349        g: gr_srcptr,
350        pow: ulong,
351        ctx: *mut gr_ctx_struct,
352    ) -> libc::c_int;
353    pub fn gr_generic_pow_fmpz_binexp(
354        res: gr_ptr,
355        x: gr_srcptr,
356        exp: *const fmpz,
357        ctx: *mut gr_ctx_struct,
358    ) -> libc::c_int;
359    pub fn gr_generic_pow_ui_binexp(
360        res: gr_ptr,
361        x: gr_srcptr,
362        e: ulong,
363        ctx: *mut gr_ctx_struct,
364    ) -> libc::c_int;
365    pub fn gr_generic_pow_fmpz(
366        res: gr_ptr,
367        x: gr_srcptr,
368        e: *const fmpz,
369        ctx: *mut gr_ctx_struct,
370    ) -> libc::c_int;
371    pub fn gr_generic_pow_si(
372        res: gr_ptr,
373        x: gr_srcptr,
374        e: slong,
375        ctx: *mut gr_ctx_struct,
376    ) -> libc::c_int;
377    pub fn gr_generic_pow_ui(
378        res: gr_ptr,
379        x: gr_srcptr,
380        e: ulong,
381        ctx: *mut gr_ctx_struct,
382    ) -> libc::c_int;
383    pub fn gr_generic_pow_fmpq(
384        res: gr_ptr,
385        x: gr_srcptr,
386        y: *const fmpq,
387        ctx: *mut gr_ctx_struct,
388    ) -> libc::c_int;
389    pub fn gr_generic_pow_other(
390        res: gr_ptr,
391        x: gr_srcptr,
392        y: gr_srcptr,
393        y_ctx: *mut gr_ctx_struct,
394        ctx: *mut gr_ctx_struct,
395    ) -> libc::c_int;
396    pub fn gr_generic_other_pow(
397        res: gr_ptr,
398        x: gr_srcptr,
399        x_ctx: *mut gr_ctx_struct,
400        y: gr_srcptr,
401        ctx: *mut gr_ctx_struct,
402    ) -> libc::c_int;
403    pub fn gr_generic_numerator(res: gr_ptr, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
404    pub fn gr_generic_denominator(
405        res: gr_ptr,
406        x: gr_srcptr,
407        ctx: *mut gr_ctx_struct,
408    ) -> libc::c_int;
409    pub fn gr_generic_is_square(x: gr_srcptr, ctx: *mut gr_ctx_struct) -> truth_t;
410    pub fn gr_generic_sqrt(res: gr_ptr, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
411    pub fn gr_generic_rsqrt(res: gr_ptr, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
412    pub fn gr_generic_cmp(
413        res: *mut libc::c_int,
414        x: gr_srcptr,
415        y: gr_srcptr,
416        ctx: *mut gr_ctx_struct,
417    ) -> libc::c_int;
418    pub fn gr_generic_cmpabs(
419        res: *mut libc::c_int,
420        x: gr_srcptr,
421        y: gr_srcptr,
422        ctx: *mut gr_ctx_struct,
423    ) -> libc::c_int;
424    pub fn gr_generic_cmp_other(
425        res: *mut libc::c_int,
426        x: gr_srcptr,
427        y: gr_srcptr,
428        y_ctx: *mut gr_ctx_struct,
429        ctx: *mut gr_ctx_struct,
430    ) -> libc::c_int;
431    pub fn gr_generic_cmpabs_other(
432        res: *mut libc::c_int,
433        x: gr_srcptr,
434        y: gr_srcptr,
435        y_ctx: *mut gr_ctx_struct,
436        ctx: *mut gr_ctx_struct,
437    ) -> libc::c_int;
438    pub fn gr_generic_poly_factor_roots(
439        c: gr_ptr,
440        fac: *mut gr_vec_struct,
441        mult: *mut gr_vec_struct,
442        elt: gr_srcptr,
443        flags: libc::c_int,
444        ctx: *mut gr_ctx_struct,
445    ) -> libc::c_int;
446    pub fn gr_generic_bernoulli_ui(res: gr_ptr, n: ulong, ctx: *mut gr_ctx_struct) -> libc::c_int;
447    pub fn gr_generic_bernoulli_fmpz(
448        res: gr_ptr,
449        n: *const fmpz,
450        ctx: *mut gr_ctx_struct,
451    ) -> libc::c_int;
452    pub fn gr_generic_bernoulli_vec(
453        res: gr_ptr,
454        len: slong,
455        ctx: *mut gr_ctx_struct,
456    ) -> libc::c_int;
457    pub fn gr_generic_eulernum_ui(res: gr_ptr, n: ulong, ctx: *mut gr_ctx_struct) -> libc::c_int;
458    pub fn gr_generic_eulernum_fmpz(
459        res: gr_ptr,
460        n: *const fmpz,
461        ctx: *mut gr_ctx_struct,
462    ) -> libc::c_int;
463    pub fn gr_generic_eulernum_vec(res: gr_ptr, len: slong, ctx: *mut gr_ctx_struct)
464        -> libc::c_int;
465    pub fn gr_generic_stirling_s1u_uiui(
466        res: gr_ptr,
467        x: ulong,
468        y: ulong,
469        ctx: *mut gr_ctx_struct,
470    ) -> libc::c_int;
471    pub fn gr_generic_stirling_s1_uiui(
472        res: gr_ptr,
473        x: ulong,
474        y: ulong,
475        ctx: *mut gr_ctx_struct,
476    ) -> libc::c_int;
477    pub fn gr_generic_stirling_s2_uiui(
478        res: gr_ptr,
479        x: ulong,
480        y: ulong,
481        ctx: *mut gr_ctx_struct,
482    ) -> libc::c_int;
483    pub fn gr_generic_stirling_s1u_ui_vec(
484        res: gr_ptr,
485        x: ulong,
486        len: slong,
487        ctx: *mut gr_ctx_struct,
488    ) -> libc::c_int;
489    pub fn gr_generic_stirling_s1_ui_vec(
490        res: gr_ptr,
491        x: ulong,
492        len: slong,
493        ctx: *mut gr_ctx_struct,
494    ) -> libc::c_int;
495    pub fn gr_generic_stirling_s2_ui_vec(
496        res: gr_ptr,
497        x: ulong,
498        len: slong,
499        ctx: *mut gr_ctx_struct,
500    ) -> libc::c_int;
501    pub fn gr_generic_vec_init(vec: gr_ptr, len: slong, ctx: *mut gr_ctx_struct);
502    pub fn gr_generic_vec_clear(vec: gr_ptr, len: slong, ctx: *mut gr_ctx_struct);
503    pub fn gr_generic_vec_swap(vec1: gr_ptr, vec2: gr_ptr, len: slong, ctx: *mut gr_ctx_struct);
504    pub fn gr_generic_vec_zero(vec: gr_ptr, len: slong, ctx: *mut gr_ctx_struct) -> libc::c_int;
505    pub fn gr_generic_vec_set(
506        res: gr_ptr,
507        src: gr_srcptr,
508        len: slong,
509        ctx: *mut gr_ctx_struct,
510    ) -> libc::c_int;
511    pub fn gr_generic_vec_neg(
512        res: gr_ptr,
513        src: gr_srcptr,
514        len: slong,
515        ctx: *mut gr_ctx_struct,
516    ) -> libc::c_int;
517    pub fn gr_generic_vec_normalise(
518        res: *mut slong,
519        vec: gr_srcptr,
520        len: slong,
521        ctx: *mut gr_ctx_struct,
522    ) -> libc::c_int;
523    pub fn gr_generic_vec_normalise_weak(
524        vec: gr_srcptr,
525        len: slong,
526        ctx: *mut gr_ctx_struct,
527    ) -> slong;
528    pub fn gr_generic_vec_mul_scalar_2exp_si(
529        vec1: gr_ptr,
530        vec2: gr_srcptr,
531        len: slong,
532        c: slong,
533        ctx: *mut gr_ctx_struct,
534    ) -> libc::c_int;
535    pub fn gr_generic_vec_addmul_scalar(
536        vec1: gr_ptr,
537        vec2: gr_srcptr,
538        len: slong,
539        c: gr_srcptr,
540        ctx: *mut gr_ctx_struct,
541    ) -> libc::c_int;
542    pub fn gr_generic_vec_submul_scalar(
543        vec1: gr_ptr,
544        vec2: gr_srcptr,
545        len: slong,
546        c: gr_srcptr,
547        ctx: *mut gr_ctx_struct,
548    ) -> libc::c_int;
549    pub fn gr_generic_vec_addmul_scalar_si(
550        vec1: gr_ptr,
551        vec2: gr_srcptr,
552        len: slong,
553        c: slong,
554        ctx: *mut gr_ctx_struct,
555    ) -> libc::c_int;
556    pub fn gr_generic_vec_submul_scalar_si(
557        vec1: gr_ptr,
558        vec2: gr_srcptr,
559        len: slong,
560        c: slong,
561        ctx: *mut gr_ctx_struct,
562    ) -> libc::c_int;
563    pub fn gr_generic_vec_addmul_scalar_fmpz(
564        vec1: gr_ptr,
565        vec2: gr_srcptr,
566        len: slong,
567        c: *const fmpz,
568        ctx: *mut gr_ctx_struct,
569    ) -> libc::c_int;
570    pub fn gr_generic_vec_equal(
571        vec1: gr_srcptr,
572        vec2: gr_srcptr,
573        len: slong,
574        ctx: *mut gr_ctx_struct,
575    ) -> truth_t;
576    pub fn gr_generic_vec_is_zero(
577        vec: gr_srcptr,
578        len: slong,
579        ctx: *mut gr_ctx_struct,
580    ) -> libc::c_int;
581    pub fn gr_generic_vec_dot(
582        res: gr_ptr,
583        initial: gr_srcptr,
584        subtract: libc::c_int,
585        vec1: gr_srcptr,
586        vec2: gr_srcptr,
587        len: slong,
588        ctx: *mut gr_ctx_struct,
589    ) -> libc::c_int;
590    pub fn gr_generic_vec_dot_rev(
591        res: gr_ptr,
592        initial: gr_srcptr,
593        subtract: libc::c_int,
594        vec1: gr_srcptr,
595        vec2: gr_srcptr,
596        len: slong,
597        ctx: *mut gr_ctx_struct,
598    ) -> libc::c_int;
599    pub fn gr_generic_vec_dot_ui(
600        res: gr_ptr,
601        initial: gr_srcptr,
602        subtract: libc::c_int,
603        vec1: gr_srcptr,
604        vec2: *const ulong,
605        len: slong,
606        ctx: *mut gr_ctx_struct,
607    ) -> libc::c_int;
608    pub fn gr_generic_vec_dot_si(
609        res: gr_ptr,
610        initial: gr_srcptr,
611        subtract: libc::c_int,
612        vec1: gr_srcptr,
613        vec2: *const slong,
614        len: slong,
615        ctx: *mut gr_ctx_struct,
616    ) -> libc::c_int;
617    pub fn gr_generic_vec_dot_fmpz(
618        res: gr_ptr,
619        initial: gr_srcptr,
620        subtract: libc::c_int,
621        vec1: gr_srcptr,
622        vec2: *const fmpz,
623        len: slong,
624        ctx: *mut gr_ctx_struct,
625    ) -> libc::c_int;
626    pub fn gr_generic_vec_set_powers(
627        res: gr_ptr,
628        x: gr_srcptr,
629        len: slong,
630        ctx: *mut gr_ctx_struct,
631    ) -> libc::c_int;
632    pub fn gr_generic_vec_reciprocals(
633        res: gr_ptr,
634        len: slong,
635        ctx: *mut gr_ctx_struct,
636    ) -> libc::c_int;
637    pub fn gr_generic_vec_add(
638        res: gr_ptr,
639        src1: gr_srcptr,
640        src2: gr_srcptr,
641        len: slong,
642        ctx: *mut gr_ctx_struct,
643    ) -> libc::c_int;
644    pub fn gr_generic_vec_sub(
645        res: gr_ptr,
646        src1: gr_srcptr,
647        src2: gr_srcptr,
648        len: slong,
649        ctx: *mut gr_ctx_struct,
650    ) -> libc::c_int;
651    pub fn gr_generic_vec_mul(
652        res: gr_ptr,
653        src1: gr_srcptr,
654        src2: gr_srcptr,
655        len: slong,
656        ctx: *mut gr_ctx_struct,
657    ) -> libc::c_int;
658    pub fn gr_generic_vec_div(
659        res: gr_ptr,
660        src1: gr_srcptr,
661        src2: gr_srcptr,
662        len: slong,
663        ctx: *mut gr_ctx_struct,
664    ) -> libc::c_int;
665    pub fn gr_generic_vec_divexact(
666        res: gr_ptr,
667        src1: gr_srcptr,
668        src2: gr_srcptr,
669        len: slong,
670        ctx: *mut gr_ctx_struct,
671    ) -> libc::c_int;
672    pub fn gr_generic_vec_pow(
673        res: gr_ptr,
674        src1: gr_srcptr,
675        src2: gr_srcptr,
676        len: slong,
677        ctx: *mut gr_ctx_struct,
678    ) -> libc::c_int;
679    pub fn gr_generic_vec_add_scalar(
680        vec1: gr_ptr,
681        vec2: gr_srcptr,
682        len: slong,
683        c: gr_srcptr,
684        ctx: *mut gr_ctx_struct,
685    ) -> libc::c_int;
686    pub fn gr_generic_vec_sub_scalar(
687        vec1: gr_ptr,
688        vec2: gr_srcptr,
689        len: slong,
690        c: gr_srcptr,
691        ctx: *mut gr_ctx_struct,
692    ) -> libc::c_int;
693    pub fn gr_generic_vec_mul_scalar(
694        vec1: gr_ptr,
695        vec2: gr_srcptr,
696        len: slong,
697        c: gr_srcptr,
698        ctx: *mut gr_ctx_struct,
699    ) -> libc::c_int;
700    pub fn gr_generic_vec_div_scalar(
701        vec1: gr_ptr,
702        vec2: gr_srcptr,
703        len: slong,
704        c: gr_srcptr,
705        ctx: *mut gr_ctx_struct,
706    ) -> libc::c_int;
707    pub fn gr_generic_vec_divexact_scalar(
708        vec1: gr_ptr,
709        vec2: gr_srcptr,
710        len: slong,
711        c: gr_srcptr,
712        ctx: *mut gr_ctx_struct,
713    ) -> libc::c_int;
714    pub fn gr_generic_vec_pow_scalar(
715        vec1: gr_ptr,
716        vec2: gr_srcptr,
717        len: slong,
718        c: gr_srcptr,
719        ctx: *mut gr_ctx_struct,
720    ) -> libc::c_int;
721    pub fn gr_generic_vec_add_scalar_si(
722        vec1: gr_ptr,
723        vec2: gr_srcptr,
724        len: slong,
725        c: slong,
726        ctx: *mut gr_ctx_struct,
727    ) -> libc::c_int;
728    pub fn gr_generic_vec_sub_scalar_si(
729        vec1: gr_ptr,
730        vec2: gr_srcptr,
731        len: slong,
732        c: slong,
733        ctx: *mut gr_ctx_struct,
734    ) -> libc::c_int;
735    pub fn gr_generic_vec_mul_scalar_si(
736        vec1: gr_ptr,
737        vec2: gr_srcptr,
738        len: slong,
739        c: slong,
740        ctx: *mut gr_ctx_struct,
741    ) -> libc::c_int;
742    pub fn gr_generic_vec_div_scalar_si(
743        vec1: gr_ptr,
744        vec2: gr_srcptr,
745        len: slong,
746        c: slong,
747        ctx: *mut gr_ctx_struct,
748    ) -> libc::c_int;
749    pub fn gr_generic_vec_divexact_scalar_si(
750        vec1: gr_ptr,
751        vec2: gr_srcptr,
752        len: slong,
753        c: slong,
754        ctx: *mut gr_ctx_struct,
755    ) -> libc::c_int;
756    pub fn gr_generic_vec_pow_scalar_si(
757        vec1: gr_ptr,
758        vec2: gr_srcptr,
759        len: slong,
760        c: slong,
761        ctx: *mut gr_ctx_struct,
762    ) -> libc::c_int;
763    pub fn gr_generic_vec_add_scalar_ui(
764        vec1: gr_ptr,
765        vec2: gr_srcptr,
766        len: slong,
767        c: ulong,
768        ctx: *mut gr_ctx_struct,
769    ) -> libc::c_int;
770    pub fn gr_generic_vec_sub_scalar_ui(
771        vec1: gr_ptr,
772        vec2: gr_srcptr,
773        len: slong,
774        c: ulong,
775        ctx: *mut gr_ctx_struct,
776    ) -> libc::c_int;
777    pub fn gr_generic_vec_mul_scalar_ui(
778        vec1: gr_ptr,
779        vec2: gr_srcptr,
780        len: slong,
781        c: ulong,
782        ctx: *mut gr_ctx_struct,
783    ) -> libc::c_int;
784    pub fn gr_generic_vec_div_scalar_ui(
785        vec1: gr_ptr,
786        vec2: gr_srcptr,
787        len: slong,
788        c: ulong,
789        ctx: *mut gr_ctx_struct,
790    ) -> libc::c_int;
791    pub fn gr_generic_vec_divexact_scalar_ui(
792        vec1: gr_ptr,
793        vec2: gr_srcptr,
794        len: slong,
795        c: ulong,
796        ctx: *mut gr_ctx_struct,
797    ) -> libc::c_int;
798    pub fn gr_generic_vec_pow_scalar_ui(
799        vec1: gr_ptr,
800        vec2: gr_srcptr,
801        len: slong,
802        c: ulong,
803        ctx: *mut gr_ctx_struct,
804    ) -> libc::c_int;
805    pub fn gr_generic_vec_add_scalar_fmpz(
806        vec1: gr_ptr,
807        vec2: gr_srcptr,
808        len: slong,
809        c: *const fmpz,
810        ctx: *mut gr_ctx_struct,
811    ) -> libc::c_int;
812    pub fn gr_generic_vec_sub_scalar_fmpz(
813        vec1: gr_ptr,
814        vec2: gr_srcptr,
815        len: slong,
816        c: *const fmpz,
817        ctx: *mut gr_ctx_struct,
818    ) -> libc::c_int;
819    pub fn gr_generic_vec_mul_scalar_fmpz(
820        vec1: gr_ptr,
821        vec2: gr_srcptr,
822        len: slong,
823        c: *const fmpz,
824        ctx: *mut gr_ctx_struct,
825    ) -> libc::c_int;
826    pub fn gr_generic_vec_div_scalar_fmpz(
827        vec1: gr_ptr,
828        vec2: gr_srcptr,
829        len: slong,
830        c: *const fmpz,
831        ctx: *mut gr_ctx_struct,
832    ) -> libc::c_int;
833    pub fn gr_generic_vec_divexact_scalar_fmpz(
834        vec1: gr_ptr,
835        vec2: gr_srcptr,
836        len: slong,
837        c: *const fmpz,
838        ctx: *mut gr_ctx_struct,
839    ) -> libc::c_int;
840    pub fn gr_generic_vec_pow_scalar_fmpz(
841        vec1: gr_ptr,
842        vec2: gr_srcptr,
843        len: slong,
844        c: *const fmpz,
845        ctx: *mut gr_ctx_struct,
846    ) -> libc::c_int;
847    pub fn gr_generic_vec_add_scalar_fmpq(
848        vec1: gr_ptr,
849        vec2: gr_srcptr,
850        len: slong,
851        c: *const fmpq,
852        ctx: *mut gr_ctx_struct,
853    ) -> libc::c_int;
854    pub fn gr_generic_vec_sub_scalar_fmpq(
855        vec1: gr_ptr,
856        vec2: gr_srcptr,
857        len: slong,
858        c: *const fmpq,
859        ctx: *mut gr_ctx_struct,
860    ) -> libc::c_int;
861    pub fn gr_generic_vec_mul_scalar_fmpq(
862        vec1: gr_ptr,
863        vec2: gr_srcptr,
864        len: slong,
865        c: *const fmpq,
866        ctx: *mut gr_ctx_struct,
867    ) -> libc::c_int;
868    pub fn gr_generic_vec_div_scalar_fmpq(
869        vec1: gr_ptr,
870        vec2: gr_srcptr,
871        len: slong,
872        c: *const fmpq,
873        ctx: *mut gr_ctx_struct,
874    ) -> libc::c_int;
875    pub fn gr_generic_vec_divexact_scalar_fmpq(
876        vec1: gr_ptr,
877        vec2: gr_srcptr,
878        len: slong,
879        c: *const fmpq,
880        ctx: *mut gr_ctx_struct,
881    ) -> libc::c_int;
882    pub fn gr_generic_vec_pow_scalar_fmpq(
883        vec1: gr_ptr,
884        vec2: gr_srcptr,
885        len: slong,
886        c: *const fmpq,
887        ctx: *mut gr_ctx_struct,
888    ) -> libc::c_int;
889    pub fn gr_generic_scalar_add_vec(
890        vec1: gr_ptr,
891        c: gr_srcptr,
892        vec2: gr_srcptr,
893        len: slong,
894        ctx: *mut gr_ctx_struct,
895    ) -> libc::c_int;
896    pub fn gr_generic_scalar_sub_vec(
897        vec1: gr_ptr,
898        c: gr_srcptr,
899        vec2: gr_srcptr,
900        len: slong,
901        ctx: *mut gr_ctx_struct,
902    ) -> libc::c_int;
903    pub fn gr_generic_scalar_mul_vec(
904        vec1: gr_ptr,
905        c: gr_srcptr,
906        vec2: gr_srcptr,
907        len: slong,
908        ctx: *mut gr_ctx_struct,
909    ) -> libc::c_int;
910    pub fn gr_generic_scalar_div_vec(
911        vec1: gr_ptr,
912        c: gr_srcptr,
913        vec2: gr_srcptr,
914        len: slong,
915        ctx: *mut gr_ctx_struct,
916    ) -> libc::c_int;
917    pub fn gr_generic_scalar_divexact_vec(
918        vec1: gr_ptr,
919        c: gr_srcptr,
920        vec2: gr_srcptr,
921        len: slong,
922        ctx: *mut gr_ctx_struct,
923    ) -> libc::c_int;
924    pub fn gr_generic_scalar_pow_vec(
925        vec1: gr_ptr,
926        c: gr_srcptr,
927        vec2: gr_srcptr,
928        len: slong,
929        ctx: *mut gr_ctx_struct,
930    ) -> libc::c_int;
931    pub fn gr_generic_vec_add_other(
932        vec1: gr_ptr,
933        vec2: gr_srcptr,
934        vec3: gr_srcptr,
935        ctx3: *mut gr_ctx_struct,
936        len: slong,
937        ctx: *mut gr_ctx_struct,
938    ) -> libc::c_int;
939    pub fn gr_generic_vec_sub_other(
940        vec1: gr_ptr,
941        vec2: gr_srcptr,
942        vec3: gr_srcptr,
943        ctx3: *mut gr_ctx_struct,
944        len: slong,
945        ctx: *mut gr_ctx_struct,
946    ) -> libc::c_int;
947    pub fn gr_generic_vec_mul_other(
948        vec1: gr_ptr,
949        vec2: gr_srcptr,
950        vec3: gr_srcptr,
951        ctx3: *mut gr_ctx_struct,
952        len: slong,
953        ctx: *mut gr_ctx_struct,
954    ) -> libc::c_int;
955    pub fn gr_generic_vec_div_other(
956        vec1: gr_ptr,
957        vec2: gr_srcptr,
958        vec3: gr_srcptr,
959        ctx3: *mut gr_ctx_struct,
960        len: slong,
961        ctx: *mut gr_ctx_struct,
962    ) -> libc::c_int;
963    pub fn gr_generic_vec_divexact_other(
964        vec1: gr_ptr,
965        vec2: gr_srcptr,
966        vec3: gr_srcptr,
967        ctx3: *mut gr_ctx_struct,
968        len: slong,
969        ctx: *mut gr_ctx_struct,
970    ) -> libc::c_int;
971    pub fn gr_generic_vec_pow_other(
972        vec1: gr_ptr,
973        vec2: gr_srcptr,
974        vec3: gr_srcptr,
975        ctx3: *mut gr_ctx_struct,
976        len: slong,
977        ctx: *mut gr_ctx_struct,
978    ) -> libc::c_int;
979    pub fn gr_generic_other_add_vec(
980        vec1: gr_ptr,
981        vec2: gr_srcptr,
982        ctx2: *mut gr_ctx_struct,
983        vec3: gr_srcptr,
984        len: slong,
985        ctx: *mut gr_ctx_struct,
986    ) -> libc::c_int;
987    pub fn gr_generic_other_sub_vec(
988        vec1: gr_ptr,
989        vec2: gr_srcptr,
990        ctx2: *mut gr_ctx_struct,
991        vec3: gr_srcptr,
992        len: slong,
993        ctx: *mut gr_ctx_struct,
994    ) -> libc::c_int;
995    pub fn gr_generic_other_mul_vec(
996        vec1: gr_ptr,
997        vec2: gr_srcptr,
998        ctx2: *mut gr_ctx_struct,
999        vec3: gr_srcptr,
1000        len: slong,
1001        ctx: *mut gr_ctx_struct,
1002    ) -> libc::c_int;
1003    pub fn gr_generic_other_div_vec(
1004        vec1: gr_ptr,
1005        vec2: gr_srcptr,
1006        ctx2: *mut gr_ctx_struct,
1007        vec3: gr_srcptr,
1008        len: slong,
1009        ctx: *mut gr_ctx_struct,
1010    ) -> libc::c_int;
1011    pub fn gr_generic_other_divexact_vec(
1012        vec1: gr_ptr,
1013        vec2: gr_srcptr,
1014        ctx2: *mut gr_ctx_struct,
1015        vec3: gr_srcptr,
1016        len: slong,
1017        ctx: *mut gr_ctx_struct,
1018    ) -> libc::c_int;
1019    pub fn gr_generic_other_pow_vec(
1020        vec1: gr_ptr,
1021        vec2: gr_srcptr,
1022        ctx2: *mut gr_ctx_struct,
1023        vec3: gr_srcptr,
1024        len: slong,
1025        ctx: *mut gr_ctx_struct,
1026    ) -> libc::c_int;
1027    pub fn gr_generic_vec_add_scalar_other(
1028        vec1: gr_ptr,
1029        vec2: gr_srcptr,
1030        len: slong,
1031        c: gr_srcptr,
1032        cctx: *mut gr_ctx_struct,
1033        ctx: *mut gr_ctx_struct,
1034    ) -> libc::c_int;
1035    pub fn gr_generic_vec_sub_scalar_other(
1036        vec1: gr_ptr,
1037        vec2: gr_srcptr,
1038        len: slong,
1039        c: gr_srcptr,
1040        cctx: *mut gr_ctx_struct,
1041        ctx: *mut gr_ctx_struct,
1042    ) -> libc::c_int;
1043    pub fn gr_generic_vec_mul_scalar_other(
1044        vec1: gr_ptr,
1045        vec2: gr_srcptr,
1046        len: slong,
1047        c: gr_srcptr,
1048        cctx: *mut gr_ctx_struct,
1049        ctx: *mut gr_ctx_struct,
1050    ) -> libc::c_int;
1051    pub fn gr_generic_vec_div_scalar_other(
1052        vec1: gr_ptr,
1053        vec2: gr_srcptr,
1054        len: slong,
1055        c: gr_srcptr,
1056        cctx: *mut gr_ctx_struct,
1057        ctx: *mut gr_ctx_struct,
1058    ) -> libc::c_int;
1059    pub fn gr_generic_vec_divexact_scalar_other(
1060        vec1: gr_ptr,
1061        vec2: gr_srcptr,
1062        len: slong,
1063        c: gr_srcptr,
1064        cctx: *mut gr_ctx_struct,
1065        ctx: *mut gr_ctx_struct,
1066    ) -> libc::c_int;
1067    pub fn gr_generic_vec_pow_scalar_other(
1068        vec1: gr_ptr,
1069        vec2: gr_srcptr,
1070        len: slong,
1071        c: gr_srcptr,
1072        cctx: *mut gr_ctx_struct,
1073        ctx: *mut gr_ctx_struct,
1074    ) -> libc::c_int;
1075    pub fn gr_generic_scalar_other_add_vec(
1076        vec1: gr_ptr,
1077        c: gr_srcptr,
1078        cctx: *mut gr_ctx_struct,
1079        vec2: gr_srcptr,
1080        len: slong,
1081        ctx: *mut gr_ctx_struct,
1082    ) -> libc::c_int;
1083    pub fn gr_generic_scalar_other_sub_vec(
1084        vec1: gr_ptr,
1085        c: gr_srcptr,
1086        cctx: *mut gr_ctx_struct,
1087        vec2: gr_srcptr,
1088        len: slong,
1089        ctx: *mut gr_ctx_struct,
1090    ) -> libc::c_int;
1091    pub fn gr_generic_scalar_other_mul_vec(
1092        vec1: gr_ptr,
1093        c: gr_srcptr,
1094        cctx: *mut gr_ctx_struct,
1095        vec2: gr_srcptr,
1096        len: slong,
1097        ctx: *mut gr_ctx_struct,
1098    ) -> libc::c_int;
1099    pub fn gr_generic_scalar_other_div_vec(
1100        vec1: gr_ptr,
1101        c: gr_srcptr,
1102        cctx: *mut gr_ctx_struct,
1103        vec2: gr_srcptr,
1104        len: slong,
1105        ctx: *mut gr_ctx_struct,
1106    ) -> libc::c_int;
1107    pub fn gr_generic_scalar_other_divexact_vec(
1108        vec1: gr_ptr,
1109        c: gr_srcptr,
1110        cctx: *mut gr_ctx_struct,
1111        vec2: gr_srcptr,
1112        len: slong,
1113        ctx: *mut gr_ctx_struct,
1114    ) -> libc::c_int;
1115    pub fn gr_generic_scalar_other_pow_vec(
1116        vec1: gr_ptr,
1117        c: gr_srcptr,
1118        cctx: *mut gr_ctx_struct,
1119        vec2: gr_srcptr,
1120        len: slong,
1121        ctx: *mut gr_ctx_struct,
1122    ) -> libc::c_int;
1123}