Gnu Mpc is a C library for the arithmetic of complex numbers with arbitrarily high precision and correct rounding of the result. It extends the principles of the IEEE-754 standard for fixed precision real floating point numbers to complex numbers, providing well-defined semantics for every operation. At the same time, speed of operation at high precision is a major design goal.
The library is built upon and follows the same principles as Gnu Mpfr. It is written by Andreas Enge, Mickaël Gastineau, Philippe Théveny and Paul Zimmermann and is distributed under the Gnu Lesser General Public License, either version 3 of the licence, or (at your option) any later version (LGPLv3+). The Gnu 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.
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:
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
Fixed case of intermediate zero real or imaginary part in
mpc_fma, found by hydra with
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
- 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
mpc_normnow return a value indicating the effective rounding direction, as the other functions
mpc_normnow return correct results even if there are over- or underflows during the computation
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