Introduction
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.
News
Version 1.4.0, "Jasminum grandiflorum", released in March 2026, comes with the following new features:
-
New functions:
mpc_exp10,mpc_exp2,mpc_log2 -
Bug fixes:
-
mpc_tanandmpc_tanh: Fix wrong values and slowness for large imaginary part. -
mpc_pow: Agree on and implement the sign of the imaginary part when both inputs are real. -
mpc_fr_divandmpc_ui_div: Treat the imaginary part of the dividend as an exact zero and not as +0, following the C2Y draft of the C standard. This changes the signs of zeroes in some results.
-
-
Generate the pkg-config file
mpc.pc. -
Add support for non-standard complex types
(
_Dcomplex,_Lcomplex) under Windows.