use crate::deps::*;
use crate::flint::*;
use crate::gr_types::*;
#[repr(C)]
pub struct n_div_precomp_struct {
pub m: ulong,
pub e: libc::c_uint,
pub c: libc::c_uint,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of n_div_precomp_struct"][::std::mem::size_of::<n_div_precomp_struct>() - 16usize];
["Alignment of n_div_precomp_struct"][::std::mem::align_of::<n_div_precomp_struct>() - 8usize];
["Offset of field: n_div_precomp_struct::m"]
[::std::mem::offset_of!(n_div_precomp_struct, m) - 0usize];
["Offset of field: n_div_precomp_struct::e"]
[::std::mem::offset_of!(n_div_precomp_struct, e) - 8usize];
["Offset of field: n_div_precomp_struct::c"]
[::std::mem::offset_of!(n_div_precomp_struct, c) - 12usize];
};
impl Default for n_div_precomp_struct {
fn default() -> Self {
let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
unsafe {
::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
pub type n_div_precomp_t = [n_div_precomp_struct; 1usize];
#[repr(C)]
pub struct n_pair_struct {
pub a: ulong,
pub b: ulong,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of n_pair_struct"][::std::mem::size_of::<n_pair_struct>() - 16usize];
["Alignment of n_pair_struct"][::std::mem::align_of::<n_pair_struct>() - 8usize];
["Offset of field: n_pair_struct::a"][::std::mem::offset_of!(n_pair_struct, a) - 0usize];
["Offset of field: n_pair_struct::b"][::std::mem::offset_of!(n_pair_struct, b) - 8usize];
};
impl Default for n_pair_struct {
fn default() -> Self {
let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
unsafe {
::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
#[repr(C)]
pub struct radix_struct {
pub b: nmod_t,
pub exp: libc::c_uint,
pub B: nmod_t,
pub bpow: *mut ulong,
pub bpow_div: *mut n_div_precomp_struct,
pub bits_to_digit_size: [libc::c_uchar; 64usize],
pub bval: libc::c_uint,
pub bpow_oddinv: *mut n_pair_struct,
pub val_func: ::std::option::Option<
unsafe extern "C" fn(arg1: ulong, arg2: *const libc::c_void) -> ulong,
>,
pub trunc_limbs: slong,
pub trunc_digits: slong,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of radix_struct"][::std::mem::size_of::<radix_struct>() - 176usize];
["Alignment of radix_struct"][::std::mem::align_of::<radix_struct>() - 8usize];
["Offset of field: radix_struct::b"][::std::mem::offset_of!(radix_struct, b) - 0usize];
["Offset of field: radix_struct::exp"][::std::mem::offset_of!(radix_struct, exp) - 24usize];
["Offset of field: radix_struct::B"][::std::mem::offset_of!(radix_struct, B) - 32usize];
["Offset of field: radix_struct::bpow"][::std::mem::offset_of!(radix_struct, bpow) - 56usize];
["Offset of field: radix_struct::bpow_div"]
[::std::mem::offset_of!(radix_struct, bpow_div) - 64usize];
["Offset of field: radix_struct::bits_to_digit_size"]
[::std::mem::offset_of!(radix_struct, bits_to_digit_size) - 72usize];
["Offset of field: radix_struct::bval"][::std::mem::offset_of!(radix_struct, bval) - 136usize];
["Offset of field: radix_struct::bpow_oddinv"]
[::std::mem::offset_of!(radix_struct, bpow_oddinv) - 144usize];
["Offset of field: radix_struct::val_func"]
[::std::mem::offset_of!(radix_struct, val_func) - 152usize];
["Offset of field: radix_struct::trunc_limbs"]
[::std::mem::offset_of!(radix_struct, trunc_limbs) - 160usize];
["Offset of field: radix_struct::trunc_digits"]
[::std::mem::offset_of!(radix_struct, trunc_digits) - 168usize];
};
impl Default for radix_struct {
fn default() -> Self {
let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
unsafe {
::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
pub type radix_t = [radix_struct; 1usize];
#[repr(C)]
pub struct radix_powers_struct {
pub len: slong,
pub exps: [ulong; 64usize],
pub pows: [nn_ptr; 64usize],
pub sizes: [slong; 64usize],
pub val_limbs: [slong; 64usize],
pub buf: nn_ptr,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of radix_powers_struct"][::std::mem::size_of::<radix_powers_struct>() - 2064usize];
["Alignment of radix_powers_struct"][::std::mem::align_of::<radix_powers_struct>() - 8usize];
["Offset of field: radix_powers_struct::len"]
[::std::mem::offset_of!(radix_powers_struct, len) - 0usize];
["Offset of field: radix_powers_struct::exps"]
[::std::mem::offset_of!(radix_powers_struct, exps) - 8usize];
["Offset of field: radix_powers_struct::pows"]
[::std::mem::offset_of!(radix_powers_struct, pows) - 520usize];
["Offset of field: radix_powers_struct::sizes"]
[::std::mem::offset_of!(radix_powers_struct, sizes) - 1032usize];
["Offset of field: radix_powers_struct::val_limbs"]
[::std::mem::offset_of!(radix_powers_struct, val_limbs) - 1544usize];
["Offset of field: radix_powers_struct::buf"]
[::std::mem::offset_of!(radix_powers_struct, buf) - 2056usize];
};
impl Default for radix_powers_struct {
fn default() -> Self {
let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
unsafe {
::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
pub type radix_powers_t = [radix_powers_struct; 1usize];
#[repr(C)]
pub struct radix_integer_struct {
pub d: nn_ptr,
pub alloc: slong,
pub size: slong,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of radix_integer_struct"][::std::mem::size_of::<radix_integer_struct>() - 24usize];
["Alignment of radix_integer_struct"][::std::mem::align_of::<radix_integer_struct>() - 8usize];
["Offset of field: radix_integer_struct::d"]
[::std::mem::offset_of!(radix_integer_struct, d) - 0usize];
["Offset of field: radix_integer_struct::alloc"]
[::std::mem::offset_of!(radix_integer_struct, alloc) - 8usize];
["Offset of field: radix_integer_struct::size"]
[::std::mem::offset_of!(radix_integer_struct, size) - 16usize];
};
impl Default for radix_integer_struct {
fn default() -> Self {
let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
unsafe {
::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
pub type radix_integer_t = [radix_integer_struct; 1usize];
extern "C" {
pub fn radix_init(radix: *mut radix_struct, b: ulong, exp: libc::c_uint);
pub fn radix_clear(radix: *mut radix_struct);
pub fn radix_init_randtest(radix: *mut radix_struct, state: *mut flint_rand_struct);
#[link_name = "radix_digit_radix__extern"]
pub fn radix_digit_radix(radix: *const radix_struct) -> ulong;
#[link_name = "radix_limb_radix__extern"]
pub fn radix_limb_radix(radix: *const radix_struct) -> ulong;
#[link_name = "radix_limb_exponent__extern"]
pub fn radix_limb_exponent(radix: *const radix_struct) -> ulong;
#[link_name = "_radix_size_digits_1__extern"]
pub fn _radix_size_digits_1(c: ulong, radix: *const radix_struct) -> ulong;
#[link_name = "radix_size_digits_1__extern"]
pub fn radix_size_digits_1(c: ulong, radix: *const radix_struct) -> ulong;
#[link_name = "_radix_size_digits__extern"]
pub fn _radix_size_digits(x: nn_srcptr, n: slong, radix: *const radix_struct) -> ulong;
#[link_name = "radix_size_digits__extern"]
pub fn radix_size_digits(x: nn_srcptr, n: slong, radix: *const radix_struct) -> ulong;
#[link_name = "_radix_valuation_digits_1__extern"]
pub fn _radix_valuation_digits_1(c: ulong, radix: *const radix_struct) -> ulong;
pub fn radix_rand_limbs(
res: nn_ptr,
state: *mut flint_rand_struct,
n: slong,
radix: *const radix_struct,
);
pub fn radix_rand_digits(
res: nn_ptr,
state: *mut flint_rand_struct,
n: slong,
radix: *const radix_struct,
);
pub fn radix_randtest_limbs(
res: nn_ptr,
state: *mut flint_rand_struct,
n: slong,
radix: *const radix_struct,
);
pub fn radix_randtest_digits(
res: nn_ptr,
state: *mut flint_rand_struct,
n: slong,
radix: *const radix_struct,
);
pub fn radix_neg(res: nn_ptr, a: nn_srcptr, an: slong, radix: *const radix_struct) -> ulong;
pub fn radix_add(
res: nn_ptr,
a: nn_srcptr,
an: slong,
b: nn_srcptr,
bn: slong,
radix: *const radix_struct,
) -> ulong;
pub fn radix_sub(
res: nn_ptr,
a: nn_srcptr,
an: slong,
b: nn_srcptr,
bn: slong,
radix: *const radix_struct,
) -> ulong;
pub fn radix_lshift_digits(
res: nn_ptr,
a: nn_srcptr,
n: slong,
e: libc::c_uint,
radix: *const radix_struct,
) -> ulong;
pub fn radix_rshift_digits(
res: nn_ptr,
a: nn_srcptr,
n: slong,
e: libc::c_uint,
radix: *const radix_struct,
) -> ulong;
pub fn radix_mul_1(
res: nn_ptr,
a: nn_srcptr,
n: slong,
c: ulong,
radix: *const radix_struct,
) -> ulong;
pub fn radix_mulmid_fft_small(
res: nn_ptr,
a: nn_srcptr,
an: slong,
b: nn_srcptr,
bn: slong,
lo: slong,
hi: slong,
radix: *const radix_struct,
);
pub fn radix_mulmid_classical(
res: nn_ptr,
a: nn_srcptr,
an: slong,
b: nn_srcptr,
bn: slong,
lo: slong,
hi: slong,
radix: *const radix_struct,
);
pub fn radix_mulmid_KS(
res: nn_ptr,
a: nn_srcptr,
an: slong,
b: nn_srcptr,
bn: slong,
lo: slong,
hi: slong,
radix: *const radix_struct,
);
pub fn radix_mulmid_naive(
res: nn_ptr,
a: nn_srcptr,
an: slong,
b: nn_srcptr,
bn: slong,
lo: slong,
hi: slong,
radix: *const radix_struct,
);
#[link_name = "radix_mulmid__extern"]
pub fn radix_mulmid(
res: nn_ptr,
a: nn_srcptr,
an: slong,
b: nn_srcptr,
bn: slong,
lo: slong,
hi: slong,
radix: *const radix_struct,
);
#[link_name = "radix_mul__extern"]
pub fn radix_mul(
res: nn_ptr,
a: nn_srcptr,
an: slong,
b: nn_srcptr,
bn: slong,
radix: *const radix_struct,
);
#[link_name = "radix_sqr__extern"]
pub fn radix_sqr(res: nn_ptr, a: nn_srcptr, an: slong, radix: *const radix_struct);
#[link_name = "radix_mul_two__extern"]
pub fn radix_mul_two(res: nn_ptr, a: nn_srcptr, an: slong, radix: *const radix_struct)
-> ulong;
pub fn radix_divrem_1(
res: nn_ptr,
a: nn_srcptr,
an: slong,
d: ulong,
radix: *const radix_struct,
) -> ulong;
pub fn radix_divexact_1(
res: nn_ptr,
a: nn_srcptr,
an: slong,
d: ulong,
radix: *const radix_struct,
);
pub fn radix_divrem_two(
res: nn_ptr,
a: nn_srcptr,
an: slong,
radix: *const radix_struct,
) -> ulong;
pub fn radix_inv_approx_basecase(
q: nn_ptr,
a: nn_srcptr,
an: slong,
n: slong,
radix: *const radix_struct,
);
pub fn radix_inv_approx(
q: nn_ptr,
a: nn_srcptr,
an: slong,
n: slong,
radix: *const radix_struct,
);
pub fn radix_div_approx_invmul(
Q: nn_ptr,
B: nn_srcptr,
Bn: slong,
A: nn_srcptr,
An: slong,
n: slong,
radix: *const radix_struct,
);
pub fn radix_div_approx(
Q: nn_ptr,
B: nn_srcptr,
Bn: slong,
A: nn_srcptr,
An: slong,
n: slong,
radix: *const radix_struct,
);
pub fn radix_divrem_preinv(
q: nn_ptr,
r: nn_ptr,
a: nn_srcptr,
an: slong,
b: nn_srcptr,
bn: slong,
binv: nn_srcptr,
binvn: slong,
radix: *const radix_struct,
);
pub fn radix_divrem_via_mpn(
q: nn_ptr,
r: nn_ptr,
a: nn_srcptr,
an: slong,
b: nn_srcptr,
bn: slong,
radix: *const radix_struct,
);
pub fn radix_divrem_newton(
q: nn_ptr,
r: nn_ptr,
a: nn_srcptr,
an: slong,
b: nn_srcptr,
bn: slong,
radix: *const radix_struct,
);
pub fn radix_divrem_newton_karp_markstein(
Q: nn_ptr,
R: nn_ptr,
A: nn_srcptr,
An: slong,
B: nn_srcptr,
Bn: slong,
radix: *const radix_struct,
);
pub fn radix_divrem(
q: nn_ptr,
r: nn_ptr,
a: nn_srcptr,
an: slong,
b: nn_srcptr,
bn: slong,
radix: *const radix_struct,
);
pub fn radix_div(
q: nn_ptr,
a: nn_srcptr,
an: slong,
b: nn_srcptr,
bn: slong,
radix: *const radix_struct,
) -> libc::c_int;
pub fn radix_divexact(
q: nn_ptr,
a: nn_srcptr,
an: slong,
b: nn_srcptr,
bn: slong,
radix: *const radix_struct,
);
pub fn radix_invmod_bn(
res: nn_ptr,
x: nn_srcptr,
xn: slong,
n: slong,
radix: *const radix_struct,
) -> libc::c_int;
#[link_name = "radix_cmp_bn_half__extern"]
pub fn radix_cmp_bn_half(x: nn_srcptr, n: slong, radix: *const radix_struct) -> libc::c_int;
pub fn radix_rsqrt_1_approx_basecase(
res: nn_ptr,
a: ulong,
n: slong,
radix: *const radix_struct,
);
pub fn radix_rsqrt_1_approx(res: nn_ptr, a: ulong, n: slong, radix: *const radix_struct);
pub fn radix_powers_clear(powers: *mut radix_powers_struct);
pub fn radix_get_mpn_basecase(
res: nn_ptr,
a: nn_srcptr,
an: slong,
radix: *const radix_struct,
) -> slong;
pub fn radix_get_mpn_divconquer(
res: nn_ptr,
a: nn_srcptr,
an: slong,
radix: *const radix_struct,
) -> slong;
pub fn radix_get_mpn(res: nn_ptr, a: nn_srcptr, an: slong, radix: *const radix_struct)
-> slong;
pub fn radix_set_mpn_basecase(
res: nn_ptr,
a: nn_srcptr,
an: slong,
radix: *const radix_struct,
) -> slong;
pub fn radix_set_mpn_divconquer(
res: nn_ptr,
a: nn_srcptr,
an: slong,
radix: *const radix_struct,
) -> slong;
pub fn radix_set_mpn(res: nn_ptr, a: nn_srcptr, an: slong, radix: *const radix_struct)
-> slong;
pub fn radix_set_mpn_need_alloc(n: slong, radix: *const radix_struct) -> slong;
pub fn radix_get_str_decimal(
res: *mut libc::c_char,
x: nn_srcptr,
n: slong,
negative: libc::c_int,
radix: *const radix_struct,
) -> *mut libc::c_char;
pub fn radix_get_str_sum(
res: *mut libc::c_char,
x: nn_srcptr,
n: slong,
negative: libc::c_int,
ascending: libc::c_int,
radix: *const radix_struct,
) -> *mut libc::c_char;
pub fn gr_ctx_init_radix_integer(ctx: *mut gr_ctx_struct, b: ulong, exp: libc::c_uint);
pub fn radix_integer_init(res: *mut radix_integer_struct, radix: *const radix_struct);
pub fn radix_integer_clear(res: *mut radix_integer_struct, radix: *const radix_struct);
pub fn radix_integer_fit_limbs(
res: *mut radix_integer_struct,
nlimbs: slong,
radix: *const radix_struct,
) -> nn_ptr;
pub fn radix_integer_zero(res: *mut radix_integer_struct, radix: *const radix_struct);
pub fn radix_integer_rand_limbs(
res: *mut radix_integer_struct,
state: *mut flint_rand_struct,
max_limbs: slong,
radix: *const radix_struct,
);
pub fn radix_integer_randtest_limbs(
res: *mut radix_integer_struct,
state: *mut flint_rand_struct,
max_limbs: slong,
radix: *const radix_struct,
);
pub fn radix_integer_one(res: *mut radix_integer_struct, radix: *const radix_struct);
pub fn radix_integer_neg_one(res: *mut radix_integer_struct, radix: *const radix_struct);
pub fn radix_integer_is_zero(
x: *const radix_integer_struct,
radix: *const radix_struct,
) -> libc::c_int;
pub fn radix_integer_is_one(
x: *const radix_integer_struct,
radix: *const radix_struct,
) -> libc::c_int;
pub fn radix_integer_is_neg_one(
x: *const radix_integer_struct,
radix: *const radix_struct,
) -> libc::c_int;
pub fn radix_integer_equal(
x: *const radix_integer_struct,
y: *const radix_integer_struct,
radix: *const radix_struct,
) -> libc::c_int;
pub fn radix_integer_cmp(
x: *const radix_integer_struct,
y: *const radix_integer_struct,
radix: *const radix_struct,
) -> libc::c_int;
pub fn radix_integer_cmpabs(
x: *const radix_integer_struct,
y: *const radix_integer_struct,
radix: *const radix_struct,
) -> libc::c_int;
pub fn radix_integer_set(
res: *mut radix_integer_struct,
x: *const radix_integer_struct,
radix: *const radix_struct,
);
pub fn radix_integer_set_ui(
res: *mut radix_integer_struct,
x: ulong,
radix: *const radix_struct,
);
pub fn radix_integer_set_si(
res: *mut radix_integer_struct,
x: slong,
radix: *const radix_struct,
);
pub fn radix_integer_set_fmpz(
res: *mut radix_integer_struct,
x: *const fmpz,
radix: *const radix_struct,
);
pub fn radix_integer_get_fmpz(
res: *mut fmpz,
x: *const radix_integer_struct,
radix: *const radix_struct,
);
pub fn radix_integer_neg(
res: *mut radix_integer_struct,
x: *const radix_integer_struct,
radix: *const radix_struct,
);
pub fn radix_integer_abs(
res: *mut radix_integer_struct,
x: *const radix_integer_struct,
radix: *const radix_struct,
);
pub fn radix_integer_sgn(
x: *const radix_integer_struct,
radix: *const radix_struct,
) -> libc::c_int;
pub fn radix_integer_add(
res: *mut radix_integer_struct,
x: *const radix_integer_struct,
y: *const radix_integer_struct,
radix: *const radix_struct,
);
pub fn radix_integer_sub(
res: *mut radix_integer_struct,
x: *const radix_integer_struct,
y: *const radix_integer_struct,
radix: *const radix_struct,
);
pub fn radix_integer_mul(
res: *mut radix_integer_struct,
x: *const radix_integer_struct,
y: *const radix_integer_struct,
radix: *const radix_struct,
);
pub fn radix_integer_is_normalised(
x: *const radix_integer_struct,
radix: *const radix_struct,
) -> libc::c_int;
#[link_name = "radix_integer_size_limbs__extern"]
pub fn radix_integer_size_limbs(
x: *const radix_integer_struct,
UNUSED_radix: *const radix_struct,
) -> slong;
#[link_name = "radix_integer_ssize_limbs__extern"]
pub fn radix_integer_ssize_limbs(
x: *const radix_integer_struct,
UNUSED_radix: *const radix_struct,
) -> slong;
#[link_name = "radix_integer_size_digits__extern"]
pub fn radix_integer_size_digits(
x: *const radix_integer_struct,
radix: *const radix_struct,
) -> slong;
#[link_name = "radix_integer_ssize_digits__extern"]
pub fn radix_integer_ssize_digits(
x: *const radix_integer_struct,
radix: *const radix_struct,
) -> slong;
#[link_name = "radix_integer_get_limb__extern"]
pub fn radix_integer_get_limb(
x: *const radix_integer_struct,
n: slong,
UNUSED_radix: *const radix_struct,
) -> ulong;
pub fn radix_integer_set_limb(
res: *mut radix_integer_struct,
x: *const radix_integer_struct,
index: slong,
c: ulong,
radix: *const radix_struct,
);
pub fn radix_integer_get_digit(
x: *const radix_integer_struct,
index: slong,
radix: *const radix_struct,
) -> ulong;
pub fn radix_integer_set_digit(
res: *mut radix_integer_struct,
x: *const radix_integer_struct,
index: slong,
c: ulong,
radix: *const radix_struct,
);
pub fn radix_integer_lshift_limbs(
res: *mut radix_integer_struct,
x: *const radix_integer_struct,
n: slong,
radix: *const radix_struct,
);
pub fn radix_integer_rshift_limbs(
res: *mut radix_integer_struct,
x: *const radix_integer_struct,
n: slong,
radix: *const radix_struct,
);
pub fn radix_integer_lshift_digits(
res: *mut radix_integer_struct,
x: *const radix_integer_struct,
n: slong,
radix: *const radix_struct,
);
pub fn radix_integer_rshift_digits(
res: *mut radix_integer_struct,
x: *const radix_integer_struct,
n: slong,
radix: *const radix_struct,
);
#[link_name = "radix_integer_valuation_limbs__extern"]
pub fn radix_integer_valuation_limbs(
x: *const radix_integer_struct,
UNUSED_radix: *const radix_struct,
) -> slong;
#[link_name = "radix_integer_valuation_digits__extern"]
pub fn radix_integer_valuation_digits(
x: *const radix_integer_struct,
radix: *const radix_struct,
) -> slong;
pub fn radix_integer_trunc_limbs(
res: *mut radix_integer_struct,
x: *const radix_integer_struct,
n: slong,
radix: *const radix_struct,
);
pub fn radix_integer_mod_limbs(
res: *mut radix_integer_struct,
x: *const radix_integer_struct,
n: slong,
radix: *const radix_struct,
);
pub fn radix_integer_smod_limbs(
res: *mut radix_integer_struct,
x: *const radix_integer_struct,
n: slong,
radix: *const radix_struct,
);
pub fn radix_integer_mullow_limbs(
res: *mut radix_integer_struct,
x: *const radix_integer_struct,
y: *const radix_integer_struct,
n: slong,
radix: *const radix_struct,
);
pub fn radix_integer_invmod_limbs(
res: *mut radix_integer_struct,
x: *const radix_integer_struct,
n: slong,
radix: *const radix_struct,
) -> libc::c_int;
pub fn radix_integer_div(
q: *mut radix_integer_struct,
a: *const radix_integer_struct,
b: *const radix_integer_struct,
radix: *const radix_struct,
) -> libc::c_int;
pub fn radix_integer_divexact(
q: *mut radix_integer_struct,
a: *const radix_integer_struct,
b: *const radix_integer_struct,
radix: *const radix_struct,
);
pub fn radix_integer_tdiv_qr(
q: *mut radix_integer_struct,
r: *mut radix_integer_struct,
a: *const radix_integer_struct,
b: *const radix_integer_struct,
radix: *const radix_struct,
);
pub fn radix_integer_fdiv_qr(
q: *mut radix_integer_struct,
r: *mut radix_integer_struct,
a: *const radix_integer_struct,
b: *const radix_integer_struct,
radix: *const radix_struct,
);
pub fn radix_integer_cdiv_qr(
q: *mut radix_integer_struct,
r: *mut radix_integer_struct,
a: *const radix_integer_struct,
b: *const radix_integer_struct,
radix: *const radix_struct,
);
pub fn radix_integer_tdiv_q(
q: *mut radix_integer_struct,
a: *const radix_integer_struct,
b: *const radix_integer_struct,
radix: *const radix_struct,
);
pub fn radix_integer_fdiv_q(
q: *mut radix_integer_struct,
a: *const radix_integer_struct,
b: *const radix_integer_struct,
radix: *const radix_struct,
);
pub fn radix_integer_cdiv_q(
q: *mut radix_integer_struct,
a: *const radix_integer_struct,
b: *const radix_integer_struct,
radix: *const radix_struct,
);
pub fn radix_integer_tdiv_r(
r: *mut radix_integer_struct,
a: *const radix_integer_struct,
b: *const radix_integer_struct,
radix: *const radix_struct,
);
pub fn radix_integer_fdiv_r(
r: *mut radix_integer_struct,
a: *const radix_integer_struct,
b: *const radix_integer_struct,
radix: *const radix_struct,
);
pub fn radix_integer_cdiv_r(
r: *mut radix_integer_struct,
a: *const radix_integer_struct,
b: *const radix_integer_struct,
radix: *const radix_struct,
);
#[link_name = "n_div_precomp_init__extern"]
pub fn n_div_precomp_init(pre: *mut n_div_precomp_struct, d: ulong);
#[link_name = "n_div_precomp_m0__extern"]
pub fn n_div_precomp_m0(x: ulong, pre: *const n_div_precomp_struct) -> ulong;
#[link_name = "n_div_precomp_c0__extern"]
pub fn n_div_precomp_c0(x: ulong, pre: *const n_div_precomp_struct) -> ulong;
#[link_name = "n_incsat__extern"]
pub fn n_incsat(x: ulong) -> ulong;
#[link_name = "n_div_precomp_c1_bounded__extern"]
pub fn n_div_precomp_c1_bounded(x: ulong, pre: *const n_div_precomp_struct) -> ulong;
#[link_name = "n_div_precomp_c1__extern"]
pub fn n_div_precomp_c1(x: ulong, pre: *const n_div_precomp_struct) -> ulong;
#[link_name = "n_div_precomp__extern"]
pub fn n_div_precomp(x: ulong, pre: *const n_div_precomp_struct) -> ulong;
#[link_name = "n_div_precomp_bounded__extern"]
pub fn n_div_precomp_bounded(x: ulong, pre: *const n_div_precomp_struct) -> ulong;
#[link_name = "n_rem_precomp_m0__extern"]
pub fn n_rem_precomp_m0(x: ulong, UNUSED_d: ulong, pre: *const n_div_precomp_struct) -> ulong;
#[link_name = "n_rem_precomp_c0__extern"]
pub fn n_rem_precomp_c0(x: ulong, d: ulong, pre: *const n_div_precomp_struct) -> ulong;
#[link_name = "n_rem_precomp_c1__extern"]
pub fn n_rem_precomp_c1(x: ulong, d: ulong, pre: *const n_div_precomp_struct) -> ulong;
#[link_name = "n_rem_precomp_bounded__extern"]
pub fn n_rem_precomp_bounded(x: ulong, d: ulong, pre: *const n_div_precomp_struct) -> ulong;
#[link_name = "n_rem_precomp_c1_bounded__extern"]
pub fn n_rem_precomp_c1_bounded(x: ulong, d: ulong, pre: *const n_div_precomp_struct) -> ulong;
#[link_name = "n_rem_precomp__extern"]
pub fn n_rem_precomp(x: ulong, d: ulong, pre: *const n_div_precomp_struct) -> ulong;
#[link_name = "n_divrem_precomp_m0__extern"]
pub fn n_divrem_precomp_m0(
r: *mut ulong,
x: ulong,
d: ulong,
pre: *const n_div_precomp_struct,
) -> ulong;
#[link_name = "n_divrem_precomp_c0__extern"]
pub fn n_divrem_precomp_c0(
r: *mut ulong,
x: ulong,
d: ulong,
pre: *const n_div_precomp_struct,
) -> ulong;
#[link_name = "n_divrem_precomp_c1__extern"]
pub fn n_divrem_precomp_c1(
r: *mut ulong,
x: ulong,
d: ulong,
pre: *const n_div_precomp_struct,
) -> ulong;
#[link_name = "n_divrem_precomp_c1_bounded__extern"]
pub fn n_divrem_precomp_c1_bounded(
r: *mut ulong,
x: ulong,
d: ulong,
pre: *const n_div_precomp_struct,
) -> ulong;
#[link_name = "n_divrem_precomp__extern"]
pub fn n_divrem_precomp(
r: *mut ulong,
x: ulong,
d: ulong,
pre: *const n_div_precomp_struct,
) -> ulong;
#[link_name = "n_divrem_precomp_bounded__extern"]
pub fn n_divrem_precomp_bounded(
r: *mut ulong,
x: ulong,
d: ulong,
pre: *const n_div_precomp_struct,
) -> ulong;
}