flint_sys/
fq_vec.rs

1#![allow(non_camel_case_types)]
2
3//! *See the [FLINT documentation](http://flintlib.org/doc/fq_vec.html).
4
5use 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}