1#![allow(non_camel_case_types)]
2
3use crate::deps::*;
6use crate::flint::*;
7use libc::c_int;
8
9extern "C" {
10 pub fn _perm_init(n: mp_limb_signed_t) -> *mut mp_limb_signed_t;
11 pub fn _perm_clear(vec: *mut mp_limb_signed_t);
12 pub fn _perm_equal(
13 vec1: *const mp_limb_signed_t,
14 vec2: *const mp_limb_signed_t,
15 n: mp_limb_signed_t,
16 ) -> mp_limb_signed_t;
17 pub fn _perm_set(res: *mut mp_limb_signed_t, vec: *const mp_limb_signed_t, n: mp_limb_signed_t);
18 pub fn _perm_set_one(vec: *mut mp_limb_signed_t, n: mp_limb_signed_t);
19 pub fn _perm_inv(res: *mut mp_limb_signed_t, vec: *const mp_limb_signed_t, n: mp_limb_signed_t);
20 pub fn _perm_compose(
21 res: *mut mp_limb_signed_t,
22 vec1: *const mp_limb_signed_t,
23 vec2: *const mp_limb_signed_t,
24 n: mp_limb_signed_t,
25 );
26 pub fn _perm_randtest(
27 vec: *mut mp_limb_signed_t,
28 n: mp_limb_signed_t,
29 state: *const flint_rand_s,
30 ) -> c_int;
31 pub fn _perm_parity(vec: *const mp_limb_signed_t, n: mp_limb_signed_t) -> c_int;
32 pub fn _long_vec_print(vec: *const mp_limb_signed_t, len: mp_limb_signed_t) -> c_int;
33 pub fn _perm_print(vec: *const mp_limb_signed_t, n: mp_limb_signed_t) -> c_int;
34}