Olds
Version 1.2.1, "Hyacinthus orientalis", released in October 2020, comes with the following new features:
-
Bug fixes:
- Fix an incompatibility problem with GMP 6.0 and before.
- Fix an intermediate overflow in asin.
Version 1.2.0, "Hyacinthus orientalis", released in August 2020, comes with the following new features:
- Minimally required library version: mpfr 4.1.0
-
New functions:
mpc_sum
mpc_dot
- Several functions are more robust with a reduced exponent range (for example corresponding to IEEE 754 binary formats).
-
New
mpcheck
tool for comparison with the native C library
Version 1.1.0, "Gladiolus palustris", released in January 2018, comes with the following new features:
- Minimally required library versions: gmp 5.0.0, mpfr 3.0.0
-
New functions:
mpc_cmp_abs
mpc_rootofunity
- Rewrite of the testing framework
-
New
mpcbench
tool, used withmake bench
-
Bug fixes and improvements of existing functions:
- Fixed compilation with mpfr 4.0.0
-
Fixed
handling of over- and underflows with directed rounding in the
"other direction" for
mpc_cos
,mpc_sin
,mpc_exp
andmpc_pow
-
Fixed a bug in
mpc_atan(0,y)
with |y| near 1
Version 1.0.3, "Fagus silvatica", released in February 2015, comes with the following bug fixes:
-
Fixed
mpc_pow
- Switched to libtool 2.4.5
The third MPFR/MPC developer meeting has been held in Nancy from January 20 to 22, 2014.
Version 1.0.2, "Fagus silvatica", released in January 2014, comes with the following bug fixes:
-
Fixed
mpc_atan
,mpc_atanh
for (+-0, +-1) -
Fixed
mpc_log10
for purely imaginary argument
Version 1.0.1, "Fagus silvatica", released in September 2012, comes with the following bug fixes:
- Switched to automake 1.11.6, see CVE-2012-3386
-
Fixed extraction of
CC
fromgmp.h
-
Fixed case of intermediate zero real or imaginary part in
mpc_fma
, found by hydra withGMP_CHECK_RANDOMIZE=1346362345
Version 1.0, "Fagus silvatica", released in July 2012, comes with the following new features:
- First release as a GNU package
- Licence change towards LGPLv3+ for the code and GFDLv1.3+ (with no invariant sections) for the documentation
- 100% of all lines are covered by tests
-
Renamed functions
mpc_mul_2exp
tompc_mul_2ui
mpc_div_2exp
tompc_div_2ui
- 0^0, which returned (NaN,NaN) previously, now returns (1,+0)
- Removed compatibility with K&R compilers, which was untestable due to lack of such compilers
-
New functions
mpc_log10
mpc_mul_2si
,mpc_div_2si
-
Speed-ups
mpc_fma
-
Bug fixes
-
mpc_div
andmpc_norm
now return a value indicating the effective rounding direction, as the other functions -
mpc_mul
,mpc_sqr
andmpc_norm
now return correct results even if there are over- or underflows during the computation -
mpc_asin
,mpc_proj
,mpc_sqr
: Wrong result when input variable has infinite part and equals output variable is corrected -
mpc_fr_sub
: Wrong return value for imaginary part is corrected
-
The second MPFR/MPC developer meeting has been held in Bordeaux from June 25 to 27, 2012.
Version 0.9, "Epilobium montanum", released in February 2011, comes with the following new features:
-
New functions
-
mpc_set_dc
,mpc_set_ldc
,mpc_get_dc
,mpc_get_ldc
for converting between mpc type variables and C variables of typedouble _Complex
orlong double _Complex
-
mpc_sin_cos
, computing simultaneously the sine and cosine
-
-
Speed-ups
-
mpc_pow_si
through binary exponentiation -
mpc_pow_z
when the exponent fits in a long -
mpc_tan
through the use ofmpc_sin_cos
-
-
Bug fixes
- trigonometric functions: infinite loop due to overflow for large arguments
-
exp
: close to infinite loop for argument close to 0 -
sqrt
: close to infinite loop for argument close to 1 -
add_si
: replaced macro by function, since the macro evaluated the same expression twice
-
Logging feature for debugging
./configure --enable-logging
#include "mpc-log.h"
instead of#include "mpc.h"
- Minimally required library versions: gmp 4.3.2, mpfr 2.4.2
Version 0.8.2, "Dianthus deltoides", released in May 2010, comes with the following new features:
-
Speed-up of
mpc_pow_ui
through binary exponentiation
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_Y
macro -
Functions
mpc_random
andmpc_random2
removed
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_z
andmpc_free_str
-
New macro:
MPC_SET_X_Y
-
mpc_set_ui_fr
removed -
Default precision removed, as well as
init
and allinit_set
combinations; useinit2
andinit3
, followed byset
, instead -
exp
,log
,cos
,sin
,tan
,cosh
,sinh
,tanh
andsqrt
return inexact value -
inp_str
returns inexact value and the number of read characters in an additional parameter - Get default
$CC
and$CFLAGS
fromgmp.h
(__GMP_CC
/__GMP_CFLAGS
, which are available as of GMP 4.2.3) -
Bug fixes:
-
mpc_get_version
andMPC_VERSION_STRING
agree -
Compilation on
i686-pc-cygwin
andi686-pc-mingw32
fixed
-
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
-
configure
looks 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
configure
options:--with-gmp-lib
,--with-gmp-include
,--with-mpfr-lib
,--with-mpfr-include
-
Export declarations for MSWindows,
makefile.vc
updated (contributed by Mickaël Gastineau)