1use crate::deps::*;
4use crate::ca_types::*;
5use crate::flint::*;
6use crate::gr_types::*;
7
8
9extern "C" {
10 #[link_name = "ca_vec_entry_ptr__extern"]
11 pub fn ca_vec_entry_ptr(vec: *mut ca_vec_struct, i: slong) -> ca_ptr;
12 pub fn _ca_vec_init(len: slong, ctx: *mut ca_ctx_struct) -> ca_ptr;
13 pub fn ca_vec_init(vec: *mut ca_vec_struct, len: slong, ctx: *mut ca_ctx_struct);
14 pub fn _ca_vec_clear(vec: ca_ptr, len: slong, ctx: *mut ca_ctx_struct);
15 pub fn ca_vec_clear(vec: *mut ca_vec_struct, ctx: *mut ca_ctx_struct);
16 pub fn _ca_vec_swap(vec1: ca_ptr, vec2: ca_ptr, len: slong, ctx: *mut ca_ctx_struct);
17 #[link_name = "ca_vec_swap__extern"]
18 pub fn ca_vec_swap(vec1: *mut ca_vec_struct, vec2: *mut ca_vec_struct, ctx: *mut ca_ctx_struct);
19 #[link_name = "ca_vec_length__extern"]
20 pub fn ca_vec_length(vec: *const ca_vec_struct, ctx: *mut ca_ctx_struct) -> slong;
21 pub fn _ca_vec_fit_length(vec: *mut ca_vec_struct, len: slong, ctx: *mut ca_ctx_struct);
22 pub fn ca_vec_set_length(vec: *mut ca_vec_struct, len: slong, ctx: *mut ca_ctx_struct);
23 pub fn _ca_vec_set(res: ca_ptr, src: ca_srcptr, len: slong, ctx: *mut ca_ctx_struct);
24 pub fn ca_vec_set(res: *mut ca_vec_struct, src: *const ca_vec_struct, ctx: *mut ca_ctx_struct);
25 pub fn _ca_vec_zero(res: ca_ptr, len: slong, ctx: *mut ca_ctx_struct);
26 pub fn ca_vec_zero(res: *mut ca_vec_struct, len: slong, ctx: *mut ca_ctx_struct);
27 #[link_name = "_ca_vec_unknown__extern"]
28 pub fn _ca_vec_unknown(vec: ca_ptr, len: slong, ctx: *mut ca_ctx_struct);
29 #[link_name = "_ca_vec_undefined__extern"]
30 pub fn _ca_vec_undefined(vec: ca_ptr, len: slong, ctx: *mut ca_ctx_struct);
31 pub fn ca_vec_print(vec: *const ca_vec_struct, ctx: *mut ca_ctx_struct);
32 pub fn ca_vec_printn(vec: *const ca_vec_struct, digits: slong, ctx: *mut ca_ctx_struct);
33 #[link_name = "ca_vec_append__extern"]
34 pub fn ca_vec_append(vec: *mut ca_vec_struct, f: *const ca_struct, ctx: *mut ca_ctx_struct);
35 pub fn _ca_vec_neg(res: ca_ptr, src: ca_srcptr, len: slong, ctx: *mut ca_ctx_struct);
36 pub fn ca_vec_neg(res: *mut ca_vec_struct, src: *const ca_vec_struct, ctx: *mut ca_ctx_struct);
37 pub fn _ca_vec_add(
38 res: ca_ptr,
39 vec1: ca_srcptr,
40 vec2: ca_srcptr,
41 len: slong,
42 ctx: *mut ca_ctx_struct,
43 );
44 pub fn _ca_vec_sub(
45 res: ca_ptr,
46 vec1: ca_srcptr,
47 vec2: ca_srcptr,
48 len: slong,
49 ctx: *mut ca_ctx_struct,
50 );
51 pub fn _ca_vec_scalar_mul_ca(
52 res: ca_ptr,
53 src: ca_srcptr,
54 len: slong,
55 c: *const ca_struct,
56 ctx: *mut ca_ctx_struct,
57 );
58 pub fn _ca_vec_scalar_div_ca(
59 res: ca_ptr,
60 src: ca_srcptr,
61 len: slong,
62 c: *const ca_struct,
63 ctx: *mut ca_ctx_struct,
64 );
65 pub fn _ca_vec_scalar_addmul_ca(
66 res: ca_ptr,
67 src: ca_srcptr,
68 len: slong,
69 c: *const ca_struct,
70 ctx: *mut ca_ctx_struct,
71 );
72 pub fn _ca_vec_scalar_submul_ca(
73 res: ca_ptr,
74 src: ca_srcptr,
75 len: slong,
76 c: *const ca_struct,
77 ctx: *mut ca_ctx_struct,
78 );
79 pub fn _ca_vec_check_is_zero(vec: ca_srcptr, len: slong, ctx: *mut ca_ctx_struct) -> truth_t;
80 #[link_name = "_ca_vec_is_fmpq_vec__extern"]
81 pub fn _ca_vec_is_fmpq_vec(vec: ca_srcptr, len: slong, ctx: *mut ca_ctx_struct) -> libc::c_int;
82 #[link_name = "_ca_vec_fmpq_vec_is_fmpz_vec__extern"]
83 pub fn _ca_vec_fmpq_vec_is_fmpz_vec(
84 vec: ca_srcptr,
85 len: slong,
86 ctx: *mut ca_ctx_struct,
87 ) -> libc::c_int;
88 #[link_name = "_ca_vec_fmpq_vec_get_fmpz_vec_den__extern"]
89 pub fn _ca_vec_fmpq_vec_get_fmpz_vec_den(
90 c: *mut fmpz,
91 den: *mut fmpz,
92 vec: ca_srcptr,
93 len: slong,
94 ctx: *mut ca_ctx_struct,
95 );
96 #[link_name = "_ca_vec_set_fmpz_vec_div_fmpz__extern"]
97 pub fn _ca_vec_set_fmpz_vec_div_fmpz(
98 res: ca_ptr,
99 v: *const fmpz,
100 den: *const fmpz,
101 len: slong,
102 ctx: *mut ca_ctx_struct,
103 );
104}