1use crate::deps::*;
4use crate::flint::*;
5
6
7extern "C" {
8 #[link_name = "_perm_init__extern"]
9 pub fn _perm_init(n: slong) -> *mut slong;
10 #[link_name = "_perm_clear__extern"]
11 pub fn _perm_clear(vec: *mut slong);
12 #[link_name = "_perm_equal__extern"]
13 pub fn _perm_equal(vec1: *const slong, vec2: *const slong, n: slong) -> slong;
14 #[link_name = "_perm_set__extern"]
15 pub fn _perm_set(res: *mut slong, vec: *const slong, n: slong);
16 #[link_name = "_perm_one__extern"]
17 pub fn _perm_one(vec: *mut slong, n: slong);
18 #[link_name = "_perm_inv__extern"]
19 pub fn _perm_inv(res: *mut slong, vec: *const slong, n: slong);
20 #[link_name = "_perm_compose__extern"]
21 pub fn _perm_compose(res: *mut slong, vec1: *const slong, vec2: *const slong, n: slong);
22 pub fn _perm_randtest(vec: *mut slong, n: slong, state: *mut flint_rand_struct) -> libc::c_int;
23 pub fn _perm_parity(vec: *const slong, n: slong) -> libc::c_int;
24}