Introduction
Mpc is a C library for the arithmetic of complex numbers with arbitrarily high precision and correct rounding of the result. It is built upon and follows the same principles as Mpfr. The library is written by Andreas Enge, Philippe Théveny and Paul Zimmermann and is distributed under the Gnu Lesser General Public License, either version 2.1 of the licence, or (at your option) any later version. The Mpc library has been registered in France by the Agence pour la Protection des Programmes on 2003-02-05 under the number IDDN FR 001 060029 000 R P 2003 000 10000.
News
Version 0.8.2, "Dianthus deltoides", released in May 2010, comes with the following new features:
-
Speed-up of
mpc_pow_uithrough binary exponentiation
How to properly cite Mpc
@manual {mpc,
author = {Andreas Enge and Philippe Th\'eveny and Paul Zimmermann},
title = {mpc --- A library for multiprecision complex
arithmetic with exact rounding},
organization = {INRIA},
edition = {0.8.2},
year = {2010},
month = may,
note = {\url{http://mpc.multiprecision.org/}}
}
Olds
Version 0.8.1, "Dianthus deltoides", released in December 2009, comes with the following new features:
-
Bug fixes:
-
acosh,asinh,atanh: swap of precisions between real and imaginary parts -
atan: memory leak -
log: wrong ternary value in data file; masked by bug in Mpfr 2.4.1
-
Version 0.8, "Dianthus deltoides", released in November 2009, comes with the following new features:
-
New functions:
-
Inverse trigonometric functions:
mpc_asin,mpc_acos,mpc_atan,mpc_asinh,mpc_acosh,mpc_atanh -
Power functions:
mpc_pow_d,mpc_pow_ld,mpc_pow_si,mpc_pow_ui,mpc_pow_z,mpc_pow_fr
-
Inverse trigonometric functions:
-
Bug fixes:
-
ui_div: real divisor
-
Version 0.7, "Campanula uniflora", released in September 2009, comes with the following new features:
-
New functions:
mpc_pow,mpc_set_nan,mpc_swap -
Bug fixes:
-
log: along branch cut -
norm: infinite loop in case of overflow -
ui_div,div,fr_div: handling of division by 0 and infinities following the example code of the C99 standard - compilation with g++
-
- Makefile.vc updated (thanks to Mickael Gastineau)
- Minimal gmp version is 4.2
-
Changed
MPC_SET_X_Ymacro -
Functions
mpc_randomandmpc_random2removed
Version 0.6, "Bellis perennis", released in April 2009, comes with the following new features:
-
New functions:
mpc_get_str,mpc_set_str,mpc_strtoc,mpc_set_uj,mpc_set_sj,mpc_set_ld,mpc_set_ld_ld,mpc_set_si_si,mpc_set_uj,mpc_set_sj,mpc_set_uj_uj,mpc_set_sj_sj,mpc_set_f,mpc_set_f_f,mpc_set_q,mpc_set_q_q,mpc_set_z,mpc_set_z_zandmpc_free_str -
New macro:
MPC_SET_X_Y -
mpc_set_ui_frremoved -
Default precision removed, as well as
initand allinit_setcombinations; useinit2andinit3, followed byset, instead -
exp,log,cos,sin,tan,cosh,sinh,tanhandsqrtreturn inexact value -
inp_strreturns inexact value and the number of read characters in an additional parameter - Get default
$CCand$CFLAGSfromgmp.h(__GMP_CC/__GMP_CFLAGS, which are available as of GMP 4.2.3) -
Bug fixes:
-
mpc_get_versionandMPC_VERSION_STRINGagree -
Compilation on
i686-pc-cygwinandi686-pc-mingw32fixed
-
Version 0.5.2, "Aconitum neomontanum", released in December 2008, comes with the following new features:
-
New macros
-
Version number:
MPC_VERSION,MPC_VERSION_NUM
-
Version number:
- Updated Makefile.vc (thanks to Mickaël Gastineau)
- Compilation fixes for Debian-Gnu-Linux-PowerPC and MacOsX (thanks to Laurent Fousse and Mickaël Gastineau)
Version 0.5.1, "Aconitum neomontanum", released in November 2008, comes with the following new features:
-
New functions
-
set_fr_fr -
real,imag -
arg,proj
-
-
New macros
-
Version number:
MPC_VERSION_MAJOR,MPC_VERSION_MINOR,MPC_VERSION_PATCHLEVEL,MPC_VERSION_STRING -
References to number parts:
realref,imagref
-
Version number:
- Rewritten test framework, leading to many...
-
Bug fixes
-
configurelooks forgmp(>= 4.2) first, then formpfr(>= 2.3.1) -
cos,div,div_fr,fr_sub,mul_fr,set_fr,sqr -
fixed handling of special values:
exp,log,mul,norm,sqr,sqrt
-
-
Optimisations:
mul_fr,sin,cos -
New
configureoptions:--with-gmp-lib,--with-gmp-include,--with-mpfr-lib,--with-mpfr-include -
Export declarations for MSWindows,
makefile.vcupdated (contributed by Mickaël Gastineau)