1#![allow(non_camel_case_types)]
2
3use crate::deps::*;
6use crate::flint::*;
7use crate::fmpz_poly::fmpz_poly_struct;
8use crate::fq::{fq_ctx_struct, fq_struct};
9use libc::{c_int, FILE};
10
11extern "C" {
12 pub fn _fq_vec_init(len: mp_limb_signed_t, ctx: *mut fq_ctx_struct) -> *mut fq_struct;
13 pub fn _fq_vec_clear(vec: *mut fq_struct, len: mp_limb_signed_t, ctx: *mut fq_ctx_struct);
14 pub fn _fq_vec_randtest(
15 f: *mut fq_struct,
16 state: *mut flint_rand_s,
17 len: mp_limb_signed_t,
18 ctx: *mut fq_ctx_struct,
19 );
20 pub fn _fq_vec_fprint(
21 file: *mut FILE,
22 vec: *const fq_struct,
23 len: mp_limb_signed_t,
24 ctx: *mut fq_ctx_struct,
25 ) -> c_int;
26 pub fn _fq_vec_print(
27 vec: *const fq_struct,
28 len: mp_limb_signed_t,
29 ctx: *mut fq_ctx_struct,
30 ) -> c_int;
31 pub fn _fq_vec_set(
32 v: *mut fq_struct,
33 f: *const fq_struct,
34 len: mp_limb_signed_t,
35 ctx: *mut fq_ctx_struct,
36 );
37 pub fn _fq_vec_swap(
38 vec1: *mut fq_struct,
39 vec2: *mut fq_struct,
40 len2: mp_limb_signed_t,
41 ctx: *mut fq_ctx_struct,
42 );
43 pub fn _fq_vec_zero(v: *mut fq_struct, len: mp_limb_signed_t, ctx: *mut fq_ctx_struct);
44 pub fn _fq_vec_neg(
45 vec1: *mut fq_struct,
46 vec2: *const fq_struct,
47 len2: mp_limb_signed_t,
48 ctx: *mut fq_ctx_struct,
49 );
50 pub fn _fq_vec_is_zero(
51 vec: *const fq_struct,
52 len: mp_limb_signed_t,
53 ctx: *mut fq_ctx_struct,
54 ) -> c_int;
55 pub fn _fq_vec_equal(
56 vec1: *const fq_struct,
57 vec2: *const fq_struct,
58 len: mp_limb_signed_t,
59 ctx: *mut fq_ctx_struct,
60 ) -> c_int;
61 pub fn _fq_vec_add(
62 res: *mut fq_struct,
63 vec1: *const fq_struct,
64 vec2: *const fq_struct,
65 len2: mp_limb_signed_t,
66 ctx: *mut fq_ctx_struct,
67 );
68 pub fn _fq_vec_sub(
69 res: *mut fq_struct,
70 vec1: *const fq_struct,
71 vec2: *const fq_struct,
72 len2: mp_limb_signed_t,
73 ctx: *mut fq_ctx_struct,
74 );
75 pub fn _fq_vec_scalar_addmul_fq(
76 poly1: *mut fq_struct,
77 poly2: *const fq_struct,
78 len2: mp_limb_signed_t,
79 x: *mut fmpz_poly_struct,
80 ctx: *mut fq_ctx_struct,
81 );
82 pub fn _fq_vec_scalar_submul_fq(
83 poly1: *mut fq_struct,
84 poly2: *const fq_struct,
85 len2: mp_limb_signed_t,
86 x: *mut fmpz_poly_struct,
87 ctx: *mut fq_ctx_struct,
88 );
89 pub fn _fq_vec_scalar_mul_fq(
90 poly1: *mut fq_struct,
91 poly2: *const fq_struct,
92 len2: mp_limb_signed_t,
93 x: *mut fmpz_poly_struct,
94 ctx: *mut fq_ctx_struct,
95 );
96 pub fn _fq_vec_dot(
97 res: *mut fmpz_poly_struct,
98 vec1: *const fq_struct,
99 vec2: *const fq_struct,
100 len2: mp_limb_signed_t,
101 ctx: *mut fq_ctx_struct,
102 );
103}