Changes in version 1.4.0, released in March 2026:
  - New functions: mpc_exp10, mpc_exp2, mpc_log2
  - Bug fixes:
    - mpc_tan and mpc_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_div and mpc_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

Changes in version 1.3.1, released in December 2022:
  - Bug fix: It is again possible to include mpc.h without including
    stdio.h.

Changes in version 1.3.0 ("Ipomoea batatas"), released in December 2022:
  - New function: mpc_agm
  - New rounding modes "away from zero", indicated by the letter "A" and
    corresponding to MPFR_RNDA on the designated real or imaginary part.
  - New experimental ball arithmetic.
  - New experimental function: mpc_eta_fund
  - Bug fixes:
    - mpc_asin for asin(z) with small |Re(z)| and tiny |Im(z)|
    - mpc_pow_fr: sign of zero part of result when the base has up to sign
      the same real and imaginary part, and the exponent is an even
      positive integer
    - mpc_fma: the returned 'int' value was incorrect in some cases (indicating
      whether the rounded real/imaginary parts were smaller/equal/greater
      than the exact values), but the computed complex value was correct.
  - Remove the unmaintained Makefile.vc; build files for Visual Studio
    can be found at https://github.com/BrianGladman/mpc .

Changes in version 1.2.1, released in October 2020:
  - Bug fixes:
    - Fix an incompatibility problem with GMP 6.0 and before.
    - Fix an intermediate overflow in asin.

Changes in version 1.2.0 ("Hyacinthus orientalis"), released in August 2020:
  - 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 tool mpcheck.

Changes in version 1.1.0 ("Gladiolus palustris"), released in January 2018:
  - Minimally required library versions: GMP 5.0.0 and MPFR 3.0.0
  - Fixed issues with MPFR 4.0.0
  - New functions: mpc_cmp_abs, mpc_rootofunity
  - Improved speed for corner cases of mpc_asin, mpc_sin, see
    https://sympa.inria.fr/sympa/arc/mpc-discuss/2013-12/msg00001.html
  - Rewrite of the testing framework
  - New mpcbench tool, used with "make bench"
  - Fixed handling of over- and underflows with directed rounding in the
    "other direction" for mpc_cos, mpc_sin, mpc_exp and mpc_pow, see
    https://sympa.inria.fr/sympa/arc/mpc-discuss/2015-03/msg00003.html
  - Fixed a bug in mpc_atan(0,y) with |y| near 1, see
    https://sympa.inria.fr/sympa/arc/mpc-discuss/2017-03/msg00000.html

Changes in version 1.0.3, released in February 2015:
  - Fixed mpc_pow, see
    https://sympa.inria.fr/sympa/arc/mpc-discuss/2014-10/msg00005.html
  - #18257: Switched to libtool 2.4.5.

Changes in version 1.0.2, released in January 2014:
  - Fixed mpc_atan, mpc_atanh for (+-0, +-1), see
    http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57994#c7
  - Fixed mpc_log10 for purely imaginary argument, see
    https://sympa.inria.fr/sympa/arc/mpc-discuss/2012-09/msg00001.html

Changes in version 1.0.1, released in September 2012:
  - Switched to automake 1.11.6, see
    https://lists.gnu.org/archive/html/automake/2012-07/msg00023.html
  - #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

Changes in version 1.0 ("Fagus silvatica"), released in July 2012:
  - First release as a GNU package
  - License change: LGPLv3+ for code, GFDLv1.3+ (with no invariant sections)
    for documentation
  - 100% of all lines are covered by tests
  - Functions renamed:
    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, 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

Changes in version 0.9 ("Epilobium montanum"), released in February 2011:
  - 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
    - mpc_exp: close to infinite loop for argument close to 0
    - mpc_sqrt: close to infinite loop for argument close to 1
    - mpc_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

Changes in version 0.8.2, released in May 2010:
  - Speed-up of mpc_pow_ui through binary exponentiation

Changes in version 0.8.1, released in December 2009:
  - Bug fixes:
    - mpc_acosh, mpc_asinh, mpc_atanh: swap of precisions between real and
      imaginary parts
    - mpc_atan: memory leak
    - mpc_log: wrong ternary value in data file; masked by bug in mpfr-2.4.1

Changes in version 0.8 ("Dianthus deltoides"), released in November 2009:
  - New functions:
    - mpc_asin, mpc_acos, mpc_atan, mpc_asinh, mpc_acosh, mpc_atanh,
      mpc_pow_d, mpc_pow_ld, mpc_pow_si, mpc_pow_ui, mpc_pow_z, mpc_pow_fr
  - Bug fixes:
    - mpc_ui_div: real divisor

Changes in version 0.7 ("Campanula uniflora"), released in September 2009:
  - New functions: mpc_pow, mpc_set_nan, mpc_swap
  - Bug fixes:
    - mpc_log: along branch cut
    - mpc_norm: infinite loop in case of overflow
    - mpc_ui_div, mpc_div, mpc_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 and mpc_random2 removed

Changes in version 0.6 ("Bellis perennis"), released in April 2009:
  - 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_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 and mpc_free_str
  - New macro: MPC_SET_X_Y
  - mpc_set_ui_fr removed
  - Default precision removed, as well as mpc_init and all mpc_init_set*
    combinations; use mpc_init2 or mpc_init3, followed by mpc_set, instead
  - mpc_exp, mpc_log, mpc_cos, mpc_sin, mpc_tan, mpc_cosh, mpc_sinh,
    mpc_tanh and mpc_sqrt return inexact value
  - inp_str returns inexact value and the number of read characters
    in an additional parameter
  - Get default $CC and $CFLAGS from gmp.h (__GMP_CC / __GMP_CFLAGS,
    which are available as of GMP 4.2.3)
  - Bug fixes:
    - mpc_get_version and MPC_VERSION_STRING agree
    - Compilation on i686-pc-cygwin and i686-pc-mingw32 fixed

Changes in version 0.5.2, released in December 2008:
  - New macros:
    - version number: MPC_VERSION_NUM, MPC_VERSION
  - Makefile.vc updated (thanks to Mickael Gastineau)
  - Compilation on Debian-Gnu-Linux-PowerPC and MacOsX
    fixed (thanks to Laurent Fousse and Mickael Gastineau)

Changes in version 0.5.1, released in November 2008:
  - New functions:
    - mpc_set_fr_fr
    - mpc_real, mpc_imag
    - mpc_arg, mpc_proj
  - New macros:
    - version number: MPC_VERSION_MAJOR, MPC_VERSION_MINOR,
      MPC_VERSION_PATCHLEVEL, MPC_VERSION_STRING
    - references to number parts: mpc_realref and mpc_imagref
  - Test framework rewritten
  - Configure checks for recent gmp (>= 4.2) and mpfr (>= 2.3.1)
    libraries
  - New configure options: --with-gmp-lib, --with-gmp-include,
     --with-mpfr-lib, and --with-mpfr-include
  - Export declarations for MSWindows, makefile.vc updated (thanks to
    Mickael Gastineau)
  - Optimisations:
    - cmp_mul_fr, cmp_sin, cmp_cos
  - Bug fixes:
    - configure looks for gmp first, then for mpfr
    - mpc_cos, mpc_div, mpc_div_fr, mpc_fr_sub, mpc_mul_fr, mpc_set_fr,
      mpc_sqr
    - fix handling of special values: mpc_exp, mpc_log, mpc_mul, mpc_norm,
      mpc_sqr, mpc_sqrt

Changes in version 0.5 ("Aconitum neomontanum"), released in September 2008:
  - Support for autotools
  - New functions:
     - logarithm
     - trigonometric functions: mpc_cos, mpc_tan
     - hyperbolic functions: mpc_cosh, mpc_sinh, mpc_tanh
  - Bug fixes:
    - mpc_sqrt with directed rounding


Copyright (C) 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2020, 2022 INRIA

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved. This file is offered as-is,
without any warranty.
