1Changes in version 1.3.1, released in December 2022: 2 - Bug fix: It is again possible to include mpc.h without including 3 stdio.h. 4 5Changes in version 1.3.0 ("Ipomoea batatas"), released in December 2022: 6 - New function: mpc_agm 7 - New rounding modes "away from zero", indicated by the letter "A" and 8 corresponding to MPFR_RNDA on the designated real or imaginary part. 9 - New experimental ball arithmetic. 10 - New experimental function: mpc_eta_fund 11 - Bug fixes: 12 - mpc_asin for asin(z) with small |Re(z)| and tiny |Im(z)| 13 - mpc_pow_fr: sign of zero part of result when the base has up to sign 14 the same real and imaginary part, and the exponent is an even 15 positive integer 16 - mpc_fma: the returned 'int' value was incorrect in some cases (indicating 17 whether the rounded real/imaginary parts were smaller/equal/greater 18 than the exact values), but the computed complex value was correct. 19 - Remove the unmaintained Makefile.vc; build files for Visual Studio 20 can be found at https://github.com/BrianGladman/mpc . 21 22Changes in version 1.2.1, released in October 2020: 23 - Bug fixes: 24 - Fix an incompatibility problem with GMP 6.0 and before. 25 - Fix an intermediate overflow in asin. 26 27Changes in version 1.2.0 ("Hyacinthus orientalis"), released in August 2020: 28 - Minimally required library version: MPFR 4.1.0 29 - New functions: mpc_sum, mpc_dot 30 - Several functions are more robust with a reduced exponent range 31 (for example corresponding to IEEE 754 binary formats) 32 - New tool mpcheck. 33 34Changes in version 1.1.0 ("Gladiolus palustris"), released in January 2018: 35 - Minimally required library versions: GMP 5.0.0 and MPFR 3.0.0 36 - Fixed issues with MPFR 4.0.0 37 - New functions: mpc_cmp_abs, mpc_rootofunity 38 - Improved speed for corner cases of mpc_asin, mpc_sin, see 39 https://sympa.inria.fr/sympa/arc/mpc-discuss/2013-12/msg00001.html 40 - Rewrite of the testing framework 41 - New mpcbench tool, used with "make bench" 42 - Fixed handling of over- and underflows with directed rounding in the 43 "other direction" for mpc_cos, mpc_sin, mpc_exp and mpc_pow, see 44 https://sympa.inria.fr/sympa/arc/mpc-discuss/2015-03/msg00003.html 45 - Fixed a bug in mpc_atan(0,y) with |y| near 1, see 46 https://sympa.inria.fr/sympa/arc/mpc-discuss/2017-03/msg00000.html 47 48Changes in version 1.0.3, released in February 2015: 49 - Fixed mpc_pow, see 50 https://sympa.inria.fr/sympa/arc/mpc-discuss/2014-10/msg00005.html 51 - #18257: Switched to libtool 2.4.5. 52 53Changes in version 1.0.2, released in January 2014: 54 - Fixed mpc_atan, mpc_atanh for (+-0, +-1), see 55 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57994#c7 56 - Fixed mpc_log10 for purely imaginary argument, see 57 https://sympa.inria.fr/sympa/arc/mpc-discuss/2012-09/msg00001.html 58 59Changes in version 1.0.1, released in September 2012: 60 - Switched to automake 1.11.6, see 61 https://lists.gnu.org/archive/html/automake/2012-07/msg00023.html 62 - #14669: Fixed extraction of CC from gmp.h 63 - Fixed case of intermediate zero real or imaginary part in mpc_fma, 64 found by hydra with GMP_CHECK_RANDOMIZE=1346362345 65 66Changes in version 1.0 ("Fagus silvatica"), released in July 2012: 67 - First release as a GNU package 68 - License change: LGPLv3+ for code, GFDLv1.3+ (with no invariant sections) 69 for documentation 70 - 100% of all lines are covered by tests 71 - Functions renamed: 72 mpc_mul_2exp to mpc_mul_2ui, mpc_div_2exp to mpc_div_2ui 73 - 0^0, which returned (NaN,NaN) previously, now returns (1,+0) 74 - Removed compatibility with K&R compilers, untestable due to lack of 75 such compilers 76 - New functions: mpc_log10, mpc_mul_2si, mpc_div_2si 77 - Speed-ups: 78 - mpc_fma 79 - Bug fixes: 80 - mpc_div and mpc_norm now return a value indicating the effective 81 rounding direction, as the other functions 82 - mpc_mul, mpc_sqr and mpc_norm now return correct results even if there 83 are over- or underflows during the computation 84 - mpc_asin, mpc_proj, mpc_sqr: Wrong result when input variable has 85 infinite part and equals output variable is corrected 86 - mpc_fr_sub: Wrong return value for imaginary part is corrected 87 88Changes in version 0.9 ("Epilobium montanum"), released in February 2011: 89 - New functions: 90 - mpc_set_dc, mpc_set_ldc, mpc_get_dc, mpc_get_ldc for converting 91 between mpc type variables and C variables of type double _Complex 92 or long double _Complex 93 - mpc_sin_cos, computing simultaneously the sine and cosine 94 - Speed-ups: 95 - mpc_pow_si through binary exponentiation 96 - mpc_pow_z when the exponent fits in a long 97 - mpc_tan through the use of mpc_sin_cos 98 - Bug fixes: 99 - trigonometric functions: infinite loop due to overflow for large 100 arguments 101 - mpc_exp: close to infinite loop for argument close to 0 102 - mpc_sqrt: close to infinite loop for argument close to 1 103 - mpc_add_si: replaced macro by function, since the macro evaluated the 104 same expression twice 105 - Logging feature for debugging: 106 ./configure --enable-logging 107 #include "mpc-log.h" instead of #include "mpc.h" 108 - Minimally required library versions: gmp 4.3.2, mpfr 2.4.2 109 110Changes in version 0.8.2, released in May 2010: 111 - Speed-up of mpc_pow_ui through binary exponentiation 112 113Changes in version 0.8.1, released in December 2009: 114 - Bug fixes: 115 - mpc_acosh, mpc_asinh, mpc_atanh: swap of precisions between real and 116 imaginary parts 117 - mpc_atan: memory leak 118 - mpc_log: wrong ternary value in data file; masked by bug in mpfr-2.4.1 119 120Changes in version 0.8 ("Dianthus deltoides"), released in November 2009: 121 - New functions: 122 - mpc_asin, mpc_acos, mpc_atan, mpc_asinh, mpc_acosh, mpc_atanh, 123 mpc_pow_d, mpc_pow_ld, mpc_pow_si, mpc_pow_ui, mpc_pow_z, mpc_pow_fr 124 - Bug fixes: 125 - mpc_ui_div: real divisor 126 127Changes in version 0.7 ("Campanula uniflora"), released in September 2009: 128 - New functions: mpc_pow, mpc_set_nan, mpc_swap 129 - Bug fixes: 130 - mpc_log: along branch cut 131 - mpc_norm: infinite loop in case of overflow 132 - mpc_ui_div, mpc_div, mpc_fr_div: handling of division by 0 and 133 infinities following the example code of the C99 standard 134 - compilation with g++ 135 - Makefile.vc updated (thanks to Mickael Gastineau) 136 - Minimal gmp version is 4.2 137 - Changed MPC_SET_X_Y macro 138 - Functions mpc_random and mpc_random2 removed 139 140Changes in version 0.6 ("Bellis perennis"), released in April 2009: 141 - New functions: mpc_get_str, mpc_set_str, mpc_strtoc, mpc_set_uj, 142 mpc_set_sj, mpc_set_ld, mpc_set_ld_ld, mpc_set_si_si, mpc_set_uj_uj, 143 mpc_set_sj_sj, mpc_set_f, mpc_set_f_f, mpc_set_q, mpc_set_q_q, mpc_set_z, 144 mpc_set_z_z and mpc_free_str 145 - New macro: MPC_SET_X_Y 146 - mpc_set_ui_fr removed 147 - Default precision removed, as well as mpc_init and all mpc_init_set* 148 combinations; use mpc_init2 or mpc_init3, followed by mpc_set, instead 149 - mpc_exp, mpc_log, mpc_cos, mpc_sin, mpc_tan, mpc_cosh, mpc_sinh, 150 mpc_tanh and mpc_sqrt return inexact value 151 - inp_str returns inexact value and the number of read characters 152 in an additional parameter 153 - Get default $CC and $CFLAGS from gmp.h (__GMP_CC / __GMP_CFLAGS, 154 which are available as of GMP 4.2.3) 155 - Bug fixes: 156 - mpc_get_version and MPC_VERSION_STRING agree 157 - Compilation on i686-pc-cygwin and i686-pc-mingw32 fixed 158 159Changes in version 0.5.2, released in December 2008: 160 - New macros: 161 - version number: MPC_VERSION_NUM, MPC_VERSION 162 - Makefile.vc updated (thanks to Mickael Gastineau) 163 - Compilation on Debian-Gnu-Linux-PowerPC and MacOsX 164 fixed (thanks to Laurent Fousse and Mickael Gastineau) 165 166Changes in version 0.5.1, released in November 2008: 167 - New functions: 168 - mpc_set_fr_fr 169 - mpc_real, mpc_imag 170 - mpc_arg, mpc_proj 171 - New macros: 172 - version number: MPC_VERSION_MAJOR, MPC_VERSION_MINOR, 173 MPC_VERSION_PATCHLEVEL, MPC_VERSION_STRING 174 - references to number parts: mpc_realref and mpc_imagref 175 - Test framework rewritten 176 - Configure checks for recent gmp (>= 4.2) and mpfr (>= 2.3.1) 177 libraries 178 - New configure options: --with-gmp-lib, --with-gmp-include, 179 --with-mpfr-lib, and --with-mpfr-include 180 - Export declarations for MSWindows, makefile.vc updated (thanks to 181 Mickael Gastineau) 182 - Optimisations: 183 - cmp_mul_fr, cmp_sin, cmp_cos 184 - Bug fixes: 185 - configure looks for gmp first, then for mpfr 186 - mpc_cos, mpc_div, mpc_div_fr, mpc_fr_sub, mpc_mul_fr, mpc_set_fr, 187 mpc_sqr 188 - fix handling of special values: mpc_exp, mpc_log, mpc_mul, mpc_norm, 189 mpc_sqr, mpc_sqrt 190 191Changes in version 0.5 ("Aconitum neomontanum"), released in September 2008: 192 - Support for autotools 193 - New functions: 194 - logarithm 195 - trigonometric functions: mpc_cos, mpc_tan 196 - hyperbolic functions: mpc_cosh, mpc_sinh, mpc_tanh 197 - Bug fixes: 198 - mpc_sqrt with directed rounding 199 200 201Copyright (C) 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2020, 2022 INRIA 202 203Copying and distribution of this file, with or without modification, 204are permitted in any medium without royalty provided the copyright 205notice and this notice are preserved. This file is offered as-is, 206without any warranty. 207