Skip to main content

flint_sys/
fmpz_vec.rs

1/* automatically generated by rust-bindgen 0.70.1 */
2
3use libc::*;
4use crate::deps::*;
5use crate::flint::*;
6
7
8extern "C" {
9    #[link_name = "_fmpz_vec_init__extern"]
10    pub fn _fmpz_vec_init(len: slong) -> *mut fmpz;
11    pub fn _fmpz_vec_clear(vec: *mut fmpz, len: slong);
12    pub fn _fmpz_vec_randtest(
13        f: *mut fmpz,
14        state: *mut flint_rand_struct,
15        len: slong,
16        bits: flint_bitcnt_t,
17    );
18    pub fn _fmpz_vec_randtest_unsigned(
19        f: *mut fmpz,
20        state: *mut flint_rand_struct,
21        len: slong,
22        bits: flint_bitcnt_t,
23    );
24    pub fn _fmpz_vec_max_bits(vec: *const fmpz, len: slong) -> slong;
25    pub fn _fmpz_vec_max_bits_ref(vec: *const fmpz, len: slong) -> slong;
26    pub fn _fmpz_vec_sum_max_bits(
27        sumabs: *mut slong,
28        maxabs: *mut slong,
29        coeffs: *const fmpz,
30        length: slong,
31    );
32    pub fn _fmpz_vec_max_limbs(vec: *const fmpz, len: slong) -> slong;
33    pub fn _fmpz_vec_height(height: *mut fmpz, vec: *const fmpz, len: slong);
34    pub fn _fmpz_vec_height_index(vec: *const fmpz, len: slong) -> slong;
35    pub fn _fmpz_vec_fprint(file: *mut FILE, vec: *const fmpz, len: slong) -> libc::c_int;
36    pub fn _fmpz_vec_fread(file: *mut FILE, vec: *mut *mut fmpz, len: *mut slong) -> libc::c_int;
37    pub fn _fmpz_vec_print(vec: *const fmpz, len: slong) -> libc::c_int;
38    pub fn _fmpz_vec_read(vec: *mut *mut fmpz, len: *mut slong) -> libc::c_int;
39    pub fn _fmpz_vec_get_nmod_vec(res: nn_ptr, poly: *const fmpz, len: slong, mod_: nmod_t);
40    pub fn _fmpz_vec_set_nmod_vec(res: *mut fmpz, poly: nn_srcptr, len: slong, mod_: nmod_t);
41    pub fn _fmpz_vec_get_fft(
42        coeffs_f: *mut *mut ulong,
43        coeffs_m: *const fmpz,
44        l: slong,
45        length: slong,
46    );
47    pub fn _fmpz_vec_set_fft(
48        coeffs_m: *mut fmpz,
49        length: slong,
50        coeffs_f: *const nn_ptr,
51        limbs: slong,
52        sign: slong,
53    );
54    pub fn _fmpz_vec_get_d_vec_2exp(appv: *mut f64, vec: *const fmpz, len: slong) -> slong;
55    pub fn _fmpz_vec_set(vec1: *mut fmpz, vec2: *const fmpz, len2: slong);
56    pub fn _fmpz_vec_swap(vec1: *mut fmpz, vec2: *mut fmpz, len2: slong);
57    pub fn _fmpz_vec_zero(vec: *mut fmpz, len: slong);
58    pub fn _fmpz_vec_scalar_abs(vec1: *mut fmpz, vec2: *const fmpz, len2: slong);
59    pub fn _fmpz_vec_equal(vec1: *const fmpz, vec2: *const fmpz, len: slong) -> libc::c_int;
60    pub fn _fmpz_vec_is_zero(vec: *const fmpz, len: slong) -> libc::c_int;
61    pub fn _fmpz_vec_min(vec1: *mut fmpz, vec2: *const fmpz, vec3: *const fmpz, len: slong);
62    pub fn _fmpz_vec_max(vec1: *mut fmpz, vec2: *const fmpz, vec3: *const fmpz, len: slong);
63    pub fn _fmpz_vec_min_inplace(vec1: *mut fmpz, vec2: *const fmpz, len: slong);
64    pub fn _fmpz_vec_max_inplace(vec1: *mut fmpz, vec2: *const fmpz, len: slong);
65    pub fn _fmpz_vec_sort(vec: *mut fmpz, len: slong);
66    pub fn _fmpz_vec_add(res: *mut fmpz, vec1: *const fmpz, vec2: *const fmpz, len2: slong);
67    pub fn _fmpz_vec_sub(res: *mut fmpz, vec1: *const fmpz, vec2: *const fmpz, len2: slong);
68    pub fn _fmpz_vec_neg(vec1: *mut fmpz, vec2: *const fmpz, len2: slong);
69    pub fn _fmpz_vec_scalar_mul_si(vec1: *mut fmpz, vec2: *const fmpz, len2: slong, c: slong);
70    pub fn _fmpz_vec_scalar_mul_ui(vec1: *mut fmpz, vec2: *const fmpz, len2: slong, c: ulong);
71    pub fn _fmpz_vec_scalar_mul_fmpz(
72        vec1: *mut fmpz,
73        vec2: *const fmpz,
74        len2: slong,
75        x: *const fmpz,
76    );
77    pub fn _fmpz_vec_scalar_mul_2exp(vec1: *mut fmpz, vec2: *const fmpz, len2: slong, exp: ulong);
78    pub fn _fmpz_vec_scalar_divexact_si(vec1: *mut fmpz, vec2: *const fmpz, len2: slong, c: slong);
79    pub fn _fmpz_vec_scalar_divexact_ui(vec1: *mut fmpz, vec2: *const fmpz, len2: slong, c: ulong);
80    pub fn _fmpz_vec_scalar_divexact_fmpz(
81        vec1: *mut fmpz,
82        vec2: *const fmpz,
83        len2: slong,
84        x: *const fmpz,
85    );
86    pub fn _fmpz_vec_scalar_fdiv_q_si(vec1: *mut fmpz, vec2: *const fmpz, len2: slong, c: slong);
87    pub fn _fmpz_vec_scalar_fdiv_q_ui(vec1: *mut fmpz, vec2: *const fmpz, len2: slong, c: ulong);
88    pub fn _fmpz_vec_scalar_fdiv_q_fmpz(
89        vec1: *mut fmpz,
90        vec2: *const fmpz,
91        len2: slong,
92        c: *const fmpz,
93    );
94    pub fn _fmpz_vec_scalar_fdiv_q_2exp(
95        vec1: *mut fmpz,
96        vec2: *const fmpz,
97        len2: slong,
98        exp: ulong,
99    );
100    pub fn _fmpz_vec_scalar_fdiv_r_2exp(
101        vec1: *mut fmpz,
102        vec2: *const fmpz,
103        len2: slong,
104        exp: ulong,
105    );
106    pub fn _fmpz_vec_scalar_tdiv_q_si(vec1: *mut fmpz, vec2: *const fmpz, len2: slong, c: slong);
107    pub fn _fmpz_vec_scalar_tdiv_q_ui(vec1: *mut fmpz, vec2: *const fmpz, len2: slong, c: ulong);
108    pub fn _fmpz_vec_scalar_tdiv_q_fmpz(
109        vec1: *mut fmpz,
110        vec2: *const fmpz,
111        len2: slong,
112        c: *const fmpz,
113    );
114    pub fn _fmpz_vec_scalar_tdiv_q_2exp(
115        vec1: *mut fmpz,
116        vec2: *const fmpz,
117        len2: slong,
118        exp: ulong,
119    );
120    pub fn _fmpz_vec_scalar_addmul_si(vec1: *mut fmpz, vec2: *const fmpz, len2: slong, c: slong);
121    pub fn _fmpz_vec_scalar_addmul_ui(vec1: *mut fmpz, vec2: *const fmpz, len2: slong, c: ulong);
122    pub fn _fmpz_vec_scalar_addmul_fmpz(
123        poly1: *mut fmpz,
124        poly2: *const fmpz,
125        len2: slong,
126        x: *const fmpz,
127    );
128    pub fn _fmpz_vec_scalar_addmul_si_2exp(
129        vec1: *mut fmpz,
130        vec2: *const fmpz,
131        len2: slong,
132        c: slong,
133        exp: ulong,
134    );
135    pub fn _fmpz_vec_scalar_submul_si(vec1: *mut fmpz, vec2: *const fmpz, len2: slong, c: slong);
136    pub fn _fmpz_vec_scalar_submul_fmpz(
137        vec1: *mut fmpz,
138        vec2: *const fmpz,
139        len2: slong,
140        x: *const fmpz,
141    );
142    pub fn _fmpz_vec_scalar_submul_si_2exp(
143        vec1: *mut fmpz,
144        vec2: *const fmpz,
145        len2: slong,
146        c: slong,
147        exp: ulong,
148    );
149    pub fn _fmpz_vec_sum(res: *mut fmpz, vec: *const fmpz, len: slong);
150    pub fn _fmpz_vec_prod(res: *mut fmpz, vec: *const fmpz, len: slong);
151    pub fn _fmpz_ui_vec_prod(res: *mut fmpz, vec: nn_srcptr, len: slong);
152    pub fn _fmpz_vec_scalar_mod_fmpz(res: *mut fmpz, vec: *const fmpz, len: slong, p: *const fmpz);
153    pub fn _fmpz_vec_scalar_smod_fmpz(res: *mut fmpz, vec: *const fmpz, len: slong, p: *const fmpz);
154    pub fn _fmpz_vec_content(res: *mut fmpz, vec: *const fmpz, len: slong);
155    pub fn _fmpz_vec_content_chained(
156        res: *mut fmpz,
157        vec: *const fmpz,
158        len: slong,
159        inp: *const fmpz,
160    );
161    pub fn _fmpz_vec_lcm(res: *mut fmpz, vec: *const fmpz, len: slong);
162    pub fn _fmpz_vec_dot_general_naive(
163        res: *mut fmpz,
164        initial: *const fmpz,
165        subtract: libc::c_int,
166        a: *const fmpz,
167        b: *const fmpz,
168        reverse: libc::c_int,
169        len: slong,
170    );
171    pub fn _fmpz_vec_dot_general(
172        res: *mut fmpz,
173        initial: *const fmpz,
174        subtract: libc::c_int,
175        a: *const fmpz,
176        b: *const fmpz,
177        reverse: libc::c_int,
178        len: slong,
179    );
180    #[link_name = "_fmpz_vec_dot__extern"]
181    pub fn _fmpz_vec_dot(res: *mut fmpz, vec1: *const fmpz, vec2: *const fmpz, len2: slong);
182}