Module mpc

Source
Expand description

Function and type bindings for the MPC library.

§Examples

use core::f64;
use core::mem::MaybeUninit;
use gmp_mpfr_sys::{mpc, mpfr};
let one_third = 1.0_f64 / 3.0;
let neg_inf = f64::NEG_INFINITY;
unsafe {
    let mut c = {
        let mut c = MaybeUninit::uninit();
        mpc::init3(c.as_mut_ptr(), 53, 53);
        c.assume_init()
    };
    let dirs = mpc::set_d_d(&mut c, one_third, neg_inf, mpc::RNDNN);
    assert_eq!(dirs, 0);
    let re = mpfr::get_d(mpc::realref_const(&c), mpfr::rnd_t::RNDN);
    assert_eq!(re, one_third);
    let im = mpfr::get_d(mpc::imagref_const(&c), mpfr::rnd_t::RNDN);
    assert_eq!(im, neg_inf);
    mpc::clear(&mut c);
}

Structs§

mpc_t
See: mpc_t
mpcb_t
Experimental struct. See: mpcb_t
mpcr_t
Experimental struct. See: mpcr_t

Constants§

RNDAA
See: Rounding Modes
RNDAD
See: Rounding Modes
RNDAN
See: Rounding Modes
RNDAU
See: Rounding Modes
RNDAZ
See: Rounding Modes
RNDDA
See: Rounding Modes
RNDDD
See: Rounding Modes
RNDDN
See: Rounding Modes
RNDDU
See: Rounding Modes
RNDDZ
See: Rounding Modes
RNDNA
See: Rounding Modes
RNDND
See: Rounding Modes
RNDNN
See: Rounding Modes
RNDNU
See: Rounding Modes
RNDNZ
See: Rounding Modes
RNDUA
See: Rounding Modes
RNDUD
See: Rounding Modes
RNDUN
See: Rounding Modes
RNDUU
See: Rounding Modes
RNDUZ
See: Rounding Modes
RNDZA
See: Rounding Modes
RNDZD
See: Rounding Modes
RNDZN
See: Rounding Modes
RNDZU
See: Rounding Modes
RNDZZ
See: Rounding Modes
VERSION
See: MPC_VERSION
VERSION_MAJOR
See: MPC_VERSION_MAJOR
VERSION_MINOR
See: MPC_VERSION_MINOR
VERSION_PATCHLEVEL
See: MPC_VERSION_PATCHLEVEL
VERSION_STRING
See: MPC_VERSION_STRING

Functions§

INEX1
See: Return Value
INEX2
See: Return Value
INEX_IM
See: Return Value
INEX_RE
See: Return Value
VERSION_NUM
See: MPC_VERSION_NUM
abs
See: mpc_abs
acos
See: mpc_acos
acosh
See: mpc_acosh
add
See: mpc_add
add_fr
See: mpc_add_fr
add_ui
See: mpc_add_ui
agm
See: mpc_agm
arg
See: mpc_arg
asin
See: mpc_asin
asinh
See: mpc_asinh
atan
See: mpc_atan
atanh
See: mpc_atanh
clear
See: mpc_clear
cmp
See: mpc_cmp
cmp_abs
See: mpc_cmp_abs
cmp_si
See: mpc_cmp_si
cmp_si_si
See: mpc_cmp_si_si
conj
See: mpc_conj
cos
See: mpc_cos
cosh
See: mpc_cosh
div
See: mpc_div
div_2si
See: mpc_div_2si
div_2ui
See: mpc_div_2ui
div_fr
See: mpc_div_fr
div_ui
See: mpc_div_ui
dot
See: mpc_dot
eta_fund
Experimental function. See: mpc_eta_fund
exp
See: mpc_exp
fma
See: mpc_fma
fr_div
See: mpc_fr_div
fr_sub
See: mpc_fr_sub
free_str
See: mpc_free_str
get_prec
See: mpc_get_prec
get_prec2
See: mpc_get_prec2
get_str
See: mpc_get_str
get_version
See: mpc_get_version
imag
See: mpc_imag
imagref
See: mpc_imagref
imagref_const
Constant version of imagref.
init2
See: mpc_init2
init3
See: mpc_init3
inp_str
See: mpc_inp_str
log
See: mpc_log
log10
See: mpc_log10
mpcb_add
Experimental function. See: mpcb_add
mpcb_can_round
Experimental function. See: mpcb_can_round
mpcb_clear
Experimental function. See: mpcb_clear
mpcb_div
Experimental function. See: mpcb_div
mpcb_div_2ui
Experimental function. See: mpcb_div_2ui
mpcb_get_prec
Experimental function. See: mpcb_get_prec
mpcb_init
Experimental function. See: mpcb_init
mpcb_mul
Experimental function. See: mpcb_mul
mpcb_neg
Experimental function. See: mpcb_neg
mpcb_pow_ui
Experimental function. See: mpcb_pow_ui
mpcb_round
Experimental function. See: mpcb_round
mpcb_set
Experimental function. See: mpcb_set
mpcb_set_c
Experimental function. See: mpcb_set_c
mpcb_set_inf
Experimental function. See: mpcb_set_inf
mpcb_set_ui_ui
Experimental function. See: mpcb_set_ui_ui
mpcb_sqr
Experimental function. See: mpcb_sqr
mpcb_sqrt
Experimental function. See: mpcb_sqrt
mpcr_add
Experimental function. See: mpcr_add
mpcr_add_rounding_error
Experimental function. See: mpcr_add_rounding_error
mpcr_c_abs_rnd
Experimental function. See: mpcr_c_abs_rnd
mpcr_cmp
Experimental function. See: mpcr_cmp
mpcr_div
Experimental function. See: mpcr_div
mpcr_div_2ui
Experimental function. See: mpcr_div_2ui
mpcr_get_exp
Experimental function. See: mpcr_get_exp
mpcr_inf_p
Experimental function. See: mpcr_inf_p
mpcr_lt_half_p
Experimental function. See: mpcr_lt_half_p
mpcr_max
Experimental function. See: mpcr_max
mpcr_mul
Experimental function. See: mpcr_mul
mpcr_mul_2ui
Experimental function. See: mpcr_mul_2ui
mpcr_out_str
Experimental function. See: mpcr_out_str
mpcr_set
Experimental function. See: mpcr_set
mpcr_set_inf
Experimental function. See: mpcr_set_inf
mpcr_set_one
Experimental function. See: mpcr_set_one
mpcr_set_ui64_2si64
Experimental function. See: mpcr_set_ui64_2si64
mpcr_set_zero
Experimental function. See: mpcr_set_zero
mpcr_sqr
Experimental function. See: mpcr_sqr
mpcr_sqrt
Experimental function. See: mpcr_sqrt
mpcr_sub
Experimental function. See: mpcr_sub
mpcr_sub_rnd
Experimental function. See: mpcr_sub_rnd
mpcr_zero_p
Experimental function. See: mpcr_zero_p
mul
See: mpc_mul
mul_2si
See: mpc_mul_2si
mul_2ui
See: mpc_mul_2ui
mul_fr
See: mpc_mul_fr
mul_i
See: mpc_mul_i
mul_si
See: mpc_mul_si
mul_ui
See: mpc_mul_ui
neg
See: mpc_neg
norm
See: mpc_norm
out_str
See: mpc_out_str
pow
See: mpc_pow
pow_d
See: mpc_pow_d
pow_fr
See: mpc_pow_fr
pow_si
See: mpc_pow_si
pow_ui
See: mpc_pow_ui
pow_z
See: mpc_pow_z
proj
See: mpc_proj
real
See: mpc_real
realref
See: mpc_realref
realref_const
Constant version of realref.
rootofunity
See: mpc_rootofunity
set
See: mpc_set
set_d
See: mpc_set_d
set_d_d
See: mpc_set_d_d
set_f
See: mpc_set_f
set_f_f
See: mpc_set_f_f
set_fr
See: mpc_set_fr
set_fr_fr
See: mpc_set_fr_fr
set_nan
See: mpc_set_nan
set_prec
See: mpc_set_prec
set_q
See: mpc_set_q
set_q_q
See: mpc_set_q_q
set_si
See: mpc_set_si
set_si_si
See: mpc_set_si_si
set_sj
See: mpc_set_sj
set_sj_sj
See: mpc_set_sj_sj
set_str
See: mpc_set_str
set_ui
See: mpc_set_ui
set_ui_ui
See: mpc_set_ui_ui
set_uj
See: mpc_set_uj
set_uj_uj
See: mpc_set_uj_uj
set_z
See: mpc_set_z
set_z_z
See: mpc_set_z_z
sin
See: mpc_sin
sin_cos
See: mpc_sin_cos
sinh
See: mpc_sinh
sqr
See: mpc_sqr
sqrt
See: mpc_sqrt
strtoc
See: mpc_strtoc
sub
See: mpc_fr_sub
sub_fr
See: mpc_sub_fr
sub_ui
See: mpc_sub_ui
sum
See: mpc_sum
swap
See: mpc_swap
tan
See: mpc_tan
tanh
See: mpc_tanh
ui_div
See: mpc_ui_div
ui_sub
See: mpc_ui_sub
ui_ui_sub
See: mpc_ui_ui_sub
urandom
See: mpc_urandom

Type Aliases§

rnd_t
See: mpc_rnd_t