- Switched to automake 1.11.6, see CVE-2012-3386.
- #14669: Fixed extraction of CC from gmp.h.
- Fixed case of intermediate zero real or imaginary part in mpc_fma,
found by hydra with GMP_CHECK_RANDOMIZE=1346362345.
This is on top of the following changes from version 1.0
- 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 to mpc_mul_2ui
. mpc_div_2exp to mpc_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 and mpc_norm now return a value indicating the effective
rounding direction, as the other functions.
. mpc_mul, mpc_sqr and mpc_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.
Convert to the new LIB_DEPENDS standard and remove hard-coded
.so versions from a couple of dependent ports.
Bump PORTREVISIONS of all dependent ports.
PR: 183141
Approved by: portmgr (bdrewery)
- New functions:
. mpc_set_dc, mpc_set_ldc, mpc_get_dc, mpc_get_ldc for converting
between mpc type variables and C variables of type double _Complex
or long 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 of mpc_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"
- 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
PR: 141825
Submitted by: bf1783@gmail.com
- 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)
- Changed MPC_SET_X_Y macro
- Removed functions mpc_random and mpc_random2 (which no port uses)
Approved by: maintainer (wen heping)
Feature safe: yes
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 Theveny and Paul
Zimmermann and is distributed under the Gnu Lesser General Public
License, either version 2.1 of the license, 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.
WWW: http://www.multiprecision.org/
PR: ports/133395
Submitted by: Wen Heping <wenheping at gmail.com>