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§
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