flint_sys/
perm.rs

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