.. _spkg_mpc:

mpc: Arithmetic of complex numbers with arbitrarily high precision and correct rounding
=======================================================================================

Description
-----------

From https://www.multiprecision.org/mpc: 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.

License
-------

LGPLv3+ for the code and GFDLv1.3+ (with no invariant sections) for the
documentation.


Upstream Contact
----------------

The MPC website is located at https://www.multiprecision.org/mpc .

The MPC team can be contacted via the MPC mailing list: mpc-discuss@inria.fr

Special Update/Build Instructions
---------------------------------

-  mpc_mul_faster.patch: Patch from Paul Zimmermann to speed up MPC
   multiplication (for small precisions) by reducing overhead in MPFR
   operations.

Type
----

standard


Dependencies
------------

- $(MP_LIBRARY)
- :ref:`spkg_mpfr`

Version Information
-------------------

package-version.txt::

    1.1.0


Equivalent System Packages
--------------------------

conda:

.. CODE-BLOCK:: bash

    $ conda install  mpc


cygwin:

.. CODE-BLOCK:: bash

    $ apt-cyg install libmpc-devel


Debian/Ubuntu:

.. CODE-BLOCK:: bash

    $ sudo apt-get install  libmpc-dev


Fedora/Redhat/CentOS:

.. CODE-BLOCK:: bash

    $ sudo yum install  libmpc libmpc-devel


freebsd:

.. CODE-BLOCK:: bash

    $ sudo pkg install math/mpc


gentoo:

.. CODE-BLOCK:: bash

    $ sudo emerge dev-libs/mpc


homebrew:

.. CODE-BLOCK:: bash

    $ brew install libmpc


nix:

.. CODE-BLOCK:: bash

    $ nix-env --install libmpc


opensuse:

.. CODE-BLOCK:: bash

    $ sudo zypper install mpc-devel


void:

.. CODE-BLOCK:: bash

    $ sudo xbps-install  libmpc-devel


See https://repology.org/project/libmpc/versions


If the system package is installed, ./configure will check whether it can be used.

