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