12023-08-22  Vincent Lefevre  <vincent@vinc17.net>
2
3	Updated version to 4.2.1.
4
52023-08-18  Vincent Lefevre  <vincent@vinc17.net>
6
7	ChangeLog update with tools/update-changelog
8
9	[tools/gitlog-to-changelog] Improve --strip-cherry-pick for this repository.
10
11	Updated version to 4.2.1-rc1.
12
132023-08-18  Vincent Lefevre  <vincent@vinc17.net>
14
15	[configure.ac] More checks for the support of old dtags.
16
17	There is an attempt to use the old dtags when LD_LIBRARY_PATH is
18	defined in order to avoid issues with the testsuite when this path
19	contains some compatible version of the MPFR library. However, the
20	old dtags do not work everywhere at run time, even when they appear
21	to work at link time (via -Wl,--disable-new-dtags).
22
23	So, let's restrict to *-*-linux-gnu hosts. Unfortunately, this is
24	not sufficient for Android/Termux, where config.guess currently
25	identifies the host as GNU/Linux (matching *-*-linux-gnu) instead of
26	Android, but the old dtags do not work at run time. So, let's also
27	exclude Termux explicitly (a test to exclude all Android hosts would
28	be better, though).
29
30	Note: in most cases, LD_LIBRARY_PATH is not set, so that there should
31	be no issues in practice.
32
332023-08-18  Vincent Lefevre  <vincent@vinc17.net>
34
35	[NEWS] Update for 4.2.1
36
372023-08-18  Vincent Lefevre  <vincent@vinc17.net>
38
39	[src/compound.c] Removed obsolete FIXME.
40
41	The implementation changed in 63cc8dfaf4dd93d68bb4f12c0787046f8a525893
42	(cherry picked in 952fb0f5cc2df1fffde3eb54c462fdae5f123ea6).
43
442023-08-17  Vincent Lefevre  <vincent@vinc17.net>
45
46	[strtofr.c] Fixed 2 mpfr_strtofr bugs in case of huge negative exponent.
47
48	This fixes the bugs triggered by bug20230606, mentioned at
49	  https://sympa.inria.fr/sympa/arc/mpfr/2023-06/msg00000.html
50	  https://sympa.inria.fr/sympa/arc/mpfr/2023-06/msg00001.html
51
52	These bugs are integer overflows, meaning undefined behavior.
53	In practice, the consequences may be incorrect results. But
54	for the first bug, it has been seen that a GCC optimization
55	makes the bug invisible.
56
57	Note: There are other issues with the code for huge exponents
58	(in strtofr.c and the MPFR_SADD_OVERFLOW macro from mpfr-impl.h).
59	See FIXME from commits
60	  aa30bfe3c868640852fa2510b0f228170e39c0c5
61	  e06a073c157fe95dd24d16d9fc3eef3781b58795
62	in master. But it is not clear whether the problematic cases can
63	occur in the context of mpfr_strtofr: my attempts to trigger a
64	problematic case failed, so that there is a chance that the code
65	is actually correct; but many parameters are involved, including
66	those based on the internal structure in limbs, so that it is
67	difficult to say for now. A closer analysis needs to be done.
68	Even if correct, the code would need to be cleaned up, proved,
69	and better documented.
70
712023-08-17  Vincent Lefevre  <vincent@vinc17.net>
72
73	[tests/tstrtofr.c] Added testcases for mpfr_strtofr integer overflows.
74
75	These bugs occur on inputs with a large negative exponents, such as
76	"0.1E-99999999999999999999".
77
78	A first bug was reported by Michael Jones at
79	  https://sympa.inria.fr/sympa/arc/mpfr/2023-06/msg00000.html
80
81	Second bug mentioned at
82	  https://sympa.inria.fr/sympa/arc/mpfr/2023-06/msg00001.html
83
842023-08-16  Vincent Lefevre  <vincent@vinc17.net>
85
86	[doc/mpfr.texi] Updated the month.
87
882023-08-15  Vincent Lefevre  <vincent@vinc17.net>
89
90	Formatted output functions: fixed ���+���/space flags on NaN and Inf.
91
92	This is about the documentation and behavior of the mpfr_printf,
93	etc. functions on MPFR numbers (mpfr_t) only, i.e. with the ���R���
94	type specifier.
95
96	The ���+��� and space flags were ignored on NaN and Inf. While this
97	was loosely documented as such (without an explicit mention of
98	these flags), the GNU MPFR manual also says that the flags have
99	the same meaning as for the standard ���printf��� function. So this
100	was contradictory and regarded as a bug.
101
102	Behaving like the ISO C standard should give less surprise, and
103	this is probably what is expected (better for alignment purpose).
104
105	This was partly discussed at
106	  https://sympa.inria.fr/sympa/arc/mpfr/2023-03/msg00003.html
107	(only for NaN and the ���+��� flag at that time).
108
109	* doc/mpfr.texi: corrected the documentation.
110	* src/vasprintf.c: fixed (the code is now simpler since the rule
111	  is the same in all cases: real and non-real values).
112	* tests/tsprintf.c: grouped all the tests of NaN and Inf, and
113	  added much more tests (by constructing the format string in
114	  nested loops instead of just a few hardcoded cases).
115
1162023-08-15  Vincent Lefevre  <vincent@vinc17.net>
117
118	[src/vasprintf.c] Coding style.
119
1202023-08-10  Vincent Lefevre  <vincent@vinc17.net>
121
122	[configure.ac] For libgmp, replaced AC_CHECK_LIB by our own link test.
123
124	The issue with AC_CHECK_LIB is that it cannot know the prototype of
125	mpz_init. Thus it declares the function without a prototype, which
126	is obsolescent in ISO C, so that the compiler may complain (e.g.
127	with GCC's -Werror=strict-prototypes option, which may be useful to
128	detect bugs in MPFR). Moreover, the call is done with an incorrect
129	prototype, which could also be an issue on some systems (currently,
130	no prototype check is done when linking, but this might change in
131	the future).
132
133	Note also that this new test is more robust, in case GMP changes the
134	symbol name in the future (the API does not need to be changed).
135
136	For the reference:
137	  https://sympa.inria.fr/sympa/arc/mpfr/2023-08/msg00003.html
138
1392023-08-10  Vincent Lefevre  <vincent@vinc17.net>
140
141	[configure.ac] Do the MPFR_CHECK_MP_LIMB_T_VS_* tests without -lgmp.
142
143	Moved the two tests
144
145	  MPFR_CHECK_MP_LIMB_T_VS_LONG
146	  MPFR_CHECK_MP_LIMB_T_VS_INTMAX
147
148	before the LIBS="-lgmp $LIBS" as linking with GMP is not needed for
149	these tests (only mp_limb_t is used from gmp.h), and it is actually
150	better not to link with GMP. Indeed, as said for these tests, which
151	use AC_LINK_IFELSE:
152
153	  AC_LINK_IFELSE is safer than AC_COMPILE_IFELSE, as it will detect
154	  undefined function-like macros (which otherwise may be regarded
155	  as valid function calls with AC_COMPILE_IFELSE since prototypes
156	  are not required by the C standard).
157
158	So linking with GMP could make a failure disappear in case of a bug
159	somewhere, so that the bug could remain undetected.
160
1612023-08-10  Vincent Lefevre  <vincent@vinc17.net>
162
163	[acinclude.m4] Replaced <gmp.h> by "gmp.h" for #include.
164
165	The tests from configure.ac all use #include "gmp.h", and for the
166	MPFR build and tests, gmp.h is also included with #include "gmp.h"
167	(by mpfr-impl.h). For consistency, do the same in acinclude.m4.
168
169	Note: In practice, there should not be a difference, except if there
170	is a gmp.h file somewhere in the MPFR build tree. But this is not
171	supported, and this may break the build or the testsuite (whatever
172	is used in the configure tests).
173
1742023-07-19  Vincent Lefevre  <vincent@vinc17.net>
175
176	[src/mpfr-gmp.h] Fix integer overflow when mp_limb_t < int (mini-gmp).
177
178	When mp_limb_t is shorter than int (which is possible with mini-gmp),
179	an integer promotion in udiv_qr_3by2 triggers an integer overflow,
180	detected by testing MPFR with
181
182	  ./configure --with-mini-gmp=/path/to/mini-gmp CC=gcc-13 \
183	  CFLAGS="-O2 -fsanitize=undefined -fno-sanitize-recover
184	          -DMINI_GMP_LIMB_TYPE=short"
185
186	(many tests fail).
187
188	Note that this is not detected by GCC 12 and before, probably due to
189	an optimization bug that hides the UBsan error.
190
191	Moreover, mini-gmp currently has the same bug in gmp_udiv_qr_3by2,
192	but also in gmp_udiv_qrnnd_preinv; it needs to be fixed too in order
193	to avoid the failures in the MPFR tests.
194
1952023-07-19  Vincent Lefevre  <vincent@vinc17.net>
196
197	[tests/trint.c] C2x compat: replaced function without a prototype.
198
199	The second parameter of test_fct was "int (*g)()", i.e. a pointer to
200	a function without a prototype, because 2 kinds of prototypes can be
201	used:
202	  * one with args (mpfr_ptr, mpfr_srcptr);
203	  * one with args (mpfr_ptr, mpfr_srcptr, mpfr_rnd_t),
204	    but only for mpfr_rint.
205	This was not a problem thanks to the test "g == &mpfr_rint", i.e.
206	we knew which one to use. However, as the Clang 16 warning message
207	says for -Wdeprecated-non-prototype:
208	"passing arguments to a function without a prototype is deprecated
209	in all versions of C and is not supported in C2x".
210
211	The best way to fix this is to use the prototype with 2 arguments
212	(mpfr_ptr, mpfr_srcptr) for the parameter, as this is the general
213	case. All we need to do is to cast &mpfr_rint to this prototype
214	(this appears only twice).
215
216	As these casts trigger the -Wcast-function-type warning when enabled,
217	let's explicitly disable this warning for GCC and Clang in versions
218	where it has been introduced.
219
2202023-07-18  Vincent Lefevre  <vincent@vinc17.net>
221
222	[tests/tfpif.c] Removed "fclose (fh);" under "if (fh == NULL)".
223
224	The fopen() failed, so fclose() is not needed, and this is even UB.
225
226	Issue reported by Jerry James:
227	  https://sympa.inria.fr/sympa/arc/mpfr/2023-07/msg00002.html
228	as GNU libc recently added a "nonnull" function attribute:
229	  https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=71d9e0fe766a3c22a730995b9d024960970670af
230
2312023-07-12  Vincent Lefevre  <vincent@vinc17.net>
232
233	[doc/mpfr.texi] Updated the month.
234
235	[src/inp_str.c] Resolved the FIXME on a deprecated use of ungetc.
236
2372023-07-12  Vincent Lefevre  <vincent@vinc17.net>
238
239	Fixed mpfr_strtofr bug in parse_string when isspace(0) is true.
240
241	When isspace(0) is true (allowed by ISO C for non-"C" locales), '\0'
242	would be skipped if part of the leading whitespace. But it must be
243	regarded as the terminating null character, from the definition of
244	a string (before the notion of whitespace is involved). So let's
245	stop explicitly on '\0'.
246
247	Note: in such locales (Mutt's lib.h suggests that some systems are
248	affected, but this was in 1998), this is a security vulnerability,
249	because characters after the terminating null character are read to
250	determine the result.
251
2522023-07-12  Vincent Lefevre  <vincent@vinc17.net>
253
254	[inp_str.c] mpfr_inp_str: fixed the handling of '\0' in the word.
255
256	When '\0' is not a whitespace character (which is almost always the
257	case in practice), it was not handled correctly. For instance, if the
258	word is the sequence { '1', '\0', '2' }, the string "1" was passed to
259	mpfr_set_str because '\0' is regarded as a terminating null character,
260	and one was getting a valid number while '\0' in a word is necessarily
261	invalid. This is fixed by putting '*' at the beginning of the string,
262	which is thus necessarily invalid.
263
264	This fixes the failure after c9523bc6fb11c8eefc75524e947e5eb81e682675
265	(4642e68fb3cd6793a51537cfc86a7cb3ef1c0a4c in the 4.2 branch).
266
2672023-07-12  Vincent Lefevre  <vincent@vinc17.net>
268
269	[tests/inp_str.dat] Make the word that contains '\0' look like a number.
270
271	Changed ".\0." to "1\01" (\0 being the null character) in order to
272	trigger a failure with the current mpfr_inp_str code. The issue is
273	that '\0' makes the word look like the string "1", the '\0' being
274	regarded as a terminating null character. This is incorrect as '\0'
275	is part of the full word.
276
2772023-07-12  Vincent Lefevre  <vincent@vinc17.net>
278
279	[manual] Clarified the return value of mpfr_inp_str.
280
2812023-07-12  Vincent Lefevre  <vincent@vinc17.net>
282
283	Added a '\0' test for mpfr_inp_str.
284
285	After ensuring that isspace(0) is false, make sure that '\0' is
286	handled as a normal non-whitespace character.
287
288	Also note that inp_str.dat does not end with a newline character
289	on purpose, in order to check that a number at the end of the file
290	(with no whitespace after it) is handled correctly.
291
2922023-07-12  Vincent Lefevre  <vincent@vinc17.net>
293
294	Improved the mpfr_inp_str tests.
295
2962023-07-12  Vincent Lefevre  <vincent@vinc17.net>
297
298	[tests/inp_str.dat] Added the other standard whitespace characters.
299
300	These are:
301	  * space (' ');
302	  * ^I (horizontal tab '\t');
303	  * ^J (newline '\n', already there);
304	  * ^K (vertical tab '\v');
305	  * ^L (form feed '\f');
306	  * ^M (carriage return '\r').
307
3082023-07-12  Vincent Lefevre  <vincent@vinc17.net>
309
310	[MPFR manual] Corrected description of mpfr_inp_str.
311
312	The description seemed to assume that there was leading and trailing
313	whitespace (due to "between whitespace"). Also clarify what whitespace
314	is: defined by isspace(), which depends on the current locale.
315
3162023-06-26  Vincent Lefevre  <vincent@vinc17.net>
317
318	[tests/tfpif.c] Workaround for GCC bug 106155.
319
320	This GCC bug is:
321	  [12/13/14 Regression] spurious "may be used uninitialized" warning
322
323	This bug appeared in GCC 12, but it is more serious in GCC 13
324	(at least for tfpif.c), which warns also at -O2:
325	  https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106155#c12
326
327	Silencing this warning avoids an error when -Werror is used.
328
3292023-06-26  Vincent Lefevre  <vincent@vinc17.net>
330
331	[src/pow.c] Typo detected by codespell.
332
3332023-05-26  Vincent Lefevre  <vincent@vinc17.net>
334
335	[tests/tsprintf.c] Fixed large_prec_for_g with 32-bit mpfr_intmax_t.
336
337	If mpfr_intmax_t is a 32-bit type (meaning that int is a 32-bit type
338	too), then allow a failure on "%.2147483648Rg" (return value < 0),
339	due to a (reasonable) limit on the current implementation.
340
341	This can currently be tested with
342	  -std=c90 -Werror -pedantic -Wformat -Wno-error=overlength-strings
343
3442023-05-25  Vincent Lefevre  <vincent@vinc17.net>
345
346	[tests/tsprintf.c] large_prec_for_g: C++ compatibility.
347
348	Note that after this change, the test is still meaningful.
349
3502023-05-23  Vincent Lefevre  <vincent@vinc17.net>
351
352	[tests/tsprintf.c] Improved large_prec_for_g even more.
353
3542023-05-23  Vincent Lefevre  <vincent@vinc17.net>
355
356	[tests/tsprintf.c] A few more tests for large_prec_for_g.
357
358	... to really check that the results are correct.
359
3602023-05-22  Vincent Lefevre  <vincent@vinc17.net>
361
362	[tests/trec_sqrt.c] Updated bad_case3() test.
363
364	Also check the result, though this is not the real purpose of
365	this test (the purpose is to detect a stack overflow, which
366	just makes the program crash).
367
3682023-05-22  Vincent Lefevre  <vincent@vinc17.net>
369
370	[tests/trec_sqrt.c] Added bad_case3() test.
371
372	Simple hardcoded test for the stack overflow bug fixed on 2023-04-17
373	in commits
374	  270f4df6b3a49caae1cf564dcdc1c55b1c5989eb (master)
375	  934dd8842b4bdeb919a73123203bc8ce56db38d1 (4.2 branch)
376
377	Otherwise, this bug was triggered by a generic bad_cases() test,
378	based on random values.
379
3802023-05-22  Vincent Lefevre  <vincent@vinc17.net>
381
382	[tests.c] In bad_cases(), improved alignment in debug messages.
383
384	Needed as some trec_sqrt tests use a precision with up to 6 digits.
385
3862023-05-17  Vincent Lefevre  <vincent@vinc17.net>
387
388	[tcompound.c] Updated comment for bug_20230517.
389
390	Similar to b8ee84929ef6caf66d7c694cf74534b7190339c5 in master.
391
3922023-05-17  Vincent Lefevre  <vincent@vinc17.net>
393
394	[compound.c] Improved tests and corresponding comment.
395
396	[compound.c] Avoid a possible integer overflow; other improvements.
397
3982023-05-17  Vincent Lefevre  <vincent@vinc17.net>
399
400	[tcompound.c] Added bug_20230517 (integer overflow in compound.c).
401
402	and updated comment for the 4.2 branch.
403
4042023-05-16  Vincent Lefevre  <vincent@vinc17.net>
405
406	[src/vasprintf.c] Fixed bug triggered by the large_prec_for_g test.
407
408	Bug fixes in partition_number():
409	* Fixed the type of the variable `threshold`: as this variable may
410	  contain spec.prec, it needs to be of type mpfr_intmax_t.
411	  This was the cause of the "MPFR assertion failed: threshold >= 1"
412	  (or the incorrect size when assertions are not checked) with the
413	  large_prec_for_g test.
414	* Also make sure that the 4th argument given to mpfr_get_str fits
415	  in a size_t (if it doesn't, return with a failure, as done when
416	  reaching other environmental limits).
417	  In practice, this could be an issue only with a 32-bit size_t and
418	  mpfr_exp_t on more than 32 bits.
419
4202023-05-16  Vincent Lefevre  <vincent@vinc17.net>
421
422	[tests/tsprintf.c] Added large_prec_for_g, which makes MPFR crash.
423
424	On a 64-bit Linux machine, the case %.2147483648Rg yields an incorrect
425	size computation and MPFR wants to allocate 18446744071562070545 bytes.
426	This case should either succeed or fail as reaching an environmental
427	limit like with glibc (note that the precision does not fit in an int).
428
4292023-05-16  Vincent Lefevre  <vincent@vinc17.net>
430
431	[manual] Detailed mpfr_compound_si description (special cases).
432
433	The MPFR manual should be self-contained. So, let's describe
434	the special cases of mpfr_compound_si that do not follow the
435	usual rules (or are ambiguous), instead of just referring to
436	the IEEE 754 standard.
437
4382023-05-16  Vincent Lefevre  <vincent@vinc17.net>
439
440	[compound.c] Fixes concerning the overflow and underflow detection.
441
442	Note: It is not clear whether overflow and underflow detection is
443	now correct. There may still be potential issues, but currently,
444	after these fixes, no tests yield any failure (however, we do not
445	test some of the most problematic cases yet; this should be a
446	future improvement of ofuf_thresholds in the master branch).
447
448	Note: compound.c now corresponds to the version in master.
449
4502023-05-16  Vincent Lefevre  <vincent@vinc17.net>
451
452	[tcompound.c] Added various tests.
453
454	* Added bug_20230206, based on a bug report by Patrick P��lissier.
455	* Implemented the inverse function x^(1/n) - 1 of the compound function
456	  on non-special cases: useful to build and check hard-to-round cases
457	  and test the behavior close to the overflow and underflow thresholds.
458	* Check hard-to-round cases for n = 2, 3, 4, 5, 17, 120 (like in tpow.c)
459	  and also call the generic tests for these values.
460	* Added bug_20230211 (buggy overflow detection for 32 bits after the
461	  fix of bug_20230206 in master).
462
463	and updated two comments for the 4.2 branch.
464
465	Note: Every change has been cherry picked from master, except a
466	TODO comment and the ofuf_thresholds() calls (feature not yet in
467	the 4.2 branch). And bug_20230206 has not been fixed yet in the
468	4.2 branch.
469
4702023-05-15  Vincent Lefevre  <vincent@vinc17.net>
471
472	[tests.c] In bad_cases(), handle the inex_inv case better.
473
474	The "f exact while f^(-1) inexact" case is actually almost the same
475	as the "inverse doesn't match" case. So, handle it in the same way,
476	avoiding a fatal error (which would be bad for the non-developers):
477	a few occurrences of this case should be regarded as normal, and if
478	this occurs too often, this will be detected like the other case
479	when the MPFR_CHECK_BADCASES environment variable is set.
480
481	This is useful for future bad_cases() calls.
482
4832023-05-12  Vincent Lefevre  <vincent@vinc17.net>
484
485	[src/pow.c] Fixed a corner case in mpfr_pow_general (bug20230427).
486
487	This fixes the bug triggered by bug20230427 added in commit 85bc7331c:
488	  bug20230427 triggers another bug in mpfr_pow_general, which
489	  occurs in destination precision 1 in the particular case of
490	  rounding to nearest, z * 2^k = 2^(emin - 2) and real result
491	  larger than this value.
492
493	This corresponds to a particular hunk of a diff from master,
494	or with a cherry-pick from commits
495	  ef31bb98521ecf7d100593346e2f4d7a7724c573
496	  27bc582645e513200c56c99a9da83eb4e47c669a
497	  e1f9f14a3829081503c027f4d38eb51778da26e6
498	  ff5012b61d5e5fee5156c57b8aa8fc1739c2a771
499	  3b63024c640181cb5fe7fd87bac94a8f942a07da
500	  4f5de980be290687ac1409aa02873e9e0dd1a030
501	  467b17025a5b05e888ed7117d6730ac0954f01cb
502	restoring the changes not related to this hunk.
503
5042023-05-12  Vincent Lefevre  <vincent@vinc17.net>
505
506	[src/pow.c] Fixed error bound in mpfr_pow_general (bug20230213).
507
508	This fixes the bug triggered by bug20230213 added in commit 85bc7331c:
509	  bug20230213 triggers a bug in mpfr_pow_general, where the
510	  computation of the error term is incorrect when there has
511	  been an intermediate underflow or overflow (k_non_zero is
512	  true); the error analysis is correct, but the associated
513	  code is not (due to the change of the value of a variable).
514
5152023-05-12  Vincent Lefevre  <vincent@vinc17.net>
516
517	[tests/texp10.c] Added bug20230213 and bug20230427 tests.
518
519	* bug20230213 triggers a bug in mpfr_pow_general, where the
520	  computation of the error term is incorrect when there has
521	  been an intermediate underflow or overflow (k_non_zero is
522	  true); the error analysis is correct, but the associated
523	  code is not (due to the change of the value of a variable).
524	* bug20230427 triggers another bug in mpfr_pow_general, which
525	  occurs in destination precision 1 in the particular case of
526	  rounding to nearest, z * 2^k = 2^(emin - 2) and real result
527	  larger than this value.
528
529	Note: The code has been copied from master (and because of changes
530	of other parts of the code by commits in master, cherry-picking
531	was impossible or much more complex). These bugs have been fixed
532	in master, but these fixes will be provided in the 4.2 branch by
533	separate commits in order to facilitate testing (e.g., to check
534	that one gets failures without these fixes).
535
536	Both bugs were found by the current ofuf_thresholds tests in master
537	(but there are currently issues with these tests).
538
5392023-05-12  Vincent Lefevre  <vincent@vinc17.net>
540
541	Added bad_cases tests for mpfr_exp2, mpfr_exp10, mpfr_log2, mpfr_log10.
542
543	[tests/tui_pow.c] Added generic tests.
544
545	Added /treldiff to tests/.gitignore
546
5472023-05-12  Vincent Lefevre  <vincent@vinc17.net>
548
549	[tests/tui_pow.c] Some small corrections.
550
551	* Improved organization and style.
552	* Replaced output to stderr by output to stdout (as usual).
553	* Added missing "\n" at the end of 2 printf strings.
554
5552023-05-05  Vincent Lefevre  <vincent@vinc17.net>
556
557	[tests/tset_float128.c] check_special(): output values in error messages.
558
5592023-05-04  Vincent Lefevre  <vincent@vinc17.net>
560
561	[doc/mpfr.texi] Updated the month.
562
563	[src/Makefile.am] Updated -version-info to 8:1:2 for MPFR 4.2.1.
564
5652023-05-04  Vincent Lefevre  <vincent@vinc17.net>
566
567	Updated version to 4.2.1-dev (with tools/update-version).
568
569	This should have been done just after 4.2.0 was published,
570	i.e. just after the 4.2.0 tag, but I forgot.
571
5722023-05-04  Vincent Lefevre  <vincent@vinc17.net>
573
574	Added treldiff.c test, assuming that mpfr_reldiff behaves as documented.
575
576	Basically, mpfr_reldiff is tested with all special numbers and some
577	regular ones, with various precisions and all the rounding modes
578	(including MPFR_RNDF since in practice, the implementation cannot
579	exploit it to give failures). The result is just compared with the
580	basic algorithm (as documented), which does not use any optimization
581	(i.e. it does not treat special numbers in a particular way): the
582	formula is just computed using the precision of the destination and
583	the provided rounding mode for all operations (thus, in general,
584	this mpfr_reldiff function is not correctly rounded).
585
586	This test would detect the bugs on special values that have been fixed
587	in 81e4d4427eed0404292ac69c17f986a6cb640562.
588
5892023-05-04  Vincent Lefevre  <vincent@vinc17.net>
590
591	[src/reldiff.c] Fixed mpfr_reldiff on special values.
592
593	The mpfr_reldiff function, which computes |b-c|/b, was buggy on
594	special values, e.g. on the following (b,c) values:
595	  * (+Inf,+Inf) gave ��0 instead of NaN (like NaN/Inf).
596	  * (+0,+0) gave 1 instead of NaN (like 0/0).
597	  * (+0,1) gave 1 instead of Inf (like 1/0).
598
599	The sign of 0 for (+Inf,+Inf) or (-Inf,-Inf) was not set, i.e. it
600	was just the sign of the destination before the call. This made
601	the "reuse" test fail after its update to check the sign of zero
602	(commit e6d47b8f5ab666e658e05fe282e3490a06c0278e), as the results
603	were not consistent.
604
605	For b = 0, there was a comment "reldiff = abs(c)/c = sign(c)", which
606	mixed up b and c (one should divide by b, not by c), and this could
607	explain some bugs.
608
609	Note that this comment (and associated code), if corrected, seemed to
610	imply that for c = 0 and b finite (and non-zero?), the intent was to
611	return sign(b). However, this does not follow the documentation, which
612	says that the formula is just computed using the precision of the
613	destination and the provided rounding mode for all operations. So the
614	final result may be affected by intermediate roundings, while sign(b)
615	assumes that the function is correctly rounded, which is not the case
616	for this function (just there for compatibility with MPF). Deviating
617	from the documentation in some cases could break some properties (like
618	monotonicity?).
619
620	These bugs were not found because mpfr_reldiff is not tested at all,
621	except by "reuse", which just checks some consistency when a variable
622	is reused for the destination.
623
6242023-05-04  Vincent Lefevre  <vincent@vinc17.net>
625
626	[tests/reuse.c] Check the sign of zero; other improvements.
627
628	* Replaced the static mpfr_compare by "! SAME_VAL" to do a complete
629	  comparison of MPFR numbers. In particular, this checks the sign of
630	  zero, revealing a bug in mpfr_reldiff (failure 0 vs -0).
631	* More consistent output of errors (use of mpfr_dump for ref and res
632	  in all cases).
633	* Code style.
634
6352023-04-20  Vincent Lefevre  <vincent@vinc17.net>
636
637	[tests/tsprintf.c] Updated comment for snprintf_size.
638
639	Like commit 524c7bf4ff4f0dc1c83bc9a36d621a4a9607ee3b in master,
640	but without the "Code reworked..." line, as this isn't done in
641	the 4.2 branch.
642
6432023-04-17  Vincent Lefevre  <vincent@vinc17.net>
644
645	[tests/tsprintf.c] Update about the glibc 2.37 bug.
646
647	This updates commit 78ff7526dea103f73acc98d9a9ffa7429050c0dd.
648
6492023-04-17  Vincent Lefevre  <vincent@vinc17.net>
650
651	Fixed possible stack overflow in mpfr_rec_sqrt + non-regression test.
652
653	* src/rec_sqrt.c: use a standard Ziv loop.
654	* tests/trec_sqrt.c: added a non-regression test with bad_cases().
655
656	Details:
657
658	The issue is due to many allocations in the stack (with alloca(),
659	via MPFR_TMP_LIMBS_ALLOC) on cases that are very hard to round (from
660	an analysis on a testcase given by Fredrik Johansson, not included
661	here) with a not too large destination precision: many iterations
662	are needed due to a specific Ziv loop where the working precision
663	is increased additively, and it is not possible to free the data
664	allocated in the previous iterations.
665
666	The fix is to use a standard Ziv loop, as it increases the working
667	precision multiplicatively instead of additively, so that it needs
668	much fewer iterations in such cases. This should also make the code
669	much faster in such cases.
670
671	This issue was not detected by bad_cases() in tests/trec_sqrt.c
672	because to be able to reproduce it, one needs a much larger precision
673	than the ones tested with the chosen parameters.
674
675	A new bad_cases() instance, with a large enough precision for the
676	input (py = 9999, psup = 120000, giving px = py + psup = 129999),
677	is added here in order to be able to reproduce the failure.
678
679	The testcase given by Fredrik Johansson is not included here because
680	it uses a very large string for the input (the point of bad_cases()
681	is to generate such an input automatically).
682
6832023-04-15  Vincent Lefevre  <vincent@vinc17.net>
684
685	[src] Since mpfr_prec_t is signed, changed %Pu to %Pd.
686
687	Note: Even the mpfr_prec_t is not supposed to contain negative values
688	(at least in these cases), this may still be useful in case of bugs.
689
6902023-04-14  Vincent Lefevre  <vincent@vinc17.net>
691
692	[doc/mpfr.texi] Updated the month.
693
6942023-04-14  Vincent Lefevre  <vincent@vinc17.net>
695
696	[manual] Improved example on how to print a mpfr_prec_t value.
697
698	mpfr_prec_t is signed, so that it is better to use %Pd than %Pu.
699
7002023-04-12  Vincent Lefevre  <vincent@vinc17.net>
701
702	[src/mpfr-thread.h] Output a message in case of lock/unlock failure.
703
704	The message is output just before abort(), so that one can know
705	the cause of the abort().
706
707	Tested with --enable-shared-cache CC=i686-w64-mingw32-gcc-posix
708	(which has the effect to enable POSIX threads inside MPFR via
709	AX_PTHREAD, with MinGW), where
710
711	MPFR_LOCK_DECL(mpfr_lock_memory)
712	int main (void)
713	{
714	  MPFR_LOCK_WRITE(mpfr_lock_memory);
715	  return 0;
716	}
717
718	fails with the "MPFR lock failure" message and exit status 3 due to
719	the abort(). Note that there is no failure with GNU/Linux.
720
7212023-03-22  Vincent Lefevre  <vincent@vinc17.net>
722
723	[doc/mpfr.texi] Updated the month.
724
725	[manual] Detailed mpfr_set_str a bit more.
726
7272023-02-28  Vincent Lefevre  <vincent@vinc17.net>
728
729	[tests] Added/improved tests for the log, log2 and log10 functions.
730
731	* Added log(1) test.
732	* For the special tests of these functions: test in all rounding modes
733	  and use MPFR_IS_ZERO(x) rather than mpfr_cmp_ui(x,0) to exclude NaN.
734
7352023-02-21  Vincent Lefevre  <vincent@vinc17.net>
736
737	Fixed mpfr_ui_pow_ui infinite loop in case of overflow, with testcases.
738
739	* src/ui_pow_ui.c:
740	    - Cleanup. In particular, renamed a variable as this was confusing:
741	      one usually uses y = f(x), but here it was x = f(y,n). Let's use
742	      x = f(k,n) since here, both arguments are integers.
743	    - Added mpfr_ui_pow_ui logging.
744	    - Handle the +Inf case in the Ziv iteration.
745	      This is done by calling mpfr_pow_z (this should be a bit more
746	      efficient than calling mpfr_pow_ui, which would eventually call
747	      mpfr_pow_z to handle the overflow).
748	      Note that mpfr_pow_z avoids spurious overflows by internally
749	      rounding toward 1 (for positive results). This might be an
750	      alternative solution here to avoid calling mpfr_pow_z.
751	* tests/tlog10.c: added bug20230213 test: infinite loop in mpfr_log10,
752	  which was occurring before the above bug fix.
753	* tests/tui_pow.c: added testcase for this mpfr_ui_pow_ui bug.
754
7552023-02-14  Vincent Lefevre  <vincent@vinc17.net>
756
757	For -dev versions, enable timeout support by default (when possible).
758
759	* configure.ac:
760	    - added dev_version variable, set to 1 for -dev versions;
761	    - updated --enable-tests-timeout handling;
762	    - use $dev_version for a test that already considers -dev versions.
763	* acinclude.m4:
764	    - handle absent --enable-tests-timeout option and case "yes".
765
7662023-02-03  Vincent Lefevre  <vincent@vinc17.net>
767
768	[tests/tsprintf.c] Added a comment about a failure with glibc 2.37.
769
770	Klaus Dittrich reported in the MPFR mailing-list that the modified
771	test from commit 4f03d40b5a5ceeb3126dc51c3511bdceef3bab19 was still
772	failing with the glibc git. But this time, this is entirely a bug
773	in glibc, present in glibc 2.37:
774
775	  https://sourceware.org/bugzilla/show_bug.cgi?id=30068
776
777	with even a possible buffer overflow in sprintf (as I guessed
778	in Comment 2 and was confirmed later). ��� CVE-2023-25139
779
780	Thus the test still fails with glibc 2.37, and the future fix of
781	the glibc vulnerability should also fix this failure.
782
7832023-02-01  Vincent Lefevre  <vincent@vinc17.net>
784
785	[tests/{tfprintf.c,tprintf.c}] Fix when decimal_point > 1 byte.
786
787	These tests were failing in locales where localeconv()->decimal_point
788	takes several bytes, such as in the ps_AF locale under Linux, where
789	decimal_point is U+066B ARABIC DECIMAL SEPARATOR, which takes 2 bytes
790	(d9 ab, as encoded in UTF-8).
791
792	Note: A multibyte decimal-point is currently honored only with
793	native C types (via the C library), so that the length of the
794	decimal-point had to be taken into account only for a small number
795	of tests. Once a multibyte decimal-point is supported for the MPFR
796	numbers ("R" type specifier), the expected lengths in many tests
797	will have to be updated. See the code about MPFR_DECIMAL_POINT in
798	"src/mpfr-impl.h".
799
8002023-02-01  Vincent Lefevre  <vincent@vinc17.net>
801
802	[tests] Consistency in the error messages.
803
8042023-02-01  Vincent Lefevre  <vincent@vinc17.net>
805
806	[src/mpfr-impl.h] Updated FIXME comment for decimal_point/thousands_sep.
807
808	* Added info for the fr_FR.UTF-8 and ps_AF locales.
809	* Removed the sentence about the C standard (since multibyte characters
810	  are used for decimal_point and thousands_sep in practice, the term
811	  "character" could have a broader mean, e.g. the abstract one in 3.7).
812
813	This completes commit 00ad47c8ec4ba31ad0afd067286f2fab8d7283ff.
814
8152023-01-11  Vincent Lefevre  <vincent@vinc17.net>
816
817	[tests/tsprintf.c] Modified a buggy test of the thousands separator.
818
819	The test
820
821	  check_vsprintf ("+01,234,567  :", "%0+ -'13.10Pd:", (mpfr_prec_t) 1234567);
822
823	is based on the output from glibc up to 2.36, which is incorrect:
824
825	  https://sourceware.org/bugzilla/show_bug.cgi?id=23432
826
827	The GNU C Library has apparently been partially fixed in its Git
828	repository for the future 2.37, since a tsprintf failure has been
829	reported (this is a bug in this test, not in the MPFR library):
830
831	  https://sympa.inria.fr/sympa/arc/mpfr/2023-01/msg00001.html
832
833	So, modified the test to avoid the particular case of leading zeros
834	due to the precision field larger than the number of digits. This
835	case has already been tested without the thousands separator (where
836	there are no issues with the C libraries), so that we do not miss
837	much testing. Added a comment explaining the issue and a possible
838	solution for future testing of this particular case (if need be).
839
8402023-01-06  Vincent Lefevre  <vincent@vinc17.net>
841
842	[BUGS] Added a note for a bug that cannot occur in practice.
843
844	[doc/README.dev] Updated "To make a release".
845
846	ChangeLog update with tools/update-changelog
847
848	Updated version to 4.2.0.
849
8502023-01-05  Vincent Lefevre  <vincent@vinc17.net>
851
852	[src/zeta.c] For s < 1/2, use mpfr_sinpi now that it is available.
853
854	This replaces the use of mpfr_sin with a multiplication by �� and
855	resolves a potential (but very unlikely) underflow issue; a comment
856	is updated, with an explanation about that.
857
8582023-01-05  Vincent Lefevre  <vincent@vinc17.net>
859
860	Updated copyright notice for all the Makefile.am files.
861
862	To be similar to the other files, added:
863	* Contributed by the AriC and Caramba projects, INRIA.
864	* This file is part of the GNU MPFR Library.
865
866	(These Makefile.am files still have their special license.)
867
8682023-01-05  Vincent Lefevre  <vincent@vinc17.net>
869
870	Copyright notice update: added 2023.
871
872	Command used:
873	  perl -pi -e 's/ (\d{4}-)?(2022)(?= Free Software)/
874	               " ".($1||"$2-").($2+1)/e' **/*(^/)
875	under zsh, reverting doc/texinfo.tex (copied from GNU Texinfo)
876	and the tools/mbench directory (not distributed with MPFR).
877	Removed 2022 from the example in the doc/README.dev file.
878
8792023-01-04  Vincent Lefevre  <vincent@vinc17.net>
880
881	[src/zeta.c] Updated a comment about mpfr_sinpi.
882
883	[doc/mpfr.texi] Updated the month.
884
8852022-12-17  Vincent Lefevre  <vincent@vinc17.net>
886
887	[tools/mpfrlint] Updated the __gmp_ test.
888
889	* No longer exclude '^tests/tabort_defalloc': this is no longer needed
890	  since commit 41bed90365fd1296cd05f49c813ab0a0b151a62e in 2017.
891	* Exclude a new comment.
892
8932022-12-15  Vincent Lefevre  <vincent@vinc17.net>
894
895	[tests/tsprintf.c] Added a comment about a possible test failure.
896
897	In short, if the error is like
898	  repl-vsnprintf.c:389: GNU MP assertion failed: len < total_width
899	this is a GMP (or MPIR) issue in __gmp_replacement_vsnprintf.
900
901	References:
902	  https://sympa.inria.fr/sympa/arc/mpfr/2022-10/msg00001.html
903	  https://sympa.inria.fr/sympa/arc/mpfr/2022-10/msg00027.html
904	  https://gmplib.org/list-archives/gmp-bugs/2022-October/005200.html
905
9062022-12-15  Vincent Lefevre  <vincent@vinc17.net>
907
908	Documentation: update about requirements for building MPFR.
909
910	* doc/mpfr.texi: mentioned C++ compilers and the potential issue
911	  with type punning via union.
912	* INSTALL: completed (0) to be similar to what doc/mpfr.texi says.
913
9142022-12-15  Vincent Lefevre  <vincent@vinc17.net>
915
916	[tools/update-version] Fixed replacements in "INSTALL".
917
918	Due to commit 4885b57add174f390eff29abe14d12fb5ebd6a61, only the first
919	of the 4 replacements in INSTALL was done.
920
9212022-12-14  Vincent Lefevre  <vincent@vinc17.net>
922
923	[configure.ac] Added a comment about a possible AM_PROG_AR failure.
924
925	The reason is that on some platforms, GMP chooses a non-default mode
926	(a.k.a. ABI). MPFR has some workaround thanks to GMP_CC and GMP_CFLAGS
927	provided by GMP, but this may not be sufficient, e.g. on power-aix. In
928	such a case, the user needs to either force GMP to use the default mode
929	or provide an AR variable for MPFR's configure; see INSTALL file.
930
9312022-12-13  Vincent Lefevre  <vincent@vinc17.net>
932
933	ChangeLog update with tools/update-changelog
934
935	[doc/README.dev] "To make a release": update.
936
937	[NEWS] Update for the 4.2.0 release: binary compatibility.
938
939	[doc/README.dev] "To make a release": update about <branch>-root tag.
940
941	[README] Updated URL of the README.dev file (for the 4.2 branch).
942
943	Updated version to 4.2.0-rc1.
944
945	ChangeLog update with tools/update-changelog
946
947	[src/Makefile.am] Updated -version-info to 8:0:2 for MPFR 4.2.0.
948
949	[manual] Section "API Compatibility": lexicographic order.
950
9512022-12-13  Vincent Lefevre  <vincent@vinc17.net>
952
953	[NEWS,doc/mpfr.texi] Clarification for mpfr_pown.
954
955	Note: Though implemented as a macro, it is mainly documented as a
956	function (not as a macro) because it cannot be distinguished from
957	a function (for instance, one can take the function pointer).
958
9592022-12-13  Vincent Lefevre  <vincent@vinc17.net>
960
961	[tests/tget_flt.c] Added a comment.
962
9632022-12-13  Vincent Lefevre  <vincent@vinc17.net>
964
965	[doc/README.dev] Updated a pathname.
966
967	This should have been done with the source reorganization on 2010-08-17
968	(see commit a6c9580d75b967e0d121d606edf03515ada45a7a).
969
9702022-12-12  Vincent Lefevre  <vincent@vinc17.net>
971
972	Updated doc/texinfo.tex to 2022-12-10.11
973
974	The only change concerning MPFR is that in the PDF manual, the
975	section titles in the table of contents are now clickable.
976
9772022-12-12  Vincent Lefevre  <vincent@vinc17.net>
978
979	[tests/tstdint.c] Added missing conditional config.h inclusion.
980
981	The consequence of the missing inclusion is that on build systems that
982	need config.h (some MS Windows ones?), this test would be skipped.
983
9842022-12-12  Vincent Lefevre  <vincent@vinc17.net>
985
986	[doc/README.dev] Clarification about the need of config.h inclusion.
987
988	[tests/tstdint.c] Updated comment.
989
9902022-12-12  Vincent Lefevre  <vincent@vinc17.net>
991
992	[tests/tstdint.c] Added a comment.
993
994	In short, this test allows one to detect that mpfr.h can be included
995	without any other inclusion before. For instance, it can detect any
996	unprotected use of FILE in the mpfr.h header file.
997
9982022-12-12  Vincent Lefevre  <vincent@vinc17.net>
999
1000	[doc/mpfr.texi] Added comment about the update of the version string.
1001
10022022-12-12  Vincent Lefevre  <vincent@vinc17.net>
1003
1004	Revert "changed %.8e into %a to avoid potential decimal output bug"
1005
1006	This reverts commit e18ebe062042c01ad44b238df212f229bd251cd6.
1007
1008	We currently still support C90 (in particular, here this concerns
1009	the C library of the platform).
1010
10112022-12-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
1012
1013	changed %.8e into %a to avoid potential decimal output bug
1014
1015	(cf https://sympa.inria.fr/sympa/arc/mpfr/2022-12/msg00015.html)
1016
10172022-12-12  Vincent Lefevre  <vincent@vinc17.net>
1018
1019	[src/mpfr-cvers.h] Added a comment about (major,minor) tests.
1020
10212022-12-12  Vincent Lefevre  <vincent@vinc17.net>
1022
1023	[tests/mpfr-test.h] Improved the change done a few hours earlier.
1024
1025	The code introduced by commit 558a246e612fa230623fb0dfa0570b1c626a103c
1026	was changing the conditions under which IGNORE_CPP_COMPAT is defined
1027	(to ignore -Wc++-compat with a GCC pragma). Let's simplify it by using
1028	our __MPFR_GNUC() macro. The only possible change of behavior is that
1029	this excludes Intel's compiler (which is probably better as testing
1030	the GCC version on Intel's compiler doesn't make sense).
1031
1032	Note concerning the behavior of Intel icx 2021.3.0 under Linux: Before
1033	the above commit, it was not excluded; but after this above commit, it
1034	was excluded as it identifies itself as GCC 4.2.1 (like Clang). With
1035	this new change, it is still excluded. Anyway, it ignores -Wc++-compat
1036	and doesn't complain on the GCC pragmas, so the above choice currently
1037	doesn't matter.
1038
10392022-12-11  Vincent Lefevre  <vincent@vinc17.net>
1040
1041	Avoid a testsuite build failure with GCC older than 4.6.
1042
1043	In tests/mpfr-test.h, we must not define IGNORE_CPP_COMPAT for
1044	GCC < 4.6 as it does not allow "#pragma GCC diagnostic" inside
1045	functions. Moreover, let's define it for all Clang versions,
1046	including MS Windows (where __GNUC__ is not defined).
1047
1048	Changes based on information and a patch by Bruno Haible:
1049	  https://sympa.inria.fr/sympa/arc/mpfr/2022-12/msg00007.html
1050
10512022-12-09  Vincent Lefevre  <vincent@vinc17.net>
1052
1053	[autogen.sh] Improved comment about the INSTALL file.
1054
1055	[autogen.sh] Updated comment about the INSTALL file.
1056
10572022-12-07  Vincent Lefevre  <vincent@vinc17.net>
1058
1059	[Makefile.am] Corrected a note about version-ext.sh in EXTRA_DIST.
1060
1061	In short, since commit a6e9d69047a358bfd1aaa1418d9999b8abe0bb62,
1062	version-ext.sh should no longer be needed in EXTRA_DIST because
1063	it will no longer be executed. But since this script is small,
1064	we distribute it just in case it would be used.
1065
10662022-12-06  Vincent Lefevre  <vincent@vinc17.net>
1067
1068	Fixed version-ext.sh usage, avoiding "make check" failure and incorrect
1069	version information.
1070
1071	The use of version-ext.sh could be incorrect when the MPFR source tree
1072	was in a Git working tree:
1073	  * "make check" could fail in some cases, see the bug report by
1074	    Trevor Spiteri:
1075	       https://sympa.inria.fr/sympa/arc/mpfr/2022-12/msg00000.html
1076	  * Version information output by "make check" could be incorrect.
1077
1078	Changes:
1079	* tests/Makefile.am: For output_info, we now also check whether
1080	  $(top_srcdir)/.git is readable in order to avoid escaping the
1081	  MPFR source tree. In particular, if one extracts an MPFR tarball
1082	  within a Git working tree (e.g. after "make dist"), then running
1083	  "make check" in this extracted source tree will work as expected,
1084	  giving correct version information.
1085	* tests/Makefile.am, version-ext.sh: Updated comments. In particular,
1086	  moved a comment from tests/Makefile.am to version-ext.sh; this should
1087	  have been done in commit 0d3abf10458ca4fdd26daa77a02f7f1f4e361deb,
1088	  i.e. when version-ext.sh was created.
1089
10902022-12-06  Vincent Lefevre  <vincent@vinc17.net>
1091
1092	[doc/mpfr.texi] Removed useless leading spaces in examples.
1093
1094	All examples should have at least one line that does not have
1095	leading spaces. Texinfo already indents examples in all cases.
1096
10972022-12-06  Vincent Lefevre  <vincent@vinc17.net>
1098
1099	[doc/mpfr.texi] Removed useless single quotes in an example.
1100
1101	Texinfo changes these quotes to U+2019 RIGHT SINGLE QUOTATION MARK
1102	with TeX output (PDF), and it is no part of ASCII, which might yield
1103	issues in case of reuse in actual code. The subsequent example does
1104	not use quotes, so let's do the same.
1105
11062022-12-06  Vincent Lefevre  <vincent@vinc17.net>
1107
1108	[doc/mpfr.texi] Updated the month.
1109
11102022-12-06  Vincent Lefevre  <vincent@vinc17.net>
1111
1112	[doc/mpfr.texi] Added a FIXME about the @need issue.
1113
1114	Context:
1115	  https://lists.gnu.org/archive/html/bug-texinfo/2022-11/msg00228.html
1116
11172022-11-30  Vincent Lefevre  <vincent@vinc17.net>
1118
1119	[doc/mpfr.texi] 2 replacements of ASCII "-" by @minus{}.
1120
1121	Note: these should be the last remaining issues with the minus sign.
1122
11232022-11-30  Vincent Lefevre  <vincent@vinc17.net>
1124
1125	[doc/mpfr.texi] 3 replacements of ASCII "-" by @minus{}.
1126
11272022-11-28  Vincent Lefevre  <vincent@vinc17.net>
1128
1129	[src/mpfr-impl.h] Added a comment for the umul_hi(h, x, y) macro.
1130
1131	Say that MPFR_NEED_LONGLONG_H needs to be defined to use it.
1132
1133	This macro is defined unconditionally (this is not an issue) because
1134	MPFR_NEED_LONGLONG_H has been undefined earlier in mpfr-impl.h (why?),
1135	so we can no longer test MPFR_NEED_LONGLONG_H.
1136
11372022-11-28  Vincent Lefevre  <vincent@vinc17.net>
1138
1139	Get rid of the _mulx_u64 intrinsic.
1140
1141	It was found that this intrinsic has issues with ICC, Cygwin, and more
1142	generally, the Microsoft toolchain; even MPFR's strong detection at
1143	configure time (an AC_RUN_IFELSE test) was not sufficient. Moreover,
1144	_mulx_u64 is useless as umul_ppmm from mpfr-longlong.h does the same
1145	thing from the spec point of view (and thus was used as the fallback).
1146	So, if there is a reliable way to use the mulx instruction whenever
1147	possible (including via compiler optimization and the use of __int128
1148	when available, as done by GCC's _mulx_u64 implementation), this
1149	should be done in the umul_ppmm definition. Alternatively, we could
1150	redefine umul_ppmm for the use of __int128 when possible.
1151
1152	Context and references:
1153	  https://sympa.inria.fr/sympa/arc/mpfr/2022-11/msg00008.html
1154	  https://sympa.inria.fr/sympa/arc/mpfr/2022-11/msg00027.html
1155	  https://sympa.inria.fr/sympa/arc/mpfr/2022-11/msg00030.html
1156	  https://sympa.inria.fr/sympa/arc/mpfr/2022-11/msg00031.html
1157	  https://stackoverflow.com/a/54815033/3782797
1158
1159	* src: corrected the umul_hi(h, x, y) macro (the only code that was
1160	  using _mulx_u64) and moved it from invert_limb.h and invsqrt_limb.h
1161	  to mpfr-impl.h.
1162	* tests/tversion.c: removed the output info about _mulx_u64.
1163	* acinclude.m4: removed the check for _mulx_u64.
1164
11652022-11-25  Vincent Lefevre  <vincent@vinc17.net>
1166
1167	[NEWS] Added release name for 4.2.0: "fondue savoyarde".
1168
1169	mpfr-longlong.h update from the current GMP development code.
1170
11712022-11-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
1172
1173	[doc/mini-gmp] updated svn revision to git revision
1174	[tools/bench/README] likewise
1175
11762022-11-23  Vincent Lefevre  <vincent@vinc17.net>
1177
1178	[tools/build-patch] Update for patches generated by git.
1179
1180	Such patches are of the form
1181	  --- a/path/name
1182	  +++ b/path/name
1183	so with need to use the -p1 patch option if the --- line
1184	starts with "--- a/".
1185
11862022-11-23  Vincent Lefevre  <vincent@vinc17.net>
1187
1188	[tools/build-patch] Updated a comment for Git.
1189
11902022-11-22  Vincent Lefevre  <vincent@vinc17.net>
1191
1192	Fix mpfr_custom_get_kind() macro bug.
1193
1194	* src/mpfr.h: in the mpfr_custom_get_kind() macro, changed mpfr_ptr to
1195	  mpfr_srcptr for _x to agree with the function prototype, in order to
1196	  avoid a compilation failure of user code in some cases. This bug was
1197	  introduced by commit 9f94e0311ed53d0c64d4fbca249d19cc4888027e, which
1198	  introduced the temporary variable _x to avoid an incorrect number of
1199	  evaluations of the x argument.
1200	* tests/tstckintc.c: improved the tests to detect this bug.
1201
1202	This should fix mpfr bug #1.
1203
1204	Bug initially reported by FX Coudert:
1205	  https://github.com/CGAL/cgal/issues/7064
1206
1207	It affects Fedora Linux:
1208	  https://bugzilla.redhat.com/show_bug.cgi?id=2144197
1209
12102022-11-17  Vincent Lefevre  <vincent@vinc17.net>
1211
1212	ChangeLog update with tools/update-changelog
1213
12142022-11-17  Vincent Lefevre  <vincent@vinc17.net>
1215
1216	[doc/mpfr.texi] Changed a @need command due to a bug in @need.
1217
1218	A page break was introduced for "@need 800" while there was the
1219	space for 12 lines of text + 3 paragraph skips, as seen after the
1220	change. That's much more than the 8/10 in needed by "@need 800".
1221	So the page break was incorrect!
1222
12232022-11-17  Vincent Lefevre  <vincent@vinc17.net>
1224
1225	[doc/mpfr.texi] Added @need commands to prevent page breaks.
1226
12272022-11-17  Vincent Lefevre  <vincent@vinc17.net>
1228
1229	[doc/mpfr.texi] Hack to improve TeX output (PDF).
1230
1231	Define a @fptt macro to fix the TeX output (PDF) issue mentioned
1232	in commit 1877cf9aef96c2280aab60f67e5e7302676d199a (if the style
1233	of HTML output is fixed to be more like TeX output, this code will
1234	need an update).
1235
12362022-11-17  Vincent Lefevre  <vincent@vinc17.net>
1237
1238	[doc/mpfr.texi] Added a note about a TeX output (PDF) issue.
1239
1240	This affects "[]", which appears in the mpfr_sum and mpfr_dot
1241	function prototypes.
1242
12432022-11-16  Vincent Lefevre  <vincent@vinc17.net>
1244
1245	Consistency: s/non(zero|positive|negative)/non-$1/
1246
1247	Changed non(zero|positive|negative) to non-zero, etc. for consistency
1248	(target files: src & tests directory, doc/README.dev, doc/mpfr.texi).
1249	Did it this way because the former was in minority (21 vs 165) and
1250	the IEEE 754-2019 standard uses a hyphen.
1251
12522022-11-16  Vincent Lefevre  <vincent@vinc17.net>
1253
1254	[doc/mpfr.texi] Final typographic and style corrections.
1255
1256	Actually a bit more than that, since this affected the textual part
1257	of the PDF file (used for searching and copy-paste): the underscore
1258	character needs to be in something like @code or @samp to be present
1259	in this textual part.
1260
12612022-11-16  Vincent Lefevre  <vincent@vinc17.net>
1262
1263	Updated version to 4.2.0-dev with the new tools/update-version.
1264
1265	All the expected replacements have now *really* been done thanks to
1266	commit a4dec8938b85afbca2d448ae2dd4e0d3ab72b00c.
1267
12682022-11-16  Vincent Lefevre  <vincent@vinc17.net>
1269
1270	[tools/update-version] Fixed replacements in "doc/mpfr.texi".
1271
1272	The change done in commits 4885b57add174f390eff29abe14d12fb5ebd6a61
1273	and 7eda345244f503359d14cd5bae1ed42865d39ee8 was incorrect as there
1274	are 2 identical replacements to do in "doc/mpfr.texi", not just one.
1275	The previous code changed lines separately. But for the check of
1276	failing replacements, a global change on the full file is needed;
1277	thus the 2 identical replacements were expected to be done at the
1278	same time, so that the "g" modifier is needed on the regexp.
1279
12802022-11-15  Vincent Lefevre  <vincent@vinc17.net>
1281
1282	Updated doc/texinfo.tex to 2022-11-13.08
1283
1284	[TODO] Added URL for the Clang multiprecision arithmetic builtins.
1285
12862022-11-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
1287
1288	[TODO] add reference to __builtin_addcll
1289
12902022-11-11  Vincent Lefevre  <vincent@vinc17.net>
1291
1292	[doc/README.dev] "To make a release": mention the README file.
1293
12942022-11-10  Vincent Lefevre  <vincent@vinc17.net>
1295
1296	Updated version to 4.2.0-dev with the new tools/update-version.
1297
1298	All the expected replacements have now been done in doc/mpfr.texi,
1299	thanks to commit 7eda345244f503359d14cd5bae1ed42865d39ee8.
1300
13012022-11-10  Vincent Lefevre  <vincent@vinc17.net>
1302
1303	[tools/update-version] Updated a replacement.
1304
1305	This was needed due to a change done on 2018-09-07 in doc/mpfr.texi
1306	(commit 84796030c7c732e8e66e5e650ec929c541dd207f / SVN r13153), as
1307	said in the previous commit.
1308
13092022-11-10  Vincent Lefevre  <vincent@vinc17.net>
1310
1311	[tools/update-version] Check for failing replacements.
1312
1313	This script currently fails due to a change done on 2018-09-07 in
1314	doc/mpfr.texi (commit 84796030c7c732e8e66e5e650ec929c541dd207f /
1315	SVN r13153), and this issue remained unnoticed until now,
1316	in particular due to the absence of checking for failing
1317	replacements.
1318
1319	The penultimate non-patchlevel release was done on 2017-12-25, i.e.
1320	before this change, and no patchlevel releases have been done yet
1321	for the latest release, so that no current releases are affected by
1322	this issue, but the 4.1.1 release candidate is affected.
1323
13242022-11-09  Vincent Lefevre  <vincent@vinc17.net>
1325
1326	Updated doc/texinfo.tex to 2022-11-07.17 (from GNU Texinfo 7.0).
1327
13282022-11-08  Vincent Lefevre  <vincent@vinc17.net>
1329
1330	[doc/mpfr.texi] Updated comment about an issue with math operators.
1331
1332	[doc/mpfr.texi] Added a comment about an issue with math operators.
1333
1334	[doc/mpfr.texi] Another typographic improvement.
1335
13362022-11-08  Vincent Lefevre  <vincent@vinc17.net>
1337
1338	[doc/mpfr.texi] Added a comment for \mathop with a single character.
1339
1340	Workaround to avoid an alignment issue described at
1341	  https://tex.stackexchange.com/questions/41261/mathop-shifts-the-baseline-declaremathoperator-doesnt
1342	when the math operator @EXP{} was just "E".
1343
13442022-11-08  Vincent Lefevre  <vincent@vinc17.net>
1345
1346	[doc/mpfr.texi] More typographic corrections and improvements.
1347
1348	Also did some changes to improve the consistency.
1349
13502022-11-07  Vincent Lefevre  <vincent@vinc17.net>
1351
1352	[doc/mpfr.texi] Added a comment (ref to the GNU Texinfo spacing bug).
1353
13542022-11-07  Vincent Lefevre  <vincent@vinc17.net>
1355
1356	[doc/mpfr.texi] More typographic corrections for math expressions.
1357
1358	* Note a spacing bug in texi2dvi from GNU Texinfo 6.8 with macros
1359	  (found while testing).
1360	* Define macro @EXP (and \EXP in TeX).
1361	* Typographic corrections for math expressions.
1362
13632022-11-07  Vincent Lefevre  <vincent@vinc17.net>
1364
1365	[doc/mpfr.texi] Added a comment.
1366
1367	[doc/mpfr.texi] Improved typography and English usage.
1368
1369	[doc/mpfr.texi] More documentation for the @m{T,N} macro.
1370
13712022-11-04  Vincent Lefevre  <vincent@vinc17.net>
1372
1373	[src/set_zero.c] IEEE 754 terminology in a comment.
1374
13752022-11-04  Vincent Lefevre  <vincent@vinc17.net>
1376
1377	[doc/mpfr.texi] Improved consistency about infinity and zero.
1378
1379	Note: one writes "+0", but "positive zero", not "plus zero", etc.
1380	See the IEEE 754 standard.
1381
13822022-11-03  Vincent Lefevre  <vincent@vinc17.net>
1383
1384	[doc/mpfr.texi] Minor corrections related to infinity.
1385
1386	This completes commit 75041697429ba467c448195b4f0863d0eb92e20c
1387	done in 2021-02.
1388
13892022-11-03  Vincent Lefevre  <vincent@vinc17.net>
1390
1391	[doc/mpfr.texi] Style corrections.
1392
13932022-11-03  Vincent Lefevre  <vincent@vinc17.net>
1394
1395	[doc/mpfr.texi] Style improvement for TeX (PDF) output.
1396
1397	For mpfr_acosu, mpfr_asinu, mpfr_atanu and mpfr_atan2u, make the style
1398	similar to the one for mpfr_cosu, mpfr_sinu and mpfr_tanu.
1399
14002022-11-03  Vincent Lefevre  <vincent@vinc17.net>
1401
1402	[doc/mpfr.texi] More use of @tm (typographic corrections).
1403
14042022-11-01  Vincent Lefevre  <vincent@vinc17.net>
1405
1406	[doc/mpfr.texi] Updated the month.
1407
1408	[doc/mpfr.texi] Completed the description of the @mm macro.
1409
14102022-11-01  Vincent Lefevre  <vincent@vinc17.net>
1411
1412	[doc/mpfr.texi] Improved typography for the formatted output functions.
1413
1414	For what is displayed (or output text), @samp{...} should be used,
1415	as already done in some cases (note: never enclose @samp{...} with
1416	quotes as this is already done in the Texinfo processing).
1417
14182022-11-01  Vincent Lefevre  <vincent@vinc17.net>
1419
1420	[doc/mpfr.texi] Improved the readability of an example.
1421
14222022-11-01  Vincent Lefevre  <vincent@vinc17.net>
1423
1424	[doc/mpfr.texi] More typographic corrections for TeX (PDF) output.
1425
1426	* Define a @mm{T} macro to be used for math symbols outside of @m,
1427	  @tm, @code or similar (but not for the "+" in "C++").
1428	* Use this macro when applicable.
1429	* Add missing @tm for some simple math expressions.
1430
14312022-10-28  Vincent Lefevre  <vincent@vinc17.net>
1432
1433	[doc/mpfr.texi] Added tm macro and improved math typography.
1434
14352022-10-27  Vincent Lefevre  <vincent@vinc17.net>
1436
1437	[tools/nightly-test] Corrections and cleanup.
1438
1439	In particular, reverted most changes done in SVN r9832
1440	(commit 1ca64e34907c5a968ca7fcc3d22cdca2ede7f28b):
1441	  * switch back to /bin/sh (bash is not needed by this script);
1442	  * do not use --enable-decimal-float and --enable-float128 with
1443	    a C++ compiler as they are not supported (configure fails).
1444
1445	And for the "git clone" command:
1446	  * take the BRANCH argument into account;
1447	  * use --depth 1 to avoid an unnecessary full clone.
1448
1449	Better g++ detection (e.g. g++-12 or /usr/bin/g++, not just g++).
1450
14512022-10-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
1452
1453	[tools/nightly-test] change to git
1454
14552022-10-26  Vincent Lefevre  <vincent@vinc17.net>
1456
1457	[doc/mpfr.texi] Cosmetic consistency change in the .texi source.
1458
1459	Let's use the same code for "start of header" and "end of header".
1460
14612022-10-25  Vincent Lefevre  <vincent@vinc17.net>
1462
1463	[doc/mpfr.texi] Updated @m{T,N} macro, with comments.
1464
1465	The @m{T,N} macro is used for math formatting and textual equivalent
1466	(human-readable text). However, it was generating emphasis in HTML,
1467	which was unexpected. This commit removes the use of @math for the
1468	Info and HTML output (for Info, this does not change anything, and
1469	for HTML, this removes the incorrect emphasis). It also updates the
1470	documentation and adds a comment about the history of this macro and
1471	various issues related to it.
1472
14732022-10-24  Vincent Lefevre  <vincent@vinc17.net>
1474
1475	Updated doc/texinfo.tex to 2022-10-18.18
1476
1477	Update from the texinfo Git repository.
1478	  * The generated mpfr.html and mpfr.info files remain the same.
1479	  * For mpfr.pdf, there are some spacing improvements.
1480
14812022-10-11  Vincent Lefevre  <vincent@vinc17.net>
1482
1483	[doc/mpfr.texi] Updated the month.
1484
14852022-10-11  Vincent Lefevre  <vincent@vinc17.net>
1486
1487	[doc/mpfr.texi] Fix formatting for mpfr_can_round.
1488
1489	Consistency changes and use of no-break space (@tie{}).
1490
1491	Note: Once @math{...} has been clarified/fixed, apply the suggestions
1492	by Ivan Panchenko:
1493	  https://sympa.inria.fr/sympa/arc/mpfr/2022-10/msg00020.html
1494
14952022-10-11  Vincent Lefevre  <vincent@vinc17.net>
1496
1497	[doc/mpfr.texi] Consistency correction for mpfr_get_str_ndigits.
1498
1499	Use @math{m} (instead of just m) as already used a bit earlier.
1500
1501	But the use of @math may need to be revised. See
1502	https://lists.gnu.org/archive/html/bug-texinfo/2022-10/msg00045.html
1503
15042022-10-11  Vincent Lefevre  <vincent@vinc17.net>
1505
1506	[doc/mpfr.texi] Improved spacing.
1507
1508	2 changes suggested by Ivan Panchenko at
1509
1510	  https://sympa.inria.fr/sympa/arc/mpfr/2022-10/msg00020.html
1511
1512	but do not use @math{...} as with HTML output, it puts everything
1513	in italics with <em class='math'>...</em>, which is incorrect for
1514	things like digits.
1515
1516	However, this behavior of @math{...} is not what is documented in
1517	the GNU Texinfo 6.8 manual, which says:
1518
1519	  The '@math' command has no special effect on the Info output or (by
1520	  default) the HTML output, merely outputting the contents verbatim.
1521
15222022-10-11  Vincent Lefevre  <vincent@vinc17.net>
1523
1524	[doc/mpfr.texi] Added a comment about the use of @math{...}.
1525
15262022-10-11  Vincent Lefevre  <vincent@vinc17.net>
1527
1528	[doc/mpfr.texi] Fixed italicization for mpfr_eint.
1529
1530	An issue reported by Ivan Panchenko:
1531	  https://sympa.inria.fr/sympa/arc/mpfr/2022-10/msg00020.html
1532
1533	I also had to fix the occurrences of k in @ifnottex for HTML.
1534
15352022-10-11  Vincent Lefevre  <vincent@vinc17.net>
1536
1537	Fixed some minor mistakes.
1538
1539	* Minor mistakes in doc/mpfr.texi reported by Ivan Panchenko:
1540	    https://sympa.inria.fr/sympa/arc/mpfr/2022-10/msg00020.html
1541	  (spacing and italicization not fixed yet).
1542	* Fixed similar mistakes in the other files.
1543
15442022-10-11  Vincent Lefevre  <vincent@vinc17.net>
1545
1546	mpfrlint: updated text checking (spelling...)
1547
15482022-10-05  Vincent Lefevre  <vincent@vinc17.net>
1549
1550	ChangeLog update with tools/update-changelog
1551
1552	[tools/update-changelog] Use UTC to generate the ChangeLog file.
1553
15542022-10-05  Vincent Lefevre  <vincent@vinc17.net>
1555
1556	[tools/gitlog-to-changelog] Improve --strip-cherry-pick for this repository.
1557
1558	Remove all the cherry-pick information from what can be found in
1559	the 4.1 branch.
1560
15612022-10-05  Vincent Lefevre  <vincent@vinc17.net>
1562
1563	[doc/README.dev] "To make a release": precision about the tag.
1564
1565	[doc/README.dev] "To make a release": correction about the tag.
1566
1567	[tests/tnrandom.c] Fixed compilation failure with mini-gmp.
1568
15692022-10-05  Vincent Lefevre  <vincent@vinc17.net>
1570
1571	[tools] Improvement for the ChangeLog generation.
1572
1573	* tools/gitlog-to-changelog: modified regexp for --strip-cherry-pick
1574	  to support some log message in the MPFR Git repository (currently,
1575	  only commit 4c5973c2f0153a3a4708cab79ed142e72c4a50eb, but similar
1576	  ones could occur in the future).
1577	* tools/update-changelog: use this --strip-cherry-pick option.
1578
15792022-10-05  Vincent Lefevre  <vincent@vinc17.net>
1580
1581	[doc/README.dev] "To make a release": update for the ChangeLog file.
1582
1583	See commit 1dc281851408fc7d330576327545857c93392521 for the reason.
1584
15852022-10-05  Vincent Lefevre  <vincent@vinc17.net>
1586
1587	[doc/README.dev] "To make a release": update for abi-compliance-checker.
1588
1589	Added an example of use of build-multi and abi-compliance-checker
1590	for the 4.1.1 release candidate.
1591
15922022-10-05  Vincent Lefevre  <vincent@vinc17.net>
1593
1594	Fix for "make dist" / "make distcheck" about ChangeLog regeneration.
1595
1596	The "ChangeLog: FORCE" rule in Makefile.am was incompatible with
1597	GNU Automake's "make dist" / "make distcheck" because GNU Automake
1598	creates a "distdir-am: $(DISTFILES)" rule, which was regenerating
1599	the ChangeLog file in "make dist"; such a change is not allowed
1600	(it fails with "make distcheck") and not wanted anyway.
1601	Issue introduced by commit 52652c41978089be57aca658bacf19b758c73be4.
1602
1603	* Added tools/update-changelog sh script to update the ChangeLog file.
1604	* Makefile.am: replaced the incorrect rule mentioned above by a rule
1605	  update-changelog to run tools/update-changelog; added a comment.
1606
16072022-10-05  Vincent Lefevre  <vincent@vinc17.net>
1608
1609	[doc/README.dev] "To make a release": update for abi-compliance-checker.
1610
16112022-10-05  Vincent Lefevre  <vincent@vinc17.net>
1612
1613	[doc/README.dev] "To make a release": update about build-multi.
1614
1615	Needed due to the switch from InriaForge to Inria GitLab.
1616
16172022-10-04  Vincent Lefevre  <vincent@vinc17.net>
1618
1619	[tests/tnrandom.c] Improved the support non-default seed.
1620
1621	As suggested by mpfrlint, use a different randstate rather than
1622	re-seeding mpfr_rands (with a fixed seed). So the corresponding
1623	test no longer needs to be at the end.
1624
16252022-10-04  Vincent Lefevre  <vincent@vinc17.net>
1626
1627	[tests/tnrandom.c] Added a comment for tnrandom with an argument.
1628
1629	This concerns a slowness of mpfr_clear() in the MPFR tests due to
1630	the O(n) search in tests_memory_find(), used to detect memory leaks.
1631
16322022-10-04  Vincent Lefevre  <vincent@vinc17.net>
1633
1634	[tests/tnrandom.c] Support non-default seed (GMP_CHECK_RANDOMIZE).
1635
1636	This fixes a failure due to 4c5973c2f0153a3a4708cab79ed142e72c4a50eb
1637	when GMP_CHECK_RANDOMIZE is set.
1638
16392022-10-04  Vincent Lefevre  <vincent@vinc17.net>
1640
1641	[doc/README.dev] "To make a release": added note about GMP_CHECK_RANDOMIZE.
1642
16432022-10-03  Vincent Lefevre  <vincent@vinc17.net>
1644
1645	[doc/update-faq] Ensure that the code is run from the doc directory.
1646
1647	[tools/coverage] Typo.
1648
1649	[doc/README.dev] Updated "To make a release".
1650
1651	Updated URLs.
1652
1653	Updated URLs.
1654
1655	Updated URLs.
1656
16572022-10-03  Vincent Lefevre  <vincent@vinc17.net>
1658
1659	[doc/README.dev] Corrected "To make a release".
1660
1661	The addition of the <branch>-root tag applies only after a branch
1662	is created, i.e. for non-patchlevel releases (item 0).
1663
16642022-09-14  Vincent Lefevre  <vincent@vinc17.net>
1665
1666	Updated doc/texinfo.tex to 2022-09-14.01
1667
1668	Update from the texinfo Git repository.
1669	  * The generated mpfr.html and mpfr.info files remain the same.
1670	  * For mpfr.pdf, this version fixes all the issues I've reported.
1671
16722022-09-09  Vincent Lefevre  <vincent@vinc17.net>
1673
1674	[doc/README.dev] Updated "To make a release".
1675
1676	[src/mpfr-impl.h] Added TODO for MPFR_MAYBE_UNUSED.
1677
16782022-09-07  Vincent Lefevre  <vincent@vinc17.net>
1679
1680	[doc/README.dev] New C2x draft (N3054).
1681
16822022-09-05  Vincent Lefevre  <vincent@vinc17.net>
1683
1684	[doc/README.dev] Updated "To make a release" (about texinfo.tex).
1685
1686	[autogen.sh] Added a comment about files we handle in the repository.
1687
16882022-09-05  Vincent Lefevre  <vincent@vinc17.net>
1689
1690	[doc/.gitignore] Removed /texinfo.tex since it is in the repository.
1691
1692	doc/texinfo.tex was added to the Subversion repository on 2017-11-27
1693	and the svn:ignore property should have been updated at this time,
1694	but I forgot.
1695
16962022-09-03  Vincent Lefevre  <vincent@vinc17.net>
1697
1698	[tests/RRTest.c] Replaced "egrep" by "grep -E" in comment.
1699
1700	In the GNU grep 3.8 release notes:
1701	  The egrep and fgrep commands, which have been deprecated since
1702	  release 2.5.3 (2007), now warn that they are obsolescent and should
1703	  be replaced by grep -E and grep -F.
1704
17052022-08-27  Vincent Lefevre  <vincent@vinc17.net>
1706
1707	[doc/README.dev] Changed "trunk" (Subversion) to "master" (Git).
1708
1709	[doc/README.dev] New C2x draft (N3047).
1710
17112022-08-26  Vincent Lefevre  <vincent@vinc17.net>
1712
1713	[tools/announce-text] Updated key ID for the future releases.
1714
17152022-08-19  Vincent Lefevre  <vincent@vinc17.net>
1716
1717	[codespell.ignore] Ignore RO and SIZ (codespell 2.2.0).
1718
1719	Corrected spelling mistake found by codespell 2.2.0
1720
17212022-08-16  Vincent Lefevre  <vincent@vinc17.net>
1722
1723	Cleanup about decimal floating constants matching ".0d".
1724
1725	In general, the trailing 0 is not needed, and even not wanted
1726	(this has the effect to decrease the quantum by 1 compared to the
1727	"natural value"), though the quantum is not yet specified in MPFR.
1728
1729	In tests/tget_set_d64.c, kept this trailing 0 in mpfr_set_decimal64,
1730	but added similar tests without this trailing 0.
1731
17322022-08-08  Vincent Lefevre  <vincent@vinc17.net>
1733
1734	version-ext.sh: replaced a remaining "sed" by "$SED".
1735
1736	Thanks to Trevor Spiteri for noticing that.
1737
17382022-08-08  Vincent Lefevre  <vincent@vinc17.net>
1739
1740	version-ext.sh: handle the case where no Git branches are found.
1741
1742	This should solve the issue reported on 2022-08-08 by Trevor Spiteri:
1743	https://sympa.inria.fr/sympa/arc/mpfr/2022-08/msg00002.html
1744
17452022-07-08  Vincent Lefevre  <vincent@vinc17.net>
1746
1747	doc/mpfr.texi: Updated the month.
1748
17492022-07-08  Vincent Lefevre  <vincent@vinc17.net>
1750
1751	[manual] Added a note for mpfr_nexttoward (exceptions, sign of 0).
1752
1753	Also applies to mpfr_nextabove and mpfr_nextbelow, whose description
1754	refers to mpfr_nexttoward.
1755
1756	See additional details in the comment in the src/next.c source.
1757
17582022-07-08  Vincent Lefevre  <vincent@vinc17.net>
1759
1760	[src/next.c] Updated comment (exceptions and sign of 0).
1761
1762	Concerned functions: mpfr_nexttoward, mpfr_nextabove, mpfr_nextbelow.
1763
1764	Clarification was needed due to the differences between the
1765	IEEE 754-1985, IEEE 754-2008/2019 and ISO C99+ standards on
1766	similar functions (nextafter, nextUp, nextDown).
1767
17682022-07-06  Vincent Lefevre  <vincent@vinc17.net>
1769
1770	[configure.ac] Update about GNU gold ld and LD_RUN_PATH.
1771
1772	* Comment update: added URL of the upstream bug report.
1773	* Mention the GNU gold linker in the warning.
1774
17752022-06-13  Vincent Lefevre  <vincent@vinc17.net>
1776
1777	[README] Replaced "Subversion" by "Git".
1778
1779	[doc/README.dev] Completed the update for Git.
1780
1781	[doc/README.dev] Moved and clarified a paragraph about the tests.
1782
17832022-06-11  Vincent Lefevre  <vincent@vinc17.net>
1784
1785	Fixed tsprintf %a tests when GMP and libc produce different outputs.
1786
1787	With some 32-bit mingw-w64 implementations, the GMP and libc
1788	formatted output functions produce different outputs for %a (this
1789	is not completely specified by the C standard). In the MPFR tests
1790	introduced by commit 22db634294c27eabbc0c55b04267d3ab5bc9a648 on
1791	2022-05-19, the comparison is done between the MPFR result, which
1792	is based on GMP, and the libc result; hence a failure.
1793
1794	So, changed the 4 concerned tests of tests/tsprintf.c to compare
1795	the MPFR result with the GMP result (for the other tests on the
1796	C native types, it is still better to compare MPFR with libc).
1797
1798	Bug report:
1799	  https://sympa.inria.fr/sympa/arc/mpfr/2022-06/msg00004.html
1800
18012022-06-10  Vincent Lefevre  <vincent@vinc17.net>
1802
1803	[tools/announce-text] Completed the update for Git.
1804
1805	[tools/announce-text] Check that one has an annotated tag at origin.
1806
1807	[tools/announce-text] Update.
1808
1809	[tools/announce-text] Minor git-related simplification.
1810
1811	[tools/announce-text] Started the update for Git.
1812
1813	[tools/announce-text] Removed code and text related to InriaForge (obsolete).
1814
18152022-06-08  Vincent Lefevre  <vincent@vinc17.net>
1816
1817	Updated www.open-std.org URLs: http ��� https.
1818
18192022-06-07  Vincent Lefevre  <vincent@vinc17.net>
1820
1821	[doc/README.dev] New C2x draft (N2912).
1822
18232022-06-02  Vincent Lefevre  <vincent@vinc17.net>
1824
1825	[doc/README.dev] Updated "To make a release".
1826
1827	This completes the update for Git and Inria GitLab. But the
1828	tools/announce-text script has not been updated yet.
1829
18302022-06-02  Vincent Lefevre  <vincent@vinc17.net>
1831
1832	[tools/export-release] Completed the script.
1833
1834	Fix the timestamps so that each file or directory has a timestamp
1835	corresponding to its last change.
1836
18372022-06-02  Vincent Lefevre  <vincent@vinc17.net>
1838
1839	Added tools/export-release sh script.
1840
1841	Export some release identified by a Git tag in order to get a tarball.
1842
18432022-06-02  Vincent Lefevre  <vincent@vinc17.net>
1844
1845	[mbench] Updated Copyright lines.
1846
1847	Added tools/mbench/.gitignore file.
1848
1849	[mbench/Makefile] Added missing dependencies on timp.h
1850
18512022-06-02  Vincent Lefevre  <vincent@vinc17.net>
1852
1853	[mbench/timp.h] Bug fix for "make rt" on 32-bit machines. Reindent.
1854
1855	For the code used when USE_CLOCK_MONOTONIC is defined ("make rt"):
1856	If both time_t (type of tv_sec) and long are 32-bit types, there was
1857	an overflow in the timp_rdtsc() macro, due to the multiplication of
1858	the tv_sec (coming from CLOCK_MONOTONIC, thus typically larger than 5)
1859	by the value 1000000000 (��� 2^32 / 4.3) of type unsigned long, because
1860	this multiplication would be done on 32 bits. Changed the type of the
1861	constant to unsigned long long so that the operations are done with
1862	the target type unsigned long long (at least).
1863
18642022-06-02  Vincent Lefevre  <vincent@vinc17.net>
1865
1866	[mbench] Removed trailing whitespace.
1867
18682022-06-01  Vincent Lefevre  <vincent@vinc17.net>
1869
1870	[doc/README.dev] Updated "To make a release" (about ChangeLog).
1871
1872	ChangeLog update with "make ChangeLog"
1873
1874	[tools/ck-copyright-notice] Better indentation.
1875
1876	[tools/ck-copyright-notice] Support the future ChangeLog format.
1877
18782022-06-01  Vincent Lefevre  <vincent@vinc17.net>
1879
1880	[tools/ck-copyright-notice] Better error handling.
1881
1882	Note: One currently gets a failure with the future ChangeLog format,
1883	obtained with gitlog-to-changelog (via "make ChangeLog").
1884
18852022-06-01  Vincent Lefevre  <vincent@vinc17.net>
1886
1887	Support ChangeLog regeneration from a Git working tree.
1888
1889	* Added tools/gitlog-to-changelog file from Gnulib.
1890	* Makefile.am: added a rule for the Changelog file.
1891
1892	Needed as the GNU MPFR repository has been converted to Git.
1893
1894	The '%B%n' format string is used rather than the default '%s%n%b%n'
1895	because Git's commit message convention is not always followed
1896	(in particular before the conversion of the repository to Git).
1897
1898	Note: In the future, if there is any change to do to a Git commit
1899	message (typo, etc.), the --amend option could be used.
1900
19012022-05-30  Vincent Lefevre  <vincent@vinc17.net>
1902
1903	Started to update doc/README.dev for Git.
1904
19052022-05-19  Vincent Lefevre  <vincent@vinc17.net>
1906
1907	[manual] Clarify the description of the formatted output functions.
1908
1909	Emphasize the fact that the conv specifier F is not supported, except
1910	for the type specifier R (for mpfr_t arguments).
1911
19122022-05-19  Vincent Lefevre  <vincent@vinc17.net>
1913
1914	[src/vasprintf.c] Consistency with the non-support of %F by GMP.
1915
1916	The F conversion specifier as defined by the C standard is not
1917	supported by the GMP formatted output functions because it is
1918	already used as the type specifier for mpf_t (which comes before
1919	the conversion specifier). Let's take this fact into account.
1920
1921	Note: this conversion specifier is still allowed with MPFR numbers
1922	(e.g., "%RF") to avoid breaking the compatibility (it has never
1923	been an issue).
1924
19252022-05-19  Vincent Lefevre  <vincent@vinc17.net>
1926
1927	[tests/tsprintf.c] native_types: added tests to differentiate %G from %g.
1928
1929	The tested value -1.25 had the same output -1.25 with %g and %G.
1930	Added 7.62939453125e-6 (= 2^(-17)), whose output by %g and %G has
1931	an exponent introduced by 'e' and 'E' respectively.
1932
19332022-05-19  Vincent Lefevre  <vincent@vinc17.net>
1934
1935	[tests/tsprintf.c] native_types: added tests for %a, %A, %la, %lA
1936
19372022-05-19  Vincent Lefevre  <vincent@vinc17.net>
1938
1939	[tests/tsprintf.c] Added/fixed native_types tests.
1940
1941	* Added tests of %E and %G.
1942	* Removed the test of %lF, which is not supported by GMP (and yields
1943	  a heap buffer overflow, detected by AddressSanitizer): even though
1944	  there would be no ambiguity in this particular case, it is not
1945	  supported because the standard F conversion specifier isn't due to
1946	  the use of the F type specifier for mpf_t.
1947
19482022-05-19  Vincent Lefevre  <vincent@vinc17.net>
1949
1950	[tests/tsprintf.c] Correction for %la, %lA, %le, %lE, %lf, %lF, %lg, %lG
1951
1952	Reverted commit 2b60707d22717e0f582be5de680d7fa7004e2512 and added
1953	tests for the missing %lE, %lF, %lG in native_types, protected by
1954	a #if (see commit ecd3279f3dfd281fc8e51aac7509b76b27497a6c) as they
1955	may need an ISO C99 compiler.
1956
1957	Note: The test of %la and %lA was incorrect because the first digit
1958	is unspecified (and really depends on the C library). A test could
1959	be added in the future, perhaps also with a configure test, because
1960	the compiler may support ISO C99 but not the C library (there was
1961	an issue like that at least with old versions of Solaris).
1962
19632022-05-19  Vincent Lefevre  <vincent@vinc17.net>
1964
1965	[tests/tsprintf.c] native_types: test %le, %lf, %lg only with C99+
1966
1967	��� since the l length modifier for the FP types (a, A, e, E, f, F, g, G
1968	conversion specifiers) has been added in ISO C99.
1969
19702022-05-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
1971
1972	[tests/tsprintf.c] added tests for %la, %lA, %le, %lE, %lf, %lF, %lg, %lG
1973
19742022-05-19  Vincent Lefevre  <vincent@vinc17.net>
1975
1976	[src/vasprintf.c] Bug fix for the l length modifier with FP type.
1977
1978	The l length modifier is now supported with the a, A, e, E, f, F, g, G
1979	conversion specifiers, as required by the ISO C standard on printf and
1980	other formatted output functions. As specified, it is just ignored.
1981
1982	For that, to improve code maintainability, the CASE_LONG_ARG() macro
1983	was simplified:
1984	  * The c and s conversion specifiers are always supported by this
1985	    macro (this is a potential fix for implementations with incomplete
1986	    wide-character handling, without any guarantee to work).
1987	  * A MPFR_RET_NEVER_GO_HERE() for unsupported conversion specifiers
1988	    has been added (if specinfo_is_valid() is consistent with this
1989	    macro, one should effectively never reach this case).
1990
19912022-05-19  Vincent Lefevre  <vincent@vinc17.net>
1992
1993	[src/vasprintf.c] Made case ordering consistent (no change of behavior).
1994
1995	The "case" ordering in specinfo_is_valid() and in CONSUME_VA_ARG() for
1996	integer specifiers and for floating-point specifiers was not the same.
1997	Improved code readability by using the same order across the code
1998	(also OK with CASE_LONG_ARG()).
1999
20002022-05-19  Vincent Lefevre  <vincent@vinc17.net>
2001
2002	[tests/tsprintf.c] native_types: test %le, %lf, %lg.
2003
2004	These tests are currently failing. Bug reported by Paul Zimmermann
2005	for %la (but %a and %la are not currently tested, because of their
2006	possible lack of support in the C library).
2007
20082022-05-19  Vincent Lefevre  <vincent@vinc17.net>
2009
2010	[tests/tsprintf.c] native_types: same tests for i as for d.
2011
2012	[tests/tnrandom.c] With mini-gmp, disable the tests that check the values.
2013
2014	[acinclude.m4] Added a comment about the unreliable NAN != NAN check.
2015
20162022-05-19  Vincent Lefevre  <vincent@vinc17.net>
2017
2018	[tests/cmp_str.c] In mpfr_cmp_str, check that s is a valid number.
2019
2020	In the tests, the string provided to mpfr_cmp_str is normally a
2021	valid number (the common use is to check that a result is equal to
2022	some hardcoded value given by a string). A string s that does not
2023	represent a valid number probably has a typo, and the consequence
2024	was that in such a case, any non-NaN result was regarded as correct.
2025
20262022-05-19  Vincent Lefevre  <vincent@vinc17.net>
2027
2028	[tests/tsubnormal.c] Removed invalid testcase bug20220518.
2029
2030	The testcase bug20220518 added in
2031	  commit 7640a832fbf0b7f9057889e076cf7f42fe4f8e58
2032	was invalid as the mpfr_subnormalize input was not in the current
2033	exponent range (it had exponent -1074 while emin = -1073).
2034
2035	As usual, inputs outside the current exponent range are not supported
2036	(the mpfr_subnormalize description in the manual is explicit:
2037	"The subnormal exponent range is from ���emin��� to ���emin+PREC(X)-1���.").
2038	Supporting values outside the current exponent range is not needed
2039	in practice (see examples in the manual).
2040
20412022-05-19  Vincent Lefevre  <vincent@vinc17.net>
2042
2043	[tests/tsubnormal.c] Code style in coverage().
2044
2045	[tests/tsubnormal.c] Added missing cleanup at the end of bug20220518.
2046
2047	[tests/tsubnormal.c] Simplified bug20220518.
2048
2049	[tests/tsubnormal.c] C90 compatibility.
2050
20512022-05-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
2052
2053	[tests/tsubnormal.c] added test case that exhibits a bug in mpfr_subnormalize
2054	[src/subnormal.c] fixed typo
2055
20562022-05-18  Vincent Lefevre  <vincent@vinc17.net>
2057
2058	[tests/tnrandom.c] Check some mpfr_nrandom values to detect changes.
2059
2060	The values should be the same on different machines and with
2061	different MPFR versions (or this would be an ABI change).
2062
20632022-05-17  Vincent Lefevre  <vincent@vinc17.net>
2064
2065	For version-ext.sh, use "$SED" instead of "sed".
2066
2067	* tests/Makefile.am: pass $SED to version-ext.sh.
2068	* version-ext.sh: use $SED (default to "sed").
2069
20702022-05-17  Vincent Lefevre  <vincent@vinc17.net>
2071
2072	Fixed version-ext.sh when in an origin/* remote branch.
2073
20742022-05-13  Vincent Lefevre  <vincent@vinc17.net>
2075
2076	Tests: the check of subnormal support is done when running the tests.
2077
2078	The check of support for double and float subnormals was done at
2079	configure time, but it could not be done when cross-compiling.
2080	Since it is useful only for the tests, it is better to do it when
2081	running the tests.
2082
2083	* tests/tests.c: added have_subnorm_dbl() and have_subnorm_flt()
2084	  functions to check support for double and float subnormals;
2085	  removed such a check from mpfr_test_init().
2086	* tests/mpfr-test.h: declare these functions.
2087	* tests/tget_flt.c: use have_subnorm_flt() instead of HAVE_SUBNORM_FLT.
2088	* tests/tset_d.c, tests/tsprintf.c: removed the useless test of
2089	  HAVE_SUBNORM_DBL (this was a minor optimization).
2090	* acinclude.m4: updated comment about the check of subnormal support;
2091	  minor improvement in the check for float subnormals.
2092	  Note: keep the check just for build information (it might be useful
2093	  for debugging or in case of a related bug report).
2094	* tools/mpfrlint: check that the HAVE_SUBNORM_* macros are not used.
2095
20962022-05-13  Vincent Lefevre  <vincent@vinc17.net>
2097
2098	[acinclude.m4] Updated comment about the check of subnormal numbers.
2099
2100	* Removed text about DBL_HAS_SUBNORM and FLT_HAS_SUBNORM (which
2101	  was added in commit 3ee30bcf34bfb5d042e5a1aa9b7cf8a42b51cb91
2102	  on 2019-10-01) since these macros should be made obsolescent:
2103	  https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2981.htm
2104	  And their use would be incorrect in C++ (different meaning):
2105	  https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2988.pdf
2106	* A bit more details.
2107	* Added a FIXME for better cross-compiling support.
2108
21092022-05-10  Vincent Lefevre  <vincent@vinc17.net>
2110
2111	doc/mpfr.texi: Updated the month.
2112
2113	[NEWS] Mention the fixes of the macros of the custom interface.
2114
21152022-05-10  Vincent Lefevre  <vincent@vinc17.net>
2116
2117	Improved 2 macros of the custom interface and updated manual.
2118
2119	* src/mpfr.h: The mpfr_custom_init() and mpfr_custom_move() macros
2120	  could not be used in contexts where an expression was expected.
2121	  This limitation was not necessary and is now removed.
2122	* doc/mpfr.texi: In commit 743a63c480318f60ac2a953007bac08f37b7d71d,
2123	  the manual was clarified about the macros of the custom interface,
2124	  i.e. behaving like macros, which may evaluate arguments multiple
2125	  times or none. This was incomplete and error prone, in addition
2126	  to being undocumented in the current MPFR versions. Almost all
2127	  issues have now been fixed (the only minor limitation is that the
2128	  mpfr_custom_init_set() macro is not usable in contexts where an
2129	  expression is expected, but this cannot yield unnoticed bugs).
2130	  So, changed the manual to reflect these fixes and added an item
2131	  in Section "API Compatibility" (also removed an obsolete comment
2132	  about that from src/mpfr.h).
2133
21342022-05-08  Vincent Lefevre  <vincent@vinc17.net>
2135
2136	Improved a comment.
2137
21382022-05-06  Vincent Lefevre  <vincent@vinc17.net>
2139
2140	[doc/README.dev] Added text about tests of function-like macros.
2141
21422022-05-06  Vincent Lefevre  <vincent@vinc17.net>
2143
2144	In comments, changed "stack interface" to "custom interface".
2145
2146	* src/mpfr.h: changed "stack interface" and "mpfr_stack interface"
2147	  to "(the) custom interface".
2148	* src/stack_interface.c: changed "mpfr_stack" to "custom interface".
2149
2150	The mpfr_stack_ prefix was changed to mpfr_custom_ in 2005
2151	(see commit 0a010e55364d1cc3681273eee70c91dab0a61946) and
2152	the MPFR manual says "Custom Interface".
2153
21542022-05-06  Vincent Lefevre  <vincent@vinc17.net>
2155
2156	Other corrections about the custom interface.
2157
2158	This time, the build of tstckintc was failing with "gcc -Wc++-compat"
2159	because __cplusplus is not defined.
2160
2161	* tests/tstckintc.c: use the same solution as already done in
2162	  tcopysign.c (commit 3dbf3387669030b264317202806fc3d938704618),
2163	  i.e. ignore -Wc++-compat with "GCC diagnostic" pragmas when
2164	  testing with void * arguments.
2165	  Also simplified the code thanks to the VOIDP_CAST macro that
2166	  was introduced at that time (cast to void * except in C++):
2167	  commit 9076e47ceb41c60cab526870757f2098ced5c26d.
2168
2169	Everything should now be OK.
2170
21712022-05-06  Vincent Lefevre  <vincent@vinc17.net>
2172
2173	Other corrections about the custom interface.
2174
2175	In C++, implicit pointer conversions are forbidden. This made the
2176	build of tstckintc fail with g++ and -DMPFR_USE_NO_MACRO in CFLAGS.
2177
2178	* src/mpfr.h: do not attempt to support implicit pointer conversions
2179	  with a C++ compiler in the macros, since this is not supported by
2180	  the functions, i.e. removed 2 useless casts; this is a bit like the
2181	  code like before commit 9f94e0311ed53d0c64d4fbca249d19cc4888027e.
2182	* tests/tstckintc.c: test a "void *" argument instead of mpfr_ptr only
2183	  in C, not C++ (which cannot work if -DMPFR_USE_NO_MACRO is used).
2184	  Note: for newx and newx2, revert to the code that was before the
2185	  commit mentioned above.
2186
21872022-05-06  Vincent Lefevre  <vincent@vinc17.net>
2188
2189	Testsuite: C++11 compatibility (GCC's -Wliteral-suffix).
2190
2191	With "g++ -Werror", several .c files in the "tests" directory were
2192	yielding
2193
2194	  error: invalid suffix on literal; C++11 requires a space between
2195	  literal and string macro [-Werror=literal-suffix]
2196
21972022-05-06  Vincent Lefevre  <vincent@vinc17.net>
2198
2199	Fixed build failure of user code using mpfr_custom_get_kind() / g++.
2200
2201	* src/mpfr.h: added missing cast in the mpfr_custom_get_kind() macro
2202	  (invalid C++ code, but this is in a GNU __extension__ block, thus
2203	  unfortunately, it was not detected by "gcc -Werror=c++-compat";
2204	  see <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105499>).
2205
2206	Bug introduced in commit 9f94e0311ed53d0c64d4fbca249d19cc4888027e.
2207
22082022-05-05  Vincent Lefevre  <vincent@vinc17.net>
2209
2210	Fixed issues with the macro versions of the custom interface.
2211
2212	* src/mpfr.h: fixed issues with the mpfr_custom_* macros:
2213	    - a "void *" argument instead of mpfr_ptr could make the
2214	      compilation fail (with the function, the conversion is
2215	      implicit, thus this should be accepted by the macro);
2216	    - some arguments could be evaluated 0 times, which is wrong
2217	      if their evaluation has side effects.
2218	* tests/tstckintc.c: added various tests to check these kinds
2219	  of issues.
2220
22212022-05-05  Vincent Lefevre  <vincent@vinc17.net>
2222
2223	Avoid a -Wsign-conversion warning that could occur in user code.
2224
2225	Issue reported by Andreas Enge concerning PariTwine.
2226
2227	* src/mpfr.h: added a cast in the mpfr_custom_get_size() macro so that
2228	  a size_t * size_t product is done instead of mpfr_prec_t * size_t
2229	  (where mpfr_prec_t is signed and size_t is unsigned, triggering a
2230	  warning when GCC's -Wsign-conversion is used).
2231
22322022-05-05  Vincent Lefevre  <vincent@vinc17.net>
2233
2234	Fixed mpfr_custom_get_size() macro and added non-regression test.
2235
2236	* src/mpfr.h: added missing cast in mpfr_custom_get_size() macro.
2237	* tests/tstckintc.c: added testcases (would fail on LP64 platforms).
2238
22392022-04-22  Vincent Lefevre  <vincent@vinc17.net>
2240
2241	[mpfr-impl.h] Rounding mode macros: added assertion; updated comments.
2242
22432022-04-22  Vincent Lefevre  <vincent@vinc17.net>
2244
2245	Updated TODO to improve mpfr_pow_si/sj for negative n.
2246
2247	I thought that there would be some drawbacks with the underflow
2248	by computing the power before the division, but this actually
2249	seems to be more or less equivalent (mpfr_pow_general is already
2250	used for MPFR_RNDN).
2251
2252	Also, removed the suggestion with rescaling as this may not be
2253	possible for large values of n compared to the maximum exponent.
2254
22552022-04-17  Vincent Lefevre  <vincent@vinc17.net>
2256
2257	Corrected comment about the ".POSIX" line in all Makefile.am files.
2258
22592022-04-08  Vincent Lefevre  <vincent@vinc17.net>
2260
2261	[TODO] Added idea of implementation for to_chars.
2262
22632022-04-07  Vincent Lefevre  <vincent@vinc17.net>
2264
2265	[manual] For sqrt and rec_sqrt, mention the relation with rootn.
2266
2267	Updated TODO about rootn (now that mpfr_rootn_si is implemented).
2268
22692022-04-06  Vincent Lefevre  <vincent@vinc17.net>
2270
2271	[src/pow_si.c] Added a static assertion and comments about code improvement.
2272
22732022-04-06  Vincent Lefevre  <vincent@vinc17.net>
2274
2275	[src/log_ui.c] Updated comments to better understand that the code is correct.
2276
2277	Note: these are the same as in the 4.1 branch (commit 8f357dd48).
2278	So the ULONG2LONG macro was not necessary, but let's keep it for
2279	maintainability. This does not change for GCC and Clang. But tcc
2280	even generates shorter x86_64 code with this macro.
2281
22822022-04-06  Vincent Lefevre  <vincent@vinc17.net>
2283
2284	[tests/tpow.c] Improved/added bad_cases tests of mpfr_pow_ui/si (x^n).
2285
2286	* For n odd, generate negative values y (thus x) with a probability
2287	  1/2 (instead of a very low probability), as there is no reason to
2288	  favor positive values in this case.
2289	* Added bad_cases tests of mpfr_pow_si with n negative (with the help
2290	  of mpfr_rootn_si). This was the TODO from commit 58fc9fb0e.
2291
22922022-04-06  Vincent Lefevre  <vincent@vinc17.net>
2293
2294	[tests] In some bad_cases messages, output the name of the function.
2295
2296	This is useful for tests with several bad_cases invocations,
2297	such as tpow, troot and trootn_si.
2298
22992022-04-06  Vincent Lefevre  <vincent@vinc17.net>
2300
2301	[tests/{troot,trootn_si}.c] Added a comment about bad_cases.
2302
23032022-04-05  Vincent Lefevre  <vincent@vinc17.net>
2304
2305	Added /trootn_si to tests/.gitignore
2306
23072022-04-05  Vincent Lefevre  <vincent@vinc17.net>
2308
2309	src/root.c: for mpfr_rootn_si with k = -2, use mpfr_rec_sqrt.
2310
2311	The mpfr_rec_sqrt code is faster than the generic mpfr_rootn_si code
2312	for k = -2.
2313
2314	Also added a TODO: if MPFR_WANT_ASSERT >= 2, do both computations
2315	and compare the results.
2316
23172022-04-05  Vincent Lefevre  <vincent@vinc17.net>
2318
2319	tests/trootn_si.c: fixed typo in error messages.
2320
23212022-04-05  Vincent Lefevre  <vincent@vinc17.net>
2322
2323	src/pow_ui.c: bug fix with mini-gmp and limb < unsigned long.
2324
2325	The initial precision was too small for large values of n.
2326	��� tpow and trootn_si no longer fail.
2327
23282022-04-05  Vincent Lefevre  <vincent@vinc17.net>
2329
2330	tests/tpow.c: better generic tests for mpfr_pow_ui and mpfr_pow_si.
2331
2332	Changed INT_RAND_FUNCTION, in particular to use randulong / randlong
2333	for mini-gmp, yielding an assertion failure when MINI_GMP_LIMB_TYPE
2334	is shorter than "long".
2335
23362022-04-05  Vincent Lefevre  <vincent@vinc17.net>
2337
2338	mpfrlint: ignore mini-gmp in some test.
2339
23402022-04-05  Vincent Lefevre  <vincent@vinc17.net>
2341
2342	mpfr_rootn_si(): bug fix for n = LONG_MIN; added generic tests.
2343
2344	* src/root.c: bug fix in mpfr_rootn_si() for n = LONG_MIN
2345	  (integer overflow on -n, triggered by the generic tests).
2346	* tests/trootn_si.c: added generic tests.
2347	  Note: they currently yield an assertion failure in pow_ui.c with
2348	  mini-gmp when MINI_GMP_LIMB_TYPE is shorter than "long".
2349
23502022-04-05  Vincent Lefevre  <vincent@vinc17.net>
2351
2352	[tests] Add randulong and randlong functions (useful with mini-gmp).
2353
2354	To get a random unsigned long, randlimb() is currently used, but with
2355	mini-gmp, a limb may be shorter than an unsigned long, so that one
2356	does not get all the possible "unsigned long" values. So these new
2357	randulong() and randlong() functions should now be used instead.
2358
23592022-04-05  Vincent Lefevre  <vincent@vinc17.net>
2360
2361	Define a ULONG2LONG() macro to convert from unsigned long to long.
2362
2363	The conversion is done with the two's complement rule
2364	(i.e. modular arithmetic) in a portable way.
2365	  * doc/README.dev: mention this macro (the technique was already
2366	    described).
2367	  * src/log_ui.c: use this macro instead of non-portable code due to
2368	    the case n = LONG_MAX + 1.
2369	  * src/mpfr-impl.h: define this macro.
2370
23712022-04-05  Vincent Lefevre  <vincent@vinc17.net>
2372
2373	trootn_si.c: more mpfr_rootn_si tests on special values
2374
2375	doc/mpfr.texi: Updated the month.
2376
2377	New function mpfr_rootn_si
2378
23792022-04-04  Vincent Lefevre  <vincent@vinc17.net>
2380
2381	[src/root.c] Updated a comment for mpfr_rootn_ui.
2382
2383	This comment was correct for mpfr_root, but I forgot to update it when
2384	changing this function to mpfr_rootn_ui (where this case differs) in
2385	commit 117c726a863e243634c8e5fbaae0265cac90a4a1.
2386
23872022-04-04  Vincent Lefevre  <vincent@vinc17.net>
2388
2389	[tests/troot.c] Added a comment.
2390
2391	[tests/tpow.c] Added a TODO about tests with bad_cases.
2392
2393	[tests/tpow.c] Corrected messages.
2394
2395	[tests/tpow.c] For rootN, use mpfr_root and mpfr_rootn_ui randomly.
2396
23972022-04-04  Vincent Lefevre  <vincent@vinc17.net>
2398
2399	[tests] Define RAND_BOOL() macro (random boolean) and use it.
2400
2401	In the tests directory:
2402	* mpfr-test.h: define RAND_BOOL() macro, with type int.
2403	* mpfr-test.h and various .c files: replace "randlimb () & 1" and
2404	  "randlimb () % 2" by "RAND_BOOL ()".
2405	* tfprintf.c, tsprintf.c: use the same code as tprintf.c.
2406
24072022-04-04  Vincent Lefevre  <vincent@vinc17.net>
2408
2409	In the tests, fixed "randlimb () % 1", mistaken for "randlimb () & 1".
2410
2411	This occurred only in tests/tfmma.c (5 occurrences), with the
2412	consequence of fewer cases of different kinds in the tests.
2413
2414	Such a kind of mistake is now detected by mpfrlint (commit 2a90f0c91).
2415
24162022-04-04  Vincent Lefevre  <vincent@vinc17.net>
2417
2418	mpfrlint: detect "% 1" (modulo 1), which always gives 0.
2419
2420	This is probably mistaken for "& 1" or "% 2", as currently in
2421	"tests/tfmma.c".
2422
24232022-03-30  Vincent Lefevre  <vincent@vinc17.net>
2424
2425	[TODO] Moved and updated item.
2426
2427	Since this is about functions in IEEE 754-2019, it makes more sense
2428	to have this item after the new functions of IEEE 754-2008.
2429
24302022-03-30  Vincent Lefevre  <vincent@vinc17.net>
2431
2432	[TODO] Updated item (with non-public URL removed).
2433
24342022-03-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
2435
2436	[TODO] added item
2437
24382022-03-29  Vincent Lefevre  <vincent@vinc17.net>
2439
2440	Fixed version-ext.sh, in particular when used after "./autogen.sh".
2441
2442	After running autogen.sh, version-ext.sh incorrectly detected files
2443	as modified. Solution: refresh the git index before git diff-index.
2444
24452022-03-28  Vincent Lefevre  <vincent@vinc17.net>
2446
2447	[acinclude.m4] Fix/improve MPFR_CHECK_LIBM and MPFR_CHECK_LIBQUADMATH.
2448
2449	With a GCC snapshot, -Werror=infinite-recursion was yielding an
2450	error in AC_CHECK_LIB for function "main". So, define MPFR_HAVE_LIB
2451	to be used instead of AC_CHECK_LIB when it is not needed to test any
2452	function. So, use it in MPFR_CHECK_LIBM and MPFR_CHECK_LIBQUADMATH.
2453	Also updated MPFR_CHECK_LIBM from the current libtool.m4 code, as
2454	done in the past.
2455
24562022-03-24  Vincent Lefevre  <vincent@vinc17.net>
2457
2458	[get_d128.c] Updated FIXME comment.
2459
24602022-03-24  Vincent Lefevre  <vincent@vinc17.net>
2461
2462	Added a TODO efficiency item about the size of the MPFR library.
2463
2464	Reduce the size of the MPFR library generated by GCC by avoiding
2465	operations on _Decimal128 in get_d128.c when its encoding is BID.
2466
24672022-02-18  Vincent Lefevre  <vincent@vinc17.net>
2468
2469	[algorithms.tex] Cleanup: ^\infty ��� ^{\infty}
2470
2471	Using a command after _ (subscript) or ^ (superscript) is discouraged
2472	as it might break with future TeX versions, as already seen.
2473	Discussion:
2474	  https://tug.org/pipermail/tex-live/2022-February/047780.html
2475
24762022-02-18  Vincent Lefevre  <vincent@vinc17.net>
2477
2478	[algorithms.tex] Updated 2 URLs in comments (http ��� https).
2479
24802022-02-03  Vincent Lefevre  <vincent@vinc17.net>
2481
2482	Updated a comment: added a ref to WG14/N2921 about large bit-fields.
2483
24842022-01-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
2485
2486	[src/nrandom.c] added reference
2487
24882022-01-18  Vincent Lefevre  <vincent@vinc17.net>
2489
2490	Updated the FIXME in acinclude.m4 for MPFR_CHECK_LIBM.
2491
24922022-01-18  Vincent Lefevre  <vincent@vinc17.net>
2493
2494	Added FIXME in acinclude.m4 for MPFR_CHECK_LIBM.
2495
2496	With a GCC snapshot:
2497	  error: infinite recursion detected [-Werror=infinite-recursion]
2498
24992022-01-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
2500
2501	[TODO] removed an item (done in the web page for each release)
2502
25032022-01-14  Vincent Lefevre  <vincent@vinc17.net>
2504
2505	doc/mpfr.texi: Updated the month.
2506
25072022-01-12  Vincent Lefevre  <vincent@vinc17.net>
2508
2509	[tests] Added a comment about the output of pointer values.
2510
25112022-01-10  Vincent Lefevre  <vincent@vinc17.net>
2512
2513	[doc/README.dev] Updated "To make a release".
2514
2515	Added a paragraph about config.guess and config.sub.
2516
25172022-01-06  Vincent Lefevre  <vincent@vinc17.net>
2518
2519	Added a TODO to improve mpfr_pow_si/sj.
2520
2521	Computing POW_U before the division (instead of after) would reduce
2522	the error in the intermediate result.
2523
25242022-01-06  Vincent Lefevre  <vincent@vinc17.net>
2525
2526	Updated a comment about a clang bug.
2527
2528	Updated a comment about a clang bug.
2529
25302022-01-06  Vincent Lefevre  <vincent@vinc17.net>
2531
2532	Copyright notice update: added 2022.
2533
2534	Command used:
2535	  perl -pi -e 's/ (\d{4}-)?(2021)(?= Free Software)/
2536	               " ".($1||"$2-").($2+1)/e' **/*(^/)
2537	under zsh.
2538	Removed 2021 from the example in the doc/README.dev file.
2539
25402021-12-26  Vincent Lefevre  <vincent@vinc17.net>
2541
2542	README.dev: added C2x draft URL (N2731).
2543
2544	Corrected style (spurious space before comma).
2545
25462021-12-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
2547
2548	gnu style
2549
25502021-11-25  Vincent Lefevre  <vincent@vinc17.net>
2551
2552	Move code for git info to its own shell script "version-ext.sh".
2553
2554	* New version-ext.sh file: sh script to output MPFR version information
2555	  for a Git working tree (old code from tests/Makefile.am).
2556	* tests/Makefile.am: replace some output_info code by the use of this
2557	  script.
2558	* Makefile.am: add version-ext.sh to EXTRA_DIST as a consequence
2559	  (a comment explains why).
2560	* README: list this new version-ext.sh file as a consequence.
2561
25622021-11-25  Vincent Lefevre  <vincent@vinc17.net>
2563
2564	Another fix in the code for git info output by "make check".
2565
2566	tests/Makefile.am: in output_info, replaced "grep" by "$(GREP)".
2567
25682021-11-25  Vincent Lefevre  <vincent@vinc17.net>
2569
2570	Fixed git info output by "make check".
2571
2572	tests/Makefile.am: when discarding excluded branches, the match should
2573	be done on the full branch name, not a subword; so, added the -x grep
2574	option (specified by POSIX).
2575
25762021-11-25  Vincent Lefevre  <vincent@vinc17.net>
2577
2578	Updated tests_run_within_valgrind() comment in "tests/tests.c".
2579
25802021-11-23  Vincent Lefevre  <vincent@vinc17.net>
2581
2582	README.dev: added note about the formally proven code and requirements.
2583
2584	Update of INSTALL file about CompCert.
2585
25862021-11-22  Vincent Lefevre  <vincent@vinc17.net>
2587
2588	doc/mpfr.texi: Updated the month.
2589
25902021-11-22  Vincent Lefevre  <vincent@vinc17.net>
2591
2592	For git info output by "make check", check for modifications.
2593
2594	tests/Makefile.am: updated output_info code to add " (modified)"
2595	when the working tree has been modified (compared to HEAD).
2596
25972021-11-22  Vincent Lefevre  <vincent@vinc17.net>
2598
2599	Added info to doc/README.dev about <branch>-root tags.
2600
26012021-11-22  Vincent Lefevre  <vincent@vinc17.net>
2602
2603	Removed a usless comment about git info output by "make check".
2604
2605	tests/Makefile.am: removed the comment about the unimplemented
2606	solution with possible *-branch tags (I think that it would not
2607	work well with merges).
2608
26092021-11-22  Vincent Lefevre  <vincent@vinc17.net>
2610
2611	Improved code to output git info from "make check".
2612
2613	tests/Makefile.am: updated output_info code and comment.
2614	We now use <branch>-root tags to find to correct branch, by excluding
2615	branches created after the current HEAD.
2616
26172021-11-22  Vincent Lefevre  <vincent@vinc17.net>
2618
2619	Fixed git info output by "make check".
2620
2621	tests/Makefile.am: in output_info, added a "|| true" on a shell command
2622	that may fail (grep with no matches).
2623
26242021-11-22  Vincent Lefevre  <vincent@vinc17.net>
2625
2626	Added a FIXME for git info output by "make check".
2627
2628	The recent additions to tests/Makefile.am work well for master (and
2629	detached HEAD state), but not for the 4.1 branch, where $gitb gets
2630	empty, even though testing from an interactive shell (/bin/sh = dash)
2631	does not show any issue.
2632
26332021-11-22  Vincent Lefevre  <vincent@vinc17.net>
2634
2635	Improved git info output by "make check".
2636
2637	tests/Makefile.am: modified output_info to output:
2638	  * the detected branch, which also works in detached HEAD state
2639	    (for old commits that can be found in multiple branches,
2640	    "master" is prefered over the other branches);
2641	  * the total commit count;
2642	  * the commit id (hash).
2643
26442021-11-22  Vincent Lefevre  <vincent@vinc17.net>
2645
2646	Add git info with "git describe" for "make check" (to be improved).
2647
2648	tests/Makefile.am: in output_info, add git info, but this does not
2649	output the branch. For instance, on master, one gets something like
2650	"4.1-root-491-g2933fad3a", and something similar on the 4.1 branch.
2651	As the solution needs to work in detached HEAD state, we may want to
2652	add *-branch tags to identify the first commit of a branch, and use
2653	  git describe --match '*-branch'
2654	instead of
2655	  git describe --match '*-root'
2656
26572021-11-15  Vincent Lefevre  <vincent@vinc17.net>
2658
2659	Documentation: some improvements about the "decimal-point character".
2660
2661	* doc/README.dev: update about the use in the MPFR manual (mpfr.texi).
2662	* doc/mpfr.texi: minor correction.
2663
26642021-11-05  Vincent Lefevre  <vincent@vinc17.net>
2665
2666	[doc/algorithms.tex] Add \pdfglyphtounicode{lscript}{2113} for \ell.
2667
2668	Otherwise one gets a grave accent (thus "s ��� l" cannot be found).
2669	If the "���" is still an issue, one could alternatively use
2670	  \pdfglyphtounicode{lscript}{006C}
2671	to get an "l" (but "l" also matches "���" in xpdf and atril).
2672
26732021-11-05  Vincent Lefevre  <vincent@vinc17.net>
2674
2675	[doc/algorithms.tex] Add some ToUnicode mappings.
2676
2677	This fixes some regressions compared to old LaTeX versions (in 2009).
2678
26792021-10-24  Vincent Lefevre  <vincent@vinc17.net>
2680
2681	doc/mpfr.texi: Updated the month.
2682
26832021-10-24  Vincent Lefevre  <vincent@vinc17.net>
2684
2685	mpfrlint: fixed git usage.
2686
2687	The change done in 52138701d9b920d608871b20d4bee30f59adede6 wasn't
2688	working when the latest commit wasn't on "doc/mpfr.texi".
2689
26902021-10-24  Vincent Lefevre  <vincent@vinc17.net>
2691
2692	mpfrlint: update for git.
2693
2694	This is used to check that the doc/mpfr.texi UPDATED-MONTH value is
2695	up-to-date by comparing it with the date of the latest commit.
2696
26972021-10-24  Vincent Lefevre  <vincent@vinc17.net>
2698
2699	In mpfr.texi, added a "@." to avoid a warning from mpfrlint.
2700
2701	Note: This is not needed at the end of a paragraph like here, but
2702	this is a general warning, just in case text is added or moved.
2703
27042021-10-24  Vincent Lefevre  <vincent@vinc17.net>
2705
2706	mpfr.texi cleanup: removed the obsolete @refill command.
2707
2708	This command was needed in the past, but it now generates a warning
2709	"@refill is obsolete" (as of Texinfo 6.8 - 2021-07-03).
2710	It is no longer needed, as least since Texinfo 4.2:
2711	https://ftp.gnu.org/old-gnu/Manuals/texinfo-4.2/html_node/Refilling-Paragraphs.html
2712
27132021-10-19  Vincent Lefevre  <vincent@vinc17.net>
2714
2715	Added .mailmap file.
2716
27172021-10-17  Vincent Lefevre  <vincent@vinc17.net>
2718
2719	Added a TODO/FIXME to add Git information to "make check".
2720
2721	Partial update of doc/README.dev due to the migration to Inria GitLab.
2722
2723	Updated README due to the migration to Inria GitLab.
2724
27252021-09-27  Vincent Lef��vre  <vincent@vinc17.net>
2726
2727	[src/mparam_h.in] Updated comment about GCC.
2728
27292021-09-24  Vincent Lef��vre  <vincent@vinc17.net>
2730
2731	[INSTALL] Update about MinGW: the old mingw.org website no longer
2732	exists, and MinGW has actually been replaced by Mingw-w64, which
2733	is for both 32-bit and 64-bit Windows.
2734
2735	[README] Updated URLs.
2736
27372021-09-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
2738
2739	missing url
2740
2741	added new preprint
2742
27432021-09-16  Vincent Lef��vre  <vincent@vinc17.net>
2744
2745	[doc/mpfr.texi] Updated the month.
2746
27472021-09-16  Vincent Lef��vre  <vincent@vinc17.net>
2748
2749	[doc/mpfr.texi] Corrected garbled mpfr_set* description.
2750
2751	Thanks to Rob for noticing:
2752	  https://sympa.inria.fr/sympa/arc/mpfr/2021-09/msg00003.html
2753
2754	The cause is a sentence that was inserted at the wrong place in r8225
2755	(2012-06-25).
2756
27572021-09-14  Vincent Lef��vre  <vincent@vinc17.net>
2758
2759	[src/inp_str.c] Added a FIXME on a deprecated use of ungetc.
2760
27612021-09-13  Vincent Lef��vre  <vincent@vinc17.net>
2762
2763	Autoconf / AX_PTHREAD related update and cleanup.
2764
2765	* m4/ax_pthread.m4: update to AX_PTHREAD 31, fixing a change
2766	  from AX_PTHREAD 29, which has eventually been regarded as
2767	  a bug (workaround in r14481).
2768	* configure.ac: removed the now unneeded AC_CANONICAL_TARGET;
2769	  updated the corresponding comment.
2770
27712021-09-09  Vincent Lef��vre  <vincent@vinc17.net>
2772
2773	[TODO] More about intrinsics (e.g. _addcarry_u64).
2774
2775	[TODO] + use intrinsics when available (needs a configure test).
2776
27772021-09-07  Vincent Lef��vre  <vincent@vinc17.net>
2778
2779	[tests/tests.c] In a comment with a GMP_CHECK_RANDOMIZE value, mention
2780	the SVN revision and date, as this value may no longer be valid in the
2781	future (when tests are added or changed).
2782
2783	[tests/tests.c] Fixed bad_cases when y is ��0 (rare case).
2784
27852021-08-23  Vincent Lef��vre  <vincent@vinc17.net>
2786
2787	[doc/README.dev] Updated/reduced note about MinGW and stdio.
2788
27892021-08-23  Vincent Lef��vre  <vincent@vinc17.net>
2790
2791	[INSTALL] Updated information about MinGW and the formatted output
2792	functions (printf, etc.).
2793
2794	Thanks to Pali Roh��r for the information about -std=c89.
2795
27962021-08-23  Vincent Lef��vre  <vincent@vinc17.net>
2797
2798	[tests/tget_set_d128.c] Removed a useless C99 comment, which makes
2799	the MPFR build fail with "i686-w64-mingw32-gcc -std=c89" (e.g. via
2800	./configure --host=i686-w64-mingw32, and -std=c89 in CFLAGS).
2801
2802	[tests/tsprintf.c] In locale_da_DK(), also try da_DK.utf8 (preferably):
2803	in Debian/unstable, da_DK no longer exists.
2804
28052021-08-20  Vincent Lef��vre  <vincent@vinc17.net>
2806
2807	[doc/mpfr.texi] Updated the month.
2808
2809	[doc/mpfr.texi] Corrected latest change (typography).
2810
2811	[doc/mpfr.texi] Detail the mpfr_min and mpfr_max description.
2812
28132021-08-03  Vincent Lef��vre  <vincent@vinc17.net>
2814
2815	[tests/tget_flt.c] Avoid a warning about unused function equal_flt
2816	when HAVE_SUBNORM_FLT is not defined.
2817
2818	[tests/tget_flt.c] Code style: replaced "��� == 0" by "! ���" on
2819	the Boolean _p functions.
2820
28212021-08-03  Vincent Lef��vre  <vincent@vinc17.net>
2822
2823	[tests/tget_flt.c] Removed bug_icx (duplicate test).
2824
2825	What was tested was just mpfr_get_flt on a NaN mpfr_t. But this was
2826	already tested in main(). And one gets the same result and error with
2827	icx (without -fp-model=strict). Moreover, the old test was correctly
2828	protected by "#if !defined(MPFR_ERRDIVZERO)", needed because NaN is
2829	defined by 0.0 / 0.0.
2830
28312021-08-03  Vincent Lef��vre  <vincent@vinc17.net>
2832
2833	[tests/tget_flt.c] In bug_icx: replaced mpfr_set_flt, whose float
2834	argument was yielding an underflow (not portable), by mpfr_set_si_2exp
2835	(it is mpfr_get_flt that is tested, not mpfr_set_flt).
2836
2837	[tests/tget_flt.c] Added FIXME for test added in r14552.
2838
2839	[tests/tget_flt.c] Portability correction.
2840
28412021-08-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
2842
2843	need -fp-model=strict for icx
2844
28452021-07-27  Vincent Lef��vre  <vincent@vinc17.net>
2846
2847	[TODO] Mention "[[noreturn]]".
2848
28492021-07-15  Vincent Lef��vre  <vincent@vinc17.net>
2850
2851	[src/ieee_floats.h] URL update (http ��� https).
2852
28532021-07-01  Vincent Lef��vre  <vincent@vinc17.net>
2854
2855	[tools/mpfrlint] Detect when the return value of fclose() or fflush()
2856	is compared with -1 instead of EOF.
2857
28582021-06-30  Vincent Lef��vre  <vincent@vinc17.net>
2859
2860	[tests/tprintf.c] Portability correction (EOF is not necessarily -1).
2861
28622021-06-21  Vincent Lef��vre  <vincent@vinc17.net>
2863
2864	Punctuation (missing comma after "however").
2865
2866	[doc/README.dev] No longer use /tmp in examples so that the reader is
2867	not encouraged to use it. Punctuation.
2868
28692021-06-08  Vincent Lef��vre  <vincent@vinc17.net>
2870
2871	[acinclude.m4] Fixed subnormal detection (issue found with icx).
2872
28732021-06-03  Vincent Lef��vre  <vincent@vinc17.net>
2874
2875	[tests/tget_d.c] Improved error messages.
2876
28772021-06-03  Vincent Lef��vre  <vincent@vinc17.net>
2878
2879	[tests/tget_d.c] Error message when check_inf_nan() fails for NaN.
2880
2881	Note: With "icx -O2" (at least), 8 tests are now failing with
2882	Intel(R) oneAPI DPC++ Compiler 2021.2.0 (2021.2.0.20210317).
2883	But no failures when the compiler is invoked as "clang".
2884
28852021-06-02  Vincent Lef��vre  <vincent@vinc17.net>
2886
2887	[doc/mpfr.texi] Updated the month.
2888
28892021-06-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
2890
2891	[doc/mpfr.texi] some figures about slowdown with C++ interface
2892
28932021-06-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
2894
2895	[tests/data/j1] added more tests
2896
2897	[tests/tests.c] fixed bug introduced in r13787, which invalidated data_check
2898	in some cases
2899
29002021-05-20  Vincent Lef��vre  <vincent@vinc17.net>
2901
2902	[doc/mpfr.texi] Completed mpfr_fmodquo and mpfr_remquo description.
2903
2904	[src/rem1.c] Improved comments.
2905
29062021-05-17  Vincent Lef��vre  <vincent@vinc17.net>
2907
2908	[tests/tsprintf.c] Cosmetic revert of blank line removal in r14519.
2909
29102021-05-17  Vincent Lef��vre  <vincent@vinc17.net>
2911
2912	[src/vasprintf.c] Fixed buffer_cat: replaced incorrect assertion len > 0
2913	by a test.
2914
2915	Note that len == 0 is possible when outputting an integer 0 (either a
2916	native one or mpfr_prec_t) with precision field = 0. The consequence
2917	of this bug:
2918	  * In debug mode (MPFR_ASSERTD assertion checking), one would get an
2919	    assertion failure.
2920	  * Otherwise, there should be no side effects since the code was valid
2921	    for len == 0, possibly except with LTO (very unlikely, though).
2922
2923	This incorrect assertion was added on 2009-03-13 in r6099.
2924
29252021-05-17  Vincent Lef��vre  <vincent@vinc17.net>
2926
2927	[tests/tsprintf.c] Similarly to r14514, added tests of native integer 0
2928	with precision field 0 (also yields a call to buffer_cat with len = 0).
2929
2930	[tests/tsprintf.c] For various test functions, changed the return type
2931	from int to void (when the value is never used).
2932
29332021-05-16  Vincent Lef��vre  <vincent@vinc17.net>
2934
2935	[src/vasprintf.c] Updated comment about the output for the 'a'/'A'
2936	conversion specifier.
2937
2938	[doc/mpfr.texi] Formatted output functions (mpfr_*printf): completed
2939	the specification concerning the precision (this was needed because
2940	the conversion specifier 'b' does not exist in C).
2941
29422021-05-12  Vincent Lef��vre  <vincent@vinc17.net>
2943
2944	[src/vasprintf.c] Added a comment about the output for the 'a'/'A'
2945	conversion specifier, which is completely unintuitive. FIXME?
2946
2947	[doc/mpfr.texi] Punctuation.
2948
2949	[tests/tsprintf.c] Added tests of specifier 'P' with precision field 0.
2950
29512021-05-11  Vincent Lef��vre  <vincent@vinc17.net>
2952
2953	[TODO] More about mpfr_fda / mpfr_fds.
2954
2955	[TODO] + Fused divide-add and fused divide-subtract (mpfr_fda, mpfr_fds).
2956
29572021-05-03  Vincent Lef��vre  <vincent@vinc17.net>
2958
2959	[doc/mpfr.texi,src/mpfr.h] Detail about the mpfr_pown implementation.
2960
29612021-05-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
2962
2963	[NEWS] added missing mpfr_pown (alias for mpfr_pow_sj)
2964
2965	[manual] added mpfr_powm in NEWS
2966	(https://sympa.inria.fr/sympa/arc/mpfr/2021-05/msg00000.html)
2967
29682021-05-03  Vincent Lef��vre  <vincent@vinc17.net>
2969
2970	[doc/mpfr.texi] Updated the month (due to r14505).
2971
29722021-04-30  Vincent Lef��vre  <vincent@vinc17.net>
2973
2974	[src/sin.c] Added a TODO about range reduction.
2975
29762021-04-26  Vincent Lef��vre  <vincent@vinc17.net>
2977
2978	[tests/tstrtofr.c] Check more infinity strings.
2979
29802021-04-26  Vincent Lef��vre  <vincent@vinc17.net>
2981
2982	[doc] Update about "case insensitive" and issue with Turkish locales
2983	for "I" / "i".
2984
2985	  * mpfr.texi: added "with the rules of the C locale" in the
2986	    mpfr_strtofr description.
2987	  * README.dev: completed information about Turkish locales.
2988
29892021-04-24  Vincent Lef��vre  <vincent@vinc17.net>
2990
2991	[tests/tpowr.c] Added generic tests.
2992
2993	[src/exceptions.c] Corrected latest comment.
2994
29952021-04-23  Vincent Lef��vre  <vincent@vinc17.net>
2996
2997	[src/exceptions.c] Replaced comment about logging (the issue was due to
2998	the mpfr_check_range macro).
2999
3000	[src/exceptions.c] Completed comment about a logging issue.
3001
3002	[src/exceptions.c] Added a comment about a logging issue.
3003
3004	[src/mpfr-impl.h] Logging: output the flags at "IN" and "OUT".
3005
3006	[tests/tsgn.c] Also test in a very reduced exponent range.
3007
3008	[tests/tsgn.c] Also test the flags.
3009
30102021-04-23  Vincent Lef��vre  <vincent@vinc17.net>
3011
3012	[src/get_str.c] Fixed bug in mpfr_get_str_ndigits introduced in r14494.
3013
3014	Note: the issue (an uninitialized variable) was detected by GCC 6.5.0;
3015	recent GCC versions miss the -Wmaybe-uninitialized warning.
3016
30172021-04-23  Vincent Lef��vre  <vincent@vinc17.net>
3018
3019	mpfr_get_str_ndigits: added an assertion / exploitable compiler hint.
3020
3021	[src/get_str.c] Improved mpfr_get_str_ndigits code structure.
3022
30232021-04-23  Vincent Lef��vre  <vincent@vinc17.net>
3024
3025	In various functions, use mpfr_equal_p() instead of mpfr_cmp() == 0.
3026
3027	Note: In these cases, the test should be false if one of the arguments
3028	is NaN (it is not always clear whether NaN is impossible, but just in
3029	case, mpfr_equal_p is safer, in particular if the code around changes;
3030	and this is more readable too).
3031
30322021-04-23  Vincent Lef��vre  <vincent@vinc17.net>
3033
3034	[src/get_str.c] Use mpfr_equal_p() instead of mpfr_cmp() == 0.
3035
3036	[tests] Added tpowr to svn:ignore property.
3037
30382021-04-23  Vincent Lef��vre  <vincent@vinc17.net>
3039
3040	Fixed bug in mpfr_get_str_ndigits.
3041
3042	* src/get_str.c: use MPFR_SAVE_EXPO_MARK / MPFR_SAVE_EXPO_FREE to fix
3043	  2 issues in mpfr_get_str_ndigits: the inexact flag could be raised
3044	  (bug reported by Pierre Chatelier[*]); undefined behavior in a very
3045	  reduced exponent range.
3046	* tests/tget_str.c: check the above issues in the tests.
3047
3048	[*] https://sympa.inria.fr/sympa/arc/mpfr/2021-04/msg00000.html
3049
30502021-04-16  Vincent Lef��vre  <vincent@vinc17.net>
3051
3052	[src/mpfr-impl.h] Added cast to int for __LINE__ in formatted output.
3053
3054	The standard just says that __LINE__ in an integer constant. So its
3055	type might be larger than int, even though the value is representable
3056	in an int (like in MPFR). This concerns logging code, only available
3057	for GCC compatible compilers, so that there should not be any issue
3058	without the cast, but just in case...
3059
30602021-04-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
3061
3062	[tests/thypot.c] added one test
3063
30642021-03-19  Vincent Lef��vre  <vincent@vinc17.net>
3065
3066	Added m4/ax_pthread.m4 file, and related updates.
3067
3068	Added m4/ax_pthread.m4 from
3069	  https://github.com/autoconf-archive/autoconf-archive
3070	and updated:
3071	  * acinclude.m4 (in particular, set CXX and CXXFLAGS)
3072	  * doc/README.dev
3073
30742021-03-19  Vincent Lef��vre  <vincent@vinc17.net>
3075
3076	[configure.ac] Avoid an issue with ordering of macros we don't use
3077	explicitly, which appears with ax_pthread.m4 29, i.e. with
3078	  https://github.com/autoconf-archive/autoconf-archive/commit/2567e0ce0f3a11b535c6b527386197fb49ff172b
3079
30802021-03-18  Vincent Lef��vre  <vincent@vinc17.net>
3081
3082	[acinclude.m4] Added a comment about AX_PTHREAD.
3083
30842021-03-18  Vincent Lef��vre  <vincent@vinc17.net>
3085
3086	Get rid of obsolescent AC_HEADER_TIME. Cleanup about sys/time.h usage.
3087
3088	The AC_HEADER_TIME macro is obsolescent in autoconf 2.69 (2012),
3089	and autoconf 2.71 (2021) outputs a warning, which makes autogen.sh
3090	fail due to "--warnings=all,error", so let's avoid the warnings.
3091	This macro defines TIME_WITH_SYS_TIME, used only in tests/tests.c
3092	(but actually not needed). We actually have two cases:
3093	  1. HAVE_GETTIMEOFDAY is defined: we use gettimeofday(), which
3094	     needs <sys/time.h>.
3095	  2. Otherwise: we use time(), which needs <time.h>.
3096
3097	Based on that, we can simplify the condition in tests/tests.c for
3098	the inclusion of time-related headers, and we no longer need to
3099	check the <sys/time.h> availability. If gettimeofday() is defined
3100	but <sys/time.h> is not available (which shouldn't occur), then
3101	the current gettimeofday() usage may be incorrect anyway.
3102
3103	Changes:
3104	  * acinclude.m4:
3105	      - no longer use AC_HEADER_TIME;
3106	      - no longer check the sys/time.h header.
3107	  * tests/tests.c: simplify the inclusion of time-related headers.
3108
31092021-03-18  Vincent Lef��vre  <vincent@vinc17.net>
3110
3111	[tools/mpfrlint] Detect mpn_mul_n with identical 2nd and 3rd arguments,
3112	which can be replaced by the faster mpn_sqr.
3113
31142021-03-16  Vincent Lef��vre  <vincent@vinc17.net>
3115
3116	Replaced "intensional" by "intentional" in comments.
3117
3118	Untabify and remove trailing spaces.
3119
31202021-03-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
3121
3122	[src/rec_sqrt.c] replace a call to mpn_mul_n with identical arguments by
3123			 a call to mpn_sqr + similar changes in other files
3124			 (thanks Fredrik Johansson)
3125
3126	[tests/trec_sqrt.c] added timing test
3127
31282021-03-09  Vincent Lef��vre  <vincent@vinc17.net>
3129
3130	[doc/mpfr.texi] Updated the month.
3131
3132	[src/mpfr.h] Comment: no need to write "user" with uppercase letters.
3133
31342021-03-08  Vincent Lef��vre  <vincent@vinc17.net>
3135
3136	[tests/{tset_si.c,tset_sj.c}] Fix when -DMPFR_USE_NO_MACRO is used.
3137
3138	The mpfr_get_exp() function checks that the argument is a regular
3139	number, but the corresponding macro doesn't. The test code was
3140	calling mpfr_get_exp() on 0, thus failed with MPFR_USE_NO_MACRO
3141	defined. Here, the code was correct with the macro, because the
3142	value was not used for the particular case 0.
3143
3144	This is fixed by testing 0 earlier (and doing a goto, but the code
3145	has fewer tests and should be simpler to understand). Moreover,
3146	mpfr_get_exp has been replaced by MPFR_GET_EXP, so that the argument
3147	is checked with --enable-assert.
3148
31492021-03-08  Vincent Lef��vre  <vincent@vinc17.net>
3150
3151	[tests/{texceptions.c,tset_exp.c}] Forgot to protect the tests with
3152	casts to "void *", invalid in C++ (completing r14460 and r14461).
3153
31542021-03-08  Vincent Lef��vre  <vincent@vinc17.net>
3155
3156	Clarification about the custom interface and macros.
3157
3158	* doc/mpfr.texi: added some text in Section "Custom Interface".
3159	* src/mpfr.h: replaced the remaining FIXME by another comment.
3160
31612021-03-08  Vincent Lef��vre  <vincent@vinc17.net>
3162
3163	[tests] Ignore GCC's -Wc++-compat in the tests that are invalid in C++
3164	(these tests are enabled only if __cplusplus is not defined).
3165
31662021-03-06  Vincent Lef��vre  <vincent@vinc17.net>
3167
3168	[tests] In C++, do not cast to "void *" in the tests of macros.
3169
3170	These casts make the build of these tests fail with a C++ compiler.
3171	But this means that the use of macros will not introduce any issue
3172	concerning the type of the arguments, i.e. with a C++ compiler, the
3173	tests are still complete after this change.
3174
3175	However, GCC's -Werror=c++-compat still cannot be used.
3176	To avoid this issue, diagnostic pragmas will be needed.
3177
31782021-03-06  Vincent Lef��vre  <vincent@vinc17.net>
3179
3180	[src/mpfr.h] Fixed mpfr_set macro (now only available with __GNUC__).
3181
31822021-03-06  Vincent Lef��vre  <vincent@vinc17.net>
3183
3184	[tests/tset.c] Added tests of the mpfr_set macro.
3185
3186	Without MPFR_USE_NO_MACRO, the compilation currently fails because
3187	the second argument is not converted to mpfr_srcptr when MPFR_SIGN
3188	is applied.
3189
31902021-03-06  Vincent Lef��vre  <vincent@vinc17.net>
3191
3192	[src/mpfr.h] Fixed mpfr_copysign and mpfr_signbit macros.
3193
31942021-03-06  Vincent Lef��vre  <vincent@vinc17.net>
3195
3196	Added tests of mpfr_copysign, mpfr_setsign and mpfr_signbit macros.
3197
3198	Without MPFR_USE_NO_MACRO, the compilation of these tests in tcopysign.c
3199	currently fails because some arguments are not converted to mpfr_srcptr.
3200
32012021-03-06  Vincent Lef��vre  <vincent@vinc17.net>
3202
3203	[src/ubf.c] Forgot a cast from UBF pointer to mpfr_t pointer.
3204
3205	This became visible with the fix of the mpfr_get_prec macro in r14454.
3206
32072021-03-06  Vincent Lef��vre  <vincent@vinc17.net>
3208
3209	[src/mpfr.h] Fixed mpfr_get_prec and mpfr_get_exp macros.
3210
32112021-03-06  Vincent Lef��vre  <vincent@vinc17.net>
3212
3213	Added tests of mpfr_get_prec and mpfr_get_exp macros.
3214
3215	Without MPFR_USE_NO_MACRO, the compilation of these tests
3216	in texceptions.c and tset_exp.c currently fails because
3217	the argument is not converted to mpfr_srcptr.
3218
32192021-03-06  Vincent Lef��vre  <vincent@vinc17.net>
3220
3221	[src/mpfr.h] Better implementation of macros changed in r14451.
3222	__GNUC__ is no longer needed.
3223
32242021-03-06  Vincent Lef��vre  <vincent@vinc17.net>
3225
3226	[src/mpfr.h] Fixed some macros implementing functions.
3227
3228	Macros mpfr_nan_p, mpfr_inf_p, mpfr_zero_p and mpfr_regular_p were
3229	incorrect since they yielded a compilation error when the argument
3230	was of type void *, for instance. Their definition as macros is now
3231	available only with __GNUC__.
3232	The tisnan test r14448 should no longer fail.
3233
3234	Also added a comment for mpfr_sgn, which is correct since documented
3235	as a macro.
3236
32372021-03-06  Vincent Lef��vre  <vincent@vinc17.net>
3238
3239	[tests/tisnan.c] Added commented code for testing compilation errors.
3240
32412021-03-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
3242
3243	[src/mpfr.h] fixed typo
3244
32452021-03-06  Vincent Lef��vre  <vincent@vinc17.net>
3246
3247	[tests/tisnan.c] Check that when mpfr_nan_p, mpfr_inf_p, mpfr_number_p,
3248	mpfr_zero_p and mpfr_regular_p is implemented as a macro, it behaves
3249	like a function.
3250
3251	[src/mpfr.h] Added a comment and a FIXME for functions implemented
3252	as macros.
3253
32542021-03-06  Vincent Lef��vre  <vincent@vinc17.net>
3255
3256	Reverted r14445: This is about functions implemented as macros, and
3257	in this case, a macro must behave like a function.
3258
3259	In particular, each argument must be evaluated one time exactly.
3260	Macros that behave differently will need to be fixed.
3261
3262	Tests should also be added like the one in tests/tset_si.c with the
3263	comment:
3264
3265	  /* Note: the ++'s below allow one to check that the corresponding
3266	     arguments are evaluated only once by the macros. */
3267
32682021-03-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
3269
3270	[doc/mpfr.texi] document that functions defined as macros might evaluate
3271			their arguments several times
3272	(see https://sympa.inria.fr/sympa/arc/mpfr/2021-03/msg00007.html)
3273
3274	[src/mpfr.h] fixed typo
3275
32762021-03-04  Vincent Lef��vre  <vincent@vinc17.net>
3277
3278	[TODO] Clarification.
3279
3280	[TODO] Updated item on pkg-config due to a bug in pkg-config.
3281
3282	[TODO] Added "add some option to use pkg-config...".
3283
32842021-02-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
3285
3286	[src/invsqrt_limb.h] use "unsigned short" for table T[] instead of mp_limb_t.
3287	On araignee.loria.fr, this saves about 1 cycle, when GMP 6.2.1 and MPFR are
3288	configured with --disable-shared, using mbench.
3289
3290	Before this change (medium of 5 runs, with turbo-boost disabled):
3291	$ numactl --physcpubind=0 ./mfv5 -i0 -p53 mpfr_sqrt mpfr_sqrt mpfr_sqrt
3292	 mpfr_sqrt:         48 /    53.39 /    60
3293	$ numactl --physcpubind=0 ./mfv5 -i0 -p113 mpfr_sqrt mpfr_sqrt mpfr_sqrt
3294	 mpfr_sqrt:         75 /    81.44 /    89
3295
3296	After this change:
3297	$ numactl --physcpubind=0 ./mfv5 -i0 -p53 mpfr_sqrt mpfr_sqrt mpfr_sqrt
3298	 mpfr_sqrt:         48 /    52.37 /    60
3299	$ numactl --physcpubind=0 ./mfv5 -i0 -p113 mpfr_sqrt mpfr_sqrt mpfr_sqrt
3300	 mpfr_sqrt:         75 /    80.27 /    88
3301
33022021-02-15  Vincent Lef��vre  <vincent@vinc17.net>
3303
3304	[tests/mpfr-test.h] Added mpfr_cmp_si_2exp0 macro (check NaN).
3305	[tests/tj1.c] Replaced mpfr_cmp_si_2exp by mpfr_cmp_si_2exp0.
3306
3307	[tests/tdigamma.c] Use mpfr_cmp_ui0 to detect NaN.
3308
3309	[src/digamma.c] Use MPFR_NOTZERO instead of !MPFR_IS_ZERO.
3310
33112021-02-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
3312
3313	[src/jyn_asympt.c] fixed bug when s=0 at the end of the for loop
3314	[tests/tj1.c] added corresponding non-regression test
3315
3316	[src/digamma.c] fixed a bug in mpfr_digamma_reflection when the approximations
3317			of Digamma(1-x) and Pi*cot(Pi*x) cancel exactly
3318	[tests/tdigamma.c] added corresponding non-regression test
3319
3320	renamed mpfr_compound to mpfr_compound_si, since in C2X, compoundn takes
3321	an intmax_t and not a long, thus we can later implement mpfr_compoundn
3322	taking as input an intmax_t
3323
33242021-02-10  Vincent Lef��vre  <vincent@vinc17.net>
3325
3326	[tests/texpm1.c] Improved special tests.
3327
33282021-02-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
3329
3330	[src/pow_sj.c] removed spurious comment
3331
33322021-02-09  Vincent Lef��vre  <vincent@vinc17.net>
3333
3334	[src/{pow_sj.c,pow_uj.c}] Added missing "#ifdef _MPFR_H_HAVE_INTMAX_T".
3335
3336	[doc/mpfr.texi] General cleanup, in particular related to the IEEE 754
3337	standard. Added IEEE Standard 754-2019 to the references.
3338
3339	[src/pow_{si,sj,ui,uj}.c] Fixed logging for mpfr_pow_{sj,uj}.
3340
3341	[src/pow_uj.c] untabify
3342
3343	[tests/tpow.c] Replaced mpfr_cmp_ui by versions that can detect NaN.
3344	Note: this is particularly important to check that pow(NaN,0) returns 1,
3345	not NaN.
3346
3347	[src/pow_uj.c] Some corrections in the mpfr_mpz_set_uj helper function,
3348	still with limitations (which could be avoided by sharing code with
3349	mpfr_set_uj_2exp).
3350
33512021-02-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
3352
3353	forgot to commit those files
3354
3355	added mpfr_powr
3356
33572021-02-09  Vincent Lef��vre  <vincent@vinc17.net>
3358
3359	[src/{pow_si.c,pow_ui.c}] untabify
3360
33612021-02-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
3362
3363	added mpfr_pow_uj and mpfr_pow_sj
3364	now mpfr_pown is an alias for mpfr_pow_sj
3365
33662021-02-09  Vincent Lef��vre  <vincent@vinc17.net>
3367
3368	[doc/mpfr.texi,src/mpfr.h] Added a FIXME for mpfr_pown, which should
3369	be an alias of mpfr_pow_sj (not implemented yet) to follow ISO C2x,
3370	where pown is defined with intmax_t n.
3371
33722021-02-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
3373
3374	added mpfr_pown (alias for mpfr_pow_si)
3375
33762021-02-08  Vincent Lef��vre  <vincent@vinc17.net>
3377
3378	[src/mpfr.h] Updated comments on the types for mpfr_prec_t/mpfr_exp_t.
3379
3380	  * For mpfr_prec_t, removed the comment saying that under Windows 64,
3381	    "long long" could be used (this would imply that mpfr_prec_t and
3382	    mpfr_exp_t will not fit in a long, and this is not supported yet,
3383	    see below).
3384
3385	  * For mpfr_exp_t and _MPFR_EXP_FORMAT == 4, changed an unclear note
3386	    and added other information; in particular, this value is currently
3387	    not supported since the MPFR code assumes that mpfr_exp_t fits in a
3388	    long.
3389
33902021-02-08  Vincent Lef��vre  <vincent@vinc17.net>
3391
3392	[tests] Added texp2m1 and texp10m1 to svn:ignore property.
3393
3394	[src/jyn_asympt.c] Use mpfr_set4 instead of mpfr_set or mpfr_neg.
3395
3396	[tests/tj0.c] Latest test: also check the flags.
3397
3398	[src/digamma.c] Added a comment about the bug fixed in r14399.
3399
3400	[tests/tdigamma.c] Latest test: also check the flags.
3401
3402	[tests/tdigamma.c] Moved the r14399 test to its own test function.
3403	Note: for this one, there is no need to use the maximum exponent range.
3404
3405	[src/digamma.c] Use MPFR_NOTZERO instead of !MPFR_IS_ZERO.
3406
34072021-02-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
3408
3409	[src/jyn_asympt.c] fixed bug when sin(z)+cos(z) or sin(z)-cos(z) round to 0
3410	[tests/tj0.c] added corresponding non-regression test
3411
3412	[src/digamma.c] fixed bug in mpfr_digamma_positive when t-u is zero
3413	[tests/tdigamma.c] added corresponding non-regression test
3414
34152021-02-08  Vincent Lef��vre  <vincent@vinc17.net>
3416
3417	[src/digamma.c] Fix: increased GUARD from 20 to 30.
3418	[tests/tdigamma.c] Added 2 precisions for which GUARD=20 is not
3419	sufficient, yielding a "too much memory" error.
3420
34212021-02-07  Vincent Lef��vre  <vincent@vinc17.net>
3422
3423	[src/digamma.c] Punctuation in a comment.
3424
34252021-02-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
3426
3427	[src/digamma.c] fixed bug20210206
3428
34292021-02-06  Vincent Lef��vre  <vincent@vinc17.net>
3430
3431	[src/digamma.c] Added a FIXME for mpfr_digamma_positive: q can be
3432	too large, e.g. equal to the maximum exponent!
3433
3434	[src/digamma.c] In mpfr_digamma_positive, log the value of q.
3435
3436	[src/digamma.c] In mpfr_digamma_positive, do not compute the precision q
3437	until we are certain that it will be used.
3438
3439	[src/digamma.c] In mpfr_digamma_positive, added an assertion, as a
3440	precision is set from the exponent of x, and I suppose that it may
3441	be larger than MPFR_PREC_MAX when mpfr_exp_t > mpfr_prec_t.
3442
3443	[tests/tdigamma.c] Added testcase for a bug found by test_generic.
3444
3445	[tests/tgeneric.c] Added debug info.
3446
34472021-02-05  Vincent Lef��vre  <vincent@vinc17.net>
3448
3449	[src/exp2m1.c] Use block-level flags.
3450
34512021-02-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
3452
3453	added new function mpfr_exp10m1
3454
3455	[tests/texp2m1.c] added a test for exact values
3456
34572021-02-05  Vincent Lef��vre  <vincent@vinc17.net>
3458
3459	[TODO] Added mpfr_mul_uj and mpfr_mul_sj.
3460
3461	[src/log.c] Optimization: avoid a temporary variable for a*2^m;
3462	use an alias to a instead. In corner cases, this could yield a
3463	new internal TMD for the mpfr_div when the precision of a is
3464	very large, but this is avoided by changing the RNDN to RNDF.
3465	The error bound of 2 ulp on the mpfr_div should still be valid
3466	(it should now actually be 1 ulp).
3467
34682021-02-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
3469
3470	added new function mpfr_exp2m1 for 2^x-1
3471
34722021-02-05  Vincent Lef��vre  <vincent@vinc17.net>
3473
3474	[tests/tversion.c] Fixed length modifier in error messages.
3475
3476	[src/log10p1.c] In mpfr_log10p1_small: an "else" case is better than
3477	a "goto"; do not initialize inex to an arbitrary value.
3478
3479	[src/compound.c] Exact cases: additional detail in the comment.
3480
3481	[src/compound.c] Exact cases: this is simpler without a separate
3482	function (the t = 0 was artificial). Added full explanations.
3483
34842021-02-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
3485
3486	[src/compound.c] removed FIXME corresponding to previous commit
3487
3488	[src/compound.c] fixed infinite loop for exact results like compound(0.5,2)
3489			 which are not powers of 2
3490
34912021-02-05  Vincent Lef��vre  <vincent@vinc17.net>
3492
3493	[src/compound.c] Fixed 2 issues with mpfr_compound_near_one:
3494	  * this function must be called in the extended exponent range,
3495	    to be sure that 1 is representable;
3496	  * it wasn't setting the inexact flag, and this is now done via
3497	    mpfr_check_range.
3498
3499	[src/compound.c] Added missing MPFR_ZIV_FREE before the "return" in
3500	the Ziv loop.
3501
3502	[tests/tcompound.c] Added generic tests with n = 2 and n = 3.
3503	They trigger a failure: bad inexact flag for mpfr_compound2.
3504
3505	[src/compound.c] Added a FIXME: possible infinite loop when the result
3506	is exact.
3507
3508	[src/compound.c] Optimize the easy case n = 1.
3509
3510	[src/compound.c] Special cases: fixed compound(-Inf,0) and improved
3511	comments.
3512
3513	[tests/tcompound.c] More tests of compound(x,n) for x < -1, showing
3514	a failure on compound(-Inf,0).
3515
3516	[doc/README.dev] Note that the logging feature (--enable-logging)
3517	needs GCC to build MPFR, and it is not available with mini-gmp,
3518	since mpfr_fprintf cannot be defined with mini-gmp.
3519
35202021-02-04  Vincent Lef��vre  <vincent@vinc17.net>
3521
3522	[tests/tcompound.c] Fixed a test in the case mpfr_exp_t < long.
3523
3524	[tests/tcompound.c] Corrected an error message.
3525
3526	[src/compound.c] Fixed bug found by clang:
3527	compound.c:32:29: error: use of logical '||' with constant operand [-Werror,-Wconstant-logical-operand]
3528	  if (rnd_mode == MPFR_RNDN || MPFR_RNDF
3529	                            ^  ~~~~~~~~~
3530
3531	[tests/tatan2u.c] Fixed a bug (as of C99, for *decimal* constants, one
3532	must use a suffix that contains "U" if the constant cannot be signed).
3533
3534	[tests/tcompound.c] Corrected the conditions of a test for machines
3535	with 32-bit long. Added comments.
3536
3537	[tests] Added tlog10p1 to svn:ignore property.
3538
3539	[tests/tatan2u.c] Improved comment in bug20210203 about type sizes.
3540
3541	[tests/tatan2u.c] Make sure that the bug20210203 test is run only
3542	when the value for u is representable.
3543
35442021-02-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
3545
3546	[TODO] added section number
3547
3548	[src/compound.c] fixed case n < 0 and underflow
3549	[tests/tcompound.c] added corresponding non-regression tests
3550
3551	compound(NaN,0) is 1
3552
35532021-02-04  Vincent Lef��vre  <vincent@vinc17.net>
3554
3555	[src/compound.c] Correction for n = LONG_MIN. Added FIXMEs.
3556
35572021-02-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
3558
3559	[tests/tcompound.c] fixed comment
3560
35612021-02-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
3562
3563	[src/atan2u.c] fixed error analysis
3564
35652021-02-03  Vincent Lef��vre  <vincent@vinc17.net>
3566
3567	[src/compound.c] Portability.
3568
3569	[tests/tatan2u.c] Make sure that 64-bit constants are supported before
3570	using one.
3571
3572	[src/log10p1.c] Improved checking / debugging support.
3573
35742021-02-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
3575
3576	[tests/tatan2u.c] added a test which currently fails
3577
3578	[src/log2p1.c] added note about underflow
3579
3580	added a new function mpfr_log10p1 to compute log10(1+x)
3581
3582	[tests/tlog2p1.c] set the precision locally to one test
3583
3584	[doc/mpfr.texi] document atan2u and atan2pi
3585
35862021-02-03  Vincent Lef��vre  <vincent@vinc17.net>
3587
3588	[doc/mpfr.texi] Typography.
3589
3590	[doc/mpfr.texi] In Section "Added Functions", do not put the patchlevel
3591	in MPFR versions (changed "4.2.0" to "4.2").
3592
3593	[src/log2p1.c] Bug fix: memory accessed after it is cleared.
3594
3595	[src/log2p1.c] More logging.
3596
35972021-02-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
3598
3599	[doc/mpfr.texi] document mpfr_compound
3600
36012021-02-03  Vincent Lef��vre  <vincent@vinc17.net>
3602
3603	[src/set_prec.c] Log the precision.
3604
36052021-02-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
3606
3607	[src/compound.c] completed the general case
3608	[tests/tcompound.c] added one hard-coded test
3609
36102021-02-03  Vincent Lef��vre  <vincent@vinc17.net>
3611
3612	[tests] Added tcompound and tlog2p1 to svn:ignore property.
3613
3614	[tests/tlog2p1.c] Use mpfr_cmp_si0 to detect NaN.
3615
3616	[tests/tcompound.c] Do not use mpfr_printf in the tests.
3617
36182021-02-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
3619
3620	[src/log2p1.c] use ULSIZE as in atan2u.c
3621
3622	[src/atan2u.c] better explain the choice of prec in mpfr_atan2u_aux3
3623
36242021-02-03  Vincent Lef��vre  <vincent@vinc17.net>
3625
3626	[src/compound.c] Fixed logging.
3627
36282021-02-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
3629
3630	[src/atan2u.c] simplified code
3631
36322021-02-03  Vincent Lef��vre  <vincent@vinc17.net>
3633
3634	[src/atan2u.c] Support unsigned long != 64-bit type. Avoid a warning.
3635
36362021-02-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
3637
3638	[tests/tlog2p1.c] added tests for exact cases
3639
3640	added log2p1 and compound (mpfr_compound is not finished yet)
3641
3642	[src/log1p.c] fixed comment
3643
3644	[src/atan2u.c] deal with underflow and overflow in y/x
3645
36462021-02-03  Vincent Lef��vre  <vincent@vinc17.net>
3647
3648	[src/atan2u.c] Added a FIXME: the code is incorrect if y/x yields
3649	an overflow or an underflow.
3650
3651	[src/atan2u.c] Fixed 2 bugs in mpfr_atan2u_aux2. Minor changes.
3652
3653	[src/atan2u.c] Minor corrections in comments.
3654
36552021-02-02  Vincent Lef��vre  <vincent@vinc17.net>
3656
3657	[tests] Added tatan2u and tatanu to svn:ignore property.
3658
3659	[tests/tatan2u.c] Do not use mpfr_printf in the tests.
3660
3661	[src/atan2u.c] Use MPFR_RET_NEVER_GO_HERE.
3662
3663	[tests]
3664	  * tgeneric.c: cleanup about the type of the arguments; added support
3665	    for functions with 3 arguments (x1,x2,u), such as mpfr_atan2u.
3666	  * tatan2u.c: enabled the generic tests (test_generic).
3667
36682021-02-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
3669
3670	[src/atan2u.c] fixed atan2u with respect to the four quadrants
3671	[tests/tatan2u.c] added corresponding non-regression tests
3672
3673	added mpfr_atan2u (work in progress)
3674
3675	[src/atanu.c] fixed bug for u=0
3676	[tests/tatanu.c] added non-regression test case
3677
36782021-02-02  Vincent Lef��vre  <vincent@vinc17.net>
3679
3680	Changed "plus/minus infinity" to "positive/negative infinity".
3681
3682	[tools/mpfrlint] In the "+/- infinity" test (just added), also check
3683	the doc/algorithms.tex file.
3684
3685	[tools/mpfrlint] Added a test for the use of "plus/minus infinity"
3686	instead of "positive/negative infinity".
3687
3688	[doc/mpfr.texi] Minor corrections related to infinity. The IEEE 754-2019
3689	standard says "positive/negative infinity", not "plus/minus infinity".
3690
36912021-02-01  Vincent Lef��vre  <vincent@vinc17.net>
3692
3693	[doc/mpfr.texi] Typos.
3694
3695	[{src,tests}/Makefile.am] Untabified values of variables to avoid
3696	wrapping in diffs on 80 columns.
3697
36982021-02-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
3699
3700	[TODO] asinpi, acospi and atanpi are done (and their *u variants)
3701
3702	[src/atanu.c] added comment
3703
3704	[src/acosu.c] simplified the code when x is tiny
3705
3706	added mpfr_atanu and mpfr_atanpi
3707
37082021-02-01  Vincent Lef��vre  <vincent@vinc17.net>
3709
3710	[doc/mpfr.texi] Correction about mpfr_get_* and NaN.
3711
37122021-02-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
3713
3714	[src/asinu.c] improved a comment
3715
3716	[src/asinu.c] fixed typo
3717
3718	[src/asinu.c] resolved FIXME
3719	[tests/tasinu.c] added more underflow tests
3720
37212021-02-01  Vincent Lef��vre  <vincent@vinc17.net>
3722
3723	[src/set_ld.c] Replaced a useless goto.
3724
3725	Code readability.
3726
37272021-02-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
3728
3729	[src/set_ld.c] added comment about LONGDOUBLE_NAN_ACTION
3730
37312021-02-01  Vincent Lef��vre  <vincent@vinc17.net>
3732
3733	[doc/mpfr.texi] Typography.
3734
3735	[doc/mpfr.texi] Updated the month.
3736
37372021-02-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
3738
3739	[src/get_ld.c] forgot get_ld in previous commit
3740
3741	make it clear that we don't propagate the sign bit in mpfr_get_d and mpfr_set_d
3742	and similar functions for binary32, decimal64 and binary128
3743
3744	added asinu and asinpi
3745
3746	[src/asinu.c] return NaN for u=0 and |x| > 1
3747	[tests/tasinu.c] added more tests
3748
3749	[src/acosu.c] for u=0 and |x| > 1, return NaN
3750	[tests/tacosu.c] added corresponding test
3751
37522021-01-31  Vincent Lef��vre  <vincent@vinc17.net>
3753
3754	[tests] Use RND_LOOP.
3755	Changes with:
3756	  perl -pi -e 's/^( *)for *\((\w+) *= *0 *; *\2 *< *MPFR_RND_MAX *; *\2 *\+\+\) *$/\1RND_LOOP (\2)/' *.c
3757
3758	[tests] Added tacosu and tasinu to svn:ignore property.
3759
3760	[tests/mpfr-test.h] Added mpfr_cmp_si0 macro (check NaN).
3761	[tests/tasinu.c] Replaced mpfr_cmp_ui / mpfr_cmp_si by the ...0 version.
3762
3763	[tests/tasinu.c] Replaced mpfr_cmp by !mpfr_equal_p.
3764
3765	[tests/tacosu.c] Replaced mpfr_cmp by !mpfr_equal_p.
3766
3767	[tests/tacosu.c] Fixed failing test with --with-mini-gmp
3768	and -DMINI_GMP_LIMB_TYPE=int under Linux/x86_64.
3769
3770	[tools/mpfrlint] Detect the use of mpfr_set_emin / mpfr_set_emax
3771	when set_emin / set_emax could be used (checking failures).
3772
3773	[tests/tdiv.c] Use set_emax rather than mpfr_set_emax with a test.
3774
3775	[tests/*.c] When not in a test, use set_emin and set_emax rather than
3776	mpfr_set_emin and mpfr_set_emax, in order to check failures.
3777	Done with: perl -pi -e 's/^ *\Kmpfr_(set_e(min|max) *\()/\1/' *.c
3778
3779	[tests/tests.c] Improved error message in set_emin / set_emax to
3780	better support platforms where mpfr_exp_t > long int.
3781
3782	[tests/tcot.c] Use set_emin and set_emax rather than mpfr_set_emin and
3783	mpfr_set_emax with a test (test done in set_emin / set_emax).
3784
3785	[src/{acosu.c,asinu.c,cosu.c,sinu.c,tanu.c}] Typos in comments.
3786
3787	[tests/tasinu.c] Use set_emin rather than mpfr_set_emin.
3788
37892021-01-31  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
3790
3791	[src/acosu.c] fixed case x=-1/2 which was wrong
3792	[tests/tacosu.c] added test cases
3793
37942021-01-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
3795
3796	[tests/tacosu.c] reduced number of generic tests
3797	[tests/tasinu.c] likewise
3798
3799	[src/asinu.c] fixed case x=-1 and underflow case
3800	[tests/tasinu.c] added test for underflow
3801
38022021-01-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
3803
3804	added asinu (work in progress, not yet usable)
3805
3806	[doc/mpfr.texi] improve description of mpfr_acosu
3807
3808	[src/acosu.c] fixed another typo
3809
3810	[src/acosu.c] fixed typo
3811
38122021-01-29  Vincent Lef��vre  <vincent@vinc17.net>
3813
3814	[src/acosu.c] Simplified code.
3815
3816	[tests/tgeneric.c] Added a cast for printf.
3817
3818	[tests/tgeneric.c] Corrected indentation.
3819
3820	[tests/tgeneric.c] Corrected indentation.
3821
38222021-01-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
3823
3824	added cosu and cospi in the manual and NEWS
3825
3826	new function mpfr_acosu (still to be added in NEWS and mpfr.texi)
3827
38282021-01-29  Vincent Lef��vre  <vincent@vinc17.net>
3829
3830	[src/{cosu.c,sinu.c,tanu.c}] Function logging: added missing u.
3831
3832	[TODO] LIA-2 URL after redirection (i.e. https).
3833
38342021-01-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
3835
3836	[TODO] added pointer to LIA-2
3837
38382021-01-26  Vincent Lef��vre  <vincent@vinc17.net>
3839
3840	[INSTALL,doc/update-faq,tools/announce-text] With wget, use
3841	the --no-config option as the user's .wgetrc file may significantly
3842	change the behavior and possibly yield errors. See discussion at
3843	<https://lists.debian.org/debian-user/2021/01/msg01021.html>.
3844
38452021-01-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
3846
3847	[TODO] update about powr, rootn and rsqrt
3848
3849	[TODO] update about reserved cr_xxx names from C standard
3850
38512021-01-14  Vincent Lef��vre  <vincent@vinc17.net>
3852
3853	[src/{cosu.c,sinu.c,tanu.c}] Range reduction: improved a test, renamed
3854	a variable (e to p, as this is more like a precision), and updated
3855	comments, making the code and comments similar for these 3 functions.
3856
3857	Added function logging for mpfr_fmod_ui and mpfr_sqrt_ui.
3858
38592021-01-14  Vincent Lef��vre  <vincent@vinc17.net>
3860
3861	[tests/memory.c] Call "fflush (NULL)" before abort() in order to flush
3862	all the output streams, in particular the log file (when there is one),
3863	so that setting MPFR_LOG_FLUSH (which may be inefficient) is not needed
3864	to debug tests that end with a memory error.
3865
3866	This fixes a regression with glibc 2.27+: the streams are no longer
3867	flushed by abort(), as permitted by POSIX; see the abort(3) man page.
3868
38692021-01-14  Vincent Lef��vre  <vincent@vinc17.net>
3870
3871	[src] Fixed typo in mpfr_printf format from MPFR_LOG_FUNC for several
3872	functions.
3873
3874	[doc/mpfr.texi] Completed mpfr_fmod_ui description.
3875
3876	[src/cosu.c] Fixed bug when the reduced argument is 0.
3877
3878	[tests/tcosu.c] Added tests that give a reduced argument equal to 0.
3879
3880	[src/cosu.c] Fixed memory leak with very small reduced arguments.
3881
38822021-01-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
3883
3884	[tests/tcosu.c] increase nmax in test_generic call
3885	[tests/tsinu.c] likewise
3886	[tests/ttanu.c] likewise
3887
38882021-01-13  Vincent Lef��vre  <vincent@vinc17.net>
3889
3890	[tests/{tcosu.c,tsinu.c,ttanu.c}] For the generic tests, no need
3891	to reduce emax any longer, now that the fast range reduction has
3892	been implemented.
3893
3894	[src/tanu.c] Implemented range reduction for mpfr_tanu.
3895
3896	[src/{cosu.c,sinu.c}] Corrected the position of a comment.
3897
3898	[src/cosu.c] Implemented range reduction for mpfr_cosu.
3899
39002021-01-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
3901
3902	[src/sinu.c] removed FIXME (done)
3903
39042021-01-13  Vincent Lef��vre  <vincent@vinc17.net>
3905
3906	[NEWS,doc/mpfr.texi] For the new trigonometric functions mpfr_cosu,
3907	mpfr_sinu, mpfr_tanu, mpfr_cospi, mpfr_sinpi, mpfr_tanpi, removed the
3908	"experimental" mention. In mpfr.texi, also added missing functions to
3909	Section "Added Functions" (API Compatibility).
3910
3911	[doc/mpfr.texi] Style consistency: more "[unsigned] long int"
3912	instead of just "[unsigned] long".
3913
3914	[doc/mpfr.texi] Style: use always "[unsigned] long int" in prototypes
3915	rather than sometimes just "[unsigned] long".
3916
3917	[NEWS,doc/mpfr.texi] New function mpfr_fmod_ui.
3918
39192021-01-13  Vincent Lef��vre  <vincent@vinc17.net>
3920
3921	Implemented range reduction for mpfr_sinu (and defined mpfr_fmod_ui).
3922
3923	This is done by computing x mod u; and a new function mpfr_fmod_ui
3924	has been defined for this purpose. As mpfr_fmod_ui could be useful
3925	to the user, its declaration is put in src/mpfr.h, with the intent
3926	to document this new function later.
3927
3928	In the src directory:
3929	  * Added fmod_ui.c file (mpfr_fmod_ui function) based on sqrt_ui.c
3930	    (hence the same copyright line).
3931	  * Makefile.am: added fmod_ui.c to libmpfr_la_SOURCES.
3932	  * mpfr.h: added mpfr_fmod_ui.
3933	  * sinu.c: implemented range reduction for mpfr_sinu.
3934
39352021-01-13  Vincent Lef��vre  <vincent@vinc17.net>
3936
3937	[tests/tsinu.c] Added tests where x/u is a "big" integer, so that
3938	the reduced argument is 0 (exactly).
3939
3940	[tests/tsinu.c] Added a test on a large input such that x mod u may need
3941	more precision than x. This will be important to test range reduction.
3942
3943	[src/sqrt_ui.c] Coding style.
3944
3945	[src/{cosu.c,sinu.c,tanu.c}] Changed MPFR_PREC to MPFR_GET_PREC.
3946
39472021-01-12  Vincent Lef��vre  <vincent@vinc17.net>
3948
3949	[tests/{tcosu.c,tsinu.c,ttanu.c}] C90 compatibility for the tests with
3950	large inputs (added in r14236). Also avoid the hardcoded size by using
3951	the numberof() macro.
3952
39532021-01-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
3954
3955	[tests/tcosu.c] added hard-coded tests with large inputs
3956	[tests/tsinu.c] likewise
3957	[tests/ttanu.c] likewise
3958
39592021-01-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
3960
3961	[src/set_ld.c] added pointer to "double double" format
3962
39632021-01-04  Vincent Lef��vre  <vincent@vinc17.net>
3964
3965	[doc] Updated FAQ.html with update-faq.
3966
39672021-01-03  Vincent Lef��vre  <vincent@vinc17.net>
3968
3969	[doc/mpfr.texi] Updated the month.
3970
3971	Copyright notice update: added 2021 with
3972	  perl -pi -e 's/ (\d{4}-)?(2020)(?= Free Software)/
3973	               " ".($1||"$2-").($2+1)/e' **/*(^/)
3974	under zsh. Removed 2020 from the example in the doc/README.dev file.
3975
3976	[src/mpfr-impl.h] Removed a now useless test on __clang__, corresponding
3977	to a bug fixed in Clang 3.4 (see <https://bugs.debian.org/705583>).
3978
39792020-12-20  Vincent Lef��vre  <vincent@vinc17.net>
3980
3981	Optimize mpfr_abs, mpfr_copysign and mpfr_setsign in the case of reused
3982	argument, like what was already done for mpfr_neg: one can just set the
3983	sign and handle NaN instead of calling mpfr_set4.
3984	Completed tests/tcopysign.c to test with a reused argument.
3985
3986	[src/cosu.c] Avoid a possible integer overflow (triggered by the tests
3987	with UBsan) from r14225.
3988
39892020-12-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
3990
3991	fixed initial precision in sinu, cosu and tanu
3992	also in cosu, treat special case when 2*pi*x/u is small
3993
39942020-12-17  Vincent Lef��vre  <vincent@vinc17.net>
3995
3996	[tests/tgeneric.c] Removed the use of __func__ as it is not supported
3997	by ISO C90 (it was not really useful here, though).
3998
3999	[tests/tcosu.c] Increased the maximum precision for test_generic and
4000	added a comment about this.
4001
4002	[tests] Added tcosu, tsinu and ttanu to svn:ignore property.
4003
4004	For the generic tests, output the number of normal cases and the total
4005	if the MPFR_TGENERIC_STAT environment variable is defined.
4006	Added description to the README.dev file.
4007
4008	[tests/tcosu.c] Increased the number of generic tests. This should make
4009	the warning "Too few normal cases in generic tests" much less common.
4010
4011	[tests]
4012	  * Added data/tan2pi: hardest-to-round cases of tanu with u = 1
4013	    in double precision, interval [0,1/4].
4014	  * ttanu.c: test tan2pi values with u = 1.
4015
4016	[tests/ttanu.c] C89 compatibility.
4017
40182020-12-16  Vincent Lef��vre  <vincent@vinc17.net>
4019
4020	[doc/mpfr.texi] Removed spurious blank line; .texi source reformat.
4021
4022	[doc/mpfr.texi] Typography: "resp." must be followed by "@:".
4023
4024	[doc/check-typography] Also check "resp.".
4025
4026	[doc/mpfr.texi] Removed misplaced @tie{}.
4027
40282020-12-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
4029
4030	[doc/mpfr.texi] fixed another typo
4031
4032	[doc/mpfr.texi] fixed typos
4033
4034	added sinpi, cospi, tanpi
4035
4036	added new function mpfr_tanu
4037
4038	[src/sinu.c] improved comment
4039
40402020-12-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
4041
4042	[src/sinu.c] added reference
4043
4044	[src/sinu.c] fixed compiler warning
4045	[src/cosu.c] deal with other exact cases
4046	[tests/tcosu.c] added tests for other exact cases
4047
4048	[src/sinu.c] fixed bug in detection of pi/6 and friends
4049
40502020-12-15  Vincent Lef��vre  <vincent@vinc17.net>
4051
4052	[NEWS] mpfr_cosu and mpfr_sinu: improved item.
4053
40542020-12-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
4055
4056	[tests/tsinu.c] added more tests
4057
4058	[src/sinu.c] fixed case where 2xpi/u is +/-pi/6 mod pi
4059	[tests/tsinu.c] added corresponding test case
4060
40612020-12-15  Vincent Lef��vre  <vincent@vinc17.net>
4062
4063	[tests]
4064	  * Added data/{cos2pi,sin2pi}: hardest-to-round cases of cosu and sinu
4065	    with u = 1 in double precision, interval [0,1/2].
4066	  * tcosu.c, tsinu.c: test cos2pi and sin2pi values with u = 1.
4067
4068	[tests/tests.c] test5rm(): mention test5rm in the error message.
4069
4070	[src/{cosu.c,sinu.c}] Added function logging.
4071
40722020-12-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
4073
4074	added new function mpfr_cosu
4075
4076	[src/sinu.c] fixed typo in comment
4077
4078	[tests/tsinu.c] fixed typos in comments
4079
40802020-12-15  Vincent Lef��vre  <vincent@vinc17.net>
4081
4082	[src/sin_cos.c] Code improvement:
4083	  * replaced a MPFR_PREC(c) by m since the precision of c was set to m;
4084	  * as a consequence, the initial precision of xr in the Ziv loop will
4085	    always be m (whether expx >= 2 or not), so that one can use this
4086	    precision for the mpfr_init2.
4087
40882020-12-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
4089
4090	[src/sinu.c] forgot to count the rounding error in mpfr_sin (t, t, MPFR_RNDA)
4091
4092	[src/sinu.c] fixed issue with case t=0
4093
40942020-12-15  Vincent Lef��vre  <vincent@vinc17.net>
4095
4096	[src/{sin.c,sin_cos.c}]
4097	  * Do not initialize variables with the default precision, which
4098	    could have been set to a large value by the user; this would
4099	    be a waste of memory.
4100	  * In sin.c, do not initialize xr in the case where this variable
4101	    will not be used (in sin_cos.c, let's initialize it with the
4102	    minimum precision as it is used with different purposes).
4103
4104	[src/{ai.c,yn.c}] Do not initialize variables with the default
4105	precision, which could have been set to a large value by the
4106	user; this would be a waste of memory.
4107
4108	[tools/mpfrlint] Added a test to detect when mpfr_init or mpfr_inits is
4109	used, i.e. when a variable is initialized with the default precision.
4110	This should not be done as the default precision could have been set to
4111	a large value by the user, so that this is a waste of memory.
4112
4113	[src/sinu.c] Correction: variables must not be initialized with the
4114	default precision, which could have been set to a large value by the
4115	user, and this would be a waste of memory.
4116
41172020-12-14  Vincent Lef��vre  <vincent@vinc17.net>
4118
4119	[src/sinu.c] Fixed 2 bugs:
4120	  * in case of underflow, the flags were not set;
4121	  * mpfr_odd_p(t) could be called with t = 0, which is unsupported.
4122
41232020-12-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
4124
4125	[src/sinu.c] fixed typo (thanks Jeffrey Sarnoff)
4126
41272020-12-14  Vincent Lef��vre  <vincent@vinc17.net>
4128
4129	[src/sinu.c] Added a FIXME: the range reduction should be done in this
4130	function (that's the whole point of sinu compared to sin, besides a
4131	smaller rounding error).
4132
4133	[tests/tsinu.c] Added a FIXME concerning the size of the exponent.
4134
4135	[doc/mpfr.texi] Typographic correction of math formulas.
4136
4137	[doc/mpfr.texi] mpfr_sinu: corrections and improvements.
4138
4139	[doc/mpfr.texi] Updated the month.
4140
41412020-12-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
4142
4143	[NEWS] added mpfr_sinu
4144	[doc/mpfr.texi] improve documentation of mpfr_sinu, and say it is experimental
4145
4146	added mpfr_sinu (work in progress)
4147
41482020-12-13  Vincent Lef��vre  <vincent@vinc17.net>
4149
4150	[src/zeta.c] Minor correction of a comment.
4151
41522020-12-02  Vincent Lef��vre  <vincent@vinc17.net>
4153
4154	[src/mpfr.h] Added a comment about Intel's compiler ICC and the
4155	unsupported returns_nonnull attribute.
4156
41572020-11-15  Vincent Lef��vre  <vincent@vinc17.net>
4158
4159	[TODO] Added an item to add "const" in prototypes in the manual.
4160
4161	[doc/mpfr.texi] mpfr_subnormalize: define EXP(x) and PREC(x).
4162
4163	[doc/mpfr.texi] More detailed beginning of "Nomenclature and Types",
4164	which now specifies the convention for the significand and the exponent.
4165
4166	[doc/mpfr.texi] Updated the month.
4167
4168	[doc/mpfr.texi] Document the mpfr_srcptr type.
4169
41702020-10-28  Vincent Lef��vre  <vincent@vinc17.net>
4171
4172	[tests/talloc-cache.c] Check that malloc() doesn't return a null pointer
4173	(in order to avoid an error with GCC's -fanalyzer, dev version).
4174
41752020-10-23  Vincent Lef��vre  <vincent@vinc17.net>
4176
4177	[src/invert_limb.h] Added a comment about r14171.
4178
4179	[src/invert_limb.h] Fixed potential issues introduced in 14170.
4180	  * The code isn't valid with 16-bit int (allowed by ISO C). So,
4181	    make sure with MPFR_STAT_STATIC_ASSERT that unsigned int is
4182	    large enough for invert_limb_table2.
4183	    Note: since the code is under "#if GMP_NUMB_BITS == 64",
4184	    this is unlikely to affect any system in practice, as
4185	    GMP_NUMB_BITS == 32 (or 16, if supported) should be better
4186	    on such a system.
4187	  * Make sure that the "<< 11" shifts do not overflow.
4188
41892020-10-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
4190
4191	[src/invert_limb.h] patch from Alexei Sibidanov, which reduces memory usage,
4192	without degrading performance
4193
41942020-10-23  Vincent Lef��vre  <vincent@vinc17.net>
4195
4196	[doc/README.dev] Replaced WG14 N2405 reference by the new N2579.
4197
41982020-10-21  Vincent Lef��vre  <vincent@vinc17.net>
4199
4200	[src/mpfr-impl.h] Updated UBF comment about aliasing rules.
4201
4202	[src/mpfr-impl.h] Updated UBF comment about aliasing rules.
4203
4204	[src/mpfr-impl.h] Updated UBF comment about aliasing rules.
4205
42062020-10-19  Vincent Lef��vre  <vincent@vinc17.net>
4207
4208	[doc/mpfr.texi] Updated mpfr_rootn_ui description about "agree with
4209	the rootn function", now that IEEE 754-2019 is there (needed as
4210	rootn was underspecified in IEEE 754-2008, so that TS 18661-4
4211	incorrectly specified the case rootn(-inf, n even); see WG14 N2309
4212	from the C FP group for the correction).
4213
42142020-10-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
4215
4216	fixed typo
4217
42182020-10-08  Vincent Lef��vre  <vincent@vinc17.net>
4219
4220	[doc/README.dev] Added a note about _Float128 vs long double.
4221
4222	[src/mpfr-impl.h] Added a TODO for the numberof() macro: make it a
4223	constant expression and possibly change its type "long" to "ptrdiff_t".
4224
4225	[doc/mpfr.texi] Minor changes in Section "Formatted Output Functions".
4226
4227	[NEWS] Update.
4228
4229	[doc/mpfr.texi] Section "API Compatibility", formatted output functions
4230	(mpfr_printf, etc.): completed r14155.
4231
4232	[doc/mpfr.texi] Updated the month.
4233
4234	[src/vasprintf.c] Improved comment for READ_INT.
4235
42362020-10-07  Vincent Lef��vre  <vincent@vinc17.net>
4237
4238	Fixed the formatted output functions (mpfr_printf, etc.) in the case
4239	the precision consists only of a period.
4240	  * doc/mpfr.texi: correction and clarifications (be closer to ISO C);
4241	    note the change in Section "API Compatibility".
4242	  * src/vasprintf.c: fixed the bug.
4243	  * tests/tsprintf.c: update.
4244
42452020-10-07  Vincent Lef��vre  <vincent@vinc17.net>
4246
4247	[src] Consistency: in prototypes, changed
4248	  mpz_t to mpz_ptr (mpfr-impl.h, pool.c);
4249	  mpfr_random_deviate_t to mpfr_random_deviate_ptr (random_deviate.c).
4250
4251	Note: This completes the changes I had done in r14103 (2020-08-21) for
4252	mpfr_t. This time, the issue was detected by a GCC 11 snapshot, thanks
4253	to the -Warray-parameter option (included in -Wall), which was added
4254	on 2020-09-19 in GCC commit 6450f07388f9fe575a489c9309c36012b17b88b0.
4255
42562020-10-07  Vincent Lef��vre  <vincent@vinc17.net>
4257
4258	[src/vasprintf.c] Updated a comment.
4259
4260	Added tests/gen-printf-dot-prec Perl script to generate a .c file
4261	showing printf and mpfr_printf output with:
4262	  * a missing precision field;
4263	  * a precision field with just a period (".");
4264	  * a precision field with an explicit precision 0 (".0").
4265
42662020-09-27  Vincent Lef��vre  <vincent@vinc17.net>
4267
4268	[tests/tset_z_2exp.c] Fixed typo detected by GCC.
4269
4270	[src/set_z_2exp.c] Fixed overflow/underflow detection in exponent ranges
4271	where emax < 0 or emin >= 0 (bug introduced in r14145).
4272
4273	[tests/tset_z_2exp.c] Added some tests in a reduced exponent range (and
4274	improved existing tests).
4275	Note: Due to an incorrect change in set_z_2exp.c r14145, various tests
4276	are failing with mini-gmp (for which mpfr_set_z_2exp is used more often
4277	because a long does not fit into a limb) in unusual exponent ranges. So
4278	such tests were obviously missing in tset_z_2exp.c before this commit.
4279
42802020-09-25  Vincent Lef��vre  <vincent@vinc17.net>
4281
4282	[src/set_z_2exp.c] Fix: avoid possible integer overflows.
4283
4284	[tests/tset_z_2exp.c] Test a result.
4285
4286	[doc/README.dev] Added how to convert an unsigned integer to the
4287	corresponding signed integer with the two's complement rule (i.e.
4288	modular arithmetic) but in a portable way.
4289
4290	[tests] Updated svn:ignore property due to the rename in r14125.
4291
42922020-09-24  Vincent Lef��vre  <vincent@vinc17.net>
4293
4294	[tests/tset_z_2exp.c] Added another test that fails with just
4295	"-m32 -fsanitize=undefined -fno-sanitize-recover".
4296	This corresponds to what is described in the FIXME in src/set_z_2exp.c
4297	(about the modified tnrandom.c test yielding an integer overflow).
4298
4299	[tests/tset_z_2exp.c] Added a test that triggers an integer overflow
4300	in set_z_2exp.c with MPFR_CHECK_LARGEMEM=1 when MPFR is compiled with
4301	"-m32 -fsanitize=undefined -fno-sanitize-recover -D_MPFR_EXP_FORMAT=4"
4302	in CFLAGS:
4303	  set_z_2exp.c:71:26: runtime error: signed integer overflow:
4304	  134217726 * 32 cannot be represented in type 'long int'
4305
43062020-09-23  Vincent Lef��vre  <vincent@vinc17.net>
4307
4308	[src/exp2.c] Added support for -D_MPFR_EXP_FORMAT=4 in the 32-bit ABI,
4309	i.e. 32-bit long, so that the MPFR compilation no longer fails due to
4310	a static assertion in this file. Note: many tests fail (not texp2),
4311	but at least this allows some testing of various functions.
4312
43132020-09-23  Vincent Lef��vre  <vincent@vinc17.net>
4314
4315	[INSTALL] Update concerning MinGW and the __USE_MINGW_ANSI_STDIO macro.
4316
4317	The change done in r13668 seems to be a bit wrong (at least unclear).
4318	This was done after finding
4319	https://fr.osdn.net/projects/mingw/lists/archive/users/2019-January/000199.html
4320	saying that __USE_MINGW_ANSI_STDIO became deprecated, during a
4321	discussion on the vsnprintf() behavior:
4322	https://gmplib.org/list-archives/gmp-bugs/2020-January/004716.html
4323
4324	However, it seems that printf() conformity issues have completely been
4325	resolved only recently, in version 8.
4326	http://mingw-w64.org/doku.php says:
4327	  Version 8 has been released
4328	  v8.0.0: 2020-09-18
4329	  Notable changes:
4330	  [...]
4331	    * __USE_MINGW_ANSI_STDIO now automatically enabled in C99 and C11
4332	      mode when not using UCRT by Pali Roh��r
4333	  [...]
4334
4335	Compiling
4336	  #include <stdio.h>
4337	  int main (void) { volatile double d = -1.25; printf ("%e\n", d); }
4338	gives with mingw-w64 version 7: -1.250000e+000
4339	  and with mingw-w64 version 8: -1.250000e+00
4340
4341	So, when testing MPFR with mingw-w64 version 8 but with GMP still built
4342	with mingw-w64 version 7 (and static libraries), one gets a failure in
4343	tsprintf:
4344	  Error in mpfr_vsprintf (s, "%e", ...);
4345	  expected: "-1.250000e+00"
4346	  got:      "-1.250000e+000"
4347	because the expected result has changed (it comes from sprintf used in
4348	the MPFR test, which is now ISO-compliant).
4349
43502020-09-18  Vincent Lef��vre  <vincent@vinc17.net>
4351
4352	[src/set_z_2exp.c] Added a FIXME: possible integer overflow, which
4353	can be reproduced with a 32-bit ABI by defining MPFR_PREC_MAX as
4354	((mpfr_prec_t) ((((mpfr_uprec_t) -1) >> 1) - 63)) and in tnrandom.c,
4355	using "test_special (MPFR_PREC_MAX);".
4356
43572020-09-16  Vincent Lef��vre  <vincent@vinc17.net>
4358
4359	[doc/mpfr.texi] Updated the month.
4360
4361	[doc/mini-gmp] Say that the build with mini-gmp may require ISO C99+
4362	features (as "long long" is currently needed by src/get_ld.c in the
4363	case GMP_NUMB_BITS == 8).
4364
4365	For consistency, changed "C89" to "C90" in comments of *.{c,h} files.
4366
4367	[doc/mpfr.texi] Changed C89 to C90, as when mentioning ISO, one must
4368	say C90 (C89 is the ANSI version). The GCC manual uses "C90" rather
4369	than "C89", so this is probably better anyway.
4370
4371	[src/get_ld.c] Bug fix with GMP_NUMB_BITS == 8 (thus mini-gmp) and
4372	32-bit long (e.g. with -m32 on x86_64).
4373
43742020-09-15  Vincent Lef��vre  <vincent@vinc17.net>
4375
4376	Renamed some .c files for consistency:
4377	  src/get_z_exp.c     ���  src/get_z_2exp.c
4378	  src/set_z_exp.c     ���  src/set_z_2exp.c
4379	  tests/tset_z_exp.c  ���  tests/tset_z_2exp.c
4380	and updated src/Makefile.am and tests/Makefile.am files.
4381
4382	[src/random_deviate.c] The latest change r14123 was actually incorrect:
4383	the real issue was non-portable code (with an incorrect comment) to
4384	convert an unsigned integer to a signed, negative integer. Incorrect
4385	behavior could occur with some C implementations and/or when mpfr_exp_t
4386	does not have the same size as long. So, fixed this portability issue,
4387	and avoid an assertion failure in a very rare case.
4388
4389	[src/random_deviate.c] Corrected an assertion. ��� Test failures.
4390
4391	[tests/tests.c] Added a note about tests done in "src/init2.c".
4392
4393	[src/init2.c] Check that __MPFR_EXP_MAX  == MPFR_EXP_MAX too.
4394
4395	[tests/tget_z.c] Updated comment to mention that mpfr_get_z_2exp is
4396	tested by this file.
4397
4398	[src/mpfr-mini-gmp.c] Fixed bug in gmp_urandomb_ui when the parameter n
4399	is equal to the width of unsigned long.
4400	Note: This case occurs in function random_deviate_generate() from
4401	src/random_deviate.c with a 32-bit ABI (thus 32-bit unsigned long)
4402	since n = W, which is defined as 32.
4403
44042020-09-14  Vincent Lef��vre  <vincent@vinc17.net>
4405
4406	[src/mpfr-mini-gmp.c] Simplified gmp_randseed_ui (note: the code in
4407	r14114 and r14115 was not the intended one due to the wrong variable
4408	in srand).
4409
4410	[src/mpfr-mini-gmp.c] Corrected latest change for gmp_randseed_ui.
4411
4412	With mini-gmp, use the standard rand() and srand() functions instead of
4413	the POSIX (thus less portable) lrand48() and srand48().
4414
44152020-09-10  Vincent Lef��vre  <vincent@vinc17.net>
4416
4417	ChangeLog update with "LC_ALL=en_US.UTF8 TZ=UTC0 svn log -rHEAD:0 -v".
4418	Note: this includes URL updates.
4419
4420	Updated URLs.
4421
4422	[src/sub1sp.c] Updated a URL (http ��� https).
4423
4424	[doc/README.dev] Updated URLs.
4425
4426	[configure.ac] Updated a URL (http ��� https).
4427
4428	[configure.ac] Updated a URL concerning the "Intel�� C++ Compiler 9.0
4429	for Linux Release Notes" (the URL was not archived).
4430
4431	Updated a freebsd.org URL (bug tracker).
4432
44332020-08-21  Vincent Lef��vre  <vincent@vinc17.net>
4434
4435	[src,tests] Consistency: in prototypes, changed
4436	  const mpfr_t  to  mpfr_srcptr
4437	  mpfr_t        to  mpfr_ptr
4438	(except for mpfr_t *), as this is equivalent (the array is converted
4439	to a pointer) and the mpfr_srcptr/mpfr_ptr form is the usual one.
4440
44412020-08-20  Vincent Lef��vre  <vincent@vinc17.net>
4442
4443	[doc/README.dev] Added a note about "string + integer" expressions.
4444
4445	[tests/tsprintf.c] Replaced another occurrence of the code triggering
4446	the warning "adding 'int' to a string does not append to the string
4447	[-Wstring-plus-int]" with Clang (at least with 3.5 and above).
4448
44492020-08-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
4450
4451	fixed a compiler warning found by Clang 10.0.1 on armv8-a (Samsung S8
4452	aarch64-unknown-linux-android):
4453
4454	tsprintf.c:1613:27: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
4455	        strcat (buf, ",0" + (j % 3 != 0));
4456	                     ~~~~~^~~~~~~~~~~~~~
4457
44582020-08-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
4459
4460	fixed a compiler warning found by Clang 10.0.1 on armv8-a (Samsung S8
4461	aarch64-unknown-linux-android):
4462
4463	./tgeneric.c:208:40: warning: implicit conversion from 'mp_limb_t' (aka 'unsigned long') to 'double' changes value from 18446744073709551615 to 18446744073709551616 [-Wimplicit-int-float-conversion]
4464			(double) randlimb () / MPFR_LIMB_MAX;
4465	                                     ~ ^~~~~~~~~~~~~
4466	../src/mpfr-impl.h:1277:28: note: expanded from macro 'MPFR_LIMB_MAX'
4467	#define MPFR_LIMB_MAX     ((mp_limb_t) -1)
4468	                           ^~~~~~~~~~~~~~
4469
44702020-08-09  Vincent Lef��vre  <vincent@vinc17.net>
4471
4472	[doc/mpfr.texi] Updated the month.
4473
4474	[doc/mpfr.texi] In the paragraph about cases that are hard to round,
4475	also mention potentially exact cases.
4476
44772020-07-20  Vincent Lef��vre  <vincent@vinc17.net>
4478
4479	[doc/README.dev] Added a paragraph on the issue with GCC and
4480	conversions between binary and decimal types.
4481
4482	[src/get_d128.c] Updated FIXME comment (after r14087).
4483
4484	[src/get_d128.c] Removed unused variable due to r14087.
4485
4486	[src/get_d128.c] For the special values, avoid double to _Decimal128
4487	conversions, as for such conversions, GCC generates from 2 to 3 MB in
4488	the shared library when the decimal encoding is BID, and there will be
4489	no fix in GCC:
4490	  https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96173
4491	We now use computations on _Decimal128 constants directly, which could
4492	thus be done at compile time. We expect no problems similar to double,
4493	as the _Decimal128 implementation should follow the IEEE 754 rules.
4494	This commit should avoid a large part of the problem reported at:
4495	  https://gforge.inria.fr/tracker/?func=detail&atid=619&aid=21849&group_id=136
4496
44972020-07-15  Vincent Lef��vre  <vincent@vinc17.net>
4498
4499	[tests/tset_ld.c] Improved an error message.
4500
45012020-07-13  Vincent Lef��vre  <vincent@vinc17.net>
4502
4503	[tests/tests.c] Simplified the d_trace and ld_trace functions:
4504	we do not need a union (with its potentional padding) as there
4505	are no aliasing issues with unsigned char.
4506
4507	[tests/tset_ld.c] Fixed mpfr_out_str usage in error messages
4508	(see the change in r12520).
4509
4510	[tests/tget_ld_2exp.c] Corrected a function call in an error message.
4511
4512	[examples/version.c] "Compiler:" line: detect TCC (__TINYC__ macro).
4513	(merged r14078 from tests/tversion.c)
4514
4515	[tests/tversion.c] "Compiler:" line: detect TCC (__TINYC__ macro).
4516
45172020-07-12  Vincent Lef��vre  <vincent@vinc17.net>
4518
4519	[src/get_d128.c] Updated the FIXME.
4520
4521	[src/get_d128.c] Added a FIXME to work around GCC bug 96173.
4522
45232020-07-10  Vincent Lef��vre  <vincent@vinc17.net>
4524
4525	[src/jyn_asympt.c] Added an assertion.
4526
4527	[doc/README.dev] In the MPFR_CHECK_EXPENSIVE description, say that
4528	  --enable-assert=full should not be used (too expensive, not needed).
4529	[tests/tjn.c] Added a related comment for the expensive bug20200703
4530	  test (which may take more than 1 hour with --enable-assert=full).
4531
4532	[tests/tjn.c] Corrected indentation.
4533
45342020-07-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
4535
4536	[tests/tjn.c] added another test
4537
4538	[src/jyn_asympt.c] fixed previous commit
4539
4540	[src/jyn_asympt.c] partly solved the slowness of jn(733333,733333)
4541
45422020-07-03  Vincent Lef��vre  <vincent@vinc17.net>
4543
4544	[src/jyn_asympt.c] Replaced some MPFR_EXP by MPFR_GET_EXP.
4545
4546	[src/jyn_asympt.c] Added a log message.
4547
4548	[tests/tjn.c] Added testcase for bug reported by Alex Coplan:
4549	  https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96044
4550	mpfr_jn is very slow or doesn't terminate on (733333,733333).
4551
45522020-07-01  Vincent Lef��vre  <vincent@vinc17.net>
4553
4554	[NEWS] For MPFR 4.1.0, added an item saying that TLS can safely be
4555	(re-)enabled on Sparc.
4556
45572020-06-29  Vincent Lef��vre  <vincent@vinc17.net>
4558
4559	[tests/mpfr-test.h] Avoid a GCC bug on Sparc, at least when using TLS.
4560	The MPFR library itself is not affected, only a particular test. Normal
4561	code using the MPFR library should not be affected either, as the bug
4562	occurs when accessing __gmpfr_flags directly (and the public mpfr.h
4563	header file does not provide any macro that accesses an internal
4564	variable directly). So a workaround for the tests is the best solution.
4565
45662020-06-18  Vincent Lef��vre  <vincent@vinc17.net>
4567
4568	[NEWS] Update for the next release.
4569
4570	[src/mpfr-longlong.h] Mention applied patch (in r14035).
4571
45722020-06-17  Vincent Lef��vre  <vincent@vinc17.net>
4573
4574	[src/mpfr-longlong.h] Applied patch on
4575	  https://gmplib.org/list-archives/gmp-bugs/2020-June/004807.html
4576	to fix add_ssaaaa and sub_ddmmss on arm / aarch64 (after a
4577	reverse-merge of r14032 and r13997), in order to resolve
4578	  https://sympa.inria.fr/sympa/arc/mpfr/2020-06/msg00017.html
4579	  https://sympa.inria.fr/sympa/arc/mpfr/2020-06/msg00059.html
4580
4581	[tests/tcmp_ui.c] Added a comment about a failing test with tcc if
4582	one adds tcc support for macros using __builtin_constant_p in mpfr.h
4583	by testing __TINYC__.
4584	Bug report against tcc: https://savannah.nongnu.org/bugs/?58606
4585
45862020-06-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
4587
4588	[src/mpfr-longlong.h] disable buggy sub_ddmmss for aarch64
4589
45902020-06-15  Vincent Lef��vre  <vincent@vinc17.net>
4591
4592	[doc/mpfr.texi] Corrected and detailed the description of
4593	mpfr_get_str_ndigits.
4594
4595	[src/get_str.c] Since the mpfr_get_str_ndigits function is in the
4596	public API, use MPFR_ASSERTN instead of MPFR_ASSERTD on the condition
4597	on the argument b in order to get an assertion failure (by default)
4598	if this condition is not satisfied.
4599
46002020-06-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
4601
4602	[doc/mpfr.texi] specify the range of b for mpfr_get_str_ndigits
4603
46042020-06-14  Vincent Lef��vre  <vincent@vinc17.net>
4605
4606	[tests/tdigamma.c] Increase the number of tests.
4607
46082020-06-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
4609
4610	[src/digamma.c] fixed bug found while testing mpfr-4.1.0-rc1
4611
46122020-06-14  Vincent Lef��vre  <vincent@vinc17.net>
4613
4614	[src/digamma.c] Added a FIXME.
4615
4616	[src/digamma.c] Replaced mpfr_get_exp by MPFR_GET_EXP.
4617
4618	[src/digamma.c]
4619	  * Replaced some MPFR_EXP by MPFR_GET_EXP to check that the MPFR number
4620	    has an exponent (i.e. it is not a special value).
4621	    ��� Assertion failure in tdigamma (on x86_64).
4622	    Note: this might be the cause of an unexpected loop (infinite loop?)
4623	    on a Debian 10.4 POWER9 machine:
4624	      https://sympa.inria.fr/sympa/arc/mpfr/2020-06/msg00025.html
4625	  * Added an integer overflow check on a precision.
4626
46272020-06-13  Vincent Lef��vre  <vincent@vinc17.net>
4628
4629	[tests/tset_ld.c] In a test specific to x86 extended precision, in case
4630	of incorrect result, detect whether Valgrind is used and one gets the
4631	result obtained with Valgrind due to
4632	  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=890215
4633	  https://bugs.kde.org/show_bug.cgi?id=421262
4634	(long double behaves as double); in this case, output a message without
4635	an error since Valgrind is the only cause of the miscalculation.
4636
4637	[tests/tset_ld.c] bug_20160907 (tests on subnormals):
4638	  * Replaced an assertion by a test with detailed output.
4639	  * Corrected a value in a test, which did not match the comment.
4640
4641	[tests] Skip tabort_defalloc1 and tabort_defalloc2 under Valgrind, as
4642	Valgrind complains due to the large allocation size.
4643	  * mpfr-test.h, tests.c: added tests_run_within_valgrind() function to
4644	    guess whether the test runs within Valgrind.
4645	  * tabort_defalloc1.c, tabort_defalloc2.c: skip the test (exit code 77)
4646	    if this function returns true.
4647
4648	[configure.ac] Improvements concerning the default CFLAGS with GCC.
4649	  * Add -Wc++-compat option to CFLAGS with GCC ��� 4.1 not in C++ mode.
4650	    Changes based on Bruno Haible's patch suggested at
4651	      https://sympa.inria.fr/sympa/arc/mpfr/2020-06/msg00008.html
4652	    (with some autoconf related fixes).
4653	  * Output the $CFLAGS value that is eventually used.
4654
4655	[configure.ac] No longer add -Wc++-compat to CFLAGS when the compiler
4656	is GCC not in C++ mode (reverting the change done in r13406) since this
4657	option is not available before GCC 4.1:
4658	  https://sympa.inria.fr/sympa/arc/mpfr/2020-06/msg00008.html
4659
4660	[doc/mpfr.texi] ACM TOMS article: use the preferred DOI URL.
4661
4662	[tests/tfpif.c] Updated comment about the bug detected on AIX.
4663
4664	[tools/announce-text] For release candidates, automatically adapt the
4665	flow of the text.
4666
4667	[NEWS] Updated mpfr.org URLs (http ��� https).
4668
4669	[tools/announce-text] Better line lengths for release candidates.
4670
46712020-06-12  Vincent Lef��vre  <vincent@vinc17.net>
4672
4673	[README] Added URL of the official GNU MPFR website and a note about the
4674	future migration, since InriaForge will shut down in December 2020.
4675
4676	[tests/tests.c] Removed a useless "#include <errno.h>" (added in r5252,
4677	useless since r5253).
4678
4679	[tests/tfpif.c] Fixed a bug (in the test) detected on AIX[*], where
4680	an fclose failed due to a previous read failure. At the same time,
4681	check that a read failure no longer occurs. Note: the read failure
4682	made mpfr_fpif_import fail, but this is a test where it is expected
4683	to fail, i.e. we now check that it fails for a good reason.
4684	[*] gcc119.fsffrance.org on the GCC Compile farm.
4685
4686	[tools/update-version] Improved a message.
4687
4688	[src/mpfr-longlong.h] Corrected a comment from GMP's longlong.h, which
4689	makes codespell complain in particular.
4690
4691	[tools/mpfrlint] Improved the __GMP_DECLSPEC test:
4692	  * No longer exclude "src/mpfr.h".
4693	  * Avoid false positives in "src/mpfr.h" and "src/mpfr-longlong.h".
4694
4695	[doc/mpfr.texi] Updated the month.
4696
4697	Updated version to 4.2.0-dev.
4698
4699	ChangeLog update with "LC_ALL=en_US.UTF8 TZ=UTC0 svn log -rHEAD:0 -v".
4700
47012020-06-11  Vincent Lef��vre  <vincent@vinc17.net>
4702
4703	Renamed mpfr_total_order to mpfr_total_order_p for consistency with the
4704	other predicates (by convention, the function name should end with _p).
4705
4706	[NEWS] New function mpfr_total_order. Detailed mpfr_get_str_ndigits.
4707
4708	[doc/README.dev] Updated "To make a release".
4709
4710	[doc/README.dev] Updated "To make a release".
4711
4712	[src/Makefile.am] Updated -version-info to 7:0:1 for MPFR 4.1.0.
4713
4714	[NEWS] Additional details, in particular binary compatibility.
4715
4716	[NEWS] Some improvements.
4717
47182020-06-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
4719
4720	[doc/mini-gmp] one more test is skipped now
4721
4722	[doc/mini-gmp] add test results with reduced limb size (int)
4723
47242020-06-11  Vincent Lef��vre  <vincent@vinc17.net>
4725
4726	[doc/README.dev] Updated "To make a release".
4727
47282020-06-10  Vincent Lef��vre  <vincent@vinc17.net>
4729
4730	[NEWS] Added release name for 4.1.0: "��pinards �� la cr��me".
4731
4732	[doc/mini-gmp] English usage improvement.
4733
4734	Fixed 2 issues with tests/tvalist.c:
4735	  1. When building with mini-gmp (--with-mini-gmp=DIR) without
4736	     optimizations (-O0), the build of tvalist was failing because
4737	     the formatted output functions are not supported (this issue
4738	     wasn't noticed with optimizations due to dead code elimination).
4739	     Fix: this test is disabled with mini-gmp (not needed anyway).
4740	  2. Dead code elimination with optimizations partly broke the goal
4741	     of this test, i.e. checking that mpfr_vfprintf was available.
4742	     This dead code was introduced in r7648 "Make sure that fct is
4743	     used (avoid a warning)." (where fct = mpfr_vfprintf) but was
4744	     actually not sufficient.
4745	     Fix: call mpfr_vfprintf unconditionally, but on an empty string
4746	     in order to avoid output to stdout.
4747	In addition to these changes in tests/tvalist.c, src/mpfr-impl.h could
4748	be simplified as a consequence.
4749
4750	Removed '# undef HAVE_STDARG' before '# include "config.h"' when it
4751	was used, as it was not always undefined (e.g. in tests/tsprintf.c)
4752	and there are no reasons to undefine this macro specifically.
4753	Note: this code was introduced in r2665 (2004-02-06), perhaps for
4754	the MPFR build inside GMP, which has been dropped a long time ago.
4755
4756	[tests/tvalist.c] Updated a comment.
4757
4758	[tests/tvalist.c] Correction when config.h is used (code copied from
4759	src/inits.c).
4760
47612020-06-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
4762
4763	[doc/mini-gmp] review
4764
47652020-06-10  Vincent Lef��vre  <vincent@vinc17.net>
4766
4767	[NEWS] Typo in option name.
4768
4769	[src/mpfr-longlong.h]
4770	  * Updated comment about this file and the changes against GMP 6.2.0.
4771	  * Define __GMP_GNUC_PREREQ if it isn't defined (this is currently not
4772	    needed since it is defined in gmp.h as used also there, but this is
4773	    useful in case some future gmp.h version no longer defines it).
4774
4775	[src/mpfr-longlong.h] Update: applied the diff of GMP's longlong.h
4776	between GMP 6.1.0 and GMP 6.2.0, after reverting changesets 13251,
4777	11042, 11025, and 10727, as these changes are present in the diff.
4778
4779	[configure.ac] With mini-gmp, also check the availability of srand48.
4780
4781	[src/mpfr-mini-gmp.c] For gmp_randseed_ui, which uses srand48, use
4782	a portable version of the conversion from unsigned long to long.
4783
4784	[doc/mini-gmp] Note also that the random functions are not thread-safe.
4785
4786	[doc/mini-gmp] Major update.
4787
4788	[NEWS] Removed a FIXME (no problems found).
4789
47902020-06-09  Vincent Lef��vre  <vincent@vinc17.net>
4791
4792	[tests/tversion.c] Code style: replaced (mp_limb_t) -1 by MPFR_LIMB_MAX.
4793
4794	[src/mul_ui.c] Bug fix: in the code where MPFR_LONG_WITHIN_LIMB is
4795	not defined, update the flags (needed for the possible overflow).
4796
4797	[tests/tmul_ui.c] Added an overflow check that fails in MPFR_RNDZ with
4798	mini-gmp and mp_limb_t < long (e.g. "-DMINI_GMP_LIMB_TYPE=short").
4799
4800	[tests/tgeneric.c] In the MPFR_SUSPICIOUS_OVERFLOW case, output yprec.
4801
4802	[src/mpfr-impl.h] Changed the code that defines MPFR_LONG_WITHIN_LIMB
4803	in order to support mini-gmp with -DMINI_GMP_LIMB_TYPE=...
4804
4805	[src/get_ld.c] Fixed build failure with GMP_NUMB_BITS == 8 due to the
4806	use of uint64_t in src/get_ld.c, while <stdint.h> was not included:
4807	replaced it by "unsigned long long", which does not need a specific
4808	header (an exact 64-bit type is not needed, we just need at least a
4809	64-bit width, which unsigned long long is guaranteed to have).
4810	Note: unsigned long long may not be available with a pre-C99 compiler,
4811	but this is not worse than uint64_t. This limitation is currently OK
4812	as GMP_NUMB_BITS == 8 support is just for testing.
4813
4814	[acinclude.m4] Make MPFR_CHECK_MP_LIMB_T_VS_LONG and
4815	MPFR_CHECK_MP_LIMB_T_VS_INTMAX similar:
4816	  * Use AC_LINK_IFELSE in MPFR_CHECK_MP_LIMB_T_VS_LONG too: this
4817	    is safer than AC_COMPILE_IFELSE, as it will detect undefined
4818	    function-like macros.
4819	  * Define MPFR_USE_STATIC_ASSERT in MPFR_CHECK_MP_LIMB_T_VS_INTMAX
4820	    too in order to make sure that a static assertion is used (not
4821	    the MPFR_ASSERTN fallback).
4822	Note: These constitute redundant safeguards because if MPFR_ASSERTN
4823	is used, it will be regarded as a function since the macro is not
4824	defined in this context, and linking will fail as a consequence.
4825	But this redundancy will protect more against MPFR code evolution.
4826
4827	[acinclude.m4] Fixed MPFR_CHECK_MP_LIMB_T_VS_LONG macro by forcing
4828	MPFR_USE_STATIC_ASSERT to 1 before including mpfr-sassert.h, i.e.
4829	by requiring static assertions: because AC_COMPILE_IFELSE is used
4830	(i.e. just compiling, no linking), the test could incorrectly succeed
4831	when MPFR_USE_STATIC_ASSERT was not defined, i.e. whatever the value
4832	of "(mp_limb_t) -1 >= (unsigned long) -1"; indeed, in this case,
4833	MPFR_ASSERTN() was used instead of a static assertion, and since the
4834	macro was not defined here, MPFR_ASSERTN was regarded as a function
4835	(without a prototype), which was fine for compiling (except when the
4836	compiler is configured to regard warnings such as missing prototype
4837	as errors). In short, one could get "yes" while long was larger than
4838	mp_limb_t.
4839	Note: In uncommon cases (non-standard compiler...), one can still get
4840	"no" while a long fits in mp_limb_t, but this isn't much an issue as
4841	the MPFR code should work in such a case. Moreover, src/mpfr-impl.h
4842	will also have the chance to set MPFR_LONG_WITHIN_LIMB in practice.
4843
4844	Removed MPFR_DECL_STATIC_ASSERT macro as it was buggy, unused, rather
4845	useless, and it had drawbacks. Details:
4846	  * In src/mpfr-sassert.h, the default definition of this macro in the
4847	    MPFR_USE_STATIC_ASSERT case ended with a spurious ";". Since this
4848	    macro was unused, this wasn't noticeable... except in the configure
4849	    test for static assertions, which failed in some cases (e.g. with
4850	    CFLAGS="-std=c99 -pedantic-errors -Wno-error=overlength-strings")
4851	    for this reason, which had the effect to let MPFR_USE_STATIC_ASSERT
4852	    undefined, while static assertions were actually working.
4853	  * Still in src/mpfr-sassert.h, but when MPFR_USE_STATIC_ASSERT is not
4854	    defined, the MPFR_DECL_STATIC_ASSERT(c) expanded to nothing, which
4855	    would yield invalid code as
4856	      MPFR_DECL_STATIC_ASSERT(some_assertion);
4857	    would yield an extra ";" (about the same issue as above). Given
4858	    the fact that the portable MPFR_USE_STATIC_ASSERT code does not
4859	    work with this compiler, it is not clear whether this is fixable
4860	    in a completely reliable way.
4861	  * MPFR_DECL_STATIC_ASSERT can be replaced by MPFR_STAT_STATIC_ASSERT
4862	    after moving it to the statement section of a function, with almost
4863	    no drawbacks (just a bit readability in some cases?).
4864	  * When MPFR_USE_STATIC_ASSERT is not defined, MPFR_STAT_STATIC_ASSERT
4865	    will check the assertion at run time (for free, since the result is
4866	    known at compile time), while MPFR_DECL_STATIC_ASSERT would not be
4867	    able to do anything useful.
4868	Changes:
4869	  * acinclude.m4: removed the test of MPFR_DECL_STATIC_ASSERT.
4870	  * src/mpfr-sassert.h: removed MPFR_DECL_STATIC_ASSERT definitions.
4871	  * tune/tuneup.c: removed MPFR_DECL_STATIC_ASSERT redefinition.
4872
48732020-06-08  Vincent Lef��vre  <vincent@vinc17.net>
4874
4875	[acinclude.m4] MPFR_CHECK_MP_LIMB_T_VS_LONG: updated comment to say
4876	that using MPFR_ASSERTN (as the code tries to do if static assertions
4877	are not supported, but currently fails) would be incorrect.
4878
4879	[acinclude.m4] In MPFR_CHECK_MP_LIMB_T_VS_INTMAX, do the test only if
4880	intmax_t is defined (assuming that it is iff uintmax_t is defined).
4881
4882	[tests/tversion.c] Also output the results of the detection of
4883	"long within limb" and "intmax_t within limb".
4884
48852020-06-04  Vincent Lef��vre  <vincent@vinc17.net>
4886
4887	[configure.ac] Removed an obsolete FIXME, which is probably wrong.
4888
4889	[configure.ac] Updated a comment, replacing a resolved FIXME.
4890
4891	[acinclude.m4] MPFR_CHECK_DBL2INT_BUG test: avoid potentially reserved
4892	exit status.
4893
4894	[acinclude.m4] Fixed r13938: the new MPFR_C_REALFP_FORMAT macro also
4895	needs to take the printf length modifier in argument.
4896
4897	[acinclude.m4] Improved the code to determine the format of double,
4898	resolving the FIXME. The issue was that it used an AC_RUN_IFELSE,
4899	so that the format could not be determined when cross-compiling.
4900	The code to determine the format of long double did not have such
4901	an issue: the object file was analyzed by an awk script. Since a
4902	long double can have the same format as a double, this code was
4903	already able to recognize a double, in particular. So the change
4904	consisted in slightly adapting this code to accept the tested type
4905	as an argument ("double" or "long double", the mpfr_cv_��� variable
4906	name being obtained thanks to AS_VAR_PUSHDEF) and reusing it for
4907	the detection of the format of double.
4908
4909	[acinclude.m4] MPFR_C_LONG_DOUBLE_FORMAT cleanup:
4910	  * Removed an unused AH_VERBATIM.
4911	  * Removed "not available" condition, no longer possible since r13936.
4912
4913	[acinclude.m4] Fix concerning r13935: also removed code that tested
4914	the availability of long double. This code was useless since it was
4915	just outputting "not available" if long double was missing, and one
4916	would get an error later since MPFR requires long double. But since
4917	long double is in ISO C89, it is useless to add a test just to return
4918	an error for pre-C89 compilers.
4919
4920	[acinclude.m4] Removed "AC_CHECK_TYPES([long double])", whose only
4921	  purpose is to define a HAVE_LONG_DOUBLE macro.
4922	[configure.ac] Removed HAVE_LONG_DOUBLE from the cleanup: no longer
4923	  needed with the change in acinclude.m4.
4924
49252020-06-03  Vincent Lef��vre  <vincent@vinc17.net>
4926
4927	[configure.ac] Minor change in a comment.
4928
4929	Cleanup about the function detection by autoconf.
4930	  * acinclude.m4: removed the detection of memmove, memset and strtol,
4931	    which was not used (a macro "HAVE_..." was defined... to be removed
4932	    in configure.ac!); for AC_CHECK_FUNCS, remove options starting with
4933	    "-Werror" as they can yield a spurious failure due to the way this
4934	    test is done (this occurred on memmove and memset with GCC due to
4935	    builtins, and similar issues could still occur in practice with the
4936	    remaining functions in the AC_CHECK_FUNCS list).
4937	  * configure.ac: removed HAVE_STRTOL from the macro cleanup: no longer
4938	    needed since strtol has been removed from the AC_CHECK_FUNCS list.
4939
4940	[acinclude.m4] Minor improvement: in the MPFR_CHECK_GMP test, changed
4941	the exit status values 1..3 to 81..83 in order to avoid confusion, as
4942	low values can typically be returned in case of compile or link error.
4943
49442020-06-02  Vincent Lef��vre  <vincent@vinc17.net>
4945
4946	[tests/memory.c] Updated a comment.
4947
4948	[src/mpfr-longlong.h] Added code to check that mpfr-longlong.h is not
4949	included directly; MPFR_NEED_LONGLONG_H must be defined instead.
4950
4951	[acinclude.m4] To complete r13928, one also needs to define
4952	MPFR_NEED_INTMAX_H here when mpfr-intmax.h is used.
4953
4954	[src/{mpfr-impl.h,mpfr-intmax.h}] Added code to check that mpfr-intmax.h
4955	is not included directly; MPFR_NEED_INTMAX_H must be defined instead.
4956
49572020-06-01  Vincent Lef��vre  <vincent@vinc17.net>
4958
4959	Bug fixes and cleanup related to "src/mpfr-intmax.h" by introducing
4960	a new macro MPFR_NEED_INTMAX_H, which should be defined instead of
4961	using: #include "mpfr-intmax.h"
4962
4963	Details on the bugs fixed:
4964	  * The code added in r13916 forgot a #include <limits.h> since this
4965	    code does a test on ULLONG_MAX. With the cleanup, <limits.h> is
4966	    already always included by mpfr-impl.h (early enough).
4967	  * In src/get_str.c and tests/memory.c, a #include "config.h" was
4968	    missing before #include "mpfr-intmax.h"; this issue would affect
4969	    platforms where "config.h" is needed and where <inttypes.h> or
4970	    <stdint.h> does not exist or does not work.
4971
49722020-06-01  Vincent Lef��vre  <vincent@vinc17.net>
4973
4974	[tests/tgamma.c] For the non-regression test added in r13907, one
4975	also needs to temporarily increase the memory limit, thus require
4976	MPFR_CHECK_LARGEMEM too.
4977
49782020-05-26  Vincent Lef��vre  <vincent@vinc17.net>
4979
4980	[acinclude.m4] If decimal floats are explicitly disabled, do not do
4981	the check of the bit-field ordering for _Decimal128.
4982
4983	[acinclude.m4] Fixed detection of bit-field ordering for _Decimal128:
4984	a compiler error with exit status 1 was mixed up with little endian.
4985
49862020-05-24  Vincent Lef��vre  <vincent@vinc17.net>
4987
4988	[src/mpfr-intmax.h] Added support for Silicon Graphics IRIX 6.5 (1998)
4989	with native /usr/bin/cc, which knows the long long type but defines
4990	ULONGLONG_MAX, etc. instead of ULLONG_MAX, etc.
4991
4992	[tests/tget_ld_2exp.c] Reverted r13914 as we still need to support
4993	pre-C99 compilers (and this change was useless).
4994	If C99 syntax is needed, there should be a configure test, and the
4995	code should be conditional.
4996
49972020-05-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
4998
4999	[tests/tget_ld_2exp.c] put expected value in hex in bug20180904()
5000
50012020-05-20  Vincent Lef��vre  <vincent@vinc17.net>
5002
5003	[doc/README.dev] "To make a release": mention MPFR_CHECK_EXPENSIVE.
5004
50052020-05-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
5006
5007	[tests/tgamma.c] added comment about bug fix
5008
5009	[src/bernoulli.c] improve initial precision in mpfr_bernoulli_internal()
5010			  (avoid failures for n <= 10000)
5011
5012	[src/bernoulli.c] fix bug with non-regression test added in r13907
5013
5014	[src/bernoulli.c] temporary fix for the bug in mpfr_gamma, something must be
5015	                  wrong in the error analysis of mpfr_bernoulli_internal()
5016
5017	[doc/README.dev] added MPFR_CHECK_EXPENSIVE
5018	[tests/tgamma.c] use MPFR_CHECK_EXPENSIVE
5019
5020	added non-regression test for bug reported by Frithjof Blomquist
5021
50222020-05-04  Vincent Lef��vre  <vincent@vinc17.net>
5023
5024	[tools/mpfrlint] Use of codespell: better workaround to python ugliness.
5025
50262020-04-27  Vincent Lef��vre  <vincent@vinc17.net>
5027
5028	[doc/mpfr.texi] Section "Rounding" / even-rounding rule: the odd
5029	radices �� are actually not concerned since in such radices, ��^k
5030	is always odd, so that the exponent does not matter.
5031
5032	[doc/mpfr.texi] In Section "Rounding", for MPFR_RNDN, added a note
5033	about the even-rounding rule in particular cases: 1-digit precision
5034	and odd radices.
5035	Note: A short explanation was already in the mpfr_get_str description,
5036	which is where the issue could occur at the time the minimum precision
5037	of MPFR numbers was 2. Now that the minimum precision is 1, this rule
5038	in such special cases is more general.
5039
5040	[doc/mpfr.texi] + "than": also in a comment.
5041
5042	[doc/mpfr.texi] Corrected a typo. Changed "{less,greater} or equal to"
5043	to the more common "{less,greater} than or equal to".
5044
50452020-04-26  Vincent Lef��vre  <vincent@vinc17.net>
5046
5047	[doc/mpfr.texi] In the paragraph on mpfr_rnd_t, give a reference
5048	to Section "Rounding".
5049
5050	[doc/mpfr.texi] s/can not/cannot/
5051
5052	[doc/mpfr.texi] Improved Section "Rounding" even more:
5053	  * Added a note about the sign of the result (important for 0).
5054	  * Described the directed rounding modes (BTW, this notion of
5055	    "directed rounding modes" was used but never defined).
5056
5057	[doc/mpfr.texi] Improved the description of the rounding modes:
5058	  * Be more clear that MPFR_RNDN uses the even rounding rule.
5059	  * In "two representable numbers", add "consecutive".
5060	  * Be more general than radix 2 (due to conversions to a string).
5061	  * Consistent typography.
5062
50632020-04-25  Vincent Lef��vre  <vincent@vinc17.net>
5064
5065	[doc/mpfr.texi]
5066	  * mpfr_init2: mention mpfr_prec_round; added a note about
5067	    memory allocation.
5068	  * mpfr_prec_round: clarification ("new allocation" could be
5069	    surprising since one needs less memory).
5070
50712020-04-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
5072
5073	[doc/mpfr.texi] document that mpfr_prec_round does no new allocation
5074			in case the allocated memory is enough
5075
50762020-04-22  Vincent Lef��vre  <vincent@vinc17.net>
5077
5078	[src/atan.c] Removing the FIXME: I can't see anything wrong in the
5079	MPFR code. This could be a bug in GCC's analyzer (which is currently
5080	experimental). And GCC bug 94713 in the analyzer prevents debugging
5081	as it makes impossible to track uninitialized values: warnings do not
5082	occur the first time an uninitialized value occurs.
5083
5084	[src/atan.c] Added an assertion.
5085
5086	[src/atan.c] Reduce the number of mpz_get_ui calls with assertions.
5087
5088	[src/atan.c] Added a FIXME.
5089
50902020-04-14  Vincent Lef��vre  <vincent@vinc17.net>
5091
5092	[doc/texinfo.tex] Update to 2020-02-11.09 with "autoreconf -i -f"
5093	under Debian/unstable.
5094	Note: The generated mpfr.html and mpfr.info files remain the same.
5095	In mpfr.pdf, there are minor changes concerning horizontal spacing
5096	in paragraphs with a URL.
5097
50982020-04-11  Vincent Lef��vre  <vincent@vinc17.net>
5099
5100	[tests/tget_set_d64.c] Fixed missing "#if _MPFR_IEEE_FLOATS" that
5101	became visible with r13878 now that the encoding of decimal floats
5102	can be detected at compile time. But by fixing the defined macros
5103	manually, this issue could be visible before r13878.
5104
51052020-04-10  Vincent Lef��vre  <vincent@vinc17.net>
5106
5107	Reworked decimal support and detection, resolving FIXMEs.
5108	  * INSTALL, acinclude.m4, configure.ac: --enable-decimal-float can
5109	    take new values. Change of macro DPD_FORMAT (DPD was assumed in
5110	    case of cross-compilation, which could be wrong) to 3 new macros:
5111	    DECIMAL_DPD_FORMAT, DECIMAL_BID_FORMAT, DECIMAL_GENERIC_CODE.
5112	  * doc/README.dev: documented these 3 new macros.
5113	  * src/mpfr-impl.h: the detection of the BID encoding can now be
5114	    done at compile time when GCC defines __DECIMAL_BID_FORMAT__
5115	    (as on x86); support of the 3 new macros.
5116	  * src/{get_d64.c,set_d64.c,set_d128.c}: update.
5117	  * tests/{tget_set_d64.c,tget_set_d128.c,tversion.c}: update.
5118
51192020-04-08  Vincent Lef��vre  <vincent@vinc17.net>
5120
5121	Updated URLs of the GCC mailing-list archives.
5122
51232020-04-06  Vincent Lef��vre  <vincent@vinc17.net>
5124
5125	[src/mpfr-gmp.h] Updated FIXME about AC_FUNC_ALLOCA (in 2019-01, I
5126	already noticed a probable bug in the AC_FUNC_ALLOCA description,
5127	but forgot about it).
5128
5129	[doc/mpfr.texi] Updated the month.
5130
5131	[doc/mpfr.texi] Formatted output functions: added a comment with the URL
5132	of the bug report.
5133
5134	[NEWS,doc/mpfr.texi] Documented the improvement in the formatted output
5135	functions (mpfr_printf, etc.) with an empty precision field, about
5136	trailing zeros.
5137
51382020-04-03  Vincent Lef��vre  <vincent@vinc17.net>
5139
5140	[tests/tsub.c] Corrected MPFR_ASSERTD to MPFR_ASSERTN.
5141
5142	[tests/tsub.c] Reverted r13862 and fixed the test_ubf test: A random
5143	precision was too small, so that an input for the test was not computed
5144	exactly (I had modified the values of the inputs for better tests, but
5145	forgot to change the minimum precision). Also check that the inputs are
5146	computed exactly (which is what I often do, but here, I had forgotten),
5147	in order to make errors like the above one easier to understand in case
5148	the test will have to be modified later.
5149	Note: With the incorrect input, the mpfr_sub1 result and flags were
5150	actually correct, so that this was only a bug in the test.
5151
51522020-04-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
5153
5154	[INSTALL] update CompCert instructions
5155
51562020-04-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
5157
5158	[INSTALL] fixed CompCert instructions
5159
51602020-04-02  Vincent Lef��vre  <vincent@vinc17.net>
5161
5162	[tests/tset_ld.c] Reverted r13858: the check_overflow test was already
5163	in MPFR 4.0.1 and was succeeding on armv5tejl-unknown-linux-gnueabi,
5164	which had mpfr_cv_c_long_double_format='IEEE double, little endian'.
5165	The issue should be investigated.
5166	Note: MPFR_LDBL_MANT_DIG may be larger than the actual number of bits,
5167	but this should not cause a failure in the tests.
5168
5169	[tests/tget_ld_2exp.c] Proper fix: the bug20180904 test was designed
5170	for the x87 extended precision, so enable it only in this case.
5171
51722020-04-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
5173
5174	[tests/tsub.c] modify test_ubf() to always hit a current failing test
5175
51762020-04-02  Vincent Lef��vre  <vincent@vinc17.net>
5177
5178	[configure.ac] Fixed the change done in r13853 (about removed macros),
5179	making the code simpler and more maintainable at the same time.
5180
51812020-04-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
5182
5183	[INSTALL] added configuration for CompCert test
5184
51852020-04-02  Vincent Lef��vre  <vincent@vinc17.net>
5186
5187	[src/set_ld.c] Removed obsolete workaround due to LDBL_MAX being buggy
5188	on old i386 systems (the tests were not using this workaround).
5189
51902020-04-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
5191
5192	[tests/tget_ld_2exp.c] fixed for case where long double = double
5193	[tests/tset_ld.c]      likewise
5194
51952020-04-02  Vincent Lef��vre  <vincent@vinc17.net>
5196
5197	[configure.ac] Moved MPFR_CONFIGS invocation: MPFR_CONFIGS uses LDFLAGS,
5198	thus must be invoked after LDFLAGS has been determined completely.
5199
52002020-04-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
5201
5202	[INSTALL] now all tests pass with compcert
5203
5204	[acinclude.m4] added missing LDFLAGS for long double test
5205
52062020-04-02  Vincent Lef��vre  <vincent@vinc17.net>
5207
5208	[doc/README.dev] Added HAVE_ALLOCA description.
5209
5210	[configure.ac] Do not remove the HAVE_ALLOCA macro, which is now used
5211	by MPFR to determine the default MPFR_ALLOCA_MAX value.
5212
52132020-04-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
5214
5215	[INSTALL] update CompCert instructions
5216
52172020-04-02  Vincent Lef��vre  <vincent@vinc17.net>
5218
5219	[tests/tversion.c] Output whether MPFR is built with the GMP build,
5220	and the MPFR_ALLOCA_MAX value if not.
5221
5222	[src/mpfr-gmp.h] If HAVE_ALLOCA is not defined, i.e. if alloca() is
5223	not available (as detected by the configure script), then set the
5224	default MPFR_ALLOCA_MAX value to 0 so that alloca() is not used.
5225
52262020-04-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
5227
5228	[INSTALL] added instructions for CompCert
5229
52302020-04-02  Vincent Lef��vre  <vincent@vinc17.net>
5231
5232	[doc/README.dev] Updated MPFR_ALLOCA_MAX description.
5233
5234	[src/mpfr-gmp.h] When MPFR_ALLOCA_MAX = 0 (set at configure time),
5235	do not reference alloca() since we don't need it.
5236
52372020-03-31  Vincent Lef��vre  <vincent@vinc17.net>
5238
5239	[doc/mpfr.texi] About mpfr_printf with %Re and empty precision field,
5240	added a comment with URLs of the discussion and the bug report.
5241
52422020-03-30  Vincent Lef��vre  <vincent@vinc17.net>
5243
5244	[src/sub1.c] Typo in a comment.
5245
5246	[configure.ac] Updated message output when the gmp.h vs libgmp test
5247	fails: another cause may be that LD_RUN_PATH is not honored (problem
5248	seen under OpenBSD 6.6 / gcc302.fsffrance.org).
5249
52502020-03-27  Vincent Lef��vre  <vincent@vinc17.net>
5251
5252	[tests/tset_sj.c] Forgot a "#ifndef NPRINTF_J" for printf("%jd",...).
5253
5254	[src/set_uj.c] Fixed underflow detection.
5255
5256	[src/set_uj.c] Added early overflow detection to avoid a possible
5257	integer overflow. Added a FIXME (incorrect underflow detection).
5258
5259	[tests/tset_sj.c] Added tests of mpfr_set_sj_2exp and mpfr_set_uj_2exp
5260	in precision 3 with integers from -31 to 31 and exponents MPFR_EXP_MIN,
5261	MPFR_EMIN_MIN-7 to MPFR_EMIN_MIN, MPFR_EMAX_MAX-7 to MPFR_EMAX_MAX,
5262	MPFR_EXP_MAX-7 to MPFR_EXP_MAX (like in tset_si.c, see r13808), but
5263	also exponents INTMAX_MIN and INTMAX_MAX. This shows bugs in set_uj.c,
5264	to be fixed...
5265
5266	[src/set_sj.c] Coding style.
5267
5268	[src] Moved the definition of the numberof() macro from mpfr-gmp.h to
5269	mpfr-impl.h in order to always use our own. Also make sure that the
5270	type is signed, so that the value can be used in arbitrary expressions
5271	without the risk of silently switching to unsigned arithmetic.
5272
52732020-03-26  Vincent Lef��vre  <vincent@vinc17.net>
5274
5275	[tests/texpm1.c] Updated the bad_cases() parameters to increase the
5276	proportion of generated bad cases.
5277
5278	[tests/tset_si.c] Forgot a cast for MPFR_EXP_FSPEC argument.
5279
5280	[doc/mpfr.texi] Updated the month.
5281
5282	Consistency: "a UBF" ��� "an UBF" since UBF stands for "unbounded float".
5283
5284	[src/mpfr-impl.h] Updated UBF comment about aliasing rules.
5285
5286	[src/mpfr-impl.h] Updated UBF comment about aliasing rules.
5287
5288	[src/mpfr-impl.h] Bug fix (MPFR_ZEXP(x) as used for an assignment
5289	could yield undefined behavior on platforms where mpfr_exp_t has
5290	trap representations); this is also a general improvement.
5291
5292	[tests/tsub.c] Avoid the build failure with -Werror=strict-aliasing by
5293	replacing x[���] by p[���] (but this doesn't eliminate the problem itself).
5294
5295	[src/mpfr-impl.h] UBF: updated comment: this breaks aliasing rules, but
5296	there isn't any other acceptable solution.
5297	Note: when trying to build MPFR without --enable-assert, with GCC and
5298	CFLAGS="-O2 -Werror=strict-aliasing", the compilation of tests/tsub.c
5299	currently fails because of that.
5300
53012020-03-25  Vincent Lef��vre  <vincent@vinc17.net>
5302
5303	[tests/tsub.c] Fixed tests on UBF.
5304
5305	[src/sub1.c] Fixed underflow handling in case c small (can occur only
5306	with UBF).
5307
5308	[tests/tfma.c] Minor correction.
5309
5310	[tests/tfma.c] Changed a RND_LOOP to RND_LOOP_NO_RNDF as the behavior
5311	with RNDF changed after a bug fix.
5312
5313	[tests/tsub.c] Completed tests for UBF (currently fail).
5314
5315	[src/sub1.c] Bug fix for UBF and MPFR_RNDF.
5316
5317	[src/set_{si,ui}_2exp.c] Bug fix in MPFR_LONG_WITHIN_LIMB defined case:
5318	added early underflow/overflow checking to avoid integer overflow or
5319	errors due to special exponent values.
5320
5321	[tests/tset_si.c] Added tests of mpfr_set_si_2exp and mpfr_set_ui_2exp
5322	in precision 3 with integers from -31 to 31 and exponents MPFR_EXP_MIN,
5323	MPFR_EMIN_MIN-7 to MPFR_EMIN_MIN, MPFR_EMAX_MAX-7 to MPFR_EMAX_MAX,
5324	MPFR_EXP_MAX-7 to MPFR_EXP_MAX, showing bugs in these functions when
5325	MPFR_LONG_WITHIN_LIMB is defined.
5326
53272020-03-24  Vincent Lef��vre  <vincent@vinc17.net>
5328
5329	[tests/tsub.c] More tests on UBF. The results are not checked yet,
5330	but running the tests with UBsan could allow one to trigger bugs
5331	(such as the one fixed in r13806).
5332
5333	[src/sub1.c] If exp_b = MPFR_EXP_MIN, an integer overflow may occur in
5334	the "MAX (aq, bq) + 2 <= diff_exp" branch. This is possible only with
5335	UBF. Fixed this bug with an early underflow detection in the UBF case.
5336
5337	[tests/tfmma.c] Added extreme_underflow test: before the r13798 bug fix,
5338	this was triggering an integer overflow.
5339
5340	[tests/tsub.c] Corrected a function name.
5341
5342	[tests/tsub.c] More tests on UBF, in particular with an exponent change
5343	(including subnormal ��� normal and normal ��� overflow due to that).
5344
5345	[tests/tsub.c] Tests on UBF: underflow/overflow cases done.
5346
53472020-03-23  Vincent Lef��vre  <vincent@vinc17.net>
5348
5349	[tests/tsub.c] More tests on UBF.
5350
5351	[src/mpfr-impl.h] UBF: reordered macro definitions.
5352
5353	[src]
5354	  * mpfr-impl.h: define MPFR_UBF_GET_EXP macro.
5355	  * add1.c, sub1.c: use this macro.
5356
5357	[src/sub1.c] Detect an underflow case (before the main detection) to
5358	avoid a possible integer overflow with UBF.
5359
5360	[tests/tsub.c] Added comments.
5361
5362	[tests/tsub.c] First tests on UBF.
5363
5364	[src/agm.c] Avoid a potential integer overflow with huge precisions.
5365
53662020-03-16  Vincent Lef��vre  <vincent@vinc17.net>
5367
5368	[src/root.c] Removed useless cast in a comparison, as both operands are
5369	non-negative.
5370
5371	[src/rem1.c]
5372	  * Portability fix: when mpfr_exp_t <= long (which is the default),
5373	    an addition was done in unsigned integer arithmetic instead of
5374	    signed integer arithmetic, with a conversion back to a signed
5375	    type, i.e. with potentially implementation-defined behavior.
5376	    There could also be an integer overflow on huge-precision values
5377	    if mp_bitcnt_t > unsigned long.
5378	  * Updated a comment.
5379
5380	[src/pow.c]
5381	  * Portability fix: when mpfr_exp_t <= long (which is the default),
5382	    an addition with a negative result was done in unsigned integer
5383	    arithmetic instead of signed integer arithmetic, with a conversion
5384	    back to a signed type, i.e. with implementation-defined behavior.
5385	    There could also be an integer overflow on huge-precision values
5386	    if mp_bitcnt_t > unsigned long.
5387	  * Updated comments.
5388
5389	[src/cos.c] Updated a comment.
5390
5391	[src/cos.c] Updated a comment.
5392
5393	[src/const_log2.c] Corrected type for the return value of mpz_scan1.
5394
53952020-03-13  Vincent Lef��vre  <vincent@vinc17.net>
5396
5397	[tests/tests.c] Revert a change done in r13783 for function bad_cases():
5398	  no longer fail if a generated value does not correspond to a bad case.
5399	  But fail if the MPFR_CHECK_BADCASES environment variable is defined
5400	  and too few bad cases are generated (less than 90%).
5401	[doc/README.dev] Document MPFR_CHECK_BADCASES.
5402
5403	[tests] Update to test the ternary value in test5rm() when possible,
5404	and support the exact cases.
5405	  * tests.c:
5406	      - test5rm(): modified the prototype again and the behavior.
5407	        Now, either only one test is done and the ternary value is
5408	        not checked, or the test is done in the 5 rounding modes and
5409	        the ternary value is checked.
5410	      - data_check(): corresponding update; updated description.
5411	      - bad_cases(): test the exact cases too.
5412	  * tatanh.c: for the bad_cases() call, reduce emax to avoid errors in
5413	    the generation of bad cases due to the rounding of tanh(y) to 1,
5414	    which does not correspond to a bad case for atanh, but to an exact
5415	    case.
5416	  * tlog1p.c: for the bad_cases() call, reduce emax to avoid errors in
5417	    the generation of bad cases due to the rounding of expm1(y) to -1,
5418	    which does not correspond to a bad case for log1p, but to an exact
5419	    case.
5420	  * trec_sqrt.c: corrected the bad_cases() call to avoid negative
5421	    numbers.
5422	Note: the following tests
5423	  GMP_CHECK_RANDOMIZE=5 ./tacos
5424	  GMP_CHECK_RANDOMIZE=6 ./tatan
5425	  GMP_CHECK_RANDOMIZE=4 ./tcos
5426	currently fail, but because of a change in r13783 (see associated log
5427	for the reason). To be fixed later.
5428
5429	[tests/tests.c] Modified the prototype of test5rm() to support a
5430	parameter "exact". Therefore the parameter "test_one" is now a boolean
5431	(the value 2 is no longer supported, as redundant with "exact"), and
5432	about data_check() with rnd = '*', the loop is now done in test5rm(),
5433	i.e. test5rm() is called with test_one being false.
5434
54352020-03-12  Vincent Lef��vre  <vincent@vinc17.net>
5436
5437	[tests/tsqrt.c] For bad_cases(), use the same pos and psup parameters
5438	as in troot.c for "rootn[2]", allowing inexact cases.
5439
5440	[tests/tcbrt.c] For bad_cases(), use the same pos and psup parameters
5441	as in troot.c for "rootn[3]", allowing inexact cases.
5442
5443	[tests]
5444	  * tests.c, function bad_cases(): updated/added debug messages;
5445	    assume that the parameters are chosen in such a way that this
5446	    test always generates hard-to-round cases (including exact cases),
5447	    i.e. exit with an error if one does not get a bad case, otherwise
5448	    this can leave unexpected failures unnoticed (either due to a bug
5449	    in the MPFR library or due to poorly chosen parameters such as in
5450	    troot.c until now).
5451	    Note: ideally, this would require a proof, but it is better to get
5452	    (unlikely) spurious failures with a non-default GMP_CHECK_RANDOMIZE
5453	    value than missing important tests.
5454	  * troot.c, bad_cases() invocation:
5455	      - corrected the pos parameter: when n is even, it is useless to
5456	        generate a negative number as the function is not defined (the
5457	        inverse function generates a positive number, and the mismatch
5458	        now yields a failure due to the change in bad_cases); when n is
5459	        odd, generate as many negative numbers as positive ones.
5460	      - for n ��� 5, reduce the psup parameter in order to also generate
5461	        inexact cases, instead of always exact cases.
5462
5463	[tests/tests.c] Added a TODO for bad_cases, as the exact cases are not
5464	tested yet. As a consequence, the bad_cases test added in tcbrt.c r13776
5465	is not really useful yet, as the cbrt bad cases are only exact cases.
5466
5467	[tests/tests.c]
5468	  * test5rm: removed additional useless tests added in r6037 in the
5469	    case test_one true and rnd = MPFR_RNDZ or MPFR_RNDA, since the
5470	    description was a bit incorrect and this was used only by
5471	      - data/digamma, where this yielded only duplicate tests (mode *);
5472	      - data/li2, where mode z is used on a few tests and could be
5473	        replaced by mode Z (i.e. test_one false) if need be;
5474	    updated description and added details.
5475	  * data_check: corrected/updated description.
5476
5477	[tests/tests.c] Minor change in an initialization.
5478
5479	[tests/tget_set_{d64,d128}.c] Added a FIXME and improved a message.
5480
5481	[acinclude.m4] Added a FIXME: in case of cross-compiling, the guess
5482	"DPD" can be wrong, e.g. for the build with MinGW under Linux. One
5483	does not get a failure just because of other issues in the code,
5484	forcing the portable implementation of the decimal functions.
5485
54862020-03-11  Vincent Lef��vre  <vincent@vinc17.net>
5487
5488	Added bad_cases tests for mpfr_cbrt.
5489
5490	[src/cbrt.c] Improved the algorithm in the case the precision of the
5491	input is larger than 3n, where n is the precision of the output, + 1
5492	if the rounding mode is MPFR_RNDN: instead of truncating the output,
5493	call mpz_root on the truncated input.
5494
5495	[tests/tcbrt.c] Test the ternary value on other exact cases.
5496
5497	[tests/tcbrt.c] Test the ternary value on special cases.
5498
5499	[src/cbrt.c] Description of the algorithm: improvement; corrected the
5500	end, which was incorrect and did not match the code (the comment was
5501	introduced in r2057 and was already incorrect in the round-down case;
5502	then the round-to-nearest case was improved in r2070, but the comment
5503	was not updated).
5504
5505	[src/cbrt.c] Description of the algorithm: correction; added a TODO.
5506
55072020-03-10  Vincent Lef��vre  <vincent@vinc17.net>
5508
5509	[src/cbrt.c] Description of the algorithm: corrected indentation;
5510	renamed variable r to t in order to avoid confusion with the code
5511	(where r has a different meaning).
5512
5513	[src/cbrt.c] Clarified a comment.
5514
5515	[src/cbrt.c] Resolved the second FIXME and simplified the code
5516	(basically by removing duplicate code).
5517
5518	[src/cbrt.c] Description of the algorithm:
5519	  * Since there was no upper bound on s, let's remove the upper bound
5520	    on m (this now matches the code).
5521	  * Replaced the FIXME by one due to the lack of upper bound on s.
5522
5523	[src/cbrt.c] Added another FIXME as the code does not match the
5524	algorithm described in a comment.
5525
5526	[src/cbrt.c] Improved a condition to avoid operations that correspond
5527	to a no-op.
5528
5529	[src/cbrt.c] Added an assertion.
5530
5531	[src/cbrt.c] Code cleanup and simplification. Added logging messages and
5532	a FIXME about a comment (coming from r2057 with its associated code).
5533
5534	[src/cbrt.c] Removed a useless cast on a comparison operand, since
5535	both operands are non-negative.
5536
5537	[src/atan.c] Added assertions.
5538
5539	[tools/mpfrlint] Workaround to Debian bug 953369 in libpython3.8-minimal
5540	for the codespell invocation.
5541
55422020-03-09  Vincent Lef��vre  <vincent@vinc17.net>
5543
5544	[src/eint.c] Bug fix: possible integer overflow with some
5545	C implementations (or some _MPFR_PREC_FORMAT / _MPFR_EXP_FORMAT values)
5546	due to the use of incorrect integer types.
5547
5548	[src/eint.c] Added other logging messages.
5549
5550	[src/eint.c] Added some logging messages.
5551
55522020-03-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
5553
5554	[tests/tsin.c] added one test
5555
55562020-03-04  Vincent Lef��vre  <vincent@vinc17.net>
5557
5558	[src/sub1.c] cancel: also log its value; range checking/tracking.
5559
5560	[src/cmp2.c] Added a comment giving the range of the value returned
5561	in "cancel" and explaining why there is no integer overflow in the
5562	computation of this value.
5563
5564	[src/cmp2.c] Comment: some absolute values are not needed (again).
5565
5566	[src/cmp2.c] Minor correction for |EXP(b) - EXP(c)| >= MPFR_EXP_MAX.
5567
5568	[src/cmp2.c] Better explanation when |EXP(b) - EXP(c)| >= MPFR_EXP_MAX.
5569
55702020-03-03  Vincent Lef��vre  <vincent@vinc17.net>
5571
5572	[src/cmp2.c] Finished the review of mpfr_cmp2: simplified the code even
5573	more; corrected/updated comments (in the case high_dif = 0, one can have
5574	dif = 1 if c has entirely been taken into account, so that the comment
5575	"dif > 1 here" was incorrect; only dif >= 1 is needed anyway).
5576
5577	[src/cmp2.c] Changed high_dif to type int since it is manipulated like
5578	a boolean. Updated comments.
5579
55802020-03-02  Vincent Lef��vre  <vincent@vinc17.net>
5581
5582	[src/cmp2.c] Simplified the mpfr_cmp2 code and updated comments.
5583
5584	[src/cmp2.c] Updated comments.
5585
55862020-03-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
5587
5588	[src/mpfr.h] added comment
5589
55902020-03-02  Vincent Lef��vre  <vincent@vinc17.net>
5591
5592	[src/mpfr.h] _MPFR_PREC_FORMAT and _MPFR_EXP_FORMAT: improved comment.
5593
5594	[src/mpfr.h] _MPFR_PREC_FORMAT and _MPFR_EXP_FORMAT: added a detailed
5595	comment (the previous comment was not obsolete, but misleading).
5596
55972020-03-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
5598
5599	[src/mpfr.h] removed obsolete comment (_MPFR_PREC_FORMAT=3 is the default
5600		     under Linux x86_64)
5601
56022020-03-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
5603
5604	[src/sin.c] increase initial precision even more
5605
56062020-03-01  Vincent Lef��vre  <vincent@vinc17.net>
5607
5608	[tests/tpow.c] Replaced mpfr_cmp by !mpfr_equal_p for NaN detection.
5609
5610	[tests/tsin.c] Replaced obsolete function mpfr_mul_2exp by mpfr_mul_2ui.
5611
56122020-02-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
5613
5614	[src/sin.c] increase initial precision when x is large
5615
56162020-02-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
5617
5618	[src/rem1.c] workaround for efficiency bug in mpz_powm_ui, which was making
5619	argument reduction in mpfr_sin for huge x very slow.
5620
5621	Before:
5622	$ ./mfv5 -p113 -e16384 -d-2 mpfr_sin
5623	 mpfr_sin:	 3289620 / 3576511.59 / 6841956
5624
5625	After this commit:
5626	 mpfr_sin:	 166868 / 182661.01 / 343224
5627
56282020-02-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
5629
5630	[tests/tpow.c] added one test
5631
5632	added value -2 for option -d to generate random number with exponent
5633	exactly e. Example:
5634	$ mfv5 -p113 -e16384 -d-2 -v mpfr_sin
5635
56362020-02-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
5637
5638	[tests/tpow.c] added a test
5639
5640	[tests/tsin.c] fixed and completed check_binary128()
5641
56422020-02-28  Vincent Lef��vre  <vincent@vinc17.net>
5643
5644	[src/cmp2.c] Started to review mpfr_cmp2. Minor changes.
5645
5646	[src/cmp2.c] Detailed a comment concerning UBF.
5647
56482020-02-27  Vincent Lef��vre  <vincent@vinc17.net>
5649
5650	[tests/tsin.c] Cleanup of the latest test (note: mpfr_equal_p is better
5651	than mpfr_cmp as it makes the test fail on a NaN result).
5652
56532020-02-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
5654
5655	[tests/tsin.c] added one test with precision 128
5656
56572020-02-27  Vincent Lef��vre  <vincent@vinc17.net>
5658
5659	[src/mpfr.h] Updated a comment (underscore version of attribute name).
5660
5661	[tools/mpfrlint] Detect the use of the non-underscore version of the
5662	attribute names in mpfr.h (see README.dev).
5663
56642020-02-25  Vincent Lef��vre  <vincent@vinc17.net>
5665
5666	[src/mpfr.h] Use the underscore version of the attribute names.
5667	[doc/README.dev] Added information on this subject.
5668
5669	[TODO] Added item on GNU Automake and -I options.
5670
56712020-02-14  Vincent Lef��vre  <vincent@vinc17.net>
5672
5673	[src/mpfr-impl.h] Removed an incorrect comment before MPFR_TMP_INIT1
5674	(this macro does not allocate anything, and MPFR_TMP_INIT just after
5675	can allocate more than 1 limb).
5676
5677	[TODO] About the use of MPFR_MANT(x).
5678
56792020-02-13  Vincent Lef��vre  <vincent@vinc17.net>
5680
5681	[TODO] Typo.
5682
56832020-02-12  Vincent Lef��vre  <vincent@vinc17.net>
5684
5685	[tests/tcmpabs.c] Added missing tests of mpfr_cmpabs with NaN.
5686
5687	[tests/tcmpabs.c] For mpfr_cmpabs: like mpfr_cmpabs_ui, do each test
5688	in 4 different contexts, combinations of:
5689	  * flags all unset or flags all set;
5690	  * usual exponent range or reduced exponent range.
5691	Minor corrections in the old tests.
5692
5693	[tests/tcmpabs.c] For mpfr_cmpabs_ui: do each test in 4 different
5694	contexts, combinations of:
5695	  * flags all unset or flags all set;
5696	  * usual exponent range or reduced exponent range.
5697
56982020-02-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
5699
5700	[tests/tcmpabs.c] added tests for mpfr_cmpabs_ui
5701
57022020-02-12  Vincent Lef��vre  <vincent@vinc17.net>
5703
5704	[src/mpfr-impl.h]
5705	  * MPFR_ALIAS: use the comma operator instead of "do ... while (0)"
5706	    so that this macro can be used in an expression context.
5707	  * MPFR_TMP_INIT_ABS, MPFR_TMP_INIT_NEG: use MPFR_ALIAS.
5708
5709	[src/mpfr.h] Added prototype for mpfr_cmpabs_ui.
5710
5711	[doc/mpfr.texi] Added mpfr_cmpabs_ui to Section "Added Functions"
5712	(API Compatibility).
5713
5714	[tests/trint.c] Replaced obsolete mpfr_cmp_abs by mpfr_cmpabs.
5715
5716	[doc/mpfr.texi] Typo from r13708.
5717
57182020-02-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
5719
5720	[NEWS] mention new mpfr_cmpabs_ui
5721
5722	added new function mpfr_cmpabs_ui
5723
5724	renamed cmp_abs.c to cmpabs.c
5725
57262020-02-12  Vincent Lef��vre  <vincent@vinc17.net>
5727
5728	[TODO] Typo.
5729
5730	[TODO] + Serialization / Deserialization (suggested by Fr��d��ric P��trot).
5731	I've also added an idea of implementation to reuse most of the code and
5732	change very little.
5733
5734	[src/ubf.c]
5735	  * Optimized mpfr_init_get_zexp() for _MPFR_EXP_FORMAT <= 3
5736	    (as in the default configuration).
5737	  * Updated comments.
5738
5739	[src/mpfr-impl.h] Added UBF-related comments.
5740
5741	[src/mpfr-impl.h] Added UBF-related comments.
5742
5743	[src/mpfr-impl.h] Added a comment for UBF and types.
5744
57452020-02-11  Vincent Lef��vre  <vincent@vinc17.net>
5746
5747	[src/mpfr-impl.h] Added a comment for INEXPOS.
5748
5749	[src/mpfr-impl.h] INEXPOS and VSIGN code improvement.
5750
5751	Removed duplicate macro definitions.
5752
5753	[tests/tfmma.c] Use mpfr_set_str instead of mpfr_set_d.
5754
5755	[src/sub1.c] Got rid of some goto's. Added log messages.
5756
57572020-02-10  Vincent Lef��vre  <vincent@vinc17.net>
5758
5759	[src/sub1.c] Bug fix: the underflow case (possible with UBF, e.g. via
5760	mpfr_fmma or mpfr_fmms) was not tested in the case c small.
5761	Note: this completes r11418 and r12752 for underflow detection.
5762
5763	[src/sub1.c] Added log messages and checked the UBF cases yielding
5764	exp_b == MPFR_EXP_MAX and/or diff_exp == MPFR_EXP_MAX.
5765
57662020-02-08  Vincent Lef��vre  <vincent@vinc17.net>
5767
5768	[src/vasprintf.c] Added log messages for MPFR_PREC_ARG ('P' specifier).
5769
5770	[tests/tsprintf.c] Fixed some tests: the 'P' specifier was missing.
5771
57722020-02-06  Vincent Lef��vre  <vincent@vinc17.net>
5773
5774	[src/fmma.c] Reverted the mpfr_check_range from r13688.
5775	The exponent range has not been extended by mpfr_fmma_aux, and the
5776	result comes from mpfr_add, mpfr_sub, or mpfr_set_1_2, which return
5777	results in the current range. If the result of mpfr_fmma_aux is not
5778	in the current range, this is due to a bug in one of these functions.
5779	Note: mpfr_add and mpfr_sub accept UBF inputs.
5780
57812020-02-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
5782
5783	[src/fmma.c] fixed bug (result might be out of exponent range)
5784	[tests/tfmma.c] added non-regression test
5785
57862020-02-03  Vincent Lef��vre  <vincent@vinc17.net>
5787
5788	[doc/mpfr.texi] Updated the month.
5789
5790	[doc/mpfr.texi] In the paragraph "MPFR internal data such as flags",
5791	no longer mention caches as caches may now also be global when MPFR
5792	has been compiled as thread safe (locking is used). Caches have been
5793	discussed earlier in the section anyway.
5794
57952020-01-23  Vincent Lef��vre  <vincent@vinc17.net>
5796
5797	[INSTALL] URL update.
5798
57992020-01-20  Vincent Lef��vre  <vincent@vinc17.net>
5800
5801	ChangeLog update with "LC_ALL=en_US.UTF8 TZ=UTC svn log -rHEAD:0 -v".
5802
5803	[tests/Makefile.am] Updated a comment; in particular, replaced the two
5804	obsolete gmane.org URLs by lists.gnu.org/archive/html/bug-gnulib ones.
5805
5806	[INSTALL] Removed reference to a gmane.org URL, which no longer exists.
5807
58082020-01-16  Vincent Lef��vre  <vincent@vinc17.net>
5809
5810	[src/beta.c,tests/ttanh.c] towards ��� toward (for consistency).
5811
58122020-01-10  Vincent Lef��vre  <vincent@vinc17.net>
5813
5814	[tests/{tfprintf.c,tprintf.c}] Updated an error message about MinGW,
5815	now output only if MinGW is used.
5816
5817	[doc/README.dev] Concerning MinGW, added a sentence about the use of
5818	the __USE_MINGW_ANSI_STDIO macro, confirming the existing note.
5819
5820	[TODO] Removed obsolete item on MinGW and -D__USE_MINGW_ANSI_STDIO.
5821
5822	[INSTALL] Update concerning MinGW and the __USE_MINGW_ANSI_STDIO macro.
5823
5824	[doc/mpfr.texi] Updated mpfr_get_str documentation, correcting r13666
5825	(we still need the extra two bytes and to take -@Inf@ into account).
5826
58272020-01-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
5828
5829	[mpfr.texi] fixed out-dated documentation for mpfr_get_str
5830
58312020-01-09  Vincent Lef��vre  <vincent@vinc17.net>
5832
5833	[doc/README.dev] In the latest update, forgot to remove the CC=...
5834
5835	[doc/README.dev] Update about the test under Wine.
5836
5837	[acinclude.m4,configure.ac]
5838	  * Moved the code that tries to determine the format of double from
5839	    configure.ac to acinclude.m4 in MPFR_CONFIGS (as required), just
5840	    before the one for long double.
5841	  * Added a FIXME comment: This code uses AC_RUN_IFELSE, which cannot
5842	    run the test when cross-compiling; use a test like for long double
5843	    instead.
5844
5845	[acinclude.m4] English usage.
5846
5847	[acinclude.m4] Updated messages about the format of "long double".
5848	[configure.ac] Ditto for "double". Added missing AC_MSG_RESULT.
5849
5850	[tests/tversion.c] Updated/fixed an output line to match the other ones.
5851
5852	[tests/tsprintf.c] Added tests for %Ra and %Rb on the value 0 with an
5853	empty precision field.
5854
5855	[src/vasprintf.c] Fixed output precision bug with decimal output
5856	(i.e. e, f and g conversion specifiers) and an empty precision field
5857	on the value 0.
5858
5859	[tests/tsprintf.c] Also added tests with %Rf, %Rg and %#Rg on 0.
5860
5861	[tests/tsprintf.c] Added a test with %Re and an empty precision field
5862	on the value 0; it currently fails.
5863
58642020-01-08  Vincent Lef��vre  <vincent@vinc17.net>
5865
5866	[tools/ck-copyright-notice] Added a note about the mpfr.pc.in file.
5867
5868	Copyright notice update: added 2020 with
5869	  perl -pi -e 's/ (\d{4}-)?(2019)(?= Free Software)/
5870	               " ".($1||"$2-").($2+1)/e' **/*(^/)
5871	under zsh. Removed 2019 from the example in the doc/README.dev file.
5872
5873	[TODO] + base conversion with the round-trip property using a minimal
5874	precision, such as the to_chars functions from the C++ standard.
5875
5876	[doc/mpfr.texi] Updated the month.
5877
5878	[doc/mpfr.texi] Formatted output: improved the text concerning the
5879	empty precision field, i.e. focus on the chosen precision rather
5880	than the round-trip property (as the rounding mode is not necessarily
5881	to nearest).
5882
5883	[doc/mpfr.texi] Formatted output with %Re (empty precision field):
5884	added a reference to mpfr_get_str_ndigits.
5885
5886	[src/vasprintf.c] Simplified the conditions under which trailing zeros
5887	are kept (the spec_g variable is no longer needed as a consequence).
5888
5889	[tests/tsprintf.c] Re-added tests changed by r13644 and r13645, but
5890	with a variable of smaller precision in order to get the same output
5891	as before.
5892
5893	[tests/tsprintf.c] Updated other two tests (in da_DK locale).
5894
58952020-01-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
5896
5897	fixed tests for new more precise semantics for mpfr_printf ("%Re", x),
5898	and documented it
5899
5900	[src/vasprintf.c] tentative fix so that mpfr_printf ("%.Re", x) prints a number
5901			  of decimal digits independent from x
5902
59032019-12-24  Vincent Lef��vre  <vincent@vinc17.net>
5904
5905	[INSTALL,doc/mpfr.texi] Typography.
5906
59072019-10-10  Vincent Lef��vre  <vincent@vinc17.net>
5908
5909	[doc/algorithms.tex] Ulp calculus: put the old Rule 8 just after Rule 2,
5910	as the old Rule 3 (now Rule 4) uses it directly (proof updated).
5911
5912	[doc/algorithms.tex] Ulp calculus: simplified the proof of Rule 8.
5913
5914	[doc/algorithms.tex] Ulp calculus Rule 3: missing absolute values in
5915	the proof.
5916
5917	[doc/algorithms.tex] Actually assume that no underflows nor overflows
5918	occur for the whole section "Error calculus".
5919
5920	[doc/algorithms.tex] Ulp calculus Rule 6: corrected it (we need to
5921	assume no underflows nor overflows) and its proof, and generalized
5922	it with absolute values (like in the previous rules).
5923
59242019-10-07  Vincent Lef��vre  <vincent@vinc17.net>
5925
5926	[doc/algorithms.tex] Ulp calculus Rule 3: more powerful result and
5927	much simpler proof.
5928
5929	[doc/algorithms.tex] Section 2 (Error calculus): When n was a precision,
5930	replaced it by p as this is the usual notation (see Section 1) and n
5931	sometimes had a double meaning.
5932
59332019-10-04  Vincent Lef��vre  <vincent@vinc17.net>
5934
5935	[tests/tcmp_ui.c] Updated comment: this is a bug in Clang 9.
5936
5937	[tests/tcmp_ui.c] Added a comment: failure of a test with the
5938	clang-9 1:9-1 Debian package.
5939
59402019-10-01  Vincent Lef��vre  <vincent@vinc17.net>
5941
5942	Clean-up concerning the tests of subnormals for double and float.
5943	  * acinclude.m4: renamed variables
5944	      mpfr_cv_have_denorms_flt to mpfr_cv_have_subnorm_flt
5945	      mpfr_cv_have_denorms     to mpfr_cv_have_subnorm_dbl
5946	    and improved messages.
5947	  * acinclude.m4, tests/tget_flt.c: renamed macro
5948	      HAVE_DENORMS_FLT to HAVE_SUBNORM_FLT
5949	  * acinclude.m4, tests/{tests.c,tset_d.c,tsprintf.c}: renamed macro
5950	      HAVE_DENORMS     to HAVE_SUBNORM_DBL
5951	  * doc/README.dev: updated / completed the corresponding documentation.
5952	  * tests/tget_d.c: renamed function check_denorms to check_subnorm.
5953
5954	[acinclude.m4] Updated comment about the tests for subnormal numbers.
5955
5956	[acinclude.m4] Added a comment about the tests for subnormal numbers.
5957
59582019-09-24  Vincent Lef��vre  <vincent@vinc17.net>
5959
5960	[doc/Makefile.am] Added missing texinfo.tex prerequisite.
5961
59622019-09-16  Vincent Lef��vre  <vincent@vinc17.net>
5963
5964	[tests] Added FIXME comment in tfprintf.c, tout_str.c and tprintf.c:
5965	The output is not tested (thus coverage data are meaningless).
5966
59672019-09-10  Vincent Lef��vre  <vincent@vinc17.net>
5968
5969	[src/{add1sp.c,sub1sp.c}] Get rid of useless goto's.
5970
59712019-09-06  Vincent Lef��vre  <vincent@vinc17.net>
5972
5973	[doc/mpfr.texi] Updated the month.
5974
5975	[src/hypot.c] Replaced a TODO by a FIXME.
5976
5977	The mpfr_out_str function now accepts bases from -2 to -36, in order to
5978	follow mpfr_get_str and GMP's mpf_out_str functions.
5979
5980	[doc/mpfr.texi] Changed an incorrect use of @xref, which must always
5981	occur at the beginning of a sentence (use "see @ref{...}" instead).
5982
5983	[doc/mpfr.texi] At the end of "Arithmetic Functions", added a sentence
5984	referencing the power functions (since x^n is an arithmetic function).
5985
59862019-09-05  Vincent Lef��vre  <vincent@vinc17.net>
5987
5988	[doc/mpfr.texi] Removed the useless "Float ..." index entries.
5989
5990	[doc/mpfr.texi] Moved the mpfr_pow class of functions from
5991	"Arithmetic Functions" to "Transcendental Functions".
5992
5993	[doc/mpfr.texi] Added "Float transcendental functions" to the index
5994	for consistency ("transcendental functions" implies floating point,
5995	but the user should expect to find it with the other index terms
5996	starting with "Float").
5997
5998	[doc/mpfr.texi] Renamed "Basic Arithmetic Functions" to just
5999	"Arithmetic Functions".
6000
6001	[doc/mpfr.texi] Transcendental functions: added a sentence to the
6002	important note (about cases theoretically very hard to round).
6003
6004	[doc/mpfr.texi] Renamed Section "Special Functions" to
6005	"Transcendental Functions" (as after changes in r13605 and r13606,
6006	it now contains only the transcendental functions), and slightly
6007	rewrote its important note.
6008
6009	[doc/mpfr.texi] Moved mpfr_free_cache, mpfr_free_cache2, mpfr_free_pool
6010	and mpfr_mp_memory_cleanup from "Special Functions" to a new section
6011	"Memory Handling Functions".
6012
6013	[doc/mpfr.texi]
6014	  * Moved mpfr_fac_ui, mpfr_fma, mpfr_fms, mpfr_fmma, mpfr_fmms,
6015	    mpfr_hypot, mpfr_sum and mpfr_dot from "Special Functions" to
6016	    "Basic Arithmetic Functions" (as these are functions based on
6017	    +, -, *, / and roots).
6018	  * Added a FIXME for mpfr_pow: does this function really belong
6019	    to "Basic Arithmetic Functions"?
6020
6021	[doc/mpfr.texi] Improved warning about huge precisions.
6022
6023	[src/mul.c] For the --enable-assert=full test, also test the flags
6024	(like what has been done for mpfr_add1sp and mpfr_sub1sp).
6025
6026	[src/sub1sp.c] For the --enable-assert=full test, improved output of
6027	ternary value and flags, like in r13582 for mpfr_add1sp.
6028
6029	[src/add1sp.c] Cosmetic change (consistent ordering).
6030
60312019-09-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
6032
6033	[tests/tsub1sp.c] added non-regression test for bug in mpfr_sub1sp2n
6034	[src/sub1sp.c] fixed that bug
6035
60362019-09-04  Vincent Lef��vre  <vincent@vinc17.net>
6037
6038	[acinclude.m4] Fixed MPFR_C_LONG_DOUBLE_FORMAT macro for MS-Windows.
6039
6040	[NEWS] More details about mpfr_add and mpfr_sub.
6041
60422019-09-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
6043
6044	[NEWS] mention that mpfr_sub was also improved for 128 bits
6045
6046	[NEWS] coverage improved to 98.6% on x86_64
6047
6048	[tests/tadd1sp.c] improve coverage
6049
60502019-09-04  Vincent Lef��vre  <vincent@vinc17.net>
6051
6052	[acinclude.m4] Fixed MPFR_C_LONG_DOUBLE_FORMAT macro: the patch had
6053	a spurious ";" at the end of conftest.c, which made its compilation
6054	fail with -pedantic -Werror (using gcc or clang).
6055
60562019-09-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
6057
6058	[src/sub1sp.c] rewrote mpfr_sub1sp2n (inspired from mpfr_sub1sp1n)
6059
60602019-09-04  Vincent Lef��vre  <vincent@vinc17.net>
6061
6062	[acinclude.m4] Updated MPFR_C_LONG_DOUBLE_FORMAT to support compilation
6063	with GCC's and clang's LTO (-flto). This new test is inspired by the one
6064	used by GMP for the double type.
6065	Thanks to Paul Mulders for a preliminary version of the patch for MPFR.
6066
60672019-09-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
6068
6069	[src/sub1sp.c] added new function mpfr_sub1sp2n for p = 2*GMP_NUMB_BITS
6070		       (still to be tested)
6071
60722019-09-03  Vincent Lef��vre  <vincent@vinc17.net>
6073
6074	[tests/tadd1sp.c] bug20190903:
6075	  * Fixed the second test for GMP_NUMB_BITS != 64.
6076	  * Updated comments.
6077
60782019-09-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
6079
6080	[src/add1sp.c] improved comment
6081
60822019-09-03  Vincent Lef��vre  <vincent@vinc17.net>
6083
6084	[src/add1sp.c] mpfr_add1sp2n: improved a comment.
6085
6086	[src/add1sp.c] Fixed the bug.
6087
6088	[tests/tadd1sp.c] bug20190903: do the second test in MPFR_RNDU too.
6089
6090	[tests/tadd1sp.c] bug20190903: in the second test, check the mpfr_t
6091	value, the ternary value and the flags, in order to get a failure
6092	even without "--enable-assert=full".
6093
6094	[tests/tadd1sp.c] When testing mpfr_add, use a wrapper mpfr_add_cf
6095	that calls mpfr_clear_flags first, so that if --enable-assert=full
6096	is used, the flags can be better checked too (and automatically).
6097	Now tadd1sp outputs with --enable-assert=full, as wanted:
6098	  add1  : ternary = -1, flags = inexact (8)
6099	  add1sp: ternary =  0, flags = none (0)
6100
6101	[src]
6102	  * exceptions.c: define flags_fout if MPFR_WANT_ASSERT >= 2, i.e. with
6103	    --enable-assert=full (for better flags output in add1sp.c, etc.).
6104	  * mpfr-impl.h: declare flags_fout if MPFR_WANT_ASSERT >= 2.
6105	  * add1sp.c: improve output of ternary value and flags.
6106
6107	[tests/tadd1sp.c] Updated comments of bug20190903.
6108
6109	[tests/tadd1sp.c] Added a test that triggers a bug in mpfr_add1sp2n
6110	(corresponding to the FIXME), yielding a failure with
6111	"--enable-assert=full".
6112	Note 1: The computed values are equal (with MPFR_RNDN), but one gets
6113	  Inexact sp = 0 | Inexact = -1
6114	  Flags sp = 10 | Flags = 10
6115	Note 2: The fact that the flags do not match the ternary value in the
6116	error message is due to a missing mpfr_clear_flags in the test.
6117
6118	[src/add1sp.c] mpfr_add1sp2n:
6119	  * Code refactoring, eliminating the unnecessary goto's.
6120	  * In the d >= 2 * GMP_NUMB_BITS case, use a single test for rb and sb.
6121	  * Improved code consistency.
6122	  * Added a FIXME about suspicious code. ��� Find a failing test and fix
6123	    the code, or explain the code if it is correct.
6124
61252019-09-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
6126
6127	[src/add1sp.c] fix for bug20190903
6128
61292019-09-03  Vincent Lef��vre  <vincent@vinc17.net>
6130
6131	[src/add1sp.c] Corrected a comment.
6132
6133	[tests/tadd1sp.c] More random tests in the special precisions
6134	GMP_NUMB_BITS and 2 * GMP_NUMB_BITS (but they don't trigger
6135	the bug due to r13574).
6136
6137	[tests/tadd1sp.c] Added testcase for bug due to r13574 (found with
6138	the other test programs, using --enable-assert=full).
6139
61402019-09-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
6141
6142	[src/add1sp.c] added mpfr_add1sp2n for 128-bit precision (with 64-bit limb)
6143
61442019-09-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
6145
6146	[src/sub1sp1_extracted.c] replace hard-coded bounds by emin/emax
6147
6148	added sub1sp1_extracted.c (not ready yet)
6149
61502019-08-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
6151
6152	added github source for Jianyang Pan formal proof
6153
61542019-08-21  Vincent Lef��vre  <vincent@vinc17.net>
6155
6156	[tests/mpfr-test.h] At the end, with GCC, undef volatile if defined.
6157	Explanations:
6158	  With GCC, a macro "volatile" can be defined to test some special code
6159	  in mpfr-impl.h (code for compilers that define such a macro), but the
6160	  volatile keyword is necessary in some tests to avoid some GCC bugs.
6161	  Thus we need to undef this macro (if defined). We do that at the end,
6162	  so that mpfr-impl.h (included earlier) is not affected by this undef.
6163
6164	[tests/tget_set_d128.c] Updated a test with a non-canonical encoding:
6165	  * More meaningful name ("noncanonical" instead of "coverage").
6166	  * Output details in case of failure.
6167	  * Avoid GCC bug 91226: wrong propagation of non-canonical _Decimal64
6168	    and _Decimal128 constant (BID only).
6169
61702019-08-20  Vincent Lef��vre  <vincent@vinc17.net>
6171
6172	[doc/README.dev] Update concerning the "decimal-point character".
6173
6174	[doc/mpfr.texi] Changed "decimal point" to "decimal-point character",
6175	which is the term used in the ISO C standard. This is better as this
6176	character is also used with non-decimal bases: "decimal-point" is
6177	just the name of this character (as initially defined for base 10)
6178	and does not imply a number written in decimal.
6179
6180	[doc/mpfr.texi] Compatibility With MPF: added an item on the difference
6181	of the output format between mpf_out_str and mpfr_out_str.
6182
6183	[doc/mpfr.texi] Rewrote and completed the mpfr_out_str description.
6184
61852019-08-20  Vincent Lef��vre  <vincent@vinc17.net>
6186
6187	[src/out_str.c] Fixed bug in mpfr_out_str: When the exponent of the
6188	converted value is 0, it was not output, contrary to what is described
6189	in the MPFR manual. Note that this does not change the value of the
6190	printed string, so that this has no effect on applications that just
6191	re-read the value (with MPFR or another code).
6192	This was regarded as a bug rather than an error in the documentation,
6193	thus the output now looks more similar to what printf with %e yields;
6194	the GMP function mpf_out_str also outputs the exponent 0.
6195	Short discussion:
6196	  https://sympa.inria.fr/sympa/arc/mpfr/2019-08/msg00012.html
6197
6198	Note: The tests still pass, as this function is currently not really
6199	tested.
6200
62012019-08-14  Vincent Lef��vre  <vincent@vinc17.net>
6202
6203	[INSTALL] Update/corrections about MinGW and __USE_MINGW_ANSI_STDIO.
6204
6205	[tests/tversion.c] When building with MinGW, output a line about it:
6206	MinGW32 / MinGW64, and the __USE_MINGW_ANSI_STDIO definition.
6207
6208	[src/set_d128.c] Moved a definition under the #if where it is used.
6209
62102019-08-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
6211
6212	improve INSTALL (feedback from sisyphus <sisyphus359@gmail.com>)
6213
62142019-08-12  Vincent Lef��vre  <vincent@vinc17.net>
6215
6216	[doc/mpfr.texi] Added a FIXME for mpfr_out_str about the exponent 0.
6217
6218	[doc/mpfr.texi] About mpfr_get_str / mpfr_out_str:
6219	  * In the mpfr_get_str description, changed argument "b" to "base" for
6220	    consistency with similar functions (now, only mpfr_get_str_ndigits
6221	    has b as this looks better in the formula). Also added a link to
6222	    mpfr_get_str_ndigits.
6223	  * In the mpfr_out_str description, replaced the ambiguous and even
6224	    incorrect sentence "enough digits so that op can be read back
6225	    exactly" (issues with trailing zeros and with the directed rounding
6226	    modes) by text similar to the one in the mpfr_get_str description
6227	    (keeping the reference to mpfr_get_str).
6228
6229	[src/out_str.c] Coding style (e is not a boolean).
6230
62312019-08-09  Vincent Lef��vre  <vincent@vinc17.net>
6232
6233	[tests/tout_str.c] Use mpfr_print_rnd_mode in a message.
6234
6235	[tests/tout_str.c] Code simplification: a test from r1888 on a
6236	random value was unnecessary (the log message of r1888 did not
6237	even correspond to the change).
6238
6239	[tests/tout_str.c] GNU coding style.
6240
6241	[tests/tout_str.c] Added missing newline characters in the output
6242	after calls to mpfr_out_str.
6243
6244	[tests/tout_str.c] By default, output the results to a file instead of
6245	/dev/null (this was already done only if opening /dev/null failed), so
6246	that they can be checked later. Fixed 2 issues at the same time:
6247	  * Do not close stdout (when an argument was provided).
6248	  * Remove the file at the end.
6249
6250	[tests/tfpif.c] GNU coding style.
6251
6252	[tests/tfpif.c] Added a comment about the use of perror.
6253
6254	[tests/tfpif.c] Also check fclose failure when the file has been opened
6255	for writing (typically an error in case the buffer cannot be written to
6256	the file). Call perror after all fopen/src_fopen/fclose failures to get
6257	the reason of the failure.
6258
6259	[tests/tfpif.c] In case of failure of fopen or src_fopen, write the
6260	error message on stderr (as one should do for errors not directly
6261	related to the tests, such as memory allocation and I/O errors).
6262	Also improved the error messages and made them consistent.
6263
62642019-08-06  Vincent Lef��vre  <vincent@vinc17.net>
6265
6266	[doc/mpfr.texi] Updated the month.
6267
62682019-08-05  Vincent Lef��vre  <vincent@vinc17.net>
6269
6270	[doc/mpfr.texi] Improved consistency with @item.
6271
62722019-08-02  Vincent Lef��vre  <vincent@vinc17.net>
6273
6274	For Makefile.am and each one in SUBDIRS, added the .POSIX target to
6275	select the POSIX behavior (since we do not require GNU "make").
6276	See: https://sympa.inria.fr/sympa/arc/mpfr/2019-08/msg00005.html
6277
6278	[tools/get_patches.sh] Fixed change in r13543 (the contents of PATCHES
6279	should still be written as a list of words separated by a space).
6280
6281	Fixed src/get_patches.c generation that was changed in r13542.
6282	  * src/Makefile.am, tools/get_patches.sh: since get_patches.sh is
6283	    no longer run from $(top_srcdir), the PATCHES absolute pathname
6284	    now needs to be passed in argument.
6285	  * src/Makefile.am: fixed the get_patches.c rule (the automatic
6286	    variable $< was used with the meaning "first prerequisite" of
6287	    GNU Make; an "exit 1" was missing, so that a failure did not
6288	    abort "make" immediately).
6289	  * tools/get_patches.sh: detect errors with "set -e".
6290
62912019-07-31  Vincent Lef��vre  <vincent@vinc17.net>
6292
6293	[src/Makefile.am] Define get_patches.c as a built source to avoid a
6294	non-portable make rule ("/" character in target), causing an error
6295	in FreeBSD with its "make" command. This change should be OK as the
6296	get_patches.sh script that generates get_patches.c is very simple
6297	and portable. As a consequence, put get_patches.c in CLEANFILES.
6298	See:
6299	  https://sympa.inria.fr/sympa/arc/mpfr/2019-07/msg00003.html
6300
6301	[Makefile.am] Fixed dist-hook for ck-mparam, which was run from a
6302	read-only directory with "make distcheck" while a temporary file
6303	is created in the current directory, yielding a failure (ck-mparam
6304	has been run in dist-hook since r12533 on 2018-04-03).
6305
6306	[tools/ck-mparam] Updated comment to warn that the source tree that is
6307	checked is the one that contains this script, not the one corresponding
6308	to the current working directory (the rule for the other scripts in the
6309	tools directory is currently different).
6310
6311	[tools/ck-mparam] This script can now be run from any directory (which
6312	must still be writable). This change has been done to be able to run
6313	it from the build directory, as if it is run via "make distcheck" and
6314	a dist-hook rule, then neither the top-level directory nor the tools
6315	directory is writable.
6316
63172019-07-23  Vincent Lef��vre  <vincent@vinc17.net>
6318
6319	[tests/tget_set_d64.c] Updated comment (only the x86 and x86_64 targets
6320	are affected).
6321
6322	[tests/tget_set_d64.c] Improved a comment.
6323
63242019-07-22  Vincent Lef��vre  <vincent@vinc17.net>
6325
6326	[tests/tget_set_d64.c] Avoid GCC bug 91226: wrong propagation of
6327	non-canonical _Decimal64 constant.
6328
6329	[src/set_d64.c] In decimal64_to_string, log the memory representation
6330	of the _Decimal64 argument.
6331
6332	[src/set_d64.c] In decimal64_to_string, log the various fields of the
6333	_Decimal64 argument whose memory data is regarded as a double (as this
6334	is the current implementation of this function).
6335
6336	[tests/tget_set_d64.c] More output details in the noncanonical test.
6337
6338	[tests/tget_set_d64.c] Improved the noncanonical test, but this does not
6339	solve the failure with gcc-snapshot.
6340
6341	[tests/tget_set_d64.c] More meaningful name of a test with a
6342	non-canonical encoding and more details (fails with Debian's
6343	gcc-snapshot 10.0.0 20190718, trunk revision 273586).
6344
63452019-07-12  Vincent Lef��vre  <vincent@vinc17.net>
6346
6347	[doc/README.dev] "To make a release": mention -Wsuggest-attribute=...
6348	options (but mpfr.h first needs some macros like __MPFR_SENTINEL_ATTR).
6349
6350	Renamed MPFR_CONST_ATTR macro to MPFR_CONST_FUNCTION_ATTR in order to be
6351	similar to the MPFR_{PURE,HOT,COLD}_FUNCTION_ATTR macro names.
6352
63532019-07-10  Vincent Lef��vre  <vincent@vinc17.net>
6354
6355	[doc/README.dev] Update concerning the MPFR manual:
6356	  * Updated information about the papersize issues (should be fixed,
6357	    but manual checking is recommended).
6358	  * Detailed English typography.
6359	  * Removed mention of the old texinfo bug 33329 (Debian bug 583558).
6360
63612019-07-08  Vincent Lef��vre  <vincent@vinc17.net>
6362
6363	[codespell.*] Update for codespell 1.15.0.
6364
6365	Fixed spelling mistakes found by codespell 1.15.0.
6366
63672019-07-06  Vincent Lef��vre  <vincent@vinc17.net>
6368
6369	[acinclude.m4] Added missing "const" qualifier to "char *" in a test;
6370	needed with GCC's "-Wwrite-strings -Werror".
6371
63722019-07-02  Vincent Lef��vre  <vincent@vinc17.net>
6373
6374	[src/mpfr-impl.h] MPFR_GROUP_* macros / mpfr_group_t structure: when
6375	MPFR_GROUP_STATIC_SIZE is 0 (for testing), use a flexible array member
6376	(ISO C99) instead of a zero-length array (GNU extension, forbidden in
6377	ISO C).
6378
6379	[tests/*.c] Added missing "const" qualifier to "char *" when this
6380	involves string literals (detected by using GCC's -Wwrite-strings
6381	option, via the default -Wdiscarded-qualifiers warning).
6382
63832019-07-01  Vincent Lef��vre  <vincent@vinc17.net>
6384
6385	[acinclude.m4,configure.ac] MPFR_C_LONG_DOUBLE_FORMAT: also detect
6386	clang's LTO.
6387	Note: no longer use $FGREP (see r13513) as its status is unclear on
6388	non-POSIX systems (though very probably available when $EGREP is).
6389
6390	[acinclude.m4,configure.ac] For MPFR_C_LONG_DOUBLE_FORMAT, when the
6391	format is unknown and it is detected that LTO has been used, output
6392	"recognition prevented by LTO".
6393	Note: at the same time, since AC_PROG_FGREP was needed, replaced
6394	$EGREP by $FGREP when applicable.
6395
6396	[acinclude.m4] MPFR_C_LONG_DOUBLE_FORMAT: improved comment and added a
6397	warning saying that this does not work with GCC's LTO (gcc -flto ...).
6398
63992019-06-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
6400
6401	[src/sub1sp.c] simplified code of sub1sp1 for bx = cx
6402
64032019-06-06  Vincent Lef��vre  <vincent@vinc17.net>
6404
6405	[src/sub1sp.c] About r13506-13509 and optimization: added a comment
6406	about Clang after some tests (without giving details, as in practice,
6407	this is more complex... but this is the general idea).
6408
64092019-06-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
6410
6411	[src/sub1sp.c] fixed typo
6412
64132019-06-06  Vincent Lef��vre  <vincent@vinc17.net>
6414
6415	[src/sub1sp.c] Added reference to GCC PR30315 about a misoptimization
6416	on x86/x86_64 (see r13506 and r13507).
6417
6418	[src/sub1sp.c] Completed r13506: added MPFR_ASSERTD to justify the
6419	new code and give more information to the compiler; added comments
6420	about this optimization issue.
6421
64222019-06-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
6423
6424	[src/sub1sp.c] small speedup (following discussion with F��lix Breton)
6425
64262019-06-01  Vincent Lef��vre  <vincent@vinc17.net>
6427
6428	[doc/README.dev] Added a note about MPFR_DISABLE_IEEE_FLOATS.
6429
6430	[doc/README.dev] Updated MPFR_DISABLE_IEEE_FLOATS description.
6431
6432	[src/mpfr-impl.h] Undefine HAVE_LDOUBLE_IS_DOUBLE & HAVE_LDOUBLE_IEEE_*
6433	macros if MPFR_DISABLE_IEEE_FLOATS is defined, as the goal is to test
6434	code not relying on IEEE floats.
6435
64362019-05-24  Vincent Lef��vre  <vincent@vinc17.net>
6437
6438	[src/mpfr-impl.h] Code simplification with the generic
6439	LONGDOUBLE_NAN_ACTION macro (the WANT_LONGDOUBLE_VOLATILE macro is not
6440	needed as used only once, thus removed). Improved the related comment.
6441
6442	[src] Instead of including <float.h> in volatile.c (r13493), do that
6443	unconditionally in mpfr-impl.h to make sure that macro definitions
6444	in this header file are always correct: some definitions depend on
6445	various macros from <float.h>, such as FLT_RADIX and DBL_MANT_DIG.
6446
64472019-05-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
6448
6449	applied patch from #21762
6450	(https://gforge.inria.fr/tracker/?func=detail&atid=619&aid=21762&group_id=136)
6451
64522019-05-15  Vincent Lef��vre  <vincent@vinc17.net>
6453
6454	[doc/README.dev] Added another URL on undefined behavior.
6455
64562019-04-30  Vincent Lef��vre  <vincent@vinc17.net>
6457
6458	[doc/README.dev] Note that -static-libasan does not work with MPFR.
6459
6460	[doc/README.dev] Update about the use of GCC's "-fsanitize=address".
6461
64622019-04-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
6463
6464	[src/zeta.c] fixed out-of-bound read reported by Thomas Bailleux
6465
6466	Note: This bug was introduced in r12066.
6467
64682019-04-29  Vincent Lef��vre  <vincent@vinc17.net>
6469
6470	[tools/ck-version-info] Minor corrections in a comment.
6471
6472	[doc/README.dev] Update about the VERSION file:
6473	  * Added a paragraph on the meaning of the "-dev" suffix.
6474	  * Removed a confusing and useless "-dev" in an example.
6475
6476	[tools/ck-news] Changed the condition of the test for FIXME or TODO:
6477	Previously it was disabled only for -dev versions. Now it is enabled
6478	only for releases and release candidates. This will allow snapshots,
6479	for which the NEWS file may still contain a FIXME or TODO.
6480
6481	[tools/ck-version-info] Corrected check. Added explanations in comments.
6482
6483	[tools/ck-version-info] Better error message if $vinfo is not defined.
6484
6485	[src/Makefile.am] Added a comment.
6486
64872019-04-25  Vincent Lef��vre  <vincent@vinc17.net>
6488
6489	[doc/mpfr.texi] Updated the month.
6490
6491	[doc/mpfr.texi] Updated the list of rounding modes in the description
6492	of the mpfr_print_rnd_mode function. Choose the same order as in the
6493	"Rounding Modes" section in "MPFR Basics".
6494
6495	[tools/mpfrlint] Lists of rounding modes: also check with the
6496	"Rounding Modes" section in "MPFR Basics".
6497
6498	[src/print_rnd_mode.c] Added a comment to remember to update the manual.
6499
6500	[tools/mpfrlint] Check that the lists of rounding modes in
6501	src/print_rnd_mode.c and doc/mpfr.texi are identical.
6502
6503	[src/mpfr.h] Added a blank line (grouping of function declarations).
6504
6505	Added support for GCC's returns_nonnull attribute (with GCC 4.9+).
6506
6507	[TODO] Update about GCC's nonnull and returns_nonnull attributes.
6508
65092019-04-16  Vincent Lef��vre  <vincent@vinc17.net>
6510
6511	New macro MPFR_FALLTHROUGH to avoid -Wimplicit-fallthrough warnings
6512	with GCC 7+. This macro also makes the code more readable by bringing
6513	the attention on an unusual fallthrough in a switch case.
6514	  * src/mpfr-impl.h: define this macro.
6515	  * src/vasprintf.c: use this macro in a case of fallthrough.
6516
65172019-04-15  Vincent Lef��vre  <vincent@vinc17.net>
6518
6519	[src/vasprintf.c] Minor bug fix: when an integer is to be read for
6520	  the field width or precision, regard strings like "17*" as invalid
6521	  instead of regarding it as "*" (ignoring the integer that precedes,
6522	  except in case of overflow). In C's printf, such an invalid string
6523	  yields undefined behavior, but in MPFR, we normally print the
6524	  invalid format specifier as a literal string in such a case.
6525	  Bug detected with -Wimplicit-fallthrough from GCC 7+.
6526	[tests/tsprintf.c] Added non-regression test.
6527
65282019-04-02  Vincent Lef��vre  <vincent@vinc17.net>
6529
6530	[configure.ac] Updated --enable-logging description.
6531
6532	[acinclude.m4] When logging support is requested, run a test to check
6533	that code with nested functions and the 'cleanup' attribute can be
6534	compiled, as these features are needed.
6535
6536	[configure.ac] AC_ARG_ENABLE(float128,...): updated comment and
6537	description.
6538
6539	[configure.ac] Updated comment for AC_ARG_ENABLE(decimal-float,...).
6540	  * Removed information about very old GCC versions.
6541	  * _Decimal128 is considered too, in addition to _Decimal64.
6542	  * No longer just a GCC extension, but part of ISO/IEC TS 18661.
6543	  * Added a FIXME for new options about _Decimal64 and _Decimal128.
6544
6545	[configure.ac] Cleanup: moved some AC_ARG_ENABLE's where they should be.
6546
65472019-03-29  Vincent Lef��vre  <vincent@vinc17.net>
6548
6549	[src/vasprintf.c]
6550	  * Corrected FIXME by modifying the assertion. The failure could occur
6551	    only when mpfr_intmax_t has the same size as int (which is the case
6552	    when long = int and either intmax_t and long long are not available
6553	    or intmax_t = long = int), and only when INT_MIN is provided as a
6554	    field width argument.
6555	  * Related to that, updated a test to improve optimization.
6556	  * Added comments.
6557
6558	[src/vasprintf.c] Added a FIXME: tsprintf yields an assertion failure
6559	with sizeof(mpfr_intmax_t) = 4 (which was not tested until now).
6560
65612019-03-29  Vincent Lef��vre  <vincent@vinc17.net>
6562
6563	Cleanup / fixes related to intmax_t, mpfr_intmax_t, etc.
6564
6565	The issues were:
6566	  * The build of the tests (make check) could fail with CFLAGS implying
6567	    "-std=c90 -Werror=format", i.e. if intmax_t was available but the
6568	    use of the "j" printf length modifier made the compilation fail
6569	    (its unconditional use was incorrect anyway).
6570	  * MPFR_INTMAX_MAX had definitions in both mpfr-impl.h & mpfr-intmax.h,
6571	    with inconsistent usage.
6572
6573	Detailed changes:
6574	  * acinclude.m4: removed the definition of MPFR_PRINTF_MAXLM, which
6575	    could be incorrect (large numbers were not tested to select its
6576	    value); in the MPFR_FUNC_GMP_PRINTF_SPEC macro, check sprintf()
6577	    in addition to gmp_sprintf() as it is now also used in the tests;
6578	    updated some comments and messages.
6579	  * src/mpfr-impl.h: removed the MPFR_*INTMAX* definitions; they had
6580	    been added due to
6581	      https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=582698
6582	    with -ansi -pedantic-errors, but this issue was fixed in GCC 4.8
6583	    (released 6 years ago), so that they are no longer needed.
6584	  * src/mpfr-intmax.h: completed the definitions; mpfr_intmax_t is now
6585	    the largest integer type available and fully working (in particular
6586	    with printf), thus it may be smaller than intmax_t.
6587	  * doc/README.dev: updated the description of mpfr_intmax_t, etc.
6588	  * tests/tversion.c: output sizeof(mpfr_intmax_t) too.
6589	  * Various .c files in src and tests related to (u)intmax_t: use
6590	    INTMAX_MAX instead of MPFR_INTMAX_MAX, etc. as Debian bug 582698
6591	    (mentioned above) no longer occurs and mpfr_intmax_t may be smaller
6592	    than intmax_t; use the "j" printf length modifier instead of
6593	    MPFR_PRINTF_MAXLM, and protect it with "#ifndef NPRINTF_J"
6594	    (only the tests are concerned, so that this is not an issue).
6595
65962019-03-28  Vincent Lef��vre  <vincent@vinc17.net>
6597
6598	[src/urandomb.c] Removed the FIXME: this is a bug in GMP or in Clang's
6599	memory sanitizer.
6600
6601	[src/urandomb.c] Added a FIXME (use-of-uninitialized-value with
6602	Clang's memory sanitizer).
6603
66042019-03-13  Vincent Lef��vre  <vincent@vinc17.net>
6605
6606	[src/printf.c] Removed unused definitions.
6607
66082019-03-01  Vincent Lef��vre  <vincent@vinc17.net>
6609
6610	[doc/README.dev] Update about coverage:
6611	  * Mention not to enable optimizations.
6612	  * Replaced "-fprofile-arcs -ftest-coverage" by "--coverage", as
6613	    this is what is used by the tools/coverage script (note: this
6614	    is a synonym when compiling, but also allows the right options
6615	    to be used when linking, thus might be better in doubt).
6616
66172019-02-04  Vincent Lef��vre  <vincent@vinc17.net>
6618
6619	[tests] Use MPFR_DBL_* macros when necessary.
6620
6621	[tools/mpfrlint] For consistency, use "[ch]" instead of "{c,h}".
6622
6623	[tools/mpfrlint] Detect use of DBL_* macros instead of MPFR_DBL_* ones.
6624
6625	[tools/mpfrlint] Improved message about division by zero.
6626
6627	[doc/README.dev] Improved description of MPFR_ERRDIVZERO.
6628	[tools/mpfrlint] Added a comment about division by zero.
6629
6630	[tools/mpfrlint] Check that native FP division by zero is not used.
6631
66322019-01-31  Vincent Lef��vre  <vincent@vinc17.net>
6633
6634	[src/Makefile.am] In check-exported-symbols, replaced grep by $(GREP)
6635	as usual and like in check-gmp-symbols.
6636
66372019-01-30  Vincent Lef��vre  <vincent@vinc17.net>
6638
6639	[configure.ac] Updated comment about default options in CFLAGS for GCC.
6640
6641	Update about CC / CFLAGS settings from GMP (__GMP_CC / __GMP_CFLAGS).
6642	  * configure.ac: remove -pedantic unconditionally; since r7044, it was
6643	    removed only when logging was enabled, as at that time only logging
6644	    was using C extensions.
6645	  * NEWS: added a line about this change.
6646	  * INSTALL: updated the note about CC / CFLAGS, removing the obsolete
6647	    reference to GMP 4.3.0 at the same time.
6648
66492019-01-28  Vincent Lef��vre  <vincent@vinc17.net>
6650
6651	[tools/announce-text] Corrected subject for Release Candidate > 1.
6652
66532019-01-25  Vincent Lef��vre  <vincent@vinc17.net>
6654
6655	ChangeLog update with "LC_ALL=en_US.UTF8 TZ=UTC svn log -rHEAD:0 -v".
6656
6657	[NEWS] Update about shared caches.
6658
6659	[NEWS] Added: "Shared caches: cleanup."
6660
6661	[src/mpfr-thread.h] Fixed the lock macros:
6662	  * in case of failure, one must abort, otherwise this would generally
6663	    be undefined behavior;
6664	  * added missing "do {} while (0)" (currently not mandatory).
6665
6666	[src/mpfr-impl.h] Updated a comment about MPFR_DECL_INIT_CACHE and
6667	the shared cache.
6668
6669	[acinclude.m4] Avoid a warning with the pthread_rwlock_t test,
6670	as it is an error with -Werror.
6671
6672	[acinclude.m4] Fixed another C++ compatibility issue detected by
6673	the -Werror=c++-compat GCC option (it led the "long double" format
6674	to be unknown).
6675
66762019-01-24  Vincent Lef��vre  <vincent@vinc17.net>
6677
6678	[tests/trint.c] Fixed C++ compatibility issue (arithmetic on enum)
6679	detected by the -Werror=c++-compat GCC option.
6680
66812019-01-23  Vincent Lef��vre  <vincent@vinc17.net>
6682
6683	[configure.ac] By default (i.e. if CFLAGS is not already set), if
6684	the compiler is GCC not in C++ mode, add the -Wc++-compat warning
6685	since we expect the code to compile with a C++ compiler.
6686
66872019-01-13  Vincent Lef��vre  <vincent@vinc17.net>
6688
6689	[tests/tcheck.c] Corrected meaningless error message.
6690
6691	[doc/mpfr.texi] Minor correction for non-tex versions.
6692	Thanks to Trevor Spiteri for the bug report.
6693
66942019-01-09  Vincent Lef��vre  <vincent@vinc17.net>
6695
6696	Moved the compatibility test of the configure options even earlier, from
6697	acinclude.m4 to configure.ac, just after the code that defines them.
6698	Also added an associated AC_MSG_CHECKING message for better clarity.
6699
6700	[acinclude.m4] Simplified a message.
6701
6702	[tests/tversion.c] When the shared cache is enabled, also output the
6703	lock method (this information has been lost in r13032).
6704
6705	[acinclude.m4] When checking support for POSIX threads (pthread), also
6706	check that pthread_rwlock_t is supported, as it is needed by MPFR and
6707	conditionally defined in glibc's bits/pthreadtypes.h (via <pthread.h>).
6708
6709	Cleaned up configure code related to threading and the shared cache.
6710	  * acinclude.m4:
6711	      - detect incompatibilities between configure options at the
6712	        beginning of MPFR_CONFIGS, forcing enable_thread_safe to
6713	        "no" or "yes" when necessary, so that the subsequent code
6714	        can rely on that;
6715	      - check ISO C11 thread support and/or POSIX thread support
6716	        only when necessary;
6717	      - handle --enable-shared-cache early in MPFR_CONFIGS, because
6718	        the use of POSIX threads (pthread) may need to change CC,
6719	        CFLAGS, and LIBS (thus affecting other tests);
6720	      - test $enable_shared_cache instead of $mpfr_want_shared_cache;
6721	      - removed the now useless MPFR_CHECK_SHARED_CACHE function.
6722	  * configure.ac: no longer set the mpfr_want_shared_cache variable,
6723	    as enable_shared_cache (now used) already has the same usage.
6724	Note: currently,
6725	  ./configure --enable-shared-cache CFLAGS="-std=c99"
6726	still succeeds and still makes the compilation fail. This seems to
6727	be due to a limitation of AX_PTHREAD, which just tests linking, not
6728	compilation.
6729
6730	[acinclude.m4] In MPFR_CHECK_SHARED_CACHE (used when the shared cache
6731	was requested), also set CC="$PTHREAD_CC" as documented by ax_pthread
6732	(autoconf-archive). This is not guaranteed to work, but according to
6733	the ax_pthread.m4 source, in the cases where "$PTHREAD_CC" != "$CC",
6734	not setting it will probably not work either.
6735
6736	[src/mpfr-impl.h] Added a comment about the cache-related types, which
6737	depend on the locking methods.
6738
67392019-01-08  Vincent Lef��vre  <vincent@vinc17.net>
6740
6741	[tests/tstrtofr.c] Updated comment about GCC bug 86554: now fixed in
6742	the GCC trunk.
6743
67442019-01-07  Vincent Lef��vre  <vincent@vinc17.net>
6745
6746	[tests/Makefile.am] Replaced "env -u DISPLAY" by "env DISPLAY=''" as
6747	the -u option is not supported by NetBSD.
6748
6749	Updated files:
6750	  * COPYING from https://www.gnu.org/licenses/gpl-3.0.txt
6751	  * COPYING.LESSER from https://www.gnu.org/licenses/lgpl-3.0.txt
6752	These are URL updates and cosmetic changes.
6753
6754	ChangeLog update with "LC_ALL=en_US.UTF8 TZ=UTC0 svn log -rHEAD:0 -v".
6755	Note: For r5400, this changes an incorrect update done via r13372 back
6756	to the old log message, as the URL in this log message here describes
6757	a change in one of the files.
6758
6759	[doc/README.dev] Updated some URL's (http ��� https).
6760
6761	[doc/texinfo.tex] Update to 2018-02-12.17 with "autoreconf -i -f".
6762
6763	Updated the www.gnu.org URL's (http ��� https) on all the files with:
6764	  perl -pi -e 's,http://www.gnu.org/,https://www.gnu.org/,g' **/*(.)
6765	under zsh.
6766
6767	[tests/tstrtofr.c] Updated comment about GCC bug 86554: the MPFR build
6768	is still affected with the latest gcc-snapshot version (20190102-1)
6769	when using --with-gmp-build=... together with --enable-assert.
6770
67712019-01-04  Vincent Lef��vre  <vincent@vinc17.net>
6772
6773	[tests/tstrtofr.c] Added a comment about GCC bug 86554: the MPFR build
6774	seems no longer affected by recent gcc-snapshot versions.
6775
67762019-01-01  Vincent Lef��vre  <vincent@vinc17.net>
6777
6778	[doc/mpfr.texi] Updated the month.
6779
6780	Copyright notice update: added 2019 with
6781	  perl -pi -e 's/ (\d{4}-)?(2018)(?= Free Software)/
6782	               " ".($1||"$2-").($2+1)/e' **/*(^/)
6783	under zsh. Removed 2018 from the example in the doc/README.dev file.
6784
67852018-12-31  Vincent Lef��vre  <vincent@vinc17.net>
6786
6787	[tests/tfmma.c] Added double_rounding test to trigger errors before
6788	the fix in mpfr_set_1_2 (set.c r13347).
6789
6790	[src/set.c] In mpfr_set_1_2, evaluate MPFR_PREC(s) just once.
6791
6792	[src/set.c] Clarified the mpfr_set_1_2 description.
6793
6794	[src/set.c] For mpfr_set_1_2, corrected the comments and simplified the
6795	generic algorithm (there is no need to distinguish the rounding modes,
6796	except for the double-rounding test, and this simplification avoids the
6797	non-portable inex | inex2).
6798
67992018-12-20  Vincent Lef��vre  <vincent@vinc17.net>
6800
6801	[doc/mini-gmp] Removed "#define GMP_LIMB_BITS 8": it is not used by
6802	mini-gmp.h and yields a failure when building mini-gmp.c (which has
6803	its own definition of GMP_LIMB_BITS, equivalent but not identical).
6804
6805	[configure.ac] Support mini-gmp with reduced limb size, in the case
6806	GMP_NUMB_BITS is not defined: guess GMP_NUMB_BITS from the size of
6807	mp_limb_t instead of the size of unsigned long.
6808
6809	[doc/mini-gmp] Correction to avoid a "conflicting types for 'mp_limb_t'"
6810	error.
6811
68122018-12-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
6813
6814	[doc/mini-gmp] added note about using mini-gmp (development version) with
6815		       reduced limb size
6816
6817	[src/set.c] fixed double-rounding bug in mpfr_set_1_2
6818	[tests/tset.c] added corresponding tests
6819
6820	[tests/tset.c] added a test of test_set_1_2(), which currently fails
6821
6822	[tests/tcan_round.c] disabled tests that don't agree with mpfr_can_round documentation
6823
68242018-12-13  Vincent Lef��vre  <vincent@vinc17.net>
6825
6826	[tests/tsprintf.c] Updated a comment about ISO C vs POSIX for snprintf.
6827
6828	[tests/tsprintf.c] Updated a comment about ISO C vs POSIX for snprintf.
6829
6830	[TODO] Added item: new functions mpfr_cmp_uj and mpfr_cmp_sj.
6831
6832	[TODO] Removed obsolete "check again coverage" from 2007.
6833
68342018-12-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
6835
6836	[src/sqr.c] fixed same issue as in r13338 and r13339
6837
6838	[src/mul.c] fixed bug in mpfr_mul() when sizeof(mp_limb_t) < sizeof(mpfr_exp_t)
6839		    (same issue as in r13338)
6840
68412018-12-12  Vincent Lef��vre  <vincent@vinc17.net>
6842
6843	[src/mul.c] For MPFR_WANT_ASSERT >= 2: minor changes in the code;
6844	corrected a comment (even with mp_limb_t >= mpfr_exp_t, there was an
6845	issue: the expression b1 - 1 + cc was computed in unsigned arithmetic,
6846	then converted to mpfr_exp_t, with an implementation-defined result
6847	when -1 was expected, i.e. with b1 = cc = 0).
6848
6849	[src/mul.c] Corrected a typo in a comment.
6850
6851	[src/mul.c] Fixed error message with MPFR_WANT_ASSERT >= 2.
6852
68532018-12-11  Vincent Lef��vre  <vincent@vinc17.net>
6854
6855	[src/mpfr-gmp.h] For count_leading_zeros (MPFR_LONG_WITHIN_LIMB
6856	not defined), no longer assume GMP_NUMB_BITS <= 32.
6857
6858	[src/mpfr-gmp.h] Fixed count_leading_zeros (avoid undefined behavior
6859	on shift counts, which must be nonnegative and smaller than the width
6860	of the type of the shifted value).
6861
68622018-12-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
6863
6864	[src/mul.c] fixed reference routine mpfr_mul3() when sizeof(limb) < sizeof(exp)
6865
6866	[src/mpfr-gmp.h] fixed count_leading_zeros for mini-gmp with 32-bit limb
6867
68682018-12-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
6869
6870	[doc/mini-gmp] added remark about random functions
6871
6872	[tests/tdiv.c] fixed test_20151023 (was giving an error with micro-gmp-8
6873	and GMP_CHECK_RANDOMIZE=1544431052619574)
6874
68752018-12-10  Vincent Lef��vre  <vincent@vinc17.net>
6876
6877	[tools/mpfrlint] Added a test for some avoidable use of gmp_printf.
6878
68792018-12-07  Vincent Lef��vre  <vincent@vinc17.net>
6880
6881	[tests]
6882	  * mpfr-test.h, tests.c: added n_trace function to output a mpn.
6883	  * tcan_round.c: use n_trace instead of gmp_printf ("%NX\n",...),
6884	    which is not available with mini-gmp.
6885
68862018-12-06  Vincent Lef��vre  <vincent@vinc17.net>
6887
6888	[tests/tcan_round.c] Corrected all the error messages for mini-gmp.
6889
6890	[tests/tcan_round.c] Corrected error message for mini-gmp.
6891
68922018-12-05  Vincent Lef��vre  <vincent@vinc17.net>
6893
6894	[tests/tpow_z.c] Another fix and minor improvements.
6895
6896	[tests/tpow_z.c] Fixed a test (midpoint case) that was failing
6897	with micro-gmp-8 and GMP_CHECK_RANDOMIZE=1544033327230569.
6898
6899	[tests/tpow_z.c] Fixed a test for MPFR_RNDF: do not check the ternary
6900	value (a failure was occurring with --with-mini-gmp=.../micro-gmp/8
6901	and GMP_CHECK_RANDOMIZE=1544025040809270).
6902
6903	[tests/tpow_z.c] Improved error message.
6904
6905	[src/mpfr-mini-gmp.c] Added missing "void" in function prototype.
6906
6907	[configure.ac] When building against mini-gmp, check the availability of
6908	lrand48, in particular because it is not part of the ISO C standard.
6909
69102018-12-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
6911
6912	[src/mpfr-mini-gmp.c] put back unconditional assert from r13316 (removed by error)
6913
6914	[src/mpfr-mini-gmp.c] improved random_limb (the low bits of lrand48 are bad)
6915			      and fixed gmp_urandomm_ui
6916
69172018-12-05  Vincent Lef��vre  <vincent@vinc17.net>
6918
6919	[src/mpfr-mini-gmp.c] gmp_urandomm_ui: added a MPFR_ASSERTN
6920	unconditionally, as n == 0 is always forbidden.
6921
69222018-12-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
6923
6924	[src/mpfr-mini-gmp.c] the static assert introduced in r13313 makes the
6925			      compilation fail for 8-bit limbs, while the code
6926			      was valid for n <= 256 in that case
6927
69282018-12-04  Vincent Lef��vre  <vincent@vinc17.net>
6929
6930	[src/mpfr-mini-gmp.c] Fixed types.
6931
6932	[src/mpfr-mini-gmp.c] Added a static assertion to make sure that
6933	the MPFR_ASSERTD added in r13312 is valid.
6934
69352018-12-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
6936
6937	[src/mpfr-mini-gmp.c] gmp_urandomm_ui did not generate uniform values
6938
69392018-12-03  Vincent Lef��vre  <vincent@vinc17.net>
6940
6941	[src/set_d.c] Improved comment.
6942
69432018-11-29  Vincent Lef��vre  <vincent@vinc17.net>
6944
6945	[tests/Makefile.am] About r13308, added references to the bugs.
6946
6947	[tests/Makefile.am] Unset DISPLAY as it is not needed and it can yield
6948	error messages when running the tests with LOG_COMPILER=wine (for builds
6949	with MinGW).
6950
6951	[tests/tversion.c] Updated a comment about an output issue with MinGW,
6952	with the test run under Wine (which is really the cause of the issue).
6953
69542018-11-28  Vincent Lef��vre  <vincent@vinc17.net>
6955
6956	[tests/tstrtofr.c] In case of failure of some particular test, output
6957	the probable cause of this failure (GCC bug 86554) with a workaround.
6958
69592018-11-27  Vincent Lef��vre  <vincent@vinc17.net>
6960
6961	[tests/tversion.c] Updated a comment about a printf issue with MinGW.
6962
6963	[src/strtofr.c] Added a FIXME about the error analysis (info that was
6964	part of the FIXME resolved in r13303 and inadvertently dropped).
6965
6966	[src/strtofr.c] Resolved a FIXME; tstrtofr no longer fails due to
6967	bug20181127 with 8-bit limbs (micro-gmp/8).
6968
6969	[tests/tstrtofr.c] Added bug20181127 (test found with random_tests),
6970	which fails with 8-bit limbs (micro-gmp/8).
6971
6972	[src/mpfr-impl.h] Added a comment with a warning concerning the
6973	  meaning of MPFR_EXP_FSPEC.
6974	[tests/tstrtofr.c] Fixed a MPFR_EXP_FSPEC related bug in a test
6975	  for _MPFR_EXP_FORMAT <= 2, e.g. with -D_MPFR_PREC_FORMAT=2.
6976
6977	[tests/tdiv.c] Fixed bad format string for an error message, detected
6978	with -D_MPFR_PREC_FORMAT=2 (using -Werror...).
6979
69802018-11-26  Vincent Lef��vre  <vincent@vinc17.net>
6981
6982	[tests] Moved bug20180908() from tget_str.c to tset_str.c since it tests
6983	mpfr_set_str() only. This test was introduced in r13164.
6984
69852018-11-23  Vincent Lef��vre  <vincent@vinc17.net>
6986
6987	[TODO] + More UBF functions.
6988
6989	[doc/mpfr.texi] Updated the month.
6990
6991	[src/strtofr.c] Changed some unsigned long to unsigned int.
6992
6993	[src/strtofr.c] Some cleanup in parsed_string_to_mpfr. Avoid a potential
6994	integer overflow in very high precision if mp_size_t < mpfr_prec_t.
6995
69962018-11-22  Vincent Lef��vre  <vincent@vinc17.net>
6997
6998	[src/strtofr.c] Updated FIXME, due to new tests added to
6999	tests/tstrtofr.c in r13278-13279,13286-13288.
7000
7001	[src/nbits_ulong.c] Added missing initialization from r13269
7002	when MPFR_LONG_WITHIN_LIMB is not defined.
7003
7004	[tests/tstrtofr.c] Resolved the FIXME and fixed the issue related to
7005	the old mpfr_get_str description (see r13283).
7006	Note: with the later fix r13289, a test still fails with 8-bit limbs
7007	(incorrect exponent, possibly corresponding to the FIXME just before
7008	"exp = GMP_NUMB_BITS - count;" in src/strtofr.c).
7009
7010	[tests/tstrtofr.c] Added comments, including a FIXME.
7011
7012	[tests/tstrtofr.c] Resolved the FIXME for the random tests, and
7013	increased the number of tests to trigger a failure.
7014
7015	MPFR manual: corrected/completed the mpfr_get_str description in order
7016	to follow the historical behavior and GMP's mpf_get_str function.
7017	(Discussion in the Trier meeting.)
7018
7019	[src/get_str.c] Code style.
7020
7021	[doc/README.dev] Update about issues with mixing signed/unsigned types.
7022
7023	[doc/README.dev] Added a note about the disallowed conversions between
7024	function pointers and other kinds of pointers (including to void *).
7025
70262018-11-20  Vincent Lef��vre  <vincent@vinc17.net>
7027
7028	[tests/tstrtofr.c] Added a FIXME, which explains the current failure.
7029	But there is currently an inconsistency in mpfr_get_str, whose digits
7030	are not specified:
7031	  https://sympa.inria.fr/sympa/arc/mpfr/2018-11/msg00021.html
7032
7033	[tests/tstrtofr.c] Added random tests, which currently fail.
7034
70352018-11-19  Vincent Lef��vre  <vincent@vinc17.net>
7036
7037	[src/round_prec.c] mpfr_can_round_raw: improved the code structure about
7038	rnd1 and rnd2, making clear that they are not changed several times;
7039	avoid the use of cc with 2 different meanings in the same code path.
7040
70412018-11-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
7042
7043	[src/round_prec.c] fixed bug in mpfr_can_round when rnd2=RNDF, rnd1 is a
7044			   directed rounding, and the input is exact
7045
70462018-11-16  Vincent Lef��vre  <vincent@vinc17.net>
7047
7048	[src/strtofr.c] parsed_string_to_mpfr: updated a FIXME comment.
7049	In short, the current tstrtofr.c tests seem to always be hard-to-round
7050	cases. The consequence is that some parts of the code are run, but not
7051	completely tested, because for these cases, some intermediate results,
7052	potentially incorrect, are thrown out due to the next Ziv iteration!
7053
7054	[src/strtofr.c] parsed_string_to_mpfr: minor changes.
7055
7056	[src/strtofr.c] parsed_string_to_mpfr: added log messages.
7057
7058	[src/strtofr.c] Minor change to use MPFR_ASSERTD.
7059
7060	[src/{int_ceil_log2.c,mpfr-impl.h}] Consistent postcondition for
7061	MPFR_INT_CEIL_LOG2 and __gmpfr_int_ceil_log2 (result >= 0).
7062
7063	[src/nbits_ulong.c] Code refactoring. Added {pre,post}condition.
7064
7065	[src/strtofr.c] parsed_string_to_mpfr: removed an incorrect cast.
7066
7067	[src/strtofr.c] parsed_string_to_mpfr: updated a FIXME comment (again,
7068	another issue).
7069
7070	[src/strtofr.c] parsed_string_to_mpfr: updated a FIXME comment (there
7071	is another issue to solve first).
7072
7073	Removed trailing whitespace.
7074
7075	[src/strtofr.c] parsed_string_to_mpfr: updated a comment (useless code
7076	in this function or incomplete tests).
7077
7078	Avoid GCC's -Wcast-align warnings with 8-bit limbs (a correct alignment
7079	is ensured by the code itself, and GCC cannot check just from a cast).
7080
7081	[src/strtofr.c] parsed_string_to_mpfr: updated comments.
7082
70832018-11-15  Vincent Lef��vre  <vincent@vinc17.net>
7084
7085	[src/strtofr.c] parsed_string_to_mpfr: more code review, with minor
7086	changes and corrections + a FIXME.
7087
7088	[src/strtofr.c] Typo.
7089
7090	[src/strtofr.c] Fixed an allocation bug for GMP_NUMB_BITS = 8.
7091
7092	[src/strtofr.c] Updated a comment: the issue with mpn_set_str found
7093	in 2013-12 (see r8722) was actually an error in the GMP manual.
7094
7095	[src/strtofr.c] parsed_string_to_mpfr: improved an assertion; comments.
7096
70972018-11-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
7098
7099	[tests/tcan_round.c] fixed some TODOs, which exposes a bug
7100
71012018-11-15  Vincent Lef��vre  <vincent@vinc17.net>
7102
7103	[src/strtofr.c] Near the beginning of parsed_string_to_mpfr: corrected
7104	comments; added an assertion; minor change of a test.
7105
71062018-11-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
7107
7108	[src/mulders.c] fixed issue with --enable-gmp-internals
7109	[tune/tuneup.c] likewise
7110	(see https://sympa.inria.fr/sympa/arc/mpfr/2018-11/msg00015.html)
7111
71122018-10-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
7113
7114	[src/mpfr-longlong.h] applied patch from https://sympa.inria.fr/sympa/arc/mpfr/2018-10/msg00010.html
7115
71162018-10-07  Vincent Lef��vre  <vincent@vinc17.net>
7117
7118	[codespell.ignore] Also ignore "ue" (codespell 1.14).
7119
71202018-10-01  Vincent Lef��vre  <vincent@vinc17.net>
7121
7122	[configure.ac,src/Makefile.am] About the --with-mini-gmp support, since
7123	there are some advantages with the new code, one will probably not go
7124	back. Thus removed the references to the Automake 1.15 bug and to the
7125	old code. Also removed the mini_gmp_path=. workaround needed with the
7126	old code (even with Automake 1.16), which had been added in r13217.
7127	Also slightly improved the setup for mini-gmp.
7128
7129	[doc/with-mini-gmp.patch] Updated comment.
7130
7131	[configure.ac,src/Makefile.am] Avoid a "make" failure due to a bug in
7132	Automake 1.15 automatic dependency tracking: instead of using mini-gmp
7133	directly in an external directory with a $(mini_gmp_path) variable in
7134	src/Makefile.am, make the configure script add symbolic links to the
7135	mini-gmp sources in the build directory, and use these symbolic links
7136	for the MPFR build (as if they were plain files).
7137	Tested under various conditions: static and shared; separate source and
7138	build directories; changing the mini-gmp version without "make clean".
7139
71402018-09-28  Vincent Lef��vre  <vincent@vinc17.net>
7141
7142	Added doc/with-mini-gmp.patch file (for the developers):
7143	Modifications to configure.ac and src/Makefile.am that had been done
7144	for --with-mini-gmp support. This is kept for the reference, as changes
7145	may be needed as a workaround to a bug fixed in GNU Automake 1.16, and
7146	other future changes might break things (to remember what was working
7147	at this time).
7148
71492018-09-20  Vincent Lef��vre  <vincent@vinc17.net>
7150
7151	[doc/mini-gmp] Update.
7152
71532018-09-19  Vincent Lef��vre  <vincent@vinc17.net>
7154
7155	[Makefile.am] Distribute the doc/mini-gmp file.
7156	[configure.ac] For --with-mini-gmp, say:
7157	  "(experimental, please read doc/mini-gmp file)"
7158
7159	[src/Makefile.am] Added nodist_ for mini-gmp.{c,h} so that these files
7160	(not part of MPFR) are not put in the tarballs by "make dist".
7161
7162	Removed --enable-mini-gmp configure option.
7163	  * NEWS: say that it is replaced by --with-mini-gmp.
7164	  * configure.ac: --enable-mini-gmp removed.
7165	  * doc/mini-gmp: update.
7166
7167	[src/mpfr-mini-gmp.c] Missing #else (from r13156).
7168
7169	[configure.ac] When using --with-mini-gmp, define GMP_NUMB_BITS if this
7170	macro is not already defined in mini-gmp.h (this is done a bit like
7171	with --enable-mini-gmp, but the handling in this option is buggy as
7172	GMP_NUMB_BITS is defined with AC_DEFINE_UNQUOTED unconditionally,
7173	though is most cases the contents of the macros are the same).
7174
7175	[configure.ac] Do not split "Setup GMP detection". When building
7176	MPFR against mini-gmp, do not run any "Setup GMP detection" test
7177	(in particular, no longer check gmp.h, as it is useless).
7178
7179	[src/mpfr-mini-gmp.h] Removed incorrect GMP_NUMB_BITS macro definition,
7180	and this macro needs to be usable in preprocessor tests, and sizeof and
7181	types are not available at this level. GMP_NUMB_BITS must be defined by
7182	mini-gmp.h, by the configure script, or by the user.
7183
7184	[tools/mpfrlint] Update due to r13221.
7185
71862018-09-18  Vincent Lef��vre  <vincent@vinc17.net>
7187
7188	[tests/Makefile.am] Run tversion at the beginning of the tests,
7189	then show its output and svnversion's output too.
7190
7191	[src/mpfr-mini-gmp.h] Added a FIXME (failure with a mini-gmp that
7192	does not define GMP_NUMB_BITS, such as the official one).
7193
7194	[tests/random2.c] Avoid undefined behavior on shift count.
7195
7196	[src/mpfr-impl.h] Fixed MPFR_LIMB_MASK() macro.
7197
7198	[configure.ac] Avoid a configure failure with automatic dependency
7199	tracking when --with-mini-gmp is not used (bug in Automake?).
7200
7201	[NEWS] + Mini-gmp support via the --with-mini-gmp configure option.
7202
72032018-09-17  Vincent Lef��vre  <vincent@vinc17.net>
7204
7205	Merged the with-mini-gmp branch into the trunk: new --with-mini-gmp
7206	configure option to build MPFR against mini-gmp (instead of GMP).
7207
7208	[doc/mini-gmp] Update.
7209
7210	Merged the latest changes from the trunk.
7211
7212	[src/mul_ui.c] Better code organization (with the MPFR_RET at the right
7213	place). Corrected indentation after #else.
7214
72152018-09-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
7216
7217	[src/mpfr-mini-gmp.c] added #if 0 ... #endif for mpz_dump (unused)
7218	[src/mul_ui.c] fixed compiler warning for limb < long
7219
72202018-09-17  Vincent Lef��vre  <vincent@vinc17.net>
7221
7222	[src/Makefile.am] Update for mini-gmp (install mini-gmp.h).
7223
7224	Merged the latest changes from the trunk (bug fix for 8-bit limb).
7225
7226	[tests/random2.c] Fix for 8-bit limb.
7227
7228	Merged the latest changes from the trunk.
7229
7230	[tests/tests.c] Define only one buffer in test_version().
7231
7232	[tests/random2.c] Improved code by using MPFR_LIMB_* macros.
7233
7234	[src/mpfr-impl.h] Improved MPFR_LIMB_* macros for mp_limb_t < int
7235	(e.g. 16-bit or 8-bit limb), as in such a case, integer promotion
7236	transforms mp_limb_t to int.
7237
72382018-09-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
7239
7240	[tests/tests.c] fixed compiler warning
7241
72422018-09-14  Vincent Lef��vre  <vincent@vinc17.net>
7243
7244	Merged the latest changes from the trunk (bug fixes).
7245
7246	[src/get_si.c] Code refactoring/simplification like what has been
7247	done for get_ui.c in r13185, fixing also an integer overflow when
7248	MPFR_LONG_WITHIN_LIMB is not defined.
7249
7250	[tests/random2.c] Fix for 16-bit limb.
7251
7252	[src/add1.c] Fix for 16-bit limb.
7253
7254	[src/mpfr-gmp.h] Fixed bug in add_ssaaaa / sub_ddmmss from r13081.
7255
7256	Completed --with-mini-gmp support (not fully tested).
7257
7258	Merged the latest changes from the trunk.
7259
7260	[src/Makefile.am] Moved a comment in a better place.
7261
7262	[configure.ac] Define MINI_GMP Automake conditional (AM_CONDITIONAL).
7263
72642018-09-14  Vincent Lef��vre  <vincent@vinc17.net>
7265
7266	Started to implement --with-mini-gmp (building mini-gmp and linking
7267	not correctly handled yet, thus "make check" failure is expected).
7268
7269	[Added during the Subversion to Git conversion]
7270	This commit includes a merge of r13191 from the trunk.
7271
72722018-09-14  Vincent Lef��vre  <vincent@vinc17.net>
7273
7274	[configure.ac] Typo.
7275
7276	[configure.ac] Updated comments about configure options for mini-gmp.
7277
72782018-09-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
7279
7280	[tests/tsin.c] reduce REDUCE_EMAX with mini-gmp
7281
72822018-09-13  Vincent Lef��vre  <vincent@vinc17.net>
7283
7284	[src/get_ui.c] Added assertions.
7285
7286	[src/get_ui.c] Code refactoring/simplification.
7287
7288	[src/sin_cos.c] Added assertions protecting against buffer overflow.
7289
72902018-09-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
7291
7292	[src/sin_cos.c] fix for small limb size
7293
72942018-09-12  Vincent Lef��vre  <vincent@vinc17.net>
7295
7296	[src/mpfr-mini-gmp.h] Fix: Since gmp_version is not defined in mini-gmp,
7297	we must not declare it (otherwise one would get a link failure instead
7298	of a compilation failure if gmp_version is used by mistake).
7299
7300	[tests/tests.c] Improved change in r13179 for mini-gmp.
7301
7302	[configure.ac] Do not check for CC and CFLAGS in gmp.h if mini-gmp is
7303	used, i.e. if --enable-mini-gmp (current option) or --with-mini-gmp
7304	(future option) is given.
7305
73062018-09-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
7307
7308	[tests/tests.c] libgmp is not defined with mini-gmp (issue found with -O0)
7309
73102018-09-12  Vincent Lef��vre  <vincent@vinc17.net>
7311
7312	[src/mpfr-mini-gmp.h] Removed #include lines as mpfr-mini-gmp.h is
7313	included only in mpfr-impl.h, which already does these #include's.
7314
7315	[src/mpfr-impl.h] Check that MPFR_HAVE_GMP_IMPL and MPFR_USE_MINI_GMP
7316	are not both defined.
7317
7318	[src/mpfr-mini-gmp.c] Removed #include "mpfr-mini-gmp.h" as this include
7319	is already done in mpfr-impl.h (in both cases, when MPFR_USE_MINI_GMP is
7320	defined).
7321
7322	[src/rec_sqrt.c] Replaced "if (GMP_NUMB_BITS >= 16)" by a preprocessor
7323	test "#if GMP_NUMB_BITS >= 16" like earlier. Use static assertions.
7324
7325	[src/rec_sqrt.c] Fixed types for 8-bit limb. Removed useless casts.
7326
7327	[src/rec_sqrt.c] Fixed a type from r13172 (int was obviously too short
7328	and was yielding a segmentation fault).
7329
73302018-09-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
7331
7332	[src/rec_sqrt.c] fixed for 8-bit limb
7333
7334	[tests/tcan_round.c] fixed test for small value of GMP_NUMB_BITS
7335
7336	[src/strtofr.c] fixed r13168: in case exact=0, mpn_rshift was not done
7337
7338	[tests/tsqrt.c] modified test_sqrt1n() so that it passes with 8-bit limbs
7339
73402018-09-11  Vincent Lef��vre  <vincent@vinc17.net>
7341
7342	[src/strtofr.c] Replaced "exact &=" by "exact = exact &&" as usual.
7343
73442018-09-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
7345
7346	[src/strtofr.c] fix for 8-bit limb
7347
7348	[src/strtofr.c] added comment
7349
73502018-09-10  Vincent Lef��vre  <vincent@vinc17.net>
7351
7352	[doc/mpfr.texi] Updated the month.
7353
73542018-09-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
7355
7356	[src/strtofr.c] fix from r13163 was incorrect
7357	[tests/tget_str.c] added a testcase, and fixed an error message
7358
73592018-09-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
7360
7361	[src/strtofr.c] resolved a FIXME
7362
7363	[tests/tdiv_ui.c] fixed corner_cases() test
7364
7365	[src/int_ceil_log2.c] fixed __gmpfr_int_ceil_log2 for limb < long
7366
73672018-09-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
7368
7369	[tests/random2.c] fixed mpfr_random2 for GMP_NUMB_BITS <> 64
7370
7371	[src/mpfr-mini-gmp.c] fixed another compiler warning
7372
7373	[src/get_ui.c] fixed compiler warning
7374
7375	some fixes for 8-bit limb support
7376
7377	adapt to 8-bit limbs (work in progress)
7378
7379	[tests/tl2b.c] extend to 8-bit limb
7380
7381	[src/mpfr-gmp.h] fix for 8-bit limb
7382
73832018-09-07  Vincent Lef��vre  <vincent@vinc17.net>
7384
7385	[doc/mpfr.texi] Added @tie{} (normal non-breakable space) at various
7386	places to avoid unwanted line breaking.
7387
7388	[doc/mpfr.texi] mpfr_rootn_ui, mpfr_root: changed k to n in order to
7389	match IEEE 754-2008. Also improved the description of mpfr_rootn_ui,
7390	mentioning the P754/D2.41 draft of the next IEEE 754 standard because
7391	IEEE 754-2008 is incomplete.
7392
73932018-09-06  Vincent Lef��vre  <vincent@vinc17.net>
7394
7395	[tests/tdiv.c] !mpfr_equal_p is better than mpfr_cmp.
7396
73972018-09-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
7398
7399	[src/rint.c] fixed bug with 16-bit limb
7400	             (found by trint with GMP_CHECK_RANDOMIZE=1536206745598891)
7401
7402	[tests/tdiv.c] fixed test_20151023()
7403
74042018-09-06  Vincent Lef��vre  <vincent@vinc17.net>
7405
7406	Removed trailing whitespace.
7407
7408	[src/get_ld.c] Removed incorrect and useless assertions (manl
7409	has exactly 32 bits, thus a shift count of 32 bits is invalid,
7410	but also useless).
7411
74122018-09-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
7413
7414	[src/get_ld.c] fixed (hopefully definitively) for 16-bit limb
7415
74162018-09-05  Vincent Lef��vre  <vincent@vinc17.net>
7417
7418	[src/set_d64.c] 2 fixes concerning rp[]:
7419	  * If GMP_NUMB_BITS >= 64, there is a shift of 32 bits, thus one
7420	    uses mp_limb_t (> 32 bits) instead of unsigned int.
7421	  * Otherwise use unsigned long as an unsigned int might be on 16 bits.
7422
7423	[src/mpfr-impl.h] Indentation.
7424
7425	[src] Moved mpfr_nbits_ulong to its own file "nbits_ulong.c".
7426
7427	[src/pow_si.c] MPFR_NEED_LONGLONG_H is still needed.
7428
7429	[tests/tget_set_d64.c] Removed xxx suffix added in r13139 (by mistake?).
7430
74312018-09-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
7432
7433	[src/exp_2.c] export (internally) nbits_ulong (renamed to mpfr_nbits_ulong)
7434	[src/mpfr-impl.h] added prototype for mpfr_nbits_ulong
7435	[src/pow_si.c] fixed for 16-bit limb
7436
7437	[src/get_d64.c] fixed for 16-bit limb
7438	[src/set_d64.c] likewise
7439	[tests/tget_set_d64.c] improved error message
7440
74412018-09-05  Vincent Lef��vre  <vincent@vinc17.net>
7442
7443	[src/get_ld.c] In the case GMP_NUMB_BITS == 16, cast to unsigned long
7444	instead of unsigned int since shift counts can be up to 16 and an int
7445	might be on 16 bits only.
7446
74472018-09-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
7448
7449	[src/get_ld.c] when denorm=16, a 32-bit shift on an unsigned int is undefined
7450
7451	[src/exp_2.c] fix for 16-bit limb
7452	[tests/texp.c] improve error message
7453
7454	[src/mpfr-mini-gmp.c] fixed gmp_urandomb_ui for 16-bit limb, added mpz_dump
7455	[tests/terandom_chisq.c] more details in case of error
7456
7457	[src/random_deviate.c] fixed typo
7458
74592018-09-04  Vincent Lef��vre  <vincent@vinc17.net>
7460
7461	[tests/tset_z_exp.c] Avoid a GCC bug.
7462
7463	[tests/tset_z_exp.c] Attempt to fix randexp, but GCC complains.
7464
7465	[src/mpn_exp.c] Avoid useless "while" in nbits_mpfr_exp_t.
7466
74672018-09-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
7468
7469	[tests/tset_ld.c] give more digits in case of error
7470	[tests/tget_ld_2exp.c] added one test (currently fails for 16-bit limb)
7471
7472	[src/set_ld.c] partial fix for 16-bit limb (typo + nice bug!)
7473
7474	[tests/tset_z_exp.c] fixed infinite loop in test code for limb < mpfr_exp_t
7475
7476	[src/mpn_exp.c] adapt to bitsize(mpfr_exp_t) > GMP_NUMB_BITS
7477
74782018-09-04  Vincent Lef��vre  <vincent@vinc17.net>
7479
7480	[src/div.c] Code simplification.
7481
7482	[src/round_prec.c] MPFR_LIMB is actually useless now...
7483
7484	[src/round_prec.c] Code style and potential correction for 16-bit limb.
7485
7486	[src/sqrt_ui.c] Moved MPFR_SAVE_EXPO_FREE after mpfr_sqrt because
7487	the uu argument may be out of range and there is no guarantee that
7488	mpfr_sqrt can handle that. Improved consistency; code refactoring.
7489
74902018-09-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
7491
7492	[src/round_prec.c] fixed for 16-bit limb
7493	[tests/tcan_round.c] improve error message
7494
7495	[src/sqrt_ui.c] fixed for 16-bit limb
7496
74972018-09-04  Vincent Lef��vre  <vincent@vinc17.net>
7498
7499	[src/get_si.c] Make sure that a left shift is done on an unsigned type
7500	(as a left shift on a 0 of signed type was not specified by C90).
7501
75022018-09-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
7503
7504	[src/div.c] fix for 16-bit limbs, and added comments
7505
7506	[src/rint.c] fix for 16-bit limb
7507
7508	[tests/tdiv.c] more detailed error message
7509
7510	[src/get_si.c] forgot cast when long > limb
7511
7512	[src/get_ui.c] forgot cast when long > limb
7513
75142018-09-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
7515
7516	[src/odd_p.c] fix for 16-bit limb
7517
7518	[tests/tbeta.c] exit at the first error
7519
7520	[src/get_si.c] adapt to 16-bit limbs
7521	[src/get_ui.c] likewise
7522
7523	[src/cmp_si.c] adapt for reduced exponent range for 16-bit limbs
7524	[src/cmp_ui.c] likewise
7525
75262018-09-03  Vincent Lef��vre  <vincent@vinc17.net>
7527
7528	[tests/mpfr-test.h] If MPFR_TESTS_ABORT is defined, replace exit(1) by
7529	  abort(), thus with a core dump.
7530	[doc/README.dev] Document MPFR_TESTS_ABORT.
7531
75322018-09-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
7533
7534	[tests/tgeneric.c] revert 13107 (abort might lose some data in open files)
7535	[src/mul_ui.c] fixed for 16-bit limb and reduced exponent range
7536
7537	[tests/tgeneric.c] replace exit(1) by abort() to allow debugging with gdb
7538
7539	[src/isinteger.c] fix for 16-bit limb
7540
7541	[src/cmp_si.c] fixed error for 16-bit limb
7542	[src/cmp_ui.c] adapted to 16-bit limb
7543
75442018-09-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
7545
7546	[src/cmp_si.c] adapt for 16-bit limb
7547
75482018-08-31  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
7549
7550	[src/mul_ui.c] adapt for 16-bit limb
7551
75522018-08-31  Vincent Lef��vre  <vincent@vinc17.net>
7553
7554	[src/mpfr-mini-gmp.c] Fixed potential undefined behavior (when mp_limb_t
7555	is defined as an unsigned short) with MPFR_LIMB_LSHIFT.
7556
7557	[src/mpfr-impl.h] Define MPFR_LIMB_LSHIFT(x,c) macro to do a left shift,
7558	making sure that the shifted argument is unsigned (needed due to the
7559	integer promotion rules when mp_limb_t is defined as an unsigned short).
7560	[src/add1.c] Fixed potential undefined behavior with MPFR_LIMB_LSHIFT.
7561
7562	[src/mpfr-impl.h] Corrected a comment and added a warning.
7563
75642018-08-31  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
7565
7566	[src/mpfr-impl.h] fix MPFR_INT_CEIL_LOG2 for 16-bit limb
7567
7568	[src/set_si_2exp.c] support 16-bit limbs
7569
75702018-08-31  Vincent Lef��vre  <vincent@vinc17.net>
7571
7572	[src/set_ui_2exp.c] Code formatting. Removed a FIXME (done in r13078).
7573
75742018-08-31  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
7575
7576	[src/mpfr-gmp.h] missing cast
7577
7578	removed TEST_FLAGS stuff
7579
75802018-08-31  Vincent Lef��vre  <vincent@vinc17.net>
7581
7582	[doc/README.dev] More correction about the MPFR_TESTS_TIMEOUT macro.
7583
7584	[doc/README.dev] Clarification about MPFR_TESTS_TIMEOUT.
7585
7586	[doc/README.dev] Reverted r13090: this was already mentioned at the
7587	right place (do not mix up macros and environment variables).
7588
75892018-08-31  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
7590
7591	[src/mpfr-gmp.h] added missing udiv_qrnnd for 16-bit limb
7592	[src/mul.c] fixed for 16-bit limb
7593	[src/ui_div.c] likewise
7594
7595	[README.dev] mention that MPFR_TESTS_TIMEOUT only works with --enable-tests-timeout
7596
75972018-08-31  Vincent Lef��vre  <vincent@vinc17.net>
7598
7599	[src/mpfr-impl.h] Fix for MS Windows.
7600
7601	[src/mpfr-impl.h] Make sure that MPFR_LONG_WITHIN_LIMB is defined if
7602	__GMP_SHORT_LIMB is not defined, as required by the current code.
7603
7604	[src/mpfr-gmp.h] Untabified.
7605
76062018-08-31  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
7607
7608	[src/mpfr-impl.h] fixed wrong #ifdef
7609
7610	[src/mpfr-mini-gmp.c] fix for 16-bit limb
7611
7612	[src/add1.c] fix for 16-bit limb
7613	[tests/tadd.c] more output in case of error
7614
7615	[src/add1.c] fixed compiler warning
7616
7617	[src/mpfr-gmp.h] removed leftover debug statement
7618	[src/mpfr-impl.h] added MPFR_LIMB macro
7619	[src/sub1sp.c] fix for 16-bit limb
7620
76212018-08-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
7622
7623	[src/mpfr-gmp.h] more changes for 16-bit limb
7624	[src/mpfr-impl.h] mpfr-longlong.h should not be used for limb < long
7625
7626	[mpfr-gmp.h] added comment
7627
7628	[mpfr-mini-gmp.c] fix for 16-bit limb
7629
7630	[src/set_ui_2exp.c] fix for 16-bit limb
7631
76322018-08-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
7633
7634	[src/round_p.c] gmp_fprintf is not defined in mini-gmp
7635
7636	[tests/tadd.c] fix for 16-bit limb
7637
7638	[src/add1.c] revert previous commit since it does not remove the warning:
7639	add1.c: In function ���mpfr_add1���:
7640	add1.c:407:30: warning: ���<<��� in boolean context, did you mean ���<��� ? [-Wint-in-bool-context]
7641	           if (difs && (cprev << (GMP_NUMB_BITS - difs)))
7642	                       ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
7643
7644	[src/add1.c] fixed compiler warning (with gcc 8.2.0)
7645
76462018-08-29  Vincent Lef��vre  <vincent@vinc17.net>
7647
7648	[tests/tdiv_ui.c] Added a comment about a spurious failure
7649	with MPFR_RNDF if RND_LOOP_NO_RNDF were not used.
7650
76512018-08-28  Vincent Lef��vre  <vincent@vinc17.net>
7652
7653	[tests/tsinh.c] Fixed test introduced in r13047.
7654
7655	[src/{add_ui.c,sub_ui.c,ui_sub.c}] Fixed the bug introduced in r13066
7656	for the cases where MPFR_LONG_WITHIN_LIMB is defined (make sure that a
7657	significand allocated in the stack is not freed before the associated
7658	mpfr_t object).
7659
7660	[src/div_ui.c] Extend the exponent range in the case where
7661	MPFR_LONG_WITHIN_LIMB is not defined, resolving the FIXME.
7662	Note: a test was already there in tdiv_ui via the generic tests.
7663
7664	[tests/tdiv_ui.c] Disabled rnd=MPFR_RNDF in a loop as this now fails.
7665
7666	[tests/tdiv_ui.c] Corrected an error message.
7667
7668	[src/div.c] Avoid an infinite recursion when MPFR_LONG_WITHIN_LIMB
7669	is not defined (mpfr_div calls mpfr_div_ui, which calls mpfr_div).
7670	[src/div_ui.c] Made the preprocessor test on MPFR_LONG_WITHIN_LIMB
7671	consistent with the ones in the other .c files.
7672
7673	[src/{add_ui.c,sub_ui.c,ui_sub.c}] Fixed the cases where
7674	MPFR_LONG_WITHIN_LIMB is not defined (regression in the
7675	latest changes). Also avoid unused variables.
7676
7677	Removed trailing whitespace.
7678
7679	[src/ui_sub.c] Extend the exponent range early enough.
7680
7681	[src/add_ui.c] Extend the exponent range early enough.
7682
7683	[src/sub_ui.c] Extend the exponent range early enough.
7684
76852018-08-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
7686
7687	[src/get_ld.c] adapt to GMP_NUMB_BITS=16
7688
76892018-08-28  Vincent Lef��vre  <vincent@vinc17.net>
7690
7691	[src/div_ui.c] Added a FIXME.
7692
76932018-08-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
7694
7695	[src/set_ld.c] adapt to GMP_NUMB_BITS=16
7696
7697	[src/set_d.c] adapt to GMP_NUMB_BITS=16 (not yet tested)
7698
7699	[src/exp_2.c] removed a static assertion (duplicate with MPFR_LONG_WITHIN_LIMB)
7700
7701	[src/init2.c] split a static assertion in two
7702
7703	[src/mpfr-gmp.h] allow GMP_NUMB_BITS=16 (experimental, do not use!)
7704
7705	[src/set_d.c] make it easier to extend to GMP_NUMB_BITS<32
7706
7707	[configure.ac] read GMP_NUMB_BITS from mini-gmp.h when available
7708		       (otherwise assume mp_limb_t == unsigned long)
7709
7710	[src/ui_sub.c] make code work for limb < long
7711
7712	[src/sub_ui.c] make code work for limb < long
7713
7714	[src/div_ui.c] make code work for limb < long
7715
7716	[src/add_ui.c] make code work for limb < long
7717
7718	[mini-gmp] update
7719
7720	[tests/tsinh.c] improve coverage
7721
7722	[tests/tsubnormal.c] improve coverage
7723
77242018-08-27  Vincent Lef��vre  <vincent@vinc17.net>
7725
7726	[src/sub1sp.c] Added a FIXME about cp vs tp.
7727
77282018-08-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
7729
7730	[tests/tmul.c] improve coverage
7731
77322018-08-27  Vincent Lef��vre  <vincent@vinc17.net>
7733
7734	[src/sub1sp.c] Avoid bad usage of tp in the generic code:
7735	  * In the case d == 1, two branches were inconsistent: tp not defined
7736	    at the same level, with one shadowing the other one.
7737	  * In the case 2 <= d < p, tp was reused with a different meanings;
7738	    renamed the second one to cp, as this is MPFR_MANT(c).
7739
7740	[src/sub1sp.c] Re-added/updated FIXME about the long backward goto's.
7741
7742	[src/{add1sp.c,mul.c}] Updated the condition to use the formally
7743	extracted code and added a corresponding comment.
7744
77452018-08-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
7746
7747	[src/const_log2.c] further improve coverage
7748
77492018-08-27  Vincent Lef��vre  <vincent@vinc17.net>
7750
7751	[src/cache.c] Improved variable names (��� dprec for the precision of dest
7752	and cprec for the precision of the cache) and added/updated comments.
7753
7754	[src/cache.c] Reverted r13036 as what matters is the target precision,
7755	which can be very small.
7756
77572018-08-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
7758
7759	[src/add1sp1_extracted.c] replaced extracted code by new for MPFR_PREC_BITS=64
7760	[src/mul_1_extracted.c]   likewise
7761	[src/add1sp.c] changed condition to use the formally extracted code
7762	[src/mul.c]    likewise (but code is still not yet activated here)
7763
77642018-08-27  Vincent Lef��vre  <vincent@vinc17.net>
7765
7766	[src/cache.c] Comment: In practice, the "overflow handler" of
7767	MPFR_RNDRAW_GEN should never be called.
7768
77692018-08-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
7770
7771	[src/const_log2.c] avoid hard-coded values
7772	[tests/tconst_log2.c] improve coverage
7773
77742018-08-27  Vincent Lef��vre  <vincent@vinc17.net>
7775
7776	[src/cache.c] Replaced a test + mpfr_overflow by a MPFR_ASSERTD since
7777	the cached value (in extended exponent range) cannot overflow.
7778
77792018-08-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
7780
7781	[src/const_euler.c] better choice of (initial) working precision
7782	[tests/tconst_euler.c] added coverage test
7783
77842018-08-27  Vincent Lef��vre  <vincent@vinc17.net>
7785
7786	[tests/tversion.c] Update concerning the shared cache, to be consistent
7787	with the other mpfr_buildopt_*_p features:
7788	  * check that mpfr_buildopt_sharedcache_p() and MPFR_WANT_SHARED_CACHE
7789	    match;
7790	  * for the output of the value, test mpfr_buildopt_sharedcache_p()
7791	    instead of the macro.
7792
77932018-08-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
7794
7795	[tests/tconst_catalan.c] improve coverage
7796
7797	[tests/tbuildopt.c] added check of mpfr_buildopt_sharedcache_p()
7798
77992018-08-27  Vincent Lef��vre  <vincent@vinc17.net>
7800
7801	Removed trailing whitespace.
7802
78032018-08-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
7804
7805	[src/sub1sp.c] fixed even rule for p=1
7806
78072018-08-27  Vincent Lef��vre  <vincent@vinc17.net>
7808
7809	[src/mpfr-impl.h] Mention WG14/N2270 (proposed maybe_unused attribute),
7810	which could be useful to avoid MPFR_DBGRES.
7811
78122018-08-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
7813
7814	[src/sub1sp.c] finished simplifying the mpfr_sub1sp code
7815
7816	[src/sub1sp.c] simplified the computation of sbb
7817
7818	[src/sub1sp.c] full rewrite of mpfr_sub1sp (work in progress)
7819
78202018-08-23  Vincent Lef��vre  <vincent@vinc17.net>
7821
7822	[tests/tversion.c] Output "Enable formally proven code" info.
7823
7824	[doc/README.dev] Describe MPFR_WANT_PROVEN_CODE.
7825
7826	Renamed WANT_PROVEN_CODE to MPFR_WANT_PROVEN_CODE for consistency with
7827	the other WANT macros (and to avoid potential clashes with foreign .h
7828	files).
7829
7830	[tools/mpfrlint] For some tests, ignore extracted files (proven code).
7831
78322018-08-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
7833
7834	the mpfr_mul_1 extracted code is not proven yet
7835
78362018-08-23  Vincent Lef��vre  <vincent@vinc17.net>
7837
7838	For --enable-formally-proven-code, instead of requiring a check of the
7839	type sizes in configure, just enable the proven code only if the types
7840	have the sizes expected by this code.
7841	  * configure.ac: removed the FIXME.
7842	  * src/add1sp.c, src/mul.c: updated the #if test that enables the
7843	    proven code (add1sp1_extracted.c and mul_1_extracted.c).
7844
7845	[configure.ac] Updated FIXME for --enable-formally-proven-code
7846	(many failures with -m32 due to assumptions on type sizes).
7847
7848	[configure.ac] Added a FIXME for --enable-formally-proven-code.
7849
7850	[configure.ac] Updated message for --enable-formally-proven-code.
7851
78522018-08-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
7853
7854	added configure option --enable-formally-proven-code and corresponding code
7855
78562018-08-22  Vincent Lef��vre  <vincent@vinc17.net>
7857
7858	[doc/algorithms.tex] Ulp calculus: swap Rule 4 and Rule 5.
7859
7860	[doc/algorithms.tex] Ulp calculus Rule 4: make the proof much simpler.
7861
7862	[doc/algorithms.tex] Error calculus: implicitly assume x ��� 0 in ulp.
7863
7864	[src/sub1sp.c] Updated a FIXME.
7865
7866	[src/sub1sp.c] Removed a comment that brings nothing and is not
7867	really correct (this is not a "flag").
7868
78692018-08-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
7870
7871	[tests/mpfr-test.h] added macro TEST_FLAGS (debug use only)
7872
78732018-08-22  Vincent Lef��vre  <vincent@vinc17.net>
7874
7875	[tests/tversion.c] Portability corrections related to the use of the
7876	preprocessor / code robustness.
7877
78782018-08-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
7879
7880	[src/sub1sp.c] revert mpfr_sub1sp to the version of revision 12241
7881
7882	[src/sub1sp.c] fixed bug20180813
7883
7884	[tests/tsub1sp.c] improved comment about bug20180813()
7885
78862018-08-21  Vincent Lef��vre  <vincent@vinc17.net>
7887
7888	[doc/mpfr.texi] Updated the month.
7889
78902018-08-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
7891
7892	[tests/tsub1sp.c] added a test for a bug in mpfr_sub1sp (to be fixed)
7893
78942018-08-20  Vincent Lef��vre  <vincent@vinc17.net>
7895
7896	[doc/mpfr.texi] Replaced "Section ``Rounding''" by "@ref{Rounding}".
7897
78982018-08-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
7899
7900	[doc/mpfr.texi] renamed Section "Rounding Modes" to "Rounding"
7901
79022018-08-18  Vincent Lef��vre  <vincent@vinc17.net>
7903
7904	Avoid a pointer-to-int-cast warning with GCC (e.g. under 32-bit Linux)
7905	by casting pointers to uintptr_t before the cast to mpfr_uintmax_t.
7906	  * acinclude.m4: use AC_TYPE_UINTPTR_T to define uintptr_t if
7907	    not available.
7908	  * tests/memory.c: added casts to uintptr_t.
7909
79102018-08-16  Vincent Lef��vre  <vincent@vinc17.net>
7911
7912	Code robustness in macro definitions.
7913
7914	[src/sqr.c] Changed a variable name to avoid confusion with the function
7915	parameter of the same name, which has a different type.
7916
7917	[src/mpfr-impl.h] Added a cast to mp_bitcnt_t in order to fix potential
7918	integer overflow in MPFR_MPZ_SIZEINBASE2.
7919
7920	[src/round_raw_generic.c] Type consistency.
7921
7922	Added MPFR_INC_PREC definition (similar to MPFR_ADD_PREC) and replaced
7923	some MPFR_ADD_PREC occurrences by MPFR_INC_PREC. In src/bernoulli.c,
7924	replaced += by MPFR_INC_PREC to detect overflow.
7925
79262018-08-11  Vincent Lef��vre  <vincent@vinc17.net>
7927
7928	Replaced "TZ=UTC" by "TZ=UTC0" for portability.
7929
79302018-08-06  Vincent Lef��vre  <vincent@vinc17.net>
7931
7932	[src/round_raw_generic.c] Avoid a useless variable. This should
7933	also avoid warnings with Windows ICC, reported at:
7934	  https://sympa.inria.fr/sympa/arc/mpfr/2018-08/msg00002.html
7935
7936	[tests/tcan_round.c] Added missing casts for printf (error messages).
7937	Bug detected under MS Windows, where size_t > unsigned long. See:
7938	  https://sympa.inria.fr/sympa/arc/mpfr/2018-08/msg00002.html
7939
7940	[tests/tdiv_ui.c] Improved the conditions for test_20170105().
7941	In particular, the new preprocessor test can avoid spurious warnings
7942	on large shifts (false positives) with MS Windows. See:
7943	  https://sympa.inria.fr/sympa/arc/mpfr/2018-08/msg00002.html
7944
7945	[doc/README.dev] More details about intmax_t, mpfr_intmax_t, etc.
7946
7947	[tests/memory.c] To print a size_t or a pointer in error messages,
7948	cast to mpfr_uintmax_t (largest integer type available) instead of
7949	unsigned long, which may be too short (e.g. under MS Windows).
7950	See: https://sympa.inria.fr/sympa/arc/mpfr/2018-08/msg00002.html
7951
7952	[src/mpfr-intmax.h] Define MPFR_INTMAX_FSPEC macro: length modifier
7953	for printf corresponding to mpfr_intmax_t and mpfr_uintmax_t.
7954
7955	[doc/README.dev] Updated/added links about coding standards and C.
7956
79572018-08-05  Vincent Lef��vre  <vincent@vinc17.net>
7958
7959	[tools/mpfrlint] Updated a comment: more details about __GMP_DECLSPEC,
7960	in particular those found in GMP's longlong.h file.
7961
79622018-08-05  Vincent Lef��vre  <vincent@vinc17.net>
7963
7964	[src/mpfr-longlong.h] Replaced __GMP_DECLSPEC by __MPFR_DECLSPEC.
7965
7966	Otherwise, with Windows DLL, __GMP_DECLSPEC is replaced by
7967	__declspec(dllimport), which is wrong when building MPFR and
7968	yields warning LNK4217 such as:
7969
7970	  eint.obj : warning LNK4217: locally defined symbol mpfr_clz_tab
7971	  imported in function mpfr_eint
7972
7973	due to
7974
7975	  extern const unsigned char __GMP_DECLSPEC __clz_tab[129];
7976
7977	(note that mpfr_clz_tab is defined with "#define __clz_tab mpfr_clz_tab"
7978	only without the GMP build).
7979
7980	See:
7981	  https://sympa.inria.fr/sympa/arc/mpfr/2018-08/msg00000.html
7982	  https://sympa.inria.fr/sympa/arc/mpfr/2018-08/msg00001.html
7983
79842018-08-05  Vincent Lef��vre  <vincent@vinc17.net>
7985
7986	[tools/mpfrlint] Check that __GMP_DECLSPEC is not used by MPFR.
7987
79882018-07-31  Vincent Lef��vre  <vincent@vinc17.net>
7989
7990	[tests/tversion.c] Try to detect missing output from the first printf
7991	that occurred once with i586-mingw32msvc-gcc -D__USE_MINGW_ANSI_STDIO
7992	and run under Wine.
7993	(merged changesets r12968-12969 from the 4.0 branch)
7994
79952018-07-27  Vincent Lef��vre  <vincent@vinc17.net>
7996
7997	[acinclude.m4,configure.ac] Check the support of the group flag for
7998	  native integers, which is a Single UNIX Specification extension.
7999	[tests/tsprintf.c] Test the group flag with the P length modifier only
8000	  when supported, since the implementation relies on this support.
8001
8002	[src/vasprintf.c] Fixed bug with the P length modifier (mpfr_prec_t):
8003	  a '0' flag was always added when calling gmp_asprintf. This bug
8004	  wasn't detected under Linux because the case for which it was
8005	  occurring (left space padding without a precision and without a
8006	  '0' flag) was not tested. With Wine, tsprintf was failing because
8007	  of a bug in the stdio library: the '0' flag added by mistake should
8008	  have been ignored in some test with a precision, but it wasn't.
8009	[tests/tsprintf.c] Added a test that made a failure occur under Linux.
8010
8011	[tests/tsprintf.c] Added 2 other tests with the P length modifier.
8012
8013	[src/vasprintf.c] Fixed bug with the P length modifier (mpfr_prec_t).
8014	[tests/tsprintf.c] Corrected/added tests with the P length modifier.
8015
80162018-07-26  Vincent Lef��vre  <vincent@vinc17.net>
8017
8018	[src/vasprintf.c] Fixed various overflow and close-to-overflow issues.
8019	Those with the P length modifier (mpfr_prec_t) will be fixed later.
8020
8021	[tests/tsprintf.c] Another failure with the P length modifier.
8022
8023	[tests/tsprintf.c] Added tests with the P length modifier (mpfr_prec_t),
8024	yielding mode failures.
8025
8026	[src/vasprintf.c] Fixed "store to null pointer" and free of bad pointer
8027	in case of error.
8028
8029	[tests/tsprintf.c] Added a test that yields a "store to null pointer",
8030	detected by UBsan.
8031
80322018-07-25  Vincent Lef��vre  <vincent@vinc17.net>
8033
8034	[src/vasprintf.c] Bug fix: in case of some errors (via "goto error;"),
8035	va_end wasn't called, yielding undefined behavior.
8036
80372018-07-23  Vincent Lef��vre  <vincent@vinc17.net>
8038
8039	[tests] Added tget_set_d128 to svn:ignore property.
8040
8041	[src/erf.c] More security about tauk.
8042
8043	[src/erf.c] Removed a meaningless cast.
8044
80452018-07-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
8046
8047	[src/erf.c] replaced double's by mpfr_t to fix bug reported by Naoki Shibata
8048
80492018-07-22  Vincent Lef��vre  <vincent@vinc17.net>
8050
8051	[tests/terf.c] Added a testcase for bug reported by Naoki Shibata:
8052	  https://sympa.inria.fr/sympa/arc/mpfr/2018-07/msg00028.html
8053	(uceil_log2.c:40: MPFR assertion failed: exp < 1023).
8054	Increased the number of generic tests in order to reproduce the bug
8055	there too with the default seed.
8056
80572018-07-21  Vincent Lef��vre  <vincent@vinc17.net>
8058
8059	[src/subnormal.c] C89 compatibility.
8060
80612018-07-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
8062
8063	[src/subnormal.c] experimental support for RNDNA
8064
80652018-07-20  Vincent Lef��vre  <vincent@vinc17.net>
8066
8067	Added examples/threads.c (and updated Makefile.am): multithreading test
8068	to detect scaling issues with MPFR.
8069
80702018-07-19  Vincent Lef��vre  <vincent@vinc17.net>
8071
8072	[src/vasprintf.c] Updated a FIXME.
8073
8074	[src/vasprintf.c] More FIXME's.
8075
8076	[src/vasprintf.c] Reindentation.
8077
8078	[src/vasprintf.c] Added a FIXME for MPFR_PREC_ARG handling.
8079
80802018-07-18  Vincent Lef��vre  <vincent@vinc17.net>
8081
8082	Shared caches: fix and minor changes.
8083	  * Fixed detection and use of C11 thread support: the C11 header is
8084	    <threads.h>, not <thread.h>.
8085	  * Renamed WANT_SHARED_CACHE to MPFR_WANT_SHARED_CACHE for consistency
8086	    with the other MPFR_WANT_* macros.
8087	  * Added MPFR_THREAD_LOCK_METHOD macro, giving the thread locking
8088	    method as a string (when shared caches are enabled).
8089	  * doc/README.dev: documented 4 macros for shared caches.
8090	  * tests/tversion.c: output MPFR_WANT_SHARED_CACHE and
8091	    MPFR_THREAD_LOCK_METHOD information.
8092
8093	[tests/tconst_pi.c] Removed an incorrect assertion, as the #else would
8094	be applicable when WANT_SHARED_CACHE is defined but not HAVE_PTHREAD
8095	(which may occur when MPFR_HAVE_C11_LOCK is defined).
8096
8097	[src/vasprintf.c] Fixed type in partition_number to be consistent with
8098	the end of the function.
8099
81002018-07-16  Vincent Lef��vre  <vincent@vinc17.net>
8101
8102	[src/vasprintf.c] Added 2 FIXME and removed an incorrect MPFR_ASSERTN
8103	(which came from r5236).
8104
8105	[tests/tsprintf.c] Added other tests to check_length_overflow, which
8106	would trigger other bugs in src/vasprintf.c (e.g. when removing the
8107	other failing tests).
8108
8109	[tests/tsprintf.c] Added check_length_overflow to check the behavior of
8110	mpfr_snprintf on a large number of output characters (> INT_MAX) with
8111	size = 0. This test is actually done only if INT_MAX == 2147483647 and
8112	currently fails in such a case.
8113
8114	[src/vasprintf.c] Updated comment about overflow on the number of output
8115	characters, taking into account the latest ISO C and POSIX standards.
8116
8117	[tests/tsprintf.c] Updated a comment.
8118
81192018-07-13  Vincent Lef��vre  <vincent@vinc17.net>
8120
8121	[src/vasprintf.c] Simplified mpfr_get_str_wrapper.
8122
8123	[src/vasprintf.c] Added a log message.
8124
8125	[src/mpfr-impl.h] Added a FIXME: _Decimal128 code and _MPFR_IEEE_FLOATS
8126	(which is about binary IEEE-754 floating point) should be unrelated.
8127
8128	[src/get_d64.c]
8129	  * Added FIXME's for get_decimal64_nan and get_decimal64_inf internal
8130	    functions: possible issue with _MPFR_IEEE_FLOATS code, which also
8131	    seems more complex than the generic code.
8132	  * Simplified get_decimal64_zero internal function to generate a
8133	    decimal zero directly instead of using the fact that a binary64
8134	    zero is also the encoding of a decimal zero (and assuming that
8135	    double = binary64 with perfect endianness matching).
8136
8137	[acinclude.m4] Updated message about the _Float128 support, since
8138	this is not just about the compiler.
8139
8140	[acinclude.m4] Fixed the _Float128 / __float128 detection for NetBSD:
8141	Optimization made the "undefined reference" error disappear, so that
8142	__float128 was misdetected as being supported.
8143
81442018-07-12  Vincent Lef��vre  <vincent@vinc17.net>
8145
8146	[acinclude.m4] For the _Float128 / __float128 detection, changed
8147	AC_COMPILE_IFELSE to AC_LINK_IFELSE since an error may occur only
8148	at link time, such as under NetBSD:
8149	  https://mail-index.netbsd.org/pkgsrc-users/2018/02/02/msg026220.html
8150	  https://mail-index.netbsd.org/pkgsrc-users/2018/02/05/msg026238.html
8151
8152	[src/Makefile.am] Corrected check-exported-symbols to avoid a failure
8153	when the default .SHELLFLAGS value is '-ec' (POSIX) instead of '-c'
8154	(GNU Make, which is not in POSIX-conforming mode by default).
8155	Bug found on FreeBSD 11.1 (Compile Farm @ HouseGordon.com).
8156
81572018-07-11  Vincent Lef��vre  <vincent@vinc17.net>
8158
8159	[src/vasprintf.c] In buffer_sandwich, simplified the handling of the
8160	trailing zero (avoid memset and a useless assignment).
8161
81622018-07-09  Vincent Lef��vre  <vincent@vinc17.net>
8163
8164	[doc/mpfr.texi] More changes to Section "Nomenclature and Types";
8165	in particular, defined regular numbers and exponents.
8166
8167	[doc/mpfr.texi] In Section "Nomenclature and Types", removed all the
8168	@noindent, whose purpose is unclear (if one needs something special,
8169	an itemized list would be better, or possibly @deffn).
8170
8171	[doc/mpfr.texi] Rewrote the paragraph defining "floating-point number"
8172	in Section "Nomenclature and Types", avoiding ambiguities.
8173
81742018-07-06  Vincent Lef��vre  <vincent@vinc17.net>
8175
8176	[tests/tprintf.c] Grrr... again a copy-paste error. Now OK.
8177
8178	[tests/{tprintf.c,tsprintf.c}] Corrected the tests added in r12898,
8179	but tprintf still fails.
8180
8181	[tests/tsprintf.c] Corrected the latest tests.
8182
8183	[tests/tsprintf.c] Added tests (failure on "%09.3Rg" for 1000).
8184
8185	[tests/tsprintf.c] Corrected comments.
8186
8187	[tests/{tprintf.c,tsprintf.c}] Added tests (both programs fail).
8188
8189	[doc/mpfr.texi] Updated the month.
8190
8191	[src/vasprintf.c] Corrected comments and coding style.
8192
8193	[src/vasprintf.c] Resolve the FIXME.
8194	  * Renamed ip_trailing_zeros to ip_trailing_digits, since when
8195	    spec.size == 0, these can be any digits.
8196	  * Simplified the buffer_sandwich function since it can be called
8197	    only when spec.size != 0, in which case tz (= ip_trailing_digits)
8198	    is either 0 or 1 (a trailing zero must be added only when rounding
8199	    to the next power of ten in the %f case).
8200	  * Corrected/removed/added comments.
8201
8202	[tests/{tprintf.c,tsprintf.c}] Added tests with powers of ten in all
8203	rounding modes and powers of ten + 0.5 in rounding to nearest.
8204
82052018-07-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
8206
8207	[doc/mpfr.texi] typo in Fredrik's name
8208
8209	[AUTHORS] typo in Fredrik's name
8210
82112018-07-04  Vincent Lef��vre  <vincent@vinc17.net>
8212
8213	[tests/tprintf.c] Added a TODO (for the FIXME in src/vasprintf.c).
8214
8215	[src/vasprintf.c] Updated the FIXME comment.
8216
8217	[src/vasprintf.c] Added a FIXME comment about an incorrect comment.
8218
8219	[src/vasprintf.c] Added log messages in buffer_sandwich.
8220
8221	[tests/tsprintf.c] Added more tests of the form 10^i - 1/2
8222	(like in tprintf.c).
8223
8224	[tests/tprintf.c] Added more tests of the form 10^i - 1/2.
8225
8226	[tests/tsprintf.c] Added test_locale() test based on the tprintf.c one.
8227
8228	[tests/tprintf.c] Minor correction.
8229
8230	[tests/tprintf.c] More test_locale() cleanup.
8231
8232	[src/vasprintf.c] English usage in a comment.
8233
8234	[src/vasprintf.c] Renamed mpfr_get_str_aux to mpfr_get_str_wrapper
8235	in order to avoid a confusion with the mpfr_get_str_aux function
8236	from get_str.c (moreover, this is really a wrapper, which is the
8237	reverse of an aux function).
8238
8239	[tests/tsprintf.c] locale_da_DK() cleanup.
8240
82412018-07-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
8242
8243	[src/vasprintf.c] partly revert commit 12873
8244
82452018-07-04  Vincent Lef��vre  <vincent@vinc17.net>
8246
8247	[tests/tprintf.c] test_locale() cleanup.
8248	  * Conditional #include <locale.h> with the other header inclusions.
8249	  * Completed a #if (to be like in tsprintf.c).
8250	  * Moved a global variable as local to test_locale().
8251
82522018-07-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
8253
8254	[src/vasprintf.c] replaced overflow tests by assertions
8255	[tests/tprintf.c] improve test coverage
8256
82572018-07-04  Vincent Lef��vre  <vincent@vinc17.net>
8258
8259	Added MPFR_CHECK_LOCALES environment variable for the tests (to be
8260	used by developers): when set, terminate with an error if locales
8261	cannot be tested.
8262
82632018-07-04  Vincent Lef��vre  <vincent@vinc17.net>
8264
8265	[src/vasprintf.c] Fixed several bugs in buffer_sandwich, which could
8266	yield memory corruption with non-default memory allocators and other
8267	undefined behavior; check the return value when this function is called.
8268
8269	Details:
8270	  * check integer overflow on the size computations;
8271	  * computation of q and r without tests;
8272	  * fixed the case where r > len (e.g. len = 1 and tz = 1);
8273	  * in the loop, increase the str pointer only when needed, otherwise
8274	    str could be beyond of the end of the string of the digits, which
8275	    is undefined behavior.
8276
8277	The first consequence of the r > len issue was an incorrect generated
8278	string. Moreover, since the generated string was shorter than expected,
8279	mpfr_free_str would provide an incorrect buffer size to the "free"
8280	function of the current GMP memory allocator. By default, this size is
8281	ignored, but it may matter if the memory allocators have been changed
8282	with the mp_set_memory_functions GMP function, in which case a possible
8283	consequence could be memory corruption.
8284
82852018-07-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
8286
8287	[src/vasprintf.c] added an assertion
8288	[tests/tprintf.c] added two tests (one currently fails)
8289
82902018-06-26  Vincent Lef��vre  <vincent@vinc17.net>
8291
8292	[src/vasprintf.c] C90 compatibility.
8293
82942018-06-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
8295
8296	[tests/tsprintf.c] fixed another test
8297
8298	[tests/tsprintf.c] fixed test
8299
8300	[src/vasprintf.c] improve coverage
8301
8302	[tests/tsprintf.c] improve coverage
8303
8304	[tests/tsprintf.c] improve coverage
8305
83062018-06-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
8307
8308	[tests/tgamma_inc.c] improve coverage
8309
8310	[tests/tgamma_inc.c] added coverage test
8311
8312	[src/gamma.c] added comment
8313	[src/gamma_inc.c] fixed bug for gamma_inc(-Inf, 0)
8314	[tests/tgamma_inc.c] added coverage tests
8315
83162018-06-23  Vincent Lef��vre  <vincent@vinc17.net>
8317
8318	[configure.ac] Do not do specific CFLAGS settings for MS-Windows ICC.
8319	See <https://sympa.inria.fr/sympa/arc/mpfr/2018-06/msg00027.html>.
8320
8321	[src/mpfr-impl.h] Spelling in a comment.
8322
8323	[src/mpfr-impl.h] Fixed change in r12847.
8324
8325	[tests/tget_set_d64.c] Improved a test.
8326
8327	[tests/tget_set_d128.c] Replaced d != d by DOUBLE_ISNAN (d).
8328
8329	[doc/mpfr.texi] Updated the month.
8330
8331	[tests/tget_set_{d64,d128}.c] When MPFR_ERRDIVZERO is defined,
8332	disable tests that can trigger a FP exception DIVBYZERO or INVALID
8333	(issue detected with -DMPFR_TESTS_FPE_DIV -DMPFR_ERRDIVZERO).
8334
83352018-06-22  Vincent Lef��vre  <vincent@vinc17.net>
8336
8337	[src/mpfr-impl.h] Improved a comment about union ieee_decimal128.
8338
8339	Do not assume that the bit-field ordering for _Decimal128 is necessarily
8340	little endian or big endian (this is more than the usual endianness
8341	issue). If this cannot be detected, instead of failing or assuming a
8342	possibly wrong default, switch to the portable code.
8343
83442018-06-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
8345
8346	added mpfr_get_decimal128 and mpfr_set_decimal128 to the manual
8347
8348	[tests/tget_set_d128.c] test some random 16-byte inputs
8349
8350	[tests/tget_set_d64.c] test random inputs
8351
8352	[acinclude.m4] added configure test to determine the encoding of _Decimal128 (little or big endian)
8353
8354	[doc/README.dev] added standard suffixes
8355
8356	[tests/tget_set_d64.c] fixed a test
8357
8358	[tests/tget_set_d64.c] removed TODO (done), added comment
8359	[tests/tget_set_d128.c] removed TODO (done)
8360
8361	[src/set_d64.c] added comment (like for set_d128.c)
8362
8363	[src/get_d64.c] improve comment
8364	[src/get_d128.c] likewise
8365
8366	[src/set_d64.c] also deal with non-canonical BID encoding
8367	[tests/tget_set_d64.c] added test with non-canonical BID encoding
8368
83692018-06-22  Vincent Lef��vre  <vincent@vinc17.net>
8370
8371	[src/get_d128.c] Bug fix (buffer overflow detected by AddressSanitizer).
8372
8373	[src] Moved the FIXME comment from set_d128.c to get_d128.c since the
8374	bug occurs in mpfr_get_decimal128 according to the AddressSanitizer.
8375
8376	[src/set_d128.c] Updated FIXME comment.
8377
8378	[src/sqrt.c] Replaced a umul_ppmm by umul_hi, and removed an unused
8379	variable as a consequence.
8380
8381	[src/set_d64.c] Code improvement (like r12809 and r12828 in set_d128.c).
8382
8383	[src/set_ld.c] Removed unused variable for
8384	HAVE_LDOUBLE_MAYBE_DOUBLE_DOUBLE (PowerPC).
8385
8386	[src/invsqrt_limb.h] Avoid a "variable ���_l��� set but not used" warning
8387	on some platforms, such as powerpc64le-unknown-linux-gnu.
8388
8389	[src/invert_limb.h] Avoid a "variable ���_l��� set but not used" warning
8390	on some platforms, such as powerpc64le-unknown-linux-gnu.
8391
8392	[src/set_d128.c] Avoid "unused variable" warnings on platforms with DPD.
8393
8394	[src/mpfr-impl.h] About union ieee_double_decimal64: removed an
8395	incorrect comment and added a TODO.
8396
8397	Changed union ieee_double_decimal128 to union ieee_decimal128 since this
8398	has nothing to do with double (unlike union ieee_double_decimal64). Also
8399	refactored code for this union definition.
8400
8401	[src/mpfr-impl.h] Updated TODO for DPD.
8402
8403	[src/mpfr-impl.h] Added TODO for DPD (better structure definition).
8404
8405	[tests/tget_set_d128.c] Execute BID code only with BID.
8406
8407	[tests/tget_set_d128.c] Simplification and better portability.
8408
84092018-06-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
8410
8411	[tests/tget_set_d128.c] added coverage tests for non-canonical BID encodings
8412
8413	[src/set_d128.c] improve last commit
8414
8415	[src/set_d128.c] improved a comment
8416
84172018-06-22  Vincent Lef��vre  <vincent@vinc17.net>
8418
8419	[src/set_d128.c] Re-added "while (...)" erroneously removed in r12817.
8420
84212018-06-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
8422
8423	[src/set_d64.c] added comment
8424	[src/set_d128.c] likewise
8425
8426	[src/set_d128.c] avoid variable conflict for DPD
8427
8428	[src/set_d128.c] implement for DFD encoding
8429
8430	[src/set_d64.c] added comment and space
8431
84322018-06-22  Vincent Lef��vre  <vincent@vinc17.net>
8433
8434	[src/set_d128.c] Added a FIXME (stack-buffer-overflow).
8435
8436	[src/set_d128.c] Corrected r12811.
8437
8438	[src/set_d128.c] _MPFR_IEEE_FLOATS code for BID: correctly support
8439	the decoded significand >= 10^34 cases (non-canonical encodings),
8440	which must be zero.
8441
8442	[tests/{tget_set_d64.c,tget_set_d128.c}] TODO: Also test non-canonical
8443	encodings.
8444
8445	[src/set_d128.c]
8446	  * Enable the _MPFR_IEEE_FLOATS code only for GMP_NUMB_BITS == 32 or 64
8447	    (as the other values are not supported by this code).
8448	  * Bug fix for GMP_NUMB_BITS == 32 (��� tget_set_d128 no longer fails).
8449	  * Added an assertion corresponding to a comment.
8450
8451	[src/set_d128.c] Fit on 80 columns.
8452
84532018-06-21  Vincent Lef��vre  <vincent@vinc17.net>
8454
8455	[src/mpfr-impl.h] Updated a title comment (��� Decimal support).
8456
8457	[src/mpfr-impl.h] Corrected a comment.
8458
84592018-06-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
8460
8461	[src/set_d128.c] added comments
8462
8463	[src/set_d128.c] remove debug stuff
8464
8465	[src/mpfr-impl.h] assume little-endian double implies little-endian decimal128
8466
84672018-06-21  Vincent Lef��vre  <vincent@vinc17.net>
8468
8469	[src/mpfr-impl.h] FIXME for _Decimal128.
8470
84712018-06-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
8472
8473	[src/set_d128.c] (partly) implement the _MPFR_IEEE_FLOATS case (BID only so far)
8474	[tests/tget_set_d128.c] added more tests
8475
8476	[src/set_d64.c] added comments
8477
8478	[src/get_d128.c] removed useless comment
8479
84802018-06-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
8481
8482	[src/get_d128.c] avoid using doubles
8483	[tests/tget_set_d128.c] improve test coverage
8484
8485	[tests/tget_set_d128.c] improve test coverage
8486
8487	[tests/tget_set_d128.c] improve coverage
8488
8489	added mpfr_get_decimal128 (still experimental)
8490
8491	[get_d64.c] added comments and simplified code
8492
84932018-06-20  Vincent Lef��vre  <vincent@vinc17.net>
8494
8495	[tests/{tget_set_d64.c,tget_set_d128.c}] Tests on powers of 10:
8496	test negative numbers too.
8497
84982018-06-19  Vincent Lef��vre  <vincent@vinc17.net>
8499
8500	[doc/README.dev] Added a note about FP constants and native FP.
8501
8502	[tools/mpfrlint] Check that preprocessing directives have no spaces
8503	before.
8504
8505	[src/set_d128.c] Modified a comment.
8506
8507	[src/set_d128.c] Avoid double, which is unreliable with GCC
8508	in non-standard mode (see GCC bug 323 and the discussion in
8509	GCC bug 85957). But the failure in tget_set_d128 probably came from
8510	the fact that (_Decimal128) 0.1 is not 1/10 exactly (the double 0.1
8511	has about a 17-digit precision only, while _Decimal128 has more);
8512	this test now passes.
8513
8514	[src/set_d128.c] Simplified code and added assertions.
8515
8516	[src/set_d64.c] Added a log message (like in set_d128.c).
8517
8518	[src/{set_d64.c,set_d128.c}] Bug fix: use mpfr_strtofr instead of
8519	mpfr_set_str to get the ternary value.
8520
8521	[tests/{tget_set_d64.c,tget_set_d128.c}] Added tests on powers of 10.
8522	  * tget_set_d64 fails on negative due to a bad ternary value.
8523	  * tget_set_d128 fails on negative due to bad value, etc.
8524
8525	[tests/tget_set_d128.c] Test the flags too.
8526
8527	[tests/tget_set_d128.c] Test more values.
8528
8529	[tests/tget_set_d128.c] Converting an integer into _Decimal128 is better
8530	than converting a double into _Decimal128.
8531
8532	[tests/tget_set_d128.c] Simplified the test, avoiding a bug in ICC 15
8533	at the same time (1.0D was regarded as 0).
8534
8535	[tests/tget_set_d128.c] Fixed indentation.
8536
8537	[tests/tversion.c] Decimal formats: output the encoding type (DPD/BID).
8538
8539	[src/set_d128.c] Changed _GMP_IEEE_FLOATS to _MPFR_IEEE_FLOATS as per
8540	r10958 (in set_d128.c, currently in a comment due to r12772).
8541
8542	[src/set_d128.c] Added a log message.
8543
8544	[tests/tget_set_d128.c] Added an informative error message.
8545
8546	[src/set_d128.c] Disable the _GMP_IEEE_FLOATS code, which is not
8547	complete yet and makes the compilation fail.
8548
85492018-06-13  Vincent Lef��vre  <vincent@vinc17.net>
8550
8551	[src/set_d128.c] Corrected year in copyright notice.
8552
8553	[src/set_d128.c] Minor improvements.
8554
85552018-06-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
8556
8557	[tests/tget_set_d64.c] added -v option to get verbose output
8558	[tests/tget_set_d128.c] likewise
8559
85602018-06-13  Vincent Lef��vre  <vincent@vinc17.net>
8561
8562	[TODO] Missing "r".
8563
85642018-06-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
8565
8566	[TODO] update for mpfr_set_decimal128
8567
8568	added mpfr_set_decimal128 (work in progress, not yet fully tested)
8569
85702018-06-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
8571
8572	[tools/coverage] added branch coverage
8573
85742018-06-07  Vincent Lef��vre  <vincent@vinc17.net>
8575
8576	[src/strtofr.c] Moved some computations on the exponents earlier
8577	since they may yield an early overflow or underflow, and computing
8578	the division by b^e would be useless in such a case.
8579
8580	[src/strtofr.c] Added a MPFR_ASSERTD and a FIXME on things that don't
8581	make much sense in the error analysis (still trying to understand���).
8582
85832018-06-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
8584
8585	[src/const_pi.c] missing reference about Brent-Salamin
8586
8587	[doc/algorithms.bib] added reference
8588
85892018-06-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
8590
8591	[tests/tfmma.c] improve coverage of the UBF case in mpfr_sub
8592			(now coverage of sub.c is 100%)
8593
85942018-06-05  Vincent Lef��vre  <vincent@vinc17.net>
8595
8596	[src/sum.c] Updated TODO from r12755.
8597
85982018-06-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
8599
8600	[src/fmma.c] now mpfr_fmms calls mpfr_sub for a better coverage
8601
86022018-06-04  Vincent Lef��vre  <vincent@vinc17.net>
8603
8604	[src/sum.c] Updated TODO from r12755.
8605
8606	[src/sum.c] Added a comment with a TODO about potentially dead code on
8607	some platforms.
8608
8609	codespell: simplified exceptions.
8610	  * Added codespell.exclude file.
8611	  * codespell.ignore: removed some words (particular cases).
8612	  * tools/mpfrlint: use the codespell.exclude exclude file, and for
8613	    the doc directory, replaced -S by an explicit list of files.
8614
8615	[codespell.ignore] Also ignore "objext" and "tim" (codespell 1.13).
8616
86172018-06-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
8618
8619	[src/sub1.c] fixed a bug and solved a FIXME (underflow for UBFs)
8620	Note: this mostly reverts r12319, r12321, and the remaining FIXME
8621	from r12327.
8622	[tests/tfmma.c] added non-regression tests
8623
86242018-06-02  Vincent Lef��vre  <vincent@vinc17.net>
8625
8626	[src/mpfr-impl.h] Concerning r12738, the safer code can be avoided
8627	with GCC in ISO C mode (__STRICT_ANSI__).
8628
86292018-06-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
8630
8631	[src/invert_limb.h] fixed two typos reported by Marco Bodrato
8632
86332018-06-02  Vincent Lef��vre  <vincent@vinc17.net>
8634
8635	[tests/tversion.c] For GCC, output __STRICT_ANSI__ when defined.
8636
86372018-06-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
8638
8639	[src/sqrt.c] fixed/improved comments
8640
86412018-05-31  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
8642
8643	[src/invsqrt_limb.h] fixed typos in comments
8644
86452018-05-31  Vincent Lef��vre  <vincent@vinc17.net>
8646
8647	[doc/README.dev] Updated a URL.
8648
8649	[src/mpfr-impl.h] Fixed potential compilation failure with _Decimal64,
8650	detected with r12738.
8651
8652	[doc/mpfr.texi] Updated the month.
8653
8654	Updated mpfr.org URL's to use https (except in ChangeLog and NEWS).
8655
8656	[src/mpfr-impl.h] With GCC, select safer code for DOUBLE_ISNAN(x).
8657
86582018-05-30  Vincent Lef��vre  <vincent@vinc17.net>
8659
8660	[tools/announce-text] http ��� https (for mpfr.org).
8661
8662	[doc] Updated FAQ.html with update-faq.
8663
8664	[doc] Workaround due to the lack of https support in libxml2
8665	and the fact that mpfr.org now uses https with HSTS.
8666	  * faq.xsl: for the visual.css, use a local URL.
8667	  * update-faq: download visual.css from mpfr.org first.
8668
8669	[doc/update-faq] http ��� https
8670
8671	[src/mpfr-impl.h] Added a FIXME about DOUBLE_ISNAN and GCC.
8672
86732018-05-28  Vincent Lef��vre  <vincent@vinc17.net>
8674
8675	[src/strtofr.c] Continued to review the new error analysis and code.
8676	Changes:
8677	  * made the code more SSA-like (avoid a "y += ysize; y -= ysize;");
8678	  * clarified comments;
8679	  * use MPFR_LIMB_MSB;
8680	  * added a FIXME on the error analysis.
8681
8682	[doc/README.dev] Added info about shell portability, and in particular
8683	about quotes (covering changes in r5659, r6128, r12711 and r12721).
8684
8685	[tools/{ck-clz_tab,ck-copyright-notice,ck-mparam,update-version}] Fixed
8686	non-portable quote nesting in backticks.
8687
8688	[examples] Added "mpfr_free_cache ();" at the end of all programs,
8689	as this is something that should be done systematically (at least
8690	to detect memory leaks with valgrind).
8691
86922018-05-25  Vincent Lef��vre  <vincent@vinc17.net>
8693
8694	[src/strtofr.c] Started to review the new error analysis and code
8695	(r12705,12706). Minor improvements.
8696
8697	[src/{mpfr-impl.h,mpn_exp.c}] Changed the return type of mpfr_mpn_exp
8698	from long to int for consistency with the mpfr_mpn_exp code and with
8699	strtofr.c (which expects an int).
8700
8701	[src/mpn_exp.c] Code cleanup and protection against integer overflow.
8702
87032018-05-24  Vincent Lef��vre  <vincent@vinc17.net>
8704
8705	[src/hypot.c] Do bitwise operations in unsigned arithmetic.
8706
8707	[src/hypot.c] Added 2 TODO.
8708
87092018-05-23  Vincent Lef��vre  <vincent@vinc17.net>
8710
8711	[tools/{ck-clz_tab,ck-copyright-notice}] Changed the POSIX $(���) to `���`
8712	for Bourne shell compatibility (as under Solaris 10).
8713	Note: these scripts are called via dist-hook for "make dist".
8714
87152018-05-22  Vincent Lef��vre  <vincent@vinc17.net>
8716
8717	[src/mpfr-impl.h] Added a comment for UBF.
8718
8719	[src/mpfr-impl.h] Added a comment about UBF and alignment requirements.
8720
87212018-05-17  Vincent Lef��vre  <vincent@vinc17.net>
8722
8723	[tests/tstrtofr.c] Removed TODO added in r12681, now obsolete.
8724
87252018-05-16  Vincent Lef��vre  <vincent@vinc17.net>
8726
8727	Removed trailing whitespace.
8728
87292018-05-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
8730
8731	[src/strtofr.c] revisit error analysis in the division case (end)
8732
87332018-05-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
8734
8735	[src/strtofr.c] revisit error analysis in the division case (work in progress,
8736			not yet finished)
8737
87382018-05-09  Vincent Lef��vre  <vincent@vinc17.net>
8739
8740	[tests/tsub.c] Updated the comment added in r12701.
8741
8742	[tests/tsub.c] Added a comment about the bug fixed in r10697:
8743	bug20180217 is a non-regression test for this bug.
8744
87452018-05-02  Vincent Lef��vre  <vincent@vinc17.net>
8746
8747	[tests/tstckintc.c] Avoid false warnings with -Wcast-align=strict from
8748	GCC 8.1 by adding casts "(long *) (void *)", still allowing checks of
8749	other alignment requirements (which are not handled by the tstckintc.c
8750	code).
8751
8752	[TODO] + Use GCC's nonnull and returns_nonnull attributes.
8753
8754	[acinclude.m4] Added a note on _Decimal64 detection.
8755
87562018-04-30  Vincent Lef��vre  <vincent@vinc17.net>
8757
8758	[doc/README.dev] Added info about spelling.
8759
8760	Corrected "runtime" to "run time" (noun) or "run-time" (adjective)
8761	when it means the time at which the program is run.
8762	See:
8763	  https://gcc.gnu.org/codingconventions.html#Spelling
8764	  https://en.wikipedia.org/wiki/Run_time
8765
87662018-04-27  Vincent Lef��vre  <vincent@vinc17.net>
8767
8768	[src/strtofr.c] Potentially unnecessary code: comes from r8384.
8769
8770	[src/strtofr.c] Updated TODO about potentially unnecessary code.
8771
8772	[src/strtofr.c] Updated TODO about potentially unnecessary code,
8773	showing that this code probably increases the error bound (errors
8774	accumulate instead of compensating without this code).
8775
8776	[src/strtofr.c] Added a TODO about potentially unnecessary code.
8777
8778	[src/strtofr.c] Corrected/updated comments and added a log message.
8779
8780	[src/strtofr.c] Corrected a comment (exp_base and exp_bin description).
8781
8782	[src/strtofr.c] Added a FIXME: possible bug in very special cases with
8783	large exponents, 32-bit mpfr_exp_t and very long strings.
8784
8785	[src/strtofr.c] Added/clarified comments.
8786
8787	[tests/tstrtofr.c] Added a TODO related to the bug fixed in r12573.
8788
87892018-04-26  Vincent Lef��vre  <vincent@vinc17.net>
8790
8791	[tests/tgmpop.c] Coding style.
8792
8793	[tests/tgmpop.c] For mpfr_cmp_q, improved the test where x is NaN by
8794	checking all the flags (not just erange) and added a test where y is
8795	a NaN rational.
8796	Note: this could be used to detect 2 bugs, fixed in r12343 and r12499,
8797	respectively.
8798
8799	[tests/tcan_round.c] Removed a r2 != MPFR_RNDF test and added 3 TODO's
8800	to support r2 == MPFR_RNDF in some other tests.
8801
88022018-04-24  Vincent Lef��vre  <vincent@vinc17.net>
8803
8804	[src/mpfr-gmp.h] Clarified a comment (the "if" is part of the code,
8805	not the English word).
8806
88072018-04-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
8808
8809	[src/mpfr-gmp.h] added comment about MPN_FILL
8810
88112018-04-20  Vincent Lef��vre  <vincent@vinc17.net>
8812
8813	[src/out_str.c] Check for integer overflow (here, a minor issue).
8814
8815	[src/out_str.c] Support mpfr_exp_t larger than long (with mpfr_eexp_t).
8816
88172018-04-19  Vincent Lef��vre  <vincent@vinc17.net>
8818
8819	[tests] Added tdot to svn:ignore property.
8820
8821	[tests/tdot.c] Various improvements.
8822
8823	[doc/mpfr.texi] Note that mpfr_dot does not yet handle intermediate
8824	underflows either.
8825	[src/dot.c] Changed an MPFR_ASSERTD to MPFR_ASSERTN since the assertion
8826	is not satisfied on some user inputs. Minor improvements.
8827
8828	[NEWS] Added mpfr_dot.
8829
8830	[doc/mpfr.texi] In the added functions, note that mpfr_dot is incomplete
8831	and experimental.
8832
8833	[tests/tsum.c] Code style.
8834
8835	[doc/mpfr.texi] Updated the month.
8836
8837	[tests/tdot.c] Code style.
8838
88392018-04-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
8840
8841	added mpfr_dot
8842
88432018-04-19  Vincent Lef��vre  <vincent@vinc17.net>
8844
8845	[tests/tget_flt.c] Correction about the use of mpfr_signbit, in case
8846	the implementation would change.
8847
8848	[src/sqr.c] Minor code improvement.
8849
8850	[src/sqr.c] Code formatting.
8851
8852	[src/sqr.c] Clarified a comment and slightly improved code.
8853
8854	[src/sqr.c] Typo in a comment.
8855
8856	[tests/tfma.c] Added test_underflow5.
8857
8858	[tests/tfma.c] Minor correction for test_underflow4.
8859
8860	[tests/tfma.c] Added a comment.
8861
88622018-04-18  Vincent Lef��vre  <vincent@vinc17.net>
8863
8864	[tests/tfma.c] Added test_underflow4. This allows to show that the
8865	bound MAX (MPFR_PREC (z), MPFR_PREC (s) + 1) in fma.c is optimal:
8866	  * If one subtract 1 from the 1st term MPFR_PREC (z), a failure
8867	    occurs in test_underflow4.
8868	  * If one subtract 1 from the 2nd term MPFR_PREC (s) + 1, a failure
8869	    occurs in test_underflow2.
8870
8871	[configure.ac] For the ICC check, also test __INTEL_COMPILER.
8872
8873	[configure.ac] Corrected comment for the ICC check (GCC is no longer
8874	disabled since r5720).
8875
88762018-04-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
8877
8878	[src/mpfr.h] enable some code that now works with ICC (tested with ICC 14)
8879	[TODO] removed item
8880
88812018-04-18  Vincent Lef��vre  <vincent@vinc17.net>
8882
8883	[tests/tversion.c] Updated a comment about __ICC.
8884
88852018-04-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
8886
8887	[TODO] removed item that we won't implement
8888
8889	[TODO] removed done item (UBF)
8890
88912018-04-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
8892
8893	[TODO] RNDF is done
8894
8895	[TODO] removed an obsolete item
8896
8897	[TODO] log_ui is done
8898
88992018-04-17  Vincent Lef��vre  <vincent@vinc17.net>
8900
8901	[tools/mpfrlint] Detect the use of mpfr_div_2exp and mpfr_mul_2exp.
8902
8903	[tests/{reuse.c,taway.c}] Added mpfr_div_2ui and mpfr_mul_2ui.
8904	Note: si functions are not tested yet.
8905
8906	Replaced mpfr_mul_2exp & mpfr_div_2exp by mpfr_mul_2ui & mpfr_div_2ui,
8907	respectively (for the tests, except in reuse.c and in taway.c).
8908	Note: As documented, mpfr_mul_2exp & mpfr_div_2exp are only kept for
8909	compatibility with MPF; mpfr_mul_2ui & mpfr_div_2ui are preferred.
8910
89112018-04-16  Vincent Lef��vre  <vincent@vinc17.net>
8912
8913	[TODO] + function to reduce the precision of a variable, with a
8914	ternary value in input, i.e. taking care of double rounding.
8915
8916	[tests/tfma.c] More tests for test_underflow2.
8917
8918	[tests/tfma.c] Corrected r12603 for test_underflow2.
8919
8920	[tests/tfma.c] More tests for test_underflow2.
8921
8922	[src/fma.c] Updated easy case of underflow.
8923
8924	[tests/tfma.c] Updated a comment for test_underflow2.
8925
8926	[tests/tfma.c] In test_underflow2, also test different signs.
8927
8928	[tests] Updated svn:ignore property.
8929
8930	[doc/README.dev] "To make a release": check also with
8931	-DMPFR_GROUP_STATIC_SIZE=0 to detect memory leaks.
8932
8933	[src/fma.c] Forgot a MPFR_GROUP_CLEAR.
8934
8935	[src/fma.c] Simplified the underflow case by using UBF in the
8936	difficult cases, resolving the remaining FIXME's.
8937
89382018-04-13  Vincent Lef��vre  <vincent@vinc17.net>
8939
8940	[tests/tfma.c] More tests for test_overflow3 by adding loops on j and k.
8941
8942	[tests/tfma.c] Extended test_overflow3 to reversed signs.
8943
8944	[tests/tfma.c] Do all the overflow/underflow tests in exponent ranges
8945	[-1024,1024], [MPFR_EMIN_MIN,MPFR_EMAX_MAX], and the default one.
8946
8947	[src/mpfr-sassert.h] Added a comment.
8948
89492018-04-12  Vincent Lef��vre  <vincent@vinc17.net>
8950
8951	[tests/tfma.c] Forgot a cast for C++ compatibility.
8952
8953	[src/mpfr-impl.h] Reverted r12588: there should be no alignment issues
8954	with UBF, since an UBF (__mpfr_ubf_struct) is sometimes regarded as a
8955	MPFR number (__mpfr_struct) but not the opposite (or this is just back
8956	to __mpfr_ubf_struct).
8957
8958	[src/fma.c] Simplified the difficult part of the overflow case by
8959	using UBF (this also fixes corner cases in huge precision).
8960
8961	[src/mpfr-impl.h] Added a note about alignment constraints for UBF.
8962
8963	[src/fma.c] Fixed sign related bug in overflow case.
8964	[tests/tfma.c] Added test_overflow5 test for this bug.
8965
8966	[tests/tfma.c] In test_overflow4, also test different signs.
8967
8968	[src/fma.c] Correction for the FIXME from r12403 concerning r12396.
8969	The test added in tests/tfma.c r12584 no longer fails.
8970
8971	[tests/tfma.c] Added a test that fails. It corresponds to the FIXME
8972	in src/fma.c about the test on MPFR_GET_EXP (u) - MPFR_GET_EXP (z).
8973
8974	[src/fma.c] Removed a redundant test since the second condition of
8975	the && expression implies the first one.
8976	Note: This test came from the time when the precision type was unsigned,
8977	in order to make sure that the result of the subtraction was positive.
8978
89792018-04-11  Vincent Lef��vre  <vincent@vinc17.net>
8980
8981	[tests/tversion.c] Output "Generic ABI code" info (MPFR_GENERIC_ABI).
8982
8983	[src/strtofr.c] English usage in a comment.
8984
89852018-04-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
8986
8987	[src/strtofr.c] fixed bug in corner cases
8988
89892018-04-10  Vincent Lef��vre  <vincent@vinc17.net>
8990
8991	[src/strtofr.c] Reverted r12569: this is wrong with a 32-bit ABI.
8992
8993	[src/strtofr.c] Added a FIXME.
8994
89952018-04-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
8996
8997	[src/strtofr.c] added more comments
8998
8999	[src/strtofr.c] replaced dead code by an assert
9000	[tests/tstrtofr.c] fixed bug20170308 and added coverage test
9001
90022018-04-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9003
9004	[src/strtofr.c] removed dead code (and added explanation)
9005
9006	[src/strtofr.c] completed a comment
9007
90082018-04-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9009
9010	[src/strtofr.c] added comment
9011	[tests/tstrtofr.c] improve coverage
9012
90132018-04-06  Vincent Lef��vre  <vincent@vinc17.net>
9014
9015	[src/round_prec.c] Replaced an incorrect comment by an assertion.
9016
9017	[src/round_raw_generic.c] Check validity of flag.
9018
90192018-04-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9020
9021	[NEWS] now 98.2% of test coverage
9022
90232018-04-06  Vincent Lef��vre  <vincent@vinc17.net>
9024
9025	[tests/Makefile.am] Tests in lexicographic order.
9026
90272018-04-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9028
9029	[src/round_prec.c] added comments
9030	[src/round_raw_generic.c] removed dead code
9031	[tests/tcan_round.c] improve coverage
9032
9033	renamed tround_prec.c to tprec_round.c
9034
9035	[src/round_prec.c] removed some dead code (if rnd1 = rnd2 and the case
9036			   rnd2 = RNDN was already treated, we cannot have rnd1 = RNDN)
9037
90382018-04-06  Vincent Lef��vre  <vincent@vinc17.net>
9039
9040	[tests/tpow.c] Fixed a test:
9041	  * For this test, unsigned long and mpfr_exp_t must both have at least
9042	    64 bits.
9043	  * Use a hardcoded emax, otherwise the test could fail for mpfr_exp_t
9044	    larger than 64 bits (one would not have an overflow as expected).
9045
9046	[src/pow.c] Fixed the code in case the size of the mpfr_exp_t type
9047	would be larger than 256 bits. This is also semantically better.
9048
9049	Moved the MAX, MIN and ABS macros from tests/mpfr-test.h to
9050	src/mpfr-impl.h (they can be useful...).
9051
9052	[tests/tpow.c] More tests for (-2)^(2^i + 1), not just with i = 256.
9053
90542018-04-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9055
9056	[tests/tpow.c] modified a test for better coverage
9057
90582018-04-06  Vincent Lef��vre  <vincent@vinc17.net>
9059
9060	[tests/tpow.c] Corrected a comment (again).
9061
9062	[tests/tpow.c] Corrected a comment.
9063
90642018-04-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9065
9066	[src/pow.c] simplified case x=2^b and y < 0
9067
90682018-04-05  Vincent Lef��vre  <vincent@vinc17.net>
9069
9070	[src/pow.c] Updated comments.
9071
9072	[src/pow.c] Reverted r12541 (which yielded a failure in tpow_all),
9073	re-indented, and added a comment concerning the failing case.
9074
90752018-04-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9076
9077	[src/round_prec.c] fixed a bug (to be reviewed)
9078	[tests/tcan_round.c] added coverage tests
9079
9080	[tests/ttan.c] improve coverage (and also of round_near_x)
9081
9082	[src/pow.c] fixed typo
9083
90842018-04-04  Vincent Lef��vre  <vincent@vinc17.net>
9085
9086	[NEWS] Coverage is specific to x86_64 due to the various #if.
9087
9088	[src/pow.c] Corrected indentation.
9089
90902018-04-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9091
9092	[NEWS] coverage is now 98.1%
9093
9094	[src/pow.c] added a comment
9095
9096	[src/pow.c] removed some dead code (with comment explaining why)
9097	[tests/tpow.c] added a test
9098
9099	[src/pow.c] simplify code for prec=1
9100	[tests/tpow.c] added tests for prec=1
9101
91022018-04-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9103
9104	[src/mparam_h.in] added macros for Microsoft compiler
9105
91062018-04-03  Vincent Lef��vre  <vincent@vinc17.net>
9107
9108	[tools/check_mparam.c] Added a copyright notice.
9109
9110	[Makefile.am] Added tools/check_mparam.c and tools/ck-mparam
9111	to EXTRA_DIST since tools/ck-mparam is now run in dist-hook.
9112
9113	[tests/Makefile.am] Do not output a useless "PASS ..." line at the end.
9114
9115	[tests/Makefile.am] Update of the "check" rule:
9116	  * Output svnversion info when applicable.
9117	  * Do not echo "cat tversion.log 2> /dev/null || true".
9118
9119	[Makefile.am] Added missing comments for dist-hook.
9120
9121	[Makefile.am] Run ck-mparam in dist-hook (for "make dist").
9122
9123	[tools/ck-mparam] Commented out the old gcc-specific test since the
9124	new one is strictly more powerful. No longer depend on gcc.
9125
9126	[tools/ck-mparam] Also check the mparam.h files with check_mparam.c.
9127
9128	[tools/check_mparam.c] C89 compatibility. Return an error code
9129	(useful for scripts).
9130
9131	[tools/check_mparam.c] A pathname of the mparam.h file can now be
9132	provided with -DMPARAM='"..."' when compiling.
9133
91342018-04-03  Vincent Lef��vre  <vincent@vinc17.net>
9135
9136	Moved misc/check_mparam.c into trunk/tools: it will be useful for
9137	"make dist" in order to make sure that all mparam.h files are OK
9138	before a release.
9139
9140	[[Split portion of a mixed commit.]]
9141
9142	[Added during the Subversion to Git conversion]
9143	The "misc" directory referenced here was in the same Subversion
9144	repository, but outside the trunk/branches/tags structure. Thus
9145	it has not been kept in the same Git repository.
9146
91472018-04-03  Vincent Lef��vre  <vincent@vinc17.net>
9148
9149	[src/mulders.c] Re-enable the change done in r12382. This is allowed
9150	after the fix in generic/mparam.h r12525 (this file was hand written
9151	and did not satisfy the current constraints).
9152
91532018-04-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9154
9155	[generic/mparam.h] ensure divhigh_ktab[n] is 0 or < n-1, as now required
9156			   since commit r12382
9157
91582018-04-02  Vincent Lef��vre  <vincent@vinc17.net>
9159
9160	[src/mulders.c] Code style / indentation. Added a comment.
9161
9162	[src/mulders.c] Reverting r12382 because divhigh_ktab[n] == n can
9163	happen. Note: this probably lacks documentation; moreover, testing
9164	that these tables satisfy the requirements would be useful.
9165
91662018-03-31  Vincent Lef��vre  <vincent@vinc17.net>
9167
9168	[src/inp_str.c] Handle size_t overflow, empty string (after skipping
9169	spaces), and I/O errors (as opposed to end-of-file).
9170
91712018-03-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9172
9173	[src/inp_str.c] disallow stream=NULL (cf r12520)
9174
9175	[src/out_str.c] the behavior on a null stream is unspecified (cf r12519)
9176
91772018-03-30  Vincent Lef��vre  <vincent@vinc17.net>
9178
9179	Reverted r12516: the behavior on a null stream is unspecified.
9180
91812018-03-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9182
9183	[tests/tpow.c] restrict a test to 64-bit exponent
9184
91852018-03-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9186
9187	[src/pow.c] added comment
9188	[tests/tpow.c] improve coverage
9189
9190	[tests/tout_str.c] improve coverage (I don't know how to avoid printing to
9191			   stdout, but since "make check" no longer shows the test
9192			   outputs, this should be fine). However I don't know how
9193			   to do the same for mpfr_inp_str...
9194
9195	[tests/tconst_pi.c] forgotten line in commit 12512
9196
9197	[tests/tgrandom.c] improve coverage
9198
9199	[src/grandom.c] improve coverage, and solved a FIXME
9200
9201	[tests/tconst_pi.c] improve coverage of mpfr_free_cache2
9202
92032018-03-29  Vincent Lef��vre  <vincent@vinc17.net>
9204
9205	[src/fpif.c] Reverted another incorrect change done in r12509.
9206
9207	[src/fpif.c] Reverted an incorrect change done in r12509.
9208
92092018-03-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9210
9211	[src/fpif.c] simplify code and improve coverage to 100%
9212
9213	[src/fpif.c] removed dead code and simplify code
9214
9215	[tests/tfpif.c] improve coverage
9216
9217	[tests/tfpif.c] improve coverage
9218
92192018-03-29  Vincent Lef��vre  <vincent@vinc17.net>
9220
9221	[tests/tfpif.c] Really fixed the badData test, completing r12504.
9222
9223	[tests/tfpif.c] Fixed a test: for the huge-precision badData case,
9224	make sure that the data are valid so that we really check that the
9225	precision does not fit (and not a read error).
9226
9227	[tests/tfpif.c] Correction just in case MPFR_PREC_BITS > 64.
9228
9229	Removed trailing whitespace.
9230
92312018-03-28  Vincent Lef��vre  <vincent@vinc17.net>
9232
9233	[src/fpif.c]
9234	  * Replaced an incorrect comment from r12500 by a correct assertion.
9235	  * Fixed a theoretical bug coming from this incorrect comment.
9236	  * Added a MPFR_ASSERTN assertion to double-check correctness.
9237	  * Added a comment explaining a ... >= 0x80 test.
9238
92392018-03-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9240
9241	[src/fpif.c] removed dead code
9242	[tests/tfpif.c] improve coverage
9243
9244	[src/gmp_op.c] fixed bug in mpfr_cmp_q for den(q)=0
9245	[tests/tgmpop.c] improve coverage
9246
92472018-03-24  Vincent Lef��vre  <vincent@vinc17.net>
9248
9249	[doc/mpfr.texi] Typographic correction (texinfo rule).
9250
9251	[tools/mpfrlint] For codespell, skip mpfr.t2p (directory created
9252	in doc by "make pdf").
9253
9254	[src/total_order.c] Simplified the code (shorter code).
9255
9256	[tests/ttotal_order.c] Rewrote the tests to test every combination
9257	of classes of values.
9258
9259	[tests] Renamed total_order.c to ttotal_order.c.
9260
92612018-03-23  Vincent Lef��vre  <vincent@vinc17.net>
9262
9263	[src/total_order.c] Suggest to test the sign bit first.
9264
9265	[doc/mpfr.texi] Added mpfr_total_order in "Added Functions".
9266
9267	[doc/mpfr.texi] Improved mpfr_total_order description.
9268
92692018-03-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9270
9271	[TODO] totalOrder is done
9272
9273	added mpfr_total_order
9274
92752018-03-23  Vincent Lef��vre  <vincent@vinc17.net>
9276
9277	[tests] Removed some useless #include's, in particular all the
9278	unconditional #include <math.h> occurrences.
9279	Note: There is an incompatibility between glibc 2.27 and the math.h
9280	provided by ICC 15 (at least), and this solves a compilation failure
9281	in the build of the tests.
9282	Moreover, <math.h> is not required by freestanding implementations,
9283	so that it may be better to avoid it if possible.
9284
92852018-03-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9286
9287	added 2 suggestions from Patrick Pelissier
9288
92892018-03-20  Vincent Lef��vre  <vincent@vinc17.net>
9290
9291	[tools/mpfrlint] For codespell, skip all the algorithms.* files.
9292
92932018-03-15  Vincent Lef��vre  <vincent@vinc17.net>
9294
9295	[tools/mpfrlint] Added a comment for the mul/sqr test.
9296
9297	[tools/mpfrlint] In the mul/sqr test (r12482), exclude mul.c and sqr.c.
9298
92992018-03-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9300
9301	changed mpfr_mul (a, b, b, ...) into mpfr_sqr (a, b, ...) whenever possible
9302
93032018-03-14  Vincent Lef��vre  <vincent@vinc17.net>
9304
9305	[tools/mpfrlint] Detect mpfr_mul with identical 2nd and 3rd arguments,
9306	which can be replaced by mpfr_sqr (suggestion by PZ).
9307
93082018-03-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9309
9310	[src/const_pi.c] added a reference, and replace mpfr_mul by mpfr_sqr
9311
93122018-03-10  Vincent Lef��vre  <vincent@vinc17.net>
9313
9314	[tests/tget_str.c] Fixed failure from r12473 when mpfr_prec_t is an int
9315	(missing casts for sprintf / printf).
9316
93172018-03-09  Vincent Lef��vre  <vincent@vinc17.net>
9318
9319	[tests/tget_str.c] C++ compatibility.
9320
9321	[tests/tget_str.c] Use tests_allocate / tests_free.
9322
9323	Fixed spelling mistakes found by codespell 1.12.0.
9324
93252018-03-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9326
9327	[tests/tget_str.c] added tests for corner cases of mpfr_set_str o mpfr_get_str
9328
93292018-03-08  Vincent Lef��vre  <vincent@vinc17.net>
9330
9331	[src/Makefile.am] In EXTRA_DIST, put the mparam.h in alphabetic order.
9332
9333	[src/Makefile.am] Updated EXTRA_DIST for amd due to r12387.
9334
9335	Fixed spelling mistakes found by codespell 1.11.0.
9336
9337	[codespell.ignore] Also ignore "cas".
9338
9339	Added codespell.ignore file with simple words to ignore with codespell
9340	("iff" as used in math; "nd" as the n comes from \n in printf, but nd
9341	could also be a variable name; "te" as used as a variable name).
9342	Updated tools/mpfrlint to use this file with codespell.
9343
93442018-03-05  Vincent Lef��vre  <vincent@vinc17.net>
9345
9346	[doc/mpfr.texi] Updated the month.
9347
93482018-03-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9349
9350	[tests/tget_str.c] added tests for mpfr_get_str_ndigits
9351	[src/get_str.c] fixed bugs in mpfr_get_str_ndigits for b=2^k (value was 1 too
9352			large) and very large p (value was 1 too small)
9353
93542018-03-05  Vincent Lef��vre  <vincent@vinc17.net>
9355
9356	[doc/mpfr.texi] Typographic corrections for mpfr_subnormalize.
9357
9358	[NEWS] Added mpfr_get_str_ndigits.
9359	[doc/mpfr.texi] Added mpfr_get_str_ndigits in "Added Functions".
9360
9361	[doc/mpfr.texi] Minor corrections concerning mpfr_get_str.
9362
9363	[src/mpfr.h] Added a note about a mpfr_prec_t limitation.
9364
9365	[src/get_str.c] Simplified mpfr_get_str_ndigits (changes from r12455):
9366	  * MPFR_PREC_BITS is used to exactly do what is wanted.
9367	  * Removed dead code as currently, mpfr_prec_t <= unsigned long.
9368	    Note: if in the future we support mpfr_prec_t > unsigned long
9369	    (e.g. to have a 64-bit precision on MS Windows), the generic code
9370	    could be retrieved back from r12455.
9371
93722018-03-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9373
9374	[src/get_str.c,src/mpfr.h] mpfr_get_str_digits -> mpfr_get_str_ndigits
9375	[doc/mpfr.texi] updated documentation of mpfr_get_str
9376
9377	[src/get_str.c] fixed FIXME
9378
93792018-03-05  Vincent Lef��vre  <vincent@vinc17.net>
9380
9381	[src/get_str.c] Portability corrections in mpfr_get_str_digits.
9382
93832018-03-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9384
9385	[src/get_str.c] new function mpfr_get_str_digits
9386	[doc/mpfr.texi] added documentation for mpfr_get_str_digits
9387
93882018-03-03  Vincent Lef��vre  <vincent@vinc17.net>
9389
9390	[tests/tfma.c] Fixed bug from r12407 with 32-bit long and 64-bit limbs
9391	(e.g. as under 64-bit MS Windows).
9392
93932018-02-26  Vincent Lef��vre  <vincent@vinc17.net>
9394
9395	[acinclude.m4] Correction for test of the fallback to __float128:
9396	in the test program, define the variable outside main() in order to
9397	avoid an error when the -Werror=unused-variable GCC option is used.
9398
9399	[src/get_sj.c] Avoid an unused variable.
9400
9401	[doc/README.dev] Updated description of MPFR_WANT_FLOAT128.
9402
9403	[doc/README.dev] Recommend AC_LINK_IFELSE rather than AC_COMPILE_IFELSE
9404	(see r12448 as an example of an issue with AC_COMPILE_IFELSE).
9405
9406	[acinclude.m4] Fixed a test, which could define MPFR_INTMAX_WITHIN_LIMB
9407	even when not true (MPFR_STAT_STATIC_ASSERT() was just regarded as a
9408	function call since the macro was not defined, thus did not yield an
9409	error).
9410
9411	[tests/tversion.c] Output the sizes of long and intmax_t.
9412
9413	[acinclude.m4] Fixed incorrect test from r12426.
9414
9415	Removed trailing spaces.
9416
9417	Updated support for binary128:
9418	  * __float128 was changed to _Float128 (ISO/IEC TS 18661) in r12391;
9419	    also changed the suffix of the constants from "q" to "f128".
9420	  * Use __float128 with the "q" suffix as a fallback in order to avoid
9421	    regressions with GCC 6- and with C++ mode (g++).
9422	    As documented in the GCC manual, this is entirely compatible on most
9423	    platforms where both are supported: _Float128 and __float128 are the
9424	    same type, and it could be checked that the following prototypes are
9425	    equivalent (as expected):
9426	      _Float128 f (__float128)
9427	      __float128 f (_Float128)
9428	    The only potential issues would be on hppa and IA-64 HP-UX, where
9429	    __float128 is an alias for "long double" instead of _Float128, in
9430	    case the ABI would be different (I have no information about this)
9431	    and both would be mixed up with software using the MPFR conversion
9432	    functions for binary128 via __float128 or "long double". The worst
9433	    thing that could happen is a link error. If the link is accepted,
9434	    everything should be fine as the representation doesn't change.
9435
9436	[src/set_float128.c] Removed a useless #include and corrected a comment.
9437
94382018-02-25  Vincent Lef��vre  <vincent@vinc17.net>
9439
9440	[src/get_z_exp.c] Portability.
9441
9442	[tests/tdiv_ui.c] Avoid a compilation error with
9443	gcc -std=c90 -pedantic -Werror in 32-bit ABI.
9444
9445	[tests/tget_str.c] Fixed a return type.
9446
94472018-02-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9448
9449	[src/get_z_exp.c] new try for r12437. If that still does not work, we should
9450			  define macros BITS_PER_EXP_T, BITS_PER_PREC_T, ...
9451
94522018-02-23  Vincent Lef��vre  <vincent@vinc17.net>
9453
9454	[src/get_z_exp.c] Reverted r12437: the size of mpfr_exp_t is not
9455	always related to the size of mp_limb_t.
9456
94572018-02-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9458
9459	[src/get_z_exp.c] removed dead code on 64-bit computer
9460
9461	[src/get_str.c] improved case m < g
9462	[tests/tget_str.c] improve coverage
9463
94642018-02-23  Vincent Lef��vre  <vincent@vinc17.net>
9465
9466	[acinclude.m4] Correction: for AC_COMPILE_IFELSE, there are only
9467	2 cases: TRUE and FALSE.
9468
94692018-02-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9470
9471	[tests/tget_str.c] fixed not enough allocation issue
9472
94732018-02-23  Vincent Lef��vre  <vincent@vinc17.net>
9474
9475	[acinclude.m4] Correction: for AC_COMPILE_IFELSE, there are only
9476	2 cases: TRUE and FALSE.
9477
94782018-02-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9479
9480	[doc/mpfr.texi] m=1 is now valid in get_str
9481	[src/get_str.c] allow m=1 for b=2^k
9482	[tests/tget_str.c] added test for m=1 and b=2
9483
9484	[src/get_str.c] added a comment
9485	[tests/tget_str.c] improved coverage (finding this example was quite hard!)
9486
94872018-02-23  Vincent Lef��vre  <vincent@vinc17.net>
9488
9489	[src/get_sj.c] Removed two assertions, including an incorrect one.
9490	Added an assertion.
9491
9492	[acinclude.m4] Correction: if we cannot test, the portable code must be
9493	selected.
9494
94952018-02-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9496
9497	[configure.ac,acinclude.m4] added new macro MPFR_INTMAX_WITHIN_LIMB
9498	[src/get_sj.c] optimized the code when MPFR_INTMAX_WITHIN_LIMB=1
9499
95002018-02-23  Vincent Lef��vre  <vincent@vinc17.net>
9501
9502	[src/mpfr-impl.h] Removed MPFR_LIMBS_PER_LONG_DOUBLE as it was not
9503	  properly specified in the general case and was actually used only
9504	  in src/set_ld.c with HAVE_LDOUBLE_IEEE_EXT_LITTLE.
9505	[src/set_ld.c] Simplified code. Moreover, the hypothetical case
9506	  GMP_NUMB_BITS == 16 will trigger a compilation error instead of
9507	  yielding incorrect code.
9508
9509	[tests/tbuildopt.c]
9510	  * Added missing const.
9511	  * Use the variable s to avoid a warning and also to detect potential
9512	    undefined behavior with debugging tools if s is not a string.
9513
95142018-02-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9515
9516	[src/get_sj.c] fixed typo
9517
9518	[src/get_sj.c] added comments and simplified the code
9519
95202018-02-23  Vincent Lef��vre  <vincent@vinc17.net>
9521
9522	[src/mpfr-impl.h] Typo in a comment.
9523
95242018-02-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9525
9526	[tests/tget_q.c] improved coverage
9527
95282018-02-23  Vincent Lef��vre  <vincent@vinc17.net>
9529
9530	[src/get_d64.c] Parsing in the portable version of string_to_Decimal64:
9531	similar changes as in r12416 for the _MPFR_IEEE_FLOATS version.
9532
95332018-02-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9534
9535	[src/get_ld.c] removed dead code (as in r12413 for mpfr_get_d)
9536
9537	[src/get_flt.c] optimized code when MPFR_LIMBS_PER_FLT=1
9538	[tests/tget_flt.c] improved coverage
9539
9540	[src/get_d64.c] simplified code, and removed dead code
9541	[src/mpfr-impl.h] added comment
9542	[tests/tget_set_d64.c] improve coverage
9543
95442018-02-23  Vincent Lef��vre  <vincent@vinc17.net>
9545
9546	[src/set_q.c] Simplified code.
9547
95482018-02-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9549
9550	[src/get_d.c] removed dead code
9551
9552	[src/get_d.c] optimized for common case MPFR_LIMBS_PER_DOUBLE=1
9553
9554	[tests/tset_z_exp.c] improved coverage
9555
9556	[src/set_q.c] removed dead code on 64-bit processor
9557
9558	[src/set_ld.c] improve code when HAVE_LDOUBLE_IEEE_EXT_LITTLE is defined
9559
95602018-02-22  Vincent Lef��vre  <vincent@vinc17.net>
9561
9562	[src/set_ld.c] Reverted r12408: MPFR_LIMBS_PER_LONG_DOUBLE cannot be
9563	used with the preprocessor due to the use of "sizeof".
9564
95652018-02-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9566
9567	[src/set_ld.c] improve code for MPFR_LIMBS_PER_LONG_DOUBLE=1
9568
9569	[tests/tfma.c] improved coverage of mpfr_set_1_2
9570
9571	[tests/tbuildopt.c] improve coverage
9572
95732018-02-22  Vincent Lef��vre  <vincent@vinc17.net>
9574
9575	[tests/tfma.c] Corrected a comment.
9576
9577	[tests/tfma.c] Joined test_overflow3 and test_overflow4 by using a loop.
9578	Improved the corresponding test and error message. Also run this test
9579	with the default exponent range.
9580
9581	[src/fma.c] Added FIXME for r12396, which still seems incorrect.
9582
9583	[src/mpfr-impl.h] Typo in a comment.
9584
9585	[NEWS] Update about the change of __float128 to _Float128: clarification
9586	that it is from ISO/IEC TS 18661 ("standard" was too vague); added FIXME
9587	on a possible fallback to __float128 and ABI considerations.
9588
9589	[configure.ac] For --enable-float128, this is still autodetect, e.g.:
9590	  checking if compiler knows _Float128 with C99 constants... no
9591	Added a FIXME: a fallback to __float128 is necessary to avoid
9592	regressions.
9593
95942018-02-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9595
9596	[src/sqr.c] added comments
9597	[tests/tsqr.c] improve coverage of sqr.c to 100%
9598
9599	[src/sqr.c] fixed a bug in mpfr_sqr_1n in a rare case near underflow,
9600		    only use mpfr_sqr_1, mpfr_sqr_1n, mpfr_sqr_2, mpfr_sqr_3
9601		    when all numbers have same precision (like for mpfr_mul),
9602		    and added comments
9603	[tests/tsqr.c] added tests, including non-regression for above bug
9604
9605	[src/fma.c] added comments and a FIXME
9606
9607	[src/fma.c] fixed last failure
9608	[tests/tfma.c] removed debug stuff
9609
9610	[tests/tfma.c] added new failing test
9611
9612	[src/fma.c] fix failure from last test
9613
9614	[src/fma.c] added comments
9615	[tests/tfma.c] added a test (currently failing)
9616
9617	[mips/mparam.h] updated
9618
9619	changed __float128 (gcc specific) into the standard type _Float128
9620
9621	[arm/mparam.h] updated
9622
9623	[x86/mparam.h] updated
9624
9625	[src/mparam_h.in] amd/k8/mparam.h -> amd/mparam.h
9626
9627	[amd/mparam.h] updated
9628
9629	[sparc64/mparam.h] updated
9630
9631	[x86_64/core2/mparam.h] updated
9632
9633	[powerpc64/mparam.h] updated
9634
9635	[x86_64/mparam.h] updated
9636
9637	[src/mulders.c] removed dead code
9638
96392018-02-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9640
9641	[tune/tuneup.c] ensure k < n in mpfr_divhigh_n[]
9642
9643	[src/mparam_h.in] added __tune_znver1__ for AMD64 (e.g., gcc67.fsffrance.org)
9644
9645	[src/mips/mparam.h] updated on gcc22
9646
9647	[NEWS] added item
9648
9649	removed tuning for x86/core2, updated tuning for generic x86
9650
9651	[src/sparc64/mparam.h] updated tuning parameters for sparc64
9652
96532018-02-21  Vincent Lef��vre  <vincent@vinc17.net>
9654
9655	[src/mparam_h.in] Use the generic parameters for x86_64 with Clang.
9656
96572018-02-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9658
9659	added tuning for ARM
9660
96612018-02-21  Vincent Lef��vre  <vincent@vinc17.net>
9662
9663	Reverted r12368: sparc64 tuning should be updated on gcc202.
9664
96652018-02-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9666
9667	[src/mparam_h.in] generic case for all remaining i386's
9668
9669	[src/mparam_h.in] put back __tune_k8__
9670
9671	[src/mparam_h.in] check __amd64__ before generic __x86_64__
9672
9673	removed tuning for hppa (gcc61 is offline)
9674
9675	removed tuning parameters for sparc64 (gcc64, gcc200 and gcc201 are offline)
9676
9677	[tune/tuneup.c] for mpfr_div_threshold, start from 3 limbs again
9678
9679	removed tuning for powerpc32 (no such machine available any more)
9680
9681	[src/powerpc64/mparam.h] updated tuning parameters for powerpc64
9682
9683	[src/amd/k8/mparam.h] fixed MPFR_DIV_THRESHOLD
9684
9685	updated tuning parameters for amd/k8 and x86/core2
9686
96872018-02-21  Vincent Lef��vre  <vincent@vinc17.net>
9688
9689	Reverted r12359 and added a comment: tuning for x86 is used when
9690	building GMP/MPFR with a 32-bit ABI (ABI=32 / -m32).
9691
96922018-02-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9693
9694	[tuneup.c] start from 4 limbs for mpfr_div_threshold
9695
9696	removed tuning for ia64 (gcc60.fsffrance.org is now offline)
9697
9698	removed tuning for x86 (no more access to such machine)
9699
9700	[tune/tuneup.c] make tune_simple_func more robust for small precisions
9701
9702	[src/x86_64/mparam.h] fixed MPFR_DIV_THRESHOLD
9703
9704	[x86_64/core2/mparam.h] updated on gcc14
9705
97062018-02-21  Vincent Lef��vre  <vincent@vinc17.net>
9707
9708	[acinclude.m4] In the "long double" format recognition, added
9709	size information for IEEE extended (not used by MPFR, but this
9710	may be useful information for the user).
9711
97122018-02-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9713
9714	removed tuning parameters for amd/athlon (we have no access to such machine
9715	any more)
9716
9717	removed tuning for pentium4
9718
9719	removed tuning for corei5 (was not used)
9720
9721	[src/x86_64/mparam.h] added tuning for generic x86_64
9722	[tune/tuneup.c] mpfr_divhigh now wants n >= 2
9723
9724	removed thresholds for arm since gcc57 is no longer available, thus we cannot
9725	tune on an ARM machine
9726
97272018-02-21  Vincent Lef��vre  <vincent@vinc17.net>
9728
9729	[src/mulders.c] Removed unused variable dinv.
9730
97312018-02-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9732
9733	[src/div.c] added comment
9734	[src/mpfr-gmp.h] moved definition of MUL_FFT_THRESHOLD
9735	[src/mulders.c] removed unused code, and force n>=2 in mpfr_divhigh_n_basecase
9736	[tests/tmul.c] improve coverage
9737	[tune/tuneup.c] forbid k = n-1 in divhigh_ktab[]
9738
9739	[tests/tdiv.c] improve coverage, now 100% for div.c
9740
9741	[src/ai.c] revert part of r12312
9742	[tests/tai.c] added coverage test provided by Sylvain Chevillard
9743
9744	[src/sub1.c] revert r12317 since it did not consider UBFs. For the record,
9745		     tfmma was failing with GMP_CHECK_RANDOMIZE=1519138438006416.
9746
9747	[src/div.c] get rid of mpfr_div_with_mpz_tdiv_q
9748
97492018-02-20  Vincent Lef��vre  <vincent@vinc17.net>
9750
9751	[src/gmp_op.c] Fixed a bug in mpfr_cmp_q on NaN rational: the NaN flag
9752	was set by mpfr_set_q, but the flags were not restored just after.
9753
9754	[src/gmp_op.c] Reverted incorrect change in r12337 for mpfr_cmp_q.
9755	Explanation in comment. If the code was not tested, it should be by
9756	using mpq_set_num and mpq_set_den to construct such rationals.
9757
97582018-02-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9759
9760	[tests/tdiv.c] improve coverage
9761
9762	[tests/tdiv.c] improve coverage of mpfr_div_2
9763
97642018-02-20  Vincent Lef��vre  <vincent@vinc17.net>
9765
9766	[src/{add,sub}1sp.c] Updated/added comments for MPFR_WANT_ASSERT >= 2.
9767
97682018-02-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9769
9770	[src/div.c] removed dead code
9771
9772	[src/gmp_op.c] removed dead code
9773	[tests/tgmpop.c] improve coverage of gmp_op.c to 100%
9774
97752018-02-20  Vincent Lef��vre  <vincent@vinc17.net>
9776
9777	[acinclude.m4] Added missing ";;" before "esac" for code robustness.
9778
9779	[acinclude.m4] Added a FIXME. Added a ";;" for safety.
9780
97812018-02-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9782
9783	[acinclude.m4] added comment, and define MPFR_LONG_WITHIN_LIMB when cannot test
9784
97852018-02-20  Vincent Lef��vre  <vincent@vinc17.net>
9786
9787	[src/random_deviate.c] Improved highest_bit_idx in the case where
9788	MPFR_LONG_WITHIN_LIMB is not defined (tested with GCC).
9789
97902018-02-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9791
9792	[src/mul.c] resolved FIXME and removed dead code
9793
9794	[tests/tmul.c] improve coverage
9795
9796	[src/random_deviate.c] highest_bit_idx() assumes x > 0
9797
9798	[src/random_deviate.c] fixed comment
9799
9800	[src/random_deviate.c] redo change r12315 using MPFR_LONG_WITHIN_LIMB
9801
9802	[src/sub1.c] added 2 FIXME
9803
98042018-02-19  Vincent Lef��vre  <vincent@vinc17.net>
9805
9806	[tests/tai.c] Renamed test_near_zero to test_near_m2e, since this is
9807	"exercise mpfr_ai near m*2^e", as documented. Corrected comments.
9808
9809	[tests/tai.c] For test_near_zero(), check that the NaN flag was not set
9810	(useful since such tests don't really check that the result is not NaN).
9811
98122018-02-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9813
9814	[tests/tmul.c] improve coverage
9815
9816	[tests/tmul.c] improve coverage
9817
98182018-02-19  Vincent Lef��vre  <vincent@vinc17.net>
9819
9820	[src/random_deviate.c] Reverted incorrect change r12315: MPFR_LIMB_MAX
9821	cannot be used with the preprocessor due to the cast. The test should
9822	be done in "pure" C and the middle-end of the compiler should optimize.
9823
9824	[src/sub1.c] Removed an unused label.
9825
9826	[tests/tzeta.c] Check that the NaN flag was not set in some tests
9827	that do not involve NaN (useful since such tests don't really check
9828	that the result is not NaN).
9829
98302018-02-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9831
9832	[src/sub1.c] removed dead code, now coverage should be 100%
9833
98342018-02-19  Vincent Lef��vre  <vincent@vinc17.net>
9835
9836	[src/ai.c] Avoid more integer overflows.
9837
98382018-02-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9839
9840	[src/sub1.c] removed dead code
9841	[tests/tsub.c] added coverage test
9842
98432018-02-19  Vincent Lef��vre  <vincent@vinc17.net>
9844
9845	[src/ai.c] Detect some potential integer overflows.
9846
98472018-02-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9848
9849	[src/random_deviate.c] don't compile alternate code if not needed
9850
98512018-02-19  Vincent Lef��vre  <vincent@vinc17.net>
9852
9853	[src/ai.c] Coding style. Corrected comments.
9854
98552018-02-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9856
9857	[tests/tzeta.c] improve coverage (and also uceil_exp2.c)
9858
9859	[src/ai.c] removed dead code, and improved coverage
9860	[tests/tai.c] exercise mpfr_ai near (negative) zeroes
9861
9862	[src/ai.c] fixed recomputation of wprec (to be confirmed)
9863
9864	[src/ai.c] removed dead code
9865
98662018-02-19  Vincent Lef��vre  <vincent@vinc17.net>
9867
9868	[src/sub1sp.c] Fixed indentation.
9869
9870	Removed trailing whitespace.
9871
9872	[src/sqrt.c] Coding style.
9873
9874	[src/expm1.c] Avoid a potential integer overflow in a type conversion
9875	for 32-bit mpfr_exp_t and 64-bit long (e.g. with -D_MPFR_PREC_FORMAT=2
9876	on a 64-bit Linux machine).
9877
9878	[src/div_2ui.c] Reverted incorrect change in r12272 and added comments
9879	  and assertions.
9880	[tests/tmul_2exp.c] Improved a test to trigger the bug in r12272 also
9881	  when mpfr_exp_t > 32 bits (e.g. on 64-bit Linux machines).
9882
9883	[tests/tmul_2exp.c] Improved output if mpfr_exp_t > long (for positive).
9884
9885	[tests/tmul_2exp.c] Improved output if mpfr_exp_t > long (for negative).
9886
9887	[tests] Fixed type errors with -D_MPFR_PREC_FORMAT=2 in CFLAGS and the
9888	--enable-assert=full configure option (signaled by GCC's -Wformat).
9889
9890	[src/mul.c] Fixed type error with -D_MPFR_PREC_FORMAT=2 in CFLAGS and
9891	the --enable-assert=full configure option (signaled by GCC's -Wformat).
9892
9893	[doc/README.dev] Removed the mention of MPFR_EXT_EMIN and MPFR_EXT_EMAX,
9894	replacing them by MPFR_EMIN_MIN and MPFR_EMAX_MAX, as done in r12298.
9895	Note: These old macros had been introduced in r7863 so that one could
9896	choose different values for the extended exponent range for debugging
9897	purpose, but they were not used in practice and were adding complexity
9898	(and potential inconsistency) for no really good reason.
9899
99002018-02-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9901
9902	[src/agm.c] added comment about line of code impossible to cover
9903
9904	[src/agm.c,src/div.c,src/mpfr-impl.h] replaced MPFR_EXT_EMIN by MPFR_EMIN_MIN,
9905					      and MPFR_EXT_EMAX by MPFR_EMAX_MAX
9906
9907	[src/sqrt.c] removed dead code
9908	[tests/tsqrt.c] improve coverage of mpfr_sqrt, now at 100%
9909
9910	[tests/tsqrt.c] improve coverage
9911
9912	[tests/tsqrt.c] improve coverage
9913
99142018-02-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9915
9916	[src/sqrt.c] removed dead code
9917
9918	[tests/tsqrt.c] improve coverage
9919
9920	[tests/tsqrt.c] improved coverage
9921	[src/sqrt.c] added comments
9922
99232018-02-17  Vincent Lef��vre  <vincent@vinc17.net>
9924
9925	[src/expm1.c] Added a FIXME comment.
9926
99272018-02-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9928
9929	[tests/tsqrt.c] improve coverage
9930
9931	[src/sqrt.c] removed dead code
9932
99332018-02-17  Vincent Lef��vre  <vincent@vinc17.net>
9934
9935	[tests/tsub.c] Improved a comment.
9936
9937	[tests/tsub.c] Check reuse of arguments for all mpfr_sub tests, when
9938	possible.
9939
99402018-02-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9941
9942	[src/sub1sp.c] fixed bug in mpfr_sub1sp1n (corner case when a=c)
9943	[tests/tsub1sp.c] added non-regression test
9944
9945	[src/sub1sp.c] fixed case 2e
9946
99472018-02-17  Vincent Lef��vre  <vincent@vinc17.net>
9948
9949	[tests/tsub.c] Updated bug20180217 to trigger the bug: one needs to
9950	reuse the smallest input variable as the output variable.
9951
9952	[tests/tsub.c] Added a test.
9953
9954	[src/expm1.c] Updated a comment.
9955
9956	[src/expm1.c] Fixed an integer overflow from r12276.
9957
9958	[src/expm1.c] Added a log message.
9959
99602018-02-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9961
9962	[tests/tfmma.c] added coverage test
9963
9964	[tests/tfmma.c] improve coverage of add.c (ubf case)
9965
99662018-02-16  Vincent Lef��vre  <vincent@vinc17.net>
9967
9968	[src/expm1.c] It seems that code removed in r12273 wasn't necessarily
9969	dead code with mpfr_exp_t > long (-D_MPFR_EXP_FORMAT=4 needed) because
9970	for MPFR_SMALL_INPUT_AFTER_SAVE_EXPO, err would be limited to -LONG_MAX
9971	and precisions larger than LONG_MAX could be problems. The -LONG_MAX
9972	bound from r4127 was arbitrary and only used to simplify the code due
9973	to the fact that mpfr_cmp_si compares to a "long" argument. But now we
9974	have the internal mpfr_get_exp_t function, allowing us to avoid this
9975	arbitrary bound (fixing the code and making it more efficient for these
9976	extreme cases) and simplify the code even more.
9977
99782018-02-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
9979
9980	[mbench] added new option to usage
9981
9982	[mbench] added option -d to fix the exponent difference between operands
9983		 (useful for mpfr_add and mpfr_sub, for example use -d0 for operands
9984		 with same exponent, -d1 for operands differing by 1, ...)
9985
9986	[src/expm1.c] improve coverage (by removing dead code)
9987
99882018-02-16  Vincent Lef��vre  <vincent@vinc17.net>
9989
9990	[src/div_2ui.c] No need for mpfr_uexp_t, due to the constraints on
9991	the valid exponents.
9992
9993	[doc/README.dev] Update about mpfr_exp_t.
9994
9995	[src/mul_2ui.c] Simplified mpfr_mul_2ui (like mpfr_div_2ui).
9996
9997	[src/div_2ui.c] Simplified justification.
9998
9999	[src/div_2ui.c] Simplified code as suggested by PZ; added justification.
10000
100012018-02-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
10002
10003	GNU style: https://www.gnu.org/prep/standards/standards.html#Formatting
10004
10005	[src/div_2ui.c] added comment
10006	[tests/tmul_2exp.c] added coverage test
10007
100082018-02-16  Vincent Lef��vre  <vincent@vinc17.net>
10009
10010	[src/div_2ui.c] Replaced FIXME by an explanation.
10011
100122018-02-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
10013
10014	[src/div_2ui.c] added FIXME
10015
10016	[src/cmp_ld.c] simplified code (and avoid useless test when long double is not
10017		       double-double)
10018
10019	[tests/tsub1sp.c] improve coverage
10020
10021	[tests/tadd1sp.c] improve coverage of add1sp
10022
10023	[src/sub1sp.c] fixed bug20180216
10024
10025	[tests/tadd1sp.c] added coverage test
10026
100272018-02-16  Vincent Lef��vre  <vincent@vinc17.net>
10028
10029	[tests/tsub.c] More tests in bug20180216.
10030
10031	[tests/tsub.c] Added bug20180216 test currently failing (corresponding
10032	to the failure mentioned in r12253, r12254 and r12255, but reproducible
10033	with a simple "./configure").
10034
10035	[src/exp_2.c] Note that the internal behavior depends on whether
10036	MPFR_LONG_WITHIN_LIMB is defined or not (see also r12253). This
10037	should not matter, possibly except in case of bug, like currently.
10038
10039	[acinclude.m4] Updated FIXME for MPFR_CHECK_MP_LIMB_T_VS_LONG.
10040
10041	[acinclude.m4] Added a FIXME for MPFR_CHECK_MP_LIMB_T_VS_LONG.
10042
10043	[src/sub1sp.c] Squeezed useless double-space.
10044
100452018-02-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
10046
10047	[src/sub1sp.c] fixed bug20180215()
10048
100492018-02-15  Vincent Lef��vre  <vincent@vinc17.net>
10050
10051	[tests/tsub.c] Updated comment for bug20180215.
10052
10053	[src/sub1sp.c] Use "else" for symmetry with above code.
10054
10055	[tests/tsub.c] Added a comment for bug20180215 (bug in the case
10056	2 <= d < p in generic code mpfr_sub1sp() introduced in r12242).
10057
10058	[tests/tsub.c] Added bug20180215 test currently failing, found from a
10059	failure using -DMPFR_GENERIC_ABI in CFLAGS and the --enable-assert=full
10060	configure option; but the test had to be extended so that it also fails
10061	with a simple "configure", i.e. without -DMPFR_GENERIC_ABI in CFLAGS
10062	and without the --enable-assert=full configure option.
10063
10064	Removed trailing whitespace.
10065
100662018-02-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
10067
10068	[src/sub1sp.c] review of case 2 <= d < p in generic code mpfr_sub1sp()
10069
10070	[src/div_ui.c] GNU style
10071	[src/sub1sp.c] reviewed the code for d>=p in mpfr_sub1sp()
10072
100732018-02-14  Vincent Lef��vre  <vincent@vinc17.net>
10074
10075	[tools/mpfrlint] Much improved the check of the use of GMP internals.
10076
100772018-02-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
10078
10079	[src/sub1sp.c] fixed a FIXME
10080
10081	[src/mpfr-gmp.h] define prototype of __gmpn_rsblsh1_n
10082	[src/sub1sp.c] changed names of variables to something more readable
10083
10084	[configure.ac] detect mpn_rsblsh1_n instead of mpn_rsblsh_n
10085	[src/sub1sp.c] use mpn_rsblsh1_n instead of mpn_rsblsh_n with k=1
10086
100872018-02-14  Vincent Lef��vre  <vincent@vinc17.net>
10088
10089	[src/sub1sp.c] Added 2 FIXME's.
10090
10091	[src/sub1sp.c] In mpfr_sub1sp, initialize k only once. This slightly
10092	simplifies the code and avoids a -Wmaybe-uninitialized warning from
10093	GCC. The only failure on a 64-bit Linux machine is tsub1sp, due to
10094	an assertion failure in mpfr_sub1sp, as before this change.
10095
10096	[src/sub1sp.c] Avoid the swapping of the exponents when they are equal.
10097
100982018-02-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
10099
10100	[src/sub1sp.c] review of case d=1 in generic code
10101
10102	[src/add1sp.c] no need of MPFR_TMP_MARK any more
10103
10104	[src/sub1sp.c] end of review of case d=0 in generic code
10105
10106	[src/sub1sp.c] work in progress
10107
101082018-02-13  Vincent Lef��vre  <vincent@vinc17.net>
10109
10110	[src/add1sp.c] Moved a MPFR_ASSERTD to the right place.
10111
101122018-02-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
10113
10114	[src/sub1sp.c] re-enable __gmpn_rsblsh_n (with WANT_GMP_INTERNALS)
10115
10116	[src/sub1sp.c] small improvement
10117
10118	[tools/cfarm.sh] updated for 4.0.1-rc2
10119
10120	[src/add1sp.c] mp_ptr -> mp_limb_t*
10121
10122	[src/add1sp.c] get rid of MPN_COPY/MPN_ZERO in generic code
10123
101242018-02-13  Vincent Lef��vre  <vincent@vinc17.net>
10125
10126	[src/add1sp.c] Improved comments and other minor changes.
10127
10128	[src/add1sp.c] In the generic code of mpfr_add1sp, fixed the computation
10129	of the round and sticky bits from r12220. At the same time, improved the
10130	handling of MPFR_RNDF in this part of the code:
10131	  * The "while" loop to compute the sticky bit is no longer done in this
10132	    case (the sticky bit does not matter).
10133	  * The "goto" is avoided.
10134
10135	[tests/tadd.c] Added 2 tests that fail starting with r12220.
10136
101372018-02-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
10138
10139	[src/add1sp.c] cleanup generic code mpfr_add1sp()
10140
101412018-02-09  Vincent Lef��vre  <vincent@vinc17.net>
10142
10143	[src/fma.c] Added a FIXME comment about overflow/underflow issues in
10144	  corner cases (already caught with MPFR_ASSERTN), fixable with UBF
10145	  like in mpfr_fmma.
10146	[src/hypot.c] Updated a comment: The problem that would come from an
10147	  underflow in y^2, in particular because x was scaled in order to
10148	  avoid an overflow in x^2, has been avoided by using a FMA (though
10149	  still buggy for these cases, as mentioned just above).
10150
101512018-02-08  Vincent Lef��vre  <vincent@vinc17.net>
10152
10153	[tests] Added/updated comments about the config.h inclusion.
10154
10155	[tests/{tset_float128.c,tset_ld.c}] Removed obsolete WITH_FPU_CONTROL
10156	related code (this should have been done in r12185).
10157
101582018-02-07  Vincent Lef��vre  <vincent@vinc17.net>
10159
10160	[INSTALL] Updated GMP URL.
10161
10162	[doc/mpfr.texi] Updated the month.
10163
10164	[doc/mpfr.texi] Corrected minimal GMP version.
10165	[tools/mpfrlint] Updated test to detect minimal GMP version mismatch.
10166
10167	[INSTALL] Corrected minimal GMP version (thanks to David Edelsohn).
10168	[tools/mpfrlint] Added a test to detect minimal GMP version mismatch.
10169
10170	[tools/announce-text] For releases, check the VERSION file of the tag.
10171
10172	[doc/README.dev] "To make a release": moved a sentence.
10173
101742018-02-02  Vincent Lef��vre  <vincent@vinc17.net>
10175
10176	[tests/tdiv_ui.c] Forcibly disable value coverage checking if
10177	mp_limb_t > unsigned long (e.g. on mips64 with the n32 ABI).
10178
10179	[tests/tdiv_ui.c] Corrected comments.
10180
10181	[tests/t*random*.c]
10182	  * Replaced calloc + free by tests_allocate + tests_free as usual.
10183	  * trandom.c, turandom.c: do bitwise operations in unsigned arithmetic.
10184
10185	[tests/t*random*.c]
10186	  * Replaced some fprintf with stderr by printf (but not those
10187	    concerning memory allocation errors).
10188	  * Do bitwise operations in unsigned arithmetic.
10189	  * Formatting.
10190
10191	[tests] Formatting.
10192
10193	[tests/tests.c] Make stderr unbuffered again.
10194	Note for the history: both stdout and stderr were made unbuffered in
10195	r2361, then all stderr were changed to stdout (and the corresponding
10196	setbuf on stderr removed) in r2449 for consistency, but stderr was
10197	used later for specific cases (e.g. memory allocation errors or when
10198	stdout is already used for something else), and it is also used for
10199	assertion failures. Thus the setbuf on stderr is still needed.
10200
10201	[tests] Fixed the cases where tests_start_mpfr was called too late,
10202	i.e. after potential output (to stdout).
10203	  * tremquo.c: moved the call to tests_start_mpfr to the beginning.
10204	  * tset_float128.c, tset_ld.c: removed the optional, obsolete code
10205	    setting the FPU control word; MPFR_FPU_PREC can be used instead
10206	    (see tests.c).
10207
10208	Reverse-merged r12181 since tests_start_mpfr disables stdout buffering,
10209	so that the fflush() are unnecessary.
10210
10211	[tests/tabort_*.c] Flush stdout after a printf(), as an abort() is
10212	expected. This is needed on platforms where abort() does not flush
10213	the stdio streams, such as with the GNU C Library (glibc) 2.27.
10214
102152018-02-01  Vincent Lef��vre  <vincent@vinc17.net>
10216
10217	[NEWS] Mention "make check-exported-symbols" (experimental).
10218
10219	[tests/tdiv_ui.c] Portability update, in case MPFR_PREC_MIN > 1.
10220
102212018-01-31  Vincent Lef��vre  <vincent@vinc17.net>
10222
10223	[tests/tdiv_ui.c] In corner_cases, test larger values for xn,
10224	as suggested by Paul, allowing one to cover case 2 for both
10225	sb=0 and sb=1. Value coverage is now complete.
10226
10227	[tests/tdiv_ui.c] Updated midpoint_exact to also test the divisor
10228	ULONG_MAX, allowing one to cover cases 3 and 4.
10229
10230	[tests/tdiv_ui.c] Added tests with simple midpoint and exact cases.
10231	This covers case 9, sb=0.
10232
10233	Added a case for the value coverage for tdiv_ui.
10234	��� Now, on a 64-bit Linux machine:
10235	    mpfr_div_ui not tested on case 2, sb=0
10236	    mpfr_div_ui not tested on case 2, sb=1
10237	    mpfr_div_ui not tested on case 3, sb=0
10238	    mpfr_div_ui not tested on case 4, sb=0
10239	    mpfr_div_ui not tested on case 9, sb=0
10240
10241	Added value coverage for tdiv_ui (combinations of rb and sb in the
10242	different cases of the mpfr_div_ui code).
10243	��� Currently on a 64-bit Linux machine:
10244	    mpfr_div_ui not tested on case 2, sb=0
10245	    mpfr_div_ui not tested on case 3, sb=0
10246	    mpfr_div_ui not tested on case 8, sb=0
10247
10248	[src/div_ui.c] Case tmp[yn] != 0: simplified code since u ��� 2.
10249
10250	[src/div_ui.c] Case tmp[yn] == 0:
10251	  * corrected/improved comments;
10252	  * simplified condition rb && sb to rb (since if rb ��� 0, then r ��� 0,
10253	    so that the current sb ��� 0);
10254	  * replaced "& (~MPFR_LIMB_HIGHBIT)" by "<< 1" (should be simpler).
10255
102562018-01-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
10257
10258	[src/div_ui.c] fixed corner case (hopefully)
10259
102602018-01-30  Vincent Lef��vre  <vincent@vinc17.net>
10261
10262	[tools/mpfrlint] Improved a regexp (avoiding false positives).
10263
10264	[tests/tdiv_ui.c] corner_cases() requires limbs to fit in unsigned long.
10265
10266	[tests/tdiv_ui.c] Back to a decimal constant (the UL suffix was
10267	incorrect, but just a U is OK).
10268
102692018-01-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
10270
10271	[tests/tdiv_ui.c] added test for corner case (currently fails)
10272
102732018-01-30  Vincent Lef��vre  <vincent@vinc17.net>
10274
10275	[tests/tdiv_ui.c] Fixed a value (from a zsh bug).
10276
10277	[src/div_ui.c] Comment: now, "i.e." is correct.
10278
10279	[tests/tdiv_ui.c] Added ABI-independent bug20180126 tests.
10280
102812018-01-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
10282
10283	[src/div_ui.c] fixed a comment
10284
102852018-01-30  Vincent Lef��vre  <vincent@vinc17.net>
10286
10287	[src/div_ui.c] Typo in a comment.
10288
10289	[src/div_ui.c] Updated a comment.
10290
10291	[src/div_ui.c] Clarified the notation (this was ambiguous, with two
10292	possible interpretations). Added comments about mpn_divrem_1.
10293
10294	[src/div_ui.c] Added a FIXME.
10295
102962018-01-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
10297
10298	[src/div_ui.c] fixed a comment, and added a FIXME
10299
103002018-01-29  Vincent Lef��vre  <vincent@vinc17.net>
10301
10302	[src/div_ui.c] Clarified a comment.
10303
10304	[src/div_ui.c] Started to review the code; minor changes.
10305
10306	[src/div_ui.c] Minor update of comments.
10307
10308	[src/div_ui.c] Fixed the exact case, which used nexttoinf uninitialized.
10309
10310	[tests/tdiv_ui.c] bug20180126: enable the test only when a limb fits in
10311	an unsigned long; clarified a comment.
10312
103132018-01-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
10314
10315	[src/div_ui.c] fixed bug20180126 (from tdiv.c), with a complete rewrite of
10316		       mpfr_div_ui using the round and sticky bits
10317	[tests/tdiv_ui.c] added more tests
10318
103192018-01-27  Vincent Lef��vre  <vincent@vinc17.net>
10320
10321	[tests/tdiv.c] mpfr_div bug bug20180126: also test negative values.
10322
10323	[tests/tdiv.c] Updated comment about mpfr_div bug bug20180126.
10324
10325	[tests/tdiv.c] mpfr_div bug bug20180126 was introduced by r9086.
10326
103272018-01-26  Vincent Lef��vre  <vincent@vinc17.net>
10328
10329	[tests/tdiv.c] Completed r12128 test with new comments and an assert.
10330
10331	[tests/tdiv.c] Added test case for a mpfr_div bug of MPFR 4.
10332
103332018-01-25  Vincent Lef��vre  <vincent@vinc17.net>
10334
10335	[doc/README.dev] Added information about symbol checking.
10336
103372018-01-23  Vincent Lef��vre  <vincent@vinc17.net>
10338
10339	[tests/tests.c] Mention a libtool 2.4.6 bug concerning Solaris, yielding
10340	potential failures if a compatible MPFR version is already installed:
10341	this MPFR library is tested instead of the one that has just been built.
10342
103432018-01-22  Vincent Lef��vre  <vincent@vinc17.net>
10344
10345	[NEWS] + Improved __GMP_CC and __GMP_CFLAGS retrieval.
10346
10347	[configure.ac] In the CC and CFLAGS setup from gmp.h, added to the
10348	cpp list: "clang -E"; "cl -E" and "icl -E" for Windows ICC and MSVC
10349	(suggested by Alexander).
10350
103512018-01-20  Vincent Lef��vre  <vincent@vinc17.net>
10352
10353	[doc/README.dev] "To make a release": mention "make check-gmp-symbols"
10354	and "make check-exported-symbols".
10355
10356	[Makefile.am] Updated comments.
10357
10358	[src/Makefile.am] For check-gmp-symbols and check-exported-symbols, if
10359	the library is not $(top_builddir)/src/.libs/libmpfr.so, these rules
10360	do nothing instead of potentially failing.
10361
10362	Added check-exported-symbols make rule to check that MPFR does not
10363	define symbols with a GMP reserved prefix.
10364
103652018-01-18  Vincent Lef��vre  <vincent@vinc17.net>
10366
10367	[src/mp_clz_tab.c] Fixed a condition (see bug mentioned at r12107).
10368
10369	[src/mpfr-gmp.h] Reverse-merged r11969, which yields a build failure
10370	under MinGW when GMP is built with "--disable-shared --enable-static
10371	--enable-assert --disable-assembly" and MPFR is built using the GMP
10372	build. Indeed, this commit was incorrect, as if the GMP build is used,
10373	then this is GMP's longlong.h that is used and GMP's __clz_tab version
10374	that should be used.
10375	The real cause of the "multiple definition of `__gmpn_clz_tab'" error
10376	reported at
10377	  https://sympa.inria.fr/sympa/arc/mpfr/2017-12/msg00061.html
10378	is that MPFR defines its own __gmpn_clz_tab while this is not needed
10379	(and must not be done) when the GMP build is used.
10380
103812018-01-16  Vincent Lef��vre  <vincent@vinc17.net>
10382
10383	[TODO] - Decide whether multiple calls to mpfr_clear should be allowed.
10384
10385	[TODO] + Decide whether multiple calls to mpfr_clear should be allowed.
10386
103872018-01-13  Vincent Lef��vre  <vincent@vinc17.net>
10388
10389	ChangeLog update with "LC_ALL=en_US.UTF8 TZ=UTC svn log -rHEAD:0 -v".
10390
10391	[NEWS] Update. Prepare for new version 4.1.0.
10392
10393	[doc] Updated FAQ.html with update-faq.
10394
103952018-01-10  Vincent Lef��vre  <vincent@vinc17.net>
10396
10397	[tests/tlgamma.c] bug20180110: test the ternary value and the flags.
10398
10399	[src/lngamma.c] Fixed mpfr_lgamma bug for tiny negative x, in case
10400	emax < exponent of the result (the issue was an overflow in the "fast"
10401	algorithm, which made it loop with more and more working precision).
10402
10403	[src/lngamma.c] Removed a useless cast.
10404
10405	[tests/tlgamma.c] Added a test case for a bug found from the tgeneric
10406	change done in r12088.
10407
10408	[tests/tgeneric.c] Do several overflow/underflow tests instead of 1, and
10409	this for each precision. This allows one to detect the mpfr_ai bug found
10410	and fixed on 2018-01-07 (with 32-bit *and* 64-bit ABI):
10411	  https://sympa.inria.fr/sympa/arc/mpfr/2018-01/msg00001.html
10412	Moreover, this makes tlgamma loop with a 32-bit ABI (x86). To be fixed.
10413
10414	[tests/tgeneric.c] Added comments for tests in a reduced exponent range.
10415
10416	[tests/tsprintf.c] About r12084, simplified the code, without needing
10417	strncpy.
10418
10419	[tests/tsprintf.c] Fixed strncpy usage, in particular to ensure a
10420	null-terminated string (bug detected by gcc-snapshot 20180107-1 under
10421	Debian with -Werror=stringop-truncation).
10422
104232018-01-09  Vincent Lef��vre  <vincent@vinc17.net>
10424
10425	[doc/mpfr.texi] Fixed the @GMPabs macro in tex mode: due to the use of
10426	the OT1 encoding, the pipe character "|" was giving a wide dash.
10427
10428	[doc/mpfr.texi] For mpfr_custom_get_exp, restored the spec for NaN,
10429	infinity and zero, with more details.
10430
10431	[doc/mpfr.texi] Improved description of mpfr_custom_init_set.
10432	Note: For the versions of the manual generated with TeX (PDF/DVI/PS),
10433	"|kind|" appears as "���kind���", and the description of mpfr_ai has
10434	the same issue (since its introduction in MPFR 3.0.0). The cause
10435	is unclear, and this will be fixed later.
10436
104372018-01-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
10438
10439	[doc/mpfr.texi] for mpfr_custom_get_exp, explain the significand is considered
10440			in [1/2,1) as for mpfr_get_exp
10441
104422018-01-09  Vincent Lef��vre  <vincent@vinc17.net>
10443
10444	[doc]
10445	  * texinfo.tex: update to the latest version 2018-01-09.11, which
10446	    supports @var with script font size without any drawback.
10447	  * mpfr.texi: replaced the now useless @svar by @var.
10448
104492018-01-07  Vincent Lef��vre  <vincent@vinc17.net>
10450
10451	[tests/tai.c] In bug20180107, also check the flags.
10452
10453	[src/ai.c] Really fixed the bug.
10454
10455	[src/check.c] Typo.
10456
104572018-01-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
10458
10459	[src/ai.c] missing call to mpfr_check_range
10460
10461	[tests/tai.c] added test that fails on x86_64
10462
10463	[tests/tai.c] added test for bug in mpfr_ai (see thread
10464	https://sympa.inria.fr/sympa/arc/mpfr/2018-01/msg00001.html)
10465
104662018-01-03  Vincent Lef��vre  <vincent@vinc17.net>
10467
10468	[doc/mpfr.texi] Updated the month.
10469
10470	[tools/ck-mparam] In the copyright notice, just keep the year 2011
10471	since this file is not part of the tarball (just used by mpfrlint).
10472
10473	Copyright notice update: added 2018 with
10474	  perl -pi -e 's/ (\d{4}-)?(2017)(?= Free Software)/
10475	               " ".($1||"$2-").($2+1)/e' **/*(^/)
10476	under zsh, reverting the ck-mparam and timings-mpfr.c files and
10477	the mbench directory under "tools" (not distributed with MPFR).
10478	Removed 2017 from the example in the doc/README.dev file.
10479
104802018-01-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
10481
10482	[src/zeta.c] added comments and FIXME
10483
10484	Note (2019-04-30): a bug has also been introduced (fixed in r13485).
10485
104862017-12-25  Vincent Lef��vre  <vincent@vinc17.net>
10487
10488	[NEWS] Minor corrections for GNU MPFR 4.0.0.
10489
104902017-12-23  Vincent Lef��vre  <vincent@vinc17.net>
10491
10492	[tests/tests.c] Added a note about gettimeofday() and a cast.
10493
10494	[tests/tests.c] Fixed a potential integer overflow from r12053 with
10495	GMP_CHECK_RANDOMIZE=1, in particular under a 32-bit Linux.
10496
104972017-12-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
10498
10499	[tests/tests.c] decrease probability of collision with random seed
10500
10501	[src/exp_2.c] fixed bug from previous commit
10502	[src/subnormal.c] added assert
10503
10504	[tests/texp.c] added test for new bug
10505
105062017-12-22  Vincent Lef��vre  <vincent@vinc17.net>
10507
10508	Removed trailing whitespace.
10509
10510	[src/subnormal.c] Replaced FIXME.
10511
10512	[tests/tj1.c] Avoid a potential integer overflow.
10513
105142017-12-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
10515
10516	[src/subnormal.c] added FIXME
10517
10518	[src/sin.c] simplified code with RNDA
10519
10520	[src/hypot.c] mimic mpfr_round_near_x
10521
10522	[tests/tj1.c] exercise corner case
10523
10524	[tests/tj1.c] added test for j1(z) with small z
10525
10526	[src/hypot.c] fixed issue with overflow flag not correctly set
10527
105282017-12-21  Vincent Lef��vre  <vincent@vinc17.net>
10529
10530	[src/next.c] Reverted r12035 as per documentation, which follows
10531	IEEE 754 (with the usual special treatment for the single NaN).
10532
105332017-12-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
10534
10535	[src/next.c] fixed nextinf (missing overflow flag)
10536	[tests/thypot.c] removed debug call to mpfr_dump in previous commit
10537
10538	[tests/thypot.c] another fix...
10539
10540	[tests/thypot.c] fixed bug20171221()
10541
10542	[tests/thypot.c] new failing test
10543
10544	[src/lngamma.c] fixed bug when u=0 in case z0 < 1
10545	[tests/tlngamma.c] fixed test case which was wrong
10546
105472017-12-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
10548
10549	[tests/tlngamma.c] added test for new failure
10550
10551	[src/lngamma.c] fixed bug found in previous commit
10552
10553	[tests/tlngamma.c] added failing test with mpfr-4.0.0-rc2
10554
105552017-12-20  Vincent Lef��vre  <vincent@vinc17.net>
10556
10557	Updated version to 4.1.0-dev again.
10558
10559	Updated version to 4.0.0-rc2 for an attempt to replace the 4.0 branch.
10560
10561	[src/fma.c] Minor improvements. Added an assert.
10562
10563	[src/tanh.c] GNU coding style.
10564
10565	[src/mul.c] Reindentation.
10566
10567	[src/exp2.c] Replaced two MPFR_ASSERTN by MPFR_STAT_STATIC_ASSERT.
10568
105692017-12-19  Vincent Lef��vre  <vincent@vinc17.net>
10570
10571	[src/exp2.c] Fixed the double rounding problem in an underflow case,
10572	triggered by the test added in r12017.
10573
10574	[tests/texp2.c] Added test of underflow in MPFR_RNDN with exact value
10575	close to 2^(emin-2). Currently fails due to double rounding.
10576
10577	[tests/tdiv.c] Added new non-regression test: the was the real cause of
10578	the ttanh failure in r11993 without the tanh.c fix in this same commit.
10579	But this mpfr_div was fixed in r12002.
10580
10581	[doc/mpfr.texi] Added a comment about a bug/limitation in makeinfo 5.2.
10582
10583	[doc/mpfr.texi] Improved svar macro for nottex, in case it is used
10584	in the future.
10585
10586	[doc/mpfr.texi] Define svar even for nottex, though it is not used
10587	(attempt to avoid a failure with makeinfo 5.2).
10588
105892017-12-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
10590
10591	[src/fma.c] fixed bug in mpfr_fma
10592	[tests/tfma.c] added non-regression test
10593
105942017-12-19  Vincent Lef��vre  <vincent@vinc17.net>
10595
10596	[src/exp2.c] Update concerning the underflow/overflow cases.
10597	Still incomplete.
10598
10599	[doc/mpfr.texi] Updated a comment.
10600
10601	[doc]
10602	  * texinfo.tex: update to the latest version 2017-12-18.20, which
10603	    reverts the change done in 2017-12-01.13 attempting to support
10604	    @var with script font size (e.g. in exponent); but this change
10605	    didn't work correctly.
10606	  * mpfr.texi: introduced a @svar macro to handle this case. It
10607	    currently disables the use of @var, the other workaround being
10608	    worse.
10609
106102017-12-18  Vincent Lef��vre  <vincent@vinc17.net>
10611
10612	Removed trailing whitespace.
10613
10614	[doc/algorithms.tex,src/tanh.c] Fixed the bound, in particular from
10615	the recent improvements in the error analysis.
10616
106172017-12-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
10618
10619	[src/mul.c] we should compare the smaller size and not the larger one to
10620		    MPFR_MUL_THRESHOLD or MPFR_SQR_THRESHOLD for Mulders' short product
10621
10622	[src/mul.c] with Mulders', convert RNDF to RNDZ
10623	[tests/tmul_d.c] added a non-regression test
10624
106252017-12-18  Vincent Lef��vre  <vincent@vinc17.net>
10626
10627	[doc/algorithms.tex] mpfr_tanh: corrected bounds (thanks to Paul).
10628
10629	[doc/algorithms.tex] mpfr_tanh: detailed some inequalities.
10630
106312017-12-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
10632
10633	[src/div.c] fixed bug in mpfr_div2_approx()
10634	[tests/tdiv.c] added non-regression test
10635	[tests/ttan.c] added test triggering bug in mpfr_div2_approx()
10636
106372017-12-18  Vincent Lef��vre  <vincent@vinc17.net>
10638
10639	[doc/algorithms.tex] mpfr_tanh: resolved both FIXME's.
10640
10641	[doc/algorithms.tex] mpfr_tanh: corrected a part of the error analysis
10642	(2^k+4 ��� |theta_4|^(���1/2) was not necessarily true, since theta_4 can
10643	be very small). As a consequence, the lemma can be simplified/improved
10644	(first FIXME). Added a second FIXME on a condition that is not checked.
10645
10646	[doc/algorithms.tex] mpfr_tanh: missing absolute value; added a \cdot.
10647
10648	Removed trailing whitespace.
10649
10650	[doc/algorithms.tex] Added another \cdot for readability.
10651
106522017-12-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
10653
10654	[src/exp2.c] added FIXME
10655
106562017-12-18  Vincent Lef��vre  <vincent@vinc17.net>
10657
10658	[doc/algorithms.tex] Minor corrections for hyperbolic tangent function:
10659	  * "e" had two different meanings (BTW, the constant e should actually
10660	    be written \mathrm{e} everywhere in the document).
10661	  * Use \left...\right instead of |...| when it contains an expression
10662	    starting with \log (the latter was confusing pdflatex, which added
10663	    a spurious space before \log).
10664	  * Added some \cdot for better readability.
10665
106662017-12-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
10667
10668	[src/exp2.c] fixed bug near underflow
10669	[tests/texp2.c] added non-regression test
10670
10671	[tests/ttanh.c] added test for bug in mpfr_tanh
10672	[doc/algorithms.tex] fixed error analysis for mpfr_tanh
10673	[src/tanh.c] fixed error analysis
10674	Note after r12016: Even though mpfr_tanh was incorrect, the failure
10675	of the test added in ttanh.c was actually *only* due to a bug in the
10676	mpfr_div code specific to the trunk (fixed in r12002), i.e. this was
10677	not a non-regression test for the mpfr_tanh bug itself (in particular,
10678	this test does not introduce a failure in the 3.1 branch, which still
10679	has the same incorrect mpfr_tanh code but a correct mpfr_div).
10680
106812017-12-18  Vincent Lef��vre  <vincent@vinc17.net>
10682
10683	Updated version to 4.1.0-dev again.
10684
106852017-12-17  Vincent Lef��vre  <vincent@vinc17.net>
10686
10687	Updated version to 4.0.0-rc2 for an attempt to replace the 4.0 branch.
10688
10689	ChangeLog update with "LC_ALL=en_US.UTF8 TZ=UTC svn log -rHEAD:0 -v".
10690
106912017-12-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
10692
10693	[src/add1sp.c] fix bug in mpfr_add1sp3() in case d=GMP_NUMB_BITS
10694
106952017-12-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
10696
10697	[tests/tadd1sp.c] added test for new bug (still to be fixed):
10698
10699	Seed GMP_CHECK_RANDOMIZE=1514385177 (include this in bug reports)
10700	add1 & add1sp return different values for MPFR_RNDN
10701	Prec_a = 137, Prec_b = 137, Prec_c = 137
10702	B = 0.11111111111111111111111111111111111111111111111111111111111111111111000000000000000000000000000000000000000000000000000000000000000000000E-66
10703	C = 0.11111111111111111111111111111111111111111111111111111111111111111000000000000000000000000000000000000000000000000000000000000000000110000E-2
10704
10705	add1  : 0.10000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000001000E-1
10706	add1sp: 0.11111111111111111111111111111111111111111111111111111111111111111000000000000000000000000000000000000000000000000000000000000000000010000E-2
10707	Inexact sp = 0 | Inexact = 0
10708	Flags sp = 8 | Flags = 8
10709	add1sp.c:89: MPFR assertion failed: 0
10710
107112017-12-15  Vincent Lef��vre  <vincent@vinc17.net>
10712
10713	[src/root.c] Minor comment correction.
10714
10715	[src/root.c] Completed fix from r11978, as x=-1 was affected too. Also
10716	  added comments explaining that mpfr_root_aux assumes |x| ��� 1 and why.
10717	  Hence the need of a filter on |x| = 1.
10718	[tests/troot.c] Added test for x = -1.
10719
10720	[tests/troot.c] Replaced mpfr_root by TF (like in the other tests).
10721
107222017-12-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
10723
10724	[src/root.c] fixed bug when x=1
10725	[tests/troot.c] added non-regression test
10726
107272017-12-14  Vincent Lef��vre  <vincent@vinc17.net>
10728
10729	[tests/tsub1sp.c] Corrected a type. And mpfr_equal_p being a predicate
10730	function, it's better to use Boolean operators on it.
10731
107322017-12-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
10733
10734	[tests/tsub1sp.c] added a generic test for bug20171213()
10735
107362017-12-14  Vincent Lef��vre  <vincent@vinc17.net>
10737
10738	[src/{mul.c,sqr.c}] Minor changes, making code similar to sub1sp.c.
10739	Checked with
10740	  grep -A 1 'sb *>>' src/*.c
10741	that the bug fixed in r11974 does not occur in other parts of the code.
10742	BTW, there is much duplicate code, as shown by the grep output, and
10743	using macros could have avoided that, making bugs easier to reproduce
10744	(since a same bug would be duplicate several times).
10745
107462017-12-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
10747
10748	[src/sub1sp.c] fixed bug in mpfr_sub1sp2()
10749	[tests/tsub1sp.c] added non-regression test
10750
107512017-12-13  Vincent Lef��vre  <vincent@vinc17.net>
10752
10753	[src/mpf2mpfr.h] Added a comment.
10754
107552017-12-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
10756
10757	[src/mpf2mpfr.h] missing mpf_inits/mpf_clears
10758
10759	[src/mpfr-gmp.h] redefine __clz_tab also with gmp-build
10760
107612017-12-12  Vincent Lef��vre  <vincent@vinc17.net>
10762
10763	[configure.ac] Improved error message.
10764
10765	[tests/talloc.c] Added a comment about why talloc requires ISO C99.
10766
10767	[src/mpfr-cvers.h] Removed a useless test for __MPFR_STDC, as one just
10768	needs to check whether we have a C99, C11, etc. implementation (if not
10769	done via a configure test). Particular incompatibilities with the C90
10770	standard should always be checked via a configure test.
10771
10772	[tests] Added *.exe to svn:ignore property (files from MinGW builds).
10773
107742017-12-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
10775
10776	[tools/timings-mpfr.c] always use clock() [now very accurate under Linux]
10777
107782017-12-12  Vincent Lef��vre  <vincent@vinc17.net>
10779
10780	[tools/timings-mpfr.c] Updated years in copyright notice.
10781
10782	[tools/timings-mpfr.c] Fixed prototypes.
10783
10784	[tools/timings-mpfr.c] Added a defined(_MSC_VER). But clock() is
10785	standard, so why not always using it?
10786
10787	[doc/README.dev] Correction.
10788
10789	[doc/README.dev] Made formatting consistent (same as configure --help).
10790
10791	Completed r11955: There were also DEBUG macros under the "tests"
10792	directory. Since such macros can still be useful in case a test failure,
10793	replaced them by MPFR_DEBUG to avoid issues with CI builds that define
10794	the DEBUG macro. But an environment variable would be a better solution
10795	(see MPFR_DEBUG_BADCASES as an example).
10796
10797	[TODO] Removed item on the DEBUG macro (done in r11955).
10798
107992017-12-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
10800
10801	DEBUG_TGENERIC -> MPFR_DEBUG_TGENERIC
10802	XDEBUG -> MPFR_DISABLE_IEEE_FLOATS
10803
10804	get rid of DEBUG macro (but keep corresponding commands in comment to help
10805	understanding of the code and debugging)
10806
108072017-12-11  Vincent Lef��vre  <vincent@vinc17.net>
10808
10809	[tests/tget_q.c] Removed trailing whitespace.
10810
108112017-12-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
10812
10813	[tests/tget_q.c] replaced MPFR_ASSERTN(0) by exit(1)
10814
108152017-12-10  Vincent Lef��vre  <vincent@vinc17.net>
10816
10817	[src/get_q.c] Optimization of r11951 suggested by Trevor Spiteri:
10818	https://sympa.inria.fr/sympa/arc/mpfr/2017-12/msg00040.html
10819
108202017-12-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
10821
10822	[src/get_q.c] make result of mpfr_get_q in canonical form
10823	[tests/tget_q.c] added non-regression test
10824
10825	[src/lngamma.c] replace call to __gmpfr_ceil_log2 by __gmpfr_int_ceil_log2
10826
108272017-12-09  Vincent Lef��vre  <vincent@vinc17.net>
10828
10829	[TODO] Rename the DEBUG macro to MPFR_DEBUG?
10830
108312017-12-08  Vincent Lef��vre  <vincent@vinc17.net>
10832
10833	[src/Makefile.am] Also distribute generic/coverage/mparam.h
10834	(at least useful for testing the distributed tarballs).
10835
10836	[doc] Updated FAQ.html with update-faq.
10837
10838	[doc] Updated FAQ.html with update-faq.
10839
10840	[doc/README.dev] "To make a release":
10841	  * Note that this needs to be done in a branch.
10842	  * Swapped (1) and (2), in particular because the coverage might be
10843	    different in -dev versions and it is better to give results closer
10844	    to the release.
10845
10846	Updated version to 4.1.0-dev.
10847
10848	ChangeLog update with "LC_ALL=en_US.UTF8 TZ=UTC svn log -rHEAD:0 -v".
10849
10850	Moved tests/timings-mpfr.c into directory "tools" as it is not part
10851	of the test suite.
10852
108532017-12-07  Vincent Lef��vre  <vincent@vinc17.net>
10854
10855	[src/fpif.c] Removed FIXME about the sign bit of NaN: done in
10856	r11910 and r11920 (documentation + tests).
10857
10858	[src] Replaced some "return 0" by "MPFR_RET (0)" (the generated code
10859	is the same as shown by gcc, thanks to an obvious optimization; this
10860	is semantically better, which could help provers, and would allow
10861	code instrumentation in the future, if need be).
10862
108632017-12-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
10864
10865	got rid of mpz_dump (undocumented in GMP)
10866
10867	[src/mpfr-mini-gmp.c] updated with GMP 6.1.2
10868
108692017-12-06  Vincent Lef��vre  <vincent@vinc17.net>
10870
10871	[doc/mpfr.texi] Corrected a Texinfo typography issue.
10872
10873	[src/pool.c] Updated description. Corrected copyright years as the
10874	pool code itself was introduced in 2014.
10875
10876	[tests/timings-mpfr.c] Removed trailing whitespace, untabified,
10877	changed GMP_RNDN to MPFR_RNDN.
10878
10879	Cleanup and fixes for the mpz_t pool.
10880	  * Split src/free_cache.c to itself and a new source file src/pool.c
10881	    containing pool related code.
10882	  * src/mpfr-impl.h, src/pool.c: cleanup and fixes. In particular:
10883	      - renamed MPFR_MY_MPZ_INIT to MPFR_POOL_NENTRIES;
10884	      - no longer use GMP's symbols __gmpz_init, etc. directly;
10885	      - improved the condition for mpfr_mpz_init2;
10886	      - fixed the condition in mpfr_mpz_clear (we want to consider
10887	        the allocated size, not the size of the current number).
10888	  * src/Makefile.am: added pool.c.
10889	  * src/mpfr.h: added mpfr_free_pool prototype.
10890	  * doc/mpfr.texi: updated pool description in "Memory Handling";
10891	    new function mpfr_free_pool.
10892	  * doc/README.dev: update due to the rename of MPFR_MY_MPZ_INIT.
10893	  * NEWS: better announcement of the mpz_t pool.
10894
10895	[doc/mpfr.texi] Small correction concerning the caches.
10896
10897	[doc/mpfr.texi] More details for mpfr_fpif_export and mpfr_fpif_import.
10898
108992017-12-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
10900
10901	[timings-mpfr.c] test file for measuring timings (added -p option)
10902
109032017-12-06  Vincent Lef��vre  <vincent@vinc17.net>
10904
10905	Updated the remaining www.loria.fr URL's.
10906
10907	[doc/algorithms.bib] Updated URL's.
10908
10909	[doc/mpfr.texi] References: typography; updated a URL.
10910
109112017-12-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
10912
10913	[mpfr.texi] updated reference to "Modern Computer Arithmetic"
10914
10915	[free_cache.c] limit the size of objects in the mpz_t pool
10916
109172017-12-06  Vincent Lef��vre  <vincent@vinc17.net>
10918
10919	[src/free_cache.c] Added a comment for the mpz_t pool, and a suggestion
10920	for mpfr_mpz_clear so that the pool will not take too much memory while
10921	keeping a possible benefit for very small precision.
10922
109232017-12-05  Vincent Lef��vre  <vincent@vinc17.net>
10924
10925	[src/mpfr.h] Made box around code examples for clarity and grep.
10926
10927	[doc/mpfr.texi] For mpfr_fpif_export: the sign of a NaN is stored.
10928	[tests/tfpif.c] Test the sign of NaN (in particular).
10929
10930	[doc/mpfr.texi] Updated references.
10931
10932	[doc/mpfr.texi] Update about 0 of type without signed zeros, as in
10933	mpfr_div_ui.
10934
10935	[doc/mpfr.texi] Document the behavior of mpfr_ui_pow and mpfr_ui_pow_ui
10936	on the integer 0 (0 does not have a sign here).
10937
109382017-12-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
10939
10940	[doc/mini-gmp] added information about result of "make check"
10941
109422017-12-05  Vincent Lef��vre  <vincent@vinc17.net>
10943
10944	[src/mpfr-gmp.h] Removed old code for pre-GMP-5 versions.
10945
10946	[src/urandomb.c] Removed an obsolete "#if __MPFR_GMP(5,0,0)" as we now
10947	require GMP 5.0+ and mp_bitcnt_t is also defined by mini-gmp.
10948
10949	[src/mpfr-gmp.h] Removed the code that defined mpn_copyi and mpn_copyd
10950	macros for GMP < 5, since MPFR now requires GMP 5.0+ and these functions
10951	are also defined by mini-gmp (these macros were used by mini-gmp only
10952	because mini-gmp does not define GMP_VERSION).
10953
10954	[src/mpfr-gmp.h] Missing parentheses around parameters in mpn_copyi
10955	and mpn_copyd macro definitions.
10956
109572017-12-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
10958
10959	fixed bug in replacement function for copyi and copyd (found with mini-gmp)
10960
10961	add --disable-shared for mini-gmp (not tested yet with dynamic linking)
10962
109632017-12-05  Vincent Lef��vre  <vincent@vinc17.net>
10964
10965	[src/mpfr.h] Explain how to avoid the "... is deprecated" warning when
10966	testing a deprecated function.
10967
10968	[doc/README.dev] Removed a -Wno-error=deprecated-declarations as
10969	the specific warnings are now avoided (r11896).
10970
10971	Disable the "deprecated" attribute of deprecated functions *only* for
10972	the tests of these functions, to avoid the corresponding warnings.
10973
10974	Removed trailing whietespace.
10975
109762017-12-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
10977
10978	fixed compiler warnings with mini-gmp
10979
109802017-12-04  Vincent Lef��vre  <vincent@vinc17.net>
10981
10982	Simplified the use of MPFR_USE_FILE since <stdio.h> (<cstdio> for C++)
10983	is unconditionally included.
10984
109852017-12-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
10986
10987	make compilation work again (make + make check) with mini-gmp
10988
109892017-12-04  Vincent Lef��vre  <vincent@vinc17.net>
10990
10991	Improved portability of the check-gmp-symbols make rule.
10992
10993	[src/fpif.c] Clarification.
10994
10995	[tests]
10996	  * tfpif.c: in doit(), also test the negative versions of the numbers.
10997	  * tfpif_r1.dat: update.
10998
10999	[src] Update about the internal use of mpfr_get_str.
11000	  * get_str.c: updated a comment.
11001	  * vasprintf.c: added assertions.
11002
11003	[doc/mpfr.texi] Updated the month.
11004
11005	[src/get_str.c] Corrected a comment.
11006
11007	[doc/mpfr.texi] Update about the memory allocation (added references
11008	to Section "Memory Handling").
11009	(merged changeset r11632 from the 3.1 branch)
11010
11011	[doc/mpfr.texi] Update for mpfr_get_str:
11012	  * Added a texi comment explaining why m+1 (so that if the mpfr_get_str
11013	    implementation is improved, we know whether this is still the case).
11014	  * Improved the documentation for the case str = null pointer.
11015
110162017-12-03  Vincent Lef��vre  <vincent@vinc17.net>
11017
11018	[doc/mpfr.texi] Updated comments about the latest change (r11881).
11019
11020	[doc/mpfr.texi] Typography fixes for TeX (DVI/PS/PDF) in math mode.
11021	  * Corrected the use of \lceil and \rceil.
11022	  * Added missing @var, including 2 in exponent, as allowed by
11023	    texinfo.tex 2017-12-01.13.
11024	  * Removed old comments about Texinfo.
11025
11026	[doc/texinfo.tex] Update to the latest version 2017-12-01.13 from
11027	<https://ftp.gnu.org/gnu/texinfo/>.
11028
110292017-12-01  Vincent Lef��vre  <vincent@vinc17.net>
11030
11031	[acinclude.m4] In r11876, forgot to define MPFR_WANT_DECIMAL_FLOATS in
11032	the cross-compiling case.
11033
11034	Solved an output issue on AIX due to the use of setbuf() after output
11035	in tversion. Indeed, this is disallowed by ISO C.
11036	  * doc/README.dev: added a note about tests_start_mpfr and this issue.
11037	  * tests/tests.c: moved test_version() after setbuf().
11038	  * tests/tversion.c: moved tests_start_mpfr() earlier, before any
11039	    printf().
11040
11041	[acinclude.m4] Attempt to fix detection of decimal floats: if _Decimal64
11042	is known but does not work, no longer fail when --enable-decimal-float
11043	has not been used; just disable decimal floats.
11044
11045	[acinclude.m4] Attempt to fix detection of decimal floats (BID was
11046	incorrectly assumed in case of link failure, if ld returned 1, which
11047	was observed on powerpc-ibm-aix7.2.0.0 [gcc119.fsffrance.org]).
11048
11049	[src/fpif.c] Updated comments about the format.
11050
110512017-11-30  Vincent Lef��vre  <vincent@vinc17.net>
11052
11053	[doc/README.dev] Typo.
11054
11055	Two fixes for the check-gmp-symbols make rule:
11056	  * Use $(COMPILE) instead of $(CC) to get the usual compilation flags
11057	    (in particular, the -I flags may be important to find gmp.h and to
11058	    get the correct one).
11059	  * Run the test only if libmpfr.so exists.
11060
11061	[doc/README.dev] Internal GMP symbols: mention "make check-gmp-symbols".
11062
11063	[NEWS] Mention "make check-gmp-symbols" (experimental).
11064
11065	[INSTALL] Added an optional step "make check-gmp-symbols" to check
11066	that MPFR does not use GMP internal symbols.
11067
11068	Added comment about the check-gmp-symbols make rule (added in r11865).
11069
11070	Added check-gmp-symbols make rule to check that MPFR does not use
11071	GMP internal symbols.
11072
11073	[doc/README.dev] Detailed the note about the list of GMP symbols.
11074
11075	[doc/README.dev] Document how to get the list of GMP symbols used
11076	by MPFR and how to detect GMP internal symbols used by MPFR.
11077
11078	[INSTALL] Added a paragraph about the potential incorrect use of
11079	GMP internals.
11080
110812017-11-29  Vincent Lef��vre  <vincent@vinc17.net>
11082
11083	[src/fpif.c] Fixed the sign bug for mpfr_fpif_import.
11084
11085	[tests/tfpif.c] In doit(), before the call to mpfr_fpif_import(), set
11086	the sign of the target to the opposite of the expected sign. Thus, if
11087	mpfr_fpif_import forgets to set the sign, this will be detected. And
11088	a failure actually occurs now!
11089
11090	[tests/tfpif.c] For mpfr_fpif_import, check the precision too.
11091
11092	[doc/mpfr.texi,src/fpif.c] For mpfr_fpif_import, in case of failure,
11093	the argument x is either unchanged or set to NaN, to make sure that
11094	x has valid contents (otherwise this could yield erratic behavior).
11095
11096	[src/fpif.c] For mpfr_fpif_import, replaced an assertion by a failure
11097	(since the full format is not described in the manual and MPFR cannot
11098	currently generate such a case, this is OK).
11099
11100	[tests/tfpif_r1.dat] Fixed an obvious error (incorrect sign of 0).
11101
11102	[tests/tfpif.c] Output more information in case of error.
11103
111042017-11-28  Vincent Lef��vre  <vincent@vinc17.net>
11105
11106	[src/fpif.c] Fixed some bugs (though unlikely to occur in practice).
11107	Added comments. Minor code improvement.
11108
11109	Got rid of the useless SIZE_MAX macro.
11110	  * src/vasprintf.c: replaced SIZE_MAX by (size_t) -1, already used
11111	    in some other files.
11112	  * acinclude.m4: no longer use gl_SIZE_MAX (from m4/size_max.m4).
11113	  * Removed m4/size_max.m4 as it is no longer needed (note that the
11114	    definition of SIZE_MAX by this file was unnecessarily complex
11115	    and potentially incorrect on some platforms).
11116
11117	[src/fpif.c] Added static assertions in mpfr_fpif_import().
11118
11119	[src/fpif.c] Improved a test (mpfr_regular_p ��� !MPFR_IS_SINGULAR).
11120
11121	[src/mpfr-impl.h] Added a note about the use of the MPFR_IS_PURE_*(x)
11122	and MPFR_IS_SINGULAR*(x) macros.
11123
111242017-11-27  Vincent Lef��vre  <vincent@vinc17.net>
11125
11126	[src/fpif.c] Added format description from past mail messages, to be
11127	checked in case of change (+ FIXME for NaN). Minor code improvement.
11128
11129	[tests/tfpif.c] Added TODO's (but the failure should be fixed first).
11130
11131	[src/fpif.c] Clarified sign variable.
11132
11133	[tests/tfpif.c] Use SAME_VAL instead of mpfr_cmp. This triggers a bug
11134	that was not detected yet.
11135
11136	[tests/tfpif.c] Split the main test function into:
11137	  * doit(): keep only the tests that depend on the precisions.
11138	  * check_bad(): tests for bad file/data; precisions are not involved.
11139
11140	[tests/tfpif.c] Improved a test (NaN checking). Added comments.
11141
11142	[tests/tfpif.c] Removed a TODO done in r10326 and r10338.
11143
11144	Updated autogen.sh so that doc/texinfo.tex isn't replaced.
11145
11146	Added doc/texinfo.tex file from Texinfo 6.5 since the version installed
11147	by Automake (via "autoreconf -i" as called by autogen.sh) is obsolete:
11148	more than 4 years older than the current version!
11149
11150	[doc/mpfr.texi] Updated a comment about a bug in Texinfo.
11151
111522017-11-23  Vincent Lef��vre  <vincent@vinc17.net>
11153
11154	[tests/tset_exp.c] Check mpfr_get_exp too (with two additional tests
11155	for mpfr_set_exp).
11156
11157	[tests/texceptions.c] Minor improvements.
11158
11159	[doc/mpfr.texi] For mpfr_get_exp, document that x can be outside of
11160	the current range of acceptable values (this was ambiguous).
11161
111622017-11-21  Vincent Lef��vre  <vincent@vinc17.net>
11163
11164	[doc/mpfr.texi] Corrected Texinfo typography issues.
11165
111662017-11-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
11167
11168	added another example where we can have an overflow
11169
11170	added pointer to mpfr_subnormalize
11171
111722017-11-21  Vincent Lef��vre  <vincent@vinc17.net>
11173
11174	[doc/mpfr.texi] Major update of "MPFR and the IEEE 754 Standard".
11175
11176	[doc/mpfr.texi] Added "MPFR and the IEEE 754 Standard" to the main menu
11177	as required. Title capitalization.
11178
11179	[doc/mpfr.texi] Correction of a @node.
11180
111812017-11-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
11182
11183	added section "MPFR and the IEEE 754 standard"
11184
111852017-11-20  Vincent Lef��vre  <vincent@vinc17.net>
11186
11187	[doc/mpfr.texi] mpfr_can_round: corrected the example; removed
11188	a reference to "ternary value" as there is already one in the
11189	previous sentence; clarification.
11190
11191	[doc/mpfr.texi] Faithful rounding (MPFR_RNDF):
11192	  * Document that this feature is experimental and partially supported.
11193	  * Update Section "API Compatibility".
11194	Note: the NEWS file was up-to-date.
11195
111962017-11-15  Vincent Lef��vre  <vincent@vinc17.net>
11197
11198	[tests/talloc-cache.c]
11199	  * Replaced test + abort() by the more informative MPFR_ASSERTN().
11200	  * Also check that the allocator is the current GMP one (this would
11201	    fail with MPFR 3.1.6, where the allocation functions are memorized
11202	    the first time they are seen).
11203
11204	mpfr_mp_memory_cleanup() now returns an error code (currently always 0)
11205	to avoid a future prototype change in case errors would be possible.
11206
112072017-11-10  Vincent Lef��vre  <vincent@vinc17.net>
11208
11209	Cleanup: In src/mpfr-gmp.h, exchanged
11210	  mpfr_allocate_func    and  *__gmp_allocate_func
11211	  mpfr_reallocate_func  and  *__gmp_reallocate_func
11212	  mpfr_free_func        and  *__gmp_free_func
11213	and in the code, replaced *__gmp_{allocate,reallocate,free}_func
11214	by mpfr_{allocate,reallocate,free}_func; updated TODO file.
11215
11216	[doc/mpfr.texi] The sign bit of a NaN is now specified for mpfr_abs,
11217	mpfr_neg and mpfr_set, in order to mimic the IEEE-754 abs, negate
11218	and copy operations.
11219
11220	[tests/tabs.c] More tests on mpfr_abs, including the ternary value
11221	and the NaN flag and sign bit for ��NaN.
11222
11223	[tests/tabs.c] Coding style.
11224
11225	[tests/tset.c] For mpfr_neg on NaN, also check that the variable is
11226	set to NaN and that the ternary value is 0.
11227
11228	[tests/tset.c] More NaN tests for mpfr_set.
11229
11230	[tests/tset.c] More tests of the NaN flag and the sign bit for mpfr_neg
11231	on NaN.
11232
11233	[tests/tset.c] The global variable "error" is better as static.
11234
11235	[tests/tset.c] For mpfr_neg on NaN, check that the sign bit is flipped
11236	in both ways.
11237
11238	[tests] Added talloc-cache to svn:ignore property.
11239
112402017-11-09  Vincent Lef��vre  <vincent@vinc17.net>
11241
11242	[tests/tset.c] In the mpfr_neg test on the sign of NaN:
11243	C90 compatibility; improved robustness since as specified,
11244	mpfr_signbit can return any value (not just 0 or 1).
11245
11246	[src/neg.c] Refactored code (BTW, this was not a bug as the sign of NaN
11247	is currently unspecified for mpfr_neg).
11248
112492017-11-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
11250
11251	fixed bug reported by Trevor Spiteri
11252	(https://sympa.inria.fr/sympa/arc/mpfr/2017-11/msg00003.html)
11253
112542017-11-08  Vincent Lef��vre  <vincent@vinc17.net>
11255
11256	Change the way memory is allocated (as discussed partly in private).
11257	  * src/mpfr-gmp.c, src/mpfr-gmp.h, src/mpfr-impl.h: update.
11258	  * src/free_cache.c, src/mpfr.h: added mpfr_mp_memory_cleanup function.
11259	  * NEWS: describe API change.
11260	  * TODO: added 2 related items (future clean-up and feature).
11261	  * doc/mpfr.texi: update.
11262	  * tests/talloc-cache.c: take API change into account.
11263
112642017-11-07  Vincent Lef��vre  <vincent@vinc17.net>
11265
11266	[doc/mpfr.texi] Updated Section "Compatibility With MPF".
11267
11268	[doc/mpfr.texi] Removed a paragraph from r2962 concerning mpf2mpfr.h
11269	and mpf_init / mpf_init2: since r2985, the mpf_init / mpf_init2 macros
11270	initialize to 0 like MPF, so that users shouldn't see differences from
11271	MPF.
11272
112732017-11-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
11274
11275	added reference
11276
112772017-11-07  Vincent Lef��vre  <vincent@vinc17.net>
11278
11279	[src/mpfr.h] Formatting.
11280
11281	[src/mpfr.h] mpfr_free_cache_t: added comments to show that these are
11282	flags.
11283
11284	[doc/mpfr.texi] Updated mpfr_free_cache / mpfr_free_cache2 description.
11285
11286	[src/free_cache.c] Minor portability improvement for mpfr_free_cache2
11287	to accept way = 0 (no effect on two's complement machines).
11288
112892017-11-06  Vincent Lef��vre  <vincent@vinc17.net>
11290
11291	[tests]
11292	  * tests.c: for test programs that use GMP's mp_set_memory_functions,
11293	    tests_rand_start and tests_rand_end also need to be disabled; to do
11294	    that, require that tests_memory_disabled be set to 2 in this case
11295	    (the value 1 is already used for the use with mini-gmp, where only
11296	    tests_memory_start and tests_memory_end need to be disabled).
11297	  * talloc-cache.c: call tests_start_mpfr and tests_end_mpfr as usual,
11298	    with tests_memory_disabled set to 2.
11299
11300	[doc/mpfr.texi] Updated the month.
11301
11302	[doc/mpfr.texi] Minor change.
11303
11304	[doc/mpfr.texi] + explicit information on pools (in addition to caches).
11305
11306	[NEWS,doc/mpfr.texi] mpfr_free_cache2 is a new function in MPFR 4.0,
11307	as a consequence of shared caches for multithreaded applications.
11308
11309	[src/free_cache.c] GNU coding style.
11310
11311	[tests]
11312	  * Makefile.am: added talloc-cache to check_PROGRAMS.
11313	  * talloc-cache.c: improved the test allocators so that an incorrect
11314	    use is detected by this code instead of relying on the C library
11315	    checking bad use of malloc/realloc/free (which was UB).
11316	    NOTE: The test currently fails in the trunk due to the mpz_t pool.
11317	    But anyway, the memory allocation method will change soon.
11318
11319	[tests/talloc-cache.c] Corrected indentation.
11320
113212017-10-30  Vincent Lef��vre  <vincent@vinc17.net>
11322
11323	[doc/mpfr.texi] Improved the mpfr_nexttoward description w.r.t. flags.
11324
113252017-10-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
11326
11327	added note about mpfr_beta
11328
113292017-10-26  Vincent Lef��vre  <vincent@vinc17.net>
11330
11331	[NEWS,doc/mpfr.texi] mpfr_beta is incomplete, experimental.
11332	See <https://sympa.inria.fr/sympa/arc/mpfr/2017-10/msg00007.html>.
11333
113342017-10-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
11335
11336	added functions from C++17
11337
113382017-10-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
11339
11340	fixed typo
11341
113422017-10-11  Vincent Lef��vre  <vincent@vinc17.net>
11343
11344	[src/get_float128.c] Fixed failure in mpfr_get_float128 when called with
11345	  a very reduced exponent range.
11346	[tests/tset_float128.c] Also test mpfr_get_float128 in reduced exponent
11347	  range (triggering a failure before the fix).
11348
113492017-10-10  Vincent Lef��vre  <vincent@vinc17.net>
11350
11351	[doc/README.dev] "To make a release": + Check the generic code.
11352
113532017-10-09  Vincent Lef��vre  <vincent@vinc17.net>
11354
11355	[src/get_ld.c] Fixed the generic code when called with a very reduced
11356	exponent range. The tset_ld failure could be triggered on x86 by running
11357	"./configure ... mpfr_cv_c_long_double_format=unknown".
11358
11359	[tests/tset_ld.c] Also test mpfr_get_ld in reduced exponent range
11360	(no failures on x86).
11361
11362	[src/get_z.c] Fixed failure in mpfr_get_z when called with a very
11363	  reduced exponent range.
11364	[tests/tget_z.c] Added tests in the various rounding modes (triggering
11365	  a failure before the above fix). Also call check_one() on an integer
11366	  congruent to 1 mod 4 (useful to check even rounding). Fixed 2 issues
11367	  in the error message (for inex and the flags).
11368
11369	[tests/tget_z.c] Also test mpfr_get_z in reduced exponent range
11370	(no failures though its code seems incorrect).
11371
113722017-10-06  Vincent Lef��vre  <vincent@vinc17.net>
11373
11374	[src/{get_si.c,get_sj.c}] Minor improvement, removing an obsolete note
11375	in get_sj.c at the same time.
11376
11377	[src/{get_sj.c,get_uj.c}] Fixed failure in mpfr_get_sj and mpfr_get_uj
11378	  when called with a very reduced exponent range.
11379	[tests/tget_sj.c] Added corresponding test cases.
11380
11381	[tests/tset_si.c] Minor correction in error message.
11382
113832017-10-05  Vincent Lef��vre  <vincent@vinc17.net>
11384
11385	[TODO] Function multiversioning (FMV): more details.
11386
11387	[TODO] Mention function multiversioning (FMV).
11388
113892017-10-04  Vincent Lef��vre  <vincent@vinc17.net>
11390
11391	[src/{get_si.c,get_ui.c}] Fixed failure in mpfr_get_si and mpfr_get_ui
11392	when called with a very reduced exponent range.
11393
11394	[tests/tset_si.c] get_tests: added comments and tests in a reduced
11395	exponent range, which currently trigger an assertion failure.
11396
113972017-10-02  Vincent Lef��vre  <vincent@vinc17.net>
11398
11399	[doc/mpfr.texi] Updated the month.
11400
11401	[NEWS] Mention mpfr_dump.
11402
11403	[doc/mpfr.texi] Describe the current output format of mpfr_dump.
11404
11405	[doc/mpfr.texi] Replaced @code by @samp for things that are not
11406	actually code, but parts of character strings.
11407
114082017-09-29  Vincent Lef��vre  <vincent@vinc17.net>
11409
11410	[src/dump.c] mpfr_dump now outputs specific info for invalid data.
11411	[tests/toutimpl.c] Added mpfr_dump tests.
11412
11413	[src/dump.c]
11414	  * Output the sign even for NaN, since this can be useful information
11415	    (the sign of a NaN has an effect with some functions, following
11416	    IEEE 754-2008).
11417	  * This changes allows one to get rid of the mpfr_fprint_binary
11418	    static function at the same time.
11419
11420	[src/{dump.c,print_raw.c}] Updated the description.
11421
114222017-09-29  Vincent Lef��vre  <vincent@vinc17.net>
11423
11424	[src] Clean up of debugging output functions:
11425	  * Replaced the internal function mpfr_fprint_binary by a new
11426	    internal function mpfr_fdump, similar to mpfr_dump, but with
11427	    a FILE * argument.
11428	  * Got rid of mpfr_print_binary entirely (it became internal in
11429	    r2466 for MPFR 2.0.2, released in 2003).
11430
11431	Details:
11432	  * print_raw.c:
11433	      - moved the mpfr_fprint_binary code to dump.c;
11434	      - removed mpfr_print_binary.
11435	  * dump.c:
11436	      - mpfr_fprint_binary (from print_raw.c) is now defined as static;
11437	      - added function mpfr_fdump, using mpfr_fprint_binary;
11438	      - mpfr_dump: use mpfr_fdump instead of the old mpfr_print_binary.
11439	  * mpfr-impl.h:
11440	      - replaced mpfr_fprint_binary declaration by mpfr_fdump;
11441	      - removed mpfr_print_binary declaration.
11442	  * add1sp.c, mul.c, sub1sp.c: replaced mpfr_fprint_binary by mpfr_fdump
11443	    and removed the '\n', now output by mpfr_fdump.
11444
114452017-09-28  Vincent Lef��vre  <vincent@vinc17.net>
11446
11447	[tests] Added trootn_ui to svn:ignore property.
11448
114492017-09-20  Vincent Lef��vre  <vincent@vinc17.net>
11450
11451	[tests/toutimpl.c]
11452	  * Check mpfr_print_mant_binary() too.
11453	  * GNU coding style.
11454
11455	[src/print_raw.c] Changes in mpfr_print_mant_binary():
11456	  * Output a ']' when a '[' was output earlier.
11457	  * Correction: putchar() takes an int (or unsigned char), not a char.
11458	  * GNU coding style.
11459
114602017-09-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
11461
11462	changed .align 64 into .p2align 6 (cf https://trac.sagemath.org/ticket/19233)
11463
114642017-09-15  Vincent Lef��vre  <vincent@vinc17.net>
11465
11466	[tests] Solve issues with the incorrect use of mpfr_sgn, and make sure
11467	that this cannot happen again without being detected: on zero, +1 or -1
11468	was sometimes expected to check the sign of zero, but mpfr_sgn actually
11469	returned 0, so that the check always succeeded whatever the sign of the
11470	null result.
11471	  * mpfr-test.h: define a new mpfr_sgn macro that fails when used on NaN
11472	    or zero (whose sign is not +1 or -1), except when MPFR_TESTS_TSGN is
11473	    defined.
11474	  * tacos.c, tasin.c, tasinh.c, tatanh.c, tcbrt.c, tdim.c, terf.c,
11475	    texp.c, texp10.c, texp2.c, texpm1.c, tset.c, tset_str.c: replaced
11476	    the incorrect use of mpfr_sgn; some other related improvements.
11477	    Note: in tset.c, a "mpfr_sgn (x) < 0" test had to be replaced by
11478	    "MPFR_IS_POS (x)" since we really want to test whether the sign
11479	    is positive (not negative).
11480	  * tdiv.c, tmul.c, tui_div.c: simplified some tests, in particular to
11481	    avoid a failure with the new mpfr_sgn macro for the tests; here,
11482	    the use of mpfr_sgn was correct, but one could do simpler.
11483	  * tgmpop.c: replaced "mpfr_sgn (z)" by "(mpfr_sgn) (z)" to avoid the
11484	    new mpfr_sgn macro (here, we really want the mathematical sign).
11485	  * tsgn.c: define MPFR_TESTS_TSGN as the goal of this program is to
11486	    test mpfr_sgn itself (both the function and the macro in mpfr.h).
11487
11488	[doc/README.dev] "To make a release": Enhanced step 5 (tarballs).
11489
114902017-09-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
11491
11492	patch to avoid using the system mpfr.h
11493
114942017-09-14  Vincent Lef��vre  <vincent@vinc17.net>
11495
11496	[tests/tfms.c] Similar changes to what was done in tfma.c:
11497	  * replaced "mpfr_cmp" by "! mpfr_equal_p";
11498	  * code formatting (mainly reindentation);
11499	  * use of SAME_SIGN for better clarity.
11500
11501	[tests/tfma.c] Similar change to what was done in tfms.c (may be useful
11502	in the future).
11503
11504	[tests] Got rid of the use of mpfr_print_binary, in general with
11505	mpfr_dump. Replaced some "mpfr_out_str (stdout, 2, ...)" by mpfr_dump
11506	for consistency or as improvements. Some other corrections in the
11507	related error messages.
11508
115092017-09-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
11510
11511	added info about autoconf-archive
11512
115132017-09-14  Vincent Lef��vre  <vincent@vinc17.net>
11514
11515	Old, deprecated macros mpfr_add_one_ulp and mpfr_sub_one_ulp removed.
11516
115172017-09-13  Vincent Lef��vre  <vincent@vinc17.net>
11518
11519	[tools/mpfrlint] Do the tests_start_mpfr / tests_end_mpfr check only if
11520	the .c file has a main() function; this avoids an error on trootn_ui.c,
11521	which just does a #include.
11522
11523	[tests/troot.c]
11524	  * Use mpfr_set_zero instead of mpfr_set_ui / mpfr_neg (like what was
11525	    done for the infinity, using mpfr_set_inf).
11526	  * For exact cases (NaN, ��Inf, ��0), check that the ternary value is 0.
11527
11528	[tests/troot.c] For the root(��0,k) tests, before calling the function,
11529	we set the target y to NaN with the wrong sign, so that if the code of
11530	the function forgets to do something, this will be detected.
11531
11532	[tests/troot.c] Also check root(+0,42) and root(-0,17) for completeness.
11533
11534	[tests/troot.c] Really check the sign of the result 0 (the old test
11535	was always false, thus useless!).
11536
11537	[doc/mpfr.texi] Updated the month.
11538
11539	New mpfr_rootn_ui function; mpfr_root deprecated.
11540	  * src/root.c: mpfr_rootn_ui is now the main code, and mpfr_root calls
11541	    mpfr_rootn_ui.
11542	  * src/mpfr.h: added mpfr_rootn_ui prototype; marked mpfr_root as
11543	    deprecated.
11544	  * Added tests/trootn_ui.c (includes troot.c).
11545	  * tests/troot.c: made it usable (via #include) by the new trootn_ui.c
11546	    test.
11547	  * tests/Makefile.am: added trootn_ui; at the same time, corrected the
11548	    order of the test programs (lexicographic, with exceptions).
11549	  * NEWS, TODO, doc/mpfr.texi: update.
11550
11551	[tests] Avoid duplicate code by defining the MAKE_STR() macro in
11552	mpfr-test.h only instead of tgeneric.c and tversion.c.
11553
115542017-09-08  Vincent Lef��vre  <vincent@vinc17.net>
11555
11556	[doc/README.dev] "To make a release": Updated the warning, as the issue
11557	concerns the .ps file only (the .dvi file has no papersize info).
11558
11559	[doc/README.dev] "To make a release": Added a warning to check the
11560	papersize of the generated dvi and ps files, which may be incorrect
11561	(bug in texinfo(?) reported as Debian bug 874632).
11562
11563	Switched other gmplib.org URL's to https.
11564
11565	[doc/mpfr.texi] Updated URL:
11566	  http://gmplib.org ��� https://gmplib.org/
11567
11568	[doc/mpfr.texi] Updated URL:
11569	  ftp://ftp.gnu.org/gnu/mpfr/ ��� https://ftp.gnu.org/gnu/mpfr/
11570
11571	[tools/announce-text] Switched to https for ftp.gnu.org.
11572
115732017-09-07  Vincent Lef��vre  <vincent@vinc17.net>
11574
11575	[doc/README.dev] "To make a release": update about the uploads.
11576
115772017-09-06  Vincent Lef��vre  <vincent@vinc17.net>
11578
11579	[NEWS] Completed item on thread-safe DLL (shared library) support.
11580
11581	[src/mpfr-impl.h] Completed the fix in r11713.
11582
11583	[src/mpfr-impl.h] Fixed thread-safe DLL support with ICC and MSVC
11584	on MS Windows without the GMP build directory (r11712 contained
11585	inconsistent function names, yielding "unresolved external symbol"
11586	errors in tabort_defalloc1.obj), second try.
11587
11588	[src] Attempt to fix thread-safe DLL support with ICC and MSVC on
11589	MS Windows without the GMP build directory. See:
11590	  https://sympa.inria.fr/sympa/arc/mpfr/2017-09/msg00009.html
11591	  https://sympa.inria.fr/sympa/arc/mpfr/2017-09/msg00014.html
11592	i.e. for the mpfr_allocate_func, mpfr_reallocate_func & mpfr_free_func
11593	external TLS variables, one does the same thing as what had been done
11594	for the other ones (__gmpfr_flags, __gmpfr_emin, __gmpfr_emax, etc.).
11595
11596	[tests] Added tget_q to svn:ignore property.
11597
115982017-09-05  Vincent Lef��vre  <vincent@vinc17.net>
11599
11600	[tests/tsprintf.c] With MPFR_CHECK_LIBC_PRINTF, disable the test of
11601	the "'" flag with a non-glibc C library (SUS extension in printf).
11602	In particular, it is not supported by AIX 7.2.
11603
11604	[src/mpfr-impl.h] In case decimal_point and/or thousands_sep are
11605	non-single-byte characters (as found on FreeBSD 11 in fr_FR.UTF-8),
11606	revert to the default value. Added a FIXME to support multibyte
11607	decimal_point and thousands_sep.
11608
11609	[tests/tsprintf.c] Formatting.
11610
11611	[doc/README.dev] Added a paragraph about temporary result files created
11612	by test programs.
11613
11614	[tests/Makefile.am] Added tfpif_rw.dat to CLEANFILES.
11615
11616	[tests] Renamed mpfrtest.txt, mpfrtest.dat and mpfrtest2.dat to
11617	tfpif_rw.dat, tfpif_r1.dat and tfpif_r2.dat respectively.
11618
11619	[tests]
11620	  * toutimpl.c: Changed the filename of the result file like what
11621	    has been done in other test programs, to make sure that it will
11622	    not be reused by mistake. Removed comments about tmpname (which
11623	    does not exist).
11624	  * Makefile.am: Added this filename to CLEANFILES (even though the
11625	    file is removed by the test program, an error could occur before
11626	    its actual removal).
11627
11628	[tests]
11629	  * tfprintf.c, tout_str.c, tprintf.c: Do not use the same filename
11630	    for result files created in these test programs, as this breaks
11631	    parallel tests (note that such files are used only if /dev/null
11632	    does not work, so that Unix-like systems were not affected).
11633	    This should fix the bug reported in
11634	      https://sympa.inria.fr/sympa/arc/mpfr/2017-09/msg00000.html
11635	    as said in
11636	      https://sympa.inria.fr/sympa/arc/mpfr/2017-09/msg00005.html
11637	  * Makefile.am: added a CLEANFILES line with these files.
11638
116392017-09-01  Vincent Lef��vre  <vincent@vinc17.net>
11640
11641	[tests/turandom.c] Added test_underflow().
11642	(merged changesets r11691-11694 from the 3.1 branch)
11643
116442017-08-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
11645
11646	update
11647
11648	updated for mpfr-3.1.6-rc1
11649
116502017-08-28  Vincent Lef��vre  <vincent@vinc17.net>
11651
11652	[tools/mpfrlint] Run tools/ck-version-info.
11653
11654	[tools/mpfrlint] Updated a message due to the change in r11673.
11655
11656	[doc/README.dev] "To make a release": The DLL version may need to be
11657	updated too.
11658
11659	[configure.ac] Added a comment about the DLL version.
11660
11661	[configure.ac] Updated DLL version to 6 (cur - age).
11662
11663	[tools/{ck-copyright-notice,ck-inits-clears}] Ignore Emacs lock files
11664	(symbolic links) to avoid a failure when a file is being edited.
11665
11666	[tools] Clean up.
11667	  * Renamed check_inits_clears to ck-inits-clears (the other "check"
11668	    scripts have a name starting with "ck-").
11669	  * mpfrlint: updated the invocation of this test, simplifying it to
11670	    make it similar to the other ones (it was based on old code).
11671
116722017-08-27  Vincent Lef��vre  <vincent@vinc17.net>
11673
11674	[tests/turandom.c] Disabled the reprod_abi test with GMP < 4.2.0
11675	since the hardcoded values would be different.
11676
116772017-08-25  Vincent Lef��vre  <vincent@vinc17.net>
11678
11679	[src/mpfr-impl.h] Replaced
11680	  (MPFR_LIKELY(expr)) || (ASSERT_FAIL(expr),0)
11681	by
11682	  (MPFR_LIKELY(expr)) || (ASSERT_FAIL(expr),MPFR_ASSUME(expr),0)
11683	as a workaround to the fact that mpfr_assert_fail is not marked as
11684	"no return" (bug 21415). Thus, after this code, expr must be true.
11685
11686	[tests/turandom.c] Check that the behavior does not depend on the
11687	platform ABI or MPFR version.
11688
11689	[tests/turandom.c] Corrected error messages after r11661.
11690
11691	[tests/turandom.c] Renamed "reprod" to "reprod_rnd_exp" (reproducibility
11692	test with several rounding modes and exponent ranges), because a second
11693	reproducibility test will be added.
11694
11695	[tests/turandom.c]
11696	  * In underflow_tests, test the flags in all cases (not just when the
11697	    returned result is 0), possibly by first computing the result in a
11698	    large exponent range.
11699	  * Since the flags are now well tested in underflow_tests, no longer
11700	    test them in the second test of test_urandom for k = 0, which was
11701	    the incorrect test that was failing (see r11659).
11702
11703	[tests/turandom.c] Do some test several times in order to trigger
11704	a "mpfr_urandom() returns incorrect flags for emin = 1" failure
11705	when GMP_CHECK_RANDOMIZE is not set (default).
11706	Note: It is this test that is actually wrong (it corresponds to the
11707	old behavior, currently found in the 3.1 branch, and was not updated
11708	after the mpfr_urandom code was fixed).
11709
11710	[tests/turandom.c] Code formatting. Added an assertion.
11711
117122017-08-24  Vincent Lef��vre  <vincent@vinc17.net>
11713
11714	[tests/turandom.c] Check that the behavior of mpfr_urandom() does not
11715	depend on the rounding mode.
11716
11717	[doc/mpfr.texi] Completed the description of mpfr_urandom.
11718
11719	[src/urandom.c] Completed comment.
11720
117212017-08-23  Vincent Lef��vre  <vincent@vinc17.net>
11722
11723	[tests/turandom.c] In bug20170123, use a local gmp_randstate_t variable
11724	instead of mpfr_rands, due to the gmp_randseed_ui (see r11653).
11725
11726	[tools/mpfrlint] Detect the use of gmp_randseed* functions on mpfr_rands
11727	(this is bad practice: this would affect later tests, defeating the
11728	purpose of GMP_CHECK_RANDOMIZE; another gmp_randstate_t variable should
11729	be used instead of mpfr_rands).
11730
11731	[tests/{mpfr-test.h,tests.c}] Got rid of __gmp_randstate_struct, which
11732	is internal to GMP: its use came from very old code (r2330 in 2003-06)
11733	and it is no longer needed.
11734
11735	[tests/turandom.c] Disabled a test with GMP < 4.2.0 since it depends on
11736	a specific behavior of the random generator, which changed in GMP 4.2.0
11737	(the test would probably fail with such old GMP versions).
11738
11739	[src/urandom.c] Partly rewrote mpfr_urandom() so that the next
11740	  random state no longer depends on the current exponent range
11741	  and the rounding mode, and that the exceptions due to the
11742	  rounding of the random number are now correctly generated.
11743	[doc/mpfr.texi] Updated the mpfr_urandom() documentation and
11744	  updated Section "API Compatibility / Changed Functions" to
11745	  mention the change in MPFR 4.0.
11746	[NEWS] Mentioned the change for MPFR 4.0.
11747
117482017-08-22  Vincent Lef��vre  <vincent@vinc17.net>
11749
11750	[src/urandom.c] Minor change about underflow, following the usage.
11751
11752	[tests/turandom.c] Added inex test for the underflow & overflow tests.
11753
11754	[tests/turandom.c] Added overflow tests.
11755
11756	[tests/turandom.c] Indentation.
11757
11758	[tests/turandom.c] Added underflow tests.
11759
11760	[tests/turandom.c] With mini-gmp, omit another test that assumes
11761	a deterministic random generator.
11762
11763	[src/urandom.c] Bug fix: the inexact flag was not set on underflow.
11764
11765	[tests/turandom.c] Added tests of the flags. This currently yields
11766	a failure (inexact flag not set on underflow).
11767
11768	[tests/turandom.c] Added a test of the underflow flag.
11769
117702017-08-21  Vincent Lef��vre  <vincent@vinc17.net>
11771
11772	[src/urandom.c] Set the underflow flag if the drawn exponent is less
11773	than emin. This corresponds to "underflow before rounding" while the
11774	normal rule in MPFR is "underflow after rounding". Thus this needs to
11775	be fixed.
11776	Note: This simple change has been done so that it can be merged with
11777	the 3.1 branch. But this will not be fixable in the 3.1 branch since
11778	the significand is not drawn in this case, and drawing the significand
11779	to determine whether there is an underflow would change the state of
11780	the PRNG at the end of the function, breaking the ABI and the users'
11781	expectations.
11782
11783	[src/urandom.c] Updated comments about overflow and its flag.
11784
11785	[src/urandom.c] Simplified the code, but, except for precision 1,
11786	without changing the state of the PRNG.
11787	Note: The code could be simplified even further, but the goal of the
11788	current change is to allow it to be merged with the 3.1 branch (where
11789	precision 1 is not supported) without too many conflicts.
11790
11791	[src/urandom.c] Moved some code without consequences. Updated comments.
11792
11793	[src/urandom.c] Useless parentheses; reformatting.
11794
117952017-08-17  Vincent Lef��vre  <vincent@vinc17.net>
11796
11797	[src/set_float128.c] No longer depend on the native FP type "double"
11798	(via mpfr_set_d), avoiding the usual precision issues with the x87
11799	traditional FPU in particular. Use the internal representation with
11800	limbs, instead. The code is simpler and should also be faster.
11801	Note: together with r11627, this avoids the tset_float128 failure
11802	with the "-m32 -mpc32" GCC options.
11803
11804	[src/get_float128.c] Removed variable z (no longer useful).
11805
11806	[src/get_float128.c] No longer depend on the native FP type "double"
11807	(via mpfr_get_d), avoiding the usual precision issues with the x87
11808	traditional FPU in particular. Use the internal representation with
11809	limbs, instead. The code is simpler and should also be faster.
11810
118112017-08-14  Vincent Lef��vre  <vincent@vinc17.net>
11812
11813	[src/get_float128.c] Fixed the remaining cases of mpfr_get_float128
11814	(when the value is below the smallest subnormal in absolute value).
11815
11816	[src/get_float128.c] Partly fixed mpfr_get_float128 when it underflows.
11817	[tests/tset_float128.c] Added tests for small values, in particular
11818	  involving underflows (and subnormals).
11819
118202017-08-13  Vincent Lef��vre  <vincent@vinc17.net>
11821
11822	[src/get_float128.c] Reverted r11623 (a note mainly for the 3.1 branch,
11823	which actually doesn't support __float128).
11824
118252017-08-12  Vincent Lef��vre  <vincent@vinc17.net>
11826
11827	[src/get_float128.c] Updated the FIXME.
11828
118292017-08-08  Vincent Lef��vre  <vincent@vinc17.net>
11830
11831	[src/get_float128.c] Added a FIXME after a bug report by Rob:
11832	https://sympa.inria.fr/sympa/arc/mpfr/2017-08/msg00003.html
11833
118342017-08-03  Vincent Lef��vre  <vincent@vinc17.net>
11835
11836	[doc/mpfr.texi] Section "Getting the Best Efficiency Out of MPFR" moved
11837	from "Installing MPFR" to "MPFR Basics". Added corresponding node.
11838
118392017-08-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
11840
11841	new section "How to get the best out of MPFR"
11842
118432017-08-03  Vincent Lef��vre  <vincent@vinc17.net>
11844
11845	[doc/mpfr.texi] Added a FIXME about memory allocation.
11846
11847	[doc/mpfr.texi] Updated the month.
11848
11849	[doc/mpfr.texi] Removed obsolete comments.
11850
11851	[doc/mpfr.texi] Updated paragraph on the MPFR formatted output functions
11852	and overflow on the return type int.
11853
118542017-08-02  Vincent Lef��vre  <vincent@vinc17.net>
11855
11856	[NEWS] Mention the use of the old dtags under Linux (see r11588).
11857
11858	[src] Moved mpfr_vasprintf from vasprintf.c to printf.c and updated
11859	file descriptions for consistency (vasprintf.c should probably be
11860	renamed later to something like printf_aux.c).
11861
11862	[src/printf.c] Updated a comment (taking r11269 into account).
11863
11864	[src/vasprintf.c] Added an assertion.
11865
11866	[src/vasprintf.c] Completed mpfr_vasnprintf_aux description.
11867
118682017-08-01  Vincent Lef��vre  <vincent@vinc17.net>
11869
11870	[tests/{tstdint.c,tvalist.c}] Include "mpfr-test.h" instead of
11871	"mpfr-impl.h" (this is done only when compiling with mini-gmp).
11872
11873	[tools/mpfrlint] Detect "mpfr-impl.h" inclusion by the test programs:
11874	"mpfr-test.h" should be included instead; otherwise __MPFR_WITHIN_MPFR
11875	will be defined, yielding failures under MS Windows with DLL.
11876
118772017-07-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
11878
11879	fixed typo
11880
118812017-07-28  Vincent Lef��vre  <vincent@vinc17.net>
11882
11883	[doc/mpfr.texi] Added important details for the example from r11595.
11884
118852017-07-27  Vincent Lef��vre  <vincent@vinc17.net>
11886
11887	[doc/mpfr.texi] Minor changes.
11888
11889	[doc/mpfr.texi] Updated the month.
11890
118912017-07-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
11892
11893	fixed FIXME related to r11595
11894
118952017-07-27  Vincent Lef��vre  <vincent@vinc17.net>
11896
11897	[doc/mpfr.texi] Added FIXME on example from r11595.
11898
118992017-07-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
11900
11901	[mpfr.texi] added example showing how to emulate fixed-point arithmetic
11902
119032017-07-17  Vincent Lef��vre  <vincent@vinc17.net>
11904
11905	[src/sin_cos.c] Avoid integer overflows with precision 1100000 and
11906	the 32-bit ABI (32-bit long), fixing bug reported by Simon Byrne:
11907	https://sympa.inria.fr/sympa/arc/mpfr/2017-07/msg00002.html
11908
11909	[tests] Re-indented some RND_LOOP / RND_LOOP_NO_RNDF blocks.
11910
11911	[configure.ac] Under Linux, make sure that the old dtags are used
11912	if LD_LIBRARY_PATH is defined, avoiding the following issue:
11913	  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=859732
11914	  https://lists.gnu.org/archive/html/libtool/2017-05/msg00000.html
11915	(merged changeset r11587 from the 3.1 branch)
11916
119172017-07-10  Vincent Lef��vre  <vincent@vinc17.net>
11918
11919	[tests/tversion.c] Forgot casts for printf in r11585.
11920
11921	[tests/tversion.c] Added ABI information & tests.
11922
119232017-06-20  Vincent Lef��vre  <vincent@vinc17.net>
11924
11925	[src/subnormal.c] Correction in comment (English).
11926
119272017-06-19  Vincent Lef��vre  <vincent@vinc17.net>
11928
11929	[tests/tversion.c]
11930	  * Better organization; moved MPFR patches info below MPFR version.
11931	  * Output __GMP_CC and __GMP_CFLAGS values.
11932	  * Output GMP ABI info (to be completed with MPFR ABI info).
11933
119342017-06-03  Vincent Lef��vre  <vincent@vinc17.net>
11935
11936	[configure.ac] Improved some AC_DEFINE comments.
11937
11938	[doc/README.dev] Added quotes for clarity.
11939
11940	[tests/mpf_compat.h] Always use stdout for failure messages.
11941
11942	[src/get_str.c] Improved comments (avoid the confusion between a
11943	negative base argument and a negative base).
11944
119452017-06-02  Vincent Lef��vre  <vincent@vinc17.net>
11946
11947	[doc/mpfr.texi] Punctuation.
11948
119492017-06-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
11950
11951	added mpfr_get_q in Added Functions
11952
11953	src/get_str.c: fixed for negative base
11954	tests/tget_str.c: added tests for negative base
11955
11956	tests/mpf_compat.h: non-regression tests for bugs fixed in revision 11565
11957
11958	src/get_str.c: allow -36 <= b <= -2 too (work in progress) with the same
11959		       meaning as in mpf_get_str
11960
11961	fixed a bug in mpfr_mul for RNDF when Mulders' algorithm is used
11962	(and resolved a FIXME)
11963
119642017-06-02  Vincent Lef��vre  <vincent@vinc17.net>
11965
11966	[doc/mpfr.texi] Corrected mpfr_get_q documentation.
11967
11968	[src/get_q.c] Added assertions to detect integer overflows, in case
11969	mpfr_exp_t is larger than mp_bitcnt_t.
11970
119712017-06-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
11972
11973	src/mpf2mpfr.h: replaced __MPFR_GMP (requires internal mpfr-gmp.h)
11974
11975	src/mpf2mpfr.h: fixed fits_s* functions and get_si
11976
11977	use macro __MPFR_GMP
11978
11979	added new function mpfr_get_q
11980
11981	src/mpf2mpfr.h: added mpf_cmp_z (appeared in GMP 6.1.0)
11982
119832017-06-01  Vincent Lef��vre  <vincent@vinc17.net>
11984
11985	[Makefile.am] Put doc/README.dev in EXTRA_DIST to provide this file in
11986	  tarballs too (it is not installed by "make install", though), since
11987	  it contains information that may be useful for users of tarballs and
11988	  various distributed files mention it.
11989	[README] Update about the "doc" directory and "doc/README.dev".
11990
11991	[doc/README.dev] More information about the DEBUG macro.
11992
11993	[doc/mpfr.texi] Updated the month.
11994
11995	Update about MPFR_RNDF (faithful rounding):
11996	  * NEWS: mention that it is partially supported (should be updated
11997	    once MPFR_RNDF is completely supported).
11998	  * TODO: moved an item to the right place (MPFR_RNDF is not removed
11999	    from the TODO because it is not completely supported yet).
12000	  * doc/mpfr.texi: added a FIXME about the partial support.
12001
120022017-05-31  Vincent Lef��vre  <vincent@vinc17.net>
12003
12004	[src/{atanh.c,log1p.c}]
12005	  * Replaced mpfr_get_exp by MPFR_GET_EXP (so that the exponent is
12006	    checked with --enable-assert).
12007	  * For a test, doing the division first should be better.
12008
120092017-05-31  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
12010
12011	improved log1p and atanh for small inputs
12012
12013	added expm1 to mbench
12014
12015	added log1p to mbench
12016
120172017-05-29  Vincent Lef��vre  <vincent@vinc17.net>
12018
12019	[doc/mpfr.texi] Updated the month.
12020
12021	Removed trailing spaces.
12022
12023	[tests] Code simplification and improvement by using SAME_VAL().
12024
12025	[tests/tbeta.c] Replaced not_same() by the simpler ! SAME_VAL().
12026
12027	[src/sum.c] Code reindentation due to a new test for MPFR_RNDF support,
12028	and other minor changes in formatting and comments.
12029
12030	[doc/sum.txt] Typo in the MPFR_RNDF text.
12031
12032	Merged the "faithful" branch into the trunk:
12033	faithful rounding (MPFR_RNDF).
12034
12035	[tests/tgeneric.c] For MPFR_RNDF, replaced EQUAL() by SAME_VAL(),
12036	which also tests the sign (to distinguish +0 and -0).
12037
12038	[tests/tui_sub.c] Avoid a failure in 32-bit ABI by replacing
12039	RND_LOOP by RND_LOOP_NO_RNDF.
12040
12041	Merged the latest changes from the trunk.
12042
120432017-05-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
12044
12045	added new reference
12046
120472017-05-24  Vincent Lef��vre  <vincent@vinc17.net>
12048
12049	[tests/tsprintf.c] Fixed setlocale usage (problem detected with MinGW)
12050	by not using the returned string any longer. Indeed, ISO C99 says that
12051	this string "may be overwritten by a subsequent call to the setlocale
12052	function".
12053
12054	[src] Moved "#include <errno.h>" from printf.c to vasprintf.c
12055	(this should have been done in r5230, where EOVERFLOW was moved).
12056	This fixes the "Got r = -1, errno = 0" errors in tprintf with
12057	MPFR_CHECK_LARGEMEM=1.
12058
12059	[src/vasprintf.c] Added overflow detection at the end (due to the switch
12060	to mpfr_intmax_t for the string length in the string_buffer structure,
12061	it was no longer detected; however, this bug was not normally visible in
12062	the tests because here, a negative value was returned thanks to wrapping
12063	in a type conversion and the negative value was changed to the expected
12064	-1 value in printf.c).
12065
12066	[src/vasprintf.c] Added log messages.
12067
12068	[src/vasprintf.c] In case of overflow, do not stop before everything has
12069	been processed, allowing the %...n arguments to be filled, as decided.
12070
12071	[tests/tprintf.c] check_long_string() error handling: initialize n2 to
12072	an invalid value and do all tests before exiting.
12073
12074	[src/vasprintf.c] Fixed some parts of overflow tracking.
12075
12076	[tests/tprintf.c] More detailed error message.
12077
12078	[tests/tprintf.c] Added tests with %ln.
12079
12080	[tests/tprintf.c] Improved check_vprintf_failure().
12081
12082	[src/vasprintf.c] Fixed the handling of the 'n' format specifier
12083	  for size = 0, still allowing its support in case of overflow on
12084	  the return value (i.e. when the number of characters that would
12085	  have been output is > INT_MAX).
12086	  Note: full support in case of overflow is still limited by GMP
12087	  and the C library.
12088	[tests/tprintf.c] Increased the memory needed in check_long_string().
12089
120902017-05-23  Vincent Lef��vre  <vincent@vinc17.net>
12091
12092	[src/mpfr-intmax.h] Define mpfr_uintmax_t and MPFR_INTMAX_MAX too.
12093	However, this will not necessarily be used by src/vasprintf.c, as
12094	this can be regarded as an EOVERFLOW error for which the behavior
12095	on the %...n values is not specified, i.e. we may not need to
12096	support size values larger than INT_MAX.
12097
120982017-05-22  Vincent Lef��vre  <vincent@vinc17.net>
12099
12100	[src/vasprintf.c] In a macro definition, changed a parameter to
12101	lowercase so that it doesn't look like a constant to mpfrlint.
12102
12103	[src/vasprintf.c] Added a FIXME for the percent_n() / mixed() bug due
12104	to the 'n' format specifier with size = 0. The way to fix this issue
12105	depends on the specifications in case of overflow on the return value,
12106	and for POSIX, they are unclear. Waiting for comments...
12107
12108	[src/mpfr-intmax.h] Define mpfr_intmax_t as being the largest
12109	signed integer type available for the MPFR build. It will be
12110	useful for the formatted output functions (src/vasprintf.c) to
12111	handle the 'n' format specifier, assuming that the value may
12112	be larger than INT_MAX, which is possible assuming that the
12113	C standard has a defect in the corresponding specification:
12114	https://sourceware.org/bugzilla/show_bug.cgi?id=21360
12115
12116	[tests/tsprintf.c] Added explanation for the bugs triggered by
12117	percent_n() and mixed().
12118
12119	[tests/tsprintf.c] Added percent_n() test to reproduce the bug found
12120	in mixed(), test without random data.
12121
12122	[src/vasprintf.c] In partition_number(), complete check for overflow
12123	on total.
12124
12125	[src/vasprintf.c] Partially fixed check for integer overflow when
12126	the long and int types have the same size.
12127
12128	[src/vasprintf.c] With assertions enabled, check that the number of
12129	characters to be written computed in partition_number() corresponds
12130	to what is really written.
12131
12132	[src/vasprintf.c] Fixed the bug triggered by the da_DK locale test: the
12133	computation of the number of characters to be written was incorrect in
12134	partition_number() when the thousands separator was not empty. This bug
12135	was visible with size = 0 and could be visible near overflow on the
12136	number of characters.
12137	Note: the buggy code was introduced in r5288 (2008-02-15), which fixed
12138	other issues with the thousands separator.
12139
12140	[tests/tsprintf.c] Do more tests in the da_DK locale (these are the
12141	only tests for which the thousands separator is not empty).
12142
12143	[tests/tsprintf.c] Do more tests involving check_sprintf() in a loop
12144	(to test mpfr_snprintf with size = 0 more often), and call mixed()
12145	later in order to get failures without the use of %n first.
12146
121472017-05-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
12148
12149	get rid of computations with 'double' in mpfr_zeta
12150
121512017-05-19  Vincent Lef��vre  <vincent@vinc17.net>
12152
12153	[tests/tsprintf.c] Added a TODO about %n test.
12154
12155	[doc/README.dev] Added MPFR_TESTS_FPE_TRAP documentation.
12156
12157	[tests/tests.c] Corrected comment about MPFR_TESTS_FPE_TRAP.
12158
12159	Renamed MPFR_TESTS_DIVBYZERO to MPFR_TESTS_FPE_DIV (less confusing).
12160	In doc/README.dev, updated the corresponding description.
12161
12162	[tests] Renamed MPFR_RAISE_EXCEPTIONS to MPFR_TESTS_FPE_TRAP.
12163
12164	[tests] Got rid of MPFR_TESTS_EXCEPTIONS (added in r11489 and above),
12165	which is redundant with MPFR_TESTS_DIVBYZERO and MPFR_ERRDIVZERO. The
12166	code related to these exceptions is now like r11488 (see the output of
12167	"svn diff -r11488"), but keeping the following changes:
12168	  * Missing !defined(MPFR_ERRDIVZERO) tests added in r11498,11499.
12169	  * In tests.c:
12170	      - code related to traps (macro MPFR_RAISE_EXCEPTIONS, which will
12171	        be renamed);
12172	      - more detailed output about which FP exceptions occurred;
12173	      - removal of "#ifdef MPFR_ERRDIVZERO" (as in r11493), as this is
12174	        better with Automake 1.13+ (required by MPFR since r9375).
12175	Note: EXCEPTIONS_FLAG renamed to FPE_FLAGS, since EXCEPTIONS_FLAG is
12176	reserved by ISO C when <errno.h> is included.
12177
12178	[tests/tsprintf.c] Do the locale_da_DK() test several times to yield
12179	a failure by default once the bug triggered by mixed() is fixed.
12180
12181	[tests/tsprintf.c] Updated comment about r11501: the failure occurs
12182	with %n when the size argument of mpfr_vsnprintf is 0.
12183
12184	[tests/tsprintf.c] Do more tests with %n. One now gets a failure
12185	by default (which occurs when one gets randsize <= 0).
12186
12187	[tests/tsprintf.c] Fixed portability issues: The va_end(3) man page
12188	of Linux Programmer's Manual says: "On some systems, va_end contains
12189	a closing '}' matching a '{' in va_start, so that both macros must
12190	occur in the same function, and in a way that allows this."
12191
12192	[tests/tget_set_d64.c] Disable tests with a division by 0 (which now
12193	occurs only with -DXDEBUG) if MPFR_ERRDIVZERO is defined.
12194
12195	[tests/tset_ld.c] Disable an overflow test with a division by 0
12196	(now occurs only with -DXDEBUG) if MPFR_ERRDIVZERO is defined.
12197
12198	[doc/README.dev] Details for "-DMPFR_TESTS_DIVBYZERO -DMPFR_ERRDIVZERO".
12199
12200	[tests/tsprintf.c] In mixed(), initialize n2 to an invalid value
12201	in order to ease failure analysis.
12202
122032017-05-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
12204
12205	removed leftover debug statement in last commit
12206
12207	fix for clang bug (https://bugs.llvm.org//show_bug.cgi?id=17686)
12208
122092017-05-19  Vincent Lef��vre  <vincent@vinc17.net>
12210
12211	[tests/tests.c] Change for MPFR_TESTS_DIVBYZERO: in case of FE_DIVBYZERO
12212	or FE_INVALID, fail unconditionally, not just when MPFR_ERRDIVZERO is
12213	defined, otherwise one cannot see the output about the floating-point
12214	exceptions with "make check" (the test of MPFR_ERRDIVZERO here should
12215	have been removed after switching to Automake 1.13, which discards the
12216	output when the test program succeeds).
12217	Note: defining MPFR_TESTS_DIVBYZERO without MPFR_ERRDIVZERO is just for
12218	debugging.
12219
122202017-05-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
12221
12222	more work on MPFR_TESTS_EXCEPTIONS
12223
122242017-05-19  Vincent Lef��vre  <vincent@vinc17.net>
12225
12226	[tests/tests.c] Re-added code testing FE_DIVBYZERO and FE_INVALID with
12227	-DMPFR_TESTS_DIVBYZERO -DMPFR_ERRDIVZERO, because MPFR_TESTS_EXCEPTIONS
12228	is not ready yet.
12229
12230	[tests/tversion.c] Output IEEE floats status.
12231
122322017-05-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
12233
12234	check for fp exceptions (experimental)
12235
122362017-05-17  Vincent Lef��vre  <vincent@vinc17.net>
12237
12238	[src/cmp2.c] Added/updated comments.
12239
12240	[tests/tcmp2.c] Added tests with equal numbers, possibly of different
12241	sizes.
12242
12243	[src/cmp2.c] Corrected comments.
12244
12245	[tools/mpfrlint] In the detection of reserved macro names, skip ERR
12246	from src/mpfr-gmp.h (this is a special case).
12247
12248	[tests/tget_set_d64.c] Made PRINT_ERR_MISC more robust.
12249
12250	[tests/*.c] Renamed the remaining macros whose names are reserved
12251	by ISO C when <errno.h> is included.
12252
122532017-05-16  Vincent Lef��vre  <vincent@vinc17.net>
12254
12255	[tests/texceptions.c] Made code formatting consistent.
12256
12257	[tests/*.c] Renamed "ERROR" macro (macro name reserved by ISO C
12258	when <errno.h> is included) to "PRINT_ERROR", and made the macro
12259	more robust.
12260
12261	Define the EXP() macro in src/mpfr-gmp.h only when needed (macro name
12262	reserved by ISO C when <errno.h> is included).
12263
12264	[src/gamma.c] Got rid of the EXPM1_STR macro (macro name reserved
12265	by ISO C when <errno.h> is included), made no longer interesting by
12266	using mpfr_set_str_binary only once and another temporary variable.
12267	At the same time, replaced the usual allocation by a GROUP allocation
12268	(more efficient).
12269
122702017-05-15  Vincent Lef��vre  <vincent@vinc17.net>
12271
12272	[tests/tcheck.c] Code reformatting (GNU coding style).
12273
12274	[tests/tcheck.c] Renamed "ERROR" macro (macro name reserved by ISO C
12275	when <errno.h> is included) to "PRINT_ERROR".
12276
12277	Do not define macro names starting with "SIG" (+ uppercase letter)
12278	as they are reserved when <signal.h> is included (ISO C, 7.31.7),
12279	which happens to be the case in tests/tests.c, which also includes
12280	tests/mpfr-test.h and src/mpfr-impl.h indirectly.
12281	  * src/mpfr-impl.h, tests/mpfr-test.h: renamed macros:
12282	      SIGN ��� VSIGN
12283	      SIGN_RAND ��� RAND_SIGN
12284	  * {src,tests}/*.{c,h}: updated the names in the use of these macros.
12285
12286	[tools/mpfrlint] Added a comment about the definition of reserved
12287	identifiers (in particular, macro names).
12288
12289	[tools/mpfrlint] Detect the definition of reserved macro names.
12290
12291	[src/bernoulli.c] Changed isprime to is_prime in order to avoid obscure
12292	problems if <ctype.h> is added to mpfr-impl.h in the future (or if this
12293	function is made external). See ISO C "Future library directions",
12294	Clause 7.31.2 "Character handling <ctype.h>".
12295
122962017-05-12  Vincent Lef��vre  <vincent@vinc17.net>
12297
12298	[src/mpfr-impl.h] Improved comments about assertions and MPFR_ASSUME().
12299
123002017-05-09  Vincent Lef��vre  <vincent@vinc17.net>
12301
12302	[INSTALL] Mention the problem when almost all the tests fails with a
12303	message "Incorrect MPFR version! ...".
12304
12305	Increase the buffer sizes even more, and added a comment. This may
12306	be better in case of quick future changes (possibly for debugging),
12307	without checking carefully. For the tests, optimal code is useless.
12308
123092017-05-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
12310
12311	fixed bugs found by gcc 7.1.0 (-Werror=format-overflow=)
12312	[VL] The MPFR code was correct. This is actually a bug in GCC:
12313	  https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79257
12314
123152017-05-09  Vincent Lef��vre  <vincent@vinc17.net>
12316
12317	[doc] Updated FAQ.html with update-faq.
12318
123192017-05-05  Vincent Lef��vre  <vincent@vinc17.net>
12320
12321	[tools/mbench/timp.h] Updated TIMP_MEASURE() to handle the case where
12322	the return value is 0: this probably means that timp_overhead was too
12323	large and incorrect. In this case, TIMP_OVERHEAD() is called again to
12324	recompute timp_overhead and the timing is redone.
12325	Note: if we do not call TIMP_OVERHEAD() again, then TIMP_MEASURE()
12326	loops indefinitely, meaning that timp_overhead was really too large.
12327
12328	[tools/mbench/timp.h] Comment at the wrong place. Fixed.
12329
12330	[tools/mbench/timp.h] Added a comment about r11458.
12331
123322017-05-04  Vincent Lef��vre  <vincent@vinc17.net>
12333
12334	[tools/mbench/timp.h] Fixed overflows on unsigned arithmetic.
12335
12336	[tools/mbench/mfv5.h] Increased values from 2^60-1 to 2^64-1
12337	(it is possible to get more than 2^60-1 cycles in practice!).
12338
12339	Merged the latest changes from the trunk, including some old changesets
12340	related to mpfr_zeta that were skipped, resolving conflicts. Added RNDF
12341	support to new code introduced by this merge:
12342	  * mpfr_mul_1n in src/mul.c (from r11281);
12343	  * mpfr_sqr_1n in src/sqr.c (from r11283);
12344	  * mpfr_div_1n in src/div.c (from r11284);
12345	  * mpfr_sqrt1n in src/sqrt.c (from r11293).
12346
12347	Merged r11198-11280 from the trunk; no conflicts but additional changes:
12348	  * About r11271 (src/add1sp.c), which introduces new special code
12349	    (function mpfr_add1sp1n), handle MPFR_RNDF in the same way as done
12350	    in similar existing special code (mpfr_add1sp1 and mpfr_add1sp2).
12351	  * In mpfr_add1sp3, do the same thing (this should have been done in
12352	    r11172, where this function was introduced via a merge).
12353	  * About r11279 (src/sub1sp.c, tests/tsub1sp.c), which introduces new
12354	    special code (function mpfr_sub1sp1n), do the same thing.
12355	    In tests/tsub1sp.c, s/RND_LOOP/RND_LOOP_NO_RNDF/ as usual to avoid
12356	    a failure.
12357	  * Note: concerning mpfr_sub1sp3, RNDF support was added at the same
12358	    time of the merge in r11179.
12359	  * Some style changes related to RNDF, in particular for consistency.
12360
12361	Merged r11197 from the trunk, resolving the conflict.
12362
12363	Merged r11179-11196 from the trunk (no conflicts).
12364
123652017-05-02  Vincent Lef��vre  <vincent@vinc17.net>
12366
12367	[src/gamma.c] Clarified proof for tiny arguments again.
12368
12369	[src/gamma.c] Clarified proof for tiny arguments.
12370
12371	[src/gamma.c] In the proof for tiny arguments:
12372	  * Simplification suggested by Paul.
12373	  * Attempt to clarify the end.
12374
123752017-05-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
12376
12377	added comment
12378
12379	added reference for mbench (rdtsc vs rdtscp)
12380
123812017-04-28  Vincent Lef��vre  <vincent@vinc17.net>
12382
12383	[src/gamma.c] Tiny arguments: corrected a typo and added a TODO
12384	(one might get a better condition).
12385
12386	[src/gamma.c] Corrections in a proof for tiny arguments. Added a TODO.
12387
123882017-04-27  Vincent Lef��vre  <vincent@vinc17.net>
12389
12390	[doc/README.dev] Update about the MPFR_GENERIC_ABI macro.
12391
12392	[src/sqr.c] Corrected a comment.
12393
12394	[src/sqrt.c] Blank line like in add1sp.c, sub1sp.c, etc.
12395
12396	[src/sqr.c] Blank lines and comment like in add1sp.c, sub1sp.c, etc.
12397
12398	[src/mul.c] Like in add1sp.c and sub1sp.c, do not define the specific
12399	functions for low precision if MPFR_GENERIC_ABI is defined (they are
12400	not called in such a case).
12401
12402	[src/sub1sp.c] Added blank lines for readability (like in add1sp.c).
12403
12404	s/interruption/interrupt/
12405
12406	[mbench] Updated copyright years. Added a comment.
12407
124082017-04-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
12409
12410	better detection of rdtscp
12411
124122017-04-18  Vincent Lef��vre  <vincent@vinc17.net>
12413
12414	[src/mpfr-impl.h] Updated a comment, with reference to GCC bug 80454.
12415
124162017-04-09  Vincent Lef��vre  <vincent@vinc17.net>
12417
12418	[tests/tprintf.c] Avoid integer overflow from r11411 with 32-bit long.
12419
124202017-04-07  Vincent Lef��vre  <vincent@vinc17.net>
12421
12422	[tools/mpfrlint] Updated test to check that the snprintf function (C99)
12423	is not used.
12424
12425	[doc/mpfr.texi] Corrected an English error.
12426
12427	[src/vasprintf.c] Fixed bug triggered by the test added in r11428:
12428	the size field of struct printf_spec must have type size_t, not int,
12429	because the size argument of mpfr_snprintf has type size_t.
12430
12431	[tests/tsprintf.c] Added a test that fails on 64-bit machines
12432	(4-byte int, 8-byte size_t), due to the use of mpfr_snprintf
12433	with required size = (size_t) UINT_MAX + 1.
12434
12435	[src/vasprintf.c] Minor changes.
12436
12437	[src/vasprintf.c] Comment re-indentation.
12438
12439	[src/ubf.c] Renamed mpfr_get_zexp to mpfr_init_get_zexp for clarity.
12440
124412017-04-06  Vincent Lef��vre  <vincent@vinc17.net>
12442
12443	[src/mpfr-impl.h] Fixed silly typo in MPFR_UBF_CLEAR_EXP() yielding
12444	either an obscure memory leak or a crash in some mpfr_fmma calls.
12445	We would really need formal proofs on the code... Or avoid macros.
12446
124472017-04-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
12448
12449	[tests/tfmma.c] added one test
12450
12451	[tests/tfmma.c] fixed test
12452
124532017-04-06  Vincent Lef��vre  <vincent@vinc17.net>
12454
12455	[src/add1.c] Updated comment about underflow.
12456
12457	[src/add1.c] Handling of UBF and overflow/underflow.
12458	  * Added a MPFR_ASSERTD related to the overflow code.
12459	  * Bug fix: handle underflow, possible if UBF input(s).
12460
124612017-04-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
12462
12463	[tests/tfmma.c] added another test (currently fails)
12464
124652017-04-06  Vincent Lef��vre  <vincent@vinc17.net>
12466
12467	[src/sub1.c] Bug fix: underflow was not detected in the case cancel = 0
12468	with UBF numbers. At the same time, refactored the related code a bit.
12469
12470	[tests] Added tbeta to svn:ignore property.
12471
12472	[doc/mpfr.texi] Formatting of the mpfr_can_round example for 80-column
12473	terminals + GNU coding style.
12474
12475	[tests/tfmma.c] Updated comment about bug20170405 (fixed in r11414).
12476
12477	[src/sub1.c] Also corrected the comment about overflow detection.
12478
12479	[src/sub1.c] Really fixed overflow detection (r11412 is broken).
12480
12481	[src/sub1.c] Fixed/improved UBF cases.
12482	  * Added an assertion (usual MPFR limitation with huge precisions,
12483	    affecting 32-bit ABI only in practice).
12484	  * Fixed overflow detection.
12485
12486	[tests/tprintf.c] In check_long_string(), which is called when
12487	MPFR_CHECK_LARGEMEM is defined, increase tests_memory_limit if need be
12488	in order to avoid an obvious failure due to insufficient memory.
12489
12490	[tests/memory.c] Write all error messages to stderr in order to make
12491	sure that they remain visible when the standard output is redirected
12492	(e.g. in tprintf). Rewrote the messages in a consistent way.
12493
12494	[tests/tfmma.c] Fixed return type of test added in r11407.
12495
12496	[tests/tinits.c] When MPFR_CHECK_LARGEMEM is defined, increase
12497	tests_memory_limit if need be in order to avoid an obvious failure
12498	due to insufficient memory.
12499
125002017-04-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
12501
12502	added test that triggers an error
12503	(see https://sympa.inria.fr/sympa/arc/mpfr/2017-04/msg00016.html)
12504
125052017-04-05  Vincent Lef��vre  <vincent@vinc17.net>
12506
12507	[doc/mpfr.texi] Updated the month.
12508
12509	[doc/mpfr.texi] More details about errno.
12510
125112017-04-04  Vincent Lef��vre  <vincent@vinc17.net>
12512
12513	[doc/README.dev] Added a paragraph about the use of errno.
12514
12515	[doc/mpfr.texi] Details about EOVERFLOW.
12516
125172017-04-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
12518
12519	[tests/tstrtofr.c] added test in bug20161217()
12520
125212017-04-03  Vincent Lef��vre  <vincent@vinc17.net>
12522
12523	[TODO] Update about functions returning a native floating-point value
12524	and underflow/overflow.
12525
12526	[src/atanh.c] Removed comment giving the "optimal" working precision
12527	(I do not see any proof in algorithms.tex, and it seems incorrect).
12528
12529	[TODO,src/log1p.c] log1p(x) on small x should also be improved instead
12530	of computing log(1+x).
12531
12532	[TODO,src/atanh.c] Suggest a faster formula for atanh(x) on small x.
12533
12534	[src/atanh.c] Cosmetic changes (comments and whitespace).
12535
12536	[TODO] Update about ERANGE.
12537
125382017-03-27  Vincent Lef��vre  <vincent@vinc17.net>
12539
12540	[tests/tbeta.c] Fixed a macro (use of mpfr_printf, missing cast).
12541
125422017-03-09  Vincent Lef��vre  <vincent@vinc17.net>
12543
12544	[NEWS] Mention how to find the full list of bug fixes.
12545
12546	[tests/tstrtofr.c] Updated comments about bug20161217 and bug20170308.
12547
12548	[tests/tstrtofr.c] Added comments about bug20161217 and bug20170308.
12549
12550	[tests/tstrtofr.c] Updated comment: bug20170308 checks the same bug
12551	as bug20161217.
12552
12553	[doc/mpfr.texi] Updated the month.
12554
125552017-03-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
12556
12557	added non-regression test
12558
125592017-03-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
12560
12561	[doc/mpfr.texi] results should not depend on machine rounding mode/precision
12562
125632017-03-06  Vincent Lef��vre  <vincent@vinc17.net>
12564
12565	[doc/sum.txt] Minor corrections.
12566
125672017-03-05  Vincent Lef��vre  <vincent@vinc17.net>
12568
12569	[src/sum.c] Added a comment about shiftq.
12570
125712017-02-28  Vincent Lef��vre  <vincent@vinc17.net>
12572
12573	[tests/tbeta.c] C89 compatibility and some code reformatting.
12574
12575	[src/beta.c] Slightly improved comments.
12576
12577	[src/beta.c] Fixed a bug in reduced exponent range (not detected by
12578	the current tests).
12579
12580	[src/beta.c] Added a comment for Beta(0,negative integer).
12581
12582	[src/beta.c] Eventually fixed the case z or w is 0 (note: r11374
12583	did also other unwanted changes, reverted here).
12584
12585	[src/beta.c] Reverted my changes (this was incorrect).
12586
12587	[src/beta.c] Fixed special cases.
12588
12589	[src/beta.c] Added comments and some corrections (incomplete) for the
12590	case "z or w is 0".
12591
125922017-02-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
12593
12594	[src/beta.c] fixed case z or w is 0
12595
12596	[tests/tbeta.c] patch from Cade Brown
12597	- signed zeros are checked in is_same
12598	- the case above (summing non-integer negative z, w which sum to a negative integer)
12599
126002017-02-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
12601
12602	[doc/mpfr.texi] added mpfr_beta in "Added Functions"
12603
126042017-02-27  Vincent Lef��vre  <vincent@vinc17.net>
12605
12606	[src/jn.c] Use MPFR_ADD_PREC.
12607
12608	[src/beta.c] Updated comments; added a FIXME.
12609
126102017-02-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
12611
12612	[src/jn.c] in case the first Ziv loop failed, take into account the number of
12613		   lost bits
12614
126152017-02-27  Vincent Lef��vre  <vincent@vinc17.net>
12616
12617	[src/beta.c] Use MPFR_ARE_SINGULAR.
12618
126192017-02-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
12620
12621	[src/beta.c] fix in case z and w are not integers and z+w is a nonpositive integer
12622
12623	[src/odd_p.c] new source file
12624
12625	[src/Makefile.am] new file odd_p.c
12626	[src/beta.c] fixed bug
12627	[src/mpfr-impl.h] renamed mpfr_is_odd into mpfr_odd_p
12628	[src/pow.c] moved mpfr_is_odd (renamed mpfr_odd_p) into separate file
12629
126302017-02-27  Vincent Lef��vre  <vincent@vinc17.net>
12631
12632	[src/beta.c] Added a FIXME (test failure with assertions).
12633
12634	[src/beta.c] Removed an unusual space.
12635
12636	[tests/tbuildopt.c] Added calls to tests_start_mpfr and tests_end_mpfr.
12637
12638	[tools/mpfrlint] Added a test to check that the usual test programs
12639	call tests_start_mpfr and tests_end_mpfr.
12640
126412017-02-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
12642
12643	[src/beta.c] several fixes
12644	[src/pow.c] renamed is_odd to mpfr_is_odd, and export it
12645	[src/mpfr-impl.h] export mpfr_is_odd as internal function
12646	[tests/tbeta.c] added generic tests
12647
126482017-02-27  Vincent Lef��vre  <vincent@vinc17.net>
12649
12650	[tests/tbeta.c] Added missing void in prototype.
12651
12652	Removed trailing spaces.
12653
12654	[tests/tbeta.c] Fixed the usage of MPFR types.
12655
12656	[tests/tbeta.c] Minor correction. Added a FIXME and a TODO.
12657
126582017-02-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
12659
12660	[tests/tbeta.c] GNU style and C89 portability
12661
12662	[TODO] removed beta entry
12663
12664	new function mpfr_beta
12665
12666	[tests/tbeta.c] test file for mpfr_beta, contributed by Cade Brown from
12667			ChemicalDevelopment (this commit is the file as it was
12668			contributed, except the mpfr-test.h include)
12669
126702017-02-27  Vincent Lef��vre  <vincent@vinc17.net>
12671
12672	[src/beta.c] Portability corrections.
12673
126742017-02-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
12675
12676	[src/beta.c] fix for exact case beta(1,2^k) for k negative integer
12677
12678	[src/beta.c] special values are now implemented (should be reviewed)
12679
126802017-02-25  Vincent Lef��vre  <vincent@vinc17.net>
12681
12682	[TODO] mpfr_root: replace "obsolete" by "deprecated" (the right word).
12683
12684	[TODO] Update about rootn.
12685
12686	[TODO] Added some propositions about rootn.
12687
126882017-02-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
12689
12690	[src/root.c] added comment
12691
12692	added reference
12693
126942017-02-23  Vincent Lef��vre  <vincent@vinc17.net>
12695
12696	[src/beta.c] Call mpfr_check_range as usual.
12697
12698	[src/beta.c] Extended the exponent range for the generic case.
12699
12700	[src/beta.c] Added a comment.
12701
12702	[src/beta.c] Various code improvement / fixes.
12703
12704	[src/beta.c] Added a FIXME.
12705
127062017-02-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
12707
12708	[src/beta.c] added beta function (work in progress, not yet fully implemented,
12709		     and not tested)
12710
127112017-02-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
12712
12713	[src/fmma.c] speedup of mpfr_fmma and mpfr_fmms
12714
12715	[src/fma.c] speedup of mpfr_fma when all operands have the same precision
12716		    (less than one full limb)
12717
127182017-02-21  Vincent Lef��vre  <vincent@vinc17.net>
12719
12720	[NEWS] Note that the position of "const" in the mpfr_sum prototype
12721	has been fixed (in case writers of interfaces for MPFR use that).
12722
12723	"a IEEE 754r decimal64 float" ��� "an IEEE 754-2008 decimal64 float".
12724
127252017-02-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
12726
12727	[src/fma.c] speedup mpfr_fma for 1 limb
12728
12729	754R -> 754-2008
12730
127312017-02-20  Vincent Lef��vre  <vincent@vinc17.net>
12732
12733	Removed trailing spaces.
12734
12735	[src/vasprintf.c] Solved the FIXME for %g on easy cases.
12736
127372017-02-17  Vincent Lef��vre  <vincent@vinc17.net>
12738
12739	[src/zeta.c] mpfr_reflection_overflow: reverted r11322 as the rounding
12740	direction was correct; it was a comment that was incorrect, now fixed.
12741
12742	[src/zeta.c] mpfr_reflection_overflow: fixed a rounding direction.
12743
12744	[src/zeta.c] Improvements of mpfr_reflection_overflow:
12745	  * Moved identical parts of the code at the beginning of if/else blocks
12746	    as a single part before the "if".
12747	  * When the rounding mode doesn't matter (exact result), use MPFR_RNDN.
12748	  * Updated comments (making them more consistent at the same time).
12749
127502017-02-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
12751
12752	[src/zeta.c] added more comments for the overflow case
12753
127542017-02-14  Vincent Lef��vre  <vincent@vinc17.net>
12755
12756	[src/sum.c] Added a note about why one uses "const mpfr_ptr *x" in the
12757	  prototypes instead of "const mpfr_srcptr *x" (old info from r5381).
12758	[doc/sum.txt] Fixed the const position (see r11316) and added this note.
12759
12760	[src/{mpfr-impl.h,mpfr.h}] Code reformatting and other cosmetic changes.
12761
12762	[doc/mpfr.texi] For mpfr_sum, changed "mpfr_ptr const" to the equivalent
12763	"const mpfr_ptr" (usual style, less confusing).
12764
12765	For mpfr_sum and its auxiliary functions, moved the const type qualifier
12766	to the right place (mpfr_ptr *const ��� const mpfr_ptr *). This bug had
12767	been introduced in r3642 (2005-06-10).
12768
127692017-02-13  Vincent Lef��vre  <vincent@vinc17.net>
12770
12771	[src/zeta.c] mpfr_reflection_overflow: added comments and FIXME's;
12772	fixed obvious typos in a comment and the code.
12773
12774	[src/zeta.c] mpfr_reflection_overflow: typo in a comment.
12775
12776	[src/zeta.c] Untabified.
12777
12778	[src/zeta.c] mpfr_reflection_overflow: added an assertion and a comment.
12779
12780	[src/vasprintf.c] Added a comment in a FIXME.
12781
12782	[src/vasprintf.c] Added MPFR_ASSERTD's.
12783
12784	[src/vasprintf.c] Avoid some potential integer overflows.
12785
127862017-02-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
12787
12788	[src/zeta.c] improved overflow detection
12789
127902017-02-13  Vincent Lef��vre  <vincent@vinc17.net>
12791
12792	[src/vasprintf.c] Added FIXME's: possible integer overflows.
12793
127942017-02-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
12795
12796	fix for mpfr_zeta overflow on 32-bit computers
12797
127982017-02-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
12799
12800	[src/sqr.c] revert detection of leading bit in sqr_1 and sqr_2
12801		    (not clear it is faster)
12802
128032017-02-10  Vincent Lef��vre  <vincent@vinc17.net>
12804
12805	[tests/tsprintf.c] Added a mpfr_snprintf test with a null pointer,
12806	"%#.*RDg" and a large precision (it currently takes too much memory,
12807	like the similar ones).
12808
12809	[src/vasprintf.c] Added a FIXME for %g on easy cases (too much memory).
12810	[tests/tsprintf.c] Added corresponding tests.
12811
128122017-02-09  Vincent Lef��vre  <vincent@vinc17.net>
12813
12814	[src/vasprintf.c] Fix for mpfr_snprintf with size=0: do not allocate
12815	a buffer for the output if not needed. This really fixes bug #21056.
12816	The case size_t < unsigned int could not be solved completely due to
12817	limitations from the C standard and GMP.
12818
12819	[src/sqrt.c] Avoid a warning due to an unused variable with
12820	MPFR_GENERIC_ABI defined or GMP_NUMB_BITS != 64.
12821
12822	[src/sqrt.c] Added MPFR_ASSERTD's from comments.
12823
128242017-02-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
12825
12826	[tests/tzeta.c] interm_overflow -> intermediate_overflow
12827
128282017-02-09  Vincent Lef��vre  <vincent@vinc17.net>
12829
12830	[src/zeta.c] Updated a FIXME.
12831
128322017-02-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
12833
12834	improved detection of fmma and fmms
12835
12836	[src/zeta.c] fixed long-standing failure in tzeta
12837
128382017-02-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
12839
12840	[src/sqrt.c] fixed a bug, and simplified code (sb=0 implies rb=0)
12841
128422017-02-08  Vincent Lef��vre  <vincent@vinc17.net>
12843
12844	[src/vasprintf.c] Updated FIXME.
12845
128462017-02-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
12847
12848	[src/sqrt.c] new code for prec=GMP_NUMB_BITS
12849
128502017-02-08  Vincent Lef��vre  <vincent@vinc17.net>
12851
12852	[src/vasprintf.c] Moved the size_t vs int FIXME, with details added.
12853
12854	[src/vasprintf.c] Added a MPFR_ASSERTN for security.
12855
12856	[src/vasprintf.c] Added a FIXME for the case size_t < unsigned int.
12857
12858	[src/vasprintf.c] Solved the r11288 FIXME, introducing new ones
12859	with a more visible failure. Not fixed yet because there seems
12860	to be another issue (already present at the beginning in r4993),
12861	which should be considered first.
12862
12863	[src/vasprintf.c] Added a FIXME (related to the cause of the failure).
12864
12865	[src/vasprintf.c] Added some precondition assertions, as the buffer_cat
12866	implementation requires that the current buffer position contains \0.
12867	Note[VL]: tsprintf is still failing with assertions on my machine in
12868	the 32-bit Linux/x86 ABI, but now on the new precondition instead of
12869	postcondition. The behavior with size = 0 actually depends on the state
12870	of uninitialized memory (even in the 64-bit ABI), so that the failures
12871	may be random; the problem is detected by valgrind.
12872
12873	[src/div.c] Declare variables used by GMP_NUMB_BITS == 64 only in the
12874	related code.
12875
128762017-02-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
12877
12878	[src/mul.c] simplified logic for special code
12879	[src/div.c] fixed bug in mpfr_div_1n when extra=0
12880
12881	[src/div.c] special code for prec=GMP_NUMB_BITS
12882
12883	[src/sqr.c] new code for p = GMP_NUMB_BITS, and small improvement in mpfr_sqr_1
12884	[src/mul.c] cosmetic changes
12885
128862017-02-08  Vincent Lef��vre  <vincent@vinc17.net>
12887
12888	[tests/tsub1sp.c] Fix: C++ compatibility.
12889
128902017-02-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
12891
12892	[src/mul.c] added special code for prec=GMP_NUMB_BITS
12893	[src/add1sp.c] use special code only when MPFR_GENERIC_ABI is not defined
12894	[src/sub1sp.c] idem as above
12895
128962017-02-08  Vincent Lef��vre  <vincent@vinc17.net>
12897
12898	[src/mpfr-impl.h] Declare the mpfr_vasnprintf_aux prototype (which
12899	uses va_list) only if <stdarg.h> has been included, otherwise the
12900	build was failing with GCC in C90 mode under Linux (and could fail
12901	with other C implementations where this header isn't automatically
12902	included as a consequence of the inclusion of some other header).
12903
129042017-02-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
12905
12906	[src/sub1sp.c] new function for p=GMP_NUMB_BITS, fixed bug in mpfr_sub1sp3
12907	[tests/tsub1sp.c] added new tests
12908
129092017-02-08  Vincent Lef��vre  <vincent@vinc17.net>
12910
12911	[src/vasprintf.c] Fixed bug introduced in r11273.
12912
12913	[tools/mpfrlint] Updated the "simple mp_limb_t constants" test.
12914
12915	Made some assertions a bit more readable.
12916
12917	[tests/tsub1sp.c] Fixed mpfr_inits2/mpfr_clears sentinel ��� (mpfr_ptr) 0
12918
12919	[tests/tsprintf.c] C90 compatibility.
12920
129212017-02-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
12922
12923	[src/vasprintf.c] avoid memory allocation for snprintf with size=0
12924
12925	[src/sub1sp.c] fixed a bug in mpfr_sub1sp1 and mpfr_sub1sp2 (corner case)
12926	[tests/tsub1sp.c] added non-regression test
12927
129282017-02-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
12929
12930	[src/add1sp.c] added special code for p=GMP_NUMB_BITS
12931
12932	[src/vasprintf.c] improved also %a and %e
12933
12934	[src/vasprintf.c] fixed bug #21056
12935
129362017-02-07  Vincent Lef��vre  <vincent@vinc17.net>
12937
12938	[TODO] More about the mpz_t pool.
12939
12940	[src/free_cache.c] Better file description (keeping it short).
12941
12942	[src/free_cache.c] Updated comments (mpz_t cache ��� mpz_t pool).
12943
12944	[doc/mpfr.texi] Updated the month.
12945
12946	[doc/mpfr.texi] Clarified mpfr_asprintf & mpfr_vasprintf specification
12947	in case of error.
12948
12949	[src/vasprintf.c] Code cleanup.
12950
129512017-02-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
12952
12953	partial solution of bug #21056: a test of mpfr_sprintf still fails
12954
12955	[tests/tmul.c] added test for underflow corner case
12956
12957	[src/div.c] simplified underflow in div_1 and div_2 (one case is not possible)
12958
12959	[tests/tsqr.c] added another corner case for underflow and mpfr_sqr_2
12960
12961	[tests/tsqr.c] added a corner underflow case
12962
129632017-02-06  Vincent Lef��vre  <vincent@vinc17.net>
12964
12965	[src/mpfr-impl.h] Added missing function prototype after r11256.
12966
129672017-02-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
12968
12969	[mpfr-impl.h] now mpz_init2 uses the mpz spool too
12970
129712017-02-03  Vincent Lef��vre  <vincent@vinc17.net>
12972
12973	[TODO] Added: check the small-precision tables in the tests?
12974
12975	Removed trailing whitespace.
12976
12977	[acinclude.m4] Fixed code for the _mulx_u64 test.
12978
129792017-02-02  Vincent Lef��vre  <vincent@vinc17.net>
12980
12981	[tests/tversion.c] Output whether _mulx_u64 is available.
12982
12983	[acinclude.m4] Fixed _mulx_u64 detection to avoid failures in tests
12984	with ICC 15: we need an AC_RUN_IFELSE, not just an AC_LINK_IFELSE.
12985
129862017-01-31  Vincent Lef��vre  <vincent@vinc17.net>
12987
12988	[src/invsqrt_limb.h] Improved constants: make their meaning explicit;
12989	portability with 32-bit long (and 64-bit limb).
12990
129912017-01-31  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
12992
12993	[src/invsqrt_limb.h] new macro __gmpfr_sqrt_limb_approx
12994	[src/sqrt.c] new sqrt1 code using __gmpfr_sqrt_limb_approx
12995
129962017-01-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
12997
12998	[src/sqrt.c] improved slow branch of mpfr_sqrt2
12999
13000	[src/div.c] improved slow branch of mpfr_div_2
13001
13002	[src/div.c] fixed TODO: replaced two if-statements by while-loop
13003
130042017-01-30  Vincent Lef��vre  <vincent@vinc17.net>
13005
13006	[src/div.c] Added TODO's.
13007
13008	[src/div.c] Added a MPFR_ASSERTD.
13009
130102017-01-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13011
13012	[src/atan.c] added comment
13013
13014	[src/invsqrt_limb.h] fixed __gmpfr_sqrt_limb macro
13015
13016	[src/atan.c] small optimization
13017
130182017-01-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13019
13020	[src/atan.c] speedup for small precision
13021
130222017-01-27  Vincent Lef��vre  <vincent@vinc17.net>
13023
13024	[src/mul.c] Disable mpfr_mul_{1,2,3} if MPFR_GENERIC_ABI is defined.
13025
13026	[src/mul.c] Removed useless parentheses that can inhibit warnings.
13027
130282017-01-26  Vincent Lef��vre  <vincent@vinc17.net>
13029
13030	[src/mul.c] Updated TODO.
13031
13032	[src/mul.c] Added a TODO about an optimization.
13033
130342017-01-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13035
13036	[src/sqrt.c] fixed error bound for mpfr_sqrt2_approx
13037
130382017-01-25  Vincent Lef��vre  <vincent@vinc17.net>
13039
13040	[TODO] Added optimization of test + shift for some processors.
13041
13042	[src/sub1sp.c] Added MPFR_FULLSUB code for mpfr_sub1sp2.
13043
130442017-01-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13045
13046	[src/sqrt.c] changed error bound back from 16 to 15
13047
130482017-01-25  Vincent Lef��vre  <vincent@vinc17.net>
13049
13050	[doc/add-with-carry.c] Added reference to my bug report about Clang's
13051	carry detection missed optimization in chained add-with-carry.
13052
130532017-01-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13054
13055	[src/sqrt.c] updated error bound for __gmpfr_invsqrt_limb_approx
13056
130572017-01-25  Vincent Lef��vre  <vincent@vinc17.net>
13058
13059	[src/sub1sp.c] Added refs to missed/broken optimization with Clang/LLVM.
13060
13061	[src/sub1sp.c] Use the FULLSUB only. Added a comment about the change
13062	in r11227.
13063
130642017-01-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13065
13066	[src/sub1sp.c] changed MPFR_FULLSUB variant into faster code
13067
130682017-01-24  Vincent Lef��vre  <vincent@vinc17.net>
13069
13070	[doc/mpfr.texi] Texinfo typography correction.
13071
13072	[doc/mpfr.texi] Improvements concerning the exponent range.
13073	  * mpfr_get_exp: added a FIXME in a comment (documented behavior?).
13074	  * mpfr_set_emin / mpfr_set_emax: more specification and details.
13075	  * mpfr_subnormalize: clarification; added a warning about emin.
13076	  * Example of mpfr_subnormalize: added a note.
13077	In particular, this follows a confusion:
13078	  https://sympa.inria.fr/sympa/arc/mpfr/2017-01/msg00024.html
13079
130802017-01-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13081
13082	[src/invsqrt_limb.h] changed slightly definition of d10 and d37 (does not
13083			     change final error analysis)
13084
130852017-01-23  Vincent Lef��vre  <vincent@vinc17.net>
13086
13087	[src/sub1sp.c] Updated comments about subtraction with borrow; the first
13088	one from r11213 was incorrect (bad interpretation of the generated code
13089	for GCC, potentially on a different alternate source code for Clang).
13090
130912017-01-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13092
13093	[src/sub1sp.c] simplified mpfr_sub1sp1()
13094
13095	[tests/turandom.c] added non-regression test
13096
130972017-01-23  Vincent Lef��vre  <vincent@vinc17.net>
13098
13099	[src/urandom.c] Added a FIXME as mpfr_urandom does not always set flags.
13100
13101	[src/urandom.c] Simplified code (no changes in the behavior).
13102
131032017-01-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13104
13105	[src/urandom.c] fixed bug reported by Trevor Spiteri
13106	(https://sympa.inria.fr/sympa/arc/mpfr/2017-01/msg00020.html)
13107
131082017-01-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13109
13110	changed mpn_sqr_n into mpn_sqr
13111
131122017-01-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13113
13114	new version of mpfr_sqrt2_approx (no longer needs sqrt_tab.h)
13115
131162017-01-20  Vincent Lef��vre  <vincent@vinc17.net>
13117
13118	[src/sub1sp.c] Updated TODO, mentioning an optimization bug in LLVM.
13119
13120	[src/sub1sp.c] Updated TODO about full subtraction with borrow.
13121
13122	[src/sub1sp.c] Added alternate code (enabled with -DMPFR_FULLSUB, until
13123	fully tested) to replace a test + correction by a 2-limb subtraction,
13124	recognized by GCC and Clang.
13125
131262017-01-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13127
13128	renamed __gmpfr_invsqrt_limb into __gmpfr_invsqrt_limb_approx to better reflect
13129	it only gives an approximation
13130
131312017-01-20  Vincent Lef��vre  <vincent@vinc17.net>
13132
13133	[src/invert_limb.h] Just like for invsqrt_limb.h (r11210), in 1UL << 60,
13134	replaced 1UL by MPFR_LIMB_ONE to make the code valid with 32-bit long.
13135
13136	[src/invsqrt_limb.h] Bug fix: replaced 1UL by MPFR_LIMB_ONE since the
13137	computations are done on limbs, which are expected to have 64 bits in
13138	this context (the old code would fail on MS Windows / MinGW, where limbs
13139	are 64-bit unsigned long long and unsigned long is a 32-bit type).
13140
13141	[src/invsqrt_limb.h] Portability correction: avoid lines longer than the
13142	POSIX line-length limit of 2047 characters; actually fit on 80 columns.
13143
131442017-01-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13145
13146	faster version of mpfr_sqrt1(), with smaller table
13147
13148	[src/invert_limb.h] improved __gmpfr_invert_limb* for 64-bit limb
13149
131502017-01-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13151
13152	[src/div.c] use ADD_LIMB macro, and fixed comment
13153
131542017-01-17  Vincent Lef��vre  <vincent@vinc17.net>
13155
13156	[acinclude.m4] MPFR_PARSE_DIRECTORY macro definition: workaround if
13157	the realpath command is not found. Suggestion by Trevor Spiteri:
13158	  https://sympa.inria.fr/sympa/arc/mpfr/2017-01/msg00013.html
13159	Note: I had to modify the patch to use quadrigraphs, otherwise the
13160	generated configure file was invalid.
13161
131622017-01-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13163
13164	[tdiv.c] added code to exercise mpfr_div2_approx
13165
131662017-01-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13167
13168	[src/div.c] new variant of mpfr_div2_approx()
13169
131702017-01-13  Vincent Lef��vre  <vincent@vinc17.net>
13171
13172	[src/invert_limb.h] Fit on 80 columns (one line was over the
13173	POSIX line-length limit of 2047 characters).
13174
13175	[src/invert_limb.h] Correction in __gmpfr_invert_limb for 32-bit ABI:
13176	_d was used before being defined.
13177
131782017-01-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13179
13180	[invert_limb.h] added invert_limb code for 32-bit
13181
131822017-01-13  Vincent Lef��vre  <vincent@vinc17.net>
13183
13184	[src/add1sp.c] Improved a line based on analysis (+ timings I've done
13185	on x86_64 with GCC and Clang give better results, though they cannot
13186	be conclusive since the gain is too small compared to other possible
13187	causes of variations).
13188
13189	[tools/mbench/Makefile] Added -static to CFLAGS in order to avoid
13190	a link error when MPFR has been built with Clang (linking is done
13191	with .a libraries, i.e. static libraries).
13192
13193	[src/add1sp.c] Replaced "return 0;" by "MPFR_RET(0);" to emphasize on
13194	the fact that we return a ternary value (code instrumentation may also
13195	be easier later). Note: this is equivalent since the macro expands to
13196	0 != 0 ? ... : 0, which gives 0 via trivial optimization.
13197
13198	[src/add1sp.c] Improvements in mpfr_add1sp1; added a TODO.
13199	Note for rb -> bp[0]: the generated code is the same, but the source
13200	is more readable (-> rb has only one meaning).
13201
13202	[src/div.c] C90 compatibility (avoid initializer elements not computable
13203	at load time).
13204
132052017-01-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13206
13207	[src/div.c] added some alternate code for mpfr_div2_approx (disabled for now)
13208
13209	fixed bug in urandomb.c reported by Dominic Chen
13210	(https://sympa.inria.fr/sympa/arc/mpfr/2017-01/msg00011.html)
13211	and replaced MPN_COPY_INCR/MPN_COPY_DECR by mpn_copyi/mpn_copyd
13212
13213	[src/div.c] small improvement in div_1 and div_2: force all precisions to be
13214		    equal, then we cannot have rb <> 0 and sb = 0
13215
13216	[src/div.c] improved case p=127 (or two-limb case with hard to round case)
13217
132182017-01-12  Vincent Lef��vre  <vincent@vinc17.net>
13219
13220	[src/add1sp.c] Added a TODO: slightly better code?
13221
132222017-01-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13223
13224	[src/div.c] improve mpfr_div_1 for precision 63
13225
132262017-01-12  Vincent Lef��vre  <vincent@vinc17.net>
13227
13228	[src/rndna.c] Updated comments.
13229
132302017-01-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13231
13232	[src/sqrt.c] improved mpfr_sqrt2_approx()
13233
132342017-01-12  Vincent Lef��vre  <vincent@vinc17.net>
13235
13236	[doc/mpfr.texi] Typographic correction (including generated spaces).
13237
132382017-01-10  Vincent Lef��vre  <vincent@vinc17.net>
13239
13240	Improvement of additions with carry.
13241	  * Added doc/add-with-carry.c showing how to do an addition with carry
13242	    in C (to make the compiler understand the code).
13243	  * src/mpfr-impl.h: added ADD_LIMB macro (addition with carry).
13244	  * src/sqr.c: use this ADD_LIMB macro to improve the generated code.
13245
132462017-01-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13247
13248	[src/sqr.c] 2 calls to umul_ppmm are enough in mpfr_sqr_2 in most cases
13249
13250	[src/div.c] added FIXME
13251	[src/sub1sp.c] added comments
13252
13253	[src/sqrt.c] made code coherent with comment
13254
132552017-01-10  Vincent Lef��vre  <vincent@vinc17.net>
13256
13257	[src/sqrt.c] Improved comment from r11180.
13258
132592017-01-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13260
13261	[src/sqrt.c] improved error bound for mpfr_sqrt2_approx, with known direction
13262		     of error
13263
132642017-01-10  Vincent Lef��vre  <vincent@vinc17.net>
13265
13266	Merged the latest changes from the trunk and added RNDF support
13267	in mpfr_sub1sp3.
13268
13269	[src/sub1sp.c] Fixed other two bugs in special code for 3 limbs.
13270	TODO: non-regression tests should be added for both.
13271
13272	[src/sub1sp.c] Fixed some bugs in special code for 3 limbs.
13273
13274	[src/sub1sp.c] Simplified a test.
13275
132762017-01-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13277
13278	[src/sqr.c] deal with RNDF in sqr_1, sqr_2 and sqr_3
13279
13280	[src/mul.c] deal with RNDF in mpfr_mul_3
13281
13282	[src/sub1sp.c] added special code for 3 limbs
13283
132842017-01-09  Vincent Lef��vre  <vincent@vinc17.net>
13285
13286	Merged the latest changes from the trunk.
13287
13288	[src/add1sp.c] Fixed too large shift count in r11170 (code for 3 limbs).
13289
132902017-01-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13291
13292	[src/add1sp.c] added special code for 3 limbs
13293
13294	[src/sqr.c] added special code for 3 limbs
13295
132962017-01-09  Vincent Lef��vre  <vincent@vinc17.net>
13297
13298	Merged the latest changes from the trunk (changing a RND_RAND to
13299	RND_RAND_NO_RNDF in order to avoid a failure in a test).
13300
13301	[tests/tsub1sp.c] Fixed a return type.
13302
13303	[doc/README.dev] Updated note added in r11165.
13304
13305	[doc/README.dev] Added a note about cross-compilation and test
13306	under Wine, with references to bugs in autoconf and dash.
13307
133082017-01-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13309
13310	[tests/tmul.c] fixed typo
13311
133122017-01-09  Vincent Lef��vre  <vincent@vinc17.net>
13313
13314	[src/round_raw_generic.c] Added MPFR_RNDF special support (seen as
13315	MPFR_RNDZ since this is faster, with *inexp = 0).
13316
133172017-01-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13318
13319	[src/sub1sp.c] fixed bug in mpfr_sub1sp2 when exponent diff. is GMP_NUMB_BITS
13320	[tests/tsub1sp.c] added testcase
13321
133222017-01-09  Vincent Lef��vre  <vincent@vinc17.net>
13323
13324	[src/mul.c] Bug fix in mpfr_mul_3; tmul no longer fails (64-bit ABI).
13325
13326	[tests/tmul.c] Added test of mpfr_mul on 1 to 3 limbs. Currently fails.
13327
133282017-01-08  Vincent Lef��vre  <vincent@vinc17.net>
13329
13330	[src/mul.c] Define aq = MPFR_GET_PREC (a), and use this.
13331
133322017-01-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13333
13334	[src/mul.c] added mpfr_mul_3
13335	[src/sqrt.c] renamed internal functions
13336	[src/sub1sp.c] cosmetic change
13337
133382017-01-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13339
13340	[src/exp.c] avoid using a full limb as precision
13341	[src/sqrt.c] removed obsolete comment
13342
13343	[src/get_str.c] avoid precision = GMP_NUMB_BITS
13344
13345	[src/div_ui.c] added comment
13346
133472017-01-06  Vincent Lef��vre  <vincent@vinc17.net>
13348
13349	[tools/mbench/README] Say how to disable a non-working library.
13350
13351	Merged the latest change from the trunk.
13352
133532017-01-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13354
13355	[src/div.c] fixed previous commit: mpfr_div_1 and mpfr_div_2 also work for
13356		    GMP_NUMB_BITS <> 64, only some fast code inside is not defined
13357
133582017-01-06  Vincent Lef��vre  <vincent@vinc17.net>
13359
13360	Merged the latest changes from the trunk.
13361
133622017-01-05  Vincent Lef��vre  <vincent@vinc17.net>
13363
13364	[src/div.c] Use mpfr_limb_ptr instead of mp_ptr.
13365
13366	[src/div.c] Fix for GMP_NUMB_BITS != 64.
13367
133682017-01-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13369
13370	[src/div.c] faster division for 2 limbs
13371
133722017-01-05  Vincent Lef��vre  <vincent@vinc17.net>
13373
13374	[src/div_ui.c] Coding style.
13375
13376	[src/div_ui.c] Simplification.
13377
13378	[src/div_ui.c] Replaced a MPFR_ASSERTN by MPFR_STAT_STATIC_ASSERT.
13379
13380	[tests/tdiv_ui.c] Correction for 64-bit limb with 32-bit unsigned long.
13381
13382	[tests/tdiv_ui.c] Fix when GMP_NUMB_BITS != 64.
13383
133842017-01-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13385
13386	last fix was incomplete
13387
13388	[src/div_ui.c] fixed a bug in mpfr_div_ui (also affects mpfr_div since it calls
13389		       mpfr_div_ui when the divisor has a few bits)
13390
13391	fixed underflow bug by replacing !MPFR_IS_LIKE_RNDZ by new macro
13392	MPFR_IS_LIKE_RNDA: for RNDN, !MPFR_IS_LIKE_RNDZ was true, while new macro
13393	MPFR_IS_LIKE_RNDA is false
13394
133952017-01-04  Vincent Lef��vre  <vincent@vinc17.net>
13396
13397	[tests/tdiv.c] Added a test that triggers an assertion failure
13398	in a reduced exponent range (found from the generic tests with
13399	GMP_CHECK_RANDOMIZE=1483628702).
13400
13401	[tests/tgeneric.c] Added debug messages for overflow & underflow tests.
13402
13403	[tests/tdiv_ui.c] Added a comment on new test (doesn't fail).
13404
134052017-01-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13406
13407	[tdiv_ui.c] added new test
13408
134092017-01-03  Vincent Lef��vre  <vincent@vinc17.net>
13410
13411	[src/invert_limb.h] Removed an unused variable.
13412
134132017-01-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13414
13415	use a macro instead of a function for __gmpfr_invert_limb and
13416	__gmpfr_invert_limb_approx saves 2-3 cycles
13417
134182017-01-01  Vincent Lef��vre  <vincent@vinc17.net>
13419
13420	Merged the latest changes from the trunk.
13421
13422	[doc/mpfr.texi] Updated the month.
13423
13424	Copyright notice update: added 2017 with
13425	  perl -pi -e 's/ (\d{4}-)?(2016)(?= Free Software)/
13426	               " ".($1||"$2-").($2+1)/e' **/*(^/)
13427	under zsh, reverting the tools/mbench directory (not distributed with
13428	MPFR). Removed 2016 from the example in the doc/README.dev file.
13429
134302016-12-31  Vincent Lef��vre  <vincent@vinc17.net>
13431
13432	[src/sqr.c] Bug fixes (portability): replaced left shift of a value
13433	that can be negative by a multiplication by 2.
13434
13435	[src/sqrt.c] C90 compatibility.
13436
13437	[src/div.c] C90 compatibility.
13438
13439	[src/invert_limb.c] Removed unused variable.
13440
134412016-12-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13442
13443	[src/mul.c] small speedup in mpfr_mul_2 by not computing the product b0*c0
13444
13445	[src/mul.c] fixed typo in comment
13446	[src/sqr.c] likewise
13447
13448	[src/mul.c] fixed regression for 1/2 limbs introduced in revision 11098:
13449		    critical routines should not be exported, otherwise we lose a few
13450		    cycles (maybe they are inlined by the compiler)
13451
13452	[src/div.c] further improvement in mpfr_div_1()
13453
13454	[src/div.c] use an approximate quotient in mpfr_div_1()
13455
13456	[src/div.c] simplify mpfr_div_1()
13457
13458	[src/invert_limb.c] new file for __gmpfr_invert_limb internal function
13459			    (only provided so far for 64-bit limb)
13460	[src/div.c] mpfr_div_1 and mpfr_div_2 don't require --enable-gmp-internals
13461		    any more
13462
13463	[sqrt_tab.h] better file description
13464
134652016-12-29  Vincent Lef��vre  <vincent@vinc17.net>
13466
13467	Improvement concerning the _mulx_u64 intrinsic.
13468
134692016-12-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13470
13471	[src/div.c] replace GMP's invert_limb (internal) by own code
13472
134732016-12-29  Vincent Lef��vre  <vincent@vinc17.net>
13474
13475	Merged the latest changes from the trunk.
13476
13477	[src/sqrt.c] Replaced constant MPFR_ASSERTD by MPFR_STAT_STATIC_ASSERT.
13478
134792016-12-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13480
13481	[src/sqr.c] use special code for 1 and 2 limbs
13482	[mbench] added mpfr_sqr
13483
13484	[src/sqrt.c] faster sqrt code for 2 limbs and 64-bit limb (removed special code
13485		     for 32-bit limb)
13486	[src/sqrt_tab.h] new table for mpn_sqrtrem4_approx
13487
13488	[tlog.c] missing printf()
13489
134902016-12-27  Vincent Lef��vre  <vincent@vinc17.net>
13491
13492	[NEWS] Mention that mpfr_get_str now also sets the inexact flag when
13493	the conversion is inexact (completing r11073).
13494
13495	[mpfr.texi] Be stronger in mpfr_round_nearest_away documentation
13496	(as the ternary value is used each time the last bit on p+1 bits
13497	is not 0, i.e. in about half cases).
13498
134992016-12-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13500
13501	[mpfr.texi] added stuff in mpfr_round_nearest_away documentation
13502
135032016-12-27  Vincent Lef��vre  <vincent@vinc17.net>
13504
13505	[src/log.c] Added another FIXME concerning the error analysis.
13506
13507	[src/log.c] Added an assertion and a FIXME: error in the MPFR code or
13508	in the proof (error analysis).
13509
13510	[src/log.c] Slight simplification / improvement.
13511
13512	[doc/algorithms.tex] In Section "The logarithm function" (from r9046),
13513	removed everything concerning the AGM since this is not what is done
13514	in the MPFR code, where mpfr_agm is simply called (and this function
13515	already has its own description later).
13516	Note: The error analysis of mpfr_log can only be found in log.c, but
13517	seems incorrect (though the bounds may be valid); it was introduced
13518	in r416.
13519
135202016-12-26  Vincent Lef��vre  <vincent@vinc17.net>
13521
13522	Merged the latest changes from the trunk (this concerns only src/log.c).
13523
13524	[src/log.c] Group constant terms together (GCC takes advantage of this,
13525	at least on x86_64).
13526
13527	[src/log.c] Check for integer overflow (no visible changes in
13528	standard configuration) + explanations.
13529
13530	[src/log.c] Get the exponent of the input only once.
13531
135322016-12-20  Vincent Lef��vre  <vincent@vinc17.net>
13533
13534	[doc/sum.txt] Update for faithful rounding (MPFR_RNDF).
13535
13536	[src/sum.c] Fixed the bug mentioned in r11077.
13537
13538	[tests/tsum.c] The new test for MPFR_RNDF in r11079 can actually trigger
13539	a failure; increased the number of tests to get a failure by default.
13540
13541	[tests/tsum.c] Improved a test to support MPFR_RNDF. It doesn't fail,
13542	but would if 0 in "corr = 0" were changed to -1 or 1 (tested).
13543
13544	Removed trailing spaces.
13545
13546	[src/sum.c] Improvement for MPFR_RNDF, but still based on the change
13547	done in r10512, which was incorrect; added a FIXME (a non-regression
13548	test needs to be added first).
13549
13550	Merged the latest changes from the trunk (this concerns only src/sum.c
13551	and will be useful for the upcoming improvement).
13552
13553	[src/sum.c] Delay some assignments so that they are done just before
13554	the variables are used (this should have been done in r10467).
13555
13556	Merged the latest changes from the trunk.
13557
13558	[doc/mpfr.texi] For mpfr_get_str, explicitly say that the inexact flag
13559	is set iff the result is inexact (since this may not be obvious and this
13560	wasn't the case until now). In the compatibility section, mention this
13561	change.
13562
13563	[doc/mpfr.texi] For mpfr_get_str, removed the note saying that
13564	the inexact flag is not set when the conversion is inexact:
13565	this is fixed in r11071.
13566
13567	[src/get_str.c] Corrected a comment and a test for inexactness
13568	(��� the new tget_str.c test no longer fails).
13569
135702016-12-19  Vincent Lef��vre  <vincent@vinc17.net>
13571
13572	[tests/tstrtofr.c] Added a comment.
13573
13574	[src/strtofr.c] Better indentation.
13575
13576	[tests/tstrtofr.c] Replaced mpfr_cmp() == 0 by mpfr_equal_p().
13577
13578	[doc/mpfr.texi] Updated the month.
13579
13580	[src/get_str.c] Removed an obsolete comment, which came from r2757
13581	(and even before, under another form); this comment no longer made
13582	any sense as the sign of dir is no longer tested.
13583
13584	[src/get_str.c] Indentation fixed.
13585
13586	[src/get_str.c] Setting the inexact flag as done in r11060 was incorrect
13587	since the flags are restored. Moreover, this was done even when the Ziv
13588	loop was going to fail (it's not clear whether this was expected). Moved
13589	the test out of the Ziv loop, and update the copy of the flags instead
13590	of the flags that will be overwritten.
13591	Note: this still fails, but now for another reason.
13592
13593	[tests/tget_str.c] Check the inexact flag for mpfr_get_str.
13594	The test currently fails.
13595
135962016-12-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13597
13598	[get_str.c] inexact flag should now be correct in mpfr_get_str
13599
13600	[strtofr.c] updated comment
13601
136022016-12-18  Vincent Lef��vre  <vincent@vinc17.net>
13603
13604	[doc/mpfr.texi] Added a short note about the default precision for Re.
13605
136062016-12-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13607
13608	[mpfr.texi] added emin in comment about mpfr_round_nearest_away
13609
13610	fixed bug in mpfr_strtofr (and likely similar bug in mpfr_get_str)
13611
136122016-12-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13613
13614	[tstrtofr.c] added test for bug in mpfr_strtofr()
13615
136162016-12-17  Vincent Lef��vre  <vincent@vinc17.net>
13617
13618	[src/sqrt.c] Added "do ... while (0)" in macro definition.
13619
136202016-12-16  Vincent Lef��vre  <vincent@vinc17.net>
13621
13622	Removed trailing whitespace.
13623
13624	[src/round_raw_generic.c] Completed the support for MPFR_RNDNA (set
13625	*inexp if use_inexp is true), from a patch by John P. Hartmann.
13626
136272016-12-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13628
13629	new mpn_sqrtrem4_approx function (unused so far)
13630
136312016-12-15  Vincent Lef��vre  <vincent@vinc17.net>
13632
13633	[tests/tsqrt.c] The latest changes made tsqrt fail in an inexact test
13634	on MPFR_RNDF. Fixed by changing RND_RAND to RND_RAND_NO_RNDF.
13635
13636	Merged the latest changes from the trunk.
13637
13638	[src/sin.c] Handled a FIXME.
13639
13640	[src/sqrt_tab.h] Added copyright notice.
13641
136422016-12-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13643
13644	[sqrt.c] simplify code for GMP_NUMB_BITS = 64
13645
136462016-12-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13647
13648	better fix than r11025
13649
13650	[sqrt_tab.h] new header file with table for mpn_sqrtrem2_approx()
13651	[sqrt.c] new version of mpn_sqrtrem2_approx()
13652
13653	[sqrt.c] added mathematical error in mpn_sqrtrem2_approx()
13654
13655	added non-regression test for bug fix in r11037
13656
136572016-12-14  Vincent Lef��vre  <vincent@vinc17.net>
13658
13659	[src/vasprintf.c] Fixed a bug as spec.prec can be a negative number
13660	other than -1 (if such a value is given as an argument with ".*").
13661	This is the probable cause of the assertion failure on:
13662	https://gforge.inria.fr/tracker/?func=detail&atid=619&aid=21056&group_id=136
13663
136642016-12-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13665
13666	[sqrt.c] faster version of mpn_sqrtrem2 for 64-bit limb
13667
13668	[sqrt.c] approximate version of mpn_sqrtrem2, saves a few cycles in mpfr_sqrt1
13669
13670	[add/sub] added MPFR_UNLIKELY when adding one ulp changes the binade
13671
136722016-12-12  Vincent Lef��vre  <vincent@vinc17.net>
13673
13674	[src/sin.c] Added missing word in r11032 comment.
13675
13676	[src/sin.c] Common/related subexpressions. Added a FIXME.
13677
136782016-12-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13679
13680	[cos.c,exp_2.c,log.c] improved initial precision for Ziv's strategy
13681
13682	[sin.c] improved strategy for initial precision
13683
13684	[sqrt.c] updated code and comments
13685
13686	[sqrt.c] slightly improve mpn_rsqrtrem1() (and detailed error analysis)
13687
13688	[sqrt.c] removed mpn_sqrtrem1 (no longer needed since r11023)
13689
13690	[sqrt.c] fixed comments to be coherent with the code
13691
13692	fixed https://gforge.inria.fr/tracker/?func=detail&atid=619&aid=21053&group_id=136
13693
136942016-12-09  Vincent Lef��vre  <vincent@vinc17.net>
13695
13696	[src/sqrt.c] Corrected a comment (1 has exponent 1 and we support
13697	precision 1).
13698
136992016-12-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13700
13701	[sqrt.c] no more special case for prec <= GMP_NUMB_BITS/2, and added comments
13702
137032016-12-09  Vincent Lef��vre  <vincent@vinc17.net>
13704
13705	[src/sqrt.c] Bug fix (replaced = by ==). Note: this kind of bug could
13706	be detected by avoiding extra parentheses.
13707
13708	[src] Simplified ~MPFR_LIMB_ZERO to MPFR_LIMB_MAX.
13709
137102016-12-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13711
13712	[div.c] simplified mpfr_div_1 and mpfr_div_2
13713
13714	[div.c] added comments and simplified code
13715
13716	[div.c] simplified code
13717
13718	likewise for mpfr_mul_2()
13719
13720	fixed bug in mpfr_mul_1() introduced in r11004 and added test case
13721
13722	[div.c] simplified underflow test in mpfr_div_1()
13723
137242016-12-09  Vincent Lef��vre  <vincent@vinc17.net>
13725
13726	[src/div_ui.c] underflow is unlikely!
13727
13728	[src/sqrt.c] overflow and underflow are unlikely!
13729
137302016-12-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13731
13732	[div.c] overflow and underflow are unlikely!
13733
13734	[div.c] slightly better code (less dependencies) for mpfr_div_1 when u0 >= v0
13735
13736	[div.c] simplified mpfr_div_1() code
13737
13738	[div.c] in mpfr_div_1, do not deal with the case where the precision is
13739		<= GMP_NUMB_BITS/2, to not slow down the general case
13740
137412016-12-09  Vincent Lef��vre  <vincent@vinc17.net>
13742
13743	[src/mul.c] Slight improvement (but shouldn't affect the generated code
13744	with an optimizing compiler).
13745
137462016-12-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13747
13748	[mul.c] likewise for mpfr_mul_2()
13749
13750	[mul.c] simplified mpfr_mul_1()
13751
13752	fixed similar bug in mpfr_mul_2() + non-regression test
13753
13754	[mul.c] simplified the code and fixed a bug
13755	[tmul.c] added non-regression test for fixed bug
13756
13757	[sub1sp.c] added comment + assert
13758
137592016-12-09  Vincent Lef��vre  <vincent@vinc17.net>
13760
13761	[src] Fixed bug introduced in r10964 with --with-gmp-build: move
13762	the numberof_const() definition from mpfr-gmp.h to mpfr-impl.h.
13763
137642016-12-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13765
13766	[add1sp.c] added comment
13767
13768	[add1sp.c] simplified mpfr_add1sp2()
13769
13770	[sub1sp.c] in mpfr_sub1sp2(), compute a0 before a1 whenever possible
13771
137722016-12-09  Vincent Lef��vre  <vincent@vinc17.net>
13773
13774	[tools/mbench/mfv5.cc] Fixed type.
13775
137762016-12-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13777
13778	[mbench] fixed typo
13779
137802016-12-08  Vincent Lef��vre  <vincent@vinc17.net>
13781
13782	Replaced two ~0 with mp_limb_t target by MPFR_LIMB_MAX.
13783
13784	[tools/mpfrlint] Added a test detecting code like ~0 (either an error
13785	or poorly written code).
13786
137872016-12-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13788
13789	improved add1sp.c and sub1sp.c like in r10991
13790
13791	[mbench] set default max_exp to 1 (independent of number of bits per limb)
13792
13793	[sub1sp.c] improved further
13794
13795	[mbench] use mpfr_printf to print test numbers
13796
13797	fixed bug in mfv5 (numbers used were 10 times too large)
13798
137992016-12-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13800
13801	added rounding code for RNDF in special routines for 1 and 2 limbs
13802
13803	[sub1sp.c] corrected a comment, added another one
13804
138052016-12-07  Vincent Lef��vre  <vincent@vinc17.net>
13806
13807	[src/add1sp.c] Typo in a comment.
13808
13809	[src/pow.c] Punctuation to make clear that there are 2 sentences.
13810
138112016-12-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13812
13813	likewise r10983
13814
13815	[add1sp.c] improved a conditional (if compiler is not smart enough)
13816
13817	[exp_2.c] small improvements
13818
138192016-12-07  Vincent Lef��vre  <vincent@vinc17.net>
13820
13821	[src/mpfr-impl.h] MPFR_INT_CEIL_LOG2(x) macro: added a FIXME and an
13822	assertion concerning whether x <= ULONG_MAX or not.
13823
13824	[src/pow.c] Added an assertion.
13825
138262016-12-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13827
13828	[algorithms.tex] fixed typo
13829
13830	[pow.c] tuned starting precision (and removed obsolete comment)
13831
13832	use MPFR_INT_CEIL_LOG2
13833
13834	modified the semantics of mpfr_can_round for rnd2=RNDF
13835
138362016-12-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13837
13838	[mfv5] added option -e, for example use -e1 to avoid over/underflow in mpfr_pow
13839
13840	[pow.c] reduced overhead of special cases (gives speedup of a factor of two
13841		for 53 bits of precision)
13842
138432016-12-06  Vincent Lef��vre  <vincent@vinc17.net>
13844
13845	Merged the latest changes from the trunk except those related to
13846	mpfr_zeta (it is buggy and not fixed yet in the trunk, but the bug
13847	will not be triggered here, allowing the tests to pass).
13848
138492016-12-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
13850
13851	added mpfr_pow
13852
138532016-12-06  Vincent Lef��vre  <vincent@vinc17.net>
13854
13855	[tools/mpfrlint] Correction for zsh change after v5.2 (POSIX compat:
13856	"set -e; f() { false && true; }; f; echo OK" no longer prints OK).
13857
138582016-11-29  Vincent Lef��vre  <vincent@vinc17.net>
13859
13860	Check that the numberof() macro is used on an array.
13861	  * src/mpfr-gmp.h: define numberof_const() macro, equivalent to the
13862	    old numberof() macro: no check, but constant expression; improved
13863	    the numberof() macro to check that it is used on an array (since
13864	    an array can silently be converted to a pointer in C). Note that
13865	    potential failures are currently reported at run time.
13866	  * src/mulders.c: replaced numberof by numberof_const in #define's
13867	    (also removed a useless cast at the same time).
13868
138692016-11-17  Vincent Lef��vre  <vincent@vinc17.net>
13870
13871	[src/set_ld.c,tests/tset_ld.c] Updated comments, in particular
13872	concerning LDBL_MAX.
13873
138742016-11-15  Vincent Lef��vre  <vincent@vinc17.net>
13875
13876	[tests/tset_ld.c] Added an overflow test that triggers a bug for
13877	double-double (IBM long double format). See:
13878	  https://sympa.inria.fr/sympa/arc/mpfr/2016-11/msg00006.html
13879
13880	[src/get_ld.c] Fixed bugs for double-double (IBM long double format):
13881	  * one from r8650, which could yield a spurious assertion failure
13882	    in debug mode in case of underflow (with result 0);
13883	  * one from r8972, which used the variable sign uninitialized and
13884	    could yield a result with an incorrect sign.
13885
13886	[tests/tset_ld.c] Added a missing exit(1).
13887
13888	[tests] _GMP_IEEE_FLOATS was got rid of in r10150, but still used in
13889	the tests, meaning that some tests were no longer done. So, get rid of
13890	_GMP_IEEE_FLOATS also in the tests. Testing !defined(MPFR_ERRDIVZERO)
13891	or defined(HAVE_SIGNEDZ) should be sufficient, depending on the context
13892	(they were already used alone at some other places, so that new failures
13893	are unlikely); anyway, _GMP_IEEE_FLOATS was not the right macro to test.
13894	Only tget_set_d64.c has a specific change to use _MPFR_IEEE_FLOATS.
13895
13896	[src/get_ld.c] For double-double (IBM long double format): test other
13897	special values, as this may be useful.
13898
13899	[src/get_ld.c] For double-double (IBM long double format), the code
13900	was incorrect on large finite values, which are infinite as a double:
13901	(+inf) + (-inf) was computed, which is NaN (thanks to Rob for the
13902	report). Fixed this bug, with code clean up (not tested).
13903
139042016-11-10  Vincent Lef��vre  <vincent@vinc17.net>
13905
13906	[INSTALL] Added a note about MinGW and libtool error "libobj name ...
13907	may not contain shell special characters.", with a solution.
13908
139092016-11-09  Vincent Lef��vre  <vincent@vinc17.net>
13910
13911	[doc/sum.txt] Final corrections.
13912
13913	[doc/sum.txt] Another correction due to the rewrite for reuse support.
13914
13915	[doc/sum.txt] Correction.
13916
139172016-11-08  Vincent Lef��vre  <vincent@vinc17.net>
13918
13919	[src/sum.c] Added a short explanation for halfway cases.
13920
13921	[doc/sum.txt] Improved an example (from my ARITH-23 slides).
13922
13923	[doc/sum.txt] English usage.
13924
139252016-11-07  Vincent Lef��vre  <vincent@vinc17.net>
13926
13927	[doc/sum.txt] Explained the handling of halfway cases for sq = 1
13928	(since the explanations for sq ��� 2 are not valid for sq = 1).
13929
13930	[doc/sum.txt] Minor update.
13931
13932	[doc/sum.txt] Last corrections. Concerning the setting of the sign of
13933	the result, this changed with the support for precision 1 (see r10068).
13934
13935	[doc/sum.txt] Correction (English).
13936
13937	[doc/sum.txt] Correction about neg / sgn.
13938
13939	[doc/sum.txt] Added details about the handling of halfway cases, as
13940	the rule is not obvious due to two's complement representation.
13941
139422016-11-06  Vincent Lef��vre  <vincent@vinc17.net>
13943
13944	[src/sum.c] Cosmetic change for consistency between lbit and rbit.
13945
13946	[doc/sum.txt] Minor update.
13947
139482016-11-04  Vincent Lef��vre  <vincent@vinc17.net>
13949
13950	[doc/sum.txt] A bit more explanations.
13951
13952	[doc/sum.txt] Corrected the usage of the HYPHEN-MINUS character (-):
13953	  * If it is a minus sign, use U+2212 MINUS SIGN (as already done).
13954	  * Do not use "-" after the "non" and "pre" prefixes.
13955
13956	[doc/sum.txt] Minor improvement.
13957
139582016-10-27  Vincent Lef��vre  <vincent@vinc17.net>
13959
13960	[tools/mpfrlint] Replaced "TZ=UTC" by "TZ=GMT0" for portability.
13961
13962	[doc/sum.txt] Added a note.
13963
13964	[doc/sum.txt] Update for the current code (support of reused arguments);
13965	some other improvements.
13966
13967	[doc/sum.txt] Corrected 2 typos.
13968
13969	[src/sum.c] Changed a MPN_COPY_DECR to MPN_COPY, which may be more
13970	efficient: as of r10464 (support for reused arguments), the memory
13971	used by the accumulator for the TMD resolution is no longer a part
13972	of the main accumulator, so that we now know that the memory blocks
13973	do not overlap.
13974
139752016-10-26  Vincent Lef��vre  <vincent@vinc17.net>
13976
13977	[src/sum.c] Corrected a comment from r10503.
13978
13979	[src/sum.c] Moved/rewrote a comment (should have been done in r10467).
13980
139812016-10-25  Vincent Lef��vre  <vincent@vinc17.net>
13982
13983	[doc/sum.txt] Started the update for the code supporting reuse.
13984
13985	[src/mpfr-impl.h] Fixed r10916 (thanks to Eli Zaretskii for the report).
13986
139872016-10-24  Vincent Lef��vre  <vincent@vinc17.net>
13988
13989	[src/mpfr-impl.h] Improved a macro from r10916 (just in case...).
13990
13991	[src] Support build as thread-safe DLL on Windows: clean-up.
13992	  * Increased the use of macros to avoid some code duplication
13993	    (with risks of typos) and to prevent the problems related
13994	    to thread-safe DLL from appearing in the .c files.
13995	  * The prototypes of the functions to access the address of a
13996	    TLS variable are now defined. Otherwise one gets warnings:
13997	    https://sympa.inria.fr/sympa/arc/mpfr/2016-10/msg00004.html
13998
139992016-10-20  Vincent Lef��vre  <vincent@vinc17.net>
14000
14001	[doc/sum.txt] Minor correction and improvement (English).
14002
14003	[doc/sum.txt] "a" ��� "an" before "additional iteration".
14004
140052016-10-18  Vincent Lef��vre  <vincent@vinc17.net>
14006
14007	[src/mpfr-gmp.h] Updated a comment about bit-fields.
14008
140092016-10-17  Vincent Lef��vre  <vincent@vinc17.net>
14010
14011	[doc/mpfr.texi] Updated the FIXME concerning the mpfr_can_round
14012	specification with MPFR_RNDF (faithful rounding): after discussion
14013	with PZ, reverted r10909,10910; added a note explaining the choice
14014	done for this specification.
14015
140162016-10-14  Vincent Lef��vre  <vincent@vinc17.net>
14017
14018	[doc/mpfr.texi] Another correction of the FIXME concerning the
14019	mpfr_can_round specification with MPFR_RNDF (faithful rounding).
14020
14021	[doc/mpfr.texi] Corrected FIXME concerning the mpfr_can_round
14022	specification with MPFR_RNDF (faithful rounding).
14023
140242016-09-27  Vincent Lef��vre  <vincent@vinc17.net>
14025
14026	[src]
14027	  * mpfr-impl.h: document the memory allocated for a significand;
14028	    added a cast to avoid a direct conversion from mp_limb_t * to
14029	    mp_size_t *.
14030	  * init2.c, round_prec.c, set_prec.c: code clean-up by correcting
14031	    the type expected for the second argument of MPFR_SET_MANT_PTR
14032	    (this macro has a cast, so that this should not change anything,
14033	    but the old type mpfr_limb_ptr was meaningless and confusing).
14034
140352016-09-23  Vincent Lef��vre  <vincent@vinc17.net>
14036
14037	[examples/version.c] For MPFR >= 4, output float128 support info.
14038
14039	[examples/version.c] A bit more output.
14040
14041	[examples/version.c]
14042	  * Really support C++ compilers (tested with g++ 6.2.0).
14043	  * Output information about the C implementation.
14044	  * Detect MPIR (��� output information on MPIR instead of GMP).
14045
14046	[examples/version.c]
14047	  * Code simplification: support for MPFR versions less than 3.0 had
14048	    already been dropped with the use of MPFR_RNDN.
14049	  * For MPFR patches, output "[none]" when there are no patches.
14050	  * Output mpfr_ptr size.
14051
140522016-09-21  Vincent Lef��vre  <vincent@vinc17.net>
14053
14054	[src/sin_cos.c] Avoid the reuse of variables for two completely
14055	different things (with different orders of magnitude)! Changed types.
14056
14057	[src/exp3.c] Avoid the reuse of variables for two completely different
14058	things (with different orders of magnitude)! Added a cast to avoid a
14059	potential integer overflow (like in r10881).
14060
14061	[src/atan.c] Avoid the reuse of variables for two completely different
14062	things (with different orders of magnitude)! Changed types.
14063
14064	[src/{atan.c,sin_cos.c}] Added casts to avoid potential integer
14065	overflows. Possible issue reported by David Binderman:
14066	  https://sympa.inria.fr/sympa/arc/mpfr/2016-09/msg00029.html
14067	Note: From tests I've done on mpfr_atan, there would be issues with
14068	16-bit int, but for 32-bit int, one could need several hundreds of
14069	billions of bits for the target precision.
14070
14071	[doc/README.dev] "To make a release": updated paragraph about warnings.
14072
14073	[src/mpfr-impl.h] In the MPFR_RET macro, avoid the use of an integer
14074	in a boolean context (even though that this is not wrong in C). Fix
14075	after a bug report from David Binderman. Explanations:
14076	  https://sympa.inria.fr/sympa/arc/mpfr/2016-09/msg00028.html
14077
140782016-09-16  Vincent Lef��vre  <vincent@vinc17.net>
14079
14080	[doc/algorithms.tex] Riemann Zeta function, case s < 1/2: added a
14081	paragraph on the sin(...) term of the reflection formula.
14082
14083	[doc/algorithms.tex] More work on the Riemann Zeta function.
14084
140852016-09-15  Vincent Lef��vre  <vincent@vinc17.net>
14086
14087	[doc/algorithms.tex] Riemann Zeta function, case s < 1/2: added a
14088	paragraph briefly describing how the precisions of the variables
14089	will be chosen (this is much more efficient than the current code
14090	when the target precision is much lower than the input precision).
14091
14092	Some improvements / corrections in the description / proof of the
14093	algorithm for the Riemann Zeta function.
14094	  * doc/algorithms.tex, section on the Riemann Zeta function: the case
14095	    s < 1/2 (reflection formula) is now in a new section, which needs
14096	    to be completed (with the detailed algorithm and error analysis);
14097	    case "s close to 0" added and now properly proved.
14098	  * src/zeta.c: update of the comment for s close to 0 (the brief
14099	    explanations were wrong for precision 1, and this was apparently
14100	    not checked when we allowed this precision!), adding a reference
14101	    to algorithms.tex for details.
14102
141032016-09-14  Vincent Lef��vre  <vincent@vinc17.net>
14104
14105	[tools/mpfrlint] In "[[���]]" conditional expressions, replaced "="
14106	by the preferred (and equivalent) form "==".
14107	Discussion: https://www.zsh.org/mla/workers/2016/msg01711.html
14108
14109	[tests/tdiv.c] Improved code readability (related to r10871).
14110
141112016-09-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
14112
14113	[tests/tdiv.c] improved code (found by David Binderman using cppcheck)
14114
141152016-09-14  Vincent Lef��vre  <vincent@vinc17.net>
14116
14117	[tools/announce-text] Use the 64-bit key ID instead of the 32-bit one
14118	since there are known collisions for 32-bit key ID's:
14119	https://evil32.com/
14120
141212016-09-13  Vincent Lef��vre  <vincent@vinc17.net>
14122
14123	[src/zeta.c] Added a FIXME: bug in the error computation due to the
14124	  use of the native double C type, which can yield an overflow.
14125	[tests/tzeta.c] Added a corresponding test case, which gives an
14126	  assertion failure.
14127
14128	[src/{uceil_log2.c,ufloor_log2.c}] Added "MPFR_ASSERTN (exp < 1023);"
14129	to get an assertion failure on infinities (which do not have an
14130	exponent).
14131
14132	[src/uceil_log2.c] Code style.
14133
14134	[src/ufloor_log2.c] Code style.
14135
14136	[src/zeta.c] Make explicit that we need to use lngamma.
14137
14138	[src/zeta.c] Updated comments on overflows / underflows.
14139
14140	[src/zeta.c] About internal underflows / cancellation:
14141	  * Added comments to FIXME's.
14142	  * Detect a potential integer overflow with MPFR_ASSERTN.
14143
141442016-09-12  Vincent Lef��vre  <vincent@vinc17.net>
14145
14146	[tests/tset_ld.c] Moved a comment.
14147
14148	[tests/tset_ld.c] Fixed print_binary (and no longer any failure with
14149	gcc -mpc64 on x86).
14150
14151	[tests/tset_ld.c] Corrected note in print_binary.
14152
14153	[tests/tset_ld.c] Reverted r10847 (it was incomplete and I was testing
14154	the wrong code).
14155
14156	[tests/tset_ld.c] Fixed print_binary.
14157
14158	[tests/tset_ld.c] Added a FIXME in print_binary, which can yield an
14159	incorrect output and return a wrong precision (causing the failure).
14160
14161	[tests/tset_ld.c] Added a test that triggers a failure with gcc -mpc64
14162	on x86 (64-bit ABI).
14163
14164	[tests/tset_ld.c] Added some tests in case the rounding precision is
14165	smaller than MPFR_LDBL_MANT_DIG (e.g. with gcc -mpc64 on x86).
14166
14167	[tests/tset_ld.c] In print_binary, added an assertion that may fail
14168	with flush-to-zero on underflow (avoiding an infinite loop).
14169
14170	[tests/tset_ld.c] Simplified a condition in print_binary (BTW, the old
14171	condition was based on the fact that the rounding depended only on the
14172	exact result, which may not be the case when rounding is not completely
14173	specified, e.g. with double-double arithmetic like on PowerPC).
14174
14175	[tests/tset_ld.c] Replaced a condition by a simpler, equivalent one.
14176
141772016-09-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
14178
14179	[tests/tset_ld.c] added note
14180
141812016-09-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
14182
14183	[tests/tset_ld.c] get rid of C99-only stuff
14184
141852016-09-09  Vincent Lef��vre  <vincent@vinc17.net>
14186
14187	[tests/tset_ld.c] Removed a variable that is no longer used.
14188
14189	[tests/tset_ld.c] FIXME: nextafterl and ilogbl are C99 only.
14190
141912016-09-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
14192
14193	[tests/tset_ld.c] fixed computation of smallest subnormal using nextafterl
14194
14195	[tests/tset_ld.c] added warning
14196
14197	[tests/tset_ld.c] fixed print_binary() for when the rounding precision is less
14198			  than the precision of long double
14199
142002016-09-09  Vincent Lef��vre  <vincent@vinc17.net>
14201
14202	[src/get_ld.c] Replaced FIXME by an explanation of the current behavior.
14203	[tests/tset_ld.c] Added a FIXME as a consequence.
14204
14205	[doc/README.dev] Update about NetBSD.
14206
142072016-09-08  Vincent Lef��vre  <vincent@vinc17.net>
14208
14209	[src/sqrt.c] Corrected a spelling mistake.
14210
14211	[src/get_ld.c] Updated FIXME (mention subnormals).
14212
14213	[src/get_ld.c] Updated FIXME (this is NetBSD 5.1).
14214
14215	[src/get_ld.c] Added a FIXME, in particular for NetBSD.
14216
14217	[tests/tset_ld.c] Avoid a freeze in print_binary under NetBSD due to
14218	excess precision in LDBL_MAX (we do not run the test in this case).
14219
142202016-09-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
14221
14222	[src/sqrt.c] fixed bug in mpfr_sqrt2
14223	[tests/tsqrt.c] added non-regression test
14224
142252016-09-08  Vincent Lef��vre  <vincent@vinc17.net>
14226
14227	[tests/tset_ld.c] The print_binary function is freezing on a NetBSD
14228	machine; let's start with some improvements (assertions...).
14229
14230	[tests/tabs.c] Removed mpfr_test_init (not needed here).
14231
14232	[tests/tset_ld.c] Moved mpfr_test_init at the right place (like
14233	tget_d.c, tset_d.c, etc.).
14234
142352016-09-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
14236
14237	[src/sqrt.c] divsp1 -> div_1
14238
142392016-09-08  Vincent Lef��vre  <vincent@vinc17.net>
14240
14241	[tests/tset_ld.c] Fixed a loop in case an extended range is used
14242	(there are issues on a NetBSD machine, and this could be a cause).
14243
14244	[tests/tset_ld.c] Corrected a type (due to a printf with %ld).
14245
142462016-09-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
14247
14248	[src/div.c] divsp1 -> div_1, divsp2 -> div_2 (not necessarily same precision)
14249
14250	[src/mul.c] mulsp1 -> mul_1, mulsp2 -> mul_2 (the precision of operands is not
14251		    necessarily the same)
14252
142532016-09-08  Vincent Lef��vre  <vincent@vinc17.net>
14254
14255	[src/{get_d,get_ld}.c] Use MPFR_ALIAS.
14256
142572016-09-07  Vincent Lef��vre  <vincent@vinc17.net>
14258
14259	[src/get_ld.c] Improved the fix done in r10808: The mpfr_set_emin value
14260	is not changed, but let's make the LDBL_MIN_EXP and LDBL_MAX_EXP values
14261	appear as expected.
14262	Note: The code for x86 extended precision first appeared in r3226 with
14263	the usual emin and emax values, as found in the IEEE 754-1985 standard
14264	(bounds) or on <https://en.wikipedia.org/wiki/IEEE_floating_point>. But
14265	MPFR uses a different convention, with a significand between 1/2 and 1
14266	instead of between 1 and 2, so that these values were off by 1. The
14267	emax one was fixed in r6101, but the error on emin remained undetected.
14268
14269	[tests/tset_ld.c] The bug_20160907 test is valid only with
14270	HAVE_LDOUBLE_IEEE_EXT_LITTLE.
14271
14272	[src/zeta.c] Updated FIXME: also suggest a scaling.
14273
142742016-09-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
14275
14276	[tests/tset_ld.c] check more numbers in bug_20160907()
14277
14278	[src/get_ld.c] fixed bug reported by Walter Mascarenhas
14279
14280	[tests/tset_ld.c] added test that triggers bug in mpfr_get_ld
14281			  (https://sympa.inria.fr/sympa/arc/mpfr/2016-09/msg00005.html)
14282
142832016-09-07  Vincent Lef��vre  <vincent@vinc17.net>
14284
14285	[src/zeta.c] Updated FIXME with a suggestion.
14286
14287	[src/zeta.c] Added a FIXME: An overflow in gamma(s1) does not imply
14288	  that Zeta(s) will overflow.
14289	[tests/tzeta.c] Added a test that triggers this bug with a 32-bit ABI.
14290
14291	[doc/README.dev] Concerning GCC's AddressSanitizer (-fsanitize=address),
14292	mention that LD_PRELOAD needs to be unset (or -static-libasan needs to
14293	be used, but does not work yet).
14294
142952016-09-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
14296
14297	[doc/algorithms.tex] l -> \ell
14298
14299	[doc/algorithms.tex] du -> {\mathrm d}u
14300
14301	[src/log_ui.c] added FIXME
14302
143032016-09-06  Vincent Lef��vre  <vincent@vinc17.net>
14304
14305	[src/sqrt.c] Avoid a warning due to an unused variable with
14306	GMP_NUMB_BITS == 32.
14307
14308	[acinclude.m4] Fixed m4_pattern_forbid argument to avoid an error with
14309	recent ax_pthread.m4 (such as in Debian's autoconf-archive 20160320-1,
14310	which has just appeared in unstable).
14311
14312	[src/zeta.c] Updated FIXME.
14313
143142016-09-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
14315
14316	[src/zeta.c] added FIXME
14317
14318	[src/sqrt.c] added alternate code for mpn_sqrtrem4 (disabled for now)
14319
143202016-09-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
14321
14322	move macros from div.c to mpfr-gmp.h
14323
143242016-09-05  Vincent Lef��vre  <vincent@vinc17.net>
14325
14326	About the tzeta timing issue (since r9848):
14327	  * TODO: updated item on tzeta.
14328	  * tests/tzeta.c: updated FIXME for test_generic.
14329
14330	[TODO] Updated item on tzeta:
14331	  * removed the old problem: the fact that the traces for the trunk and
14332	    for r9954 are different is normal (fixes in mpfr_can_round affecting
14333	    tgeneric.c), and the timings depend on GMP_CHECK_RANDOMIZE and seem
14334	    equivalent in average with "test_generic (..., 5);" in both cases;
14335	  * added the fact that tzeta has been much slower since r9848, at least
14336	    with the x86 32-bit ABI.
14337
143382016-09-02  Vincent Lef��vre  <vincent@vinc17.net>
14339
14340	[src/round_prec.c] Added some details in a comment for rnd2 = RNDF.
14341
14342	[doc/mpfr.texi] Added a FIXME on the mpfr_can_round description in order
14343	to match what I intended to say in my comment in round_prec.c (perhaps
14344	not detailed enough).
14345
143462016-09-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
14347
14348	[src/round_prec.c] updated specification of mpfr_can_round with rnd2 = RNDF
14349	[tests/tpow.c] one test makes no sense for RNDF
14350
143512016-09-02  Vincent Lef��vre  <vincent@vinc17.net>
14352
14353	[doc/mpfr.texi] Completed mpfr_can_round description with RNDF.
14354
143552016-09-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
14356
14357	[src/get_str.c] map RNDF to RNDN in mpfr_get_str
14358
14359	[tests/tconst_euler.c] fixed with new specification of mpfr_can_round for RNDF
14360
14361	[doc/mpfr.texi] put back stuff removed by accident in last commit
14362
14363	[doc/mpfr.texi] defined the bahaviour of mpfr_can_round for rnd2 = RNDF
14364			(suggestion from Vincent)
14365
143662016-09-02  Vincent Lef��vre  <vincent@vinc17.net>
14367
14368	[src/round_prec.c] Forbid rnd2 = MPFR_RNDF as it does not make much
14369	  sense without additional specification (and explained why).
14370	[tests/{tcan_round.c,tgeneric.c}] Added MPFR_RNDF support with the
14371	  above restriction.
14372	Note: 6 tests are failing as a consequence.
14373
14374	[src/round_prec.c] FIXME: rnd2 == MPFR_RNDF is not supported yet.
14375
143762016-09-02  Vincent Lef��vre  <vincent@vinc17.net>
14377
14378	Merged the remaining changesets (concerning src/{add1sp.c,sub1sp.c})
14379	from the trunk, and fixed the code: The old mpfr_add1sp2 function
14380	was renamed to mpfr_add1sp_ref in the trunk and a new mpfr_add1sp2
14381	function (with a different purpose) was defined; so, in
14382
14383	  if (rnd_mode == MPFR_RNDF)
14384	    return mpfr_add1sp2 (a, b, c, rnd_mode);
14385
14386	mpfr_add1sp2 had to be changed to mpfr_sub1sp_ref.
14387	Ditto for mpfr_sub1sp2 and mpfr_sub1sp_ref.
14388
143892016-09-02  Vincent Lef��vre  <vincent@vinc17.net>
14390
14391	Merged r10698 from the trunk (it was skipped by mistake in r10776).
14392
14393	Merged the following changesets from the trunk:
14394	  r10664-10686,10689-10690,10692,10695-10696,10699-10775
14395	i.e. all the latest changes except for src/{add1sp.c,sub1sp.c}
14396	to avoid build failures (to be solved later).
14397	Currently only tcan_round fails, due to MPFR_RNDF.
14398
14399	Removed trailing whitespace.
14400
144012016-09-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
14402
14403	[src/sqrt.c] new code for 2 limbs on 64-bit machines, giving speedup of almost
14404		     a factor of two:
14405
14406	bavette.loria.fr (Intel(R) Core(TM) i5-6500 CPU @ 3.20GHz)
14407	numactl --physcpubind=0 ./mfv5 -p113 mpfr_sqrt
14408
14409	3.1.4:
14410	 mpfr_sqrt:        234 /   243.72 /   258
14411
14412	4.0-dev:
14413	 mpfr_sqrt:        122 /   127.63 /   136
14414
144152016-08-31  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
14416
14417	[src/div.c] fixed error triggered by previous commit
14418
14419	[src/div.c] added missing assertion
14420	[tests/tdiv.c] added test case that make new assertion fail (with --enable-assert --enable-gmp-internals on a 64-bit machine)
14421
14422	[src/div.c] fixed bug found by Vincent
14423
144242016-08-31  Vincent Lef��vre  <vincent@vinc17.net>
14425
14426	[tests/tdiv.c] Added a test triggering an assertion failure with
14427	"--enable-assert --enable-gmp-internals".
14428
144292016-08-30  Vincent Lef��vre  <vincent@vinc17.net>
14430
14431	[tools/mpfrlint] Update.
14432
14433	[src/div.c] Untabified. Clarified a comment.
14434
144352016-08-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
14436
14437	[src/sqrt.c] document mpn_sqrtrem2()
14438
14439	[src/div.c] don't use mpfr_divsp1 and mpfr_divsp2 when MPFR_GENERIC_ABI is defined
14440
14441	[src/div.c] faster code for 2 limbs
14442	[tests/tdiv.c] added special test for 2 limbs
14443
144442016-08-30  Vincent Lef��vre  <vincent@vinc17.net>
14445
14446	[tests] Define global variable tests_memory_disabled, which needs to
14447	be set when the memory.c allocators (to track memory leaks) must not
14448	be used; i.e., setting it disables the calls to tests_memory_start()
14449	and tests_memory_end(). In tests.c, it is initialized to 0 (unset),
14450	except when mini-gmp is used (same behavior as before this commit).
14451	Programs that test GMP's mp_set_memory_functions() need to set this
14452	variable before calling tests_start_mpfr().
14453
144542016-08-29  Vincent Lef��vre  <vincent@vinc17.net>
14455
14456	Added tests/talloc-cache.c (not run by "make check") testing multiple
14457	calls to mp_set_memory_functions. It yields a crash in the MPFR trunk,
14458	which is unexpected with the current code. However, in the 3.1 branch,
14459	r9467 fixed the crash as expected.
14460
144612016-08-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
14462
14463	[src/sqrt.c] added Sage code used to generate the bipartite tables
14464
144652016-08-29  Vincent Lef��vre  <vincent@vinc17.net>
14466
14467	[tests/talloc.c] Added a warning about new tests.
14468
144692016-08-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
14470
14471	[src/atan.c] fixed TODOs, and simplified code
14472
144732016-08-29  Vincent Lef��vre  <vincent@vinc17.net>
14474
14475	[doc/mpfr.texi] Added a FIXME comment about memory allocation.
14476
14477	[doc/mpfr.texi] Updated the month.
14478
14479	[TODO] Done in r10756: unify is_power_of_two() and mpfr_powerof2_raw().
14480
144812016-08-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
14482
14483	unified is_power_of_two() and mpfr_powerof2_raw()
14484
14485	[doc/mpfr.texi] improved documentation of mpfr_free_cache()
14486
144872016-08-28  Vincent Lef��vre  <vincent@vinc17.net>
14488
14489	[tests/tcan_round.c] Improved a test now that mpfr_can_round is exact.
14490
14491	[src/mpfr-gmp.h] Added a warning about r10749.
14492
144932016-08-27  Vincent Lef��vre  <vincent@vinc17.net>
14494
14495	[src/round_prec.c] Various corrections/improvements:
14496	  * Unified the return, making sure that temporary memory is no longer
14497	    used after MPFR_TMP_FREE(marker), which was not the case in some
14498	    places.
14499	  * C90 compatibility.
14500	  * Minor improvements (use of MPFR_PREC2LIMBS, code on 78 columns...).
14501
14502	[TODO] Added: unify is_power_of_two() and mpfr_powerof2_raw()?
14503
14504	[src/atan2.c] Replaced the use of the MPFR_IS_POWER_OF_2(x) macro by
14505	  a more efficient solution based on mpfr_powerof2_raw().
14506	[src/mpfr-impl.h] Removed the now obsolete MPFR_IS_POWER_OF_2 macro.
14507
145082016-08-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
14509
14510	[src/mpfr-gmp.h] added comment about GMP memory allocation functions
14511
145122016-08-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
14513
14514	[src/round_p.c] since mpfr_can_round is now always correct, we cannot compare
14515			it blindly to mpfr_round_p any more
14516
145172016-08-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
14518
14519	[src/round_prec.c] fixed mpfr_can_round() so that all tests of tcan_round pass
14520
145212016-08-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
14522
14523	[tests/tcan_round.c] more information in case of error in check_can_round()
14524
145252016-08-22  Vincent Lef��vre  <vincent@vinc17.net>
14526
14527	[tools/mbench/mfv5.cc] Fixed code (C++11 compatibility).
14528
14529	[tests/tcan_round.c] Added a comprehensive test of mpfr_can_round,
14530	based on a naive implementation.
14531	Note: if the exit() is removed, many cases are failing, for both kinds
14532	of answers (there might also remain an error in my test...).
14533
145342016-08-19  Vincent Lef��vre  <vincent@vinc17.net>
14535
14536	[TODO] More thoughts about mpz_t caching (mpz_t pool).
14537
14538	[TODO] Issues with mpz_t caching.
14539
14540	[TODO] Update about mpz_t caching (mpz_t pool).
14541
14542	[src/atan.c] Added TODO's to use mpz_init2 instead mpz_init: I could
14543	check that without "mpz_t cache" (pool), this makes the code faster.
14544
14545	[doc/README.dev] Added a note about memory reallocations; recommend
14546	mpz_init2 with the estimated maximum size instead of mpz_init.
14547
14548	[tests/tests.c] Updated the error message on incorrect MPFR version.
14549
14550	[INSTALL] Added note on Solaris and the LD_OPTIONS environment variable.
14551
145522016-08-11  Vincent Lef��vre  <vincent@vinc17.net>
14553
14554	[tools/coverage] Added a warning: on a machine shared with other users,
14555	by running this script, the account can easily be compromised due to a
14556	libtool bug.
14557
145582016-08-06  Vincent Lef��vre  <vincent@vinc17.net>
14559
14560	[src/mpfr.h] Moved MPFR_DEPRECATED before __MPFR_DECLSPEC for
14561	compatibility with MSVC (and documented this requirement).
14562	Thanks to Brian Gladman for the information.
14563
145642016-08-04  Vincent Lef��vre  <vincent@vinc17.net>
14565
14566	[doc/README.dev] Added a note about the C++11 compatibility issue
14567	with a string literal immediately followed by a macro name.
14568
14569	Fixed remaining macros with missing "do" ��� "while (0)", detected with
14570	mpfrlint. There were no consequences except spurious null statements.
14571
14572	[tools/mpfrlint] Added a comment.
14573
14574	[tools/mpfrlint] Added a test detecting (unsafe) macros of the form:
14575	  #define FOO { ... }
14576	The following form is preferred in most of the cases to avoid spurious
14577	null statements:
14578	  #define FOO do { ... } while (0)
14579
14580	[tests/tsi_op.c] Fixed a macro. There were no consequences except
14581	spurious null statements.
14582
14583	[tests/tset_{si,sj}.c] Style improvements. Added a comment.
14584
14585	[tests/tset_{si,sj}.c] Fixed macros. There were no consequences except
14586	spurious null statements.
14587
14588	[tests] C++ compatibility: avoid errors with "g++ -std=c++11" or later.
14589	Note that as of GCC 6, "the default mode for C++ is now -std=gnu++14
14590	instead of -std=gnu++98" <https://gcc.gnu.org/gcc-6/changes.html>.
14591	So, this fixes the failures in the build of the MPFR tests with g++
14592	from GCC 6 without particular options.
14593
145942016-08-03  Vincent Lef��vre  <vincent@vinc17.net>
14595
14596	[src/round_prec.c] mpfr_can_round_raw: added another FIXME.
14597
14598	[src/round_prec.c] mpfr_can_round_raw: added an assertion, corrected
14599	a condition in a comment, and added comments, showing a new bug.
14600
146012016-08-02  Vincent Lef��vre  <vincent@vinc17.net>
14602
14603	[tests/tmul.c] Various corrections and improvements in test_underflow.
14604
14605	[src/mpfr.h] Mark mpfr_grandom as deprecated (this had already been done
14606	in mpfr.texi r8548).
14607
14608	[src/mpfr.h] Suggest MPFR_EXPERIMENTAL for experimental functions.
14609
146102016-08-01  Vincent Lef��vre  <vincent@vinc17.net>
14611
14612	[tests/tversion.c] Correction in the info about the C implementation.
14613
14614	[tests/tversion.c] Corrections in the info about the C implementation.
14615
14616	[src/sqrt.c] Corrected a bound in the proof of mpfr_sqrt1 (one-limb
14617	precisions), related to the right shift of a negative value. Added
14618	a warning and a TODO about such an operation.
14619
14620	[src/sqrt.c] Enable mpfr_sqrt1 code for one-limb precisions (which
14621	depends on implementation-defined features of the C standard) only
14622	when __GNUC__ is defined, as it is known to be correct with GCC and
14623	compatible compilers, but nothing is known yet for other compilers.
14624	Removed the corresponding FIXME and added a note. In the future, a
14625	configure test could be used as an alternative solution.
14626
14627	[tests/tversion.c] Output more information about the C implementation.
14628
146292016-07-31  Vincent Lef��vre  <vincent@vinc17.net>
14630
14631	[src/sqrt.c] Fixed some portability issues.
14632
14633	[src/sqrt.c] Fix if mp_limb_t > unsigned long (this fixed failures
14634	with mingw-w64).
14635
14636	[src/lngamma.c] Fix in case mp_limb_t is more than twice as large
14637	  as unsigned long (that would make it at least 128 bits).
14638	[src/cos.c] Made code similar to the rest of the code.
14639
14640	[src/div_ui.c] Improved a comment (to make it closer to what correct
14641	C code should be), avoiding a false positive with mpfrlint.
14642
14643	[tools/mpfrlint] Detect possibly wrong code with some C/GMP
14644	implementations, related to shifts and integer types.
14645
14646	[src/sqrt.c] Completed the FIXME (another portability issue).
14647
14648	[src/sqrt.c] Added a FIXME. The current code for prec < GMP_NUMB_BITS
14649	is not portable.
14650
14651	[src/sqrt.c] Fixed code for implementations with 16-bit int's.
14652
14653	[tests/tsqrt.c] Fixed output bug in a test.
14654
146552016-07-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
14656
14657	[src/mul.c] speedup for 2 limbs: numactl --physcpubind=0 ./mfv5 -p113 mpfr_mul
14658
14659	3.1.5-dev:
14660	 mpfr_mul:          45 /    61.60 /    84
14661
14662	4.0-dev:
14663	 mpfr_mul:          30 /    32.15 /    36
14664
14665	[NEWS] mention that speedup
14666
146672016-07-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
14668
14669	[src/sub1sp.c] fixed bug in mpfr_sub1sp2
14670
14671	[src/mul.c] removed useless code
14672
14673	[src/mul.c] code simplification
14674
14675	[src/sub1sp.c] another code simplification
14676
14677	[src/sub1sp.c] code simplification
14678
14679	[NEWS] mention speedup in mpfr_add and mpfr_sub for 2 limbs
14680
146812016-07-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
14682
14683	[src/sub1sp.c] faster code for 2 limbs. Results with mbench
14684	(numactl --physcpubind=0 ./mfv5 -p113 mpfr_sub):
14685
14686	3.1.5-dev:
14687	 mpfr_sub:          36 /    65.33 /    81
14688
14689	4.0-dev:
14690	 mpfr_sub:          24 /    33.00 /    36
14691
146922016-07-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
14693
14694	[tests/tmul.c] fixed wrong test
14695
146962016-07-28  Vincent Lef��vre  <vincent@vinc17.net>
14697
14698	[tests/reuse.c] Perform each reuse test on 1 to 5 limbs, with a random
14699	number of trailing bits. This allows one to test code specific to 1 or
14700	2 limbs.
14701
147022016-07-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
14703
14704	[src/add1sp.c] fixed issues found with --enable-assert=full
14705
147062016-07-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
14707
14708	[src/add1sp.c] new code to deal with p in [GMP_NUMB_BITS+1,2*GMP_NUMB_BITS-1]
14709
147102016-07-27  Vincent Lef��vre  <vincent@vinc17.net>
14711
14712	[src/round_prec.c] Various minor improvements:
14713	  * Added a MPFR_ASSERTN since mpfr_can_round is a function in the API.
14714	  * Changed error variables to be more consistent with the context.
14715	  * Removed unnecessary code (casts...) about the error: it came from
14716	    round.c r1574, where types were different at that time.
14717	  * Made err2 (the old err) local to a small block to make sure that it
14718	    will not be used by mistake instead of err in future changes.
14719	  * Made equivalent expressions appear under the same form:
14720	      (rnd1 == rnd2 || rnd2 == MPFR_RNDN) && err - 2 >= prec
14721
14722	[src/round_prec.c] Changed precision variables to be like SSA.
14723
14724	[src/round_prec.c] Simplified code, making it more similar to code
14725	that has just been fixed.
14726
14727	[src/round_prec.c] Removed useless parentheses.
14728
14729	[src/round_prec.c] Added an assertion for "default:".
14730
14731	[tests/tcan_round.c] In test_simple, output p (which is variable),
14732	not prec (which is always 4).
14733
147342016-07-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
14735
14736	[src/round_prec.c] fixed bug in mpfr_can_round for 2^e when rnd1=rnd2
14737			   and err > prec + 1 (was returning 0 instead of 1)
14738
147392016-07-27  Vincent Lef��vre  <vincent@vinc17.net>
14740
14741	[tests/tcan_round.c] Added a simple test that fails as a consequence of
14742	r9883 (this could be observed on tzeta before r10678 in tgeneric.c).
14743
14744	[tests/tgeneric.c] Improvement: When the result is exact, it can always
14745	be rounded (while mpfr_can_round can fail).
14746
14747	[TODO] Updated item about tzeta.
14748
147492016-07-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
14750
14751	[INSTALL] update (feedback from Bill Hart)
14752
147532016-07-26  Vincent Lef��vre  <vincent@vinc17.net>
14754
14755	[src/sqrt.c] Replaced mp_ptr by mpfr_limb_ptr (as usual).
14756
147572016-07-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
14758
14759	[mbench/mfv5-mpfr.cc] patch to allow using it with older versions of MPFR (say branch 3.1)
14760
14761	[src/sqrt.c] fixed mpn_sqrtrem2 for 32-bit limb
14762
147632016-07-26  Vincent Lef��vre  <vincent@vinc17.net>
14764
14765	[tests/tzeta.c] Added a FIXME so that r10667 can be reverted.
14766
14767	[TODO] Updated item about tzeta.
14768
14769	[TODO] Added item about the fix of mpfr_can_round in r9883 and tzeta.
14770
14771	New MPFR_GENERIC_ABI macro to test the generic code, not tied to a
14772	particular ABI (e.g. GMP_NUMB_BITS value), so that such code has a
14773	chance to be tested on current machines.
14774	  * doc/README.dev: added brief documentation.
14775	  * src/sqrt.c: enable mpfr_sqrt1 (optimization for one-limb precisions,
14776	    currently when GMP_NUMB_BITS is 32 or 64) only when MPFR_GENERIC_ABI
14777	    is not defined.
14778
14779	[src/sqrt.c]
14780	  * Changed mp_ptr to mpfr_limb_ptr.
14781	  * Untabified and removed trailing spaces.
14782
147832016-07-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
14784
14785	[tests/tzeta.c] reduced test time
14786
14787	[src/sqrt.c] adapted mpn_sqrtrem1 for GMP_NUMB_BITS=32
14788
147892016-07-25  Vincent Lef��vre  <vincent@vinc17.net>
14790
14791	[INSTALL] Corrected hint for mingw (use --build instead of --host).
14792
147932016-07-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
14794
14795	[INSTALL] added hint for mingw
14796
147972016-07-25  Vincent Lef��vre  <vincent@vinc17.net>
14798
14799	Merged the latest changes from the trunk.
14800
148012016-07-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
14802
14803	[src/sqrt.c] fixed temporary patch for 32-bit computers
14804
148052016-07-25  Vincent Lef��vre  <vincent@vinc17.net>
14806
14807	[src/sqrt.c] Typo in comment.
14808
14809	[src/sqrt.c] Updated FIXME's. This is still incorrect with 32-bit limbs.
14810
148112016-07-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
14812
14813	[src/sqrt.c] temporary fix for 32-bit limbs
14814
148152016-07-22  Vincent Lef��vre  <vincent@vinc17.net>
14816
14817	Merged r10657 from the trunk, resolving the conflict (same code as
14818	in the trunk, except RND_RAND changed to RND_RAND_NO_RNDF).
14819
14820	[tests/tadd.c] Improved coding style and messages (do not mix up
14821	"inexact flag" and "ternary value"!).
14822
14823	[tests] Define the RND_RAND_NO_RNDF and RND_LOOP_NO_RNDF macros, similar
14824	to RND_RAND and RND_LOOP respectively but excluding MPFR_RNDF, to be
14825	used for tests that don't make sense in the faithful rounding mode.
14826	Replaced code to use these macros, fixing the remaining failures.
14827
14828	Merged r10599 through r10628 from the trunk, resolving the conflict
14829	in tests/tmul.c (i.e. keep code from both the branch and the trunk,
14830	corresponding to two independent tests). Some of the later changes
14831	in the trunk (src/sqrt.c) are broken with a 32-bit ABI, so let's not
14832	merge them for now.
14833
14834	Merged r10598 from the trunk, resolving the conflict (this consists
14835	in changing MPFR_PREC to MPFR_GET_PREC).
14836
14837	Merged r10573 through r10597 from the trunk (no conflicts).
14838
14839	Merged r10572 from the trunk, resolving the conflict.
14840
14841	Merged r10571 from the trunk, resolving the conflict.
14842
14843	Merged r10566 through r10570 from the trunk, resolving the conflict.
14844
14845	Merged r10556 through r10564 from the trunk (no conflicts).
14846
14847	Merged r10555 from the trunk, resolving the conflict.
14848
14849	Merged r10529 through r10554 from the trunk (no conflicts).
14850
14851	Merged r10528 from the trunk, resolving the conflict.
14852
14853	Merged r10520 through r10527 from the trunk (no conflicts).
14854
14855	[src/add1sp.c] The reverse-merge done in r10633 was incorrect. Fixed.
14856
14857	[src/add1sp.c] Also reverse-merged r10522 (together with related
14858	whitespace change from r10514), which had nothing to do with the
14859	faithful rounding. Improvements for 1 limb will be obtained when
14860	merging the trunk into the faithful branch.
14861
14862	[src/sqrt.c] Added another FIXME comment for 32-bit machines.
14863
14864	[src/sqrt.c] Added other FIXME comments for 32-bit machines.
14865
148662016-07-20  Vincent Lef��vre  <vincent@vinc17.net>
14867
14868	[src/sqrt.c] Added FIXME comments for 32-bit machines.
14869
14870	[src/sqrt.c] C90 compatibility.
14871
14872	[src/sqrt.c] Fixed minor (mainly style) issues found by mpfrlint.
14873
14874	[tools/mpfrlint]
14875	  * Added --msg option to err-if-output function to optionally output
14876	    a message explaining what to do in case of error.
14877	  * Added this option to 3 err-if-output calls (errors with src/sqrt.c
14878	    r10636).
14879
148802016-07-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
14881
14882	[src/sqrt.c] new speedup for 1/2 and 1 limb
14883
148842016-07-20  Vincent Lef��vre  <vincent@vinc17.net>
14885
14886	[doc/mpfr.texi] Improved a sentence.
14887
148882016-07-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
14889
14890	[faithful] reverse-merge r10524 (had nothing to do with the faithful branch)
14891
14892	[faithful] reverse-merge parts of r10514 independent of the faithful branch
14893
148942016-07-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
14895
14896	[NEWS] mention speedup in mpfr_sqrt
14897
14898	[src/sqrt.c] faster code for small precision (on tomate.loria.fr, 45 cycles
14899	for prec=24 instead of 161 before, and 108 cycles for prec=53 instead of
14900	165 with 3.1.4)
14901
149022016-07-19  Vincent Lef��vre  <vincent@vinc17.net>
14903
14904	[tools/mbench] Replaced r10505 by r10565 merged from the trunk.
14905
14906	[doc/mpfr.texi] Improvements in the MPFR_RNDF (faithful rounding) spec.
14907	Added some notes concerning the reproducibility.
14908
149092016-07-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
14910
14911	[src/div.c] removed duplicate prototype (cf revision 10625)
14912
14913	[src/div.c] yet another speedup
14914
14915	[src/div.c] small improvement
14916
149172016-07-18  Vincent Lef��vre  <vincent@vinc17.net>
14918
14919	[src/mpfr-gmp.h] Declare __gmpn_invert_limb if used (in order to avoid
14920	an error with g++ for the tests).
14921
149222016-07-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
14923
14924	[src/div.c] removed wrong assertions (and added comments to explain why)
14925
149262016-07-15  Vincent Lef��vre  <vincent@vinc17.net>
14927
14928	[src/div.c] Added a FIXME (assertion failure).
14929
14930	[src/div.c] Untabified.
14931
14932	[tools/mpfrlint] Update concerning GMP internals.
14933
149342016-07-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
14935
14936	[src/sub1sp.c] implement use of __gmpn_rsblsh_n (disabled for now)
14937
14938	[src/div.c] only use __gmpn_invert_limb with --enable-gmp-internals
14939
149402016-07-14  Vincent Lef��vre  <vincent@vinc17.net>
14941
14942	[src/mpfr-impl.h] Require <float.h> to be included in order to be
14943	  able to use the "long double macros and typedef" part. Moved the
14944	  IEEE_FLOAT128_MANT_DIG macro definition out of this part.
14945	[tests/tcmp_ld.c] Added missing #include <float.h>.
14946
14947	[src/div.c] Added a FIXME as __gmpn_invert_limb is a GMP internal.
14948
149492016-07-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
14950
14951	[src/div.c] speedup for precision < GMP_NUMB_BITS/2 (by almost a factor 2)
14952
14953	[src/mul.c] added comment
14954
14955	[src/div.c] new faster code for 1 limb
14956
14957	[src/cmp_ld.c] include float.h so that MPFR_LDBL_MANT_DIG is correctly defined
14958	[src/get_ld.c,src/set_ld.c] added comment
14959
149602016-07-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
14961
14962	[src/div.c] removed obsolete comment since we no longer use __udiv_qrnnd_ld
14963
14964	[src/div.c] changed __udiv_qrnnd_ld into __udiv_qrnnd_preinv (no dependency
14965		    any more on long double)
14966
149672016-07-09  Vincent Lef��vre  <vincent@vinc17.net>
14968
14969	[src/div.c] Do not use __udiv_qrnnd_ld for MPFR_LDBL_MANT_DIG > 64.
14970	Added a comment about __udiv_qrnnd_ld.
14971
14972	[src/mpfr-longlong.h] Typo.
14973
14974	[src/mpfr-longlong.h] C89 compatibility.
14975
149762016-07-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
14977
14978	[src/div.c] speedup using __udiv_qrnnd_ld
14979
14980	[src/mpfr-longlong.h] contributed __udiv_qrnnd_ld variant
14981
14982	[src/div.c] new special code for 1 limb
14983	[src/mul.c] fixed corner case near underflow
14984
14985	[src/mul.c] fixed detection of rounding away
14986
14987	[src/mul.c] fixed underflow *after* rounding
14988	[tests/tmul.c] fixed a test
14989
14990	[tests/tmul.c] added underflow test for directed rounding too
14991
14992	[tests/tmul.c] added test for underflow after rounding (reveals bug in mul.c)
14993
149942016-07-08  Vincent Lef��vre  <vincent@vinc17.net>
14995
14996	[src/sub1sp.c] Clarified comment (it's better not to mention underflow
14997	before rounding because it is not considered at all in MPFR).
14998
149992016-07-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
15000
15001	[src/sub1sp.c] added comment about underflow before/after rounding
15002
15003	[src/mul.c] changed MPFR_PREC into MPFR_GET_PREC
15004
150052016-07-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
15006
15007	[src/mul.c] removed a call to MPFR_LIKELY which is unlikely...
15008
150092016-07-07  Vincent Lef��vre  <vincent@vinc17.net>
15010
15011	[NEWS] i.e. ��� e.g.
15012
15013	[src/mul.c] Replaced mp_ptr by mpfr_limb_ptr (as usual).
15014
15015	[tests/tadd1sp.c] Added tests with EXP(b) < EXP(c), as there are
15016	  no such restrictions on the exponents for mpfr_add1sp.
15017	[src/add1sp.c] Fixed mpfr_add1sp when b and c have different signs
15018	  and EXP(b) < EXP(c).
15019
150202016-07-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
15021
15022	[NEWS] speedup in mpfr_mul for one limb (minus 1 bit)
15023
150242016-07-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
15025
15026	[src/mul.c] speed-up of mpfr_mul for 1 limb (1 limb - 1 bit for the result).
15027		    Results of mbench for 53 bits on Intel i5-4590:
15028
15029	before:
15030	 mpfr_mul:          33 /    37.12 /    42
15031	after:
15032	 mpfr_mul:          18 /    20.63 /    24
15033
150342016-07-07  Vincent Lef��vre  <vincent@vinc17.net>
15035
15036	[src/add1.c] Corrected a comment as in practice, b and c do not
15037	necessarily have the same sign (when called by mpfr_sub).
15038
150392016-07-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
15040
15041	[src/sub1sp.c] added assertions
15042
150432016-07-06  Vincent Lef��vre  <vincent@vinc17.net>
15044
15045	[tests/tadd.c] C++ compatibility.
15046
15047	[tests/tadd1sp.c] Do not use != 0 on predicate function.
15048
150492016-07-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
15050
15051	[src/sub1sp.c] removed special code for n = 1, now that we have a special
15052		       function mpfr_sub1sp1
15053
15054	[tests/tadd.c] revert mpfr_add to test_add
15055
15056	[src/add1sp.c] fixed two bugs in mpfr_add1sp1
15057
15058	[tests/tadd1sp.c] added one hard-coded test
15059
15060	[tests/tadd.c] last commit was wrong
15061
15062	improved check_overflow()
15063
150642016-07-06  Vincent Lef��vre  <vincent@vinc17.net>
15065
15066	[src/urandom.c] Fixed uninitialized emin for nbits == 1
15067	(thanks GCC's -Werror=maybe-uninitialized).
15068
150692016-07-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
15070
15071	[src/urandom.c] should now be ok for nbits = 1
15072
150732016-07-06  Vincent Lef��vre  <vincent@vinc17.net>
15074
15075	[TODO] Change most mpfr_urandomb to mpfr_urandom in the tests?
15076
15077	[tests/turandom.c] Improved an error message.
15078
15079	[tests/turandom.c] Corrected English usage in error message.
15080
15081	[tests/turandom.c] Small precision check: replaced 2 by MPFR_PREC_MIN.
15082
150832016-07-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
15084
15085	[src/urandom.c] fixed urandom for a precision of 1 bit
15086
150872016-07-06  Vincent Lef��vre  <vincent@vinc17.net>
15088
15089	[doc/README.dev] About random tests: avoid mpfr_urandomb!!!
15090
15091	[tests/tadd1sp.c] Use mpfr_urandom instead of mpfr_urandomb.
15092	This triggers an assertion failure in urandomb.c.
15093
15094	[tests/tadd1sp.c] Reordered variables. Removed a redundant test.
15095
15096	[tests/tadd1sp.c] In check_random, check the flags too.
15097
15098	[tests/tadd1sp.c] Test negative numbers too.
15099
15100	Removed trailing spaces.
15101
151022016-07-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
15103
15104	added comment
15105
15106	[src/add1sp.c] removed special cases for n=1 in mpfr_add1sp, now that we have
15107		       a special routine mpfr_add1sp1
15108
15109	[mbench/mfv5.cc] added RNDA and fixed typo
15110
151112016-07-06  Vincent Lef��vre  <vincent@vinc17.net>
15112
15113	The rounding mode can now be passed in argument with the -r option
15114	(patch by Patrick P��lissier).
15115
15116	Removed MPFR_HOT_FUNCTION_ATTR for mpfr_add1sp1 and mpfr_sub1sp1.
15117
151182016-07-05  Vincent Lef��vre  <vincent@vinc17.net>
15119
15120	[tests/tadd.c] Added FIXME comment: there are many tests, but the
15121	ternary value and the flags are not tested!
15122
15123	Functions mpfr_add1sp1 and mpfr_sub1sp1 are called only from the files
15124	where they are defined, thus can be static.
15125
15126	[src/add1sp.c] Removed unused variable.
15127
151282016-07-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
15129
15130	[src/add1sp.c] new special code for 1 limb. In 3.1.4 we add with mfv5:
15131
15132	 mpfr_add:          30 /    49.30 /    90
15133
15134	now we have:
15135
15136	 mpfr_add:          24 /    28.18 /    30
15137
151382016-07-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
15139
15140	[src/sub1sp.c] added comment
15141
151422016-07-05  Vincent Lef��vre  <vincent@vinc17.net>
15143
15144	[src/sub1sp.c] Another improvement (suggested by Paul).
15145
15146	[src/sub1sp.c] Improved readability. With Debian's gcc-snapshot, this
15147	is equivalent, and with tcc, the generated code is shorter.
15148
15149	[src/sub1sp.c] No longer depend on the representation of 0.
15150
15151	[src/sub1sp.c] Various improvements in the coding style: readability,
15152	consistency, GNU coding style.
15153
151542016-07-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
15155
15156	[README.dev] added documentation about mpfr-gfx
15157
15158	[mbench/mpfr-gfx.c] change of syntax of gnuplot
15159
15160	[src/sub1sp.c] removed dead code, and improved coverage to 100%
15161
151622016-07-05  Vincent Lef��vre  <vincent@vinc17.net>
15163
15164	[src/sub1sp.c] Removed incorrect MPFR_SET_EXP (the value was incorrect
15165	and the real MPFR_SET_EXP is done later, after underflow checking).
15166
15167	[tests/tsub1sp.c] Added missing printf arguments.
15168
151692016-07-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
15170
15171	[src/sub1sp.c] fixed some FIXMEs
15172
151732016-07-04  Vincent Lef��vre  <vincent@vinc17.net>
15174
15175	[src/sub1sp.c] Added a FIXME.
15176
15177	[src/sub1sp.c] Avoid a -Wmaybe-uninitialized warning from GCC
15178	by declaring a variable as initialized (the code is correct,
15179	GCC isn't just smart enough).
15180
15181	Removed trailing spaces.
15182
15183	Added tools/ck-clz_tab sh script to check the __clz_tab sizes
15184	(to detect issues like the one fixed in r10542). Run this script
15185	in dist-hook (Makefile.am) and in mpfrlint.
15186
151872016-07-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
15188
15189	resolved a FIXME
15190
15191	fixed bug reported by <sisyphus1@optusnet.com.au>
15192
151932016-07-04  Vincent Lef��vre  <vincent@vinc17.net>
15194
15195	[src/exceptions.c] Added a comment for mpfr_underflow: historical reason
15196	for the choice of the behavior with MPFR_RNDN.
15197
151982016-07-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
15199
15200	code simplification (suggested by Vincent)
15201
15202	speedup of mpfr_sub for same precision < GMP_NUMB_BITS
15203
152042016-07-01  Vincent Lef��vre  <vincent@vinc17.net>
15205
15206	[src/add1sp.c] Corrected indentation.
15207
15208	[src/sub1sp.c] Added comments.
15209
15210	[src/add1sp.c] Added comments.
15211
152122016-06-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
15213
15214	optimize mpfr_add (and mpfr_sub, not yet finished) for 1 limb
15215
152162016-06-29  Vincent Lef��vre  <vincent@vinc17.net>
15217
15218	Renamed macro MPFR_EXP_LESS_P to MPFR_UBF_EXP_LESS_P.
15219
15220	[src/add1sp.c] Fixed bug introduced in r10530 when MPFR_WANT_ASSERT >= 2
15221	(--enable-assert=full).
15222
15223	[src/add1.c] Re-added the MPFR_ASSERTD. The culprit seems to be r10530.
15224
15225	[src/add1.c] Reverted r10529, which now fails. That's strange.
15226
152272016-06-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
15228
15229	mpfr_add1sp does not assume any more EXP(b) >= EXP(c)
15230
152312016-06-29  Vincent Lef��vre  <vincent@vinc17.net>
15232
15233	[src/add1.c] Added a MPFR_ASSERTD.
15234
152352016-06-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
15236
15237	still faster code for 1 limb
15238
15239	merged r10522 from faithful branch + other special-code for 1 limb:
15240	the worst case for mpfr_add in 53 limbs decreases from 70 to 60 cycles
15241
15242	removed leftover debug statement
15243
15244	added comment that EXP(b) >= EXP(c)
15245
15246	mpfr_add1sp no longer assumes EXP(b) >= EXP(c): gives small speedup
15247
152482016-06-27  Vincent Lef��vre  <vincent@vinc17.net>
15249
15250	[doc/sum.txt] Changed "hole" to "gap".
15251
152522016-06-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
15253
15254	added special code for 1 limb
15255
152562016-06-25  Vincent Lef��vre  <vincent@vinc17.net>
15257
15258	C++ compatibility.
15259
15260	Merged the latest changes from the trunk.
15261
15262	[autogen.sh] Treat autoreconf warnings as errors.
15263
152642016-06-24  Vincent Lef��vre  <vincent@vinc17.net>
15265
15266	[src/vasprintf.c] Some improvements. In particular, avoid two successive
15267	calls to mpfr_cmpabs on the same arguments (the compiler doesn't know
15268	that it could optimize, as the function is not pure).
15269
15270	[src/vasprintf.c] Fixed an assertion failure.
15271
152722016-06-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
15273
15274	fixed reuse with --enable-assert
15275
15276	small speedup of mpfr_add for RNDF
15277
152782016-06-24  Vincent Lef��vre  <vincent@vinc17.net>
15279
15280	[tests/tsum.c] Correction: r10484 didn't take the latest version from
15281	the trunk in the conflict resolution.
15282
15283	[src/sum.c] A more efficient way to support faithful rounding, avoiding
15284	the TMD completely and an assertion failure at the same time.
15285
15286	Avoid failures in mpfr_mul for MPFR_RNDF with MPFR_WANT_ASSERT >= 2
15287	(--enable-assert=full) by disabling the comparison with the old
15288	implementation, which doesn't make sense for faithful rounding.
15289
152902016-06-24  Vincent Lef��vre  <vincent@vinc17.net>
15291
15292	Avoid failures in mpfr_add1sp / mpfr_sub1sp for MPFR_RNDF with
15293	MPFR_WANT_ASSERT >= 2 (--enable-assert=full) by disabling the
15294	comparison with mpfr_add1 / mpfr_sub1, which doesn't make sense
15295	for faithful rounding.
15296
15297	[Added during the Subversion to Git conversion]
15298	This commit includes a merge of r10509 from the trunk.
15299
153002016-06-24  Vincent Lef��vre  <vincent@vinc17.net>
15301
15302	Cosmetic change (whitespace).
15303
15304	Merged the latest changes from the trunk.
15305
15306	Removed trailing spaces.
15307
15308	[src/add1sp.c] For MPFR_WANT_ASSERT >= 2 (--enable-assert=full), test
15309	  the flags too and replaced "mpfr_cmp" by "! mpfr_equal_p".
15310	[src/sub1sp.c] Make it similar to add1sp.c for MPFR_WANT_ASSERT >= 2.
15311
153122016-06-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
15313
15314	use macro for the rounding mode used in the tests
15315
153162016-06-24  Vincent Lef��vre  <vincent@vinc17.net>
15317
15318	[doc/mpfr.texi] Updated the month.
15319
15320	[src/sum.c] Made the code a bit more natural: change of pos to neg
15321	(an indirect consequence of the support of reused arguments). Some
15322	other minor related changes.
15323
153242016-06-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
15325
15326	added more tests for RNDF
15327
153282016-06-24  Vincent Lef��vre  <vincent@vinc17.net>
15329
15330	The support of reused arguments in mpfr_sum is now complete, without
15331	any visible regressions in the timings (which are unfortunately too
15332	inaccurate to see anything).
15333	  * doc/mpfr.texi: removed sentences about the previous limitation.
15334	  * src/sum.c: removed the corresponding FIXME/TODO comment.
15335
15336	[tests/tsum.c] Test the support of reused arguments.
15337
153382016-06-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
15339
15340	disable mpfr_all_div() for RNDF
15341
15342	replaced mpfr_cmp by !mpfr_equal_p
15343
15344	added exhaustive tests for add,sub,mul,div,sqrt
15345
15346	fixed corner case with RNDF
15347
153482016-06-23  Vincent Lef��vre  <vincent@vinc17.net>
15349
15350	[src/mpfr-impl.h] Added a comment for MPFR_RNDRAW_GEN about the use
15351	of the exponent field of the destination.
15352
15353	[src/add1sp.c] For MPFR_RNDF, set inexact = 0 (like what is done in
15354	sub1.c) instead of 1, though this doesn't really matter.
15355
15356	[src/sub1.c] Fix: the conflict resolution done in r10484 was incorrect.
15357
15358	[src/add1sp.c] Avoid the use of uninitialized values with MPFR_RNDF.
15359
153602016-06-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
15361
15362	fix for RNDF
15363
153642016-06-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
15365
15366	merged changed from trunk with
15367
15368	  svn merge '^/trunk'
15369
15370	(resolved conflict for sub1.c; copied tests/tsum.c from trunk and
15371	re-incorporated changes from faithful branch)
15372
153732016-06-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
15374
15375	src/li2.c: better like this
15376
15377	src/li2.c: revision 10379 was ok
15378
15379	fixed mpfr_all_div() for RNDF
15380
153812016-06-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
15382
15383	more work on branch faithful
15384
153852016-06-17  Vincent Lef��vre  <vincent@vinc17.net>
15386
15387	[src/mpfr.h] Coding style: added spaces.
15388
15389	[TODO] Suggest the use the keyword "static" in array indices of
15390	parameter declarations with C99 compilers (6.7.5.3p7) when the
15391	pointer is expected not to be null.
15392
153932016-06-15  Vincent Lef��vre  <vincent@vinc17.net>
15394
15395	[doc/README.dev] Update (GCC trunk ��� GCC 5).
15396
153972016-06-13  Vincent Lef��vre  <vincent@vinc17.net>
15398
15399	[src/sum.c] Copy the significand to the destination after resolving
15400	the TMD in order to support reused arguments.
15401
15402	[src/sum.c] Improved a comment.
15403
154042016-06-10  Vincent Lef��vre  <vincent@vinc17.net>
15405
15406	[src/sum.c] Corrected a MPFR_LOG_MSG modified in the latest change.
15407
15408	[src/sum.c] For the future support of reused arguments: TMD resolution
15409	is now done in a specific TMD accumulator, allocated at the same time
15410	as the main accumulator. This TMD accumulator currently just takes at
15411	most 2 limbs in practice, so that's not a problem.
15412	[doc/sum.txt] Added TODO for things that will change.
15413
154142016-06-09  Vincent Lef��vre  <vincent@vinc17.net>
15415
15416	[src/mpfr-impl.h] Define mpfr_ueexp_t (needed for r10462).
15417
15418	[tests/tversion.c] Do not use "%zu" with printf (added in r10460).
15419
15420	[doc/README.dev] Document environment variables that affect the tests.
15421
15422	Other changes concerning the memory limit for the tests.
15423	  * Export the tests_memory_limit variable so that it can be accessed in
15424	    test programs (e.g. read by tversion as mentioned below, or modified
15425	    by a test program when executed with particular arguments).
15426	  * In tversion, print a warning when the memory limit has been modified
15427	    (with the MPFR_TESTS_MEMORY_LIMIT environment variable).
15428
15429	[tests/memory.c] The MPFR_TESTS_MEMORY_LIMIT environment variable can
15430	now contain an integer specifying the memory limit for the tests, or 0
15431	for unlimited, the default still being 2^22 = 4 MB.
15432
154332016-06-08  Vincent Lef��vre  <vincent@vinc17.net>
15434
15435	[tests/tsum.c] Improved check3:
15436	  * Also do the tests with output precision MPFR_PREC_MIN;
15437	    this completes the value coverage for tsum.
15438	  * Also compare the flags.
15439
15440	Value coverage for tsum: After r9984 to differentiate sq > MPFR_PREC_MIN
15441	and sq == MPFR_PREC_MIN, 42 tests were not done for sq == MPFR_PREC_MIN
15442	on a 64-bit machine. In the check4 test, changed a 2 to MPFR_PREC_MIN.
15443	This reduces to 12 tests that are not done.
15444
154452016-06-07  Vincent Lef��vre  <vincent@vinc17.net>
15446
15447	Merged the "ubf" branch into the trunk:
15448	  * limited implementation of "unbounded floats" (numbers with a mpz_t
15449	    exponent), which could be completed in the future, in particular to
15450	    handle intermediate overflows/underflows in polynomial evaluation;
15451	  * rewrote mpfr_fmma and mpfr_fmms to use them, and added tests;
15452	  * restored the MPFR 3.1- exponent range for compatibility;
15453	  * restored some tests that were based on this exponent range.
15454	The choice for the UBF implementation was to use a compatible structure:
15455	the same as the mpfr_t one, with an additional field at the end, used
15456	only when the exponent field _mpfr_exp has some special value. Thus some
15457	functions such as addition and subtraction just needed minor changes to
15458	support UBF, and no code was duplicated. This means that on MPFR numbers
15459	(the usual case), one has a few more tests than before, but with known
15460	branch probabilities. In practice, this should not be visible, at least
15461	in most applications. This was more or less confirmed by timings (even
15462	with many additions/subtractions in low precision, this was difficult
15463	to say, as timings were influenced by various parameters that we cannot
15464	control).
15465
15466	Merged the latest change from the trunk (r10452).
15467
15468	[tools/mbench/Makefile] Added multiarch support for GMP.
15469
15470	[src/mpfr-impl.h] Updated a comment (removing a FIXME).
15471
15472	Merged the latest change from the trunk (r10449).
15473
15474	[tests/tprintf.c] Removed tests of native %'g and %'f (from r8292)
15475	as the ' flag is an extension from Single UNIX Specification and
15476	in particular, they fail with MinGW under Wine.
15477
15478	Merged the latest changes from the trunk.
15479
15480	[tests/tlgamma.c] Typo in comment.
15481
15482	[src/uceil_log2.c] Added a comment. Cosmetic changes.
15483
15484	[tests/tlgamma.c] Corrected updated comment from r10444.
15485
154862016-06-06  Vincent Lef��vre  <vincent@vinc17.net>
15487
15488	[tests/tlgamma.c] Updated comment of the test added in r10442.
15489
15490	[src/uceil_log2.c] Correction in __gmpfr_ceil_log2, avoiding an
15491	incorrect result with tcc: x.s.exp is declared as an unsigned
15492	bit-field, so that tcc considers that x.s.exp - 1023 is unsigned.
15493	However, since all the values of x.s.exp are representable in an
15494	int, according to the integer promotion rules, x.s.exp should be
15495	converted to an int, so that the subtraction is signed. So, this
15496	appears to be a bug in tcc.
15497
15498	[tests/tlgamma.c] Added a test causing a "too much memory" error with
15499	tcc 0.9.27~git20151227.933c223-1 (there's already one in special(),
15500	but this one is a simpler, standalone test).
15501
15502	Merged the latest change from the trunk (r10440).
15503
15504	[acinclude.m4] When checking if __float128 is available, we now also
15505	check whether C99 constants (in particular the __float128 ones, such
15506	as 0x1.fp+16383q) are supported since this is now required with the
15507	__float128 support.
15508
15509	Merged the latest changes from the trunk.
15510
15511	[src/add1.c] Improved a comment about faithful rounding.
15512
15513	[src/add1.c] The code for faithful rounding (MPFR_RNDF) was not
15514	avoiding some useless loops needing to know on which side of a
15515	breakpoint the result is. Quick fix.
15516
15517	Merged the latest changes from the trunk.
15518
15519	[src/add1.c] Simplified code: removed fb = 1 since it was already 1
15520	in the "if (fb > 0)" branch.
15521
15522	[src/set_float128.c] Fix: removed the divisions by zero, replacing them
15523	by comparisons with the maximum finite binary128 number. Changes to be
15524	similar to the handling of infinities in "src/set_ld.c".
15525
15526	[TODO] Faithful rounding: small correction.
15527
15528	[TODO] Added "faithful rounding", with information about its definition
15529	and implementation.
15530
155312016-06-03  Vincent Lef��vre  <vincent@vinc17.net>
15532
15533	[src/{fits_intmax.c,fits_s.h}] In comments, fit ��� fits.
15534
15535	[src/set_float128.c] Added FIXME comment: The mpfr_set_float128 code
15536	generates a divide-by-zero exception. Suggest a solution.
15537	Note: this is detected with "-DMPFR_TESTS_DIVBYZERO -DMPFR_ERRDIVZERO".
15538
15539	[tests/tset_float128.c] Take into account failures in division by 0
15540	and absence of signed zeros. Also fixed the code checking the sign
15541	of 0 (mpfr_sgn cannot be used for that since it returns 0 for ��0).
15542
155432016-06-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
15544
15545	RNDF: fixed the fits functions
15546
155472016-06-03  Vincent Lef��vre  <vincent@vinc17.net>
15548
15549	Merged the latest change from the trunk (r10426 fix).
15550
15551	[src/set_d.c] Added some assertions and fixed a 32-bit shift count
15552	when GMP_NUMB_BITS == 32.
15553
15554	Merged the latest changes from the trunk (C++ compatibility).
15555
15556	[tests/tset_float128.c] C++ compatibility.
15557
15558	[tests/tlog.c] Added a cast to mpfr_rnd_t for C++ compatibility.
15559
15560	[tests/tfmma.c] Forgot a cast to mpfr_rnd_t for C++ compatibility.
15561
15562	[src/add1.c] Completed UBF support. Note: due to the restriction
15563	on the exponent values, diff_exp does not need to be the unsigned
15564	integer type mpfr_uexp_t (mpfr_exp_t is sufficient).
15565
15566	[tests/tfmma.c] Correction.
15567
15568	[tests/tfmma.c] Test (1/2)x + (1/2)x = x near underflow.
15569
15570	[tests/tfmma.c] Replaced precision 64 by GMP_NUMB_BITS (to make sure
15571	that the add1sp and sub1sp conditions are satisfied with the current
15572	src code, these tests may rely on the fact that there are no trailing
15573	bits, i.e. that the precision is a multiple of GMP_NUMB_BITS).
15574
155752016-06-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
15576
15577	added reference for Lambert W function
15578
155792016-06-03  Vincent Lef��vre  <vincent@vinc17.net>
15580
15581	[src/{add,sub}.c] Consider UBF numbers as special cases so that
15582	mpfr_sub1sp and mpfr_add1sp, which do not support UBF, are never
15583	called on UBF numbers. This should also (very slightly) speed up
15584	the normal cases.
15585
15586	[src/mpfr-impl.h] UBF support: added MPFR_IS_SINGULAR_OR_UBF and
15587	MPFR_ARE_SINGULAR_OR_UBF macros.
15588
155892016-06-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
15590
15591	declare prec in unsigned long
15592
15593	RNDF: specified the fits functions
15594
15595	RNDF: fixed tfactorial
15596
155972016-06-02  Vincent Lef��vre  <vincent@vinc17.net>
15598
15599	C++ compatibility (corrected).
15600
156012016-06-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
15602
15603	RNDF: fixed texp2
15604
15605	avoid mpfr_printf in tests
15606
15607	C++ compatibility
15608
15609	suggestion from Vincent
15610
15611	RNDF: fixed texp10 and tgeneric
15612
15613	RNDF: fixed mpfr_sum and tsum
15614
15615	RNDF: fixed texp
15616
156172016-06-02  Vincent Lef��vre  <vincent@vinc17.net>
15618
15619	[tests/tfmma.c] Added test cases where the precision of the result
15620	is twice the precision of each input, which can currently involve
15621	add1sp.c and sub1sp.c code.
15622
156232016-06-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
15624
15625	RNDF: partially fixed texp
15626
15627	RNDF: fixed tcot
15628
15629	RNDF: fixed tcos
15630
15631	RNDF: fixed tconst_pi
15632
15633	RNDF: fixed li2 and tconst_log2
15634
156352016-06-02  Vincent Lef��vre  <vincent@vinc17.net>
15636
15637	Merged the latest changes from the trunk.
15638
15639	[src/exceptions.c] Fixed the MPFR_LOG_FUNC in mpfr_underflow and
15640	mpfr_overflow (x is not an input in these functions).
15641
15642	[src/sub1.c] In r10347, logging was introduced instead of #ifdef DEBUG
15643	and printf. Removed 2 MPFR_LOG_VAR, as the variable is not normalized
15644	yet. Re-added #ifdef DEBUG for the MPFR_LOG_MSG's since this may be
15645	too low level and not much useful except in case of bugs.
15646
156472016-06-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
15648
15649	RNDF: fixed issue with Bessel functions for large arguments
15650
156512016-05-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
15652
15653	added description of flags for RNDF
15654
156552016-05-30  Vincent Lef��vre  <vincent@vinc17.net>
15656
15657	[src/sub1.c] Forgot a \n in a log message.
15658
156592016-05-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
15660
15661	fixed typos
15662
156632016-05-30  Vincent Lef��vre  <vincent@vinc17.net>
15664
15665	[src/sub1.c] Completed UBF support.
15666
15667	Merged the latest changes (in particular the fix in sub1.c) from the
15668	trunk.
15669
15670	[tests/tsub.c] Added comments for check_max_almosteven (latest
15671	test case, added in r10383).
15672
156732016-05-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
15674
15675	more work on the faithful branch
15676
156772016-05-29  Vincent Lef��vre  <vincent@vinc17.net>
15678
15679	[src/sub1.c] Fixed bug in mpfr_sub1 (real subtraction a = b - c, with
15680	  |b| > |c|): In MPFR_RNDN (round-to-nearest mode), when
15681	    * |b| is the midpoint between the maximum finite number in the
15682	      precision of a and 2^emax (the maximum finite number + 1 ulp),
15683	      which is possible only if PREC(b) > PREC(a),
15684	    * c is small enough (i.e. no overlap with a and b),
15685	  mpfr_sub1 returns an infinity (with overflow flag set) instead of
15686	  �� the maximum number (no overflow). The cause is that an overflow
15687	  is generated too early, in an intermediate rounding.
15688	[tests/tsub.c] Added test cases.
15689
15690	[tests/tfmma.c] Forgot a \n in printf.
15691
15692	[tests/tfmma.c] Added overflow tests that trigger an assertion failure
15693	in sub1.c (because UBF support is not complete yet).
15694
156952016-05-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
15696
15697	start implementing RNDF (work in progress)
15698
156992016-05-25  Vincent Lef��vre  <vincent@vinc17.net>
15700
15701	[src/log_ui.c] Changes for ISO C90 compatibility.
15702
15703	[src/mpfr-gmp.h] For _MPFR_IEEE_FLOATS, changed bit-field type from
15704	unsigned long, which is implementation-defined, to unsigned int.
15705
15706	[src/log_ui.c] Added an assertion.
15707
15708	[src/mpfr-impl.h] Fixed bug introduced in r10327, giving:
15709	error: ISO C does not allow extra ';' outside of a function [-Wpedantic]
15710
157112016-05-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
15712
15713	improved mpfr_log_ui
15714
15715	added comment
15716
157172016-05-25  Vincent Lef��vre  <vincent@vinc17.net>
15718
15719	[TODO] mpfr_ai efficiency: also mention mpfr.texi (the issue with large
15720	arguments has always been documented).
15721
15722	[TODO] mpfr_ai efficiency: mention tests/tai.c (the REDUCE_EMAX was
15723	added in r6734).
15724
157252016-05-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
15726
15727	added item about efficiency of mpfr_ai for large arguments
15728
157292016-05-25  Vincent Lef��vre  <vincent@vinc17.net>
15730
15731	[doc/README.dev] Also clarified the use of "configure".
15732
15733	[doc/README.dev] Clarified the use of "autogen.sh".
15734
157352016-05-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
15736
15737	use autogen.sh
15738
15739	added libtoolize (needed for AX_PTHREAD)
15740
157412016-05-24  Vincent Lef��vre  <vincent@vinc17.net>
15742
15743	[tests/tlog_ui.c] Improved a test function.
15744
15745	[acinclude.m4] Fixed the use of m4_pattern_forbid: the argument must
15746	be quoted, otherwise the macro is expanded when defined.
15747
157482016-05-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
15749
15750	small improvements to log_ui (still slower than log for large precision)
15751
157522016-05-24  Vincent Lef��vre  <vincent@vinc17.net>
15753
15754	[acinclude.m4] Detect whether the AX_PTHREAD macro is left unexpanded.
15755
157562016-05-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
15757
15758	use rounding to nearest by default in "tconst_log2 prec"
15759
15760	minor changes to allow ./tlog xxx prec
15761
15762	added generic tests for mpfr_log_ui + compare with mpfr_log
15763
157642016-05-24  Vincent Lef��vre  <vincent@vinc17.net>
15765
15766	[src/sub1.c] Started to add UBF support (still incomplete).
15767
15768	Merged the latest changes from the trunk and removed the remaining
15769	_MPFR_PROTO of UBF functions.
15770
15771	Removed _MPFR_PROTO with the following Perl script on the .h files.
15772	  while (<>) { if ($c) { die if /_MPFR_PROTO/; s/^( {$c}) */$1/;
15773	  s/\) *\)/)/ and undef $c } elsif (s/^(.*)(_MPFR_PROTO *\()\(/$1(/)
15774	  { s/\) *\)/)/ or $c = 1 + length $1 } print }
15775
15776	[configure.ac] Re-added AM_PROG_AR in case Microsoft lib.exe is used
15777	(without this, "automake --warnings=all" gives a warning).
15778
15779	[acinclude.m4] Replaced the obsolete ACX_PTHREAD by AX_PTHREAD
15780	(done with "autoupdate acinclude.m4").
15781
15782	[configure.ac] Moved LT_INIT near the top for --enable-lto, and removed
15783	AM_PROG_AR (no longer needed as done by LT_INIT) and AC_PROG_RANLIB
15784	(obsoleted by LT_INIT).
15785
15786	Avoid some warnings with "gcc -Wundef".
15787
15788	[configure.ac] Removed a FIXME fixed in r4482.
15789
15790	[src/mpfr-longlong.h] Update from GMP 6.1.0.
15791
15792	[src/mpfr-cvers.h] Fixed typo in a macro (thanks to Patrick P��lissier).
15793
15794	[src/sub1.c] Various minor improvements:
15795	  * Some changes related to the exponents and diff_exp.
15796	  * Coding style + use of IS_POW2.
15797	  * Use logging instead of #ifdef DEBUG and printf.
15798
157992016-05-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
15800
15801	removed too aggressive MPFR_LIKELY/MPFR_UNLIKELY (see README.dev)
15802
158032016-05-24  Vincent Lef��vre  <vincent@vinc17.net>
15804
15805	Added optional LTO support (from a patch by Patrick P��lissier).
15806
15807	Corrected mpfr_free_cache behavior when WANT_SHARED_CACHE is defined
15808	to make it consistent with the behavior when WANT_SHARED_CACHE is not
15809	defined (patch by Patrick P��lissier).
15810
15811	[src/vasprintf.c] Output the sign of UBF like with infinities.
15812
15813	[tests/tfpif.c] Correction on r10338: use src_fopen instead of fopen
15814	and check fp (just like with FILE_NAME_R).
15815
15816	[tests/tfmma.c] Completed near_overflow_tests (there's still a crash,
15817	this time really in fmma.c).
15818
15819	[tests/tfmma.c] Added near_overflow_tests, which crashes.
15820
158212016-05-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
15822
15823	added new (read-only) test file for mpfr_fpif_import
15824
15825	added tests for mpfr_fpif_import with precision > MPFR_PREC_MAX
15826
158272016-05-24  Vincent Lef��vre  <vincent@vinc17.net>
15828
15829	Merged the latest changes from the trunk.
15830
15831	Updated NEWS about shared caches.
15832
15833	MPFR 3.2(.x) ��� 4.0(.x)
15834
15835	[NEWS] New function mpfr_buildopt_sharedcache_p in MPFR 3.2.
15836	[doc/mpfr.texi] New function mpfr_buildopt_sharedcache_p. Minor changes.
15837
158382016-05-23  Vincent Lef��vre  <vincent@vinc17.net>
15839
15840	[src/mpfr-impl.h] About the MPFR_DECL_INIT_CACHE macro:
15841	  * Added a FIXME comment about a possible warning due to a missing
15842	    field initializer; suggest 2 possible solutions.
15843	  * Improved code readability.
15844
15845	[src/free_cache.c] Avoid duplicated source code for maintainability.
15846
15847	[doc/mpfr.texi] Corrections about caches.
15848
15849	[src/mpfr-thread.h] For #error, use a string literal as a single
15850	preprocessing-token.
15851
15852	[src/mpfr-thread.h] Coding style.
15853
15854	Minor comment & coding style corrections on r10327.
15855
15856	Added shared cache support (from a patch by Patrick P��lissier).
15857
158582016-05-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
15859
15860	added tests for mpfr_fpif in precision 1
15861
158622016-05-23  Vincent Lef��vre  <vincent@vinc17.net>
15863
15864	More UBF support:
15865	  * mpfr-impl.h, ubf.c: added mpfr_ubf_zexp2exp function.
15866	  * add1.c: support the case where b (the first input) is an UBF.
15867
15868	[tests/tfmma.c] Added max_tests.
15869
15870	[src/ubf.c] Memory leak in some case.
15871
15872	Added UBF support for mpfr_cmp2.
15873
15874	ABS(SIZ(x)) ��� ABSIZ(x)
15875
15876	[src/ubf.c] Support reduced exponent range in mpfr_get_zexp.
15877
158782016-05-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
15879
15880	redefine mpfr_init_set_xxx with mpz_t pool, otherwise the pool is not
15881	used for those calls
15882
158832016-05-23  Vincent Lef��vre  <vincent@vinc17.net>
15884
15885	Started to implement unbounded floats (UBF) and added support in some
15886	existing functions.
15887
15888	Also reverse-merge r9960 (due to the previous ones).
15889
15890	Also reverse-merge r9958, r9961 and r9962 (due to the previous ones).
15891
15892	First, reverse-merge r9975 and r9957 (whose only purpose was for fmma,
15893	but changed the exponent range and still had various issues).
15894
158952016-05-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
15896
15897	added comment about MPFR_MY_MPZ_INIT
15898
158992016-05-23  Vincent Lef��vre  <vincent@vinc17.net>
15900
15901	[src/vasprintf.c] Replaced a comment by a MPFR_ASSERTD.
15902
15903	[src/vasprintf.c] Code simplification.
15904
15905	[src/vasprintf.c] Replaced a comment by a MPFR_ASSERTD.
15906
15907	[src/print_raw.c] Changes for mpfr_print_binary / mpfr_dump:
15908	  * Support out-of-range exponents as this function is mainly for
15909	    debugging purpose (TODO: add some warning for such exponents).
15910	    See: https://sympa.inria.fr/sympa/arc/mpfr/2016-01/msg00061.html
15911	  * Support _MPFR_EXP_FORMAT == 4 (format used for testing).
15912
159132016-05-22  Vincent Lef��vre  <vincent@vinc17.net>
15914
15915	[tests/tfmma.c] Corrections and improvements in random_test.
15916
15917	[tests/tfmma.c] Replaced mpfr_cmp by the stronger mpfr_equal_p.
15918
15919	[tests]
15920	  * tadd_ui.c: clean-up (a boolean test doesn't need "!= 0").
15921	  * tsub_ui.c: check that the NaN flag is set on NaN.
15922
15923	[src/mpfr-impl.h] Added IS_SIGNED macro to check whether an integer type
15924	(after integer promotion) is signed; and use it for MPFR_EXP_IN_RANGE.
15925
159262016-05-20  Vincent Lef��vre  <vincent@vinc17.net>
15927
15928	[src/ui_sub.c] Improved code style and assertions, making mpfr_ui_sub
15929	more like mpfr_add_ui and mpfr_sub_ui. Added comments.
15930
15931	Partly rewrote mpfr_add_ui and mpfr_sub_ui (more similar to the
15932	mpfr_ui_sub code), solving the failures.
15933
15934	[tests/tgeneric.c] Check NaN argument, mainly in order to check the NaN
15935	flag when the result is NaN (almost all cases). This makes both tadd_ui
15936	(ignoring the new test done in r10298) and tsub_ui fail.
15937
159382016-05-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
15939
15940	added test case for bug reported by Rob (sisyphus1@optusnet.com.au)
15941
159422016-05-19  Vincent Lef��vre  <vincent@vinc17.net>
15943
15944	[src/fmma.c] Added FIXME comments.
15945
159462016-05-18  Vincent Lef��vre  <vincent@vinc17.net>
15947
15948	Added MPFR_EXP_IN_RANGE macro, and replaced some tests to use it.
15949
15950	[src/fma.c] Minor code simplification.
15951
159522016-05-17  Vincent Lef��vre  <vincent@vinc17.net>
15953
15954	Improved code related to mpfr_set_exp_t:
15955	  * Define MPFR_EXP_LIMB_SIZE macro (size of mpfr_exp_t in limbs)
15956	    and use it.
15957	  * src/pow.c: replaced a mpfr_init2 by MPFR_TMP_INIT1.
15958
159592016-05-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
15960
15961	added comment about printing decimal floats
15962
159632016-05-13  Vincent Lef��vre  <vincent@vinc17.net>
15964
15965	[src/mpfr-impl.h] Minor improvements.
15966
159672016-05-12  Vincent Lef��vre  <vincent@vinc17.net>
15968
15969	[configure.ac] Added a comment about GMP CC/CFLAGS detection.
15970
15971	[configure.ac] Better GMP CC/CFLAGS detection (based on a patch by
15972	Patrick P��lissier).
15973
159742016-05-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
15975
15976	add -P option to cpp when detecting CC/CFLAGS in gmp.h (workaround for gcc-5)
15977
159782016-05-04  Vincent Lef��vre  <vincent@vinc17.net>
15979
15980	[doc/mpfr.texi] Updated the month.
15981
15982	[doc/Makefile.am] Reverted the change done in r10283 as the mpfr.info
15983	  file was always rebuilt.
15984	[Makefile.am] Execute check-typography from dist-hook instead.
15985
15986	[Makefile.am] Add doc/check-typography to the tarball as it is needed
15987	  to rebuild the mpfr.info file if the mpfr.texi file is modified.
15988	[doc/check-typography] Added copyright notice and explanations.
15989
15990	[doc/check-typography] Removed useless parentheses.
15991
15992	Detect typography ambiguities in doc/mpfr.texi ASAP: to avoid errors
15993	due to implicit rules, it is better to explicitly make clear whether
15994	a punctuation mark ends or does not end a sentence.
15995	  * Added doc/check-typography sh script to detect such typography
15996	    ambiguities.
15997	  * doc/Makefile.am: automatically execute this script before mpfr.info
15998	    is rebuilt; fail with explanations in case there are ambiguities.
15999	  * doc/mpfr.texi: avoid typography ambiguities.
16000	  * tools/mpfrlint: replaced the old typography check by a call to the
16001	    check-typography script (which does more checks).
16002
16003	[doc/mpfr.texi] Typographic correction on the latest addition.
16004
16005	[doc/mpfr.texi] The MPFR_ and mpfr_ prefixes are reserved for MPFR.
16006
160072016-04-25  Vincent Lef��vre  <vincent@vinc17.net>
16008
16009	[src/mpfr-impl.h] Clean-up.
16010
160112016-04-21  Vincent Lef��vre  <vincent@vinc17.net>
16012
16013	[configure.ac] Improved the GMP CC/CFLAGS detection: the test for $cpp
16014	was not checking whether gmp.h could actually be included, so that the
16015	code was outputting "yes" even when gmp.h was not installed.
16016
16017	[NEWS] Added: Limited pkg-config support.
16018
16019	Added pkg-config support (patch from Kip Warner + some changes).
16020
160212016-04-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
16022
16023	typo
16024
160252016-04-20  Vincent Lef��vre  <vincent@vinc17.net>
16026
16027	[acinclude.m4] Improved warning message for the "long double" test.
16028
16029	[configure.ac] "double format" test: changed the AC_MSG_ERROR (when
16030	not recognized) to AC_MSG_WARN (like with long double).
16031
16032	[configure.ac] No longer include <stdint.h> in the "double format" test
16033	(it is unnecessary and doesn't exist everywhere).
16034
16035	[acinclude.m4] Typo.
16036
160372016-04-13  Vincent Lef��vre  <vincent@vinc17.net>
16038
16039	[tests/tversion.c] Updated a comment about Cygwin and Unix.
16040
160412016-04-09  Vincent Lef��vre  <vincent@vinc17.net>
16042
16043	[tools/mpfrlint] Fixed bug triggered when the command for err-if-output
16044	has empty arguments (this does not occur yet).
16045
160462016-04-08  Vincent Lef��vre  <vincent@vinc17.net>
16047
16048	[tests/tversion.c] Output the status of the __GMP_LIBGMP_DLL and
16049	MPFR_WIN_THREAD_SAFE_DLL macros (since unreliable consistency checks
16050	have been removed in r10260).
16051
16052	[src/mpfr-impl.h] Removed the detection of possible inconsistencies
16053	under Unix because the tests could yield spurious errors with Cygwin32
16054	or other similar implementations. Moreover, such tests were used for
16055	debugging purpose or to detect potential problems in the environment,
16056	thus were not really useful for the end user. They were initially
16057	added in the win-thread-safe-dll branch (r9682, following a problem
16058	found in r9680). One alternative for checking by the MPFR developers
16059	would be to output the status of some internal macros in tversion.
16060
16061	[tools/mpfrlint] Use err-if-output also for external checkers.
16062
16063	[tools/mpfrlint] Better choice of a variable name.
16064
160652016-04-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
16066
16067	revert changeset 10255
16068
160692016-04-08  Vincent Lef��vre  <vincent@vinc17.net>
16070
16071	[tools/mpfrlint]
16072	  * Switched to zsh.
16073	  * Much more meaningful error messages.
16074	  * Fix: in the mpfr.texi punctuation test, ignore the comments.
16075
160762016-04-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
16077
16078	patch for Cygwin (cf https://trac.sagemath.org/ticket/20380)
16079
160802016-04-08  Vincent Lef��vre  <vincent@vinc17.net>
16081
16082	[doc/mpfr.texi] Updated the month.
16083
160842016-04-07  Vincent Lef��vre  <vincent@vinc17.net>
16085
16086	[doc/mpfr.texi] Document mpfr_dump (which has always been there).
16087	[src/dump.c] Added a comment (with TODO).
16088
16089	Replaced various instances of mpfr_print_binary + newline (sometimes
16090	missing) by mpfr_dump.
16091
16092	[tests] Fixed typo in error messages.
16093
160942016-04-01  Vincent Lef��vre  <vincent@vinc17.net>
16095
16096	[TODO] Mention ISO/IEC JTC 1/SC 22/WG 21 N3060 (C++ special functions).
16097
160982016-03-29  Vincent Lef��vre  <vincent@vinc17.net>
16099
16100	[INSTALL] Removed incorrect note about NetBSD/alpha: The configure
16101	script distributed with the MPFR 3.1.4 tarball does not contain anything
16102	related to the -mieee GCC option; this just seems to be a particular
16103	pkgsrc issue for NetBSD:
16104	  http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/mk/platform/NetBSD.mk?rev=1.48&content-type=text/x-cvsweb-markup
16105	  https://www.google.fr/search?q=pkgsrc+%22mieee%22
16106	where -mieee is added. The -mieee-with-inexact option added in the MPFR
16107	3.1 branch might yield the same error with the buggy GCC versions, but
16108	this is now obsolete in the trunk (the code was removed in r10152).
16109
161102016-03-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
16111
16112	added note about NetBSD/alpha
16113
161142016-03-16  Vincent Lef��vre  <vincent@vinc17.net>
16115
16116	[doc/sum.txt] Added a summary of the timings, copied from:
16117	  ^/misc/sum-timings/results/ReadMe@10244
16118
161192016-03-15  Vincent Lef��vre  <vincent@vinc17.net>
16120
16121	[tests/tsum.c] Updated comment of bug20160315 after fix in 3.1 branch.
16122
16123	[tests/tsum.c] Added bug20160315 (this bug appears when porting sum.c
16124	for MPFR 3.1.4 but does not appear in the trunk).
16125
161262016-03-14  Vincent Lef��vre  <vincent@vinc17.net>
16127
16128	[doc/sum.txt] Some clarification in the TMD case.
16129
16130	[doc/sum.txt] Added a proof that the choice for the size ts of the
16131	temporary area is sufficient.
16132
16133	[doc/sum.txt] Replaced e by �� for the error (e is already used).
16134
16135	[doc/sum.txt] Update about t' in the error analysis.
16136
16137	[doc/sum.txt] More about the notion of exponent in two's complement.
16138
161392016-03-13  Vincent Lef��vre  <vincent@vinc17.net>
16140
16141	[doc/sum.txt] Update about sum_raw (with a correction of a typo).
16142
161432016-03-10  Vincent Lef��vre  <vincent@vinc17.net>
16144
16145	[doc/sum.txt] Rewrote paragraph about limitations.
16146
16147	[src/sum.c] Corrected comment: 32/64-bit machine ��� 32/64-bit ABI.
16148
16149	[src/sum.c] Use UPDATE_MINEXP when necessary; added comments.
16150
16151	[src/sum.c] Added a comment about corner cases involving huge
16152	precisions, which should never occur in practice.
16153
16154	[src/sum.c]
16155	  * Added some MPFR_ASSERTD that correspond to properties used in the
16156	    proof corrected in doc/sum.txt r10221.
16157	  * Added a test for corner cases that will/can probably never occur
16158	    in practice.
16159
16160	[doc/sum.txt] Improved explanations and corrected a proof.
16161
16162	[doc/sum.txt] Added a figure.
16163
16164	[doc/sum.txt] Clarifications.
16165
161662016-03-09  Vincent Lef��vre  <vincent@vinc17.net>
16167
16168	[doc/sum.txt] GMP ��� the current version of GMP (6.1.0).
16169
16170	[doc/sum.txt] Another clarification.
16171
16172	[doc/sum.txt] Clarification about a reiteration in sum_raw with
16173	explanation closer to the code.
16174
16175	[src/sum.c] Clarification of comments about "sum.txt".
16176
16177	[src/sum.c] Added comments and an MPFR_ASSERTD for sum_raw().
16178
16179	[doc/sum.txt] Clarification.
16180
16181	[doc/sum.txt] Update (mainly related to two's complement).
16182
16183	[INSTALL] More information about MinGW and __USE_MINGW_ANSI_STDIO.
16184
161852016-03-08  Vincent Lef��vre  <vincent@vinc17.net>
16186
16187	[doc/sum.txt] Corrected 2 typos found by PZ.
16188
16189	[doc/sum.txt] Added commas.
16190
16191	[doc/sum.txt] Added info about an exact zero result and IEEE 754 / 1788.
16192
16193	[doc/sum.txt] A bit more about the choice of two's complement for the
16194	accumulator.
16195
16196	[doc/sum.txt] Explanation concerning the choice of two's complement for
16197	the accumulator.
16198
161992016-03-04  Vincent Lef��vre  <vincent@vinc17.net>
16200
16201	[doc/README.dev] Update about MinGW and __USE_MINGW_ANSI_STDIO.
16202
16203	[INSTALL] Some improvement about MinGW and __USE_MINGW_ANSI_STDIO.
16204
16205	[TODO] With MinGW, build with -D__USE_MINGW_ANSI_STDIO by default?
16206
162072016-03-03  Vincent Lef��vre  <vincent@vinc17.net>
16208
16209	[configure.ac] Improved --help messages for decimal-float and float128
16210	(a bit like what was done for thread-safe).
16211
162122016-03-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
16213
16214	updated NEWS for decimal floats and __float128
16215
16216	set --enable-float128 to "autodetect" by default (like --enable-decimal-float)
16217
162182016-03-02  Vincent Lef��vre  <vincent@vinc17.net>
16219
16220	[TODO] For testing the lack of subnormal support.
16221
16222	[acinclude.m4] Also fixed the test for subnormal double-precision
16223	numbers, in case an extended precision / exponent range is used
16224	(however the test is not guaranteed with non-conforming compilers).
16225
16226	[acinclude.m4] Fixed test for subnormal single-precision numbers.
16227
162282016-03-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
16229
16230	added a separate configure test for subnormals in the "float" format
16231
162322016-03-02  Vincent Lef��vre  <vincent@vinc17.net>
16233
16234	[acinclude.m4,configure.ac] Various fixes in error messages.
16235
16236	[TODO] Update ICC detection.
16237
162382016-03-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
16239
16240	autodetect support for decimal floats (as suggested in revision 10179)
16241
162422016-03-02  Vincent Lef��vre  <vincent@vinc17.net>
16243
16244	[src/ieee_floats.h] Comment update.
16245
16246	[tests/tversion.c] Another improvement, just in case Clang no longer
16247	defines __GNUC__ in the future.
16248
16249	[tests/tversion.c] Improved output of compiler information.
16250
16251	[src/ieee_floats.h] No longer use a NaN memory representation because
16252	it was fixed thus could be either a qNaN or a sNaN, depending on the
16253	machine. Moreover the choice is to generate a qNaN, in particular due
16254	to lack of sNaN support by compilers.
16255
16256	Do not build with decimal float by default as it is not standard
16257	(a better behavior could be to auto-detect).
16258
16259	Updated comments about DBL_NAN, dbl_nan.d and qNaN / sNaN encoding.
16260
16261	[src/get_flt.c] Updated FIXME comment: idea of a solution...
16262
16263	[src/get_flt.c] FIXME: The code assumes the IEEE-754 binary32 format
16264	with subnormal support.
16265
16266	[tests/tget_flt.c] Do tests that may involve subnormals only
16267	if HAVE_DENORMS is defined.
16268
162692016-03-01  Vincent Lef��vre  <vincent@vinc17.net>
16270
16271	[src/set_*.c] Use the DOUBLE_ISNAN macro for _Decimal64, __float128 and
16272	long double like what is done for double; on platforms where d != d is
16273	not wrongly optimized to false, this should not change anything. Also
16274	added some MPFR_UNLIKELY for special cases of _Decimal64 and __float128,
16275	as this is already done for double and long double.
16276
16277	[tools/mpfrlint] Detect some uses of "x != x" and "x == x".
16278
162792016-03-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
16280
16281	recognize icc (which might define __GNUC__)
16282
162832016-03-01  Vincent Lef��vre  <vincent@vinc17.net>
16284
16285	[src/mpfr-impl.h] Added a comment about non-IEEE-754 environment.
16286
162872016-03-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
16288
16289	HAVE_DOUBLE_IEEE_LITTLE_SWAPPED is not supported
16290
162912016-03-01  Vincent Lef��vre  <vincent@vinc17.net>
16292
16293	[configure.ac] Quote the argument of all AC_MSG_RESULT and AC_MSG_ERROR
16294	when it is longer than a word, as already done in most cases (this is
16295	safer in case we modify the text and add a comma).
16296
16297	[tests/tset_float128.c] Better cast.
16298
162992016-03-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
16300
16301	use DOUBLE_ISNAN() instead of f == f
16302
16303	updated
16304
16305	updated paragraph on AIX/PowerPC
16306
16307	added more details in case of error
16308
16309	harmonize configure message against GMP
16310
16311	updated with mpfr-3.1.4-rc2
16312
16313	fixed detection of "double" format, and removed
16314	HAVE_DOUBLE_IEEE_LITTLE_SWAPPED, since we have no machine to test it
16315
16316	removed leftover debug statement
16317
163182016-03-01  Vincent Lef��vre  <vincent@vinc17.net>
16319
16320	Removed "The IEEE code for double needs GMP internal files." from
16321	doc/README.dev as this is no longer the case since r10150.
16322
163232016-03-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
16324
16325	speedup in mpfr_set_d and mpfr_get_d
16326
16327	improved detection of decimal floats
16328	removed (obsolete?) #define XDEBUG in mpfr-gmp.h
16329
163302016-03-01  Vincent Lef��vre  <vincent@vinc17.net>
16331
16332	[acinclude.m4] Removed old code for Alpha (as suggested by Paul).
16333	It was no longer tested.
16334
16335	[configure.ac] Added a FIXME comment about a possible misuse of
16336	AC_RUN_IFELSE programs that can return several values.
16337
163382016-02-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
16339
16340	get rid of dependency from GMP for _GMP_IEEE_FLOATS and ieee_double_extract
16341	enable decimal float by default
16342
163432016-02-29  Vincent Lef��vre  <vincent@vinc17.net>
16344
16345	[tools/mpfrlint] Also detect the use of ASSERT_ALWAYS (forbidden).
16346
16347	Replaced the remaining ASSERT_ALWAYS by MPFR_ASSERTN.
16348
16349	[NEWS] Removed a useless note (as the ABI has already changed).
16350
16351	[NEWS] Update about MinGW: "Added support for thread-safe DLL" as
16352	this was more than a fix of the test suite with r9684,9778.
16353
16354	[NEWS] Added "MinGW: Avoid failures in the test suite for shared builds
16355	with TLS." (fix in r9891).
16356
16357	[INSTALL] Removed an obsolete sentence about MinGW and shared builds
16358	with TLS (the failures in the test suite were avoided in r9891).
16359
16360	[tests/Makefile.am] Comment update.
16361
163622016-02-25  Vincent Lef��vre  <vincent@vinc17.net>
16363
16364	About "config.h" inclusion: code consistency; removed obsolete comment.
16365
16366	[tests/tversion.c] Output availability of intmax_t/uintmax_t based
16367	functions and *printf functions.
16368
16369	[src/printf.c] Added a blank line for more readability.
16370
16371	[doc/README.dev] Added a note about the "config.h" inclusion.
16372
16373	[tests/tversion.c] Let's group the features together.
16374
16375	[tests/tversion.c] Output support status of modifiers in gmp_printf.
16376
16377	Added mpfr_buildopt_float128_p function.
16378
16379	[doc/mpfr.texi] Removed old comments.
16380
163812016-02-24  Vincent Lef��vre  <vincent@vinc17.net>
16382
16383	[tests/tset_str.c] Correction (with no noticeable effect).
16384
16385	[tools/mpfrlint] For codespell, skip the openout.* files, which are
16386	created by "make pdf".
16387
16388	[src/sum.c] Minor FIXME comment update.
16389
16390	[doc/sum.txt] Updated introduction.
16391
16392	[tools/announce-text] Check the files on the mpfr.org web server.
16393
16394	[tools/announce-text] Added a comment.
16395
16396	[tools/announce-text] Update for release candidates.
16397
16398	[doc/mpfr.texi] Fixed a warning with "make info".
16399
16400	Added tools/ck-news Perl script to check the NEWS file.
16401	In Makefile.am:
16402	  * run this script in dist-hook for "make dist";
16403	  * added this script to EXTRA_DIST as it is used in dist-hook.
16404
16405	[tools/announce-text] Take into account $vers setting.
16406
16407	[tools/announce-text] Replaced MD5 by SHA256.
16408
164092016-02-23  Vincent Lef��vre  <vincent@vinc17.net>
16410
16411	[tools/update-version] Correction for new perl versions.
16412
164132016-02-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
16414
16415	unified description of mpfr_eint
16416
164172016-02-23  Vincent Lef��vre  <vincent@vinc17.net>
16418
16419	[src/{cmp_d.c,cmp_ld.c}] Bug fixes: mpfr_cmp_d (resp. mpfr_cmp_ld) was
16420	setting the NaN flag when the double (resp. long double) was a NaN and
16421	could return an incorrect result (assertion failure in debug mode) in
16422	reduced exponent range.
16423
16424	[tests/{tcmp_d.c,tcmp_ld.c}] Added a test in reduced exponent range.
16425
16426	[tests/{tcmp_d.c,tcmp_ld.c}] Full test of the flags for NaN ��� failure.
16427
16428	[tests/{tcmp_d.c,tcmp_ld.c}] GNU coding style.
16429
16430	[tests/tcmp_d.c] GNU coding style.
16431
16432	[doc/sum.txt] Update about the suggestion to split the inputs for
16433	Demmel's algorithm.
16434
164352016-02-22  Vincent Lef��vre  <vincent@vinc17.net>
16436
16437	[doc/README.dev] Added a reference to the build-multi script.
16438
16439	Removed the tools/build-multi script (already in ^/misc).
16440
16441	Added tools/build-multi zsh script to build and install multiple MPFR
16442	versions, and add XML library descriptors for ABI Compliance Checker.
16443
16444	[tests/tagm.c] Also do the test with a = b in precision 2 (since the
16445	same bug occurs in the 3.1 branch, which doesn't support precision 1).
16446
164472016-02-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
16448
16449	fixed error analysis for gamma_inc continued fraction
16450
164512016-02-19  Vincent Lef��vre  <vincent@vinc17.net>
16452
16453	[tests/tfmod.c] Test that triggers the bug fixed in r10054: run it
16454	also in the extended exponent range in order to make the test fail
16455	when ported to the 3.1 branch.
16456
16457	[tests/tfmod.c] Renamed a variable since it is not always NaN.
16458
16459	[tests/tfmod.c] Added a test that triggers the bug fixed in r10054
16460	without relying on test_generic failure.
16461
164622016-02-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
16463
16464	added references in comment
16465
164662016-02-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
16467
16468	added error analysis for gamma_inc with continued fraction (to be reviewed)
16469
164702016-02-18  Vincent Lef��vre  <vincent@vinc17.net>
16471
16472	[doc/sum.txt,src/sum.c] mpfr_sum: added support for precision 1.
16473
164742016-02-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
16475
16476	more precision about gamma_inc
16477
16478	added reference to series for incomplete gamma function
16479
164802016-02-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
16481
16482	added tests for negative integer a
16483
164842016-02-17  Vincent Lef��vre  <vincent@vinc17.net>
16485
16486	[tests/tfmod.c] Do not use a variable named nan to avoid confusion
16487	with the nan function of C99 (and possible obscure failures in the
16488	future, if we include <math.h>).
16489
164902016-02-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
16491
16492	added reference to gamma_inc(-n,x) for current code
16493
16494	added test to exercise bug fixed in revision 10056
16495
16496	fixed one test
16497
16498	fixed bug in mpfr_agm in case a=b but result cannot be exactly represented
16499	in the target precision: ternary value was wrongly set to 0
16500
165012016-02-17  Vincent Lef��vre  <vincent@vinc17.net>
16502
16503	Removed trailing spaces.
16504
165052016-02-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
16506
16507	reduce the time of tgamma_inc
16508
16509	fixed the number of special tests for 2-argument functions
16510
16511	fixed stupid error in revision 10054
16512
165132016-02-17  Vincent Lef��vre  <vincent@vinc17.net>
16514
16515	[src/mpfr-impl.h] Removed mpfr_sum_sort declaration, as this internal
16516	function had been removed in r9370.
16517
165182016-02-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
16519
16520	avoid computing with huge integers in mpfr_fmod when x/y is very small
16521
165222016-02-17  Vincent Lef��vre  <vincent@vinc17.net>
16523
16524	[doc/sum.txt] Update about the old mpfr_sum implementation.
16525
165262016-02-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
16527
16528	Clarify the status of mpfr_gamma_inc for the MPFR 3.2 release.
16529
165302016-02-17  Vincent Lef��vre  <vincent@vinc17.net>
16531
16532	[tests/tgeneric.c] Fixed a typo in latest commit, and added min/max
16533	and max/min special tests for functions with 2 arguments.
16534	This triggers a failure in tfmod on 64-bit machines at least.
16535
16536	[src/gamma_inc.c] Improved assertions.
16537
165382016-02-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
16539
16540	now mpfr_gamma_inc(a,x) also works for 'a' a negative integer
16541	(however a and x should not be too large, we should implement
16542	Legendre's continued fraction for the general case)
16543
16544	fixed issue in mpfr_eint
16545
165462016-02-17  Vincent Lef��vre  <vincent@vinc17.net>
16547
16548	[src/gamma.c] Added another assertion.
16549
16550	[src/gamma.c] Added assertions and a comment.
16551
16552	[src/gamma.c] Removed useless saved_flags as flags are already saved
16553	by MPFR_SAVE_EXPO_MARK. Removed the comment about about emin/emax as
16554	emin <= 2 <= emax may not be sufficient (or may be suboptimal).
16555	After all, MPFR_SAVE_EXPO_* is the usual thing to do...
16556
165572016-02-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
16558
16559	previous commit was incomplete
16560
16561	fixed bug in mpfr_gamma: flags might be corrupted in case the argument was
16562	an integer fitting in an unsigned long
16563
165642016-02-15  Vincent Lef��vre  <vincent@vinc17.net>
16565
16566	[doc/README.dev] Update about patches.
16567
16568	[tests/troot.c] Compare root(x,2^h) with pow(x,2^(-h)).
16569
16570	Added bad_cases tests for mpfr_pow_ui and mpfr_pow_si.
16571
16572	Added bad_cases tests for mpfr_root.
16573
16574	[src/{fits_intmax.c,fits_s.h,fits_u.h}] Fixed mpfr_fits_* functions
16575	in a reduced exponent range and debug mode for non-integer numbers
16576	just above the positive limit.
16577
16578	[tests/tfits.c] Check a non-integer number just below a power of two.
16579
16580	[tests/tfits.c] Also run the tests in reduced exponent range.
16581
16582	[tests/tfits.c] Added tests of non-integer values near the type limits.
16583	This triggers a flags failure for src/fits_* r9649, corresponding to
16584	the bug fixed in r9650 (there were no tests for this bug yet).
16585
16586	[tests/tfits.c] Increased code reuse so that tests could be improved
16587	more easily (not everything is tested yet).
16588
165892016-02-12  Vincent Lef��vre  <vincent@vinc17.net>
16590
16591	[tests/tconst_log2.c] Correction for C++ compilers.
16592
16593	[tests/tcan_round.c] Correction for C++ compilers. Code formatting.
16594
16595	[src/div.c] Coding style.
16596
16597	[src/div.c] Added a TODO for value coverage tests.
16598
16599	[doc/mpfr.texi] Added a comment about mpfr_gamma_inc.
16600
16601	[tests/tgamma_inc.c] Added a TODO.
16602
16603	[src/gamma_inc.c] Detect internal overflow in order to avoid taking
16604	all the memory of the machine, but it is currently not supported:
16605	assertion failure. This was occurring with a = 2^32 and x = 2^(-32)
16606	on 32-bit machines (see change in r10019).
16607
166082016-02-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
16609
16610	reduced a test with large arguments
16611
166122016-02-11  Vincent Lef��vre  <vincent@vinc17.net>
16613
16614	[src/gamma_inc.c] Improved type consistency to avoid integer overflow.
16615
16616	[src/gamma_inc.c] Added some assertions to detect integer overflow.
16617
16618	[tests/tgamma_inc.c] C++/C99 comment ��� C89 comment.
16619
16620	[src/gmp_op.c] Fixed an assertion that made tgmpop fail on 32-bit
16621	machines (it became wrong with r9964 and --enable-assert).
16622
166232016-02-10  Vincent Lef��vre  <vincent@vinc17.net>
16624
16625	[doc/sum.txt] Added a FIXME for precision 1 (recently added).
16626
166272016-02-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
16628
16629	added formula for gamma_inc(-n,x)
16630
166312016-02-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
16632
16633	removed item about speeding up const_euler: done since now for x=1.1,
16634	prec=16610, mpfr_const_euler takes only about 40% of the total time.
16635	For x=1.1 and prec=100000 it takes only about 14% of the total time.
16636
16637	fixed the call to mpfr_eint() in gamma_inc, added some tests for gamma_inc
16638
16639	now mpfr_eint() returns -E1(-x) for x < 0
16640
166412016-02-09  Vincent Lef��vre  <vincent@vinc17.net>
16642
16643	[src/eint.c] Fixed eint(-inf).
16644	[tests/teint.c] Added a corresponding test.
16645
16646	[src/si_op.c] Unified coding style and added logging.
16647
16648	[src] Moved si ops from mul_ui.c, div_ui.c and ui_div.c to si_op.c.
16649
16650	[src/ui_div.c] Fixed bug in mpfr_si_div when the integer is LONG_MIN,
16651	visible when using an UB sanitizer (see r9999).
16652	Note: this integer value is not tested yet in the test suite due to
16653	the lack of generic tests for mpfr_si_div.
16654
16655	[tests/{tgeneric.c,tsi_op.c}] Added TODO.
16656
16657	[src/{div,mul}_ui.c] Fixed bug in mpfr_div_si and mpfr_mul_si when the
16658	integer is LONG_MIN, visible when using an UB sanitizer (see r9999).
16659
16660	[tests/tgeneric_ui.c] Added tests of the extreme integer values,
16661	so that tsi_op fails with a runtime error in si_op.c r9998 when
16662	using an UB sanitizer (bug fixed in r9999).
16663
16664	[src/eint.c] Code simplification.
16665
16666	[src/si_op.c] Fixed bug in mpfr_add_si, mpfr_sub_si and mpfr_si_sub
16667	when the integer is LONG_MIN, visible when using an UB sanitizer.
16668
16669	[src/si_op.c] Code formatting.
16670
16671	[tests/teint.c] Added a test that triggers a runtime error
16672	at si_op.c:42:31 on an x86-64 Linux machine, using:
16673	  CFLAGS="-fsanitize=undefined -fno-sanitize-recover"
16674
16675	[doc/mpfr.texi] Typographic correction.
16676
16677	[tools/mpfrlint] Avoid false positives in mp_exp_t check.
16678
16679	[src/eint.c] Updated a FIXME (mpfr_set_exp_t was added in r4333 and
16680	completed in r5455), with typo from r6789 corrected.
16681
16682	[doc/mpfr.texi] Updated Section "API Compatibility / Changed Functions":
16683	mpfr_eint changed in MPFR 3.2.
16684
166852016-02-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
16686
16687	update NEWS/TODO with respect to E1
16688
16689	oops, eint(x) was wrong for negative x with |x| >= 0.5
16690
16691	now mpfr_eint(x) returns E1(x) for negative x
16692
166932016-02-08  Vincent Lef��vre  <vincent@vinc17.net>
16694
16695	[doc/mpfr.texi] Correction (spelling).
16696
16697	[tests/tsum.c] Clarified a bit more.
16698
16699	[tests/tsum.c] Added explanations concerning the check1 test.
16700
16701	Value coverage for tsum: reduce output length.
16702
16703	Value coverage for tsum: differentiate sq > MPFR_PREC_MIN and not.
16704
167052016-02-07  Vincent Lef��vre  <vincent@vinc17.net>
16706
16707	[tests/tsum.c] Source on 80 columns.
16708
167092016-02-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
16710
16711	extended the check1() test, gives failure on 64-bit processor
16712
16713	fixed note
16714
167152016-02-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
16716
16717	more work on gamma_inc
16718
16719	note about memory usage
16720
167212016-02-05  Vincent Lef��vre  <vincent@vinc17.net>
16722
16723	[src/gamma_inc.c] Corrected protection against integer overflow
16724	(MPFR_PREC_IN_RANGE is just for debug mode).
16725
16726	[src/gamma_inc.c] Added protection against integer overflow
16727	(i.e. abort instead of getting incorrect results).
16728
167292016-02-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
16730
16731	more work on gamma_inc (only remains the case a=0 and x>0 to implement)
16732
167332016-02-05  Vincent Lef��vre  <vincent@vinc17.net>
16734
16735	Removed trailing spaces.
16736
16737	[tests/troot.c] In exact_powers, check negative values too.
16738
16739	[src/root.c] Code simplification.
16740
16741	TODO update for fmma.
16742
167432016-02-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
16744
16745	reduced emax
16746
16747	added a test for exact powers for mpfr_root
16748	and fixed mpfr_root for negative x (and odd k)
16749
167502016-02-05  Vincent Lef��vre  <vincent@vinc17.net>
16751
16752	[src/root.c] Corrected(?) the check for exact root by adding an
16753	exactness test for the inverse operation z^k (if unnecessary, it
16754	needs to be properly proved and documented).
16755
16756	[src/root.c] Corrected a comment.
16757
16758	[src/root.c] Some minor changes. Updated comments.
16759
167602016-02-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
16761
16762	check for an exact root in mpfr_root_aux
16763
16764	fixed bug in mpfr_root and inefficiency problem with large k
16765
167662016-02-05  Vincent Lef��vre  <vincent@vinc17.net>
16767
16768	[src/mpfr-impl.h] For MPFR_IS_PURE_FP(x), when x is a pure FP number,
16769	check that EXP(x) is in the current exponent range (debug mode).
16770
16771	[src/exceptions.c] Some changes concerning mpfr_check_range:
16772	  * Added a note about the case EXP(x) < MPFR_EMIN_MIN.
16773	  * Do not use the MPFR_IS_PURE_FP() macro as this macro assumes that
16774	    if the number is not a singular number, then it is really a pure
16775	    FP number (some assertion checking may be done in debug mode),
16776	    but this is not necessarily the case here.
16777	  * Removed an incorrect comment and re-added the MPFR_UNLIKELY for
16778	    the cases where EXP(x) is outside the exponent range. Indeed,
16779	    mpfr_check_range is called at the end of most functions, and
16780	    in most cases, there are no underflows / overflows.
16781
16782	[tests/texp.c] Added FIXME, as the overflow test, which was specific
16783	to the 32-bit ABI, is no longer run.
16784
16785	[tests/tacosh.c] Added a FIXME (huge values no longer tested at all).
16786
16787	[src/fmma.c] Removed unused code.
16788
167892016-02-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
16790
16791	added code to compare mpfr_root with exp(log(x)/k)
16792
16793	reduce MPFR_EMAX_DEFAULT by 2, and modify some tests cases assuming
16794	MPFR_EMAX_DEFAULT=2^30-1
16795
16796	fixed fmma failure
16797
167982016-02-05  Vincent Lef��vre  <vincent@vinc17.net>
16799
16800	[src/exp.c] Simplified exponent range setting in special case.
16801
168022016-02-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
16803
16804	changed test_generic() calls to start from MPFR_PREC_MIN instead of 2;
16805	this revealed a special-case code in mpfr_exp which didn't work for prec=1
16806
168072016-02-05  Vincent Lef��vre  <vincent@vinc17.net>
16808
16809	[tests/trint.c] Do the significand parity test only for precision > 1.
16810
168112016-02-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
16812
16813	updated NEWS and mpfr.texi for MPFR_PREC_MIN=1
16814
16815	MPFR_PREC_MIN is now 1, in accordance with the next revision of IEEE-754
16816	fixed tests to start at MPFR_PREC_MIN instead of hard-coded value of 2
16817
16818	fixed test which was assuming MPFR_PREC_MIN=2
16819
16820	fixed to correctly check prec=1
16821
16822	prepare for MPFR_PREC_MIN=1
16823
16824	fixed tcheck for MPFR_PREC_MIN=1
16825
16826	prepare mpfr_pow to work for precision 1
16827
168282016-02-04  Vincent Lef��vre  <vincent@vinc17.net>
16829
16830	[doc/mpfr.texi] Mention the Caramba project-team.
16831
16832	Replaced
16833	  Contributed by the AriC and Caramel projects
16834	by
16835	  Contributed by the AriC and Caramba projects
16836
168372016-02-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
16838
16839	added comment about gamma_inc
16840
168412016-02-04  Vincent Lef��vre  <vincent@vinc17.net>
16842
16843	[src/gamma_inc.c] Added assertions.
16844
168452016-02-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
16846
16847	more work on gamma_inc
16848
16849	fixed some special values for gamma_inc
16850
168512016-02-03  Vincent Lef��vre  <vincent@vinc17.net>
16852
16853	[doc/mpfr.texi] FIXME: Clarify the status of mpfr_gamma_inc for
16854	the MPFR 3.2 release.
16855
168562016-02-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
16857
16858	completed "Added Functions" section
16859
168602016-02-03  Vincent Lef��vre  <vincent@vinc17.net>
16861
16862	[doc/mpfr.texi] Typographic correction.
16863
16864	[src/div.c] Fixed bug introduced in r9902 and visible in the tests
16865	on 32-bit machines.
16866
16867	[src/root.c] Added TODO for code rewrite (discussion between VL and PZ).
16868
16869	[tests/troot.c] Also check that root(0,0) is NaN to make sure that such
16870	special cases are considered in the right order in the implementation.
16871
16872	[doc/mpfr.texi] Completed mpfr_root description: the 0th root gives NaN.
16873
16874	[src/root.c,tests/troot.c] Removed obsolete code that was commented out;
16875	some cleanup.
16876
16877	[src/root.c] Comment correction (again).
16878
16879	[src/root.c] Comment correction to avoid a variable name with several
16880	meanings.
16881
16882	[src/root.c] Simplified code and corrected comment.
16883
16884	[src/root.c] Corrected a comment and added an assertion (see r9923).
16885
16886	[src/root.c] Added a FIXME comment.
16887
16888	[tests/troot.c] Typo in a comment.
16889
16890	[tests/troot.c] Added tests showing a bug in mpfr_root on large
16891	integer arguments (found thanks to a bug in GNOME Calculator:
16892	<https://bugzilla.gnome.org/show_bug.cgi?id=756960>).
16893
16894	Style: use RND_LOOP; mpfr_can_round returns a Boolean-like value.
16895
168962016-02-02  Vincent Lef��vre  <vincent@vinc17.net>
16897
16898	[src/{erandom.c,nrandom.c}] Updated a reference.
16899
169002016-02-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
16901
16902	mpfr_can_round -> MPFR_CAN_ROUND
16903
169042016-02-02  Vincent Lef��vre  <vincent@vinc17.net>
16905
16906	[doc/mpfr.texi] Updated FIXME for mpfr_can_round.
16907
16908	[doc/mpfr.texi] Added a FIXME for mpfr_can_round. Still incorrect...
16909
16910	[doc/mpfr.texi] Updated the month.
16911
16912	[doc/mpfr.texi] Corrected note about mpfr_can_round.
16913
169142016-02-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
16915
16916	refactor the exhaustive search code in mpfr_const_log2
16917
16918	mpfr_round_p -> MPFR_CAN_ROUND
16919
16920	mpfr_can_round -> MPFR_CAN_ROUND
16921
16922	mpfr_can_round -> MPFR_CAN_ROUND
16923
16924	use MPFR_CAN_ROUND instead of mpfr_can_round/mpfr_round_p
16925
16926	rounding test was wrong for rounding to nearest
16927
16928	replace mpfr_can_round by mpfr_round_p
16929
169302016-02-02  Vincent Lef��vre  <vincent@vinc17.net>
16931
16932	[src/round_prec.c] Added a TODO to improve the mpfr_can_round_raw
16933	efficiency by only doing a bit inspection (no mpn operations).
16934
169352016-02-01  Vincent Lef��vre  <vincent@vinc17.net>
16936
16937	[tests/tcan_round.c] Added test of mpfr_round_p with powers of two
16938	(similar to the one done in src/round_p.c for MPFR_WANT_ASSERT >= 2).
16939
16940	[tests/tcan_round.c] Updated description: mpfr_round_p is also tested
16941	in check_round_p (and will be in test_pow2).
16942
169432016-02-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
16944
16945	now mpfr_round_p() always requires normalized input
16946
169472016-02-01  Vincent Lef��vre  <vincent@vinc17.net>
16948
16949	[src/div.c] Added an assert based on comments in the code.
16950
16951	[src/round_p.c] Some corrections in comment.
16952
169532016-02-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
16954
16955	added a comment
16956
169572016-01-31  Vincent Lef��vre  <vincent@vinc17.net>
16958
16959	[src/round_p.c] Fixed mpfr_round_p for MPFR_WANT_ASSERT >= 2, as
16960	mpfr_round_p accepts non-normalized inputs (as decided in r9897),
16961	but not mpfr_can_round_raw (as decided in r9883).
16962
169632016-01-31  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
16964
16965	the inputs of mpfr_round_p might not always be normalized
16966
169672016-01-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
16968
16969	fixed FIXME
16970
169712016-01-29  Vincent Lef��vre  <vincent@vinc17.net>
16972
16973	[configure.ac] Improved consistency in messages.
16974
16975	[doc/README.dev] Updated instructions on how to cross-compile MPFR
16976	for MinGW (i586-mingw32msvc) and test it under Wine.
16977
169782016-01-29  Vincent Lef��vre  <vincent@vinc17.net>
16979
16980	Cleanup of memory allocation in the tests:
16981	  * only tests_allocate, tests_reallocate and tests_free should be used
16982	    (now exported instead of mpfr_default_allocate, etc.);
16983	  * this is now mentioned in doc/README.dev;
16984	  * added checks to tools/mpfrlint (heuristics as usual).
16985
16986	Note: This follows the discussion at
16987	  https://sympa.inria.fr/sympa/arc/mpfr/2015-12/msg00055.html
16988	and should solve these problems under MS Windows (mingw32), though this
16989	cleanup is more general than an attempt to fix a Windows issue.
16990
169912016-01-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
16992
16993	fixed case when prec > bn * GMP_NUMB_BITS and directed rounding
16994
16995	typo
16996
169972016-01-28  Vincent Lef��vre  <vincent@vinc17.net>
16998
16999	[tests/tcan_round.c] Updated comment and corrected condition on prec.
17000
17001	[tests/tcan_round.c] Updated comments.
17002
17003	[src/round_p.c] Added an assertion (similar to what was added to
17004	mpfr_can_round_raw). This triggers failures, which could also be
17005	detected with MPFR_WANT_ASSERT >= 2, due to the fact that mpfr_div
17006	can internally generate a number that is not normalized before a
17007	rounding test.
17008
17009	[src/round_prec.c] Updated comments.
17010
170112016-01-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
17012
17013	more work on mpfr_can_round
17014
17015	fixed bug in mpfr_can_round for input = 2^k
17016
170172016-01-27  Vincent Lef��vre  <vincent@vinc17.net>
17018
17019	[doc/mpfr.texi] Replaced "Rounding Related Functions" by
17020	"Rounding-Related Functions" (thanks to Keith Briggs for the remark).
17021
17022	[tests/tcan_round.c] Added tests for powers of two. This triggers
17023	errors. I may have done mistakes, but at least x = 2^32, j = 32,
17024	r1=MPFR_RNDN, r2=MPFR_RNDN seems buggy.
17025
170262016-01-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
17027
17028	simplified
17029
17030	another detail
17031
170322016-01-27  Vincent Lef��vre  <vincent@vinc17.net>
17033
17034	[doc/mpfr.texi] Corrected mpfr_can_round description again as the
17035	possible difference is on 0+ = 2^(emin-1), not about overflow.
17036	Let's just say "assuming an unbounded exponent range".
17037
17038	[doc/mpfr.texi] Corrected mpfr_can_round description (about overflow).
17039
170402016-01-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
17041
17042	yet another improvement
17043
17044	improved documentation
17045
170462016-01-27  Vincent Lef��vre  <vincent@vinc17.net>
17047
17048	[doc/mpfr.texi] Clarified change in r9873.
17049
170502016-01-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
17051
17052	improve documentation of mpfr_can_round
17053
17054	also print the rounded value
17055
17056	added pointer to examples/can_round.c
17057
170582016-01-27  Vincent Lef��vre  <vincent@vinc17.net>
17059
17060	[examples/can_round.c] Removed the useless #include <gmp.h> and
17061	replaced the internal mpfr_dump by mpfr_printf.
17062
170632016-01-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
17064
17065	improved documentation of mpfr_can_round
17066
17067	added example on how to use mpfr_can_round
17068
170692016-01-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
17070
17071	mention mpfr_set/get_decimal128 for the future (low priority for now)
17072
170732016-01-21  Vincent Lef��vre  <vincent@vinc17.net>
17074
17075	[src/round_p.c] Code formatting.
17076
170772016-01-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
17078
17079	added remark about Ei vs E1
17080
170812016-01-21  Vincent Lef��vre  <vincent@vinc17.net>
17082
17083	[tests/tsqrt.c] Improved bug20160120.
17084
17085	[tests/tsqrt.c] In bug20160120, check the validity of the result with
17086	mpfr_check first, because the mpfr_sqrt was generating invalid data.
17087
170882016-01-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
17089
17090	fixed bug in mpfr_sqrt reported by Fredrik Johansson
17091
17092	added test case for bug reported by Fredrik Johansson
17093
17094	added FIXME
17095
170962016-01-20  Vincent Lef��vre  <vincent@vinc17.net>
17097
17098	[tests/tzeta.c] Added casts for printf.
17099
17100	[tests/tzeta.c] Some corrections. Made the input value of the latest
17101	test clear (avoiding a long string at the same time).
17102
171032016-01-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
17104
17105	fixed bug for zeta(s) with s near an even negative integer
17106
171072016-01-20  Vincent Lef��vre  <vincent@vinc17.net>
17108
17109	[doc/README.dev] Instructions on how to cross-compile MPFR for MinGW
17110	(i586-mingw32msvc) and test it under Wine.
17111
17112	[doc/README.dev] Typo.
17113
17114	[tests/tgeneric.c] Improved the generic tests in order to trigger the
17115	mpfr_jn bug found by Fredrik Johansson (r9841) and potential similar
17116	bugs: For half cases, the precision of the inputs was modified to be
17117	smaller than the base precision (for the result). Here, this rule is
17118	changed so that if the base precision is small (< 16), then the
17119	precision of the inputs is chosen to be significantly *larger* than
17120	the base precision in general.
17121	Note: With this improvement, both tj0 and tj1 fail in r9840.
17122
171232016-01-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
17124
17125	added references
17126
17127	added section about gamma_inc
17128
17129	fixed bug found by Fredrik Johansson
17130
17131	added reference for eint
17132
171332016-01-20  Vincent Lef��vre  <vincent@vinc17.net>
17134
17135	[tests/tj0.c] Avoid mpfr_set_d.
17136
171372016-01-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
17138
17139	added bug found by Fredrik Johansson in mpfr_j0
17140
17141	added mpfr_gamma_inc
17142
171432016-01-19  Vincent Lef��vre  <vincent@vinc17.net>
17144
17145	[src/gamma_inc.c] Use MPFR_ARE_SINGULAR.
17146
171472016-01-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
17148
17149	deal with the case where one of a or x is not regular
17150
171512016-01-19  Vincent Lef��vre  <vincent@vinc17.net>
17152
17153	[tools/nightly-test] Corrected tests.
17154
171552016-01-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
17156
17157	added reference
17158
171592016-01-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
17160
17161	added the incomplete beta function
17162
17163	incomplete Gamma is now available
17164
17165	switch to bash and add --enable-decimal-float
17166
17167	minor modification of documentation for mini-gmp
17168
17169	added target "make bench"
17170
171712016-01-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
17172
17173	allow tgamma x prec to print gamma(x) to prec bits
17174
171752016-01-17  Vincent Lef��vre  <vincent@vinc17.net>
17176
17177	[tests] Added tgamma_inc to svn:ignore property.
17178
17179	TODO update.
17180
17181	[src/fmma.c] Removed trailing spaces.
17182
17183	[tests/tgamma_inc.c] Portability correction.
17184
17185	[src/mpfr.h] Improved a comment.
17186
17187	[src/gamma_inc.c] Various corrections.
17188
171892016-01-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
17190
17191	first version of incomplete Gamma function (work in progress)
17192
171932016-01-16  Vincent Lef��vre  <vincent@vinc17.net>
17194
17195	TODO for correctly rounded polynomials (like fmma).
17196
171972016-01-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
17198
17199	try to fix bugs in fmma (work in progress)
17200
172012016-01-15  Vincent Lef��vre  <vincent@vinc17.net>
17202
17203	[src/log_ui.c] Added a FIXME comment: mpfr_log_ui is much slower than
17204	mpfr_log on some values of n, e.g. around ULONG_MAX/3.
17205
17206	[tests/tlog_ui.c] Added tests for n around ULONG_MAX/3.
17207
17208	[src/log_ui.c] Fixed the computation of p.
17209
17210	[src/log_ui.c] Removed a mpz_sub_ui(...,1) to match the comment.
17211	This -1 came from the previous code, but this doesn't change the
17212	value of k because a multiple of 3 cannot be a power of 2. Also
17213	renamed a variable.
17214
17215	[src/log_ui.c] Compute the value of k without rounding (if n was larger
17216	than 2^53 or even 2^24 due to dynamic x87 precision, the result could
17217	be wrong) and overflow (3 * n doesn't always fit in a limb).
17218
17219	[src/log_ui.c] Added assertions.
17220
17221	[tests/tlog_ui.c] Added tests for n around LONG_MAX.
17222
17223	[src/log_ui.c] Replaced a comment by an assertion.
17224
17225	[src/log_ui.c] Added a FIXME (integer overflow for large n).
17226
17227	[tests/tlog_ui.c]
17228	  * In the loop, do not test n = 0 and n = 1, because mpfr_can_round
17229	    always fails for these values, so that the test is pointless.
17230	  * Check that mpfr_can_round no longer fails (this is possible as
17231	    we are not doing random tests, i.e. the tested values are known);
17232	    the additional precision for y had to be increased.
17233	  * Also test large values of n (ULONG_MAX down to ULONG_MAX-19). When
17234	    GCC's run-time sanitizer -fsanitize=undefined -fno-sanitize-recover
17235	    is used, it signals an error for large values of n.
17236	  * The reference values y are obtained with mpfr_log instead of
17237	    mpfr_log_ui: indeed we need a different implementation from the
17238	    tested function, otherwise only the rounding is tested! Without
17239	    GCC's run-time sanitizer, this shows that mpfr_log_ui is buggy
17240	    for large values of n.
17241
17242	[tests] Added tfmma and tlog_ui to svn:ignore property.
17243
17244	[src/fmma.c] Use MPFR_SET_EXP to get an assertion failure in case of
17245	out-of-range exponent instead of uncontrolled behavior.
17246
17247	[tests/tfmma.c] Added tests that trigger an error.
17248
17249	[src/fma.c] Added a comment for the new code.
17250
172512016-01-14  Vincent Lef��vre  <vincent@vinc17.net>
17252
17253	[tests/Makefile.am] Tests in lexicographic order.
17254
172552016-01-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
17256
17257	in tests, removed #if MPFR_VERSION >= MPFR_VERSION_NUM(2,x,y)
17258
17259	forgot in last commit
17260
17261	added new function mpfr_log_ui
17262
172632016-01-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
17264
17265	adapted to 3- and 4-argument functions (using patch from Patrick Pelissier)
17266
172672016-01-12  Vincent Lef��vre  <vincent@vinc17.net>
17268
17269	[tests/tfmma.c] C++ compatibility.
17270
17271	[tests/tfmma.c] Fixed type in printf.
17272
17273	[src/fmma.c] Replaced mp_ptr by mpfr_limb_ptr (as usual).
17274
17275	Really replaced mpfr_printf by printf.
17276
172772016-01-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
17278
17279	give copyright to FSF
17280
17281	replaced mpfr_printf calls
17282
17283	changed copyright (I'm the sole author of this part of the code)
17284
17285	forgot two files
17286
172872016-01-12  Vincent Lef��vre  <vincent@vinc17.net>
17288
17289	[src/fma.c] C89 compatibility correction.
17290
17291	[src/fma.c] Replaced mp_ptr by mpfr_limb_ptr (as usual).
17292
172932016-01-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
17294
17295	speedup in mpfr_fma and mpfr_fms
17296	new functions mpfr_fmma and mpfr_fmms
17297	modified mbench/fma to compute b*c+c instead of b*b+c (b*c+d would be better)
17298
172992016-01-08  Vincent Lef��vre  <vincent@vinc17.net>
17300
17301	[doc/README.dev] Added info about the parallel test harness.
17302
17303	Updated documentation related to valgrind or other wrapper for the tests
17304	due to the fact that Automake 1.13+ generates a parallel test harness.
17305	  * doc/README.dev: replaced VALGRIND by LOG_COMPILER.
17306	  * tests/Makefile.am: added a comment mentioning LOG_COMPILER.
17307
173082016-01-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
17309
17310	mpfrbench: use clock() when getrusage() is not available
17311
173122016-01-02  Vincent Lef��vre  <vincent@vinc17.net>
17313
17314	[INSTALL] Added a note about tuning MPFR:
17315	  For the current GMP version (6.1.0), a Unix-like OS is required.
17316
173172016-01-01  Vincent Lef��vre  <vincent@vinc17.net>
17318
17319	[doc/mpfr.texi] Updated the month.
17320
17321	Copyright notice update: added 2016 with
17322	  perl -pi -e 's/ (\d{4}-)?(2015)(?= Free Software)/
17323	               " ".($1||"$2-").($2+1)/e' **/*(^/)
17324	under zsh (the m4 and tools/mbench directories were not modified).
17325	Removed 2015 from the example in the doc/README.dev file.
17326
173272015-12-28  Vincent Lef��vre  <vincent@vinc17.net>
17328
17329	[src/mpfr-impl.h] Fixed MPFR_WIN_THREAD_SAFE_DLL definition
17330	(patch by Patrick P��lissier).
17331
173322015-12-27  Vincent Lef��vre  <vincent@vinc17.net>
17333
17334	[tests/mpf_compat.h] Fix: File "inp_str.dat" could not be opened with
17335	builds outside the source directory (objdir different from srcdir).
17336	This did not generate an error, but prevented a test from being done.
17337	Now that mpfr-test.h is included via the mpf_compat.c or mpfr_compat.c
17338	file (there does not seem to be a valid reason not to include it), we
17339	can use src_fopen to open the file in all cases.
17340
17341	[tests] In tversion.c, output the locale too (if supported).
17342
17343	[tests/tinp_str.c] Added a blank line.
17344
17345	[tests]
17346	  * inp_str.dat: added a locale-independent line at the beginning of
17347	    the file (useful for mpf_compat).
17348	  * mpf_compat.h, tinp_str.c: update because of this change.
17349
17350	[tests/tests.c] Improved src_fopen description (do not use the term
17351	"src directory" because there is a directory named "src", but this
17352	is not what is referred here).
17353
173542015-12-26  Vincent Lef��vre  <vincent@vinc17.net>
17355
17356	[tests/mpf_compat.h] Fix: changed "inp_str.data" to "inp_str.dat"
17357	due to the file rename in r8120 (otherwise nothing is tested).
17358
17359	[tests/mpf_compat.h] For mpf_set_str and mpf_init_set_str, avoid strings
17360	with ".", since for GMP the decimal separator is locale dependent (the
17361	tests can be run in non-C locales on purpose in order to detect issues
17362	in various locales), so that for the mpf_compat test, the conversion
17363	fails and the mpf value x is set to 0 (which can yield other problems,
17364	such as with mpf_div (y, x, x), which raises an exception).
17365	Note: this problem appeared in r9157, where tests_start_mpfr() was added
17366	to mpf_compat.h (the locale setting is done in this function).
17367
173682015-12-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
17369
17370	patch from Patrick Pelissier (for MinGW)
17371
173722015-12-15  Vincent Lef��vre  <vincent@vinc17.net>
17373
17374	[tests/tsum.c] Corrections for C++.
17375
173762015-12-14  Vincent Lef��vre  <vincent@vinc17.net>
17377
17378	Removed trailing spaces.
17379
173802015-12-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
17381
17382	review by Rob (sisyphus1@optusnet.com.au)
17383
17384	removed obsolete parts (?) for MinGW
17385
17386	new text for Windows/Visual Studio/Visual C++ part contributed by Brian Gladman
17387
173882015-12-14  Vincent Lef��vre  <vincent@vinc17.net>
17389
17390	[INSTALL] Switch to UTF-8.
17391
173922015-12-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
17393
17394	changes proposed by Alexander (sav_ix@ukr.net)
17395
173962015-12-14  Vincent Lef��vre  <vincent@vinc17.net>
17397
17398	[tests/tsum.c] Correction.
17399
174002015-12-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
17401
17402	clock() should work everywhere
17403
174042015-12-14  Vincent Lef��vre  <vincent@vinc17.net>
17405
17406	[tests/tsum.c] The timing test from r9753 in POSIX-only.
17407
17408	[doc/mpfr.texi] Updated the month.
17409
174102015-12-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
17411
17412	update INSTALL file
17413
17414	-D__USE_MINGW_ANSI_STDIO is needed for GMP only
17415
174162015-12-11  Vincent Lef��vre  <vincent@vinc17.net>
17417
17418	[src/sum.c] Updated comment about overlapping between input and output.
17419
174202015-12-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
17421
17422	document that (currently) mpfr_sum doesn't allow overlap
17423
17424	timing test to compare mpfr_sum and naive algorithm (without correct rounding)
17425
17426	update wrt -D__USE_MINGW_ANSI_STDIO
17427
17428	note about MinGW and TLS support
17429
17430	improving error message
17431
174322015-12-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
17433
17434	added comment and message for errors under MinGW
17435
174362015-12-03  Vincent Lef��vre  <vincent@vinc17.net>
17437
17438	[src/mpfr-impl.h] Updated a comment about clang and division by 0.
17439
174402015-11-11  Vincent Lef��vre  <vincent@vinc17.net>
17441
17442	[doc/sum.txt] Update.
17443
17444	[doc/sum.txt] Update.
17445
17446	[doc/sum.txt] Minor correction.
17447
174482015-11-10  Vincent Lef��vre  <vincent@vinc17.net>
17449
17450	[doc/sum.txt] Minor correction.
17451
17452	[doc/sum.txt] Minor correction.
17453
17454	[doc/sum.txt] Update.
17455
17456	[doc/sum.txt] Clarification: avoid the word "iteration" for the loop
17457	over the inputs, when possible.
17458
17459	[doc/sum.txt] Update.
17460
17461	[doc/sum.txt] Update.
17462
17463	[doc/sum.txt] Update.
17464
174652015-11-09  Vincent Lef��vre  <vincent@vinc17.net>
17466
17467	[src/sum.c] Added a FIXME comment about the reuse of an input for the
17468	output.
17469
174702015-11-06  Vincent Lef��vre  <vincent@vinc17.net>
17471
17472	GMP 5.0.0 or newer is required (instead of 4.2.0).
17473
17474	[doc/sum.txt] Major and final update (complete rewrite).
17475
17476	[src/mpfr-gmp.h] Added a TODO.
17477
17478	[src/sum.c] Bug fixed (MPN_COPY_INCR instead of MPN_COPY_DECR).
17479
174802015-11-05  Vincent Lef��vre  <vincent@vinc17.net>
17481
17482	[src/sum.c] Minor comment correction.
17483
17484	[src/sum.c] Added another assertion (checked).
17485
17486	[src/sum.c] Added assertions (checked).
17487
174882015-11-04  Vincent Lef��vre  <vincent@vinc17.net>
17489
17490	[tests/tsum.c] Added a comment.
17491
17492	[TODO] In tsum, add testcases for mpfr_sum triggering the bug fixed
17493	in r9722.
17494
17495	[src/sum.c] Bug fix: an error bound was too large to compute the sign
17496	of the secondary term (when the TMD occurs).
17497
174982015-11-03  Vincent Lef��vre  <vincent@vinc17.net>
17499
17500	[tests/{tstdint.c,tvalist.c}] Updated and improved comment about the
17501	test of partial + full <mpfr.h> inclusion.
17502
17503	[configure.ac] C code starting with # (preprocessor directives) must not
17504	be indented.
17505
175062015-11-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
17507
17508	simplify the configuration with mini-gmp
17509
175102015-10-30  Vincent Lef��vre  <vincent@vinc17.net>
17511
17512	[src/sum.c] Updated comment for sum_raw().
17513
175142015-10-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
17515
17516	better definition of GMP_NUMB_BITS
17517
175182015-10-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
17519
17520	update description of file
17521
175222015-10-29  Vincent Lef��vre  <vincent@vinc17.net>
17523
17524	[tests/tdiv.c] Improved comment about the mpfr_divhigh_n_basecase bug.
17525
175262015-10-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
17527
17528	more tests do work with mini-gmp (from GMP 6.1.0-rc1)
17529
175302015-10-29  Vincent Lef��vre  <vincent@vinc17.net>
17531
17532	[tools/mpfrlint] For the tests on the source files, ignore everything
17533	related to mini-gmp, not just the src/mini-gmp.[ch] files.
17534
17535	[doc/README.dev] "To make a release": mention -DMPFR_TUNE_COVERAGE.
17536
17537	[tests/tdiv.c] Updated comment about the mpfr_divhigh_n_basecase bug.
17538
175392015-10-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
17540
17541	fixed replacement for mpn_neg (return value was wrong)
17542
17543	adapt for mini-gmp (from GMP 6.1.0-rc1)
17544
17545	replace obsolete mpz_div_2exp function by mpz_xdiv_q_2exp
17546
175472015-10-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
17548
17549	adapt mini-gmp stuff to GMP 6.1.0-rc1
17550
17551	replace obsolete mpz_div by mpz_tdiv_q
17552
175532015-10-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
17554
17555	fix bug reported by Ricky Farr
17556	(https://sympa.inria.fr/sympa/arc/mpfr/2015-10/msg00023.html)
17557
175582015-10-22  Vincent Lef��vre  <vincent@vinc17.net>
17559
17560	[autogen.sh] Restore the INSTALL file also if the process receives
17561	a usual signal (SIGHUP, SIGINT, SIGQUIT or SIGTERM).
17562
17563	[tests/tversion.c] Added a comment about compiler info.
17564
17565	[tests/tversion.c] Instead of __GNUC__, __GNUC_MINOR__ and
17566	__GNUC_PATCHLEVEL__, output __VERSION__, which gives more
17567	information (for GCC development versions and ICC).
17568
175692015-10-21  Vincent Lef��vre  <vincent@vinc17.net>
17570
17571	[src/sum.c] Updated comment for sum_raw().
17572
175732015-09-15  Vincent Lef��vre  <vincent@vinc17.net>
17574
17575	[doc/mpfr.texi] Added a comment about mpfr_get_{si,ui,sj,uj} and flags.
17576
17577	[doc/mpfr.texi] Updated the month.
17578
17579	[doc/mpfr.texi] Changed "returned value" to "return value" when this
17580	is the value returned by the C function (synonymous, but sometimes
17581	less ambiguous).
17582
17583	[doc/mpfr.texi] For r9689, "returned value" ��� "return value".
17584
17585	[doc/mpfr.texi] Completed the specification of mpfr_get_{si,ui,sj,uj}
17586	and mpfr_get_z (inexact flag, and returned value for mpfr_get_z).
17587
17588	[tests/tget_z.c] Fixed and improved the check_one() test.
17589	  * The input value was modified at each iteration, giving z = 0 very
17590	    quickly, so that not much was tested in practice; in particular,
17591	    the third argument of mpz_fdiv_q_2exp in mpfr_get_z was never
17592	    properly tested (since it has no effect for z = 0).
17593	  * Added various tests of the flags.
17594
17595	[tests/tget_z.c] Optimized the check_one() test.
17596
175972015-09-10  Vincent Lef��vre  <vincent@vinc17.net>
17598
17599	Merged the win-thread-safe-dll branch: support build as thread-safe DLL
17600	on Windows: changes from Stephan Tolksdorf
17601	  https://gforge.inria.fr/tracker/download.php/136/619/19537/4980/changes.zip
17602	+ a correction and some consistency checks. See MPFR bug 19537 on:
17603	https://gforge.inria.fr/tracker/index.php?func=detail&aid=19537&group_id=136&atid=619
17604
17605	[src/mpfr-impl.h] Resolved the problem under Linux.
17606
17607	[src/mpfr-impl.h] Detect some possible inconsistencies under Unix,
17608	when some macro should imply a MS-Windows platform.
17609
17610	Merged the latest changes from the trunk since this wasn't the cause
17611	of the problem.
17612
17613	Applied changes from Stephan Tolksdorf:
17614	  https://gforge.inria.fr/tracker/download.php/136/619/19537/4980/changes.zip
17615	The MPFR build fails on my Linux machine with
17616	  CFLAGS=-Werror=missing-prototypes
17617	because MPFR_WIN_THREAD_SAFE_DLL gets defined (this CFLAGS just allowed
17618	me to detect the problem with MPFR_WIN_THREAD_SAFE_DLL, which could have
17619	otherwise remained unnoticed).
17620
17621	Include config.h when need be.
17622
176232015-09-07  Vincent Lef��vre  <vincent@vinc17.net>
17624
17625	[TODO] Updated mpz_t caching item, suggesting mpz_init2 instead.
17626
17627	[TODO] Added: check whether mpz_t caching is necessary (this was
17628	committed in r8911). In short, timings should be done with -static
17629	(this wasn't clear), they may depend on the malloc implementation,
17630	and after a look at the source, the difference in the timings with
17631	mpz_t caching is surprising and should be explained.
17632
176332015-09-04  Vincent Lef��vre  <vincent@vinc17.net>
17634
17635	[tools/ck-copyright-notice] Check src/mparam_h.in instead of the
17636	generated (and not distributed) src/mparam.h file; this is also
17637	useful to avoid an error after running "make tune".
17638
176392015-09-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
17640
17641	distribute the mpfrbench README
17642
17643	add a README for mpfrbench
17644
176452015-09-04  Vincent Lef��vre  <vincent@vinc17.net>
17646
17647	More details in a comment about assertions via tuneup.
17648
176492015-09-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
17650
17651	fixed failed assertion during "make tune"
17652
176532015-08-25  Vincent Lef��vre  <vincent@vinc17.net>
17654
17655	[tests/tget_z.c] Flags testing.
17656
17657	[doc/README.dev] Updated a URL.
17658
17659	[tests/tstdint.c] Support MPFR_PRINTF_MAXLM.
17660
17661	[tests/tget_sj.c] Support MPFR_PRINTF_MAXLM.
17662
17663	[tests/tget_sj.c] Typo.
17664
17665	[acinclude.m4] Instead of checking whether the 'j' printf length
17666	modifier is working, try to find one that works.
17667
17668	[acinclude.m4] Check whether the 'j' printf length modifier is working.
17669
17670	[tests/tget_sj.c] Improved check_erange (more flags testing).
17671
17672	[tests/tget_sj.c] Improved check_sj and check_uj even more.
17673
17674	[tests/tget_sj.c] Improved check_sj and check_uj (flags testing).
17675
176762015-08-24  Vincent Lef��vre  <vincent@vinc17.net>
17677
17678	[tests/tfits.c] New tests at the limits of the types.
17679
17680	[tests/tfits.c] For the mpfr_fits_{uintmax,intmax}_p functions, check
17681	that the flags are not modified and added tests of -Inf and -0.
17682
17683	[tests/tfits.c] For the mpfr_fits_{u,s}{long,int,short}_p functions,
17684	check that the flags are not modified and added tests of -Inf and -0.
17685
176862015-08-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
17687
17688	fixed the AMD K8 tuning (cf r8118)
17689
176902015-08-24  Vincent Lef��vre  <vincent@vinc17.net>
17691
17692	[tests/tset_si.c] Improved NaN mpfr_get_si / mpfr_get_ui test.
17693
17694	[src/{fits_intmax.c,fits_s.h,fits_u.h}] Fixed mpfr_fits_* functions:
17695	the flags could be modified, which made the new mpfr_get_{si,ui} tests
17696	fail (tests/tset_si.c r9649).
17697
17698	[tests/tset_si.c] Added mpfr_get_{si,ui} tests, including flags.
17699
177002015-08-20  Vincent Lef��vre  <vincent@vinc17.net>
17701
17702	[src/mparam_h.in] Improved comment: __amd64__ is generic to all
17703	x86 processors with a 64-bit ABI (amd64, a.k.a. x86_64), thus
17704	suggest to move mparam.h files to more meaningful locations.
17705
17706	[configure.ac] Added test for usability of gmp.h at link time
17707	(merged changeset r9644 from the 3.1 branch, with minor changes
17708	due to the fact that a known problem between GMP 4.1 and GCC 5
17709	can no longer occur, now that we require GMP 4.2.0 or newer).
17710
177112015-08-19  Vincent Lef��vre  <vincent@vinc17.net>
17712
17713	[doc/README.dev] "To make a release": mention abi-compliance-checker.
17714
177152015-07-31  Vincent Lef��vre  <vincent@vinc17.net>
17716
17717	[src/fpif.c] Added an assertion (I get a build failure with gcc-snapshot
17718	20150722-1 due to -Werror=array-bounds, but the code looks OK).
17719	Simplified test on: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67077
17720
177212015-07-31  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
17722
17723	remove usage of mpn_rootrem in mpfr_sqrt since now mpn_sqrtrem is faster
17724	(https://gmplib.org/list-archives/gmp-devel/2015-July/004074.html)
17725
177262015-07-30  Vincent Lef��vre  <vincent@vinc17.net>
17727
17728	[src/next.c] Added a note concerning the exceptions.
17729
177302015-07-20  Vincent Lef��vre  <vincent@vinc17.net>
17731
17732	[doc/mpfr.texi] Updated the month.
17733
17734	[tests/tversion.c] Output MPFR_VERSION_STRING too.
17735
17736	[tests/tversion.c] Check and output additional mpfr_buildopt_* info.
17737
17738	Added mpfr_rint_roundeven and mpfr_roundeven functions, with
17739	documentation and tests.
17740
177412015-07-16  Vincent Lef��vre  <vincent@vinc17.net>
17742
17743	[tests/tfrexp.c]
17744	  * Replaced each mpfr_get_exp occurrence by the internal MPFR_GET_EXP
17745	    macro in order to make sure that an assertion failure is triggered
17746	    in case of singular number (see also the comment added in r9618).
17747	  * Fixed the remaining problem due to an overflow and infinite value.
17748
17749	[src/mpfr.h] Added a comment about the drawback of the mpfr_get_exp()
17750	macro, defined in addition to the function.
17751
177522015-07-15  Vincent Lef��vre  <vincent@vinc17.net>
17753
17754	[tests/tfrexp.c] Simplification: merged the tests on the ternary values,
17755	the returned MPFR values and the flags.
17756
17757	[src/{div_2si.c,div_2ui.c,mul_2si.c}] Fixed some underflow cases in
17758	rounding to nearest when the exact result is -2^(emin-2), i.e. the
17759	middle of 0 and the minimum negative number in absolute value (the
17760	correction in r5517 was incorrect/incomplete).
17761
17762	[src/exceptions.c] Added logging for mpfr_underflow and mpfr_overflow.
17763
17764	[tests/tmul_2exp.c] Extended the underflow() test to negative numbers,
17765	triggering a new bug.
17766
17767	[src/frexp.c] Added a comment.
17768
177692015-07-02  Vincent Lef��vre  <vincent@vinc17.net>
17770
17771	[tools/build-patch] Rebuild the mpfr.info file if mpfr.texi has been
17772	modified, in order to take it into account in the patch. This is needed
17773	since the mpfr.info file is distributed in the tarball.
17774
17775	[tools/mpfrlint] Check a Texinfo rule (Section "Ending a Sentence")
17776	with common words that end with a capital letter.
17777	(merged changeset r9603 from the 3.1 branch)
17778
177792015-06-28  Vincent Lef��vre  <vincent@vinc17.net>
17780
17781	[TODO] Updated URL of TS 18661-4.
17782
177832015-06-26  Vincent Lef��vre  <vincent@vinc17.net>
17784
17785	[src/frexp.c] Handle internal overflow.
17786
17787	[tests/tfrexp.c] Forgot a "exit (1);".
17788
17789	[tests/tmul_2exp.c] Overflow test: more output info; improved code.
17790
17791	[src/mul_2si.c] Fixed overflow case when n = 0.
17792	[tests/tmul_2exp.c] In the overflow test, check mpfr_mul_2ui and
17793	mpfr_mul_2si too (mpfr_mul_2ui was OK).
17794
17795	[src/div_2si.c] Fixed overflow case when n = 0.
17796	[tests/tmul_2exp.c] In the overflow test, check mpfr_div_2si too.
17797
17798	[src/div_2ui.c] Fixed overflow case (can occur only when n = 0).
17799	[tests/tmul_2exp.c] Completed the overflow test.
17800
17801	[tests/tfrexp.c] Added tests (currently fail due to the mpfr_div_2ui
17802	unhandled-overflow bug).
17803
17804	[tests/tmul_2exp.c] Added tests where mpfr_div_2ui overflows, which
17805	is currently not handled.
17806
17807	[src/frexp.c] Fixed a bug occurring when the current exponent range
17808	does not contain 0.
17809
178102015-06-25  Vincent Lef��vre  <vincent@vinc17.net>
17811
17812	[src/check.c] Typo in a comment.
17813
178142015-06-19  Vincent Lef��vre  <vincent@vinc17.net>
17815
17816	[tools/announce-text] Update due to recent InriaForge upgrade.
17817
178182015-06-16  Vincent Lef��vre  <vincent@vinc17.net>
17819
17820	[doc/mpfr.texi] Added a paragraph about the multiple use of MPFR.
17821
17822	[TODO] Added: use symbol versioning.
17823
178242015-06-12  Vincent Lef��vre  <vincent@vinc17.net>
17825
17826	[doc/faq.xsl] Remove the indent="no" to get the same behavior as before
17827	when using libxslt 1.1.27+. See:
17828	  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=718535#10
17829
17830	[tests/tfma.c] Improved the new underflow tests (test_underflow3) to
17831	test FMA(-x,y,-z).
17832
17833	[src/fma.c] Completely fixed the scaling in case of underflow.
17834
17835	[src/fma.c] Partially fixed the scaling in case of underflow,
17836	corresponding to the testcase from r9566. Double rounding is
17837	not handled yet (failure triggered by r9567).
17838
17839	[tests/tfma.c] Improved the new underflow tests (test_underflow3) to
17840	yield some cases with double rounding when scaling: If the only fix
17841	in src/fma.c is to change the rounding mode of the last mpfr_div_2ui
17842	(computing s / 2^scale) to rnd_mode, a new failure appears for n = 2,
17843	k = 4, s = -1, MPFR_RNDN.
17844
17845	[tests/tfma.c] Corrected the new underflow tests to really generate
17846	underflows, showing a bug in mpfr_fma.
17847
17848	[src/fma.c] Added log messages.
17849
17850	[tests/tfma.c] The code removed in r9560 was actually necessary,
17851	but do this in a better way.
17852
178532015-06-11  Vincent Lef��vre  <vincent@vinc17.net>
17854
17855	[tests/tfma.c] Added other underflow tests.
17856
17857	[tests/tfma.c] Some improvements.
17858
17859	[tests/tfma.c] GNU coding style.
17860
17861	[tests/tfma.c] Removed code that isn't necessary.
17862
17863	[doc/README.dev] "To make a release": mention -DMPFR_COV_CHECK and
17864	-DMPFR_ALLOCA_MAX=0 tests.
17865
178662015-06-10  Vincent Lef��vre  <vincent@vinc17.net>
17867
17868	[tests/trandom.c] Cleaner test, avoiding the explicit use of mpfr_rands.
17869
17870	[tests/trandom.c] Improved latest change, as some other test already
17871	assume a fixed PRNG with GMP >= 4.2.0 (now the value of the last
17872	random number of the test is checked).
17873
17874	[tests/trandom.c]
17875	  * Get a non-zero fixed-point number whose first 32 bits are 0 with the
17876	    default GMP PRNG. This corresponds to the case cnt == 0 && k != 0 in
17877	    src/urandomb.c (fixed in r8762) with the 32-bit ABI.
17878	  * Output a warning (with a fatal error when the MPFR_COV_CHECK macro
17879	    is defined) if one doesn't get such a number, probably because the
17880	    GMP PRNG has changed.
17881
17882	[src/sqrt.c] The bug fixed in r9540 actually came from r9014, which
17883	incorrectly replaced MPFR_EXP by MPFR_SET_EXP. So, restored the
17884	previous code (re-adding the assertion check), keeping my comment
17885	from r9540 to explain why we don't use MPFR_SET_EXP.
17886
17887	[tests/tgeneric.c] Fixed overflow/underflow tests introduced in r9539:
17888	the tests were done in all rounding modes, but the code was incorrect
17889	if the exponent of the result depended on the rounding mode. So, the
17890	tests are now done only in the rounding mode previously selected. This
17891	should be sufficient to detect bugs.
17892
17893	[src/lngamma.c] For mpfr_lgamma and mpfr_lngamma, the exponent range
17894	was not restored in some cases (some large results). Bug introduced
17895	in r8917 (trunk only).
17896
17897	[src/{cos.c,sin.c}] Fixed bug related to the exponent range, introduced
17898	in r6461 with the use of mpfr_sincos_fast.
17899	Details:
17900	  For mpfr_sin, the exponent range was not restored, and restoring it
17901	  before calling mpfr_sincos_fast as this was done for mpfr_cos did
17902	  not work; indeed the source of this function shows that it needs an
17903	  extended exponent range. So, changed both mpfr_cos and mpfr_sin to
17904	  call mpfr_sincos_fast in the extended exponent range and restore the
17905	  exponent range at the end, like in usual code.
17906
17907	[tests/tgeneric.c] Check whether the exponent range has been
17908	modified by the tested function (which should never happen).
17909	This check triggers failures in tlgamma, tlngamma and tsin.
17910
17911	[src/sqrt.c] Fixed assertion failure in reduced exponent range.
17912	Note: This could happen only in very specific exponent ranges,
17913	in particular, which do not include the number 1.
17914
17915	[tests/tgeneric.c] Added overflow/underflow tests (��� 4 failed tests).
17916
179172015-06-08  Vincent Lef��vre  <vincent@vinc17.net>
17918
17919	[src/zeta_ui.c]
17920	  * Support reduced exponent range for the generic case.
17921	  * Added logging.
17922	[tests/tzeta_ui.c] Added tests in reduced exponent range.
17923
17924	[src/add_ui.c] Fixed format string in MPFR_LOG_FUNC.
17925
179262015-06-07  Vincent Lef��vre  <vincent@vinc17.net>
17927
17928	[tests/tzeta_ui.c] Code simplification.
17929
17930	[tests/tzeta_ui.c] Test zeta(0) in reduced exponent range and all
17931	rounding modes.
17932
17933	[src/zeta_ui.c] Fixed zeta(0) in reduced exponent range.
17934	[tests/tzeta_ui.c] Added testcase.
17935
179362015-06-05  Vincent Lef��vre  <vincent@vinc17.net>
17937
17938	[src/{ui_div.c,ui_sub.c}] Correction for reduced exponent range.
17939
17940	[tests/tui_sub.c] Check overflow.
17941
17942	[tests/tui_div.c] Check overflow.
17943
17944	[tests/tgeneric.c] Removed useless parentheses.
17945
17946	[tests/tgeneric.c] Special cases with unsigned long argument.
17947
17948	[tests/tpow_all.c] Better flags output in error message.
17949
179502015-06-04  Vincent Lef��vre  <vincent@vinc17.net>
17951
17952	[src/set_q.c] Added missing MPFR_SAVE_EXPO_FREE in case of preliminary
17953	overflow or underflow (extreme cases).
17954
17955	[src/set_q.c] Replaced a "return" by MPFR_RET: this is at least needed
17956	in the extreme case cd != 0, and safer in general.
17957
17958	[tests/tset_q.c] Check the flags.
17959
17960	[src/mul_ui.c] Fixed bug in mpfr_mul_ui/si: the inexact flag wasn't set.
17961
17962	[tests/t{add,div,mul,sub}_ui.c] Replaced tgeneric_ui.c by tgeneric.c,
17963	showing a bug in mpfr_mul_ui (missing inexact flag).
17964
17965	[tests/{tui_div.c,tui_sub.c}] Added generic tests, yielding assertion
17966	failures (due to a reduced exponent range) when assertions are checked.
17967
17968	[tests/tgeneric.c] Major clean-up, with some minor corrections.
17969	Added support for unsigned long argument, which can be the first
17970	or the second one (another intent is to replace tgeneric_ui.c,
17971	which does fewer tests concerning the flags).
17972
17973	[tests/tdiv_d.c] Corrected the tested function for the generic tests.
17974
17975	[tests/td_div.c] Corrected the tested function for the generic tests.
17976
17977	[tests/tui_sub.c] Minor improvements.
17978
17979	[tests/tgeneric_ui.c] Added missing \n. Minor improvements.
17980
17981	[tests/tui_div.c] Minor improvements.
17982
179832015-06-03  Vincent Lef��vre  <vincent@vinc17.net>
17984
17985	[tests/trint.c] Corrected the description (copy-paste error in r9473).
17986
17987	[src/rint.c] Handle reduced exponent range.
17988
17989	[tests/trint.c] Extend basic_tests from [56,72] to [1,72] since i < 4
17990	(|x| < 1) are special cases in the implementation.
17991
17992	[tests/trint.c] Also run BASIC_TEST in reduced exponent range
17993	(emin = emax = EXP(x)).
17994
17995	[tests/trint.c] Also run BASIC_TEST2 in reduced exponent range
17996	(emin = emax = EXP(x)).
17997
17998	[src/rint.c] Added a comment about the mpfr_rint_* functions.
17999
18000	[src/rint.c] Simplified and fixed the mpfr_rint_* functions: in some
18001	corner cases, an intermediate overflow would not be propagated. No
18002	testcases added for this particular problem since huge precision
18003	numbers would be involved.
18004
180052015-06-02  Vincent Lef��vre  <vincent@vinc17.net>
18006
18007	[doc/mpfr.texi] Added description of the flags for the mpfr_rint,
18008	mpfr_ceil, mpfr_floor, mpfr_round, mpfr_trunc functions.
18009
180102015-06-01  Vincent Lef��vre  <vincent@vinc17.net>
18011
18012	[tests/trint.c] In the basic tests, test the flags.
18013
180142015-05-31  Vincent Lef��vre  <vincent@vinc17.net>
18015
18016	[tests/trint.c] Corrections for r9476 and r9477.
18017
18018	[configure.ac] For the gcc compiler, better choice of the -W flags
18019	when the selected language is C++ (e.g. when CC=g++).
18020
180212015-05-29  Vincent Lef��vre  <vincent@vinc17.net>
18022
18023	[tests/trint.c] Added basic tests of the mpfr_{trunc,floor,ceil,round}
18024	functions.
18025
18026	[tests/trint.c] Added basic tests of the mpfr_rint_* functions.
18027
18028	[doc/mpfr.texi] Added blank lines to improve readability.
18029
18030	[tests/trint.c] Updated the description (test_generic_round is now
18031	tested, which wasn't done at all before).
18032
18033	[tests/trint.c] Added generic tests for the mpfr_rint_* functions.
18034	Since all numbers in ]0,1/2[ round to the same value, in order to
18035	avoid redundant tests, increased the TEST_RANDOM_EMIN value to -20
18036	and set TEST_RANDOM_ALWAYS_SCALE to 1.
18037	Note: only these new tests generate an error if the change of the
18038	exponent range is no longer done in these mpfr_rint_* functions.
18039
180402015-05-29  Vincent Lef��vre  <vincent@vinc17.net>
18041
18042	[tests] Added always_scale argument (boolean) to tests_default_random()
18043	so that when it is true, scaling is always performed on random numbers
18044	generated by mpfr_urandomb(), instead of preferring numbers of the order
18045	of magnitude of 1 for half outputs. This will be useful for mpfr_rint_*
18046	tests.
18047
18048	For tgeneric.c, the value of this argument is controlled by a new macro
18049	TEST_RANDOM_ALWAYS_SCALE (0 by default, which corresponds to the current
18050	behavior). For the other tests that call tests_default_random(), the
18051	argument is set to 0, so that the behavior remains the same.
18052
180532015-05-29  Vincent Lef��vre  <vincent@vinc17.net>
18054
18055	[doc/mpfr.texi] Added a remark concerning the mpfr_rint_* functions.
18056
180572015-05-28  Vincent Lef��vre  <vincent@vinc17.net>
18058
18059	[src] Fixed allocation issue for multithreaded applications:
18060	https://sympa.inria.fr/sympa/arc/mpfr/2015-05/msg00001.html
18061	  * mpfr-gmp.{c,h}: made mpfr_allocate_func, mpfr_reallocate_func and
18062	    mpfr_free_func thread-local; updated MPFR_GET_MEMFUNC to execute
18063	    mp_get_memory_functions only when these pointers have not been set
18064	    to the actual function pointers yet.
18065	  * mpfr-impl.h: #include "mpfr-thread.h" earlier (before mpfr-gmp.h,
18066	    where MPFR_THREAD_ATTR is now used).
18067
180682015-05-25  Vincent Lef��vre  <vincent@vinc17.net>
18069
18070	[src/mpfr-gmp.c] Replaced mpfr_allocate_func and mpfr_free_func
18071	by __gmp_allocate_func and __gmp_free_func in mpfr_tmp_allocate
18072	and mpfr_tmp_free respectively, fixing the crash in talloc.
18073	See: https://sympa.inria.fr/sympa/arc/mpfr/2015-05/msg00001.html
18074
18075	[tests/talloc.c] Avoid a failure with --with-gmp-build due to the fact
18076	that the MPFR_ALLOCA_MAX macro is not defined in this case.
18077
180782015-05-23  Vincent Lef��vre  <vincent@vinc17.net>
18079
18080	Added libtool-tcc-rpath.patch from
18081	  https://lists.gnu.org/archive/html/libtool-patches/2015-05/msg00000.html
18082	so that tcc can be used with libtool 2.4.3 to 2.4.6.
18083	In doc/README.dev, documented how to use this patch (before a release).
18084
18085	[tests] Added talloc.c and updated check_PROGRAMS in Makefile.am.
18086	This test detects an allocation bug added in r8813, which occurs
18087	if mpfr_tmp_allocate() is invoked before __gmp_allocate_func when
18088	the GMP build is not used (thus this bug is not visible in most
18089	code since mpfr_init2 is generally called first, directly or not,
18090	and it uses __gmp_allocate_func). Details:
18091	  https://sympa.inria.fr/sympa/arc/mpfr/2015-05/msg00001.html
18092
18093	[tests/{tstdint.c,tvalist.c}] Added missing #include "mpfr-test.h"
18094	(detected with gcc -Werror=implicit-function-declaration), needed
18095	since r9447.
18096
180972015-05-22  Vincent Lef��vre  <vincent@vinc17.net>
18098
18099	[src/mpfr-gmp.c] Code formatting.
18100
18101	[tests/tstckintc.c] Fixed undefined behavior (invalid pointer).
18102
18103	Define MPFR_ALLOCA_MAX macro: Maximum size for the use of alloca by
18104	temporary allocations (default: 16384).
18105
18106	[tests/{tstdint.c,tvalist.c}] Use tests_start_mpfr / tests_end_mpfr,
18107	in particular to detect a wrong MPFR version (due to a libtool bug).
18108
181092015-05-21  Vincent Lef��vre  <vincent@vinc17.net>
18110
18111	[autogen.sh] Exit with the exit status of autoreconf. Thus a failure
18112	will be noticed more easily.
18113
18114	[NEWS] Update.
18115
18116	[acinclude.m4] Added a comment about memmove and memset being considered
18117	to be missing when gcc -Werror is used, because of a "conflicting types
18118	for built-in function" error.
18119
18120	[acinclude.m4] Various corrections in the tests:
18121	  * MPFR_CHECK_MP_LIMB_T_VS_LONG was always failing due to a typo.
18122	  * MPFR_FUNC_GMP_PRINTF_SPEC: missing #include <string.h> for strcmp.
18123	  * Replaced rint by nearbyint in messages (as nearbyint is tested).
18124	  * Avoid warnings to avoid failures when -Werror is used.
18125
181262015-05-20  Vincent Lef��vre  <vincent@vinc17.net>
18127
18128	[tests/{tcmp_d.c,tcmp_ld.c,tget_d.c}] Avoid warnings concerning unused
18129	variables when MPFR_ERRDIVZERO is defined (useful with -Werror).
18130
18131	[tests/tests.c] Avoid a warning concerning an unused variable
18132	when HAVE_DENORMS is not defined (useful with -Werror).
18133
181342015-05-19  Vincent Lef��vre  <vincent@vinc17.net>
18135
18136	[doc/mpfr.texi] Improved mpfr_swap description again.
18137
18138	[doc/mpfr.texi] Correction and improvements in the formatting.
18139
18140	[doc/mpfr.texi] Added a warning for mpfr_set_prec and mpfr_prec_round
18141	about allocation issue, as these functions change the precision of x.
18142
18143	[doc/mpfr.texi] Typo in the latest change.
18144
18145	[doc/mpfr.texi] Rewrote the mpfr_swap description. This should solve
18146	the documentation issue reported on:
18147	  https://gforge.inria.fr/tracker/index.php?func=detail&aid=18954&group_id=136&atid=619
18148
181492015-05-18  Vincent Lef��vre  <vincent@vinc17.net>
18150
18151	[doc/sum.txt] Update (preliminary steps).
18152
181532015-05-13  Vincent Lef��vre  <vincent@vinc17.net>
18154
18155	[doc/sum.txt] Started the rewrite of the doc.
18156
181572015-05-06  Vincent Lef��vre  <vincent@vinc17.net>
18158
18159	[NEWS] Update concerning mpfr_sum.
18160
18161	[doc/mpfr.texi] Update concerning mpfr_sum.
18162
18163	[doc/sum.txt] The specification of the sign of a zero result only
18164	applies to an exact zero, of course (for an inexact zero result,
18165	the usual rule of the rounding mode is applied).
18166
18167	[tests/t[ne]random_chisq.c] Fixed memory leak (detected by GCC's
18168	AddressSanitizer).
18169
18170	[doc/README.dev] "To make a release": Test with GCC's AddressSanitizer
18171	(-fsanitize=address).
18172
18173	[tests/tabort_defalloc*.c] Disable the tests if __SANITIZE_ADDRESS__
18174	is defined, i.e. when GCC's AddressSanitizer is used, because it
18175	reports the error before GMP can do the abort.
18176
181772015-05-05  Vincent Lef��vre  <vincent@vinc17.net>
18178
18179	[tests/tests.c] Make tests_default_random() more intuitive, avoiding
18180	automatic changes of the current exponent range in some cases: instead
18181	of adding some random exponent in [emin,emax] to the exponent of the
18182	random number x in ]0,1[, force this random exponent to be the one of
18183	x, so that its exponent is guaranteed to be in [emin,emax]. This avoids
18184	a failure in tsum due to the fact that the exponent range was changed
18185	automatically (and not restored).
18186
18187	[tests/tsum.c] In cancel(), increase the number of tests from 8 to 1000.
18188	This is much more, but the test is fast compare to other ones so that
18189	the running time increases by a few percents only. And this triggers a
18190	new bug: the exponent range is not restored (on a 64-bit machine).
18191
18192	[tests/tsum.c] Changes in cancel():
18193	  * The fail-test was x[n] > bound instead of |x[n]| > bound, so that
18194	    some failures could be missed.
18195	  * More output in case of failure.
18196	  * Handle underflow in the bound computation. This fixes an incorrect
18197	    failure due to a bound rounded toward zero instead of toward +inf
18198	    with GMP_CHECK_RANDOMIZE=1431478020 (found by the nightly tests).
18199
18200	[tools/nightly-test] Run "make check" with VERBOSE=1 in order to have
18201	tests/test-suite.log output in case of failure, now that Automake 1.13+
18202	is used.
18203
182042015-04-28  Vincent Lef��vre  <vincent@vinc17.net>
18205
18206	Added a TODO about mpfr_sum.
18207
182082015-04-24  Vincent Lef��vre  <vincent@vinc17.net>
18209
18210	[configure.ac] Updated a comment about Automake 1.13.
18211
18212	[Makefile.am] Updated comment about ACLOCAL_AMFLAGS.
18213
18214	[TODO] Suggest to move some macro definitions from acinclude.m4 to the
18215	m4 directory as suggested by the Automake manual.
18216
182172015-04-23  Vincent Lef��vre  <vincent@vinc17.net>
18218
18219	[doc/README.dev] Grouped everything about the test suite near the end
18220	of this file. Added information about how the test suite works since
18221	the full Automake 1.13 support (r8821).
18222
18223	To take into account that Automake 1.13 or later will be used:
18224	  * doc/mpfr.texi, INSTALL: updates related to "make check".
18225	  * configure.ac: require Automake 1.13 since the documentation now
18226	    assumes that 1.13 or later is used (and because previous Automake
18227	    versions are no longer tested).
18228
182292015-04-10  Vincent Lef��vre  <vincent@vinc17.net>
18230
18231	[NEWS] Mention the complete rewrite of function mpfr_sum.
18232
18233	[tests/tsum.c] Added a comment about the latest fixed bug.
18234
18235	Merged the new-sum branch:
18236	  * New feature for developers in order to improve the testsuite:
18237	    value coverage checking (MPFR_COV_CHECK macro), allowing one
18238	    to check whether some combinations of values are tested. See
18239	    example of use in src/sum.c and tests/tsum.c files.
18240	  * src/sum.c: full rewrite of mpfr_sum. Note: the documentation
18241	    of the algorithm in doc/sum.txt is currently a bit obsolete.
18242	  * tests/tsum.c: many new tests, some of them specifically written
18243	    for the new algorithm and implementation.
18244
182452015-04-09  Vincent Lef��vre  <vincent@vinc17.net>
18246
18247	[src/sum.c] Fixed bug: mpn functions do not accept a zero size argument.
18248
18249	[tests/tsum.c] Replaced a mpfr_inits by a mpfr_inits2.
18250
18251	[tests/tsum.c] Added a simple test that triggers a glibc free() error
18252	or segmentation fault when MPFR is configured with GMP 6.0.0 built
18253	with "--disable-alloca ABI=32". GCC's address sanitizer shows a
18254	heap-buffer-overflow. This is mainly for debugging as this problem
18255	also occurs in other tests (it is quite generic).
18256
18257	[tests/tsum.c] Removed a temporary comment.
18258
18259	Merged the latest changes from the trunk.
18260
18261	[tests/tsum.c] Added check_underflow test.
18262
182632015-04-08  Vincent Lef��vre  <vincent@vinc17.net>
18264
18265	[tests/tsum.c] Comments.
18266
18267	[src/sum.c] Bug fix: use MPFR_EXP instead of MPFR_SET_EXP to set the
18268	exponent since it can be outside the current exponent range before
18269	it is checked with mpfr_check_range. Also added a static assertion
18270	(always satisfied in practice) to make sure that exponent related
18271	computations cannot yield an integer overflow.
18272
18273	[tests/tsum.c] Added check_overflow test, which triggers a bug.
18274
182752015-03-31  Vincent Lef��vre  <vincent@vinc17.net>
18276
18277	[tests/tsum.c] Completed the cancel test (generic random tests with
18278	cancellations): check the bound on the result.
18279
18280	[tests/tsum.c] Improved the check4 test:
18281	  * removed some not very useful tests to reduce the running time;
18282	  * added tests checking "MPFR_RNDN, tmd=2, rbit=0, sst=1, negative",
18283	    which was the only remaining one output by check_coverage (when
18284	    MPFR_COV_CHECK is defined).
18285
18286	[tests/tsum.c] Reduced the check4 test because it was much too long
18287	compared to the other tests. The bug fixed in r9356 is still triggered
18288	and "MPFR_RNDN, tmd=2, rbit=0, sst=0, negative" is still checked.
18289
182902015-03-30  Vincent Lef��vre  <vincent@vinc17.net>
18291
18292	[tests/tsum.c] Updated comment of the check4 test.
18293
18294	[src/sum.c] Bug triggered by the check4 test fixed.
18295
18296	[tests/tsum.c] Another correction in the check4 test.
18297
18298	[tests/tsum.c] In the check4 test, two terms didn't correspond to
18299	the formula given in the comment; corrected these terms (the same
18300	bug is triggered).
18301
18302	[tests/tsum.c] Forgot the h in the error message of the check4 test.
18303
18304	[tests/tsum.c] Extend the check4 test even further.
18305
18306	[tests/tsum.c] Extend the check4 test even further.
18307
18308	[tests/tsum.c] Added check4 test, which triggers a bug.
18309
183102015-03-27  Vincent Lef��vre  <vincent@vinc17.net>
18311
18312	[src/sum.c] In the TMD detection:
18313	  * improved variable nbits to decrease the number of operations;
18314	  * added some comments;
18315	  * fixed the shift count bug triggered by the bug20150327 test.
18316
18317	[tests/tsum.c] Added bug20150327 testcase.
18318
18319	[tests/tsum.c] Corrected test of the ternary values inex1 and inex2.
18320
183212015-03-20  Vincent Lef��vre  <vincent@vinc17.net>
18322
18323	[tools/ck-copyright-notice] Bug fix and improvements.
18324
18325	[tools/ck-copyright-notice] More checks.
18326
183272015-03-19  Vincent Lef��vre  <vincent@vinc17.net>
18328
18329	[src/sum.c] Do not consider the corrected sst for MPFR_COV_SET.
18330
18331	[tests/tsum.c] More tests.
18332
18333	[src/sum.c] Added comments.
18334
18335	[src/sum.c] In the final rounding, forgot to handle the possible
18336	exponent change in the negative case with corr == 2.
18337
183382015-03-17  Vincent Lef��vre  <vincent@vinc17.net>
18339
18340	[tests/tsum.c] Improved the check3 tests, which were added in the
18341	latest commit. They now trigger an assertion failure in sum.c.
18342
18343	[tests/tsum.c] New tests.
18344
18345	[tests/tsum.c] Value coverage checking: tmd can be 2 only for MPFR_RNDN.
18346
183472015-03-16  Vincent Lef��vre  <vincent@vinc17.net>
18348
18349	[src/sum.c] Better logging.
18350
18351	[src/sum.c] Bug fix: the sum_raw code was unnecessarily assuming
18352	too much; thus, removed too parameters, which can be very easily
18353	recomputed only when they make sense.
18354
183552015-03-12  Vincent Lef��vre  <vincent@vinc17.net>
18356
18357	[doc/sum.txt] Added a new table concerning the correction term.
18358	[src/sum.c] Updated rounding.
18359
183602015-03-10  Vincent Lef��vre  <vincent@vinc17.net>
18361
18362	[src/sum.c] Added comments on the correction. Minor changes in the code.
18363
183642015-03-06  Vincent Lef��vre  <vincent@vinc17.net>
18365
18366	[doc/README.dev] Added information on how to do type punning
18367	(something we already did, but with no justification yet).
18368
183692015-02-27  Vincent Lef��vre  <vincent@vinc17.net>
18370
18371	[doc/sum.txt] Updated TODO.
18372
18373	[doc/sum.txt] Added TODO (since the description is a bit obsolete).
18374
18375	[src/sum.c] In the latest commit, the temporary area was split for
18376	the computations that determine the sign of the error term in case
18377	the TMD occurs, as these computations occur earlier in the code.
18378	This was actually not necessary since the content of the accumulator
18379	has already been copied to the final destination (only sign handling
18380	and rounding have not been done yet, but they entirely take place in
18381	the destination). As a consequence, let's revert the code related to
18382	this split. The actual changes concerning the merge of pre-rounding
18383	and final rounding can be seen with "svn diff -r 9328:9330".
18384
18385	[src/sum.c]
18386	  * Removed any reference to the obsolete step numbering.
18387	  * Merged pre-rounding and final rounding, simplifying the code.
18388	    The correction value still needs to be fixed.
18389
18390	[src/sub1sp.c] Avoid an unnecessary mpn_lshift after an mpn_sub_1 when
18391	the initial value was a power of two.
18392
18393	[src/next.c] Avoid an unnecessary loop when the exponent decreases.
18394
183952015-02-26  Vincent Lef��vre  <vincent@vinc17.net>
18396
18397	[tests/tsum.c] Improved test portability.
18398
18399	[tests/tsum.c] New tests.
18400
18401	[src/sum.c] Completed the implementation (but there's still a bug).
18402
18403	[tests/tsum.c] New tests.
18404
184052015-02-25  Vincent Lef��vre  <vincent@vinc17.net>
18406
18407	[src/sum.c] Improved the setting of sst (Step 8), using the fact
18408	that the accumulator is 0 iff cancel = 0.
18409
18410	[src/sum.c] Bug fix: when determining the sticky bit, the search was
18411	starting at the rounding bit instead of the bit following it.
18412
18413	[tests/tsum.c] New tests.
18414
18415	[src/sum.c] More logging.
18416
18417	[tests/tsum.c] In the generic test, also test with negative numbers.
18418
18419	Updated value coverage checking for mpfr_sum.
18420
18421	[doc/README.dev] Document the new MPFR_COV_CHECK macro.
18422
18423	Value coverage checking when MPFR_COV_CHECK is defined, initially
18424	for mpfr_sum.
18425
18426	[src/sum.c] Bug fix in the ternary value.
18427
18428	[tests/tsum.c] Added check of the ternary value.
18429
18430	[src/sum.c] Removed incorrect assertions.
18431
18432	[tests/tsum.c] Re-enabled cancel() test.
18433
184342015-02-24  Vincent Lef��vre  <vincent@vinc17.net>
18435
18436	[src/sum.c] Update.
18437
18438	[src/sum.c] Update.
18439
18440	[src/sum.c] Use the new SAFE_DIFF macro.
18441
18442	Merged the latest changes from the trunk (r9306).
18443
18444	[src/mpfr-impl.h] Added SAFE_DIFF macro (safe difference).
18445
18446	[src/sum.c] Fixed a test.
18447
18448	[src/sum.c] Better logging.
18449
18450	[src/sum.c] Minor correction of last change of a comment.
18451
18452	[src/sum.c] More logging and comments.
18453
18454	[src/sum.c] Fixed bug introduced in r9294 (minexp wasn't updated).
18455
18456	[src/sum.c] Log the value of tq.
18457
18458	[src/sum.c] Bug fix.
18459
18460	[src/sum.c] Virtually eliminate halfway cases by making them equivalent
18461	to a non-halfway case.
18462
184632015-02-21  Vincent Lef��vre  <vincent@vinc17.net>
18464
18465	[src/sum.c] Update.
18466
18467	Merged the latest changes from the trunk (r9295).
18468
18469	[src/mpfr-impl.h] Fixed and improved some sign-related macros
18470	(some parentheses were missing).
18471
18472	[src/sum.c] Update: sum_raw, with a new prototype, now reiterates until
18473	the error bound is acceptable; thus the "while" loops have been removed
18474	from sum_aux.
18475
184762015-02-20  Vincent Lef��vre  <vincent@vinc17.net>
18477
18478	[tests/tsum.c] Increased the number of tests to get 2 current failures
18479	with a "break" in the last loop of sum.c (m = 438, m = 3780), without
18480	the exit() in the generic test. Improved error message.
18481
18482	[tests/tsum.c] Completely rewrote the generic test (now allows one to
18483	detect that the implementation is incomplete when adding a "break" in
18484	the last loop of sum.c).
18485
184862015-02-19  Vincent Lef��vre  <vincent@vinc17.net>
18487
18488	[tests/tsum.c] Run bug20131027 in each rounding mode.
18489
18490	[src/sum.c] Fixed sum_raw.
18491
184922015-02-18  Vincent Lef��vre  <vincent@vinc17.net>
18493
18494	[src/sum.c] More logging.
18495
18496	Merged the latest changes from the trunk.
18497
18498	Logging: the log stream is flushed after each log output when
18499	the MPFR_LOG_FLUSH environment variable is set.
18500
18501	Factorized the logging macros by moving tests inside LOG_PRINT.
18502
18503	[src/sum.c] Correction. Set the exponent.
18504
18505	[src/sum.c] Added a log message.
18506
18507	[src/sum.c] Bug fix: I had inverted positive and negative.
18508
185092015-02-13  Vincent Lef��vre  <vincent@vinc17.net>
18510
18511	[tests/tsum.c] Removed the obsolete mpfr_sum_sort related test
18512	(which could obviously no longer compile), so that I can start
18513	debugging before finishing the implementation.
18514
18515	Merged the latest changes from the trunk.
18516
18517	[doc/mpfr.texi] Updated the month.
18518
18519	Copyright notice update: added 2015 with
18520	  perl -pi -e 's/ (\d{4}-)?(2014)(?= Free Software)/
18521	               " ".($1||"$2-").($2+1)/e' **/*(^/)
18522	under zsh, reverting the tools/mbench directory (not distributed with
18523	MPFR). Removed 2014 from the example in the doc/README.dev file.
18524
185252015-02-12  Vincent Lef��vre  <vincent@vinc17.net>
18526
18527	[src/sum.c] Copyright notice update.
18528
18529	[src/sum.c] Split mpfr_sum into mpfr_sum (handling special cases)
18530	and sum_aux (generic case only). Revised some comments.
18531
18532	[src/sum.c] When updating minexp, detect a potential integer overflow
18533	first (macro UPDATE_MINEXP). Updated comments.
18534
18535	[src/sum.c] Logging of sum_raw: log *cancelp at the end.
18536
18537	[src/sum.c] Update (Step 8).
18538
18539	[src/sum.c] Corrected/improved logging.
18540
185412015-01-23  Vincent Lef��vre  <vincent@vinc17.net>
18542
18543	Added algorithms.fls (generated by latexmk) to svn:ignore property.
18544
185452015-01-21  Vincent Lef��vre  <vincent@vinc17.net>
18546
18547	[tests/tfpif.c] Updated a mpfr_set_zero line for consistency and
18548	better readability.
18549
18550	[tools/mpfrlint] Added mpfr_set_(inf|zero) tests on the sign.
18551
18552	[tests/tset.c] More mpfr_set_inf tests.
18553
18554	[tests/tset.c] More mpfr_set_zero tests.
18555
18556	[tools/mbench/timp.h] Spelling mistake in a comment.
18557
185582014-12-17  Vincent Lef��vre  <vincent@vinc17.net>
18559
18560	[src/sum.c] Added a TODO.
18561
18562	[src/sum.c] Added missing closing parenthesis from r9257. Step 8 update.
18563
18564	[doc/sum.txt] Step 8: renamed "sgn" to "sst".
18565
18566	[doc/sum.txt] Merged old Step 9 with Step 8; minor changes.
18567
18568	[src/sum.c] Avoid a loop in some cases.
18569
18570	[src/sum.c] Remember the rounding bit for Step 9; correction for
18571	halfway cases in round to nearest.
18572
18573	[doc/mpfr.texi] Updated the month.
18574
185752014-12-16  Vincent Lef��vre  <vincent@vinc17.net>
18576
18577	[NEWS] Added an item about improved caching.
18578	[NEWS,doc/mpfr.texi] In particular, mention the minimum of 10% increase
18579	of the precision (done in r8967).
18580
18581	[NEWS] Note that the behavior of the mpfr_set_exp function changed.
18582	[src/Makefile.am] As this changed the ABI (the old, unwise behavior
18583	was documented), reset -version-info age. This is not that bad since
18584	there are other changes in the behavior, though regarded as bugs or
18585	previously undocumented behavior.
18586
18587	Moved src/sum.txt into the doc directory, and updated the reference
18588	in src/sum.c.
18589
185902014-12-12  Vincent Lef��vre  <vincent@vinc17.net>
18591
18592	[src/sum.txt] Update (Step 9).
18593
18594	[src/sum.txt] Correction.
18595
185962014-12-11  Vincent Lef��vre  <vincent@vinc17.net>
18597
18598	[src/sum.*] Update.
18599
186002014-12-04  Vincent Lef��vre  <vincent@vinc17.net>
18601
18602	[doc/README.dev] Mention the tools/build-patch script.
18603
186042014-12-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
18605
18606	pointed to Feature Request
18607
186082014-11-28  Vincent Lef��vre  <vincent@vinc17.net>
18609
18610	[src/sum.c] Determine the number of cancelled bits in sum_raw instead
18611	of the main loop, since it will also be useful in Step 8.
18612
18613	[src/sum.*] Update (Step 8).
18614
186152014-11-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
18616
18617	fixed issue reported by Dan Grayson:
18618	https://gforge.inria.fr/tracker/?func=detail&atid=619&aid=18314&group_id=136
18619
186202014-11-13  Vincent Lef��vre  <vincent@vinc17.net>
18621
18622	[tools/mpfrlint] Minor change concerning mp_limb_t.
18623
186242014-11-12  Vincent Lef��vre  <vincent@vinc17.net>
18625
18626	Style improvements.
18627
18628	[src/exp_2.c] Improved t = 0 test.
18629
18630	[src/exp_2.c] Fixed a bug added in r9233 (a case t = 0 was no longer
18631	taken into account).
18632
18633	[src/exp_2.c] GNU coding style.
18634
186352014-11-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
18636
18637	improve mpfr_exp2 (patch from Patrick Pelissier)
18638
186392014-11-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
18640
18641	improve mpfr_atan for small precision (patch from Patrick Pelissier)
18642
18643	added check for libquadmath (not used)
18644
186452014-11-03  Vincent Lef��vre  <vincent@vinc17.net>
18646
18647	[src/cache.c] Improved mpfr_clear_cache in case mpfr_free_cache is
18648	called often (like with GC-based systems). Patch by Patrick P��lissier.
18649
18650	[src] Applied patch by Patrick P��lissier to allocate some constant-size
18651	MPFR numbers on the stack instead of using mpfr_init2, and replace some
18652	MPFR_ASSERTN by MPFR_ASSERTD.
18653
186542014-10-31  Vincent Lef��vre  <vincent@vinc17.net>
18655
18656	[src/get_str.c] Improved comments.
18657
186582014-10-30  Vincent Lef��vre  <vincent@vinc17.net>
18659
18660	[src/get_str.c] Free the temporary memory allocated in the Ziv loop ASAP
18661	and at a single place (the code should be clearer like that).
18662
18663	[src/get_str.c] Code refactoring.
18664
18665	[tests/tget_str.c] Code formatting.
18666
18667	[tests/tget_str.c] Fixed a test that made mpfr_get_str crash with
18668	logging (even when the base is invalid, the MPFR number must be
18669	initialized).
18670
18671	[src/check.c] Added a note saying that mpfr_check() must not be called
18672	  on statically allocated numbers (only used inside MPFR).
18673	[src/get_str.c] Removed the "MPFR_ASSERTD (mpfr_check (p));" (added in
18674	  previous commit) because of that.
18675
18676	[src/get_str.c] Added some logging (MPFR_LOG_*), which triggers a crash
18677	in tget_str with MPFR_LOG_ALL=1. An analysis with gdb shows that this
18678	is due to an invalid MPFR number in mpfr_ceil_mul(). Added a
18679	  MPFR_ASSERTD (mpfr_check (p));
18680	there, which fails in tget_str (this was the cause of the crash), even
18681	without logging.
18682
186832014-10-29  Vincent Lef��vre  <vincent@vinc17.net>
18684
18685	mpfr_get_str now sets the NaN flag on NaN input. See:
18686	  https://sympa.inria.fr/sympa/arc/mpfr/2014-10/msg00013.html and
18687	  https://gforge.inria.fr/tracker/index.php?func=detail&aid=18228&group_id=136&atid=619
18688	Also completed the mpfr_get_str description in mpfr.texi concerning
18689	the special numbers and the exception flags.
18690
186912014-10-28  Vincent Lef��vre  <vincent@vinc17.net>
18692
18693	[doc/mpfr.texi] Updated the month.
18694
18695	[doc/mpfr.texi] Removed a spurious "an".
18696
18697	[src/get_str.c] Improved style consistency.
18698
18699	[doc/mpfr.texi] In the mpfr_get_str description, note that the type
18700	mpfr_exp_t is large enough to hold the exponent in all cases.
18701
18702	[doc/mpfr.texi] Improved mpfr_get_str description concerning the
18703	returned pointer (it was ambiguous in the case of an invalid base).
18704
187052014-10-09  Vincent Lef��vre  <vincent@vinc17.net>
18706
18707	[tests/tests.c] Updated the error message last changed.
18708
18709	[tests/tests.c] Updated the error message last changed + comment.
18710
187112014-10-08  Vincent Lef��vre  <vincent@vinc17.net>
18712
18713	[tests/Makefile.am] Added a reference to the bug I've just reported
18714	against GNU Automake (completing the other references).
18715
18716	[tests/tests.c] Updated the error message last changed.
18717
187182014-10-07  Vincent Lef��vre  <vincent@vinc17.net>
18719
18720	[tests/tests.c] Changed an error message.
18721
187222014-10-06  Vincent Lef��vre  <vincent@vinc17.net>
18723
18724	[src/sum.txt] Update.
18725
18726	[src/sum.c] Improved a comment.
18727
18728	[src/sum.c] Got rid of maxexp2 in the mpfr_sum function, since after the
18729	  sum in the main iteration, the old maxexp value is no longer needed:
18730	  it's simpler to reuse maxexp for maxexp2 since maxexp2 will be the new
18731	  maxexp value at the next iteration.
18732	[src/sum.txt] Update, in particular concerning the variables used in the
18733	  implementation.
18734
187352014-09-09  Vincent Lef��vre  <vincent@vinc17.net>
18736
18737	[tests] Corrections for builds with "config.h".
18738
187392014-08-26  Vincent Lef��vre  <vincent@vinc17.net>
18740
18741	[src/sum.c] Reset copyright years to 2014 since the whole file is
18742	being rewritten from scratch (i.e. everything is new material).
18743
18744	[src/sum.txt] Update.
18745
187462014-08-25  Vincent Lef��vre  <vincent@vinc17.net>
18747
18748	[src/sum.*] Update (Step 7, including a part of Step 8 in Step 7).
18749
18750	[src/sum.c] Correction (Step 7).
18751
18752	[src/sum.c] Corrected r9197 (two "else" branches were mixed up), and
18753	update (Step 8).
18754
18755	[src/sum.c] Correction when determining the early value of inex.
18756
18757	[src/sum.c] Update (Step 8).
18758
18759	[src/sum.txt] Update about the value of d.
18760
18761	[src/sum.c] Added comments for Step 7 about carry and inex.
18762
187632014-08-22  Vincent Lef��vre  <vincent@vinc17.net>
18764
18765	Merged the latest changes from the trunk (here, tools/mpfrlint).
18766
18767	[tools/mpfrlint] Avoid false positives in the check of MPFR_LOG_MSG.
18768
18769	[src/sum.*] Update (Step 7).
18770
187712014-08-21  Vincent Lef��vre  <vincent@vinc17.net>
18772
18773	[src/sum.txt] Updated Note 2 again.
18774
18775	[src/sum.txt] Updated Note 2.
18776
18777	[src/sum.*] Various corrections, and update.
18778
18779	Merged the latest changes from the trunk.
18780
18781	[src] Cleaner use of MPFR_SET_SIGN.
18782
187832014-08-19  Vincent Lef��vre  <vincent@vinc17.net>
18784
18785	[src/sum.c] Updated comments.
18786
18787	[src/sum.c] Update (Step 7).
18788
18789	[src/sum.c] Improved description of sum_raw.
18790
18791	[src/sum.c] Added description of sum_raw.
18792
187932014-08-18  Vincent Lef��vre  <vincent@vinc17.net>
18794
18795	[src/sum.c] Suppressed a level of block (which became rather useless
18796	now that Step 3 has been moved to a separate function).
18797
18798	[src/sum.c] Moved Step 3 to a separate auxiliary function sum_raw.
18799
18800	[src/sum.c] Renamed variables: p -> x, pe -> xe, pq -> xq (because
18801	the p suffix is used here for pointers to mp_limb_t).
18802
18803	[src/sum.c] Updated comments.
18804
188052014-08-17  Vincent Lef��vre  <vincent@vinc17.net>
18806
18807	[TODO] Added item on tests (mpfr.h macros vs mpfr-impl.h).
18808
18809	[src/mpfr.h] Fixed the mpfr_signbit() macro, which depended on
18810	mpfr-impl.h (the problem wasn't detected in the tests since mpfr-impl.h
18811	is included in them). Thanks to Rob for the bug report.
18812
188132014-08-14  Vincent Lef��vre  <vincent@vinc17.net>
18814
18815	[src/sum.*] Update (Step 7).
18816
188172014-08-13  Vincent Lef��vre  <vincent@vinc17.net>
18818
18819	[src/sum.txt] Update.
18820
18821	[src/sum.txt] Update (another tricky case).
18822
188232014-08-12  Vincent Lef��vre  <vincent@vinc17.net>
18824
18825	[src/sum.txt] Update.
18826
18827	[src/sum.txt] Update.
18828
188292014-08-11  Vincent Lef��vre  <vincent@vinc17.net>
18830
18831	[src/sum.*] Completed Step 6.
18832
188332014-08-08  Vincent Lef��vre  <vincent@vinc17.net>
18834
18835	[src/sum.txt] Update.
18836
18837	[src] Moved the comment about the mpfr_sum algorithm from sum.c to
18838	a new file sum.txt (this will later go into algorithms.tex).
18839
188402014-08-06  Vincent Lef��vre  <vincent@vinc17.net>
18841
18842	[src/sum.c] Updated the algorithm.
18843
18844	[src/sum.c] Updated the algorithm.
18845
188462014-08-05  Vincent Lef��vre  <vincent@vinc17.net>
18847
18848	[src/sum.c] Added some log messages.
18849
18850	Merged the latest changes from the trunk (but reverted tests/tsum.c).
18851
18852	[tools/mpfrlint] Improved check of MPFR_LOG_MSG.
18853
18854	[tools/mpfrlint] Replaced {src,tests}/*.{c,h} by $srctests.
18855
18856	[src/ai.c] Corrected log messages.
18857
18858	[doc/mpfr.texi] Updated the month.
18859
18860	Update concerning the P type specifier for formatted output, since
18861	mpfr_prec_t was changed to a signed type in MPFR 3.0.0.
18862	  * doc/mpfr.texi: d and i can be used (o, u, x, and X are still OK
18863	    in practice since a mpfr_prec_t value is usually nonnegative);
18864	    changed a "unsigned int" to "int".
18865	  * src/vasprintf.c: updated a comment.
18866
188672014-07-23  Vincent Lef��vre  <vincent@vinc17.net>
18868
18869	[tests/mpf_compat.h] Fixed a bug (mpf_set_prec_raw usage with GMP/MPF).
18870
18871	[tests]
18872	  * mpfr-test.h: no longer include <stdio.h> right here since the
18873	    included mpfr-impl.h does that and even better for C++.
18874	  * mpf_compat.c, mpfr_compat.c: include mpfr-test.h as it does useful
18875	    things (in particular, include config.h via mpfr-impl.h if there
18876	    is one, and define __MPFR_TEST_H__ for mpfr-impl.h).
18877	  * mpf_compat.h: no longer include some headers already included
18878	    via mpfr-test.h (see above change); added tests_start_mpfr and
18879	    tests_end_mpfr (showing memory inconsistency with mpf_compat).
18880
188812014-07-20  Vincent Lef��vre  <vincent@vinc17.net>
18882
18883	[src/get_str.c] Coding style: better code for a boolean.
18884
188852014-07-17  Vincent Lef��vre  <vincent@vinc17.net>
18886
18887	[src/sum.c] Update.
18888
188892014-07-10  Vincent Lef��vre  <vincent@vinc17.net>
18890
18891	[doc/README.dev] "To make a release": check also without mpz_t caching.
18892
18893	[tools/ck-copyright-notice] Ignore src/mini-gmp.[ch] files.
18894	[tools/mpfrlint]
18895	  * Ignore src/mini-gmp.[ch] files for some tests.
18896	  * Check that __gmp[nz]_ functions are not used (with 2 exceptions),
18897	    since this breaks the support of mini-gmp and may also break
18898	    future/modified GMP versions.
18899	    Note: only code added in r8911 (mpz_t caching) currently fails to
18900	    follow this rule.
18901
18902	Do not test include guards before a #include: the test must be done only
18903	in the included file itself. Note that some files such as mpfr.h may
18904	have multiple parts that could be enabled depending on the context, so
18905	that testing a guard before a #include may yield incorrect behavior.
18906
189072014-07-09  Vincent Lef��vre  <vincent@vinc17.net>
18908
18909	[doc/README.dev] Updated the list of macros used for building and
18910	checking MPFR.
18911
18912	[acinclude.m4] Corrected a message.
18913
189142014-07-08  Vincent Lef��vre  <vincent@vinc17.net>
18915
18916	Renamed the MPFR_TEST_DIVBYZERO macro to MPFR_TESTS_DIVBYZERO
18917	for consistency with MPFR_TESTS_TIMEOUT.
18918
189192014-07-07  Vincent Lef��vre  <vincent@vinc17.net>
18920
18921	[tests] Minor improvements.
18922
18923	[tests/reuse.c,tests/taway.c] Added mpfr_ai and mpfr_digamma.
18924
18925	[tests/tmul_d.c] Minor improvement.
18926
18927	[src/mul.c] Fixed a test when MPFR_WANT_ASSERT >= 2 (NaN with non-NaN
18928	was not detected as an error).
18929
18930	[src] MPFR_WANT_ASSERT clean-up.
18931	Note: the mul.c test for MPFR_WANT_ASSERT >= 3 is now enabled for
18932	MPFR_WANT_ASSERT = 2 (since setting MPFR_WANT_ASSERT to 3 was not
18933	possible with configure options), and fixed.
18934
18935	Added debug of branch prediction / --enable-debug-prediction configure
18936	option (patch from Patrick P��lissier, with some changes).
18937
189382014-07-02  Vincent Lef��vre  <vincent@vinc17.net>
18939
18940	[src/round_raw_generic.c] Updated comment about MPFR_RNDNA.
18941
18942	[doc/mini-gmp] Added a note about MPFR_USE_MINI_GMP.
18943
18944	[doc/README.dev] Added an item on the use of GMP functions.
18945
18946	[doc/README.dev] "To make a release": test with mini-gmp.
18947
18948	Removed the need of MPFR_USE_MINI_GMP tests for mpfr_[ne]random
18949	functions (source and tests) as mpfr_random_deviate_value no longer
18950	needs mpq_t (since r9066). Also removed a static assertion in
18951	src/random_deviate.c for the same reason.
18952	Note: the change done in r9133 is now really useful!
18953
18954	[src/mpfr.h] Added other missing "#ifndef MPFR_USE_MINI_GMP".
18955
18956	[tests/t[ne]random.c] Code clean-up: added !defined(MPFR_USE_MINI_GMP)
18957	to protect mpfr_printf. This is actually not needed due to the initial
18958	"#ifndef MPFR_USE_MINI_GMP" but this is for a different reason.
18959
18960	[tests/t[ne]random.c] Reverted the changes done in r9126,9127,9130
18961	and added a proper comment.
18962
18963	[src/mpfr.h] Added a missing "#ifndef MPFR_USE_MINI_GMP"
18964	(not really useful, but cleaner).
18965
18966	[tests/t[ne]random.c] Fixed the change done in r9126 and r9127.
18967
18968	Renamed WANT_MINI_GMP to MPFR_USE_MINI_GMP as it is used in mpfr.h
18969	(all MPFR macros that appear there should start with MPFR_ to avoid
18970	conflicts with other software).
18971
18972	[tools/mpfrlint] Detect the possible use of forbidden macros in mpfr.h.
18973
18974	[tests/terandom.c] Put the WANT_MINI_GMP test at the right place, like
18975	what has been done for "tests/tnrandom.c".
18976
18977	[tests/tnrandom.c] Put the WANT_MINI_GMP test at the right place
18978	(at the same time of the HAVE_STDARG test), but this should be
18979	improved in the future, e.g. with a HAVE_MPFR_PRINTF macro.
18980
189812014-07-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
18982
18983	added comment
18984
189852014-07-02  Vincent Lef��vre  <vincent@vinc17.net>
18986
18987	[src/mul.c] Minor correction of a comment.
18988
189892014-07-01  Vincent Lef��vre  <vincent@vinc17.net>
18990
18991	[tests/trandom_deviate.c] Correction (fprintf format).
18992
189932014-07-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
18994
18995	patch from Charles Karney:
18996	> Here is the patch which repeats the chi-squared tests in the case of
18997	> suspiciously high values.  The probability of a false positive is now
18998	> 1/10^9.  I also got rid of the mpfr_printf's.
18999
190002014-06-30  Vincent Lef��vre  <vincent@vinc17.net>
19001
19002	[tools/build-patch]
19003	  * Removed unnecessary quotes for better readability (this is zsh).
19004	  * When <patchlevel> (second argument) is used, use the correct name
19005	    for the generated patch; at the same time, fixed a checkobj call.
19006	  * Added comment about typical usage.
19007
19008	[tools/build-patch] Correction if MPFR_CURRENT_DIR is set: to make sure
19009	that it is always up-to-date, we want to allow it to be a symlink (e.g.
19010	.../mpfr-current), so that we want to call realpath on it.
19011
19012	Added tools/build-patch zsh script to transform a raw patch into a patch
19013	to be put on the MPFR www server.
19014
19015	[src/mpfr.h] For the mpfr_{mul,div}_si macros: s/positive/non-negative/
19016
19017	[configure.ac] Correction of two "configure --help" messages
19018	(from Patrick P��lissier and other changes).
19019
19020	[src/mpfr.h] Coding style.
19021
19022	New macros for mpfr_{mul,div}_ui to optimize the call when the integer
19023	is a constant number that is a power of 2.
19024	New macros for mpfr_{mul,div}_si to optimize the call when the integer
19025	is a constant number that is positive.
19026	(Modified patch from Patrick P��lissier)
19027
190282014-06-26  Vincent Lef��vre  <vincent@vinc17.net>
19029
19030	[src/vasprintf.c] Improved comments.
19031
19032	[src/vasprintf.c] Fixed assertion failures for tiny numbers (the code
19033	was correct, but the assertions didn't check against the right bound).
19034
19035	[src/div.c] Bug fix: avoid integer overflow in the code added in r9086
19036	(now tdiv no longer fails).
19037
19038	[src/div.c] Bug fix: avoid an integer overflow when dividing the
19039	largest finite MPFR number by the smallest positive one.
19040	(merged changeset r9105 from the 3.1 branch)
19041
19042	[tests/tdiv.c] Forgot "exit (1);".
19043
19044	[tests/tdiv.c] Added mpfr_div tests on extreme values. This detects
19045	2 problems (at least on a 64-bit machine): a result is not a valid
19046	MPFR number (mpfr_check fails) and the flags are incorrect.
19047
190482014-06-25  Vincent Lef��vre  <vincent@vinc17.net>
19049
19050	[tests/tsprintf.c] Fixed test added in r9099 (the problem was unrelated
19051	to the bug in vasprintf.c).
19052
19053	[tests/tsprintf.c] Added a test with the minimum exponent
19054	(currently triggers an assertion failure in vasprintf.c).
19055
190562014-06-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
19057
19058	define MPFR_SKIP_EXTREME to avoid currently failing tsum test
19059
190602014-06-25  Vincent Lef��vre  <vincent@vinc17.net>
19061
19062	[tests/tsum.c] Do not run the check_extreme test (which currently fails)
19063	when the MPFR_SKIP_EXTREME environment variable is defined.
19064
190652014-06-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
19066
19067	reconfigure for mpfrbench
19068
19069	speedup in mpfr_div for n/n division, using mpz_tdiv_q
19070
190712014-06-25  Vincent Lef��vre  <vincent@vinc17.net>
19072
19073	[tools/mpfrlint] Check when simple mp_limb_t constants could be used
19074	(MPFR_LIMB_ZERO, MPFR_LIMB_ONE, and MPFR_LIMB_MAX).
19075
19076	Merged the latest changes from the trunk.
19077
19078	Use MPFR_IS_NEG and MPFR_IS_POS instead of comparing the sign with 0.
19079	Done with
19080	  perl -pi -e '
19081	    s/MPFR_SIGN *\(([^)]+)\) *<=? *0/MPFR_IS_NEG ($1)/g;
19082	    s/MPFR_SIGN *\(([^)]+)\) *>=? *0/MPFR_IS_POS ($1)/g;
19083	    ' {src,tests}/*.{c,h}
19084	and some manual changes.
19085
19086	More code clean-up (for both consistency and readability):
19087	  * Use the simple mp_limb_t constants when possible.
19088	  * New internal macro MPFR_IS_NORMALIZED.
19089	Note: this was done with
19090	  perl -pi -e '
19091	    s/~ *\(mp_limb_t\) *0/MPFR_LIMB_MAX/g;
19092	    s/\(mp_limb_t\) *-1/MPFR_LIMB_MAX/g;
19093	    s/\(mp_limb_t\) *0/MPFR_LIMB_ZERO/g;
19094	    s/\(mp_limb_t\) *1L?/MPFR_LIMB_ONE/g' {src,tests}/*.{c,h}
19095	  svn revert src/mpfr-impl.h
19096	and some manual changes.
19097
19098	Code clean-up:
19099	  * Simplified the definition of simple mp_limb_t constants: it is
19100	    better to avoid GMP internals when there is a standard way.
19101	  * Replaced the use of MP_LIMB_T_MAX by the new macro MPFR_LIMB_MAX.
19102	  * So, removed the now useless MP_LIMB_T_MAX and GMP_LIMB_HIGHBIT
19103	    definitions from "mpfr-gmp.h".
19104
19105	[src/mpfr-mini-gmp.h] GMP_NUMB_MASK is no longer needed.
19106
19107	[tests/random2.c] Removed a useless use of GMP_NUMB_MASK.
19108
19109	[src/div.c] In the case where the divisor has one limb (latest commit),
19110	check that the value of this limb fits in an unsigned long, otherwise
19111	mpfr_div_ui cannot be used. Indeed, according to the GMP manual ��2.2,
19112	a limb may be a long long (actually unsigned):
19113	  For example in some 32-bit ABIs, GMP may support a limb as either a
19114	  32-bit `long' or a 64-bit `long long'.
19115	Note: if a limb is an unsigned long, this new test will be no-op, since
19116	always true.
19117
191182014-06-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
19119
19120	speedup of mpfr_div when divisor has one limb
19121
191222014-06-25  Vincent Lef��vre  <vincent@vinc17.net>
19123
19124	[src/random_deviate.h] Fixed prototypes:
19125	  * Added __MPFR_DECLSPEC to avoid failure with Windows DLL; see
19126	    https://sympa.inria.fr/sympa/arc/mpfr/2014-06/msg00003.html
19127	  * Added _MPFR_PROTO for consistency (though it will probably
19128	    be removed in the near future).
19129	  * Removed variable names (coding style).
19130
191312014-06-24  Vincent Lef��vre  <vincent@vinc17.net>
19132
19133	[tests] Added terandom_chisq and tnrandom_chisq to svn:ignore property.
19134
19135	[tests] Applied patch by Charles Karney (chi-squared tests for
19136	mpfr_[ne]random), together with the contents of his mail about
19137	this patch.
19138
191392014-06-23  Vincent Lef��vre  <vincent@vinc17.net>
19140
19141	[doc/mpfr.texi] Updated the month.
19142
191432014-06-22  Vincent Lef��vre  <vincent@vinc17.net>
19144
19145	Updated URL's.
19146
19147	[doc/README.dev] Updated URL's (use of https instead of http).
19148
191492014-06-20  Vincent Lef��vre  <vincent@vinc17.net>
19150
19151	[src/sum.c] At Step 2, ignore the input bits of exponent >= maxexp.
19152
19153	[src/sum.c] Fixed maxexp2 update, and added truncflag for future
19154	truncation on the most significant part >= maxexp at Step 2 (TODO).
19155
191562014-06-19  Vincent Lef��vre  <vincent@vinc17.net>
19157
19158	[src/sum.c] Another major update concerning the algo and Step 2.
19159
19160	[src/sum.c] Added a TODO about carry propagation (so, it seems that
19161	using two windows may not really be that interesting to guarantee a
19162	low complexity).
19163
191642014-06-17  Vincent Lef��vre  <vincent@vinc17.net>
19165
19166	[src/sum.c] Implemented Step 2.
19167
19168	[tests/trandom_deviate.c] New version, with fixes of ternary value
19169	(inexact) handling by Charles Karney.
19170
19171	[tests] Added trandom_deviate to svn:ignore property.
19172
19173	[tests/trandom_deviate.c] GNU style and C90 compatibility.
19174
19175	[doc/README.dev] Updated note about ternary values (macros).
19176
19177	[doc/README.dev] Added a note about ternary values.
19178
191792014-06-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
19180
19181	patches from Charles Karney
19182
191832014-06-17  Vincent Lef��vre  <vincent@vinc17.net>
19184
19185	[tests/trandom_deviate.c] Removed useless "#ifdef HAVE_STDARG":
19186	printf is a standard C function and is always defined.
19187
19188	[tests/trandom_deviate.c] GNU style. Pre-C99 compatibility
19189	(statements after declarations).
19190
19191	[tests/trandom_deviate.c] Untabified.
19192
191932014-06-16  Vincent Lef��vre  <vincent@vinc17.net>
19194
19195	[src/sum.c] Updated the algorithm and started to rewrite again,
19196	in a cleaner way and with more comments.
19197
191982014-06-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
19199
19200	added trandom_deviate.c to improve coverage (contributed by Charles Karney)
19201
19202	updated information about coverage test
19203
192042014-06-05  Vincent Lef��vre  <vincent@vinc17.net>
19205
19206	[src/mul.c] English usage in a comment.
19207
192082014-06-03  Vincent Lef��vre  <vincent@vinc17.net>
19209
19210	[tests/tset_ld.c] Updated a comment.
19211
192122014-05-22  Vincent Lef��vre  <vincent@vinc17.net>
19213
19214	Changed "INRIAGForge" to "InriaForge" (due to the rename).
19215
192162014-05-14  Vincent Lef��vre  <vincent@vinc17.net>
19217
19218	[doc/README.dev] Correction about clang sanitizer: mention the
19219	-fno-sanitize=float-cast-overflow,float-divide-by-zero option.
19220
19221	[doc/README.dev] About clang sanitizer, mention the
19222	-fno-sanitize=float-divide-by-zero option.
19223
192242014-05-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
19225
19226	added description of algorithm used for mpfr_log (from Sylvie Boldo)
19227
192282014-04-25  Vincent Lef��vre  <vincent@vinc17.net>
19229
19230	[doc/README.dev] Updated an old note about GCC 4.9.
19231
19232	[doc/README.dev] Completed the note about GCC's sanitizer. See
19233	  https://gcc.gnu.org/bugzilla/show_bug.cgi?id=44786 (sanitizer)
19234	  https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60275 (no recover)
19235
19236	[doc/README.dev] Completed the note about GCC's sanitizer.
19237
19238	[doc/README.dev] Mention that GCC 4.9 supports "-fsanitize=undefined".
19239
192402014-04-22  Vincent Lef��vre  <vincent@vinc17.net>
19241
19242	[tests/tpow.c] Removed comment that can now be confusing: try_mpfr.html
19243	was actually not using the mpfr_pow function, but exp(y*log(x)).
19244
19245	[tests/tpow.c] Added a test corresponding to buggy output on
19246	http://ex-cs.sist.ac.jp/~tkouya/try_mpfr.html but everything
19247	is OK in r9038.
19248
192492014-04-15  Vincent Lef��vre  <vincent@vinc17.net>
19250
19251	[doc/README.dev] Update about patches and autotools files.
19252
19253	[doc/README.dev] Update about patches and autotools files.
19254
19255	[tests/tsum.c] Changed initialization in check_extreme(), which wasn't
19256	supported by ISO C90.
19257
19258	[free_cache.c] Avoid mixed declarations and code for ISO C90 support.
19259
19260	Re-added configure test on GMP_NUMB_BITS and sizeof(mp_limb_t), and
19261	updated it:
19262	  * BYTES_PER_MP_LIMB is no longer tested (see r9029).
19263	  * The test is now always run, not just when --with-gmp-build is used.
19264	  * Results are output in config.log in case of failure.
19265	  * The error message has been updated.
19266
192672014-04-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
19268
19269	BYTES_PER_MP_LIMB -> MPFR_BYTES_PER_MP_LIMB for GMP 6 compatibility
19270	when --with-gmp-build is used. See mailing-list discussion:
19271	  https://sympa.inria.fr/sympa/arc/mpfr/2014-04/msg00000.html
19272
192732014-04-11  Vincent Lef��vre  <vincent@vinc17.net>
19274
19275	[src/sum.c] Updated comment to be even more clear, with more details.
19276
192772014-04-07  Vincent Lef��vre  <vincent@vinc17.net>
19278
19279	[src/sum.c] Updated comment.
19280
19281	[src/sum.c] Updated comment.
19282
19283	[src/sum.c] Improved (corrected) algo in comment. Code not updated.
19284
192852014-03-28  Vincent Lef��vre  <vincent@vinc17.net>
19286
19287	[src/sum.c] Update.
19288
19289	[src/sum.c] Added a comment.
19290
19291	[src/sum.c] Update.
19292
192932014-03-26  Vincent Lef��vre  <vincent@vinc17.net>
19294
19295	[src/sum.c] More thoughts about the algorithm and its implementation.
19296
192972014-03-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
19298
19299	other argument reduction for log_ui
19300
193012014-03-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
19302
19303	mpn_sqrtrem (rp, sp, sp, rrsize) is faster than
19304	mpn_sqrtrem (rp, NULL, sp, rrsize): avoids one allocation and one copy
19305
193062014-03-25  Vincent Lef��vre  <vincent@vinc17.net>
19307
19308	[src/sum.c] Update.
19309
19310	Merged the latest changes from the trunk.
19311
19312	Added MPFR_PREC_COND, MPFR_PREC_IN_RANGE and MPFR_GET_PREC internal
19313	macros (to mpfr-impl.h). Use these macros at some places in the code
19314	(replacing some MPFR_PREC instances, as suggested by a patch from
19315	Patrick P��lissier).
19316
19317	[src/mpfr-impl.h] Added an MPFR_ASSERTD in MPFR_MPZ_SIZEINBASE2
19318	(from a patch by Patrick P��lissier).
19319
19320	[src/sqrt.c] Replaced a MPFR_EXP by MPFR_SET_EXP (from a patch by
19321	Patrick P��lissier).
19322
19323	[src/div.c] Added MPFR_ASSERTD assertions and improved a test
19324	(patch from Patrick P��lissier).
19325
193262014-03-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
19327
19328	fixed FIXME
19329
193302014-03-17  Vincent Lef��vre  <vincent@vinc17.net>
19331
19332	[doc/algorithms.*] A formula about radix conversion was incorrect
19333	(and didn't match the correct code) when the output radix b is a
19334	power of two. Added reference to Matula's "In-and-Out Conversions"
19335	(correctness and optimality of the formula) and left a FIXME.
19336	For more information, see the August/September discussion in the
19337	MPFR list, particular subthreads starting at:
19338	  https://sympa.inria.fr/sympa/arc/mpfr/2012-08/msg00028.html
19339	  https://sympa.inria.fr/sympa/arc/mpfr/2012-09/msg00000.html
19340	  https://sympa.inria.fr/sympa/arc/mpfr/2012-09/msg00011.html
19341
193422014-03-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
19343
19344	added item
19345
193462014-03-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
19347
19348	added item (mpfr_log_ui)
19349
193502014-03-14  Vincent Lef��vre  <vincent@vinc17.net>
19351
19352	[src/sum.c] Corrected the detection of Inf. Improved algo in comment.
19353
19354	[tests/tsum.c] Improved check_more_special test.
19355
19356	[tests/tsum.c] Added check_more_special test.
19357
19358	[doc/mpfr.texi] Updated the month.
19359
19360	[doc/mpfr.texi] Correction in the mpfr_set_str description.
19361
19362	Rewrote special cases of mpfr_sum.
19363
193642014-03-10  Vincent Lef��vre  <vincent@vinc17.net>
19365
19366	Added a TODO item concerning gmp_op.c functions with mpz_srcptr and
19367	the use of mpz_fits_slong_p and a mpfr_*_si function (see r8992).
19368
193692014-03-02  Vincent Lef��vre  <vincent@vinc17.net>
19370
19371	[src/mpfr-impl.h] Fixed the mpfr_get_default_rounding_mode() macro for
19372	C++ (it didn't have the correct type), and improved the similar ones.
19373
19374	[src/lngamma.c] Fixed allocation.
19375
19376	[src/lngamma.c] Temporarily disabled fast argument reconstruction
19377	because it doesn't compile with g++.
19378
193792014-03-01  Vincent Lef��vre  <vincent@vinc17.net>
19380
19381	Removed trailing spaces.
19382
193832014-02-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
19384
19385	[lngamma.c] implemented fast way of computing x*(x+1)*...*(x+k-1)
19386		    (it remains to speed up the computation of the Bernoulli numbers)
19387
19388	speedup of the mpfr_xxx_z functions when z fits in a long
19389
19390	explicit possible speedup in mpfr_[ln]gamma
19391
193922014-02-24  Vincent Lef��vre  <vincent@vinc17.net>
19393
19394	[doc/algorithms.tex] Avoid inconsistent spaces.
19395
193962014-02-21  Vincent Lef��vre  <vincent@vinc17.net>
19397
19398	[tools/mbench/README] Conversion into UTF-8.
19399
19400	[tools/mbench] Replaced GMP_RNDx by MPFR_RNDx.
19401
194022014-02-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
19403
19404	definitively fix the name mpfr_min_prec
19405
194062014-02-17  Vincent Lef��vre  <vincent@vinc17.net>
19407
19408	[src/bernoulli.c] Minor bug fixed and other improvements.
19409
194102014-02-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
19411
19412	update for mpfr_gamma and Bernoulli numbers
19413
194142014-02-17  Vincent Lef��vre  <vincent@vinc17.net>
19415
19416	[src/bernoulli.c] Fixed pointer types (build failure with -Werror).
19417
19418	[src/mpfr-impl.h] Removed obsolete mpfr_bernoulli_internal prototype,
19419	which makes the compilation of bernoulli.c fail.
19420
19421	[src/bernoulli.c] Improved isprime() by using MPFR_ASSERTD.
19422
194232014-02-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
19424
19425	use a faster algorithm (based on Von Staudt���Clausen theorem) to compute
19426	Bernoulli numbers -> speedup in mpfr_*gamma and mpfr_li2
19427
194282014-02-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
19429
19430	more changes suggested by Wolf Lammen (and also test 2^(-1074))
19431
194322014-02-16  Vincent Lef��vre  <vincent@vinc17.net>
19433
19434	[tests/memory.c] Limit heap memory to 4 MB. This should be sufficient.
19435	Currently, only tsum should fail, but mpfr_sum will be rewritten soon.
19436
194372014-02-15  Vincent Lef��vre  <vincent@vinc17.net>
19438
19439	[src/set_d.c] Fixed type to avoid non-representable unsigned ��� signed
19440	conversion.
19441
19442	[src/set_d.c] Correction when MPFR_WANT_ASSERT is defined.
19443
19444	Untabified and removed trailing spaces.
19445
194462014-02-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
19447
19448	partial patch from Wolf Lammen:
19449	- move the normalization code, necessary in an extremely rare corner case only,
19450	  out of the way of the normal case, for speed up
19451
19452	Rename MPFR gmp_randstate_ptr into mpfr_gmp_randstate_ptr
19453	(patch from Patrick P��lissier)
19454
194552014-02-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
19456
19457	print message for "possibly double-double, little endian" long double format
19458
19459	different fixes for set_ld, get_ld and cmd_ld with double-double
19460
194612014-02-14  Vincent Lef��vre  <vincent@vinc17.net>
19462
19463	[tests/tset_ld.c] Fixed an assertion to support systems where
19464	2^1023 + 2^(-1074) is exactly representable, while not detected
19465	as double-double.
19466
194672014-02-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
19468
19469	recognize long-double format for ppc64le
19470	(https://sympa.inria.fr/sympa/arc/mpfr/2014-02/msg00014.html)
19471
194722014-02-14  Vincent Lef��vre  <vincent@vinc17.net>
19473
19474	[TODO] Added item on special case of mpfr_add and mpfr_sub.
19475
194762014-02-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
19477
19478	added test for get_ld
19479
194802014-02-14  Vincent Lef��vre  <vincent@vinc17.net>
19481
19482	[src/cache.c]
19483	  * Improved r8966: Setting the cache size to 10% more than the
19484	    requested precision may be a bad idea in large precisions.
19485	    It's better to guarantee a minimum of 10% increase; if the
19486	    user wants to, he can still control the maximum precision by
19487	    pre-computing the constant at this precision. Also make sure
19488	    that if pold == 0, the mpfr_init2 size is the same as the
19489	    mpfr_set_prec one (in order to avoid immediate reallocation).
19490	  * Replaced a comment by a couple of MPFR_ASSERTD's.
19491
194922014-02-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
19493
19494	when recomputing a constant, use a precision 10% larger than the wanted
19495	precision to avoid many recomputations
19496
194972014-02-13  Vincent Lef��vre  <vincent@vinc17.net>
19498
19499	[src/round_raw_generic.c] Added a FIXME comment for MPFR_RNDNA.
19500
19501	[src/bernoulli.c] GNU style.
19502	[src/mpfr-impl.h] Corrected prototypes.
19503
195042014-02-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
19505
19506	implement cache for Bernoulli numbers (patch from Patrick P��lissier)
19507	tuned parameters for [ln]gamma now that we cache Bernoulli numbers
19508
19509	added bench target so that we can simply do "make bench"
19510
195112014-02-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
19512
19513	added test for double-double
19514
19515	added comment about mpfr_gamma
19516
19517	forgot to restore the exponents in last commit
19518
19519	added reference for efficiency issue with mpfr_gamma
19520
19521	improve mpfr_gamma at around 1000 bits
19522
195232014-02-12  Vincent Lef��vre  <vincent@vinc17.net>
19524
19525	[doc/mpfr.texi] Updated the month.
19526
19527	Merged the set_exp branch into the trunk. Changes:
19528	  * src/mpfr-impl.h: updated the MPFR_SET_EXP(x, exp) definition for
19529	    the MPFR_EXP_CHECK case. There are 2 consequences:
19530	    1. The exp expression is evaluated several times (this should be
19531	       OK with the MPFR code and optimizations).
19532	    2. The real value of exp is tested for the assertion, instead of
19533	       the value converted to mpfr_exp_t. Thus new bugs could be found
19534	       (e.g. when an unsigned type is used instead of signed).
19535	  * src/set_exp.c: set the exponent only if x is a non-zero ordinary
19536	    number, i.e. already has a valid significand and a valid exponent
19537	    (thus it is no longer a low-level function, and it can no longer
19538	    generate an invalid value from a valid one).
19539	  * doc/mpfr.texi: updated mpfr_set_exp description and added an item
19540	    in the "API Compatibility / Changed Functions" section.
19541	  * Clean-up.
19542	Original discussion:
19543	  https://sympa.inria.fr/sympa/arc/mpfr/2011-01/msg00092.html
19544
19545	[src/rint.c] Added FIXME comment.
19546
19547	[src/next.c] Improved handling of special values.
19548
19549	[src/hypot.c] Reverted changeset r8950 (MPFR_SET_EXP is OK).
19550
19551	[src/hypot.c] Replaced a MPFR_SET_EXP by MPFR_EXP.
19552
19553	[src/fpif.c] Bug fixes and code clean-up. At the same time, took the
19554	future mpfr_set_exp change into account (see set_exp branch).
19555
19556	[src/set.c] Cosmetic change.
19557
19558	[src/fpif.c] English usage.
19559
19560	[src/cache.c] Replaced a MPFR_SET_EXP by MPFR_EXP (in practice, the code
19561	was working, but just because MPFR_DECL_INIT_CACHE inits the cache with
19562	a real exponent, though the significand pointer is null).
19563
195642014-02-11  Vincent Lef��vre  <vincent@vinc17.net>
19565
19566	[src/mul.c] Cosmetic change.
19567
19568	[src/atan.c] Fixed types of some variables, in particular
19569	unsigned ��� signed conversion of non-representable value
19570	(detected due to the new MPFR_SET_EXP assertion check in
19571	the set_exp branch).
19572
19573	[src/atan.c] Fixed types of some variables, in particular
19574	unsigned ��� signed conversion of non-representable value.
19575	Now, all the tests pass on Linux/x86_64.
19576
19577	[src/exp3.c] Fixed types of some variables, in particular
19578	unsigned ��� signed conversion of non-representable value
19579	(detected due to the new MPFR_SET_EXP assertion check in
19580	the set_exp branch).
19581
19582	[src/exp3.c] Fixed types of some variables, in particular
19583	unsigned ��� signed conversion of non-representable value.
19584	Now, 161 tests pass and 8 tests fail on Linux/x86_64.
19585
19586	[src/{set_ui_2exp.c,set_uj.c}] Fixed types of some variables, in
19587	particular unsigned ��� signed conversion of non-representable value
19588	under some conditions.
19589
19590	[src/{set_ui_2exp.c,set_uj.c}] Fixed types of some variables, in
19591	particular unsigned ��� signed conversion of non-representable value
19592	under some conditions.
19593	This doesn't change the number of failed tests.
19594
19595	[src/{sqrt_ui.c,sub_ui.c,ui_div.c,ui_sub.c}] Changed cnt type from
19596	unsigned long to int (signed) due to the MPFR_SET_EXP requirement.
19597	Otherwise the code was correct.
19598	Now, 160 tests pass and 9 tests fail on Linux/x86_64.
19599
19600	[src/mpfr-impl.h] Added a comment about MPFR_SET_EXP: exp is required
19601	to have a signed type.
19602
19603	[src/{set_d.c,set_f.c}] Type clean-up to improve maintainability.
19604
19605	[src/random_deviate.c] Type clean-up to improve maintainability.
19606
19607	[src/set_si_2exp.c] Fixed unsigned ��� signed conversion of
19608	non-representable value when mpfr_exp_t has the same size
19609	as int.
19610
19611	[src/set_si_2exp.c] Fixed unsigned ��� signed conversion of
19612	non-representable value when mpfr_exp_t has the same size
19613	as int (unrelated to MPFR_SET_EXP change).
19614
19615	[src/add_ui.c] Cosmetic changes.
19616
19617	[src/add_ui.c] Fixed unsigned ��� signed conversion of non-representable
19618	value (detected due to the new MPFR_SET_EXP assertion check in the
19619	set_exp branch).
19620
19621	[src/add_ui.c] Fixed unsigned ��� signed conversion of non-representable
19622	value (detected due to the new MPFR_SET_EXP assertion check).
19623	Now, 92 tests pass and 77 tests fail on Linux/x86_64.
19624
19625	[src/random_deviate.c] Added an assertion.
19626
19627	[tests/random2.c] Fixed unsigned ��� signed conversion of
19628	non-representable value (detected due to the new MPFR_SET_EXP
19629	assertion check in the set_exp branch).
19630
19631	[tests/random2.c] Fixed unsigned ��� signed conversion of
19632	non-representable value (detected due to the new MPFR_SET_EXP
19633	assertion check).
19634	Now, 87 tests pass and 82 tests fail on Linux/x86_64.
19635
19636	Updated src/urandomb.c due to the change of mpfr_set_exp behavior.
19637	Now, 77 tests pass and 92 tests fail on Linux/x86_64.
19638
19639	[tests/trandom.c] Improved test to get an assertion failure instead of
19640	a segmentation fault.
19641
19642	Start of mpfr_set_exp behavior clean-up.
19643	  * src/mpfr-impl.h: updated the MPFR_SET_EXP(x, exp) definition for
19644	    the MPFR_EXP_CHECK case. There are 2 consequences:
19645	    1. The exp expression is evaluated several times (this should be
19646	       OK with the MPFR code and optimizations).
19647	    2. The real value of exp is tested for the assertion, instead of
19648	       the value converted to mpfr_exp_t. Thus new bugs can be found
19649	       (e.g. when an unsigned type is used instead of signed).
19650	  * src/set_exp.c: set the exponent only if x is a non-zero ordinary
19651	    number, i.e. already has a valid significand and a valid exponent
19652	    (thus it is no longer a low-level function, and it can no longer
19653	    generate an invalid value from a valid one).
19654	  * doc/mpfr.texi: updated mpfr_set_exp description and added an item
19655	    in the "API Compatibility / Changed Functions" section.
19656	Currently 73 tests pass and 96 fail on Linux/x86_64, either due to bugs
19657	or due to code not yet updated for this change.
19658
19659	Set svn:ignore property on the tools/bench directory.
19660
196612014-02-06  Vincent Lef��vre  <vincent@vinc17.net>
19662
19663	[src/set_ld.c] Added a note about the test for infinity.
19664
196652014-02-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
19666
19667	make -> make mpfrbench
19668
196692014-02-05  Vincent Lef��vre  <vincent@vinc17.net>
19670
19671	Removed MPFR_CHECK_MAX as it is now useless: all "max" tests succeed.
19672
19673	[src/lngamma.c] Fixed bug introduced in the latest change r8917
19674	(inexact was not initialized in the case compared < 0).
19675
196762014-02-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
19677
19678	added code for large inputs in lngamma/lgamma
19679
196802014-02-04  Vincent Lef��vre  <vincent@vinc17.net>
19681
19682	[TODO] Suggest timing-based thresholds for asymptotic expansions.
19683
196842014-02-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
19685
19686	use asymptotic expansion for large positive argument
19687
196882014-01-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
19689
19690	tiny change to distinguish different versions of the manual
19691
196922014-01-29  Vincent Lef��vre  <vincent@vinc17.net>
19693
19694	[src] Add constants:
19695	  * __gmpfr_mone = -1
19696	  * mpfr_const_log2_RNDD = log(2) rounded down in precision 64 bits
19697	  * mpfr_const_log2_RNDU = log(2) rounded up in precision 64 bits
19698	(modified patch from Patrick P��lissier).
19699
197002014-01-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
19701
19702	added reference
19703
197042014-01-29  Vincent Lef��vre  <vincent@vinc17.net>
19705
19706	[src] mpz_t caching (modified patch by Patrick P��lissier).
19707
19708	[src/const_pi.c] Rewrote a condition to avoid a potential
19709	integer overflow (?) and match a comment.
19710
19711	[src/const_pi.c] Use of GROUP allocation and minor optimization
19712	(modified patch by Patrick P��lissier).
19713
197142014-01-28  Vincent Lef��vre  <vincent@vinc17.net>
19715
19716	[TODO] Added a note about "rounding to odd" / "sticky rounding".
19717
197182014-01-27  Vincent Lef��vre  <vincent@vinc17.net>
19719
19720	[tools/mpfrlint] Run-time assertions concerning relations between
19721	the MPFR exponent type and the long type are allowed (see r8896).
19722
197232014-01-26  Vincent Lef��vre  <vincent@vinc17.net>
19724
19725	[tests/mpf_compat.h] In MPFR mode, skip the tests when mpfr_exp_t is not
19726	a long.
19727
19728	[tests/tset_ld.c] Fixed printf argument.
19729
19730	[tests/tgamma.c] Fixed printf argument (bug detected with
19731	_MPFR_EXP_FORMAT=2 and -Werror=format=).
19732
19733	[tools/bench/mpfrbench.c] No longer use the numberof macro, and
19734	#include "mpfr.h" instead of "mpfr-impl.h", so that mpfrbench.c
19735	can now be linked against an installed MPFR library.
19736
197372014-01-24  Vincent Lef��vre  <vincent@vinc17.net>
19738
19739	Added MPFR_CHECK_GMP configure check.
19740	Useful if the user provides --with-gmp with a directory containing
19741	a GMP version that doesn't have the correct ABI: the previous tests
19742	won't trigger the error if the same GMP version with the right ABI
19743	is installed on the system, as this library is automatically
19744	selected by the linker, while the header (which depends on the ABI)
19745	of the --with-gmp include directory is used. Before this test, one
19746	was getting an error in MPFR_CHECK_DBL2INT_BUG, though the error is
19747	not related to a double-to-integer conversion bug.
19748
19749	[src/mpfr-impl.h] Corrections for the case _MPFR_EXP_FORMAT == 4:
19750	   * No longer use MPFR_EXP_MIN and MPFR_EXP_MAX unconditionally in
19751	     a #if directive, since if MPFR_HAVE_INTMAX_MAX is not defined,
19752	     the compilation fails. The test was not really useful anyway:
19753	     if one really wants mpfr_eexp_t to be long int if mpfr_exp_t
19754	     has the same range as long int, then _MPFR_EXP_FORMAT == 3 is
19755	     sufficient (and this is the default).
19756	   * Removed a test that should be always true due to the previous
19757	     inclusion of mpfr.h (intmax_t has already been used there in
19758	     the case _MPFR_EXP_FORMAT == 4).
19759
19760	[doc/README.dev] Rephrased paragraph added in r8897.
19761
19762	[doc/README.dev] Added a note for Automake 1.13+ and failed tests.
19763
19764	[src] Replaced some MPFR_ASSERTN's by MPFR_STAT_STATIC_ASSERT (from the
19765	detection by mpfrlint). Note: the MPFR_ASSERTN's concerning relations
19766	between the MPFR exponent type and the long type have not been replaced
19767	because these tests may fail with the non-standard _MPFR_EXP_FORMAT = 4
19768	on some platforms (e.g. 32-bit ones), and we still want to be able to
19769	build MPFR in this case in order to test it; this needs to be fixed.
19770
19771	[tools/mpfrlint] Constant checking in assertions.
19772
19773	[src/mpfr-mini-gmp.c] Use lower case for function parameters.
19774
197752014-01-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
19776
19777	re-enable assertions (patch from Patrick P��lissier)
19778
19779	removed an MPFR_LIKELY that is not so likely...
19780
197812014-01-24  Vincent Lef��vre  <vincent@vinc17.net>
19782
19783	Optimization: likely / unlikely, etc. (patch by Patrick P��lissier).
19784	Coding style.
19785
19786	[tune/tuneup.c] Fix compilation error due to static assertion being
19787	wrong (patch by Patrick P��lissier).
19788
19789	[src/const_log2.c] Optimization by using GROUP allocation (patch
19790	by Patrick P��lissier).
19791
19792	[src/exp_2.c] Optimization: Increase the initial estimate of the number
19793	of iterations (patch by Patrick P��lissier).
19794
19795	[src/erfc.c] Use of static assertion instead of run time assertion
19796	(patch by Patrick P��lissier).
19797
19798	[src/sum.c] Removed trailing spaces.
19799
19800	[src/sin_cos.c] Optimization: use of MPFR_MPZ_SIZEINBASE2, GROUP
19801	allocation, and MPFR_ALIAS (modified patch by Patrick P��lissier).
19802
19803	[tools/mbench/mfv5-libc.cc] Fix warning when compiling with recent GCC
19804	due to unused but set variable (patch by Patrick P��lissier).
19805
198062014-01-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
19807
19808	revert to EXTRA_PROGRAMS (bin_PROGRAMS is installed in /usr/local/bin,
19809	which is not what we want, we could use noinst_PROGRAMS, which would be
19810	compiled automatically, but for coherence with GNU MPC we use EXTRA_PROGRAMS
19811	which is not compiled automatically)
19812
19813	divide the global score to get a number around 1000
19814
19815	added reference
19816
19817	gnu style
19818
198192014-01-23  Vincent Lef��vre  <vincent@vinc17.net>
19820
19821	Added libtool-tcc-wl.patch patch from
19822	  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=663945#46
19823	to add tcc support to libtool 2.4.2 and below.
19824	In doc/README.dev, documented how to use this patch (before a release).
19825
19826	[tests/tadd.c] Added check_extreme test (huge + tiny).
19827	[tests/tsum.c] Added check_extreme test (same test as in tadd.c,
19828	  but with mpfr_sum instead of mpfr_add), and temporarily disabled
19829	  the cancel test.
19830
19831	Use of the numberof macro.
19832
19833	[tools/bench/mpfrbench.c] Whitespace clean-up.
19834
19835	[src/const_euler.c] Removed trailing spaces.
19836
19837	[tools/bench/Makefile.am] Fix for separate build directory (problem
19838	detected with "make distcheck").
19839
19840	[src/sum.c] Updated comment.
19841
19842	[src/sum.c] Updated comment.
19843
19844	[src/sum.c] Added a possible algorithm in comment.
19845
19846	[src/sum.c] Added FIXME comment.
19847
198482014-01-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
19849
19850	missing space
19851
19852	Micka��l is the only author of MPFRbench
19853
19854	updated authors and contributors
19855
19856	new code for Euler's constant (contributed by Fredrik Johansson)
19857
19858	added subdir tools/bench
19859
19860	added MPFRbench
19861
19862	added MPFRbench
19863
19864	make mpfrbench compiled just with "make"
19865
19866	changes for MPFRbench
19867
19868	new directory for MPFRbench (contributed by Micka��l Gastineau and Bill Hart)
19869
198702014-01-22  Vincent Lef��vre  <vincent@vinc17.net>
19871
19872	[tests/tsum.c] Added a comment about the cancellation test.
19873
19874	[tests/tsum.c] In the cancellation test, do a random permutation.
19875
198762014-01-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
19877
19878	mention sponsors
19879
198802014-01-22  Vincent Lef��vre  <vincent@vinc17.net>
19881
19882	[tests/tsum.c] In the cancellation test: reduced the number of tests;
19883	output debug information when building with -DDEBUG.
19884
19885	[tests/tsum.c] Added simple cancellation test.
19886
19887	[tests/tests.c] Fixed tests_default_random in case mpfr_exp_t > long.
19888
19889	[doc/mpfr.texi] Improved mpfr_sum description.
19890
19891	[src/sum.c] Do not use bitwise operations on values that can be
19892	negative. Added comments about what the functions do.
19893
198942014-01-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
19895
19896	fixed regression noticed by Patrick Pelissier with --enable-gmp-internals
19897
198982014-01-22  Vincent Lef��vre  <vincent@vinc17.net>
19899
19900	[tests/tests.c] Fixed bug in test_version() introduced in r8821.
19901
19902	[src/lngamma.c] Fixed divide-by-zero flag for negative integers.
19903	[tests/tlngamma.c] Test the flags for some special values. Clean-up.
19904
199052014-01-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
19906
19907	removed two items done
19908
199092014-01-21  Vincent Lef��vre  <vincent@vinc17.net>
19910
19911	[src/{exp.c,exp_2.c}] mpfr_exp optimization (modified patch
19912	  by Patrick P��lissier).
19913	[src/round_prec.c] Added a note about the reallocation.
19914
19915	LIKELY some code.
19916
19917	[src/lngamma.c] Fixed mpfr_lngamma behavior on nonpositive integers
19918	  and -Inf.
19919	[doc/mpfr.texi] Updated the documentation on the general rules for
19920	  special values and on mpfr_lngamma.
19921	[tests/tlngamma.c] Update.
19922	See <https://sympa.inria.fr/sympa/arc/mpfr/2013-08/msg00008.html>
19923	(behavior of mpfr_lngamma on zero and general rule for such limits).
19924
19925	[acinclude.m4,configure.ac] Check that a directory passed to
19926	a --with-gmp* configure option exists and doesn't contain any
19927	space, and canonicalize the name if the realpath utility is
19928	available (patch by Patrick P��lissier).
19929
19930	[src/mul.c] Optimization (modified patch by Patrick P��lissier).
19931
19932	[src] Added support for MPFR_PURE_FUNCTION_ATTR, MPFR_HOT_FUNCTION_ATTR,
19933	and MPFR_COLD_FUNCTION_ATTR, and fixed some LIKELY/UNLIKELY conditions
19934	(modified patch by Patrick P��lissier).
19935
19936	[src/*.c] Replaced mpfr_set_divby0 by the faster MPFR_SET_DIVBY0,
19937	  and so on (except for src/exceptions.c).
19938	[tools/mpfrlint] Update for flags related functions: check that
19939	  the macros are used in src (except for exceptions.c and mpfr.h)
19940	  instead of the functions.
19941	[src/mpfr-impl.h] Removed some useless parentheses in comments,
19942	  for mpfrlint.
19943
199442014-01-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
19945
19946	added more detail in case of error
19947
199482014-01-21  Vincent Lef��vre  <vincent@vinc17.net>
19949
19950	[src/mpfr-impl.h] Added MPFR_SET_* macros to set flags efficiently.
19951
19952	Small mpfr_erf improvement (modified patch by Patrick P��lissier).
19953
19954	[src/mpfr-gmp.h] TMP_FREE optimization as tmp_marker is often null
19955	(based on a patch by Patrick P��lissier).
19956
19957	[configure.ac] --enable-mini-gmp message: fixed layout; experimental.
19958
19959	[NEWS] Mini-gmp support is experimental.
19960
19961	[NEWS] Mention the new --enable-mini-gmp configure option.
19962
19963	[NEWS] Mini-gmp support.
19964
19965	[NEWS] MPFR now depends on GMP 4.2+. Dropped K&R C compatibility.
19966
19967	[NEWS] Better Automake 1.13 support.
19968
19969	Merged the vl-am113 branch: test suite improvement with Automake 1.13.
19970	  * Moved GMP version check from tversion.c to the test_version()
19971	    function of tests.c, so that this check is done in every test.
19972	    This function now returns an int, as there are now 3 cases:
19973	    1. An error in MPFR version check is a fatal error: test_version()
19974	       exits with an error (exit status = 1).
19975	    2. An error in GMP version check is a non-fatal error: if there
19976	       are no errors in MPFR version check, test_version() returns
19977	       with value 1.
19978	    3. Otherwise test_version() returns with value 0 (everything is
19979	       fine).
19980	  * tversion.c still runs test_version(), but fails if this function
19981	    returns with an error, i.e. any error is fatal for this test.
19982	    Note: for the other tests, one just has a message in the output
19983	    in case of GMP version mismatch.
19984	  * mpfr-test.h: updated test_version() prototype.
19985	  * Makefile.am: removed the second tversion invocation, and output
19986	    the contents of tversion.log if this file exists (typically with
19987	    Automake 1.13+, for which one no longer gets tversion output by
19988	    default).
19989
19990	[tests/Makefile.am] Removed obsolete comment.
19991
199922014-01-20  Vincent Lef��vre  <vincent@vinc17.net>
19993
19994	Dropped obsolete __gmp_const (replaced by const).
19995
19996	[TODO] Removed mini-gmp support: done.
19997
19998	Small mpfr_exp improvement (modified patch by Patrick P��lissier).
19999
20000	[tools/mbench] Patch by Patrick P��lissier: import base support,
20001	corei7 support, build fix (with MPFR 3.1+).
20002
200032014-01-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
20004
20005	come back to revision 8723 which was faster (measured with tools/mbench/mfv5
20006	on 53 and 1024 bits). The reason is that the "new" version had overhead for
20007	mpfr_round_p (about 40 cycles on Core 2) and mpfr_set (about 98 cycles for
20008	53 bits, and 132 cycles for 1024 bits)
20009
200102014-01-20  Vincent Lef��vre  <vincent@vinc17.net>
20011
20012	Added __builtin_unreachable / MPFR_ASSUME support (modified patch
20013	from Patrick P��lissier).
20014
20015	MPFR now depends on GMP 4.2+ instead of 4.1+.
20016	GMP 4.2 compatibility fixed.
20017	Code clean-up.
20018	(Modified patch from Patrick P��lissier)
20019
20020	[src/fms.c] Coding style.
20021
20022	[src/fma.c] Changed mp_prec_t to mpfr_prec_t.
20023
200242014-01-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
20025
20026	added mpfr_fma
20027
200282014-01-20  Vincent Lef��vre  <vincent@vinc17.net>
20029
20030	[tests/tests.c] Output a \n between two error messages when need be.
20031
200322014-01-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
20033
20034	speed up mpfr_fma [common work with Jeroen Demeyer]
20035
200362014-01-20  Vincent Lef��vre  <vincent@vinc17.net>
20037
20038	[tests]
20039	  * Moved GMP version check from tversion.c to the test_version()
20040	    function of tests.c, so that this check is done in every test.
20041	    This function now returns an int, as there are now 3 cases:
20042	    1. An error in MPFR version check is a fatal error: test_version()
20043	       exits with an error (exit status = 1).
20044	    2. An error in GMP version check is a non-fatal error: if there
20045	       are no errors in MPFR version check, test_version() returns
20046	       with value 1.
20047	    3. Otherwise test_version() returns with value 0 (everything is
20048	       fine).
20049	  * tversion.c still runs test_version(), but fails if this function
20050	    returns with an error, i.e. any error is fatal for this test.
20051	    Note: for the other tests, one just has a message in the output
20052	    in case of GMP version mismatch.
20053	  * mpfr-test.h: updated test_version() prototype.
20054	  * Makefile.am: removed the second tversion invocation.
20055
20056	[tests/Makefile.am] Output the contents of tversion.log if this file
20057	exists (typically with Automake 1.13+, for which one no longer gets
20058	tversion output by default).
20059
200602014-01-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
20061
20062	simplified the fms code (joint work with Jeroen Demeyer)
20063
20064	fixed bug in mpfr_exp_3, and memory leak in texp
20065
200662014-01-20  Vincent Lef��vre  <vincent@vinc17.net>
20067
20068	[src/li2.c] Use MPFR_RET_NEVER_GO_HERE () instead of MPFR_ASSERTN (0)
20069	to avoid an error with:
20070	  ./configure --enable-logging CFLAGS="-Werror=return-type"; make
20071
20072	[src/mpfr-impl.h] Updated comment of the MPFR_RET_NEVER_GO_HERE macro.
20073
200742014-01-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
20075
20076	added new test that currently fails (found with mini-gmp)
20077
200782014-01-18  Vincent Lef��vre  <vincent@vinc17.net>
20079
20080	Spelling consistency:
20081	  non-negative ��� nonnegative
20082	  non-positive ��� nonpositive
20083
20084	[doc/README.dev] More on exponent handling.
20085
20086	[tests/tset_str.c] Fixed and improved a mpfr_set_str_binary random test.
20087	Some code clean-up.
20088
20089	[tests/tset_str.c] Removed useless and confusing cast.
20090
20091	[src/set_d.c] Improved a comment about signed zeros.
20092
200932014-01-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
20094
20095	fixed memory leak
20096
20097	instructions to compile MPFR with mini-gmp
20098
20099	disable those tests for mini-gmp
20100
20101	fixed test which might produce subnormal numbers
20102
20103	disable two tests that depend on the random generator
20104
20105	followup from previous commit: 1^Inf is special too
20106
20107	fixed issue for n^x with x=Inf when the random number n is 0
20108
20109	fixed issue when x=0 and y=Inf (or converse)
20110
20111	fixed issue when x=0 and y=Inf (or converse)
20112
20113	fixed bug in test file
20114
201152014-01-18  Vincent Lef��vre  <vincent@vinc17.net>
20116
20117	[src/set_d.c] Fixes and other minor changes suggested by Wolf Lammen:
20118	https://sympa.inria.fr/sympa/arc/mpfr/2014-01/msg00007.html
20119
20120	[src/set_d.c] In extract_double, replaced long by int for exp (it may be
20121	faster, and shouldn't be slower as it is more restrictive than long).
20122
20123	[src/set_d.c] Removed obsolete comment from r245.
20124
20125	[src/set_d.c] Renamed __gmpfr_extract_double to extract_double
20126	(this is just a static function).
20127
20128	[src/set_d.c] Fixed __gmpfr_extract_double precondition on d.
20129	Bug found by Wolf Lammen:
20130	  https://sympa.inria.fr/sympa/arc/mpfr/2014-01/msg00007.html
20131
201322014-01-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
20133
20134	more progress with mini-gmp:
20135	=======================
20136	9 of 157 tests failed
20137	(13 tests were not run)
20138	=======================
20139
201402014-01-18  Vincent Lef��vre  <vincent@vinc17.net>
20141
20142	[tests/{ty0,ty1}.c] Reduce emax for the generic tests.
20143
201442014-01-17  Vincent Lef��vre  <vincent@vinc17.net>
20145
20146	[src/lngamma.c] FIXME: proposed method for overflow detection.
20147
20148	[src/lngamma.c] Minor improvements.
20149
201502014-01-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
20151
20152	missing \n
20153
20154	missing \n
20155
20156	missing \n in error messages
20157
20158	missing \n in error messages
20159
201602014-01-17  Vincent Lef��vre  <vincent@vinc17.net>
20161
20162	[src/lngamma.c] Added a MPFR_LOG_FUNC.
20163
20164	[src/digamma.c] FIXME: for x large, use the asymptotic expansion.
20165
20166	[src/digamma.c] Added 2 MPFR_LOG_FUNC's.
20167
20168	[tests/tgeneric.c] Fixed bug found by PZ: code introduced in r4538 to
20169	test the maximum (in absolute value) positive and negative arguments
20170	was buggy, as only the negative one was tested.
20171	��� This makes some tests fail on the maximum positive argument.
20172
201732014-01-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
20174
20175	some progress with mini-gmp:
20176	=======================
20177	34 of 157 tests failed
20178	(13 tests were not run)
20179	=======================
20180
20181	mpn_copyd (rp, sp, n) should be used when rp >= sp
20182
20183	fixed bug which could appear with probability 1/2^32 or 1/2^64
20184
201852014-01-17  Vincent Lef��vre  <vincent@vinc17.net>
20186
20187	[src/mpfr-mini-gmp.c] Removed trailing spaces.
20188
20189	[tools/mpfrlint] Update due to the mini-gmp support (r8753).
20190
20191	[tests] Various fixes for r8753.
20192
20193	[src/mpfr.h] Indentation.
20194
20195	[src/mpfr-impl.h] Indentation.
20196
20197	Avoid an empty translation unit (see ISO C99, 6.9). Some errors could
20198	be triggered with "gcc -std=c99 -pedantic-errors".
20199
202002014-01-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
20201
20202	more progress for the mini-gmp interface
20203
202042014-01-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
20205
20206	added two new files for mini-gmp interface
20207
20208	first step towards making MPFR compile with --enable-mini-gmp, so far make
20209	succeeds and all tests compile, but many tests fail, will investigate later
20210
202112014-01-16  Vincent Lef��vre  <vincent@vinc17.net>
20212
20213	[src/get_z_exp.c] Added an assert for security in case the precision is
20214	large, but the error should be handled properly (to be discussed).
20215	Note: there are still corrupt memory problems when the precision is
20216	large enough but below the mpz limit (a bug in GMP?).
20217	Note [VL, 2014-01-17]: these problems are due to an integer overflow in
20218	mpz/clear.c of GMP 5.1.3; I've reported the bug here:
20219	  https://gmplib.org/list-archives/gmp-bugs/2014-January/003321.html
20220
20221	[src/get_z_exp.c] Avoid a potential overflow.
20222
20223	[src/extract.c] Type clean-up with 2 bug fixes (these bugs should have
20224	no effect on most platforms without too aggressive optimizations).
20225
202262014-01-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
20227
20228	replaced function _mpz_realloc by preferred one mpz_realloc2
20229
202302014-01-16  Vincent Lef��vre  <vincent@vinc17.net>
20231
20232	[TODO] Added mini-gmp support.
20233
202342014-01-15  Vincent Lef��vre  <vincent@vinc17.net>
20235
20236	[NEWS] Mention speed improvement with --enable-assert[=full] and GCC
20237	(due to the fix in r8746).
20238
202392014-01-14  Vincent Lef��vre  <vincent@vinc17.net>
20240
20241	[src/mpfr-impl.h] Fixed the MPFR_ASSERTN macro as suggested by
20242	Wolf Lammen: https://sympa.inria.fr/sympa/arc/mpfr/2014-01/msg00002.html
20243	Note: the semantics doesn't change, it should just be more efficient.
20244
202452014-01-12  Vincent Lef��vre  <vincent@vinc17.net>
20246
20247	[tests/tset_ld.c] Output MPFR_LDBL_MANT_DIG in some failure case.
20248
202492014-01-11  Vincent Lef��vre  <vincent@vinc17.net>
20250
20251	[tests/tset_d.c] More information in a failed test.
20252
202532014-01-10  Vincent Lef��vre  <vincent@vinc17.net>
20254
20255	[tests/Makefile.am] In LOADLIBES, replaced $(INCLUDES) by $(AM_CPPFLAGS)
20256	(this should have been done at the same time as r8364).
20257
202582014-01-09  Vincent Lef��vre  <vincent@vinc17.net>
20259
20260	[doc/README.dev] "To make a release" update. In particular at step 5,
20261	replaced "make dist" by "make distcheck" so that some problems can be
20262	detected at step 5 instead of step 6, ensuring that the tarballs are
20263	complete.
20264
20265	[src/Makefile.am] Forgot to add mpfr-cvers.h in r8739.
20266
20267	When static assertions are not supported by the C implementation
20268	natively (new C11 feature), their MPFR implementation got broken by
20269	changeset r8625, as the __MPFR_GNUC macro in mpfr-sassert.h was not
20270	defined in the configure test (since mpfr-impl.h wasn't included)
20271	and generated an error, disabling the static assertions support.
20272	This is fixed by the following changes, avoiding code duplication
20273	and thus risk of inconsistencies in future modification:
20274	  * copied some of the version detection macros from mpfr-impl.h to
20275	    a standalone file mpfr-cvers.h, and updated the macros;
20276	  * in mpfr-impl.h, replaced these macros by a #include "mpfr-cvers.h"
20277	    and updated a comment;
20278	  * in mpfr-sassert.h, added a #include "mpfr-cvers.h".
20279
20280	[acinclude.m4] In the Static Assertions test, avoid a warning with GCC
20281	and added comments.
20282
202832014-01-07  Vincent Lef��vre  <vincent@vinc17.net>
20284
20285	ChangeLog update with "LC_ALL=en_US.UTF8 TZ=UTC svn log -rHEAD:0 -v".
20286
20287	[tools/mpfrlint] Use codespell if available.
20288
20289	[TODO] Fixed a misspelling, using codespell.
20290
20291	Fixed misspellings, using codespell.
20292
202932014-01-06  Vincent Lef��vre  <vincent@vinc17.net>
20294
20295	[TODO] Added item: new functions of IEEE 754-2008 / C binding draft.
20296
202972014-01-05  Vincent Lef��vre  <vincent@vinc17.net>
20298
20299	[doc/README.dev] "To make a release": added a paragraph about warnings.
20300
20301	[tests/trint.c] Avoid a warning.
20302
20303	[acinclude.m4] Avoid a warning due to variable set but not used in a
20304	test, making the test fail with gcc -Werror=unused-but-set-variable.
20305
20306	[acinclude.m4] Replaced "main()" by "main (void)".
20307
203082014-01-04  Vincent Lef��vre  <vincent@vinc17.net>
20309
20310	[doc/mpfr.texi] Updated the month.
20311
203122014-01-03  Vincent Lef��vre  <vincent@vinc17.net>
20313
20314	Fixed warnings from GCC's -Wold-style-declaration option:
20315	MPFR_THREAD_ATTR must be at beginning of declaration.
20316
20317	Copyright notice update: added 2014 with
20318	  perl -pi -e 's/ (\d{4}-)?(2013)(?= Free Software)/
20319	               " ".($1||"$2-").($2+1)/e' **/*(^/)
20320	under zsh (the tools/mbench directory was not modified).
20321	Removed 2013 from the example in the doc/README.dev file.
20322
203232013-12-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
20324
20325	work around for bug in mpn_set_str
20326	(https://gmplib.org/list-archives/gmp-bugs/2013-December/003267.html)
20327
203282013-12-12  Vincent Lef��vre  <vincent@vinc17.net>
20329
20330	Added tools/repl-variadic Perl script to replace the variadic functions
20331	mpfr_clears, mpfr_inits and mpfr_inits2, in case they are not supported
20332	by the compiler.
20333
203342013-11-28  Vincent Lef��vre  <vincent@vinc17.net>
20335
20336	[tests/tstckintc.c] Improved tests when mpfr_custom_init_set is used as
20337	a macro (i.e. without parentheses) to trigger the bug fixed in r8715.
20338
20339	[src/mpfr.h] Fixed bug in the mpfr_custom_init_set macro (typo in
20340	variable name, which can yield incorrect behavior if the second
20341	argument is not a simple expression).
20342	Thanks to Andreas Enge for the bug report:
20343	  https://sympa.inria.fr/sympa/arc/mpfr/2013-11/msg00029.html
20344
203452013-11-21  Vincent Lef��vre  <vincent@vinc17.net>
20346
20347	[src/lngamma.c] No longer declare B as initialized with GCC (see r5534),
20348	as the "may be used uninitialized" warning no longer occurs with latest
20349	GCC: trunk revision 203899 (Debian 20131021-1), for the future GCC 4.9.
20350	The warning still occurs with GCC 4.8.2 (Debian 4.8.2-1):
20351
20352	$ gcc-4.8 -O2 -Wall -c gamma.c
20353	In file included from gamma.c:27:0:
20354	gamma.c: In function ���mpfr_gamma���:
20355	lngamma.c:468:17: warning: ���B��� may be used uninitialized in this function [-Wmaybe-uninitialized]
20356	               B = mpfr_bernoulli_internal (B, m); /* B[2m]*(2m+1)!, exact */
20357	                 ^
20358	lngamma.c:165:10: note: ���B��� was declared here
20359	   mpz_t *B;
20360	          ^
20361	Note: with GCC 4.8.2, at least -O is needed to reproduce the warning,
20362	and -Wmaybe-uninitialized without -Wuninitialized (or -Wall) doesn't
20363	trigger the warning.
20364
203652013-11-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
20366
20367	added -Wlogical-op
20368
203692013-11-15  Vincent Lef��vre  <vincent@vinc17.net>
20370
20371	[tests/tsprintf.c] Added a few tests.
20372
20373	[doc/README.dev] This may seem obvious, but this is not the first time
20374	this happens: + "When adding the expected result, do NOT use the one
20375	obtained from the MPFR function! Otherwise, if this function is buggy,
20376	the test will be wrong and the function will remain buggy."
20377
20378	[tests/tsprintf.c] Fixed incorrect test from r5652 (the corresponding
20379	bug in src/vasprintf.c has been fixed in r8705).
20380
203812013-11-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
20382
20383	fixed bug reported by David Binderman
20384	(https://sympa.inria.fr/sympa/arc/mpfr/2013-11/msg00009.html)
20385
203862013-11-06  Vincent Lef��vre  <vincent@vinc17.net>
20387
20388	[tests/thypot.c] More NaN tests.
20389
203902013-11-06  Philippe Th��veny  <philippe.theveny@laposte.net>
20391
20392	[tests/thypot.c] Fix use of a non explicitly initialized variable.
20393
203942013-11-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
20395
20396	[sum.c] the call to mpfr_can_round was obviously wrong
20397
203982013-11-04  Vincent Lef��vre  <vincent@vinc17.net>
20399
20400	[tests/tsum.c] Updated TODO comment (��� check underflows).
20401
204022013-11-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
20403
20404	[sum.c] mpfr_sum should consider the maximal precision of its inputs/output
20405
204062013-10-28  Vincent Lef��vre  <vincent@vinc17.net>
20407
20408	[tests/tsum.c] Added a TODO comment: add generic random test with
20409	cancellations, and tests with intermediate overflows.
20410
20411	[tests/tsum.c] Added test for bug reported by Joseph S. Myers:
20412	https://sympa.inria.fr/sympa/arc/mpfr/2013-10/msg00015.html
20413
204142013-09-27  Vincent Lef��vre  <vincent@vinc17.net>
20415
20416	[doc/mpfr.texi] Added an example for mpfr_fits_*, corresponding to the
20417	bug fixed in r8503.
20418
20419	[src/mpfr-impl.h] Document that DOUBLE_ISNAN(x) is valid on long double.
20420	[tests/tset_ld.c] In Isnan_ld, do not convert the long double argument
20421	to double, as this can give an overflow and unexpected behavior without
20422	default IEEE 754 behavior. With this change, this tset_ld test no longer
20423	fails with "clang -O2 -fsanitize=undefined -fno-sanitize-recover".
20424
20425	[tests/tset_ld.c] Avoid a division by zero if MPFR_ERRDIVZERO.
20426
20427	[tests/tset_ld.c] Move tests_start_mpfr call earlier.
20428
20429	[tests/tget_flt.c] Corrections when MPFR_ERRDIVZERO is defined.
20430
20431	[src/mpfr-impl.h] With clang, disable division by zero using constants
20432	due to a bug in its sanitizer and because IEEE 754 division by zero is
20433	currently not properly supported.
20434	With this change, the tget_d test no longer fails with:
20435	  clang -O2 -fsanitize=undefined -fno-sanitize-recover
20436
204372013-09-26  Vincent Lef��vre  <vincent@vinc17.net>
20438
20439	[tests/tget_flt.c] Protect a division by 0.
20440
204412013-09-17  Vincent Lef��vre  <vincent@vinc17.net>
20442
20443	[src/Makefile.am] Updated -version-info to 6:0:2 for MPFR 3.2.0.
20444
204452013-09-16  Vincent Lef��vre  <vincent@vinc17.net>
20446
20447	[NEWS] For MPFR 3.2: The --enable-decimal-float configure option
20448	no longer requires --with-gmp-build (see r8402).
20449
204502013-09-15  Vincent Lef��vre  <vincent@vinc17.net>
20451
20452	[configure.ac] Detect broken _Decimal64 support on powerpc64 with
20453	the mode32 ABI.
20454
20455	[tests/tget_set_d64.c] More meaningful messages in check_inf_nan.
20456
20457	[tests/tget_set_d64.c] More meaningful messages in check_inf_nan
20458	after failures on powerpc64 with the mode32 ABI.
20459
204602013-09-04  Vincent Lef��vre  <vincent@vinc17.net>
20461
20462	[TODO] Added: implement optional cache sharing between threads.
20463
204642013-09-02  Vincent Lef��vre  <vincent@vinc17.net>
20465
20466	[doc/mpfr.texi] Changed node name "Integer Related Functions" to
20467	"Integer and Remainder Related Functions", as the corresponding
20468	section title was changed in r4867. Added associated @cindex.
20469
20470	[doc/mpfr.texi] Updated the month.
20471
20472	[doc/mpfr.texi] Specified special values (in particular the sign of 0)
20473	for Section 5.10 "Integer and Remainder Related Functions".
20474
20475	[src/round_raw_generic.c] Support MPFR_RNDNA for this class of functions
20476	at the request of John P. Hartmann (to support one of IBM's High Level
20477	Assembler rounding mode for hexadecimal floating-point constants).
20478
20479	[src/round_raw_generic.c] Code simplification / comment corrections.
20480
204812013-08-26  Vincent Lef��vre  <vincent@vinc17.net>
20482
20483	[doc/README.dev] About clang sanitizer, mention -fno-sanitize-recover
20484	for more visibility in automated tests.
20485
204862013-08-23  Vincent Lef��vre  <vincent@vinc17.net>
20487
20488	[src/ai.c] Moved the handling of the special cases NaN and ��Inf to
20489	the main function mpfr_ai.
20490
20491	[src/agm.c] Corrected a comment.
20492	[tests/tagm.c] Added tests concerning special values,
20493	  in particular (zero,negative) and symmetric tests.
20494	[doc/mpfr.texi] Corrected mpfr_agm description.
20495
204962013-08-21  Vincent Lef��vre  <vincent@vinc17.net>
20497
20498	[TODO] Revisit the conversion functions between a MPFR number and
20499	a native floating-point value.
20500
205012013-08-19  Vincent Lef��vre  <vincent@vinc17.net>
20502
20503	[doc] Added mpfr.t2d and mpfr.t2p to svn:ignore property.
20504	Note: These directories are now generated when using "make mpfr.dvi"
20505	and "make mpfr.pdf". This comes from a change in Automake 1.13 (see
20506	its 2012-06-20 changelog) for the texi2dvi and texi2pdf invocations.
20507
205082013-08-10  Vincent Lef��vre  <vincent@vinc17.net>
20509
20510	[doc/README.dev] Before release, test with gcc -mpc64 under Linux/x86.
20511
205122013-08-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
20513
20514	[tversion.c] added GCC version
20515
20516	[tset_ld.c] try to fix a bug on i686-freebsd
20517		    (see http://hydra.nixos.org/build/5665961/log/raw)
20518
20519	[tset_ld.c] added debug information
20520
205212013-08-07  Vincent Lef��vre  <vincent@vinc17.net>
20522
20523	[tests/tset_ld.c] Reverted changeset r8657 as %a is C99-only. Moreover
20524	the memory representation already gives the necessary information (and
20525	the decimal output was correct on the machine where the test fails).
20526
205272013-08-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
20528
20529	[tset_ld.c] maybe this will fix the issue for i686-freebsd?
20530		    Cf http://hydra.nixos.org/build/5662697.
20531
20532	[tset_ld.c] in case of error, print d in hexadecimal
20533
205342013-08-07  Vincent Lef��vre  <vincent@vinc17.net>
20535
20536	[tests/tset_ld.c] In the "mpfr_set_ld should be exact" error, output
20537	the memory representation of d.
20538
205392013-08-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
20540
20541	[tset_ld.c] print value of MPFR_LDBL_MANT_DIG in case of error
20542
205432013-08-07  Vincent Lef��vre  <vincent@vinc17.net>
20544
20545	[doc/mpfr.texi] Space consistency.
20546
205472013-08-06  Vincent Lef��vre  <vincent@vinc17.net>
20548
20549	[tests/tset_ld.c] Corrected a comment.
20550
20551	[tests/tset_ld.c] Set some long double variables as volatile in order to
20552	avoid optimizations that yield failures with xlc on power7 (not tested).
20553
20554	[src/get_ld.c] Oops... The non-working code was due to a missing cast.
20555	So, simplified the code.
20556
20557	[acinclude.m4] Define HAVE_LDOUBLE_MAYBE_DOUBLE_DOUBLE if the
20558	  "long double" format seems to be double-double (e.g. on PowerPC).
20559	[src/get_ld.c] Added double-double support.
20560
205612013-08-05  Vincent Lef��vre  <vincent@vinc17.net>
20562
20563	[src/get_ld.c] GNU style.
20564
20565	[tests/tset_ld.c] Improved output in case of error.
20566
20567	[tests/tset_ld.c] Improved check_set_get() test function; in particular,
20568	it no longer takes a mpfr_t argument: the precision of the MPFR number
20569	is now determined dynamically from the long double d. Thus some numbers
20570	having a precision > MPFR_LDBL_MANT_DIG in double-double arithmetic are
20571	now tested (e.g. on PowerPC).
20572
20573	[doc/mpfr.texi] "correctly-rounded" ��� "correctly rounded" (see rule on
20574	https://en.wikipedia.org/wiki/Wikipedia:HYPHEN#Hyphens and the IEEE 754
20575	and ISO C standards don't use a hyphen either).
20576
20577	[doc/mpfr.texi] Added missing @code{}'s in mpfr_fpif_import description.
20578
20579	[doc/mpfr.texi] Replaced periods ending a sentence by "@." in the
20580	following cases: when the preceding character is a capital letter
20581	or a closing parenthesis following a capital letter (e.g. "NaN.",
20582	"MPFR.", "MPFR).", etc). This is needed to get correct spacing in
20583	the generated .info and PDF files with the next sentence of the
20584	paragraph (when there is one).
20585
20586	[tests/tset_ld.c] Removed the "check largest 2^k that is representable
20587	as a long double" test based on macros LDBL_MAX and LDBL_EPSILON, which
20588	are not correct in some C implementations. There is already another
20589	"check the largest power of two" test, based on a loop, which is OK.
20590
205912013-08-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
20592
20593	[tset_ld.c] improve tests to avoid spurious errors for double-double
20594		    representation where MPFR_LDBL_MANT_DIG=106 and numbers
20595		    with 107 bits or more
20596
205972013-08-02  Vincent Lef��vre  <vincent@vinc17.net>
20598
20599	[doc/mpfr.texi] Document that log1p(-1) = -Inf.
20600
20601	[doc/mpfr.texi] Updated the month.
20602
20603	[doc/mpfr.texi] Moved mpfr_log1p & mpfr_expm1 after mpfr_log & mpfr_exp
20604	respectively.
20605
20606	[tests/tset_ld.c] Comment on LDBL_MAX.
20607
206082013-08-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
20609
20610	[tset_ld.c] missing conversion from int to mpfr_rnd_t
20611
20612	[tset_ld.c] improve error message
20613
206142013-08-02  Vincent Lef��vre  <vincent@vinc17.net>
20615
20616	[src/set_ld.c] Corrected a comment.
20617
206182013-08-01  Vincent Lef��vre  <vincent@vinc17.net>
20619
20620	[doc/mpfr.texi] Completed specification of mpfr_lngamma and mpfr_lgamma
20621	on 1 and 2 (result is +0).
20622
20623	[doc/mpfr.texi] Improved description of mpfr_rec_sqrt and mpfr_hypot.
20624
20625	[tests] Added terandom and tnrandom to svn:ignore property.
20626
20627	[src] Improved some comments with "0", about its sign.
20628
20629	[doc/mpfr.texi] Completed specification on special numbers (��0, ��Inf).
20630
206312013-08-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
20632
20633	[tset_ld.c] increase precision to take into account double-double encoding
20634
20635	[tset_ld.c] replaced error by warning when _GMP_IEEE_FLOATS is not defined
20636
206372013-07-22  Vincent Lef��vre  <vincent@vinc17.net>
20638
20639	[src/mpfr-sassert.h] Get rid of annoying warnings
20640	  typedef 'MPFR_ASSERT_xxx' locally defined but not used
20641	with GCC 4.8+ (better than the non-portable solution r8618). Thanks to
20642	Jonathan Wakely: https://gcc.gnu.org/legacy-ml/gcc-help/2013-07/msg00142.html
20643
206442013-07-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
20645
20646	[configure.ac] revert commit 8618 since it breaks hydra jobs i686-cygwin,
20647		       i686-freebsd, i686-solaris and x86_64-freebsd
20648		       (cf http://hydra.nixos.org/eval/955753)
20649
206502013-07-22  Vincent Lef��vre  <vincent@vinc17.net>
20651
20652	Applied patch 3 by Ond��ej B��lka with some manual corrections,
20653	fixing typos:
20654	  https://sympa.inria.fr/sympa/arc/mpfr/2013-07/msg00016.html
20655
20656	Applied patch 2 by Ond��ej B��lka, fixing capitalization:
20657	  https://sympa.inria.fr/sympa/arc/mpfr/2013-07/msg00015.html
20658
20659	Applied patch 1 by Ond��ej B��lka, fixing common typos:
20660	  https://sympa.inria.fr/sympa/arc/mpfr/2013-07/msg00014.html
20661
20662	[configure.ac] Added -Wno-unused-local-typedefs flag to avoid spurious
20663	"typedef 'MPFR_ASSERT_xxx' locally defined but not used" warnings due
20664	to the implementation of static assertions.
20665
206662013-07-16  Vincent Lef��vre  <vincent@vinc17.net>
20667
20668	Slightly restructured doc/README.dev and mentioned C-Reduce.
20669
206702013-07-12  Vincent Lef��vre  <vincent@vinc17.net>
20671
20672	[configure.ac] If the gmp.h vs libgmp test fails, also output the value
20673	of some variables (in case config.log is available, information can
20674	also be retrieved from "Cache variables" and "Output variables" near
20675	the end).
20676
206772013-07-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
20678
20679	revert temporary commit 8613
20680
206812013-07-11  Vincent Lef��vre  <vincent@vinc17.net>
20682
20683	[acinclude.m4] Improved MPFR_CHECK_DBL2INT_BUG in case of failure
20684	and added comments about that.
20685
206862013-07-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
20687
20688	[configure.ac] temporary commit to investigate problem with i686-solaris on hydra
20689
206902013-07-11  Vincent Lef��vre  <vincent@vinc17.net>
20691
20692	[configure.ac] In the CC and CFLAGS setup from gmp.h, modified the
20693	list of commands to select the C preprocessor since /lib/cpp isn't
20694	the best choice under Solaris.
20695
20696	[configure.ac] Moved AM_PROG_AR (introduced in r8546) after the
20697	CC and CFLAGS setup from gmp.h, because AM_PROG_AR makes Autoconf
20698	select a compiler (before it may be chosen from __GMP_CC).
20699
20700	[configure.ac] The test of CC and CFLAGS was done too late! Moved this
20701	test earlier (checked on Debian/unstable with autoconf 2.69).
20702
207032013-07-10  Vincent Lef��vre  <vincent@vinc17.net>
20704
20705	[configure.ac] Improved r8608 (gmp.h/libgmp on stderr).
20706
207072013-07-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
20708
20709	[configure.ac] print also the versions of gmp.h/libgmp on stderr, hoping they
20710		       will appear on i686-solaris
20711
20712	[src/exp_2.c] removed useless instruction
20713
207142013-07-10  Vincent Lef��vre  <vincent@vinc17.net>
20715
20716	[acinclude.m4] Corrected change in r8602 to get an error in the case
20717	i == 0 and u != 1.
20718
207192013-07-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
20720
20721	[configure.ac] added fflush to see versions of gmp.h/libgmp
20722
207232013-07-10  Vincent Lef��vre  <vincent@vinc17.net>
20724
20725	[src/exp_2.c] Fixed undefined behavior (present in all MPFR versions)
20726	detected by "clang -fsanitize=undefined".
20727
20728	[doc/README.dev] Suggest to test with "clang -fsanitize=undefined";
20729	see <https://blog.regehr.org/archives/963>.
20730
207312013-07-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
20732
20733	more helpful debug information
20734
20735	added debug information for double-to-integer conversion bug
20736
207372013-07-09  Vincent Lef��vre  <vincent@vinc17.net>
20738
20739	[src/mpfr.h] Updated a comment about ICC.
20740
20741	[doc/README.dev] Added URL about compiler detection.
20742
207432013-06-07  Vincent Lef��vre  <vincent@vinc17.net>
20744
20745	[doc/README.dev] Another update about signed and unsigned integer types.
20746
20747	[doc/README.dev] Update about signed and unsigned integer types.
20748
207492013-06-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
20750
20751	[src/random_deviate.c] applied patch from Charles Karney
20752	[tests/Makefile.am] reorder test files
20753
207542013-06-07  Vincent Lef��vre  <vincent@vinc17.net>
20755
20756	[doc/README.dev] Added URL's about C++ reserved keywords.
20757
207582013-06-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
20759
20760	changed to allow compilation with C++:
20761	[src/random_deviate.h] must declare the types before extern C {...}
20762	[tests/tget_sj.c,tests/tset_si.c] "not" seems to be reserved in C++
20763
207642013-06-07  Vincent Lef��vre  <vincent@vinc17.net>
20765
20766	[doc/algorithms.tex] Slightly improved a bound under which mpfr_hypot
20767	cannot have an internal underflow, thus is correct.
20768
207692013-06-06  Vincent Lef��vre  <vincent@vinc17.net>
20770
20771	[tools/mpfrlint] Improved a test to avoid false positives.
20772
20773	[doc/algorithms.tex] Updated/improved the proof of mpfr_hypot in the
20774	scaling case.
20775
20776	[src/hypot.c] Slightly improved scaling to avoid even more underflow
20777	in the scaling of y or in its square.
20778
20779	[src/hypot.c] Added a comment on the FIXME.
20780
20781	[src/mpfr-gmp.h] Removed useless and meaningless definitions.
20782
20783	[src] Moved mp_bitcnt_t definition for GMP < 5 from mpfr-gmp.h to
20784	mpfr-impl.h (mpfr-gmp.h is only for definitions from GMP internals
20785	as it is included only in builds without GMP internals).
20786
20787	[src/mpfr-gmp.h] Fixed mp_bitcnt_t presence test.
20788
207892013-06-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
20790
20791	changed macro to typedef when mp_bitcnt_t is missing (for coherence with GMP)
20792
20793	fixed compiler warnings
20794
20795	[mpfr-gmp.h] added replacement for mp_bitcnt_t
20796	[hypot.c] added comment
20797
207982013-06-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
20799
20800	applied patch from Charles Karney
20801
208022013-06-05  Vincent Lef��vre  <vincent@vinc17.net>
20803
20804	[README] Added ar-lib (due to AM_PROG_AR in r8546) and test-driver
20805	(installed by Automake 1.12+).
20806
208072013-06-03  Vincent Lef��vre  <vincent@vinc17.net>
20808
20809	[doc/mpfr.texi] Updated the month.
20810
208112013-06-02  Vincent Lef��vre  <vincent@vinc17.net>
20812
20813	[configure.ac] In AM_INIT_AUTOMAKE, lowered Automake version requirement
20814	to 1.11.2 (for AM_PROG_AR), as Ubuntu 12.04 LTS only has Automake 1.11.3
20815	(we assume that such distributions have a security patch).
20816
20817	[configure.ac] In AM_INIT_AUTOMAKE, require Automake 1.11.6 for
20818	AM_PROG_AR and security reasons.
20819
20820	[NEWS,doc/mpfr.texi] New and deprecated functions in MPFR 3.2.
20821
20822	Spelling: gaussian -> Gaussian (Wikipedia, Wolfram MathWorld, dict).
20823
20824	[doc/mpfr.texi] Slight doc improvement for mpfr_grandom.
20825
208262013-06-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
20827
20828	added assertion
20829
208302013-06-01  Vincent Lef��vre  <vincent@vinc17.net>
20831
20832	[src/random_deviate.c] Updated a comment.
20833
208342013-06-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
20835
20836	in case mp_limb_t is smaller than unsigned long, use alternate code for
20837	highest_bit_idx
20838
208392013-06-01  Vincent Lef��vre  <vincent@vinc17.net>
20840
20841	[tools/mpfrlint] Update for random_deviate.
20842
20843	[src/nrandom.c] Corrected indentation.
20844
20845	[src/random_deviate.h] Fixed a typo in a macro name.
20846
20847	[src/random_deviate.c] Removed trailing spaces.
20848
20849	Added ar-lib to svn:ignore property (this script comes from Automake,
20850	due to the use of AM_PROG_AR in configure.ac as of r8546).
20851
208522013-05-31  Vincent Lef��vre  <vincent@vinc17.net>
20853
20854	[tests/memory.c] Added a FIXME comment about the time complexity of
20855	tests_memory_find (Paul Zimmermann noticed that tgrandom on a large
20856	value takes a lot of time, probably because of that).
20857
208582013-05-31  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
20859
20860	updated NEWS and contribution section in mpfr.texi
20861
20862	#include <...> -> #include "..." for local files
20863
20864	removed obsolete comment
20865
20866	GNU style
20867
20868	GNU style
20869
20870	GNU style
20871
20872	added tests files for mpfr_nrandom and mpfr_erandom
20873
20874	removed RANDOM_SIMPLE=1 stuff (this was an alternate slower implementation).
20875	Kept in svn history as a reference.
20876
20877	removed mpfr_grandom_alt (likewise previous commit)
20878
20879	removed mpfr_urandom_alt (slower than mpfr_urandom, but it can be recovered
20880	from the svn history to illustrate one of the basic properties of a newly
20881	initialized mpfr_random_deviate_t)
20882
20883	removed mpfr_random.h, headers are in mpfr.h
20884
20885	original contribution from Charles Karney <charles.karney@sri.com>
20886
208872013-05-30  Vincent Lef��vre  <vincent@vinc17.net>
20888
20889	Removed obsolete tools/update-patchv script. Use update-version instead.
20890
20891	[configure.ac] Added AM_PROG_AR to support unusual archivers
20892	(after a warning from Automake 1.13).
20893
20894	[tools/ck-copyright-notice] Update for copyright year ranges.
20895
20896	[doc/mpfr.texi] Updated the month.
20897
20898	Use copyright year ranges, following
20899	  https://www.gnu.org/prep/maintain/maintain.html#Copyright-Notices
20900
20901	[tests] Added *.log and *.trs to svn:ignore property.
20902
20903	[INSTALL] Update about configure default options.
20904
20905	Added test-driver (from Automake 1.12+) to svn:ignore property.
20906
209072013-05-24  Vincent Lef��vre  <vincent@vinc17.net>
20908
20909	[configure.ac] Updated comment about -mieee-fp icc option.
20910
209112013-05-24  Philippe Th��veny  <philippe.theveny@laposte.net>
20912
20913	[tests/tprintf] remove tests of invalid format (continuation of r8525).
20914
20915	[src/vasprintf.c] Support all length modifiers defined by ISO C99, even if the
20916	 corresponding type is not detected by configure (continuation of r8525).
20917
209182013-05-24  Vincent Lef��vre  <vincent@vinc17.net>
20919
20920	[configure.ac] For ICC, changed the deprecated -mp option to the
20921	equivalent one -mieee-fp; added a comment about that.
20922
209232013-05-24  Philippe Th��veny  <philippe.theveny@laposte.net>
20924
20925	[src/vasprintf.c] Always support 't' and 'L' length modifiers, but don't
20926	 test them if configure doesn't find the corresponding type.
20927
20928	Printing invalid format specifiers (continuation of r8525)
20929	[src/vasprintf.c] Add comments.
20930	[tests/tprintf.c] Simplify tests.
20931
209322013-05-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
20933
20934	new macro MPFR_MAYBE_UNUSED to avoid compiler warnings
20935
209362013-05-23  Philippe Th��veny  <philippe.theveny@laposte.net>
20937
20938	[src/vasprintf.c] Print invalid format specifier instead of returning an error code, as in GMP.
20939	[tests/tprintf.c] Modify tests for invalid format.
20940
209412013-05-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
20942
20943	try to link with GMP even when a dll, since it seems to work now
20944	(see https://sympa.inria.fr/sympa/arc/mpfr/2013-05/msg00010.html)
20945
20946	replaced macros NPRINTF_T and NPRINTF_L by positive versions
20947	PRINTF_T and PRINTF_L, now we don't assume that %td and %Lf are supported
20948	when we don't check it (for example when cross-compiling, or under Windows
20949	when GMP is a dynamic library)
20950
20951	fixed typo
20952
209532013-05-15  Vincent Lef��vre  <vincent@vinc17.net>
20954
20955	[Makefile.am] Added a comment about ACLOCAL_AMFLAGS, based on the
20956	GNU Automake 1.13.2 release notes.
20957
209582013-04-17  Vincent Lef��vre  <vincent@vinc17.net>
20959
20960	[src/mpfr-impl.h] With clang, do not use GCC's self-initialization trick
20961	as it generates a warning, though clang claims GCC compatibility.
20962
209632013-04-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
20964
20965	[algorithms.tex] added reference
20966
209672013-03-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
20968
20969	[TODO] added item
20970
209712013-03-18  Vincent Lef��vre  <vincent@vinc17.net>
20972
20973	[src/fits_intmax.c] Corrected a comment.
20974
20975	[src/{fits_u.h,fits_uintmax.c}] Fixed the mpfr_fits_u*_p functions,
20976	which incorrectly returned 0 ("doesn't fit") on negative arguments
20977	when the rounding to an integer was 0. The fits_uintmax.c file now
20978	uses fits_u.h for consistency.
20979
20980	[tests/tfits.c] Use error numbers to know where an error occurred.
20981
20982	[src/fits_uintmax.c] Replaced an obsolete comment by a TODO.
20983
20984	[tests/tget_sj.c] Added mpfr_get_uj tests on small negative op,
20985	similar to what has been done for mpfr_get_ui in r8498,8499.
20986
20987	[tests/tset_si.c] Minor type correction for r8498 (this shouldn't matter
20988	because the value is normally small, but perhaps not in case of bug).
20989
20990	[tests/tset_si.c] Added mpfr_get_ui tests on small negative op.
20991
20992	[tests/tset_si.c] Corrected comment.
20993
20994	[doc/mpfr.texi] Updated the month.
20995
20996	[doc/mpfr.texi] Improved documentation of the conversions to an integer
20997	(mpfr_get_si, mpfr_get_ui, mpfr_get_sj, mpfr_get_uj).
20998
20999	[tests/tfits.c] Added tests, in particular for small negative op
21000	and in non-RNDN rounding modes; tfits currently fails.
21001
21002	[tools/announce-text] Added short text about what GNU MPFR is.
21003
210042013-03-13  Vincent Lef��vre  <vincent@vinc17.net>
21005
21006	[doc/README.dev] Removed a duplicate word.
21007
210082013-03-12  Vincent Lef��vre  <vincent@vinc17.net>
21009
21010	[INSTALL] Added a paragraph about Cygwin and threading.
21011
21012	[INSTALL] Improved information on patches.
21013
210142013-03-11  Vincent Lef��vre  <vincent@vinc17.net>
21015
21016	[tools/announce-text] Added text about how to verify the signatures.
21017
21018	[doc/README.dev] Updated "To make a release" about the web pages.
21019
210202013-03-08  Vincent Lef��vre  <vincent@vinc17.net>
21021
21022	[doc/README.dev] Added info about update-version and ck-version-info.
21023
210242013-03-05  Vincent Lef��vre  <vincent@vinc17.net>
21025
21026	[tests/tfpif.c] Clean-up. Improved consistency.
21027
210282013-03-04  Vincent Lef��vre  <vincent@vinc17.net>
21029
21030	[examples] Replaced the old rounding mode macros (GMP_RNDN, etc.) by the
21031	new ones (MPFR_RNDN, etc.) in the *.c files; updated ReadMe file.
21032
21033	[doc/update-faq] Removed the now useless s/GMP_RND/MPFR_RND/ rewriting.
21034
21035	[doc] Slightly modified faq.xsl to avoid libxslt bug 377440, and
21036	moved the addition of special CSS comments for XML compatibility
21037	from update-faq to faq.xsl file.
21038
210392013-03-01  Vincent Lef��vre  <vincent@vinc17.net>
21040
21041	[tests/tgamma.c] Avoid mpfr_set_d.
21042
21043	[tests/tfpif.c] Avoid mpfr_set_d as the results may depend on the C
21044	implementation.
21045
210462013-01-03  Vincent Lef��vre  <vincent@vinc17.net>
21047
21048	[doc/mpfr.texi] Updated the month.
21049
21050	Copyright notice update: added 2013 with
21051	  perl -pi -e 's/2012 Free Software/2012, 2013 Free Software/' **/*(^/)
21052	under zsh, reverting the ChangeLog file and the m4 directory
21053	(the tools/mbench directory was not modified).
21054	Removed 2012 from the example in the doc/README.dev file.
21055
21056	[configure.ac] Corrected comment on clock_gettime (from r8445).
21057
210582012-12-31  Vincent Lef��vre  <vincent@vinc17.net>
21059
21060	Tuning: reverted changeset r8444 and applied patch by Patrick P��lissier
21061	for GMP 5.1.0 to link against librt conditionally.
21062
210632012-12-31  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
21064
21065	[Makefile.am] -lrt is needed for clock_gettime() [undefined with GMP 5.1.0]
21066
210672012-12-21  Vincent Lef��vre  <vincent@vinc17.net>
21068
21069	[tests/tfpif.c] Added a TODO.
21070
21071	[src/fpif.c] Added an assert on MPFR_PREC_MIN because the code seems
21072	to be based on this (always true with the current value).
21073
21074	[doc/mpfr.texi] Minor corrections of mpfr_fpif_import documentation.
21075
210762012-12-21  Olivier Demengeon  <olivier.demengeon@inria.fr>
21077
21078	mpfr_fpif_import now check precision size. Documentation updated for mpfr_fpif_import.
21079
210802012-12-20  Vincent Lef��vre  <vincent@vinc17.net>
21081
21082	Compatibility with GMP 5.1.0 when gmp-impl.h is included (thanks to Rob:
21083	https://sympa.inria.fr/sympa/arc/mpfr/2012-12/msg00003.html); clean-up.
21084
210852012-12-12  Vincent Lef��vre  <vincent@vinc17.net>
21086
21087	[src/fpif.c] Added a FIXME comment in mpfr_fpif_import concerning the
21088	precision.
21089
210902012-12-11  Vincent Lef��vre  <vincent@vinc17.net>
21091
21092	[src/fpif.c] Added comments. Fixed mpfr_fpif_read_precision_from_file
21093	in the case where the precision size > sizeof(mpfr_prec_t) and/or when
21094	the read precision is too large (as mpfr_prec_t is signed).
21095
210962012-12-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
21097
21098	[fpif.c] completed FIXME
21099
211002012-12-08  Vincent Lef��vre  <vincent@vinc17.net>
21101
21102	[src/fpif.c] Added a FIXME comment: large precisions read from the file
21103	can trigger undefined behavior if sizeof(mpfr_prec_t) is too small.
21104
211052012-12-07  Olivier Demengeon  <olivier.demengeon@inria.fr>
21106
21107	Fixed stack overflow bug in fpif.c
21108
211092012-12-05  Vincent Lef��vre  <vincent@vinc17.net>
21110
21111	[acinclude.m4,configure.ac] Moved the "double-to-integer conversion bug"
21112	test after the gmp.h detection as it uses gmp.h (otherwise one gets an
21113	incorrect error on this test if gmp.h can't be found or is unusable).
21114
211152012-12-03  Vincent Lef��vre  <vincent@vinc17.net>
21116
21117	[doc/mpfr.texi] Removed a useless comma from r8428.
21118
21119	[doc/mpfr.texi] Updated the month.
21120
21121	[doc/mpfr.texi] Updated warning in mpfr_min_prec description,
21122	in particular for the use with mpfr_prec_round.
21123
211242012-10-17  Vincent Lef��vre  <vincent@vinc17.net>
21125
21126	[src/set_uj.c] Change to help the compiler to detect dead code,
21127	improving the coverage (from a patch by Patrick P��lissier).
21128
21129	[src/get_d64.c] Added a const (thanks to Patrick P��lissier).
21130
211312012-10-10  Vincent Lef��vre  <vincent@vinc17.net>
21132
21133	[acinclude.m4] Check struct lconv members (from <locale.h>) to avoid a
21134	  build failure under Android, which does not have them; see
21135	    https://sympa.inria.fr/sympa/arc/mpfr/2012-10/msg00002.html
21136	[src/mpfr-impl.h] Decimal point / thousands separator support can now be
21137	  detected automatically by configure (from the presence of <locale.h>
21138	  and the above members) or explicitly disabled/enabled by the user by
21139	  defining the MPFR_LCONV_DPTS macro to 0 or 1 via CFLAGS (a configure
21140	  switch might be added in the future).
21141	[tests/tsprintf.c] Do the locale_da_DK test only if MPFR_LCONV_DPTS is
21142	  true.
21143
211442012-09-29  Vincent Lef��vre  <vincent@vinc17.net>
21145
21146	[doc/README.dev] Note about GNU extensions and ICC.
21147
211482012-09-20  Vincent Lef��vre  <vincent@vinc17.net>
21149
21150	[get_float128.c,set_float128.c] Avoid an empty translation unit
21151	(forbidden by ISO C, detected with gcc -ansi -pedantic-errors)
21152	when MPFR_WANT_FLOAT128 is not defined.
21153
21154	Applied patch (with minor changes) by Patrick P��lissier to improve
21155	the mpfr_round_nearest_away interface.
21156
211572012-09-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
21158
21159	[nightly-test] modified so that decimal floats are tested (with gcc)
21160
211612012-09-05  Vincent Lef��vre  <vincent@vinc17.net>
21162
21163	Removed trailing whitespace.
21164
21165	[doc/mpfr.texi] Updated the month.
21166
211672012-09-04  Vincent Lef��vre  <vincent@vinc17.net>
21168
21169	[configure.ac] Improved error message when the compiler doesn't know
21170	_Decimal64 (if MPFR is built with --enable-decimal-float).
21171
211722012-09-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
21173
21174	revert changeset r8412 (_Decimal64 might be defined in C++, but not as a macro)
21175
21176	updated documentation wrt --enable-decimal-float
21177
21178	added support for --enable-decimal-float with g++ (does not work with icpc,
21179	      the Intel C++ compiler)
21180
21181	[tests/tl2b.c] fix for C++
21182
211832012-09-04  Vincent Lef��vre  <vincent@vinc17.net>
21184
21185	[src/set_d.c] Updated a comment on the negative zero.
21186
21187	[src/get_str.c] #include "mpfr-intmax.h" so that UINT64_C has a chance
21188	to be defined (optionally used as of r8406).
21189
211902012-09-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
21191
21192	[src/set_d64.c] fix for systems where +0.0 and -0.0 are stored identically in
21193			memory
21194
21195	[src/set_d64.c] better code to detect -0.0 (copied from set_d.c)
21196
21197	[tests/tl2b.c] use UINT64_C for 64-bit integer constants
21198	[src/get_str.c] update table generated by "tests/tl2b 1"
21199
21200	[get_d64.c,set_d64.c] small fixes (did not work any more with --with-gmp-build)
21201
21202	[set_d64.c] some cleanup, since sprintf adds a final '\0', and fixed a too
21203		    small memory allocation
21204
212052012-09-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
21206
21207	[TODO] removed an item (done)
21208
21209	Now --enable-decimal-float does not require any more --with-gmp-build.
21210	Still disabled by default: some more testing is needed before we can enable
21211	it by default (if _Decimal64 is supported).
21212
212132012-08-29  Vincent Lef��vre  <vincent@vinc17.net>
21214
21215	[tests/tstrtofr.c] Updated bug20120829 comment (bug fixed in r8396).
21216
21217	[tests/tstrtofr.c] Fixed small type error.
21218
212192012-08-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
21220
21221	[strtofr.c] new try to fix the assertion failure on 32-bit
21222
212232012-08-29  Vincent Lef��vre  <vincent@vinc17.net>
21224
21225	[tests/tstrtofr.c] Added more bug20120829 tests, showing that r8394 is
21226	still buggy on 32-bit machines (assertion failure in strtofr.c).
21227
212282012-08-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
21229
21230	[strtofr.c] fix for failing test case introduced in r8392
21231
212322012-08-29  Vincent Lef��vre  <vincent@vinc17.net>
21233
21234	[tests/tstrtofr.c] Updated a comment: the 2nd testcase of r8392 also
21235	triggers an assertion failure on 32-bit machines.
21236
21237	[tests/tstrtofr.c] Added 2 testcases:
21238	  * One triggering an assertion failure in strtofr.c r8389
21239	    on 32-bit machines (fixed in r8390).
21240	  * One still triggering an assertion failure in strtofr.c (r8391)
21241	    on 64-bit machines.
21242
212432012-08-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
21244
21245	[strtofr.c] fixed comments
21246
212472012-08-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
21248
21249	[strtofr.c] fix for err >= GMP_NUMB_BITS
21250
212512012-08-28  Vincent Lef��vre  <vincent@vinc17.net>
21252
21253	[src/strtofr.c] Consistency correction: towards ��� toward.
21254
21255	[src/sin_cos.c] Consistency correction: towards ��� toward.
21256
21257	[doc] Updated FAQ.html with update-faq.
21258
212592012-08-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
21260
21261	[strtofr.c] fixed bug in mpfr_strtofr in case:
21262		    (1) the input string was used entirely
21263		    (2) the conversion was done by a division
21264		    (3) and the division was exact
21265		    In such a case the "reconstruction" of the ternary value was
21266		    inexact.
21267
212682012-08-16  Vincent Lef��vre  <vincent@vinc17.net>
21269
21270	[src/get_d64.c] mpfr_get_decimal64 was buggy in MPFR_RNDN on some
21271	  values x such that 0.5e-398 < |x| < 1e-398 (smallest subnormal):
21272	  it was returning 0 instead of +/- 1e-398 (see r8370).
21273	[tests/tget_set_d64.c] Added testcases.
21274
212752012-08-15  Vincent Lef��vre  <vincent@vinc17.net>
21276
21277	[src/get_d64.c] Fixed get_decimal64_max by simplifying it completely,
21278	and changed get_decimal64_min in the same way.
21279	Thanks to Rob (Sisyphus) for the idea.
21280
21281	[tests/tget_set_d64.c] Added overflow tests (they cover the two bad
21282	tests fixed in r8372 and trigger a bug in get_decimal64_max).
21283
21284	[tests/tget_set_d64.c] Added some tests for large numbers.
21285
21286	Renamed WANT_ASSERT to MPFR_WANT_ASSERT in order to avoid a clash
21287	with GMP when MPFR is configured with --with-gmp-build.
21288
212892012-08-14  Vincent Lef��vre  <vincent@vinc17.net>
21290
21291	[src/get_d64.c] Fixed overflow cases.
21292
21293	[tests/tstrtofr.c] Added testcase from bug reported by Joseph S. Myers.
21294
212952012-08-13  Vincent Lef��vre  <vincent@vinc17.net>
21296
21297	[src/get_d64.c] mpfr_get_decimal64 is buggy in MPFR_RNDN for values x
21298	such that 0.5e-398 < |x| < 1e-398. Added a FIXME comment.
21299	See: https://sympa.inria.fr/sympa/arc/mpfr/2012-08/msg00002.html
21300
213012012-07-27  Vincent Lef��vre  <vincent@vinc17.net>
21302
21303	[src/fpif.c] No longer assume that if HAVE_BIG_ENDIAN is not defined,
21304	  the architecture is little endian. Detect the case where neither
21305	  HAVE_BIG_ENDIAN nor HAVE_LITTLE_ENDIAN is defined (currently an
21306	  error).
21307	[configure.ac] Fixed the use of AC_C_BIGENDIAN (since AC_CONFIG_HEADERS
21308	  is not used, one must have an ACTION-IF-UNIVERSAL argument).
21309	[doc/README.dev] Check with "-UHAVE_BIG_ENDIAN -UHAVE_LITTLE_ENDIAN"
21310	  (unknown/unspecified endianness) before a release.
21311
21312	[doc/README.dev] Update now that autogen.sh is in the repository.
21313
21314	Added autogen.sh sh script from Daniel Richard G. to install/update the
21315	autotools files and clean up caches (useful before a release).
21316
21317	Updated autotools files to get rid of obsolete macros (thanks to
21318	Daniel Richard G. for the patch; kept the autoconf requirement
21319	to 2.60 instead of changing it to 2.68 as done with autoupdate,
21320	since 2.60 seems to be sufficient according to the changes and
21321	2.68 is too recent, e.g. Debian/stable still has 2.67).
21322	--- Note ---
21323	This update has another effect: The "Configs for Windows DLLs."
21324	code (from "case $host in" to "esac") is now executed at the right
21325	time, after options like --disable-static are taken into account.
21326	Juste before this change, the test
21327	   if test "$enable_shared" = yes; then
21328	was always false. This could be seen on hydra:
21329	With r8360:
21330	[...]
21331	configure flags: --disable-static --disable-dependency-tracking
21332	  --prefix=/nix/store/95zhbb0v23syxsazx33hg3acbvixyq5a-mpfr-0-3.2.0-dev
21333	[...]
21334	checking for DLL/static GMP... static
21335	[...]
21336	checking whether to build shared libraries... yes
21337	checking whether to build static libraries... no
21338	[...]
21339	With r8367:
21340	[...]
21341	configure flags: --disable-static --disable-dependency-tracking
21342	  --prefix=/nix/store/8zblwffd2ww1z0smqlgwrfzcl6b48rim-mpfr-0-3.2.0-dev
21343	[...]
21344	checking whether to build shared libraries... yes
21345	checking whether to build static libraries... no
21346	checking for DLL/static GMP... static
21347	[...]
21348
21349	[src/mpfr-intmax.h] Updated comment formatting so that mpfrlint
21350	doesn't complain.
21351
213522012-07-26  Vincent Lef��vre  <vincent@vinc17.net>
21353
21354	[configure.ac] Replaced "sed" by "$SED".
21355
21356	[tools/mpfrlint] Check for sed.
21357
21358	[tools/mpfrlint] Check for grep, egrep and fgrep (see r8356 correction).
21359
213602012-07-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
21361
21362	we use a 77-bit approximation in get_str.c (and not 76-bit)
21363
213642012-07-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
21365
21366	[configure.ac] grep -> $EGREP (thanks Marc Glisse)
21367		       https://sympa.inria.fr/sympa/arc/mpfr/2012-07/msg00006.html
21368
213692012-07-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
21370
21371	[acinclude.m4] fix for cross-compilation
21372
213732012-07-24  Vincent Lef��vre  <vincent@vinc17.net>
21374
21375	[acinclude.m4] Improved a message and corrected gmp.h inclusion.
21376
213772012-07-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
21378
21379	[acinclude.m4] added test for double-to-integer conversion bug
21380
21381	revert r8349 (will do the test in configure)
21382
213832012-07-24  Vincent Lef��vre  <vincent@vinc17.net>
21384
21385	Improved doc/mpfr.texi about MPFR_USE_INTMAX_T.
21386
21387	[src/mpfr-intmax.h] Define MPFR_USE_INTMAX_T if <inttypes.h> and/or
21388	<stdint.h> is available. This is needed on systems for which the
21389	current (non-standard) macro tests in mpfr.h is not sufficient.
21390	This will force the support of intmax_t/uintmax_t in this case and
21391	also avoids a failure in the tests on such systems.
21392	Tested by replacing the macro tests in mpfr.h by just
21393	  #if defined (MPFR_USE_INTMAX_T)
21394	to simulate such a system.
21395
213962012-07-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
21397
21398	[tinternals.c] added test for double -> mp_limb_t conversion
21399
214002012-07-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
21401
21402	[mpfr.h] patch for FreeBSD (tested on gcc76.fsffrance.org with freebsd-83-amd64)
21403
214042012-07-10  Vincent Lef��vre  <vincent@vinc17.net>
21405
21406	Added tools/announce-text sh script to be run before publishing an
21407	announce of a new GNU MPFR release (it does some checking, then it
21408	outputs the announce text to stdout).
21409	Mention this script in "doc/README.dev".
21410
21411	[doc/README.dev] Updated "To make a release".
21412
214132012-07-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
21414
21415	[TODO] added item
21416
214172012-07-06  Vincent Lef��vre  <vincent@vinc17.net>
21418
21419	[tests/{tset_d.c,tget_flt.c}] Disabled two tests when HAVE_SIGNEDZ
21420	isn't defined, because these tests rely on signed zeros.
21421
21422	[acinclude.m4] Added a test for signed zeros (tcc currently doesn't
21423	support signed zeros, and 2 MPFR tests fail because of that).
21424
21425	[acinclude.m4] Removed useless "#include <math.h>" in the test
21426	for subnormal numbers.
21427
21428	[acinclude.m4] Replaced the AC_TRY_RUN obsolete macro by
21429	AC_RUN_IFELSE([AC_LANG_SOURCE([[...]])],...) as documented
21430	in the GNU Autoconf manual.
21431	Minor correction in the test for subnormal numbers.
21432
21433	[tests] Added trndna to svn:ignore property.
21434
21435	[tests/tset_d.c] Formatting.
21436
21437	Replaced "denormalized" by the official term "subnormal".
21438
214392012-07-05  Vincent Lef��vre  <vincent@vinc17.net>
21440
21441	[tools/coverage] unset MPFR_* environment variables in a better way.
21442
21443	[tools/coverage] unset MPFR_* environment variables in a better way.
21444
214452012-07-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
21446
21447	[coverage] unset MPFR_* environment variables to get reproducible results
21448
21449	[tabort_defalloc2.c] changed char* into void* to please g++ compiler
21450
214512012-07-04  Vincent Lef��vre  <vincent@vinc17.net>
21452
21453	[tests/trndna.c] Removed useless initialization.
21454
214552012-07-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
21456
21457	[trndna.c] restore emin
21458
21459	[coverage] unset GMP_CHECK_RANDOMIZE so that the coverage test is deterministic
21460
214612012-07-04  Vincent Lef��vre  <vincent@vinc17.net>
21462
21463	[doc/mpfr.texi] Replaced a "should not" by a "must not".
21464
21465	[doc/mpfr.texi] Consistency change.
21466
214672012-07-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
21468
21469	[trndna.c] increase emin when smallest possible
21470
21471	[rndna.c] special treatment for the case 2^(emin-2)
21472
21473	several changes suggested by Vincent Lefevre
21474
21475	[rndna.c] changed the specification since on 32-bit machines we have no margin
21476		  for the smallest exponent emin
21477
21478	added new function mpfr_round_nearest_away() as discussed during the June 2012
21479	workshop
21480
214812012-07-03  Vincent Lef��vre  <vincent@vinc17.net>
21482
21483	[tools/coverage] Minor update, just in case...
21484
214852012-07-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
21486
21487	[exp.c] fixed typo
21488
214892012-07-03  Vincent Lef��vre  <vincent@vinc17.net>
21490
21491	[doc/mpfr.texi] Updated the month.
21492
21493	[tests/{td_div.c,tget_d.c}] Disable tests with a division by 0 if
21494	MPFR_ERRDIVZERO is defined.
21495
21496	[tests/tests.c] Improved an error message.
21497
21498	[acinclude.m4] Fixed sigaction check to support "gcc -std=c99", like
21499	what has been done for math/round.
21500
215012012-07-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
21502
21503	[trndna.c] test file for mpfr_round_nearest_away()
21504
215052012-07-02  Vincent Lef��vre  <vincent@vinc17.net>
21506
21507	[src/rndna.c]
21508	  * Handle singular cases like with other functions. Avoid the goto.
21509	  * Reordered the tests to make them simpler and easier to understand
21510	    (it wasn't immediately visible that inex could not be 0 for the
21511	    second "else") and fixed the case lastbit == 1 && inex < 0.
21512
21513	[src/rndna.c] Added a note saying that this method doesn't work
21514	for 2^(emin-2).
21515
215162012-06-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
21517
21518	[rndna.c] new function that computes rounding to nearest-away
21519
215202012-06-28  Vincent Lef��vre  <vincent@vinc17.net>
21521
21522	[tests/tprintf.c] Test the thousands separator in some en_US locale,
21523	if available (modified patch from Patrick).
21524
21525	Added coverage tune (from a patch by Patrick).
21526
215272012-06-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
21528
21529	[mpfr.texi] added support by ERC grant of Andreas
21530
215312012-06-27  Vincent Lef��vre  <vincent@vinc17.net>
21532
21533	[doc/mpfr.texi] Replaced a few @samp by @code for consistency.
21534
215352012-06-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
21536
21537	[mpfr.texi] document MPFR_WANT_DECIMAL_FLOATS and MPFR_WANT_FLOAT128
21538
215392012-06-27  Vincent Lef��vre  <vincent@vinc17.net>
21540
21541	[src/mulders.c] Clean-up and static assertions (patch from Patrick).
21542
21543	[tests/tgrandom.c] Replaced GMP_RNDN by MPFR_RNDN.
21544
21545	[tests/tgrandom.c] Improved a test and added a new one for
21546	mpfr_grandom(x, NULL, ...).
21547
21548	[doc/mpfr.texi] Completed spec of mpfr_grandom.
21549
215502012-06-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
21551
21552	[coverage] added instructions how to use this script
21553
215542012-06-27  Vincent Lef��vre  <vincent@vinc17.net>
21555
21556	[NEWS] Update: test coverage.
21557
21558	[tools/coverage] Detailed coverage (from a patch by Patrick).
21559
215602012-06-26  Vincent Lef��vre  <vincent@vinc17.net>
21561
21562	[src/{mpfr-impl.h,print_raw.c}] Removed unused function mpfr_dump_mant
21563	(added in r3410, but never used); patch by Patrick.
21564
21565	[tests/tsin.c] Improved coverage.
21566
21567	[tests/tset.c] Test the mpfr_set function too (patch by Patrick).
21568
21569	Added configure option --enable-assert=none to avoid checking any
21570	assertion (this is based on a patch by Patrick).
21571
21572	[src/digamma.c] Correction: assertions must never have any side effect.
21573
21574	[tests] Updated svn:ignore property.
21575
21576	[src/atan.c] Removed trailing whitespace.
21577
21578	Forgot to add some files in r8266 (tests that are expected to fail).
21579
21580	Support tests that are expected to fail (from a patch by Patrick).
21581
21582	[tests/tversion.c] Output the applied patches (if any).
21583
21584	[tests/tstckintc.c] Correction and test improvement (from a patch
21585	by Patrick).
21586
21587	[tools/coverage] Correction by Patrick.
21588
215892012-06-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
21590
21591	[atan.c] improved code coverage by removing some dead code after some numerical
21592		 analysis with Benjamin Dadoun
21593
215942012-06-26  Vincent Lef��vre  <vincent@vinc17.net>
21595
21596	[doc/README.dev] Removed obsolete "but see below".
21597
21598	[tests/tinternals.c] mpfr_set_prec_raw missing tests (thanks to Patrick).
21599
21600	[tests/tset_si.c] Also test the mpfr_set_ui function (instead of macro).
21601
21602	[NEWS] 3.2.0 will be "dinde aux marrons".
21603
216042012-06-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
21605
21606	[gamma.c] simplified mpfr_gamma_1_minus_x_exact() after code coverage analysis
21607		  with Benjamin Dadoun
21608
216092012-06-25  Vincent Lef��vre  <vincent@vinc17.net>
21610
21611	[configure.ac] aclocal -> acinclude.m4 in a comment.
21612
21613	[src/{init2.c,mpfr-impl.h}] Clean-up.
21614
216152012-06-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
21616
21617	[TODO] removed one item, added one
21618
216192012-06-25  Vincent Lef��vre  <vincent@vinc17.net>
21620
21621	[acinclude.m4] Detect whether _Thread_local (C11) is supported.
21622	[src/mpfr-thread.h] Use _Thread_local if supported, instead of __thread.
21623	(Patch from Patrick)
21624
216252012-06-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
21626
21627	[gamma.c] simplified code for mpfr_gamma_2_minus_x_exact() (thanks to coverage
21628		  analysis by Benjamin Dadoun)
21629
216302012-06-25  Vincent Lef��vre  <vincent@vinc17.net>
21631
21632	[src/Makefile.am] Added mpfr-sassert.h to libmpfr_la_SOURCES.
21633
21634	[src/init2.c] Replaced classic assertions by static assertions.
21635
21636	Added Static Assertion support (modified patch from Patrick).
21637	  * Added src/mpfr-sassert.h: implementation of static assertions.
21638	  * src/mpfr-impl.h: include "mpfr-sassert.h".
21639	  * acinclude.m4: test whether static assertions are supported.
21640
21641	[doc/README.dev] Suggest to test with and without -std=c11.
21642
21643	[tests/tset_float128.c] Test the sign of 0. Use mpfr_equal_p instead of
21644	mpfr_cmp (this is safer if a result is NaN).
21645
21646	[src/set_float128.c] Avoid a goto (useless here, contrary to set_ld.c).
21647
21648	[src/get_float128.c] !MPFR_IS_ZERO -> MPFR_NOTZERO; GNU coding style.
21649
21650	tests: updated svn:ignore property.
21651
21652	[tests/tset_float128.c] Got rid of the remaining mpfr_printf's.
21653
216542012-06-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
21655
21656	[tset_float128.c] added missing empty main when functions are not tested
21657
21658	[set_float128.c,tset_float128.c] untabified and got rid of mpfr_printf
21659
216602012-06-25  Vincent Lef��vre  <vincent@vinc17.net>
21661
21662	[NEWS] Added a period.
21663
21664	[doc/mpfr.texi] Updated the month.
21665
21666	[configure.ac] "configure --help" formatting for --enable-float128.
21667
216682012-06-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
21669
21670	compile mpfr_set_float128 and mpfr_get_float128 only when __float128 is supported
21671
21672	[configure.ac] __float128 is supported by GCC >= 4.3
21673
216742012-06-25  Vincent Lef��vre  <vincent@vinc17.net>
21675
21676	[tests/tset_float128.c] mp_rnd_t -> mpfr_rnd_t
21677
216782012-06-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
21679
21680	added new functions mpfr_set_float128 and mpfr_get_float128
21681
21682	[get_ld.c] fixed typo
21683
216842012-06-25  Vincent Lef��vre  <vincent@vinc17.net>
21685
21686	[tests/tversion.c] Test mpfr_buildopt_tune_case() vs MPFR_TUNE_CASE.
21687
21688	[src/buildopt.c] Made mpfr_buildopt_tune_case() simpler.
21689
216902012-06-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
21691
21692	[li2.c] replaced mpfr_cmp_d by mpfr_cmp_ui_2exp
21693
216942012-06-21  Vincent Lef��vre  <vincent@vinc17.net>
21695
21696	[tests/tset_ld.c] For _GMP_IEEE_FLOATS, use #if instead of #ifdef
21697	since mpfr-impl.h defines it to 0 if it was undefined.
21698
216992012-05-18  Vincent Lef��vre  <vincent@vinc17.net>
21700
21701	[TODO] Added a reference to a new discussion concerning __float128.
21702
217032012-05-14  Sylvain Chevillard  <Sylvain.Chevillard@inria.fr>
21704
21705	* Other corrections (essentially bad or missing declarations) in metaMPFR.
21706
217072012-05-11  Vincent Lef��vre  <vincent@vinc17.net>
21708
21709	[doc/mpfr.texi] Improved the description of the mpfr_flags_ functions.
21710
217112012-05-10  Sylvain Chevillard  <Sylvain.Chevillard@inria.fr>
21712
21713	* Corrected small errors.
21714
217152012-05-10  Vincent Lef��vre  <vincent@vinc17.net>
21716
21717	[doc/mpfr.texi] Improved mpfr_flags_test description, giving an example.
21718
21719	[src/mpfr.h] Define MPFR_FLAGS_ALL from the individual flags
21720	(MPFR_FLAGS_UNDERFLOW...). Suggestion by Paul Zimmermann.
21721	Note: the output expression looks OK in assertion failures.
21722
21723	[doc/mpfr.texi] Correction on mpfr_clear_flags description.
21724
217252012-05-09  Vincent Lef��vre  <vincent@vinc17.net>
21726
21727	Added functions that operate on groups of flags: mpfr_flags_clear,
21728	mpfr_flags_set, mpfr_flags_test, mpfr_flags_save and mpfr_flags_restore.
21729	(reintegrated flags branch to the trunk: svn merge --reintegrate ...)
21730
217312012-05-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
21732
21733	patch from Nitin A Kamble for automake 1.12.
21734	This patch avoids these issues with automake 1.12:
21735	| configure.ac:304: error: automatic de-ANSI-fication support has been removed
21736	| tests/Makefile.am:12: error: automatic de-ANSI-fication support has been removed
21737
217382012-05-07  Vincent Lef��vre  <vincent@vinc17.net>
21739
21740	[AUTHORS,INSTALL,doc/mpfr.texi] Updated the e-mail address of the
21741	MPFR mailing-list to match the List-* headers written by the new
21742	mailing-list server (the old one still works, but may lead to bad
21743	interaction with MUA's that attempt to honor the List-Post header
21744	when replying to the list(s)).
21745
21746	[src/lngamma.c] Added mpfr_explgamma internal function to handle
21747	  overflows/underflows (intermediate or not) in mpfr_gamma.
21748	  Updated the general overflow detection to use this function.
21749	[src/gamma.c] Fixed the general underflow detection.
21750
21751	[src/lngamma.c] Removed spurious parentheses.
21752
21753	[tests/tgamma.c] Added tests for 32-bit and 64-bit machines, showing an
21754	underflow detection bug in gamma.c (see FIXME comment added in r8185).
21755
21756	[tests/tgamma.c] Added tests to trigger the pre-r8189 endless loop
21757	on 32-bit machines.
21758
217592012-05-04  Vincent Lef��vre  <vincent@vinc17.net>
21760
21761	[tests/tgamma.c] Updated exp_lgamma to test the ternary value.
21762
21763	[src/lngamma.c] Fixed the problem with the overflow flag (r8192).
21764
21765	Improved src/lngamma.c (mainly on changes from r8189):
21766	  * Declarations of ok variable were used in nested block.
21767	  * Added a missing "MPFR_ZIV_FREE (loop);".
21768	  * In the overflow detection code, call mpfr_lngamma only once, use
21769	    mpfr_equal_p instead of mpfr_cmp, and share code with the end.
21770	Note: the problem with the overflow flag (r8192) hasn't been solved yet.
21771
21772	[tests/tgamma.c] Added a test showing a failure on 64-bit machines
21773	due to an unset overflow flag.
21774
21775	[tests/tgamma.c] Updated exp_lgamma to test underflow & overflow flags.
21776
21777	[TODO] For mpfr_get_flt, etc., exception flags should be raised.
21778
217792012-05-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
21780
21781	[src/lngamma.c] fixed endless loop with test cases introduced in r8188
21782
217832012-05-03  Vincent Lef��vre  <vincent@vinc17.net>
21784
21785	[tests/tgamma.c] Updated the exp_lgamma_tests test to trigger an
21786	endless loop due to undetected overflow on 64-bit machines.
21787
21788	[tests/tgamma.c] Say that the freeze is for 64-bit machines only.
21789
21790	[tests/tgamma.c] Added more mpfr_tgamma tests, showing a freeze.
21791
21792	[src/gamma.c] Corrected the FIXME comment concerning the underflow
21793	detection.
21794
21795	[src/gamma.c] Added a FIXME comment: the underflow detection may still
21796	be buggy (or the explanation is incomplete).
21797
21798	[src/gamma.c] Completed the explanation concerning the new underflow
21799	detection.
21800
21801	[src/gamma.c] Removed the FIXME comment (from r8169).
21802
21803	[src/gamma.c] Untabified.
21804
21805	ChangeLog update with "LC_ALL=en_US.UTF8 TZ=UTC svn log -rHEAD:0 -v".
21806
21807	[doc/mpfr.texi] Updated the month.
21808
218092012-05-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
21810
21811	[gamma.c] tentative fix for the underflow problem
21812
218132012-05-03  Vincent Lef��vre  <vincent@vinc17.net>
21814
21815	Updated URL's of mailing-list archives/messages in all files
21816	(except ChangeLog, as it is generated).
21817
21818	[TODO] Updated URL's of mailing-list archives/messages.
21819
218202012-05-02  Vincent Lef��vre  <vincent@vinc17.net>
21821
21822	[TODO] Updated concerning MPFR_RNDNA.
21823
218242012-04-27  Vincent Lef��vre  <vincent@vinc17.net>
21825
21826	[src/gamma.c] Added a FIXME comment.
21827
21828	[TODO] Suggested a new rounding mode: MPFR_RNDE, to be used when the
21829	result is known to be exact (normal mode: optimize; debug mode: check).
21830
21831	[src/gamma.c] Use the new MPFR_DBGRES macro.
21832
21833	[tests/tgamma.c] Improved testcase test20100709.
21834
21835	[tests/tgamma.c] Updated testcase test20100709 for 64-bit machines,
21836	as this bug reappeared in r8159.
21837
218382012-04-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
21839
21840	[src/gamma.c] fixed bug found by Giridhar Tammana
21841		      https://sympa.inria.fr/sympa/arc/mpfr/2012-04/msg00013.html
21842	Note (VL): this fix triggers an infinite loop on 32-bit machines
21843	  (or with -m32) in test20100709 from tgamma.c and this is partly
21844	  the opposite of changeset r6996.
21845
218462012-04-26  Vincent Lef��vre  <vincent@vinc17.net>
21847
21848	[tests/texceptions.c] Added a comment for check_groups().
21849
21850	[src/mpfr-impl.h] Improved the noreturn feature.
21851
218522012-04-25  Vincent Lef��vre  <vincent@vinc17.net>
21853
21854	Added support for _Noreturn function specifier (ISO C11).
21855	  * acinclude.m4: define MPFR_HAVE_NORETURN if _Noreturn is supported.
21856	  * src/mpfr-impl.h: use _Noreturn when MPFR_HAVE_NORETURN is defined.
21857	Tested with GCC 4.6 (no _Noreturn) and 4.7 (supports _Noreturn).
21858
21859	[doc/README.dev] Added a note about the new experimental
21860	-ftrack-macro-expansion GCC option.
21861
218622012-04-24  Vincent Lef��vre  <vincent@vinc17.net>
21863
21864	[doc/mpfr.texi] Small correction on the mpfr_flags_t description.
21865
21866	[src/mpfr-impl.h] Added MPFR_FLAGS_DIVBY0 (missing from r8143).
21867
21868	[src/mpfr-impl.h] Forgot to replace the mpfr_clear_divby0 internal macro
21869	by MPFR_CLEAR_DIVBY0 in r8141.
21870
218712012-04-23  Vincent Lef��vre  <vincent@vinc17.net>
21872
21873	[src/ai.c] Use an intermediate variable to avoid a huge macro expansion
21874	in ASSERT_FAIL with gcc -ansi -pedantic-errors.
21875	(Merged changeset r8149 from the trunk)
21876
21877	[src/mpfr-impl.h] Added a comment concerning MPFR_INT_CEIL_LOG2 and
21878	macro expansion.
21879
21880	[src/ai.c] Use an intermediate variable to avoid a huge macro expansion
21881	in ASSERT_FAIL with gcc -ansi -pedantic-errors.
21882
21883	[tools/mpfrlint] Update after r8143.
21884	(Merged changeset r8147 from the trunk)
21885
21886	[tools/mpfrlint] Update after r8141.
21887
218882012-04-20  Vincent Lef��vre  <vincent@vinc17.net>
21889
21890	[TODO] Removed item about saving/restoring flags.
21891
21892	[tests/texceptions.c] Added test of the mpfr_flags_* functions/macros.
21893
21894	[NEWS] New mpfr_flags_* functions.
21895
21896	Merged /trunk:r8141-8142 with a few manual changes due to conflict:
21897	replaced the flags-related mpfr_clear_* internal macros (which were
21898	already removed in this flags branch) by an uppercase version using
21899	a do-while in order to prevent one from using them in an expression.
21900	Renamed MPFR_SET_ERANGE to MPFR_SET_ERANGEFLAG for consistency.
21901
21902	[src/mpfr-impl.h] Improved comment about MPFR_CLEAR_* macros.
21903
21904	[src] Replaced the flags-related mpfr_clear_* internal macros by an
21905	uppercase version with a do-while in order to prevent one from using
21906	them in an expression. Renamed MPFR_SET_ERANGE to MPFR_SET_ERANGEFLAG
21907	for consistency.
21908
219092012-04-19  Vincent Lef��vre  <vincent@vinc17.net>
21910
21911	Implemented the mpfr_flags_* functions (and mpfr_flags_test as a macro).
21912	The MPFR_FLAGS_* macros had to be moved from mpfr-impl.h to mpfr.h (as
21913	they are now part of the API). Check that MPFR_FLAGS_ALL <= INT_MAX (or
21914	similar) when need be. Removed the mpfr_clear_* macros and merged r8139
21915	(about the MPFR_SET_ERANGE macro) from the trunk due to a risk to break
21916	the sequence point rules.
21917
21918	[src/mpfr-impl.h] Use a do-while statement for the MPFR_SET_ERANGE()
21919	macro in order to prevent one from using this macro in an expression,
21920	as the sequence point rules could be broken if __gmpfr_flags is
21921	assigned twice in the same expression (via macro expansions).
21922	Note: This cannot be done for the mpfr_clear_* flags macros because
21923	we want to be able to follow the API inside MPFR (thus these macros
21924	must be usable wherever a function is). These macros should probably
21925	be removed or renamed in the future (e.g. via the flags branch).
21926
219272012-04-17  Vincent Lef��vre  <vincent@vinc17.net>
21928
21929	[doc/mpfr.texi] Added documentation for the new functions on groups
21930	of flags (not implemented yet).
21931
219322012-04-11  Vincent Lef��vre  <vincent@vinc17.net>
21933
21934	[TODO] Suggest mpfr_pow_q and variants.
21935
219362012-03-28  Vincent Lef��vre  <vincent@vinc17.net>
21937
21938	[doc/mpfr.texi] Updated "API Compatibility" section: functions
21939	mpfr_fmodquo, mpfr_fpif_export and mpfr_fpif_import are new in
21940	MPFR 3.2.
21941
219422012-03-27  Vincent Lef��vre  <vincent@vinc17.net>
21943
21944	[tests/tfpif.c] Removed trailing whitespace.
21945
219462012-03-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
21947
21948	[src/fpif.c,tests/tfpif.c] changed to GNU style
21949
219502012-03-26  Olivier Demengeon  <olivier.demengeon@inria.fr>
21951
21952	Add a test on FILE* in fpif.c; Added a missing test on a return value; Changed the way to compute number of bytes needed for the limb of a mpfr number; Increase coverage test of fpif.c
21953
219542012-03-26  Vincent Lef��vre  <vincent@vinc17.net>
21955
21956	[src] New mpfr_flags_t type, defined as an unsigned int. For the
21957	  __gmpfr_flags variable and internal flags-related variables,
21958	  replaced unsigned int by mpfr_flags_t (note that this doesn't
21959	  change the ABI, since unsigned int was already used).
21960	[tests] Cast __gmpfr_flags to unsigned int when printed with %u.
21961
219622012-03-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
21963
21964	added new function mpfr_fmodquo
21965	(cf https://sympa.inria.fr/sympa/arc/mpfr/2012-03/msg00020.html)
21966
219672012-03-26  Vincent Lef��vre  <vincent@vinc17.net>
21968
21969	[src/mpfr-examples/version.c] Output sizeof(mpfr_t) value.
21970
21971	[tests/tests.c] Improved src_fopen() a bit.
21972
21973	[doc/README.dev] Explain the use of the new MPFR_DBGRES macro.
21974
21975	[src/mpfr-impl.h] Added a MPFR_DBGRES macro to avoid a warning in
21976	non-debug mode, e.g. with GCC's -Wunused-but-set-variable, when a
21977	result is tested only in an MPFR_ASSERTD expression.
21978	[src/const_euler.c] Avoid such a warning by using MPFR_DBGRES.
21979
21980	MPFR_ASSERTD or MPFR_ASSERTN must be used for assertions, not ASSERT.
21981
219822012-03-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
21983
21984	[tests/tests.c] fixed problem with src_fopen
21985		(https://sympa.inria.fr/sympa/arc/mpfr/2012-03/msg00021.html)
21986
21987	[tests/Makefile.am] inp_str.data -> inp_str.dat
21988
21989	renamed tests/inp_str.data into tests/inp_str.dat
21990	[tests/tinp_str.c] now use tests/inp_str.dat
21991	[tests/tfpif.c] use src_fopen instead of fopen
21992
21993	[src/fpif.c] simplified &x[i] into x+i
21994
21995	[src/mparam_h.in] better recognition of AMD64 systems
21996	[tools/cfarm.sh] updated
21997
21998	[tests.c] fixed compiler warning (gcc70.fsffrance.org, NetBSD, gcc 4.1.3)
21999
220002012-03-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
22001
22002	[fpif.c] simplified code since nb_data is always 1
22003
22004	[mparam_h.in] recognize __tune_amdfam10__ (for example gcc10.fsffrance.org)
22005
22006	[configure.ac] use AC_C_BIGENDIAN to determine endianness of words
22007
22008	[tests/Makefile.am] the name of the test file for the export/import functions has changed
22009
220102012-03-19  Vincent Lef��vre  <vincent@vinc17.net>
22011
22012	tests: updated svn:ignore property.
22013
22014	[src/mpfr.h] Indentation.
22015
220162012-03-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
22017
22018	changed the order of arguments of mpfr_fpif_import so that the modified
22019	argument is first
22020
22021	[NEWS] updated item about the new mpfr_fpif_export and mpfr_fpif_import functions
22022
22023	mpfr_fpif_export_binary -> mpfr_fpif_export
22024	mpfr_fpif_import_binary -> mpfr_fpif_import
22025
22026	stream.data renamed to mpfrtest.dat
22027	[tfpif.c] now use remove()
22028
220292012-03-19  Vincent Lef��vre  <vincent@vinc17.net>
22030
22031	[doc/mpfr.texi] "in future version" ��� "in future versions".
22032
22033	[doc/mpfr.texi] Updated the month.
22034
22035	[src/fpif.c,tests/tfpif.c] Corrected coding style.
22036
220372012-03-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
22038
22039	[src/fpif.c] fixed a few warnings and errors with g++ (found on hydra)
22040
220412012-03-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
22042
22043	[out_raw.c] removed obsolete file (replaced by fpif.c)
22044
22045	[tests/Makefile.am] put tfpif at its right place
22046
22047	[src/fpif.c] fixed problem with sign on gcc38
22048	[tests/tfpif.c] solved FIXME's, added new test with fixed data file
22049	[tests/stream.data] data file for tfpif.c (to check we get same results with
22050			    different word size and endianness)
22051	[tests/Makefile.am] added stream.data to make dist
22052
22053	[fpif.c] added comments
22054	[tfpif.c] improve error message in case of mismatch
22055	[acinclude.m4] forgot double-double big endian
22056
22057	[mpfr.texi] added note saying that mpfr_fpif_export_binary and
22058		    mpfr_fpif_import_binary are experimental
22059
22060	[mpfr.texi] added documentation for mpfr_fpif_export_binary and mpfr_fpif_import_binary
22061
22062	[fpif.c] replaced sizeof(var) by sizeof(type)
22063
220642012-03-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
22065
22066	[fpif.c] fixed a few issues
22067
22068	[src/fpif.c,src/mpfr.h,tests/tfpif.c] a few fixes so that make and make check
22069					      pass on one machine. Will fix the
22070					      remaining issues later.
22071
220722012-03-15  Vincent Lef��vre  <vincent@vinc17.net>
22073
22074	Added FIXME for export/import MPFR numbers, did some corrections,
22075	updated NEWS file.
22076
22077	[doc/README.dev] Update about C headers.
22078
220792012-03-15  Olivier Demengeon  <olivier.demengeon@inria.fr>
22080
22081	Add copyright material in fpif.c and test_fpif.c
22082
22083	Add functions/tests to export/import mpfr number in a binary format
22084
220852012-03-13  Vincent Lef��vre  <vincent@vinc17.net>
22086
22087	Improved mpfr_check and added a missing testcase.
22088
220892012-03-09  Vincent Lef��vre  <vincent@vinc17.net>
22090
22091	[doc/README.dev] Corrected information about valgrind.
22092
22093	[src/mpfr-impl.h] Updated a comment.
22094
22095	[src/mpfr-impl.h] Improved macros from the changeset r8025, in
22096	particular to avoid an error with the --enable-assert configure
22097	option and the -ansi -pedantic-errors gcc compiler flags.
22098
220992012-03-08  Vincent Lef��vre  <vincent@vinc17.net>
22100
22101	[tests/tprintf.c] Corrected the test with MPFR_CHECK_LARGEMEM=1 again,
22102	and improved it in case _MPFR_PREC_FORMAT == 2, where MPFR_PREC_MAX is
22103	INT_MAX minus some small constant (see r8035).
22104
22105	[tests/tprintf.c] Corrected the test with MPFR_CHECK_LARGEMEM=1.
22106
22107	[tests/tinits.c] Improved the large precision test so that it is still
22108	performed after r8035 (where MPFR_PREC_MAX has been decreased).
22109
22110	[tests/tconst_log2.c] Replaced mpfr_printf by mpfr_out_str.
22111
221122012-03-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
22113
22114	[tconst_log2.c] use hexadecimal output in case of error in check_large()
22115
22116	[get_ld.c] added comments and ASSERT()
22117	[tset_ld.c] added test to better exercise get_ld and set_ld for subnormals,
22118		    and replaced some 64 by MPFR_LDBL_MANT_DIG
22119
221202012-03-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
22121
22122	[tconst_log2.c] improved error message, cf
22123			https://sympa.inria.fr/sympa/arc/mpfr/2012-03/msg00017.html
22124
22125	[get_ld.c] deal with the case "long double" == "double"
22126
22127	[acinclude.m4] deal with long double == double
22128	[src/set_ld.c] idem
22129
221302012-03-07  Vincent Lef��vre  <vincent@vinc17.net>
22131
22132	[NEWS] Prepare for new version 3.2.0 (will be 4.0.0).
22133
22134	[INSTALL] Added information about --with-sysroot.
22135
22136	[INSTALL] Removed an obsolete paragraph saying that the test suite
22137	can't be run with a C++ compiler. C++ related problems have been
22138	fixed a long time ago.
22139
221402012-03-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
22141
22142	[TODO] added new item about saving/restoring flags
22143
22144	added tuning parameters for mips (on gcc49.fsffrance.org)
22145
221462012-03-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
22147
22148	[tuneup.c] fixed compiler warning (got on gcc49.fsffrance.org)
22149
221502012-03-05  Vincent Lef��vre  <vincent@vinc17.net>
22151
22152	[src/mpfr.h] Minor change to be consistent with "src/mpfr-gmp.h".
22153
22154	[src/mpfr.h] Added a reference to MPFR bug 13947.
22155
22156	[src/mpfr.h] Simple temporary fix following GMP's internal __gmp_const
22157	macro removal in <https://gmplib.org/repo/gmp/rev/d287cfaf6732> (and its
22158	replacement by const): if __gmp_const isn't define, let's define it to
22159	const.
22160
221612012-03-03  Vincent Lef��vre  <vincent@vinc17.net>
22162
22163	[NEWS] Mention the mpfr_exp bug fix (from r6964 in exp_2.c).
22164
221652012-02-27  Vincent Lef��vre  <vincent@vinc17.net>
22166
22167	[configure.ac] If 'gmp.h' and 'libgmp' seem to have different versions,
22168	output the temporary LD_RUN_PATH value (may be useful for debugging).
22169
221702012-02-24  Vincent Lef��vre  <vincent@vinc17.net>
22171
22172	[tests] Removed #include of headers already included via "mpfr-test.h"
22173	(<limits.h>, <stdio.h>, <stdlib.h>). Note: this change doesn't apply
22174	to tvalist.c, which is a special test that doesn't use "mpfr-test.h".
22175
22176	[src] #include <stdlib.h> unconditionally in mpfr-impl.h; removed
22177	this #include from the .c files.
22178
22179	[src/logging.c] #include <stdarg.h> was no longer necessary. Removed.
22180
22181	[src/logging.c] Updated a comment (contained obsolete information).
22182
22183	[src/mpfr-impl.h] Use %.*Rg instead of %.*Rf for MPFR_LOG_VAR.
22184
22185	[NEWS] Mention an internal change in MPFR 3.1.0.
22186
22187	Corrected a typo in MPFR_LOG_FUNC of add_d.c, add_ui.c and mul_d.c
22188	(mpfr_get_prec ��� mpfr_log_prec), fixing bug 13933.
22189	The consequence was random freezes (on the same binary) with dynamic
22190	linking (and just more memory with static linking to the MPFR library)
22191	when logging was used.
22192
22193	[src/const_euler.c] Use the safer MPFR_BLOCK.
22194
221952012-02-23  Vincent Lef��vre  <vincent@vinc17.net>
22196
22197	[src/const_euler.c] Removed a useless log message added in r8040.
22198
22199	[src/const_euler.c] Replaced computations on double by computations
22200	  on MPFR types, with detection of overflows. Fixed inconsistencies
22201	  with algorithms.tex (due to rounding) in the computation of n.
22202	[src/mpfr-impl.h] Removed #define ALPHA (no longer used).
22203
22204	[src/mpfr-impl.h] Removed obsolete #define EXPM1.
22205
22206	[src/erf.c] Removed an obsolete #define.
22207
22208	[BUGS] Update concerning huge precisions and integer overflows.
22209
22210	[examples/version.c] Output mpfr_prec_t information with all MPFR
22211	versions. Output signedness information for MPFR types/macros.
22212
22213	[src/mpfr.h] Decrease the MPFR_PREC_MAX value by 256 in order to
22214	  avoid some integer overflows in existing code that increases the
22215	  working precision (if mpfr_prec_t is on 64 bits, this does not
22216	  change anything in practice), as too large precisions should be
22217	  detected via assertions for more security. After discussion, it
22218	  has been decided to keep the MPFR_PREC_MAX value close to 2^31
22219	  when mpfr_prec_t is on 32 bits.
22220	[src/mpfr-impl.h] Added a comment concerning MPFR_ADD_PREC.
22221
22222	[examples/version.c] Output more information about the precision and
22223	exponent types.
22224
222252012-02-22  Vincent Lef��vre  <vincent@vinc17.net>
22226
22227	[src/mpfr-impl.h] Use MPFR_ADD_PREC in MPFR_ZIV_NEXT.
22228
22229	[src/mpfr-impl.h] Added an MPFR_ADD_PREC macro to safely increase some
22230	  precision (i.e. with an assertion check for integer overflow).
22231	[src/ai.c] Use this MPFR_ADD_PREC macro, in particular in a case where
22232	  the additional precision can be huge.
22233	TODO: Other files would need to use MPFR_ADD_PREC.
22234
22235	[tests/tinits.c] Updated the large precision test to trigger a bug fixed
22236	in r8025 on 32-bit machines (or when MPFR is built with -m32). Here the
22237	crash was due to (MPFR_PREC (b) + GMP_NUMB_BITS-1)/GMP_NUMB_BITS in
22238	"src/set.c".
22239
22240	[src/rec_sqrt.c] Removed useless #include (mpfr-impl.h does a better job
22241	for stdio).
22242
22243	[tests/tinits.c] Improved r8026 (missing #include, support 16-bit prec).
22244
22245	Document the MPFR_DEBUG_BADCASES environment variable before bad_cases()
22246	in tests/tests.c (where it is used). Remove it from "doc/README.dev"
22247	since it is useful only in case of crash / infinite loop in bad_cases(),
22248	and will give useless output otherwise.
22249
222502012-02-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
22251
22252	[TODO] added comment
22253	[doc/README.dev] added environment variables
22254
22255	[tinits.c] added test to check #13918 is fixed
22256
222572012-02-22  Vincent Lef��vre  <vincent@vinc17.net>
22258
22259	Avoid potential integer overflows and improve consistency. This should
22260	fix bug #13918 "Segfault with precision = MPFR_PREC_MAX on 32-bit".
22261	Note: this problem appeared in MPFR 3.0.0 when the precision type (now
22262	mpfr_prec_t) was changed to a signed integer.
22263
22264	[configure.ac] Added a comment mentioning a problem with GNU gold ld.
22265
222662012-02-15  Vincent Lef��vre  <vincent@vinc17.net>
22267
22268	[TODO] Added reference to ISO/IEC 24747:2009 (C, special functions).
22269
222702012-01-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
22271
22272	removed directory src/x86_64/xeon
22273	[src/Makefile.am] removed x86_64/xeon/mparam.h
22274
222752012-01-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
22276
22277	share parameters between x86_64/core2 and x86_64/xeon (gcc70)
22278
22279	[src/Makefile.am] forgot to add new param file
22280
22281	added tuning parameters for -mtune=nocona (gcc70)
22282
222832012-01-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
22284
22285	[mparam_h.in] swap tests for 32-bit and 64-bit powerpc, since on powerpc64
22286	              the parameters for 32-bit are used!
22287
222882012-01-15  Vincent Lef��vre  <vincent@vinc17.net>
22289
22290	[doc/README.dev] Updated "To make a release".
22291
222922012-01-10  Vincent Lef��vre  <vincent@vinc17.net>
22293
22294	[TODO] Added a note to item about sNaN/qNaN.
22295
22296	[doc/mpfr.texi] Updated the month.
22297
22298	[doc/mpfr.texi] Mention the AriC project-team.
22299
22300	Reverted incorrect change in ChangeLog from r7993.
22301
22302	Changed Arenaire to AriC with:
22303	  perl -pi -e 's/Contributed by the Arenaire/Contributed by the AriC/' **/*(^/)
22304	under zsh.
22305
22306	[doc] Updated FAQ.html with update-faq.
22307
22308	[doc/faq.xsl] Remove only the top-level comments from the HTML file.
22309
22310	[doc/faq.xsl] Updated a comment.
22311
22312	Copyright notice update: added 2012 with
22313	  perl -pi -e 's/2011 Free Software/2011, 2012 Free Software/' **/*(^/)
22314	under zsh, reverting the ChangeLog file (the m4 and tools/mbench
22315	directories were not modified).
22316	Removed 2011 from the example in the doc/README.dev file.
22317
223182011-12-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
22319
22320	[TODO] trivial change (to test the commit logs)
22321
223222011-12-09  Vincent Lef��vre  <vincent@vinc17.net>
22323
22324	[configure.ac] Mention --disable-thread-safe.
22325
22326	[INSTALL] Added information about system/compiler bugs related to TLS
22327	or optimizations.
22328
223292011-12-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
22330
22331	[INSTALL] added note about buggy TLS support
22332
223332011-11-28  Vincent Lef��vre  <vincent@vinc17.net>
22334
22335	[tests/turandom.c] Removed an obsolete comment.
22336
22337	[src/mpfr-gmp.h] Updated the TODO comment about the rand state.
22338
22339	[doc/mpfr.texi] Updated the month.
22340
22341	[tests/trandom.c,tests/turandom.c] Fixed compatibility with GMP 4.1.x
22342	(since the default PRNG has changed between GMP 4.1 and 4.2).
22343
22344	[doc/mpfr.texi] Mentioned the difference between GMP 4.1 and 4.2 about
22345	the changes of mpfr_urandom and mpfr_urandomb in MPFR 3.1.
22346
22347	[src/mpfr-gmp.h] Added a TODO comment.
22348
223492011-11-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
22350
22351	revert previous commit (test)
22352
22353	commit test
22354
223552011-11-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
22356
22357	[src/mpfr-thread.h] added pointer to TLS on Windows
22358
223592011-11-09  Vincent Lef��vre  <vincent@vinc17.net>
22360
22361	[tests/tsprintf.c] Added a test showing a regression in MPFR 3.1.0
22362	(but fixed in r7931 and later).
22363
223642011-11-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
22365
22366	[tests/tatan.c] mpfr_set_emin -> set_emin (idem for emax)
22367
223682011-11-09  Vincent Lef��vre  <vincent@vinc17.net>
22369
22370	[TODO] Added a reference to an old discussion concerning __float128.
22371
223722011-11-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
22373
22374	[TODO] added item
22375
223762011-11-03  Vincent Lef��vre  <vincent@vinc17.net>
22377
22378	[src/vasprintf.c] Untabify.
22379
223802011-11-03  Philippe Th��veny  <philippe.theveny@laposte.net>
22381
22382	[src/vasprintf.c] Corrected a comment.
22383
223842011-11-03  Vincent Lef��vre  <vincent@vinc17.net>
22385
22386	[tests/tsprintf.c] Coding style.
22387
223882011-11-02  Vincent Lef��vre  <vincent@vinc17.net>
22389
22390	[src/strtofr.c] Spelling.
22391
22392	[src/vasprintf.c] Spelling.
22393
22394	[src/vasprintf.c] Corrected a comment.
22395
22396	[tests/tsprintf.c] Added tests.
22397
22398	[src/vasprintf.c] Untabify. Minor correction in a comment.
22399
224002011-11-02  Philippe Th��veny  <philippe.theveny@laposte.net>
22401
22402	[src/vasprintf.c] Rewrite in a cleaner way the part of regular_fg implied in the bug reported by Pavel Holoborodko (see r7931).
22403
224042011-11-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
22405
22406	[src/mpn_exp.c] changed FIXME into TODO
22407
22408	[src/mpn_exp.c] added comment
22409	[src/vasprintf.c] (hopefully) fixed bug reported by Pavel Holoborodko
22410	[tests/tsprintf.c] added corresponding test case
22411
224122011-10-14  Vincent Lef��vre  <vincent@vinc17.net>
22413
22414	[tests/Makefile.am] Added -L$(top_builddir)/src/.libs to AM_LDFLAGS.
22415	[INSTALL] Removed the notes on HP-UX (obsolete after the above change).
22416
224172011-10-13  Vincent Lef��vre  <vincent@vinc17.net>
22418
22419	[INSTALL] Corrected notes for HP-UX.
22420
22421	[INSTALL] Added notes for HP-UX after a bug report. See discussion:
22422	https://sympa.inria.fr/sympa/arc/mpfr/2011-10/msg00042.html
22423
224242011-10-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
22425
22426	[TODO] added one item
22427
22428	[corei5/mparam.h] tuning files for Core i5 (not yet used since GMP 5.0.2 does
22429			  currently recognize Core i5 as "k8", however the k8 tuning
22430			  parameters are not so bad for Core i5)
22431
224322011-10-05  Vincent Lef��vre  <vincent@vinc17.net>
22433
22434	[src/mpfr-impl.h] Improved MPFR_IS_PURE_FP definition, so that
22435	MPFR_ASSERTD takes a boolean (0 or 1).
22436
224372011-10-04  Vincent Lef��vre  <vincent@vinc17.net>
22438
22439	[src/mpfr-impl.h] Fixed a bug in the MPFR_UNLIKELY macro for GCC
22440	(found under Mac OS X / PowerPC with the mode32 GMP ABI, and MPFR
22441	built with --enable-assert=full).
22442	(Merged changeset r7908 from the 3.1 branch.)
22443
224442011-09-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
22445
22446	[doc/mpfr.texi] added reference and comment for eint
22447
224482011-09-25  Vincent Lef��vre  <vincent@vinc17.net>
22449
22450	[doc/mpfr.texi] Rephrased mpfr_frexp description.
22451
224522011-09-24  Vincent Lef��vre  <vincent@vinc17.net>
22453
22454	Renamed "division-by-zero" to "divide-by-zero" (term used by the
22455	ISO C99 standard, the IEEE 754-2008 standard using divideByZero,
22456	and the old IEEE 754-1985 standard using both "divide by zero"
22457	and "division by zero").
22458
22459	[src/gmp_op.c] Forgot to update the flags in some functions.
22460
22461	[tests/tgmpop.c] Improved division-by-zero tests.
22462
224632011-09-23  Vincent Lef��vre  <vincent@vinc17.net>
22464
22465	[doc/faq.xsl] Added a comment about the MPFR logo.
22466
224672011-09-22  Vincent Lef��vre  <vincent@vinc17.net>
22468
22469	[doc/mpfr.texi] Improved mpfr_frexp description.
22470
22471	[doc/mpfr.texi] Corrected typo in the mpfr_frexp description.
22472
224732011-09-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
22474
22475	[tools/cfarm.sh] updated for MPFR 3.1.0 rc2
22476
224772011-09-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
22478
22479	[cfarm.sh] updated for MPFR 3.1.0-rc1 (with GMP 5.0.2)
22480
224812011-09-20  Vincent Lef��vre  <vincent@vinc17.net>
22482
22483	[examples/version.c] Output mpfr_buildopt_gmpinternals_p() and
22484	mpfr_buildopt_tune_case() values with MPFR 3.1 or later.
22485
22486	Renamed mpfr_buildopt_internals_p to mpfr_buildopt_gmpinternals_p.
22487
22488	Added mpfr_buildopt_internals_p function.
22489
22490	[doc/mpfr.texi] Added commas.
22491
22492	[src/gmp_op.c] Handle the special cases in mpfr_cmp_q and mpfr_cmp_f.
22493
224942011-09-19  Vincent Lef��vre  <vincent@vinc17.net>
22495
22496	[TODO] Added an item about the minimum and maximum exponents.
22497
22498	[src/agm.c] Replaced MPFR_EMIN_MIN and MPFR_EMAX_MAX by MPFR_EXT_EMIN
22499	and MPFR_EXT_EMAX respectively (see r7862 and r7863).
22500
22501	[src/mpfr-impl.h] Define new macros MPFR_EXT_EMIN and MPFR_EXT_EMAX.
22502	[doc/README.dev] Document how to specify the minimum exponent or the
22503	  maximum exponent.
22504
225052011-09-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
22506
22507	[src/agm.c] replaced __gmpfr_emax by MPFR_EMAX_MAX (same for __gmpfr_emin).
22508		    Solves bug on gcc54 with --enable-thread-safe and GCC 4.3.2.
22509
225102011-09-19  Vincent Lef��vre  <vincent@vinc17.net>
22511
22512	[src/mpfr-gmp.h] Added missing prototype for __gmpn_sbpi1_divappr_q
22513	(it could be detected when building MPFR with g++).
22514
225152011-09-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
22516
22517	[tests/tgmpop.c] check for erange flag in mpfr_cmp_[f,q,z]
22518		 (https://sympa.inria.fr/sympa/arc/mpfr/2011-09/msg00013.html)
22519
225202011-09-19  Vincent Lef��vre  <vincent@vinc17.net>
22521
22522	[doc/README.dev] Updated "To make a release".
22523
225242011-09-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
22525
22526	[src/mpfr-gmp.h] fixed bug with --enable-gmp-internals introduced in r7455
22527			 (mpfr_limb_ptr is not yet defined when reading mpfr-gmp.h
22528			  thus we can't use it)
22529
225302011-09-19  Vincent Lef��vre  <vincent@vinc17.net>
22531
22532	[doc/mpfr.texi] Correction: "5 exception types" ��� "6 exception types"
22533	(thanks to Case Vanhorsen for the report).
22534
225352011-09-14  Vincent Lef��vre  <vincent@vinc17.net>
22536
22537	[src/mpfr-impl.h] Define LONGLONG_STANDALONE before including
22538	mpfr-longlong.h so that udiv_qrnnd_preinv is defined (this is
22539	useful at least on IA64 when compiling without gmp-impl.h).
22540	Thanks to Patrick P��lissier for the fix.
22541
225422011-09-11  Vincent Lef��vre  <vincent@vinc17.net>
22543
22544	[doc/mpfr.texi] Updated "API Compatibility" section: as of MPFR 3.1,
22545	the mpfr.h header can be included several times, while still supporting
22546	optional functions.
22547
22548	[doc/mpfr.texi] Replaced some @code by @file for consistency.
22549
22550	[doc/mpfr.texi] Updated "API Compatibility" section: functions
22551	mpfr_frexp, mpfr_grandom and mpfr_z_sub are new in MPFR 3.1.
22552
22553	[doc/mpfr.texi] Documented function mpfr_buildopt_tune_case,
22554	and added it to the list of added functions.
22555	[NEWS] Function mpfr_buildopt_tune_case is new in MPFR 3.1.
22556
22557	[doc/mpfr.texi] Updated "API Compatibility" section
22558	(new division-by-zero exception in MPFR 3.1).
22559
22560	[doc/mpfr.texi] Updated the month.
22561
22562	[doc/mpfr.texi] MPFR_RNDA was introduced in MPFR 3.0.0 and should
22563	no longer be considered experimental.
22564
225652011-09-10  Vincent Lef��vre  <vincent@vinc17.net>
22566
22567	[tests/trec_sqrt.c] Fixed bug introduced in r7711 (build failure
22568	with a C++ compiler).
22569
22570	[TODO] Replaced "configure.in" by "configure.ac".
22571
22572	[doc/README.dev] Removed obsolete paragraph about AM_MAINTAINER_MODE.
22573
22574	[tools/mpfrlint] Correction after r7825.
22575
22576	[tools/mpfrlint] Run tools/ck-mparam.
22577
22578	Added tools/ck-mparam sh script to check the mparam.h files
22579	(gcc is needed).
22580
225812011-09-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
22582
22583	[src/amd/k8/mparam.h] removed spurious end of comment
22584
225852011-09-09  Vincent Lef��vre  <vincent@vinc17.net>
22586
22587	[doc/README.dev] For the valgrind example, use the same arguments
22588	as in gnulib's valgrind-tests.m4 file.
22589
22590	ChangeLog update with "LC_ALL=en_US.UTF8 TZ=UTC svn log -rHEAD:0 -v".
22591
22592	[Makefile.am] Added tools/ck-copyright-notice to EXTRA_DIST as it is
22593	  used in dist-hook.
22594	[tools/ck-copyright-notice] Added copyright notice (since this file is
22595	  distributed in the tarballs). Note: the first year is 2008 as a part
22596	  of the code comes from r5370 in mpfrlint.
22597
22598	[tools/ck-copyright-notice] Skip src/mpfr-longlong.h as this file
22599	(which comes from GMP) has a specific copyright notice.
22600
22601	[src/mp_clz_tab.c] Updated the copyright notice.
22602
22603	[tools/ck-copyright-notice] Check that the first copyright year for
22604	the mparam.h files is 2005.
22605
22606	Added copyright notice to the mparam.h files (with the same years
22607	as in the template).
22608
22609	Added tools/ck-copyright-notice sh script from mpfrlint (updated) to
22610	check that copyright notices exist and appear to be correct. Updated
22611	tools/mpfrlint to run tools/ck-copyright-notice instead of its old
22612	test. In Makefile.am, run tools/ck-copyright-notice in dist-hook for
22613	"make dist".
22614
22615	[tools/mpfrlint] More files under src and tests directories.
22616
226172011-09-08  Vincent Lef��vre  <vincent@vinc17.net>
22618
22619	[NEWS] Update for MPFR 3.1.x.
22620
22621	[tests/Makefile.am]
22622	  * Added "AM_LDFLAGS = -no-install" to prevent libtool from generating
22623	    wrapper scripts for the tests (according to discussions and tests,
22624	    there should be no negative effects); useful for gdb and valgrind.
22625	  * Added $(VALGRIND) to TESTS_ENVIRONMENT in order to easily run the
22626	    tests under valgrind with: VALGRIND="valgrind -q" make check
22627	[doc/README.dev] Update for gdb and valgrind.
22628
226292011-08-31  Vincent Lef��vre  <vincent@vinc17.net>
22630
22631	[doc/mpfr.texi] Improved the specification of mpfr_get_f.
22632
226332011-08-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
22634
22635	[configure.ac] added comment about minimal GMP version
22636
22637	dummy change to check if GMP_CHECK_RANDOMIZE is now used in the Hydra
22638	builds on http://hydra.nixos.org/jobset/gnu/mpfr-trunk
22639
226402011-08-19  Vincent Lef��vre  <vincent@vinc17.net>
22641
22642	[doc/mpfr.texi] Added some references to the ternary definition.
22643
226442011-08-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
22645
22646	[doc/mpfr.texi] improved the documentation of mpfr_set_str, as suggested by
22647			Vincent Lefevre
22648
226492011-08-19  Vincent Lef��vre  <vincent@vinc17.net>
22650
22651	[doc/mpfr.texi] Added "Ternary value" to the concept index.
22652
226532011-08-15  Vincent Lef��vre  <vincent@vinc17.net>
22654
22655	[doc/README.dev] Added information on how to update the FAQ.
22656
22657	[doc] Updated FAQ.html with update-faq.
22658
226592011-08-12  Vincent Lef��vre  <vincent@vinc17.net>
22660
22661	[tune/tuneup.c] Untabified.
22662
22663	[src/mulders.c] Replaced MPFR_ASSERTD by MPFR_ASSERTN on constant
22664	expressions (this is a temporary change, as they should later be
22665	replaced by static assertions).
22666
22667	[src/mulders.c] Replaced mp_ptr and mp_srcptr (internal to GMP) by
22668	mpfr_limb_ptr and mpfr_limb_srcptr.
22669
22670	[src/mpfr-gmp.h] Avoid potential identifier collision by using an
22671	underscore for variable names declared in the invert_pi1 macro.
22672
22673	[src/mpfr-gmp.h] Untabified.
22674
22675	[doc/mpfr.texi] Updated the month.
22676
226772011-08-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
22678
22679	[k8/mparam.h] added comment
22680
22681	[x86/mparam.h] new tuning contributed by Jim Cloos
22682	[amd/amdfam10/mparam.h] added GMP version
22683
22684	[mpfr-gmp.h] use mpfr_pi1_t instead of gmp_pi1_t to avoid using GMP's namespace
22685
226862011-08-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
22687
22688	[src/mulders.c] use mpn_sbpi1_divappr_q if available and WANT_GMP_INTERNALS
22689			is defined
22690	[src/mpfr-gmp.h] defined macros needed for mpfr_divhigh_n_basecase
22691	[configure.ac] check for mpn_sbpi1_divappr_q
22692
226932011-08-05  Vincent Lef��vre  <vincent@vinc17.net>
22694
22695	Updated version to 3.2.0-dev.
22696
226972011-08-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
22698
22699	[amdfam10/mparam.h] tuning parameters contributed by Jim Cloos
22700
22701	[mulders.c] added a basecase code for Mulders' short division
22702	[tuneup.c] added corresponding tuning code
22703	[TODO] added an item
22704
227052011-08-04  Vincent Lef��vre  <vincent@vinc17.net>
22706
22707	[acinclude.m4] In the INTMAX_MAX test, no longer hardcode the
22708	"#include <stdint.h>" (for instance, this doesn't work under
22709	Solaris 9: INTMAX_MAX is defined only via <inttypes.h>), but
22710	include "mpfr-intmax.h" instead (needs a temporary CPPFLAGS).
22711
227122011-08-01  Vincent Lef��vre  <vincent@vinc17.net>
22713
22714	[NEWS] Much faster formatted output (mpfr_printf, etc.) with %Rg and similar.
22715
22716	[doc/README.dev] Added copyright notice in case the file is distributed.
22717
22718	[doc/README.dev] Added information on how to run the MPFR test suite
22719	under valgrind.
22720
22721	Untabified and removed trailing spaces.
22722
22723	[tests/tversion.c] Improved output information.
22724
227252011-07-31  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
22726
22727	[hppa/mparam.h] updated for new Mulders' division
22728
22729	[sparc64/mparam.h] updated for new Mulders' division
22730
22731	[powerpc64/mparam.h] updated for new Mulders' division
22732
22733	[ia64/mparam.h] updated for new Mulders' division
22734
22735	[amd/k8/mparam.h] updated for new Mulders' division
22736
22737	[x86/core2/mparam.h] updated thresholds for new Mulders' division
22738
22739	[mparam_h.in] changed the detection of 64-bit Core 2, and added
22740		      MPFR_TUNE_CASE for default case
22741	[tversion.c] print GMP version (header and library), and file for tuning
22742		     parameters
22743
22744	[x86_64/core2/mparam.h] updated for Mulders' division
22745
22746	Added tuning for MPFR_DIV_THRESHOLD, and default value.
22747	It now remains to do the tuning on the architectures in mparam_in.h.
22748
227492011-07-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
22750
22751	[NEWS] added speed improvement in mpfr_div
22752
227532011-07-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
22754
22755	[mulders.c] fixed bug in mpfr_divhigh_n (this routine was not used yet)
22756	[div.c] now use Mulders' short product for large division. It remains to
22757		do the automatic tuning of MPFR_DIV_THRESHOLD. The speedup is nice,
22758		for example on my Core 2 Duo laptop we got with MPFR 3.0.0:
22759
22760	[zimmerma@coing tests]$ ./timings-mpfr 1000
22761	Using MPFR-3.0.0 with GMP-5.0.2
22762	[precision is 3322 bits]
22763	x*y        took 0.004543 ms (262143 eval in 1191 ms)
22764	x*x        took 0.003616 ms (524287 eval in 1896 ms)
22765	x/y        took 0.009087 ms (131071 eval in 1191 ms)
22766	sqrt(x)    took 0.007004 ms (262143 eval in 1836 ms)
22767	exp(x)     took 0.293040 ms (4095 eval in 1200 ms)
22768	log(x)     took 0.253724 ms (4095 eval in 1039 ms)
22769	sin(x)     took 0.306960 ms (4095 eval in 1257 ms)
22770	cos(x)     took 0.290842 ms (4095 eval in 1191 ms)
22771	arccos(x)  took 0.590620 ms (2047 eval in 1209 ms)
22772	arctan(x)  took 0.560332 ms (2047 eval in 1147 ms)
22773
22774	and now we get:
22775
22776	[zimmerma@coing tests]$ ./timings-mpfr 1000
22777	Using MPFR-3.1.0-dev with GMP-5.0.2
22778	[precision is 3322 bits]
22779	x*y        took 0.004444 ms (262143 eval in 1165 ms)
22780	x*x        took 0.002686 ms (524287 eval in 1408 ms)
22781	x/y        took 0.006989 ms (262143 eval in 1832 ms)
22782	sqrt(x)    took 0.007084 ms (262143 eval in 1857 ms)
22783	exp(x)     took 0.292063 ms (4095 eval in 1196 ms)
22784	log(x)     took 0.246886 ms (4095 eval in 1011 ms)
22785	sin(x)     took 0.259096 ms (4095 eval in 1061 ms)
22786	cos(x)     took 0.244933 ms (4095 eval in 1003 ms)
22787	arccos(x)  took 0.556424 ms (2047 eval in 1139 ms)
22788	arctan(x)  took 0.526624 ms (2047 eval in 1078 ms)
22789
22790	We see that other routines also benefit from the speedup in mpfr_sqr and
22791	mpfr_div (log, sin, cos, arccos, arctan).
22792
227932011-07-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
22794
22795	[algorithms.tex] added algorithm for division with Mulders' short product
22796			 (can anybody check the algorithm is ok?)
22797
227982011-07-29  Vincent Lef��vre  <vincent@vinc17.net>
22799
22800	[src/vasprintf.c] Added a comment.
22801
22802	[src/get_str.c] Added a comment about the use of mpfr_ceil_mul
22803	(exported and declared in mpfr-impl.h since r7760).
22804
228052011-07-28  Philippe Th��veny  <philippe.theveny@laposte.net>
22806
22807	Avoid expensive calls to mpfr_get_prec() using mpfr_ceil_mul() instead.
22808
22809	Make ceil_mul() public as mpfr_ceil_mul() in mpfr-impl.h
22810
228112011-07-28  Vincent Lef��vre  <vincent@vinc17.net>
22812
22813	[src/mulders.c] MPFR coding conventions for r7752.
22814
228152011-07-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
22816
22817	modified the default tuning parameters so they are within the bounds of the
22818	ARITH-20 paper "Short Division of Long Integers"
22819
22820	[src/mulders.c] declare mpfr_mullow_n as non-static since it might be useful
22821			elsewhere
22822
22823	[tuneup.c] fix tuning bounds of short product and division according to the
22824		   ARITH-20 paper
22825
22826	[acinclude.m4] detect long double format in m68k
22827
22828	[tget_flt.c] added test to check FLT_MAX + FLT_MAX gives INFP
22829		     (to early detect compiler bugs)
22830
22831	[nightly-test] changed -pedantic-errors into -pedantic
22832
22833	[mulders.c] added some code for short division (FoldDiv, not used),
22834		    added comments and fixed bounds in accordance with the
22835		    ARITH-20 paper
22836
228372011-07-28  Philippe Th��veny  <philippe.theveny@laposte.net>
22838
22839	Use a buffer in order to avoid a double call to mpfr_get_str.
22840
228412011-07-26  Vincent Lef��vre  <vincent@vinc17.net>
22842
22843	[src/log.c] Replaced TMP_* by MPFR_GROUP_* (patch by Patrick).
22844
228452011-07-22  Vincent Lef��vre  <vincent@vinc17.net>
22846
22847	[doc/mpfr.texi] Added a comment about TLS variable initialization.
22848
22849	[doc/mpfr.texi] Added information about TLS variable initialization.
22850
22851	[doc/mpfr.texi] Split Chapter "MPFR Basics" into nodes as it is now
22852	quite large (thus references to particular sections are now possible).
22853
228542011-07-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
22855
22856	[vasprintf.c] simplified and improved round_to_10_power(), also contributed
22857		      a negative number of lines of code :-)
22858		      Still not optimal, since round_to_10_power() is still called
22859		      twice for printing say pi with mpfr_printf ("%Rg\n", x), once
22860		      from partition_number(), once from regular_fg(), and thus
22861		      mpfr_get_str is called at least 3 times!
22862
22863	[configure.ac] improve error message when libgmp is not found
22864
22865	[mpfr.texi] added note about threads for mpfr_set_default_prec and
22866	            mpfr_get_default_prec
22867
228682011-07-06  Vincent Lef��vre  <vincent@vinc17.net>
22869
22870	[doc/mpfr.texi] Updated the month.
22871
22872	[NEWS, doc/mpfr.texi] mpfr_min_prec was a new function in MPFR 3.0.0.
22873
228742011-07-01  Vincent Lef��vre  <vincent@vinc17.net>
22875
22876	[tests/tget_flt.c] Replaced FLT_MAX + FLT_MAX by (float) DBL_POS_INF,
22877	which should trigger fewer compiler bugs. See:
22878	  https://sympa.inria.fr/sympa/arc/mpfr/2011-07/msg00002.html
22879
22880	[src/ieee_floats.h] Added a comment about the NaN format when
22881	_GMP_IEEE_FLOATS is defined.
22882
228832011-07-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
22884
22885	[tget_flt.c] check for compiler bug
22886		     (https://sympa.inria.fr/sympa/arc/mpfr/2011-07/msg00000.html)
22887
228882011-06-30  Vincent Lef��vre  <vincent@vinc17.net>
22889
22890	Removed all the svn:eol-style properties (they were set to "native"),
22891	and in doc/README.dev, explained why svn:eol-style native should not
22892	be used.
22893
228942011-06-28  Vincent Lef��vre  <vincent@vinc17.net>
22895
22896	[tools/ck-version-info] Check DLL version in LIBMPFR_LDFLAGS line from
22897	configure.ac (patch by Stefan Graff, with minor changes).
22898
228992011-06-26  Vincent Lef��vre  <vincent@vinc17.net>
22900
22901	[tools/ck-version-info] 2 corrections:
22902	  * update due to the change of the libmpfr_la_LDFLAGS line in r7724;
22903	  * to support the CRLF end-of-line sometimes used under MS-Windows
22904	    (perl should normally take care of that, but Windows software is
22905	    not always consistent).
22906
22907	[doc/mpfr.texi] Due to the "@unnumbered Function and Type Index",
22908	replaced the other "Function Index" by "Function and Type Index"
22909	(note: the function index and the type index are merged thanks to
22910	the "@synindex tp fn" line at the beginning of mpfr.texi).
22911
229122011-06-25  Vincent Lef��vre  <vincent@vinc17.net>
22913
22914	Ported patch r7723 (changes suggested by Stefan Graff to be able
22915	to build Windows DLLs with GCC 4.6[*]) to the trunk, not tested
22916	(something more may be needed due to the source reorganization).
22917	[*] https://sympa.inria.fr/sympa/arc/mpfr/2011-06/msg00013.html
22918
229192011-06-21  Vincent Lef��vre  <vincent@vinc17.net>
22920
22921	[doc/mpfr.texi] Updated the month.
22922
22923	[doc/mpfr.texi] Corrected a note about mpfr_set_*, due to the addition
22924	of mpfr_set_decimal64.
22925
229262011-06-20  Vincent Lef��vre  <vincent@vinc17.net>
22927
22928	[doc/README.dev] Removed comment added in r7181, as it is no longer
22929	necessary since r7182 (new option --enable-gmp-internals).
22930
22931	[configure.ac] Updated comment concerning __gmpn_rootrem (mention
22932	WANT_GMP_INTERNALS).
22933
22934	[doc/README.dev] Added a note about logging and timeout.
22935
22936	[src] Conversion into UTF-8 (only comments were concerned).
22937
22938	[TODO] Conversion into UTF-8.
22939
22940	[src/pow.c] Made the code more robust concerning the scaling (a bug was
22941	very unlikely, though), and updated the comments (partial proof).
22942
229432011-06-01  Vincent Lef��vre  <vincent@vinc17.net>
22944
22945	[examples/version.c] Output MPFR features and size of MPFR types.
22946
229472011-05-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
22948
22949	[src/rec_sqrt.c] continued review; I can now prove that cu=0 in all cases
22950	[tests/trec_sqrt.c] added tests for corner cases
22951
229522011-05-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
22953
22954	[rec_sqrt.c] more review of codes, following comments from Vincent
22955
229562011-05-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
22957
22958	[rec_sqrt.c] removed tabs
22959
22960	[rec_sqrt.c] review and small change of changeset 7651: most probably cu=0
22961		     when th=0 (and maybe cu=0 always, I cannot find an example where
22962		     cu <> 0) but considering the case th=0 is more natural.
22963
229642011-05-18  Vincent Lef��vre  <vincent@vinc17.net>
22965
22966	[doc/mpfr.texi] List the contributors in the alphabetic order, like
22967	the main authors.
22968
22969	Made AUTHORS and doc/mpfr.texi consistent.
22970
22971	Updated AUTHORS file and copyright notices (for more consistency).
22972
22973	[tests/thyperbolic.c] Fixed copyright notice.
22974
22975	[src/inp_str.c] Improved comment.
22976
22977	[src/fits_s.h] Improved comment.
22978
22979	[doc/mpfr.texi] Updated the month.
22980
22981	[src/mpfr.h] Avoid a warning from mpfrlint.
22982
22983	[configure.ac] Consistency change in the copyright notice.
22984
22985	[tests/tsqr.c] Added a note in the check_mpn_sqr error message.
22986
22987	[tests/tsqr.c] Added a test of mpn_sqr concerning a bug seen
22988	with GCC 4.5.2 and GMP 5.0.1 on m68k (m68000 target).
22989
229902011-05-17  Vincent Lef��vre  <vincent@vinc17.net>
22991
22992	[doc/README.dev] Added a note about a texinfo bug.
22993
229942011-05-13  Vincent Lef��vre  <vincent@vinc17.net>
22995
22996	Added mpfr-intmax.h header.
22997
22998	Started to support mpfr_exp_t defined as intmax_t (_MPFR_EXP_FORMAT==4).
22999
23000	[NEWS] Added that the mpfr.h header can be included several times,
23001	while still supporting optional functions.
23002
23003	[doc/mpfr.texi] Document what to do if mpfr.h can be included
23004	multiple times (fixes MPFR bug #9653).
23005
230062011-05-12  Vincent Lef��vre  <vincent@vinc17.net>
23007
23008	[doc/README.dev] Added a note to run tests with -D_MPFR_PREC_FORMAT=2.
23009
23010	[src/mpfr-impl.h] Exponent properties: corrected comments and removed
23011	obsolete mp_exp_unsigned_t definition (was internal only).
23012
23013	[src/{mpfr.h,mpfr-impl.h,vasprintf.c}] Clean-up and improvement
23014	of definitions related to mpfr_exp_t. MPFR can now be built with
23015	-D_MPFR_PREC_FORMAT=2 to have mpfr_prec_t and mpfr_exp_t defined
23016	as an int.
23017
23018	[src/mpfr.h] Fixed spaces in a comment.
23019
23020	Fixed printf's calls: support the case where mpfr_prec_t is not a long
23021	(or unsigned long).
23022	[merged changeset r7643 from the exp-int branch]
23023
23024	[src/strtofr.c] Support the case where mpfr_exp_t < long; mpfr_exp_t is
23025	currently defined as mp_exp_t, which comes from GMP, and GMP currently
23026	defines mp_exp_t as a long, except on Cray (never tested for MPFR). But
23027	this may change in the future (possibly as an option)...
23028	[merged changeset r7642 from the exp-int branch]
23029
23030	[src/mpfr-impl.h] Added missing parentheses in MPFR_SADD_OVERFLOW
23031	(fortunately the current MPFR code was not affected).
23032
23033	[tests/tpow_z.c] More details for a test in case of failure.
23034
23035	[src/sub1.c] Fixed several bugs: integer overflows and potential
23036	out-of-bound pointers. They might be visible on particular platforms,
23037	with a particular configuration (e.g. 64-bit limbs and 32-bit exponent
23038	type) or particular compiler options (to check such overflows).
23039	[merged changesets r7637-7638 from the exp-int branch]
23040
230412011-05-11  Vincent Lef��vre  <vincent@vinc17.net>
23042
23043	[tests/tsin.c] Added a test (it failed before the fix in r7308).
23044
23045	Fixed constants pi and log(2) computation when logging is used: When
23046	MPFR is built with logging support, these two constants are used by
23047	the logging functions (via mpfr_fprintf, then mpfr_log, for the base
23048	conversion). Since the mpfr_cache function isn't re-entrant when
23049	working on the same cache, we need to define two caches for each
23050	constant. Otherwise the constants could be incorrect; for instance,
23051	"MPFR_LOG_ALL=1 ./tconst_pi" was failing.
23052	Note: the bug was introduced with the new logging system from r7575
23053	for MPFR 3.1.0, based on mpfr_fprintf instead of mpfr_out_str (which
23054	doesn't depend on mpfr_log).
23055
230562011-05-09  Vincent Lef��vre  <vincent@vinc17.net>
23057
23058	[tests/tests.c] Replaced atoi by strtoul to read the seed from
23059	GMP_CHECK_RANDOMIZE, as it is an unsigned long.
23060
23061	[tests/texp.c] Fixed the test comparing mpfr_exp_2 and mpfr_exp_3:
23062	filter out 0, as it is handled correctly only by mpfr_exp.
23063
230642011-05-06  Vincent Lef��vre  <vincent@vinc17.net>
23065
23066	[doc/README.dev] Completed the note to run tests under gdb.
23067
23068	[doc/README.dev] Added a note to run tests under gdb.
23069
230702011-05-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
23071
23072	[README.dev] added hint for logging
23073
230742011-05-04  Vincent Lef��vre  <vincent@vinc17.net>
23075
23076	[src/atan.c] Fixed bug in mpfr_atan: mpfr_check_range was called on the
23077	unrounded result (no longer allocated) instead of the rounded result.
23078	Consequence of this bug: possible incorrect or invalid result and/or
23079	incorrect flags if either the unrounded result or rounded result is not
23080	in the current exponent range. Or possibly worse if the memory used by
23081	the unrounded result is modified before the return of the function.
23082
23083	[tests/tatan.c] Corrected a comment.
23084
23085	[tests/tatan.c] Added a testcase showing a failure of mpfr_atan
23086	in a reduced exponent range.
23087
23088	[src/const_pi.c] Removed useless assignment.
23089
230902011-05-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
23091
23092	[mpfr-impl.h] fixed typo
23093
230942011-05-03  Vincent Lef��vre  <vincent@vinc17.net>
23095
23096	[src/mpfr-impl.h] In MPFR_RNDRAW_GEN, do not try to compute the
23097	  sticky bit when not necessary (directed mode with rb = 1).
23098	[src/mul.c] FIXME comment: with the change in MPFR_RNDRAW_GEN,
23099	  uninitialized data are no longer read; there's still something
23100	  wrong, at least with the code documentation, though.
23101
23102	[src/mul.c] Updated the FIXME comment.
23103
23104	Bug in mpfr_mul: a call mpfr_mulhigh_n(pointers..., n) where n is some
23105	size is done, but the mpfr_mul code assumes a result whose size can be
23106	arbitrarily larger, thus may depend on uninitialised data.
23107	  * [src/mul.c] Added a FIXME comment.
23108	  * [tests/tmul.c] Added a corresponding test. The result is not checked
23109	    but valgrind complains of the use of uninitialised value(s).
23110
23111	[src/mpfr-impl.h] MPFR_RNDRAW_GEN: added other missing parentheses.
23112
23113	[src/mpfr-impl.h] MPFR_RNDRAW_GEN: added missing parentheses.
23114
23115	[src/mpfr-impl.h] Logging: do not take into account the Ziv loops due
23116	to logging (i.e. used by the MPFR functions called by the mpfr_fprintf
23117	in LOG_PRINT).
23118
23119	[src/mpfr-impl.h] Avoid recursive logging for MPFR_ZIV_* macros too,
23120	and fixed type for the output of the precision.
23121
23122	[src/mpfr-impl.h] Avoid recursive logging (not wanted and freezes MPFR).
23123
23124	[src/rec_sqrt.c] Improved the comment added in r7651.
23125
231262011-05-02  Vincent Lef��vre  <vincent@vinc17.net>
23127
23128	[src/rec_sqrt.c] Fixed the buffer overflow (bug 12553).
23129
23130	[src/rec_sqrt.c] Added an assertion to avoid a buffer overflow
23131	(mpn_add_1 and mpn_sub_1 don't support size = 0). It sometimes
23132	fails, and this is the following bug:
23133	https://gforge.inria.fr/tracker/index.php?func=detail&aid=12553&group_id=136&atid=619
23134
23135	[src/rec_sqrt.c] Added a comment about a buffer overflow. Bug report:
23136	https://gforge.inria.fr/tracker/index.php?func=detail&aid=12553&group_id=136&atid=619
23137
23138	[tests/tvalist.c] Make sure that fct is used (avoid a warning).
23139
23140	[tests/tsin_cos.c] status_f and status were not read (compared) in
23141	coverage_01032011, yielding a warning.
23142
23143	[src/mpfr-impl.h] Avoid a spurious warning with some use of MPFR_BLOCK.
23144
23145	[doc/README.dev] Added command to test with valgrind.
23146
231472011-05-01  Vincent Lef��vre  <vincent@vinc17.net>
23148
23149	Added "make dist" support for -dev MPFR versions by distributing the
23150	tests/data files in the tarball for such MPFR versions ("make check"
23151	fails if some data file couldn't be read for such versions).
23152	  * configure.ac: add a Makefile variable DATAFILES, which contains the
23153	    list of the tests/data files if the MPFR version ends with "-dev".
23154	  * Makefile.am: add $(DATAFILES) to EXTRA_DIST.
23155
231562011-04-29  Vincent Lef��vre  <vincent@vinc17.net>
23157
23158	Added casts for printf (mpfr_prec_t was assumed to be an unsigned long).
23159
23160	[src/strtofr.c] Support the case where mpfr_exp_t < long.
23161
23162	[src/mpfr-impl.h] Added missing parentheses in MPFR_SADD_OVERFLOW.
23163
23164	[tests/trint.c] Removed a useless pointer cast (in general, such casts
23165	are either useless or incorrect, as breaking aliasing rules).
23166
231672011-04-28  Vincent Lef��vre  <vincent@vinc17.net>
23168
23169	[tests/tpow_z.c] More details concerning a failure.
23170
23171	[src/sub1.c] Added a useless cast (for maintainability: may be needed
23172	in case of future change) and comments about the last change (r7637).
23173
23174	[src/sub1.c] Fixed several bugs: integer overflows and potential
23175	out-of-bound pointers.
23176
23177	[src/cmp2.c] Added an assertion.
23178
231792011-04-18  Vincent Lef��vre  <vincent@vinc17.net>
23180
23181	[acinclude.m4] Correction of problems triggering the warning
23182	  "warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body"
23183	with autoconf 2.68:
23184	* Fixed missing quoting in an AC_RUN_IFELSE.
23185	* Added an AC_LANG_SOURCE in another AC_RUN_IFELSE.
23186
23187	[acinclude.m4] s/can not/cannot/
23188
23189	[acinclude.m4] Added comment about the warning:
23190	  warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body
23191
231922011-04-15  Vincent Lef��vre  <vincent@vinc17.net>
23193
23194	[acinclude.m4] Use conventional quotes.
23195
23196	[acinclude.m4] Added a comment.
23197
231982011-04-12  Vincent Lef��vre  <vincent@vinc17.net>
23199
23200	[src/asin.c] Fixed bug in mpfr_asin for x = 1 or -1 in extremely reduced
23201	  exponent range (when pi is not representable, but pi/2 is).
23202	[tests/tasin.c] Added testcase.
23203
232042011-04-08  Vincent Lef��vre  <vincent@vinc17.net>
23205
23206	[TODO] Removed "allow generic tests to run with a restricted
23207	exponent range" (this was done in r7470).
23208
232092011-04-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
23210
23211	[TODO] added item
23212
232132011-04-05  Vincent Lef��vre  <vincent@vinc17.net>
23214
23215	[doc/mpfr.texi] Updated the month.
23216
23217	[INSTALL,doc/mpfr.texi] Say that mpfr@loria.fr is the MPFR mailing-list.
23218
232192011-04-01  Vincent Lef��vre  <vincent@vinc17.net>
23220
23221	[configure.ac] Removed the -Wno-format GCC option, which was added
23222	when logging was used, as it is no longer needed after the changes
23223	done in r7575,7578 (mpfr_fprintf is now used for logging instead of
23224	fprintf with the Glibc register_printf_function extension).
23225
232262011-03-29  Vincent Lef��vre  <vincent@vinc17.net>
23227
23228	[tests/reuse.c] Added a comment.
23229
23230	[src/pow.c] Fixed a bug in mpfr_pow_general when an argument is reused
23231	(e.g. mpfr_pow(x,x,y,rnd) or mpfr_pow(y,x,y,rnd)) and the result is
23232	negative, thus when x is negative and y is a huge odd integer ("huge"
23233	because not-too-large integers are currently handled by mpfr_pow_z).
23234
23235	[tests/reuse.c] Added a mpfr_pow(x,x,y,rnd) test showing a failure
23236	when x is negative and y is a huge odd integer.
23237
23238	[src/subnormal.c] Improved a comment.
23239
23240	[tests/reuse.c] Test also negative numbers.
23241
23242	[tests/reuse.c] GNU coding style.
23243
23244	[src/mul.c] Updated a comment.
23245
23246	[src/powerof2.c] Updated comment.
23247
23248	[src/powerof2.c] More detailed comment.
23249
232502011-03-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
23251
23252	[cfarm.sh] complete tests with mpfr-3.0.1-rc1
23253
232542011-03-21  Vincent Lef��vre  <vincent@vinc17.net>
23255
23256	[src/pow_z.c] Fixed bug bug20110320, that occurs in extremely reduced
23257	exponent range (more precisely, if 1 is out of range, i.e. emin > 1).
23258
23259	[tests/tpow.c] Added testcase bug20110320.
23260
23261	[tests/tgeneric.c] Added debug information.
23262
232632011-03-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
23264
23265	[cfarm.sh] shell script to test MPFR on the GCC Compile Farm
23266
232672011-03-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
23268
23269	[digamma.c] fixed compiler warning (ISO C90 forbids mixed declarations and code)
23270
232712011-03-17  Vincent Lef��vre  <vincent@vinc17.net>
23272
23273	[NEWS] Added a note about the fix in the mpfr_subnormalize
23274	implementation, in case users would think the old behavior
23275	was chosen on purpose.
23276
23277	Completed r7575 (Get rid of deprecated register_printf_function
23278	function in logging system): there was a remaining old MPFR_LOG_FUNC
23279	in "src/div_ui.c". Now, the MPFR source no longer contains '%#R'.
23280
23281	[src/mul_2si.c] Removed trailing whitespace.
23282
23283	[doc/README.dev] Fixed variable name from r7575.
23284
232852011-03-17  Philippe Th��veny  <philippe.theveny@laposte.net>
23286
23287	Get rid of deprecated register_printf_function function in logging system.
23288
232892011-03-15  Vincent Lef��vre  <vincent@vinc17.net>
23290
23291	[src/erfc.c] Fixed a problem (incorrect flags or possible crash) in
23292	extremely reduced exponent range. Support the case where mpfr_prec_t
23293	is larger than a long.
23294
23295	[tests/terf.c] Added some tests of the flags (no failure in them,
23296	thanks to the mpfr_cmp_si (x, -27282) in erfc.c, for 1b).
23297
23298	[tests/tgeneric.c] In failure messages, output the name of the
23299	tested function. This is useful for programs that have generic
23300	tests for several functions, such as terf.
23301
23302	[tests/terf.c] Added a testcase showing a failure due to bad flags
23303	in a reduced exponent range.
23304
233052011-03-14  Vincent Lef��vre  <vincent@vinc17.net>
23306
23307	[tests/terf.c] Changed mp_exp_t (r7564) to mpfr_exp_t.
23308
233092011-03-11  Vincent Lef��vre  <vincent@vinc17.net>
23310
23311	[src/erfc.c] Added an assertion for future platforms (e.g. with 128-bit
23312	exponent type).
23313
23314	[src/erfc.c] Fixed r7564 (comparison must really be signed).
23315
23316	[tests/terf.c] Fixed test added in r7564 for 32-bit machines.
23317
233182011-03-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
23319
23320	[erfc.c] fixed bug found by Pascal Molin: when we increase the exponent range
23321		 on 64-bit machines, erfc() wrongly underflows for x >= 27282
23322
233232011-03-10  Vincent Lef��vre  <vincent@vinc17.net>
23324
23325	[src/jn.c] Fixed the MPFR_FAST_COMPUTE_IF_SMALL_INPUT test for n == 1
23326	in underflow cases.
23327
23328	[src/jn.c] No need for mpfr_clear_flags (already done in MPFR_BLOCK).
23329
23330	[src/jn.c] Check that no intermediate underflow or overflow occurs.
23331
23332	[doc/algorithms.tex] For the Bessel function, say that the algorithm
23333	assumes that no underflows/overflows occur.
23334
233352011-03-09  Vincent Lef��vre  <vincent@vinc17.net>
23336
23337	[src/gamma.c] More robust code (for the change in r7551).
23338
23339	Removed trailing spaces.
23340
23341	[tests/tgeneric.c] Added feature for MPFR_SUSPICIOUS_OVERFLOW to avoid
23342	spurious failures by defining TGENERIC_SO_TEST to some well-chosen test.
23343
23344	[tests/tgamma.c] Added a comment about MPFR_SUSPICIOUS_OVERFLOW.
23345
23346	[src/gamma.c] Fixed the special code for tiny values.
23347
23348	[tests/tgamma.c] Corrected a test and added other tests for tiny x > 0.
23349
23350	[tests/tgamma.c] Updated a comment.
23351
23352	[tests/tgamma.c] Restore emax.
23353
23354	[tests/tgamma.c] Do not initialize x twice.
23355
23356	[tests/tgamma.c] Do not run the same test twice if emin = MPFR_EMIN_MIN.
23357
23358	[tests/tgamma.c] Added tests for tiny values, showing bugs in special
23359	code for such values. Run tgamma with at least an argument to get all
23360	the failures.
23361
233622011-03-07  Vincent Lef��vre  <vincent@vinc17.net>
23363
23364	[src/jn.c] Fixed mpfr_jn_k0() internal function:
23365	  * The prototype was incorrect: one needs "unsigned long" for n
23366	    (actually absn), in case absn is equal to - LONG_MIN.
23367	  * The formula and the code were incorrect for n = 0, due to the
23368	    division by n; it was yielding k0 = ULONG_MAX. The case n = 0
23369	    is now handled separately.
23370	  * Small optimization: division by log(2) -> multiplication by
23371	    1/log(2).
23372
23373	[src/jn.c] Avoid integer overflow in the computation of the initial
23374	working precision. This makes several tests fail, but logging shows
23375	that previous non-failure was due to undefined behavior due to huge
23376	k0 computed by mpfr_jn_k0.
23377
23378	[src/jn.c] Added a comment for mpfrlint.
23379
23380	[tools/mpfrlint] Change of r7515: any mpfr_clear_* can be mentioned.
23381
23382	[src/jn.c] Added comments and fixed a bug.
23383
23384	[src/jn.c] Detect incorrect error analysis (that may have been the goal
23385	of the assertion corrected in r7534, but this wasn't documented). Added
23386	a FIXME comment.
23387
23388	[src/jn.c] Fixed incorrect assertion. It could occur only
23389	in precision >= 2^(1+s/2), where s is the bitsize of a
23390	"long", e.g. p >= 2^17 = 131072 on most 32-bit machines and
23391	p >= 2^33 = 8,589,934,592 on most 64-bit machines. Only some
23392	arguments are affected (|z| between around 2^(s/2) and p/2).
23393
23394	[tests/Makefile.am] Added a comment.
23395
23396	[doc/README.dev] Corrected a typo.
23397
233982011-03-06  Vincent Lef��vre  <vincent@vinc17.net>
23399
23400	[src/jn.c] Improved underflow detection. Still not complete, though.
23401
23402	[src/jn.c] Comments: English usage.
23403
234042011-03-05  Vincent Lef��vre  <vincent@vinc17.net>
23405
23406	[tests/trint.c] mantissa -> significand (standard and correct term).
23407
23408	[tests/trint.c] Do not use snprintf (C99).
23409
234102011-03-04  Vincent Lef��vre  <vincent@vinc17.net>
23411
23412	[tools/mpfrlint] Added a test to check that the snprintf function (C99)
23413	is not used.
23414
234152011-03-04  Olivier Demengeon  <olivier.demengeon@inria.fr>
23416
23417	Previous extended coverage test in trint.c now self generate tests in and compare values
23418
23419	Extend test coverage of mpfr_rint to 100%
23420
234212011-03-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
23422
23423	[src/add1sp.c] same as previous commits
23424
23425	[src/sub1sp.c] ibidem (see previous commit log)
23426
23427	[add1.c] ibidem (see previous commit log)
23428
234292011-03-03  Vincent Lef��vre  <vincent@vinc17.net>
23430
23431	[src/add.c,src/sub.c] Split assertions for C90 compilers, to avoid
23432	too long strings generated by #expr. Problem seen with:
23433	  gcc -ansi -pedantic-errors
23434
23435	[src/yn.c] Minor change.
23436
23437	[src/yn.c] Extend the exponent range (code not checked concerning
23438	internal exceptions, such as overflows, underflows and divby0).
23439
23440	[src/agm.c] Added comments (for mpfrlint, in particular).
23441
23442	[tools/mpfrlint] The use of mpfr_overflow_p, etc. is allowed if
23443	mpfr_clear_flags is mentioned (useful for checking purpose at the
23444	end of a function, but this needs an explicit mpfr_clear_flags;
23445	otherwise MPFR_BLOCK should still be used).
23446
23447	[src/agm.c] Completed scaling to avoid intermediate overflow/underflow.
23448
23449	[src/agm.c] Bug fix in error computation: in Ziv's iteration, err kept
23450	its value from the previous iteration instead of being reset to 0.
23451	Consequence: a possible loss of performance in rare cases.
23452
23453	[src/cmp2.c] Removed a useless assertion and updated comments.
23454
234552011-03-02  Vincent Lef��vre  <vincent@vinc17.net>
23456
23457	[src/agm.c] Added a FIXME comment.
23458
23459	[src/agm.c] Updated exception checking (more informative).
23460
23461	[src/agm.c] Check internal exceptions: the error analysis may be
23462	incorrect in case of exception.
23463
23464	[src/agm.c] Implemented scaling to avoid intermediate overflow/underflow
23465	(but the tagm test still fails, due to a rounding error this time).
23466
23467	[tests/tagm.c] Added tests triggering intermediate underflow/overflow.
23468
23469	[tests/tagm.c] Also test the ternary value and the flags.
23470
23471	[tests/tagm.c] Corrected values (using Pari).
23472
23473	[src/agm.c] Extend the exponent range. This doesn't make the algorithm
23474	correct yet, as intermediate underflow or overflow is still possible in
23475	the first multiplication.
23476
234772011-03-01  Olivier Demengeon  <olivier.demengeon@inria.fr>
23478
23479	Change some functions called in test tsin_cos.c
23480
23481	Extend coverage test of mpfr_sincos_fast to 100%
23482
23483	Extend coverage test of mpfr_custom_get_kind to 100%
23484
234852011-02-25  Vincent Lef��vre  <vincent@vinc17.net>
23486
23487	[src/jn.c] Fix: support reduced exponent ranges for small inputs.
23488
23489	[src/gamma.c] Added a comment about an overflow case.
23490
23491	[tests/tgamma.c] Added tests in maximum exponent range.
23492
23493	[src/gamma.c] Fixed flags when x if very small (protect from
23494	intermediate overflow).
23495
23496	[tests/tgamma.c] Corrected test number.
23497
23498	[tests/tgamma.c] Added a test in maximum exponent range.
23499
23500	[src/gamma.c] Fixed inexact flag when x if very small.
23501
23502	[tests/tgamma.c] Added tests.
23503
23504	[src/gamma.c] Fixed a bug occurring in reduced exponent range.
23505	[tests/tgamma.c] Added corresponding testcase.
23506
23507	[src/lngamma.c] Do not use MPFR_EXP after a mpfr_clear (even though
23508	this currently work).
23509
23510	[src/rem1.c] Fixed mpfr_rem1 in reduced exponent range (the function
23511	is actually simplified).
23512
235132011-02-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
23514
23515	[TODO] added an item
23516
235172011-02-25  Vincent Lef��vre  <vincent@vinc17.net>
23518
23519	Fixed mpfr_div_2si, mpfr_div_2ui and mpfr_mul_2si in some corner cases.
23520
23521	[tests/tmul_2exp.c] Small correction in output (in case of failure).
23522
235232011-02-21  Vincent Lef��vre  <vincent@vinc17.net>
23524
23525	[tests/tset_q.c] Corrections in function prototypes.
23526
235272011-02-21  Olivier Demengeon  <olivier.demengeon@inria.fr>
23528
23529	Remove the use of mpfr_get_default_prec in some coverage test
23530
23531	Add some coverage test in tests/tset_q.c
23532
23533	fixed coding convention of 2 tests functions
23534
235352011-02-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
23536
23537	[tget_d.c] fixed some compiler errors and warnings
23538
235392011-02-18  Vincent Lef��vre  <vincent@vinc17.net>
23540
23541	[tests/tversion.c] Split a printf into several ones to reduce the
23542	string length below the 509-byte limit from C90 (useful to avoid
23543	an error when testing with gcc -ansi -pedantic-errors).
23544
235452011-02-18  Olivier Demengeon  <olivier.demengeon@inria.fr>
23546
23547	Extend test coverage to 100% on mpfr_z_sub and mpfr_mul_q function
23548
23549	Extend test coverage on mpfr_get_d_2exp function
23550
235512011-02-18  Vincent Lef��vre  <vincent@vinc17.net>
23552
23553	[tests/tmul_2exp.c] Also test mpfr_div_2si and mpfr_div_2ui (same bug).
23554
23555	[tests/tmul_2exp.c] Added a testcase showing a bug in mpfr_mul_2si
23556	(possible intermediate overflow).
23557
23558	[src/zeta.c] Support zeta(eps) with |eps| very small or 0
23559	in extremely reduced exponent range.
23560
23561	[src/atan2.c] Fix: the overflow or underflow flag was set in the case
23562	x = power of two and y/x overflows or underflows.
23563
23564	[src/atan2.c] Support special cases in extremely reduced exponent range.
23565
23566	[src/acos.c] Support acos(0) in extremely reduced exponent range.
23567
235682011-02-17  Vincent Lef��vre  <vincent@vinc17.net>
23569
23570	[tests/tgeneric.c] Added generic tests in a reduced exponent range.
23571	This currently makes 10 tests fail on a 64-bit machine.
23572
23573	[tests/mpfr-test.h] Defined a SAME_VAL(X,Y) macro to test whether two
23574	floating-point data have the same value, seen as an element of the set
23575	of the floating-point data (Level 2 in the IEEE 754-2008 standard).
23576
23577	[src/mpfr-impl.h] Defined a MPFR_EXP_FSPEC macro containing the
23578	format specifier for mpfr_eexp_t, to output an exponent with:
23579	  printf ("%" MPFR_EXP_FSPEC "d", (mpfr_eexp_t) exponent);
23580
23581	[tests/tgeneric.c] Reformat.
23582
23583	[doc/README.dev] Added a warning about whitespace in the mpfr.texi file.
23584
23585	[doc/mpfr.texi] Fixed spacing for the mpfr.info file.
23586
235872011-02-10  Vincent Lef��vre  <vincent@vinc17.net>
23588
23589	[tools/mpfrlint] Detect the use of mp_ptr and mp_srcptr.
23590
23591	[doc/mpfr.texi] Updated the month.
23592
23593	[src/gmp_op.c] Added a blank line.
23594
235952011-02-09  Olivier Demengeon  <olivier.demengeon@inria.fr>
23596
23597	Added mpfr_z_sub (function/test/doc)
23598
235992011-02-09  Vincent Lef��vre  <vincent@vinc17.net>
23600
23601	Added new types mpfr_limb_ptr and mpfr_limb_srcptr to src/mpfr-impl.h,
23602	and replaced mp_ptr and mp_srcptr (GMP internals) by these 2 new types
23603	respectively.
23604
236052011-02-08  Vincent Lef��vre  <vincent@vinc17.net>
23606
23607	[src/mpfr-impl.h] Fix for Intel's compiler (ICC) under MS Windows:
23608	MPFR was incorrectly assuming that ICC had some extensions like
23609	under GNU/Linux. This made the MPFR compilation fail.
23610
23611	[src/mpfr-impl.h] Corrected a typo in a comment.
23612
236132011-02-05  Vincent Lef��vre  <vincent@vinc17.net>
23614
23615	[INSTALL] Removed incorrect note.
23616
236172011-02-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
23618
23619	[INSTALL] added hint for VS2008 and Intel compiler v11.1
23620
236212011-02-03  Vincent Lef��vre  <vincent@vinc17.net>
23622
23623	[configure.ac,Makefile.am] Clean-up and depend on GNU Automake 1.11.
23624
236252011-01-31  Vincent Lef��vre  <vincent@vinc17.net>
23626
23627	[src/zeta_ui.c,tests/tzeta_ui.c] Patch from Patrick P��lissier for
23628	the division-by-zero support in mpfr_zeta_ui (and test):
23629
236302011-01-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
23631
23632	[src/zeta.c] patch from Patrick Pelissier (problem with division by zero flag)
23633
236342011-01-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
23635
23636	[TODO] removed division by zero item (done)
23637
23638	[src/get_str.c,TODO] updated comments, mpfr_get_str already supports base <= 62
23639
236402011-01-27  Vincent Lef��vre  <vincent@vinc17.net>
23641
23642	[tests/tj0.c] GMP_RNDN ��� MPFR_RNDN.
23643
23644	[src/subnormal.c] Set the inexact and underflow flags when needed. Fixes
23645	  https://gforge.inria.fr/tracker/index.php?func=detail&aid=7958&group_id=136&atid=622
23646	[tests/tsubnormal.c] Improved the tests, in particular for the flags.
23647	[doc/mpfr.texi] Documented the change.
23648
23649	[doc/mpfr.texi] Corrected order in Section "Changed Functions".
23650
23651	[tests/tj0.c] Added case for which s = 0 occurs in mpfr_jn.
23652
23653	[src/jn.c] Added a log message.
23654
23655	[src/div_ui.c] Added logging support.
23656
236572011-01-26  Vincent Lef��vre  <vincent@vinc17.net>
23658
23659	[tests/tsum.c] Fixed bug in test (do not set the exponent on 0).
23660
23661	[tests/tsum.c] Formatting.
23662
23663	[tests/tsum.c] Fixed get_prec_max and added some checks.
23664	Current failure: tab[1] is not valid.
23665
23666	[src/sum.c] Added an assertion.
23667
23668	[src/check.c] Replaced MPFR_IS_PURE_FP by !MPFR_IS_SINGULAR, the
23669	former macro now has a check for validity in debug mode (r7426).
23670	The goal of mpfr_check is to test the validity, so that we don't
23671	want this check here.
23672
23673	[src/mpfr-impl.h] In the MPFR_IS_PURE_FP test, if positive, check that
23674	the number is normalized (debug mode only). This makes 2 tests fail:
23675	tcheck and tsum. Note: with logging active, tsum was already triggering
23676	an assertion failure in mpfr_get_str (via mpfr_add).
23677
23678	[src/add.c] Formatting.
23679
23680	[src/li2.c] Fixed crash in mpfr_li2 when logging is used.
23681
236822011-01-24  Vincent Lef��vre  <vincent@vinc17.net>
23683
23684	[src/jn.c] Corrected a comment.
23685
236862011-01-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
23687
23688	[src/jn.c] added notes for correctness of the algorithm used
23689
236902011-01-24  Vincent Lef��vre  <vincent@vinc17.net>
23691
23692	[src/jn.c] C90 compatibility fix (empty macro arguments are undefined).
23693
23694	[src/jn.c] Added an assaertion against a potential overflow (which
23695	probably never occurs, but this should be proved...).
23696
236972011-01-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
23698
23699	[src/jn.c] patch from Patrick Pelissier
23700
237012011-01-23  Vincent Lef��vre  <vincent@vinc17.net>
23702
23703	[src/jn.c] Forgot to change an MPFR_EXP to MPFR_GET_EXP.
23704
23705	[src/jn.c] Replaced MPFR_EXP by MPFR_GET_EXP when the value should
23706	really be an exponent. Removed incorrect and useless casts. Added
23707	an assertion to protect against potentially incorrect code.
23708
23709	[src/jn.c] Patch from Patrick P��lissier (mpfr_check_range and other).
23710
237112011-01-21  Vincent Lef��vre  <vincent@vinc17.net>
23712
23713	[tools/mpfrlint] Update the check for mpfr_printf-like functions
23714	in the tests.
23715
23716	[tests/tprintf.c] Consistency.
23717
23718	[tests/tgrandom.c] Added a comment.
23719
23720	[tests/tgrandom.c] Protection of the mpfr_printf by #ifdef HAVE_STDARG.
23721
237222011-01-20  Vincent Lef��vre  <vincent@vinc17.net>
23723
23724	[src/eint.c] Added a FIXME.
23725
237262011-01-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
23727
23728	[src/out_raw.c] added pointer to discussion
23729
237302011-01-17  Vincent Lef��vre  <vincent@vinc17.net>
23731
23732	[tests/tvalist.c] Correction for C++ compilers.
23733
23734	[doc/mpfr.texi] Added division-by-zero exception.
23735
23736	[doc/README.dev] Updated "To make a release".
23737
23738	[NEWS] Update for MPFR 3.1.x.
23739
23740	[src/grandom.c] Reformat.
23741
23742	[tools/mpfrlint] tests/tvalist.c can use mpfr_printf-like functions.
23743
23744	[tests/tgrandom.c] Added a FIXME: do not use mpfr_printf in the tests.
23745
23746	[tests] Untabified and removed trailing spaces.
23747
23748	[src/grandom.c,src/mpfr.h] Untabified and removed trailing spaces.
23749
23750	[src/frexp.c] Corrections.
23751
23752	[src/out_raw.c] Untabified.
23753
23754	[src/out_raw.c] Fixed some bugs on the incomplete code.
23755
23756	[src/atan2.c] MPFR_EXP -> MPFR_GET_EXP and reformat.
23757
23758	[src/ai.c] Removed trailing spaces.
23759
23760	[doc/mpfr.texi] Updated the month.
23761
23762	Copyright notice update: added 2011 with
23763	  perl -pi -e 's/2010 Free Software/2010, 2011 Free Software/' **/*(^/)
23764	under zsh, reverting the ChangeLog file and the m4 and tools/mbench
23765	directories.
23766
23767	[doc/README.dev] Updated year in example.
23768
23769	tests: updated svn:ignore property.
23770
23771	[src/pow.c] Added an assertion.
23772
23773	[tests/td_div.c] Consistency change.
23774
23775	[tests/tdiv_d.c] Updated test of special cases.
23776
23777	[src/log1p.c] Added support for the division-by-zero exception.
23778
23779	[tests/tlog1p.c] Test the flags for special cases.
23780
23781	Added support for the division-by-zero exception in functions
23782	mpfr_atanh, mpfr_cot, mpfr_coth, mpfr_csc, mpfr_csch,
23783	mpfr_digamma, mpfr_eint, mpfr_gamma, mpfr_lgamma, mpfr_lngamma,
23784	mpfr_log, mpfr_log2 and mpfr_log10.
23785
237862011-01-16  Laurent Fousse  <laurent@komite.net>
23787
23788	[tests/tgrandom.c] Add missing cast for malloc.
23789
237902011-01-16  Vincent Lef��vre  <vincent@vinc17.net>
23791
23792	[src/yn.c] Added support for the division-by-zero exception.
23793
23794	[src/rec_sqrt.c] Added support for the division-by-zero exception.
23795
23796	[src/pow_si.c] Improved robustness (in case of future changes).
23797
23798	Added support for the division-by-zero exception for the power functions
23799	(with additional tests). (Corrected patch from Patrick.)
23800
238012011-01-16  Laurent Fousse  <laurent@komite.net>
23802
23803	Rename mpfr_urandom_gaussian to mpfr_grandom.
23804
238052011-01-15  Vincent Lef��vre  <vincent@vinc17.net>
23806
23807	[doc/mpfr.texi] Corrections for mpfr_urandom_gaussian.
23808
23809	[tests/turandom_gaussian.c] Fixed C99-only code.
23810
238112011-01-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
23812
23813	[src/frexp.c,tests/tfrexp.c] added new function mpfr_frexp
23814	[src/urandom_gaussian.c] fixed copyright line
23815	[src/out_raw.c] started writing code (work in progress, please continue if
23816			you are interested)
23817
238182011-01-14  Laurent Fousse  <laurent@komite.net>
23819
23820	[doc/mpfr.texi] Document urandom_gaussian.
23821
23822	[tests/Makefile.am] Include turandom_gaussian in tests.
23823
23824	[tests/turandom_gaussian.c] Add tests for urandom_gaussian.
23825
238262011-01-14  Vincent Lef��vre  <vincent@vinc17.net>
23827
23828	[tests/tdiv.c] Added consistency tests between mpfr_div, mpfr_ui_div,
23829	mpfr_si_div, mpfr_div_ui and mpfr_div_si (check the ternary value,
23830	the flags and the result of the division).
23831
23832	[src/ui_div.c] Fixed prototype formatting.
23833	[src/div_ui.c] Fixed prototype formatting. Set division-by-zero flag.
23834
238352011-01-14  Laurent Fousse  <laurent@komite.net>
23836
23837	[src/urandom_gaussian.c] Fix x -> xp, and scaling.
23838
23839	[src/urandom_gaussian.c] Pick the signs of the outputs at random.
23840
23841	[src/urandom_gaussian.c] Fix precision of temporary results.
23842
23843	[src/urandom_gaussian.c] Add missing inits/clears.
23844
23845	[src/mpfr.h] Declare urandom_gaussian.
23846
23847	[src/Makefile.am] Add urandom_gaussian.c to the sources.
23848
23849	[src/urandom_gaussian] Start work on gaussian distribution.
23850
238512011-01-14  Vincent Lef��vre  <vincent@vinc17.net>
23852
23853	[tests/tgeneric.c] Fixed code introduced in r7346, again.
23854
238552011-01-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
23856
23857	[sin_cos.c] moved macros to mpfr-impl.h, added README
23858
23859	[sin_cos.c] new inexact flags computed by mpfr_check_range were lost
23860
238612011-01-14  Vincent Lef��vre  <vincent@vinc17.net>
23862
23863	[tests/tgeneric.c] Fixed code introduced in r7346.
23864
23865	[tools/coverage] Update from Patrick.
23866
23867	[src/ui_div.c] Set the division-by-zero flag.
23868	[tests/tui_div.c] Updated and improved the test of special cases.
23869	Note: tpow_all currently fails since the support of the division-by-zero
23870	exception is not complete yet.
23871
23872	[src/div.c] Set the division-by-zero flag.
23873	[tests/tdiv.c, tests/td_div.c] Updated and improved the test of special
23874	cases.
23875
23876	[tests/tset.c] Tests didn't fail in case of error from PRINT_ERROR_IF.
23877
23878	[tests/tgeneric.c] Added comments.
23879
23880	[tests/tgeneric.c] Check the division-by-zero flag.
23881
23882	Improved tests/texceptions.c (mpfr_clear_*, mpfr_set_*).
23883
23884	Added support for the division-by-zero exception.
23885
23886	[src/exceptions.c] Fixed bad #undef's (with currently no consequences).
23887
238882011-01-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
23889
23890	[TODO] removed item about inlined mpfr_neg: Patrick Pelissier tried it but it
23891	       does not speed things
23892
238932011-01-14  Vincent Lef��vre  <vincent@vinc17.net>
23894
23895	[src/mpfr-impl.h] Removed an obsolete comment.
23896
238972011-01-13  Laurent Fousse  <laurent@komite.net>
23898
23899	[src/atan2.c] "Exact" division can be inexact because of the exponent range.
23900
239012011-01-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
23902
23903	[out_raw.c] exchanged bits for precision and exponent
23904
23905	[out_raw.c] first proposal for external format
23906
239072011-01-13  Vincent Lef��vre  <vincent@vinc17.net>
23908
23909	[src/mpfr-impl.h] MPFR_IS_POWER_OF_2: added parentheses.
23910
239112011-01-13  Laurent Fousse  <laurent@komite.net>
23912
23913	Add tests for special case of atan2 (x power of 2).
23914
23915	Add special case for atan2(x,y) when x is a power of 2.
23916
23917	New macro MPFR_IS_POWER_OF_2.
23918
239192011-01-13  Vincent Lef��vre  <vincent@vinc17.net>
23920
23921	TLS support is now detected automatically. If TLS is supported, MPFR is
23922	built as thread safe by default. To disable TLS explicitly, configure
23923	MPFR with --disable-thread-safe.
23924
239252011-01-13  Laurent Fousse  <laurent@komite.net>
23926
23927	Add tests for mpfr_ai special case x=0.
23928
23929	Add special case for x=0 in mpfr_ai1.
23930
239312011-01-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
23932
23933	[algorithms.tex] extended Lemma 2 to the case of terms of the form 1/(1+delta)
23934
239352011-01-13  Vincent Lef��vre  <vincent@vinc17.net>
23936
23937	tests: return 77 for skipped tests (see GNU Automake manual).
23938
23939	tests: updated svn:ignore property.
23940
23941	TODO update after r7317 and r7320.
23942
23943	Support multiple inclusions of mpfr.h w.r.t. <stdio.h> and <stdarg.h>
23944	(MPFR_USE_FILE and/or MPFR_USE_VA_LIST are needed until GMP is fixed).
23945	Added test "tests/tvalist.c".
23946
239472011-01-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
23948
23949	[src/mpfr-longlong.h] idem as previous commit for other 2 FIXME's
23950
23951	[mpfr-longlong.h] resolved one FIXME, by adding a new one :-)
23952
239532011-01-13  Vincent Lef��vre  <vincent@vinc17.net>
23954
23955	Support multiple inclusions of mpfr.h w.r.t. <stdint.h> / <inttypes.h>.
23956
239572011-01-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
23958
23959	another patch from Patrick Pelissier to test get_ld (with export of data used)
23960
23961	patch from Patrick Pelissier to use clock_getime instead of rdtsc
23962	(use "make rt" instead of "make")
23963	References:
23964	https://stackoverflow.com/questions/3388134/rdtsc-accuracy-across-cpu-cores
23965	https://en.wikipedia.org/wiki/Time_Stamp_Counter
23966
239672010-12-25  Vincent Lef��vre  <vincent@vinc17.net>
23968
23969	[src/get_ld.c] Updated a comment about the last change.
23970
23971	[src/get_ld.c] Minor performance improvement.
23972
239732010-12-19  Vincent Lef��vre  <vincent@vinc17.net>
23974
23975	[tools/mbench/Makefile] Update due to source reorganization (r7087):
23976	patch from Patrick Pelissier.
23977
239782010-12-17  Vincent Lef��vre  <vincent@vinc17.net>
23979
23980	[TODO] Update (exp-int branch, internal macro).
23981
23982	[src/sin.c] Fixed failure in debug mode (missing MPFR_IS_ZERO test).
23983
23984	[src/rec_sqrt.c] Improved comment.
23985
23986	Added exp-int branch from r7304, where mpfr_exp_t is defined as an
23987	int instead of mp_exp_t. This is for testing only for usual 64-bit
23988	machines (e.g. x86_64 GNU/Linux), where mpfr_exp_t and mpfr_prec_t
23989	are now on 32 bits instead of 64 bits. Many tests currently fail
23990	for unknown reasons.
23991	TODO: find the cause of these failures, starting with the low level
23992	functions (since they can affect higher level ones).
23993
239942010-12-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
23995
23996	[rec_sqrt.c] put back some information lost in commit 7302
23997
239982010-12-17  Vincent Lef��vre  <vincent@vinc17.net>
23999
24000	[src/cmp2.c] Corrected a comment.
24001
24002	Replaced some MPFR_EXP by MPFR_GET_EXP.
24003
24004	[src/rec_sqrt.c] Removed a variable that was used only once.
24005
24006	[src/mpfr.h] Changed comment for mpfrlint.
24007
24008	Added MPFR_TMP_LIMBS_ALLOC macro and updated the source to use it.
24009	tools/mpfrlint: check its use instead of MPFR_TMP_ALLOC.
24010
24011	[src/sum.c] Improved readability.
24012
24013	[src/mpfr-impl.h] Formatting.
24014
240152010-12-14  Vincent Lef��vre  <vincent@vinc17.net>
24016
24017	[TODO] Added year on a date (the item was added on 2007-07-28 in r4707).
24018
240192010-12-13  Vincent Lef��vre  <vincent@vinc17.net>
24020
24021	Added configure.lineno (generated by configure) to the svn:ignore
24022	property of the src directory.
24023
240242010-12-12  Vincent Lef��vre  <vincent@vinc17.net>
24025
24026	[NEWS] Update concerning the --with-gmp-build configure option.
24027
24028	[INSTALL] Corrected a typo from r7293.
24029
24030	Updated INSTALL file after the recent changes in configure.ac concerning
24031	the --with-gmp-build configure option.
24032
24033	[configure.ac] With --with-gmp-build, do not duplicate the include
24034	search paths if the GMP source and build directories are the same.
24035
24036	[configure.ac] Fixed another bug in r7289. This new version now seems
24037	to work with GMP's srcdir pointing to a relative directory or to an
24038	absolute one.
24039
24040	[configure.ac] Fixed bug in r7289.
24041
24042	[configure.ac] Corrected Patrick Pelissier's patch (not tested).
24043
240442010-12-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
24045
24046	[configure.ac] patch from Patrick Pelissier to solve the problem with
24047		       --with-gmp-build when the GMP build directory and the GMP
24048		       source directory differ
24049
240502010-12-12  Vincent Lef��vre  <vincent@vinc17.net>
24051
24052	[tests/Makefile.am] tversion is also run at the end (after a discussion
24053	with Patrick and Paul).
24054
24055	[configure.ac] Fixed two problems with --with-gmp-build:
24056	  * "grep -w" isn't POSIX (an error shouldn't matter with recent GMP
24057	    versions, as CFLAGS and CC would then be retrieved from gmp.h).
24058	  * "sed" was used instead of "$SED".
24059
240602010-12-07  Vincent Lef��vre  <vincent@vinc17.net>
24061
24062	[INSTALL] Added a section "If 'gmp.h' and 'libgmp' do not match".
24063
24064	[configure.ac] Improved warning message in case of unmatched 'gmp.h'
24065	and 'libgmp'.
24066
24067	[INSTALL] Update concerning "configure".
24068
240692010-12-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
24070
24071	[NEWS] fixed news for 3.0.0
24072
240732010-12-03  Vincent Lef��vre  <vincent@vinc17.net>
24074
24075	[tests/tversion.c] Now fail if the versions of gmp.h and libgmp do not
24076	match (error message improved); previously, the warning could remain
24077	unnoticed, in particular with automatic installations.
24078
240792010-11-30  Sylvain Chevillard  <Sylvain.Chevillard@inria.fr>
24080
24081	Added metaMPFR in the tools directory of MPFR.
24082
240832010-11-29  Vincent Lef��vre  <vincent@vinc17.net>
24084
24085	[src/mpfr.h] Defined MPFR_DEPRECATED to mark MPFR functions, types
24086	or variables as deprecated.
24087
240882010-11-25  Vincent Lef��vre  <vincent@vinc17.net>
24089
24090	[tests/tui_pow.c] Updated a comment.
24091
240922010-11-23  Vincent Lef��vre  <vincent@vinc17.net>
24093
24094	[tools/mpfrlint] Support BSD sed.
24095
240962010-11-19  Vincent Lef��vre  <vincent@vinc17.net>
24097
24098	[tools/mpfrlint] Detect the use of __mpfr_struct structure members
24099	in .c files.
24100
24101	[src/min_prec.c] Replaced x->_mpfr_d by MPFR_MANT(x).
24102
241032010-11-18  Vincent Lef��vre  <vincent@vinc17.net>
24104
24105	[src/mpfr-impl.h] Commented out the declaration of mpfr_round_raw_3
24106	(since this function is no longer defined).
24107
24108	[src/min_prec.c] Major simplification of mpfr_min_prec by using
24109	mpn_scan1 (suggestion by Andreas Enge).
24110
241112010-11-15  Vincent Lef��vre  <vincent@vinc17.net>
24112
24113	[src/mpfr-impl.h] Added a comment about mpn_sqr_n.
24114
241152010-11-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
24116
24117	[algorithms.tex] replaced reference to Graillat05 by earlier one (Higham02)
24118
241192010-11-12  Vincent Lef��vre  <vincent@vinc17.net>
24120
24121	[tools/nightly-test] Added a comment about the use of -pedantic-errors.
24122
241232010-11-10  Vincent Lef��vre  <vincent@vinc17.net>
24124
24125	[src/sub1.c] Minor simplification.
24126
24127	[tests/tpow.c] Avoid warnings if mpfr_exp_t < long.
24128
241292010-11-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
24130
24131	[mul.c] fixed bug introduced in revision 7183, and reported by Brian Gladman
24132		on Windows, where mpfr_exp_t has 32 bits and mp_limb_t has 64 bits
24133
241342010-11-09  Vincent Lef��vre  <vincent@vinc17.net>
24135
24136	[src/mpfr.h] Use only mpfr_* types in __MPFR_EXP_* macro definitions
24137	(should have been done in r7236).
24138
24139	[src/mpfr.h] Changed a "void" into a "mpfr_void" in a macro definition
24140	(should have been done in r7236).
24141
24142	[tests/tset_si.c] Added testcase for problem fixed in r7236.
24143
241442010-11-08  Vincent Lef��vre  <vincent@vinc17.net>
24145
24146	[src/mpfr.h] Removed some useless casts that where added in r7121 and
24147	r7236 (such casts prevented the compiler from emitting diagnostics in
24148	incorrect calls).
24149
24150	[tests/Makefile.am] Added a comment (warning about LOADLIBES).
24151
241522010-10-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
24153
24154	[taway.c] reduced time of the test
24155
241562010-10-25  Vincent Lef��vre  <vincent@vinc17.net>
24157
24158	Mentioned --enable-gmp-internals in INSTALL and NEWS.
24159
241602010-10-24  Vincent Lef��vre  <vincent@vinc17.net>
24161
24162	[tests/taway.c] Added a FIXME (test is too long on old machines).
24163
24164	[acinclude.m4] Corrected comment for PowerPC.
24165
241662010-10-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
24167
24168	added tuning parameters for HPPA (on HP-UX machine kindly provided by David
24169	Kirkby)
24170
241712010-10-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
24172
24173	[powerpc32/mparam.h] added more info on processor and operating system used
24174
24175	needed stuff to use src/powerpc32/mparam.h file
24176	(note that long double is IEEE double on PowerPC32)
24177
24178	[powerpc32/mparam.h] param file for powerpc32 (made on PowerPC 604 under AIX)
24179
241802010-10-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
24181
24182	[tuneup.c] added cast from time_t to long, after warning under HP-UX:
24183	tuneup.c:1131: warning: format '%ld' expects type 'long int', but argument 3 has type 'time_t'
24184	tuneup.c:1133: warning: format '%ld' expects type 'long int', but argument 2 has type 'time_t'
24185	(I don't know if it is because time_t is unsigned, or has a different width)
24186
241872010-10-22  Vincent Lef��vre  <vincent@vinc17.net>
24188
24189	[src/mpfr.h] Added a space.
24190
24191	[src/mpfr.h] Avoid some problems with macro expansion if the user
24192	defines macros with the same name as keywords.
24193	[doc/mpfr.texi] Document the use of macros.
24194
241952010-10-22  Sylvain Chevillard  <Sylvain.Chevillard@inria.fr>
24196
24197	Included the new /arch/mparam.h files into the dist.
24198
241992010-10-20  Sylvain Chevillard  <Sylvain.Chevillard@inria.fr>
24200
24201	Cosmetic change: the constant MPFR_TUNE_CASE is now defined in mparam_h.in.
24202	Hence the files src/some-architecture/mparam.h are now simply obtained by
24203	performing 'make tune' on some architecture and copying the resulting
24204	src/mparam.h to src/some-architecture/mparam.h.
24205
24206	Typo.
24207
24208	Up-to-date thresholds.
24209
242102010-10-20  Vincent Lef��vre  <vincent@vinc17.net>
24211
24212	[tests/tsub.c] mp_prec_t -> mpfr_prec_t
24213
24214	[src/sub1.c] Removed trailing spaces.
24215
242162010-10-19  Vincent Lef��vre  <vincent@vinc17.net>
24217
24218	[tests/*.c] Support the case where mpfr_exp_t is not a long int
24219	(but with such a future extension, one should probably provide
24220	a MPFR_PRIexp macro, similar to what <inttypes.h> does).
24221
24222	[tests/texceptions.c] Added casts, in case mpfr_exp_t is not a long int.
24223
242242010-10-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
24225
24226	[tset_ld.c] replaced hexadecimal long double constants by decimal constants
24227
242282010-10-19  Vincent Lef��vre  <vincent@vinc17.net>
24229
24230	[tests/tset_ld.c] Added a FIXME for r7222 change.
24231
242322010-10-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
24233
24234	[set_ld.c] fixed bug #11300 on bug tracker
24235	[tset_ld.c] added corresponding tests
24236
24237	[algorithms.tex] modified proof of mpfr_sub in accordance with source code
24238
242392010-10-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
24240
24241	this is a tree of all possible cases that can happen for rounding in mpfr_sub
24242	(file sub1.c) for rounding to nearest.
24243
24244	The nodes at depth 1 of the tree correspond to the 3 possible cases before
24245	rounding: (1) sh=0, (2) sh>0 and the low sh bits are 1/2 ulp, (3) sh>0 and
24246	the low sh bits are 0.
24247
24248	The nodes at depth 2 represent the possible subcases for k=0 in the rounding
24249	loop.
24250
24251	The nodes at depth 3 represent the possible subcases for k=1 in the rounding
24252	loop.
24253
242542010-10-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
24255
24256	[src/sub1.c] fixed another remaining issue in case 1d1
24257		     (case sh=0, i.e., the result uses a full number of limbs,
24258		      the first neglected limbs of b and c match,
24259		      and for the next limbs, low(b) > low(c)).
24260		      This case was incorrectly rounded up (add_one_ulp).
24261	[tests/tsub.c] added more test cases
24262
24263	[tgmpop.c] in case of error, print mpz_t in decimal instead of binary
24264
24265	[tuneup.c] increase maximal number of calls to speed_measure from 5 to 30
24266		   (seems to solve problems on gcc15)
24267
242682010-10-18  Vincent Lef��vre  <vincent@vinc17.net>
24269
24270	[tests/tcan_round.c] Removed an incorrect cast, fixing a bug (in the
24271	test) that was producing a failure for GMP_CHECK_RANDOMIZE=1287710095
24272	on 64-bit machines (visible since mpfr_prec_t is now signed).
24273
24274	[src/sub1.c] Removed trailing whitespace.
24275
242762010-10-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
24277
24278	[sub1.c] previous fix was not incorrect (but strangely our tests cases did
24279		 not exhibit that)
24280	[tfma.c] added more test cases from Jakub Jelinek
24281
24282	[sub1.c] fixed bug found by Jakub Jelinek (#11301 on tracker)
24283
242842010-10-18  Vincent Lef��vre  <vincent@vinc17.net>
24285
24286	[doc/mpfr.texi] Updated the month.
24287
24288	[tests/tsub.c] Fixed inex test in bug20101017.
24289
242902010-10-18  Sylvain Chevillard  <Sylvain.Chevillard@inria.fr>
24291
24292	Mention the warning message displayed by gcc when the ABI of gcc and MPFR
24293	differ.
24294
24295	Note: the message does not automatically imply the problem; however, if the
24296	message appears, the ABI somehow differ, so it is worth mentioning it.
24297	Users might look for the message in INSTALL in order to see if their problem is
24298	mentioned.
24299
243002010-10-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
24301
24302	[INSTALL] added "Notes about ABI" section
24303
243042010-10-18  Vincent Lef��vre  <vincent@vinc17.net>
24305
24306	[tests/tsub.c] Updated comment of bug20101017.
24307
24308	[tests/tsub.c] Added testcase for bug found by Jakub Jelinek
24309	(bug 11301 on INRIAGforge).
24310
243112010-10-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
24312
24313	[tuneup.c] print size when speed_measure fails
24314
243152010-10-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
24316
24317	[mpfr.texi] added that the 'N' mode rounds ties to even in the mpfr*printf
24318		    functions
24319
243202010-10-15  Sylvain Chevillard  <Sylvain.Chevillard@inria.fr>
24321
24322	Reorganized mparam_h.in in separate files.
24323	Added mpfr_buildopt_tune_case function.
24324
243252010-10-14  Sylvain Chevillard  <Sylvain.Chevillard@inria.fr>
24326
24327	Modified the number of iterations in the loop of mpfr_speed_measure.
24328
243292010-10-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
24330
24331	[tuneup.c] new function mpfr_speed_measure, which calls speed_measure() several
24332		   times (currently 30) until there is no failure.
24333		   In case all 30 calls fail, give some hints to the user.
24334
243352010-10-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
24336
24337	[tuneup.c] try again when speed_measure returns -1.0 (i.e. fails)
24338	           also check return value of speed_measure in all cases
24339		   (was not done for mulhigh, sqrhigh and divhigh, reported
24340		   by Sylvain Chevillard)
24341
243422010-10-12  Sylvain Chevillard  <Sylvain.Chevillard@inria.fr>
24343
24344	Small indication explaining what is the negative threshold for Ai.
24345
243462010-10-10  Vincent Lef��vre  <vincent@vinc17.net>
24347
24348	[src/mpfr-impl.h] Added MPFR_UEXP macro to check (in debug mode) that
24349	a value is nonnegative before a cast to mpfr_uexp_t.
24350	[src/add1.c] Use the MPFR_UEXP macro to make sure that the avoided
24351	warning doesn't hide a real bug.
24352
243532010-10-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
24354
24355	avoid several compiler warnings with g++
24356
24357	[nightly-test] added -Wno-sign-compare for g++, to avoid spurious warnings
24358
24359	[nightly-test] do not use -Wmissing-prototypes for g++
24360
24361	[add1.c] fixed compiler warning (from g++)
24362
243632010-10-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
24364
24365	[src/mulders.c] fixed comment
24366
243672010-10-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
24368
24369	[sqrt.c,mulders.c] added missing cast (detected by nightly builds with g++)
24370
243712010-10-01  Vincent Lef��vre  <vincent@vinc17.net>
24372
24373	[src/mulders.c] Untabified.
24374
243752010-09-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
24376
24377	[src/mulders.c] fixed comments about error analysis in short product,
24378			and improved short division code
24379
243802010-09-30  Vincent Lef��vre  <vincent@vinc17.net>
24381
24382	Removed trailing spaces and untabified several files.
24383
24384	[src/mul.c] Added comments concerning the latest changes about mulhigh.
24385
243862010-09-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
24387
24388	[src/mulders.c] removed leftover debug stuff
24389
243902010-09-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
24391
24392	[src/mulders.c] added new function mpfr_divhigh_n() for short division
24393			(not used yet), fixed comments and added error analysis
24394			in mpfr_mulhigh_n() and mpfr_sqrhigh_n()
24395	[src/sqrt.c] fixed ill-placed MPFR_TMP_MARK
24396	[src/mparam_h.in] added default MPFR_DIVHIGH_TAB for mpfr_divhigh_n()
24397	[src/round_p.c] typo
24398	[src/mpfr-impl.h] added prototype for mpfr_divhigh_n
24399	[src/mul.c] added comment, simplified code
24400	[tune/tuneup.c] added tuning for mpfr_divhigh_n(), increased MAX_STEPS to get
24401			a better tuning (will take longer), set tolerance to 1.0
24402
24403	added new option --enable-gmp-internals to use GMP undocumented function
24404	(at user's own risk). So far only mpn_rootrem is used in mpfr_sqrt.
24405
24406	[doc/README.dev] added comment about mpn_rootrem
24407
244082010-09-28  Vincent Lef��vre  <vincent@vinc17.net>
24409
24410	[configure.ac] Added a FIXME note about incorrect use of an internal
24411	GMP symbol (__gmpn_rootrem).
24412
244132010-09-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
24414
24415	[src/sqrt.c] followup to previous commit: only compute an extra limb of the
24416		     square root for rounding to nearest (for directed rounding, it
24417		     suffices to know if the remainder is zero or not)
24418
24419	[src/sqrt.c] now uses mpn_rootrem (if available) instead of mpn_sqrtrem since
24420		     mpn_rootrem is faster. Also refactored the code: now compute one
24421		     more limb of the square root when the target precision is a
24422		     multiple of GMP_NUMB_LIMB. This greatly simplifies the code.
24423
24424	[src/sqrt.c] simplified computation of sticky bit
24425
244262010-09-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
24427
24428	[mulders.c] fixed typo
24429
244302010-09-27  Vincent Lef��vre  <vincent@vinc17.net>
24431
24432	[src/mulders.c] Replaced MPFR_ASSERTD with constant expression
24433	by MPFR_ASSERTN.
24434
24435	[tools/mpfrlint] Added a test:
24436	Constant checking should use MPFR_ASSERTN, not MPFR_ASSERTD.
24437
244382010-09-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
24439
24440	[mulders.c] modified mpfr_sqrhigh_n threshold so that it is > n/2
24441
244422010-09-27  Vincent Lef��vre  <vincent@vinc17.net>
24443
24444	[acinclude.m4] Added a FIXME concerning autoconf 2.68.
24445
244462010-09-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
24447
24448	[mulders.c] use mpn_lshift instead of mpn_add_n, and improved the default
24449		    Mulders cutoff k beyond 1024 limbs (extrapolated from the cutoff
24450		    k for n=1023 on Core 2, and checked experimentally it is faster)
24451
244522010-09-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
24453
24454	[tuneup.c] changed lower bound for exp_2 threshold from MPFR_PREC_MIN (2) to
24455		   GMP_NUMB_BITS. Seems to be better (since for p=2 the 2nd routine
24456		   was sometimes already faster).
24457
24458	[mul.c] another changes for Mulders' algorithm in case of a square
24459
244602010-09-24  Vincent Lef��vre  <vincent@vinc17.net>
24461
24462	[src/mul.c] Change in r7166 was incomplete. Fixed suspicious code.
24463
244642010-09-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
24465
24466	[mparam_h.in] updated for 64-bit Core2
24467
24468	now use Mulders' algorithm also for mpfr_sqr, provides nice speed improvement
24469	in all functions that perform squarings
24470
244712010-09-21  Vincent Lef��vre  <vincent@vinc17.net>
24472
24473	[doc/mpfr.texi] API compatibility section: noted that mpfr_urandom
24474	and mpfr_urandomb changed for MPFR 3.1.
24475
244762010-09-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
24477
24478	[INSTALL] update about "make tune"
24479
244802010-09-21  Vincent Lef��vre  <vincent@vinc17.net>
24481
24482	[doc] Updated FAQ.html with update-faq.
24483
244842010-09-20  Sylvain Chevillard  <Sylvain.Chevillard@inria.fr>
24485
24486	Indicated the location of README.dev.
24487
244882010-09-19  Vincent Lef��vre  <vincent@vinc17.net>
24489
24490	[NEWS] Minor update.
24491
244922010-09-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
24493
24494	[NEWS] inform the users that mpfr_add_one_ulp and mpfr_sub_one_ulp will be
24495	       removed
24496
244972010-09-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
24498
24499	[TODO] added efficiency item
24500
245012010-09-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
24502
24503	replaced calls to mpfr_printf by calls to mpfr_dump
24504	(mpfr_printf might not be defined)
24505
24506	[NEWS,doc/mpfr.texi] updated: the GMP random functions do not depend on the
24507			     computer word size
24508
245092010-09-15  Vincent Lef��vre  <vincent@vinc17.net>
24510
24511	[tools/mpfrlint] Check for mpfr_printf-like functions in the tests.
24512
24513	[doc/mpfr.texi] Updated the month.
24514
245152010-09-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
24516
24517	[doc/mpfr.texi] added notes for mpfr_urandom and mpfr_urandomb
24518
24519	[Makefile.am] updated LOADLIBES with reorganization of the sources
24520
24521	[algorithms.tex] added sections for pow_ui and root
24522
24523	[src/urandom.c] now mpfr_urandom also returns identical values on 32-bit and
24524			64-bit machines
24525	[tests/turandom.c] modified corresponding test
24526
24527	replaced mpfr_printf in tests by calls to mpfr_out_str
24528
245292010-09-15  Vincent Lef��vre  <vincent@vinc17.net>
24530
24531	[doc/README.dev] Updated the paragraph added in r7137.
24532
24533	[doc/README.dev] Added a paragraph about the use of system-dependent
24534	functions in the test suite.
24535
24536	Some minor corrections in comments.
24537
24538	[src/printf.c] Typo in a comment.
24539
24540	[src/printf.c] Slight modification of a comment.
24541
245422010-09-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
24543
24544	[urandomb.c] modified to leave the GMP random generator in the same state,
24545		     independent of GMP_NUMB_BITS
24546	[trandom.c] test of the above
24547	[urandom.c] added FIXME's
24548	[turandom.c] check we leave the GMP random generator in the same state,
24549		     independent of GMP_NUMB_BITS. Currently this fails on 64-bit
24550		     computers.
24551
24552	[urandomb.c] added comment + slight change
24553
245542010-09-01  Vincent Lef��vre  <vincent@vinc17.net>
24555
24556	[src/mpfr.h] Added casts to improve robustness in case of undefined
24557	behavior and compiler extensions based on UB (in particular -fwrapv).
24558	MPFR doesn't use such extensions, but these macros will be used by
24559	3rd-party code, where such extensions may be required.
24560
24561	[src/mpfr.h] Updated a comment concerning -Wconversion.
24562
24563	[src/mpfr.h] Added casts to unsigned long in mpfr_cmp_si and mpfr_set_si
24564	macros for GCC, in order to avoid warnings in programs that use MPFR and
24565	are compiled with -Wconversion (suggestion by Andreas Enge); such casts
24566	are OK since if X is a constant expression, then (unsigned long) X is
24567	also a constant expression, so that the optimizations still work.
24568	Reformatted these macros.
24569
24570	[src/mpfr.h] Fixed bug in the mpfr_cmp_ui macro for GCC (also used
24571	by mpfr_cmp_si), when the evaluation of the first argument yields
24572	side effects and the second argument is a constant expression with
24573	the value 0.
24574
24575	[tests/tcmp_ui.c] Added side-effect tests similar to those in tset_si.c,
24576	showing a bug in the mpfr_cmp_ui and mpfr_cmp_si macros.
24577
24578	[tests/tcmp_ui.c] Check mpfr_cmp_ui and mpfr_cmp_si macros against
24579	side effects in the arguments.
24580
24581	[src/mpfr.h] Added a comment about the macros that use
24582	__builtin_constant_p.
24583
245842010-08-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
24585
24586	[tsqrt.c] improved comment, and added test sqrt(+0) == +0
24587
245882010-08-29  Vincent Lef��vre  <vincent@vinc17.net>
24589
24590	[tests/tsqrt.c] Renamed check_nan() to check_singular().
24591
24592	[tests/tsqrt.c] Check that sqrt(-0) has a negative sign.
24593
245942010-08-26  Vincent Lef��vre  <vincent@vinc17.net>
24595
24596	[INSTALL] Replaced "patches" by "allpatches".
24597
245982010-08-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
24599
24600	[configure.ac] fixed typo
24601
246022010-08-23  Vincent Lef��vre  <vincent@vinc17.net>
24603
24604	[src/gmp_op.c] Extend the exponent range in mpfr_cmp_q and mpfr_cmp_f.
24605
24606	[src/gmp_op.c] In mpfr_add_q / mpfr_sub_q, check with MPFR_ASSERTN
24607	that an internal overflow/underflow doesn't occur. In theory, such
24608	an exception is possible, but only if q has a huge numerator or
24609	denominator. This is not supported (note: other problems may occur
24610	first, such as insufficient memory).
24611
24612	[tests/tgmpop.c] Added overflow tests for mpfr_add_q / mpfr_sub_q.
24613
24614	[tests/{mpfr-test.h,tests.c}] Added flags_out function to output flags.
24615
24616	[src/gmp_op.c] Extend the exponent range in mpfr_add_q / mpfr_sub_q
24617	               (overflow/underflow exceptions are not supported yet).
24618	[tests/tgmpop.c] Added corresponding testcases.
24619
246202010-08-19  Vincent Lef��vre  <vincent@vinc17.net>
24621
24622	[src/gmp_op.c] Fixed the Inf +/- Inf cases for mpfr_add_q / mpfr_sub_q.
24623	[tests/tgmpop.c] Added Inf +/- Inf tests.
24624
246252010-08-19  Philippe Th��veny  <philippe.theveny@laposte.net>
24626
24627	[tests/tgmpop.c] Fix rounding mode in overflow tests
24628
246292010-08-19  Vincent Lef��vre  <vincent@vinc17.net>
24630
24631	[src/gmp_op.c] The function mpfr_cmp_z could fail in a reduced
24632	exponent range.
24633	[tests/tgmpop.c] Added a corresponding testcase.
24634
24635	[src/gmp_op.c] The functions mpfr_mul_z, mpfr_div_z, mpfr_add_z and
24636	mpfr_sub_z could fail in a reduced exponent range. Fixed.
24637	[tests/tgmpop.c] Added corresponding testcase.
24638
246392010-08-18  Vincent Lef��vre  <vincent@vinc17.net>
24640
24641	[tests/tgmpop.c] Disabled buggy tests.
24642
24643	[src/gmp_op.c] Fixed the intermediate overflow case in mpfr_muldiv_z
24644	(for mpfr_mul_q and mpfr_div_q).
24645
24646	[src/gmp_op.c] Added function mpfr_muldiv_z (currently static -- should
24647	it be in the API?) that computes y = RND(x*n/d), where n and d are mpz
24648	integers. Changed mpfr_mul_q and mpfr_div_q to use this function.
24649	Note: the code of the general case is currently the same as the old
24650	mpfr_mul_q/mpfr_div_q code, thus needs to be fixed.
24651
24652	[tests/tgmpop.c] Replaced GMP_RNDN by MPFR_RNDN.
24653
24654	[tests/tgmpop.c] Added testcase for mpfr_mul_q/mpfr_div_q bug noted
24655	in src/gmp_op.c (due to intermediate overflow).
24656
246572010-08-17  Vincent Lef��vre  <vincent@vinc17.net>
24658
24659	[src/logging.c] Added a comment about register_printf_function.
24660
24661	Added tools/ck-version-info Perl script with the same license as
24662	Makefile.am, to check consistency concerning -version-info and
24663	that the -version-info value is up-to-date.
24664	Updated Makefile.am:
24665	  * In dist-hook, replaced complex sh code by a call to ck-version-info.
24666	  * Distribute ck-version-info (EXTRA_DIST).
24667
24668	Updated svn:ignore properties.
24669
24670	[Makefile.am] Put tools/get_patches.sh back to EXTRA_DIST.
24671
24672	[src/Makefile.am] Fixed -version-info (I forgot to increment CURRENT).
24673
246742010-08-17  Vincent Lef��vre  <vincent@vinc17.net>
24675
24676	Source reorganization. In short:
24677	  * Added directories and moved related files into them:
24678	      - src for the MPFR source files (to build the library).
24679	      - doc for documentation files (except INSTALL, README...).
24680	      - tools for various tools (scripts) and mbench.
24681	      - tune for tuneup-related source files.
24682	      - other for other source files (not distributed in tarballs).
24683	    Existing directories:
24684	      - tests for the source files of the test suite (make check).
24685	      - examples for examples.
24686	      - m4 for m4 files.
24687	  * Renamed configure.in to configure.ac.
24688	  * Added/updated Makefile.am files where needed.
24689	  * Updated acinclude.m4 and configure.ac (AC_CONFIG_FILES line).
24690	  * Updated the documentation (INSTALL, README, doc/README.dev and
24691	    doc/mpfr.texi).
24692	  * Updated NEWS and TODO.
24693	  * Updated the scripts now in tools.
24694
24695	The following script was used:
24696
24697	#!/usr/bin/env zsh
24698	svn mkdir doc other src tools tune
24699	svn mv ${${(M)$(sed -n '/libmpfr_la_SOURCES/,/[^\]$/p' \
24700	         Makefile.am):#*.[ch]}:#get_patches.c} mparam_h.in \
24701	       round_raw_generic.c jyn_asympt.c src
24702	svn mv mbench check_inits_clears coverage get_patches.sh mpfrlint \
24703	  nightly-test update-patchv update-version tools
24704	svn mv bidimensional_sample.c speed.c tuneup.c tune
24705	svn mv *.{c,h} other
24706	svn mv FAQ.html README.dev algorithm* faq.xsl fdl.texi mpfr.texi \
24707	  update-faq doc
24708	svn mv configure.in configure.ac
24709	svn cp Makefile.am src/Makefile.am
24710	svn rm replace_all
24711	[Modifying some files, see above]
24712	svn add doc/Makefile.am
24713	svn add tune/Makefile.am
24714
247152010-08-16  Vincent Lef��vre  <vincent@vinc17.net>
24716
24717	[Makefile.am] Updated -version-info (the interface hasn't really been
24718	changed yet -- though the future bug fix / rewrite of mpfr_mul_q and
24719	mpfr_div_q could be seen as an addition -- but this eases maintenance
24720	and avoids -version-info conflict with the 3.0 branch).
24721
24722	[bidimensional_sample.c] Added copyright notice.
24723
24724	[ai.c] Prototype clean-up.
24725
247262010-08-16  Vincent Lef��vre  <vincent@vinc17.net>
24727
24728	Avoid a compilation failure on OSF/1 (Tru64) 5.1 due to non-C99
24729	conformance though <inttypes.h> is available. In various source
24730	files and m4 files, use the following form only:
24731
24732	#if HAVE_INTTYPES_H
24733	# include <inttypes.h>
24734	#endif
24735	#if HAVE_STDINT_H
24736	# include <stdint.h>
24737	#endif
24738
24739	Updated README.dev to mention this form.
24740
247412010-08-13  Vincent Lef��vre  <vincent@vinc17.net>
24742
24743	[tests] Avoid warning due to -Wunused-but-set-variable (from future
24744	GCC 4.6). Only let the one from tsubnormal.c because it's a TODO.
24745	  * mpf_compat.h: use the variables, that are there for prototype
24746	    checking.
24747	  * tpow.c, tpow_z.c: test the ternary value.
24748	  * tremquo.c: removed inex variables (the bug due to the MPFR value).
24749	  * tset.c: test the ternary value.
24750	  * tset_ld.c: removed the long double variable (it cannot be tested
24751	    in a portable way and the bug was an assertion failure).
24752	  * tzeta_ui.c: removed the inexact variable (not really useful here).
24753
24754	[get_f.c] Avoid warning due to -Wunused-but-set-variable (from
24755	future GCC 4.6).
24756
24757	[gamma.c] Avoid warning due to -Wunused-but-set-variable (from
24758	future GCC 4.6).
24759
24760	[gmp_op.c] Avoid warning due to -Wunused-but-set-variable (from
24761	future GCC 4.6).
24762
24763	[exp_2.c] No longer define qn and sizer, which are no longer used since
24764	r6919. This was detected by gcc-snapshot (4.6.0 prerelease) under Debian
24765	(-Wunused-but-set-variable).
24766
24767	[NEWS] Update.
24768
24769	[ieee_floats.h] Avoid breaking aliasing-rules when _GMP_IEEE_FLOATS is
24770	defined (e.g. with --with-gmp-build), by replacing a struct by a union
24771	like in r6381 for long double.
24772
24773	[configure.in] Removed useless slash.
24774
247752010-08-12  Vincent Lef��vre  <vincent@vinc17.net>
24776
24777	[NEWS] Prepare for new version 3.1.0.
24778
24779	[README.dev] Removed obsolete paragraph about the old prepare script.
24780
24781	[update-version] Detect errors.
24782
24783	Updated FAQ.html with update-faq.
24784
24785	[faq.xsl] Do not copy XML comments.
24786
24787	Updated FAQ.html with update-faq.
24788
24789	[README.dev] INRIAGforge -> INRIAGForge.
24790
24791	[README] Update:
24792	  * InriaGforge -> INRIAGForge (official typography).
24793	  * Updated URL of the Subversion FAQ (now on apache.org).
24794	  * README.dev provided via SVN only.
24795	  * Removed the old note about the old CVS repository.
24796
247972010-08-11  Vincent Lef��vre  <vincent@vinc17.net>
24798
24799	[gmp_op.c] mpfr_mul_q and mpfr_div_q are still buggy; added comment.
24800
24801	[tests/tgmpop.c] Added missing "static".
24802
248032010-08-11  Philippe Th��veny  <philippe.theveny@laposte.net>
24804
24805	gmp_op.c: Fix ternary value returned by mpfr_mul_q and mpfr_div_q in overflow cases.
24806
248072010-08-04  Vincent Lef��vre  <vincent@vinc17.net>
24808
24809	README.dev: updated "To make a release" (test of FP division by 0).
24810
24811	Support implementations where the floating-point division by 0 fails.
24812	  * acinclude.m4: added a test to check whether the FP division by 0
24813	    fails, and define MPFR_ERRDIVZERO in such a case.
24814	  * tests/tests.c: if MPFR_TEST_DIVBYZERO is defined, test whether
24815	    there has been a floating-point division by 0 (FE_DIVBYZERO or
24816	    FE_INVALID exception).
24817	  * tests/tgeneric.c: if MPFR_ERRDIVZERO is defined, disable the
24818	    huge and tiny cases.
24819	  * tests/t*_{flt,d,ld}.c: if MPFR_ERRDIVZERO is defined, disable
24820	    tests involving NaN and infinities.
24821
24822	[README.dev] Update about the compilers.
24823
24824	[README.dev] Mention clang.
24825
24826	[get_sj.c] Fixed bug found by John Regehr:
24827	https://gforge.inria.fr/tracker/index.php?func=detail&aid=10839&group_id=136&atid=619
24828	Note: the problem was an undefined behavior that could occur when
24829	sizeof(mp_limb_t) < sizeof(intmax_t) and |x| was small enough,
24830	because a right shift was >= the type width. However as the shifted
24831	value was 0, most platforms should not be affected by this bug. This
24832	problem was detected with clang -fcatch-undefined-ansic-behavior.
24833
24834	[tests/tget_sj.c] Added tests of 1 and -1.
24835
24836	[get_sj.c] Added assertions concerning
24837	https://gforge.inria.fr/tracker/?func=detail&atid=619&aid=10839&group_id=136
24838
24839	[configure.in] When logging is enabled, remove the possible -pedantic
24840	from GMP's CFLAGS to avoid warnings about C conformance.
24841
24842	[mpfr-impl.h] Reverse-merged changeset r7042. The code was not
24843	incorrect: the warning is due to the -pedantic from GMP's CFLAGS.
24844
24845	[mpfr-impl.h] Correction to avoid GCC warnings
24846	  warning: invalid storage class for function 'x_f'
24847	  warning: invalid storage class for function '__mpfr_log_cleanup'
24848	when building MPFR with logging support.
24849
248502010-08-03  Vincent Lef��vre  <vincent@vinc17.net>
24851
24852	[mpfrlint] Correction for the future MPFR source structure.
24853
24854	[mpfrlint] Execute check_inits_clears.
24855
24856	[check_inits_clears] Correction.
24857
248582010-08-02  Vincent Lef��vre  <vincent@vinc17.net>
24859
24860	[Makefile.am] Moved ieee_floats.h from EXTRA_DIST to libmpfr_la_SOURCES.
24861
24862	[Makefile.am] Clean-up: removed gen_inverse.h from EXTRA_DIST because
24863	it is already in libmpfr_la_SOURCES.
24864
248652010-08-01  Vincent Lef��vre  <vincent@vinc17.net>
24866
24867	[mparam_h.in] Removed the comment about the dependency bug.
24868	(svn merge -r7032:7031 mparam_h.in)
24869
24870	[Makefile.am] Added "BUILT_SOURCES = mparam.h", fixing bug
24871	https://gforge.inria.fr/tracker/index.php?func=detail&aid=10810&group_id=136&atid=619
24872
24873	[mparam_h.in] Added a comment concerning the bug in the mparam.h dependency rule:
24874	https://gforge.inria.fr/tracker/index.php?func=detail&aid=10810&group_id=136&atid=619
24875
24876	[mparam_h.in] Enable C mode for Emacs.
24877
24878	[mparam_h.in] Deleted trailing whitespace.
24879
24880	[mparam_h.in] Bug fix: added a newline at the end of the file.
24881
248822010-07-30  Vincent Lef��vre  <vincent@vinc17.net>
24883
24884	Replaced
24885	  Contributed by the Arenaire and Cacao projects
24886	by
24887	  Contributed by the Arenaire and Caramel projects
24888
24889	[AUTHORS] Updated a sentence.
24890
24891	Added configure.lineno (generated by configure) to svn:ignore property.
24892
248932010-07-29  Vincent Lef��vre  <vincent@vinc17.net>
24894
24895	[README.dev] For announces, changed mpfr into mpfr-announce.
24896
248972010-07-26  Vincent Lef��vre  <vincent@vinc17.net>
24898
24899	[ai.c] Replaced mp_exp_t by mpfr_exp_t.
24900
249012010-07-25  Vincent Lef��vre  <vincent@vinc17.net>
24902
24903	[ai.c] Fixed several bugs in mpfr_ai.
24904
249052010-07-20  Sylvain Chevillard  <Sylvain.Chevillard@inria.fr>
24906
24907	Updated bidimensional_sample to take into account the fact the mpfr_ai1 and mpfr_ai2 are now statically defined.
24908
24909	mpfr_ai1 and mpfr_ai2 are now declared static. Only mpfr_ai is global.
24910
24911	Forgot a declaration in the previous commit.
24912
249132010-07-20  Sylvain Chevillard  <Sylvain.Chevillard@inria.fr>
24914
24915	Added automatic tuning of mpfr_ai.
24916
24917	More precisely:
24918	* removed ai2.c: both implementations are now in the same file ai.c
24919	* added thresholds and automatic choice of the method to use in function of the thresholds.
24920	* added procedures for tuning functions like ai into tuneup.c
24921	* added a tuning procedure into tuneup.c
24922
249232010-07-19  Vincent Lef��vre  <vincent@vinc17.net>
24924
24925	[tests/tget_flt.c] Fixed printf strings (missing backslash).
24926
249272010-07-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
24928
24929	[tget_flt.c] completed previous commit
24930
24931	[tget_flt.c] print more information in case a test fails
24932
249332010-07-09  Vincent Lef��vre  <vincent@vinc17.net>
24934
24935	[gamma.c] Added an assert concerning the mpfr_exp_t size.
24936
24937	[tests/tgamma.c] Use mpfr_set_str instead of mpfr_set_d.
24938
24939	[exp_2.c] Untabified.
24940
249412010-07-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
24942
24943	[gamma.c] fixed bug reported on MPFR list:
24944		  https://sympa.inria.fr/sympa/arc/mpfr/2010-07/msg00001.html
24945		  In the underflow detection:
24946		  * we took log instead of log2
24947		  * at the end, we added the wrong terms
24948
249492010-07-01  Vincent Lef��vre  <vincent@vinc17.net>
24950
24951	[mpfr-impl.h] Added a comment concerning the 'noreturn' property.
24952
249532010-06-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
24954
24955	[exp_2.c] added 3 more bits to initial working precision. On a sample of 20247
24956		  tests by Sylvain Chevillard with precisions in [50, 100], the number
24957		  of Ziv's failures decreased from 1184 to 144, which is less than 1%
24958		  (to reduce to zero, we would have to increase the number of extra
24959		  bits from 8 to 17).
24960
249612010-06-28  Vincent Lef��vre  <vincent@vinc17.net>
24962
24963	[round_prec.c] Applied a patch from Patrick P��lissier (with
24964	slightly modified comments) to make mpfr_prec_round compatible
24965	with non-mpfr_init allocation methods when no realloc is needed.
24966
249672010-06-25  Vincent Lef��vre  <vincent@vinc17.net>
24968
24969	[acinclude.m4] Use AC_FUNC_ALLOCA to have HAVE_ALLOCA_H defined
24970	when available. This problem was introduced when AC_FUNC_ALLOCA
24971	was removed from configure.in in r6765. Note: building MPFR with
24972	--with-gmp-build is not affected as GMP's config.h is used.
24973
24974	[mpfr-gmp.h] Reverted incorrect changeset r6987 (see code about alloca).
24975
249762010-06-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
24977
24978	[mpfr-gmp.h] include alloca.h
24979
24980	[mpfr.texi] added comment about config.log
24981
249822010-06-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
24983
24984	[exp_2.c] fixed problem reported by Sylvain Chevillard for large x, where the
24985		  cancelled bits were counted twice
24986
249872010-06-24  Vincent Lef��vre  <vincent@vinc17.net>
24988
24989	[tests/tfprintf.c] Cosmetic improvement suggested by Denis Excoffier.
24990
249912010-06-23  Vincent Lef��vre  <vincent@vinc17.net>
24992
24993	[README.dev] Minor change to match a filename on the website.
24994
24995	[tests/tout_str.c] Fixed bug introduced in r6976: changed size_t into
24996	unsigned int for printf (the size of unsigned int is sufficient here).
24997
249982010-06-22  Vincent Lef��vre  <vincent@vinc17.net>
24999
25000	[out_str.c] Handle the output errors.
25001
25002	[out_str.c] Handle output error in the special cases of mpfr_out_str
25003	(and use MPFR_IS_SINGULAR like in the other functions).
25004
250052010-06-22  Philippe Th��veny  <philippe.theveny@laposte.net>
25006
25007	Fix wrong return value of mpfr_out_str on special values.
25008
250092010-06-22  Vincent Lef��vre  <vincent@vinc17.net>
25010
25011	Updated version to 3.1.0-dev.
25012
25013	[README.dev] Added a paragraph about the precision, rounding mode and
25014	exponent types.
25015
25016	In mpfrlint, detect the use of mp_exp_t and mp_prec_t.
25017	Fixed the files that were generating warnings.
25018
250192010-06-22  Sylvain Chevillard  <Sylvain.Chevillard@inria.fr>
25020
25021	I forgot to replace one occurrence of isqrt.
25022
25023	Use of __gmpfr_isqrt instead of my own isqrt wrapper.
25024
25025	Added a tool for nicely displaying which method is the best in function of x
25026	and prec when several method can be used for evaluating a given function f in x
25027	at precision prec.
25028
250292010-06-21  Vincent Lef��vre  <vincent@vinc17.net>
25030
25031	[Makefile.am] Fixed dist-hook for -dev versions (I assumed that ||
25032	and && were right associative, while they are left associative).
25033	Thanks to Laurent Rineau for noticing this problem.
25034
250352010-06-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
25036
25037	[exp_2.c] fixed inefficiency for large x: the initial precision was too small,
25038		  which had the effect that the first Ziv iteration did fail with
25039		  non-negligible probability (problem reported by Sylvain Chevillard).
25040		  Also in case of 2 iterations or more the K variable was corrupted.
25041	Note (2012-03-03): huge inefficiency has been noticed when evaluating
25042	mpfr_exp on an argument close to log(2^n) in RNDU:
25043	  https://sympa.inria.fr/sympa/arc/mpfr/2012-03/msg00000.html
25044	One has an obvious hard-to-round case, meaning that several iterations
25045	are needed and that K is corrupted. This changeset fixes this bug.
25046
250472010-06-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
25048
25049	[INSTALL] added note about problem with MSVC runtime (seems to be fixed)
25050
25051	[Makefile] alternate patch to r6959 from Patrick Pelissier
25052
25053	[INSTALL] comments from Vincent Lefevre
25054
25055	[mbench] fixes to make mbench work again (tested with GCC 4.4.3)
25056
25057	[INSTALL] updated notes on Windows (contributed by Brian Gladman)
25058
250592010-06-10  Vincent Lef��vre  <vincent@vinc17.net>
25060
25061	[tests/Makefile.am] Reordered check_PROGRAMS.
25062
25063	[README.dev] Untabified.
25064
25065	[BUGS] Update.
25066
250672010-06-09  Vincent Lef��vre  <vincent@vinc17.net>
25068
25069	[INSTALL] Added a note on Mac OS X; thanks to FX Coudert and Fumihiro
25070	Chiba: https://sympa.inria.fr/sympa/arc/mpfr/2010-06/msg00011.html
25071
250722010-06-08  Vincent Lef��vre  <vincent@vinc17.net>
25073
25074	[INSTALL] Update concerning CC/CFLAGS and the --with-gmp-build option.
25075
250762010-06-07  Vincent Lef��vre  <vincent@vinc17.net>
25077
25078	[NEWS] Added an item about the --with-gmp-build configure option and
25079	the use of GMP's internal header files.
25080
250812010-06-06  Vincent Lef��vre  <vincent@vinc17.net>
25082
25083	[exp_2.c] Reverted incorrect optimization patch r6922 (added a comment).
25084	There were failures on 32-bit machines.
25085
25086	[mpfr-impl.h] Added log messages for the MPFR_GROUP_* macros.
25087
25088	[mpfrlint] Detect incorrect use of MPFR_LOG_MSG.
25089
25090	[ai2.c] Fixed build failure with --enable-logging, due to incorrect
25091	MPFR_LOG_MSG usage (see README.dev).
25092
25093	README.dev: updated "To make a release".
25094
25095	[ai.c] Fixed build failure with --enable-logging, due to incorrect
25096	MPFR_LOG_MSG usage (see README.dev).
25097
250982010-06-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
25099
25100	[exp_2.c] speed improvement using MPFR_GROUP_* (from Patrick Pelissier):
25101	Pass 69
25102	 mpfr_add:          63 /   102.97 /   126
25103	 mpfr_exp:         430 / 11861.26 / 46588
25104	Was before we removed MY_MPZ_INIT:
25105	Pass 50
25106	 mpfr_add:          63 /   103.09 /   126
25107	 mpfr_exp:         430 / 10911.86 / 44215
25108
251092010-06-04  Vincent Lef��vre  <vincent@vinc17.net>
25110
25111	[exp_2.c] Removed useless and possibly incorrect cast
25112	(in case -q doesn't necessarily fit in an int).
25113
251142010-06-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
25115
25116	[exp_2.c] got rid of MY_INIT_MPZ, small slowdown, but code should be more
25117		  robust. Below are timings from Patrick Pelissier with mbench:
25118	mpz_init:
25119	Pass 78
25120	 mpfr_add:          63 /   102.86 /   126
25121	 mpfr_exp:         441 / 12067.81 / 47355
25122
25123	MY_MPZ_INIT
25124	Pass 50
25125	 mpfr_add:          63 /   103.09 /   126
25126	 mpfr_exp:         430 / 10911.86 / 44215
25127
25128	Prec=53 bits (core 2 duo 64 bits)
25129
251302010-06-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
25131
25132	[exp_2.c] fixed problem reported by Sylvain Chevillard with following code
25133		  and MPFR_EXP_2_THRESHOLD=36 (valgrind complains).
25134		  It was due to the fact that GMP might allocate extra limbs,
25135		  see https://gmplib.org/list-archives/gmp-devel/2010-June/001577.html.
25136		  The fix is not optimal in the sense that GMP does not give a bound
25137		  on the allocated memory, thus we can only guess.
25138
25139	#include "mpfr.h"
25140	int main(void) {
25141	  mpfr_t x,w;
25142
25143	  mpfr_init2(x, 37);
25144	  mpfr_init2(w, 37);
25145	  mpfr_set_str(x, "-1.000001100100100001111110110101010001p+20", 2, MPFR_RNDN);
25146	  mpfr_exp (w, x, MPFR_RNDN);
25147
25148	  mpfr_clear (w);
25149	  mpfr_clear (x);
25150
25151	  return 0;
25152	}
25153
251542010-06-03  Vincent Lef��vre  <vincent@vinc17.net>
25155
25156	[acinclude.m4] Math library check: removed rule specific to HP-UX
25157	(only -lM was tested while this library may not be available; so,
25158	let's use the default rule as -lm works).
25159
25160	[mpfr.texi] Arenaire -> Ar��naire.
25161
251622010-06-02  Vincent Lef��vre  <vincent@vinc17.net>
25163
25164	[NEWS] 3.0 -> 3.0.0.
25165
25166	[NEWS] Added test coverage for MPFR 3.0.0.
25167
251682010-05-31  Vincent Lef��vre  <vincent@vinc17.net>
25169
25170	[INSTALL] Added missing blank lines (consistency).
25171
25172	[tests/tset_z_exp.c] Fixed type in a printf.
25173
251742010-05-31  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
25175
25176	[INSTALL] added instructions for "make tune"
25177
25178	[README.dev] completed missing instructions for "make tune"
25179
25180	[tset_z_exp.c] fixed two FIXME
25181
251822010-05-31  Vincent Lef��vre  <vincent@vinc17.net>
25183
25184	[tests/tset_z_exp.c] Added 2 FIXME in the test.
25185
25186	[tests/tset_z_exp.c] Removed testcase bug20100531 (this was a bug in
25187	the test, which didn't detect overflow cases due to too large random
25188	exponent).
25189
25190	[tests/tset_z_exp.c] Added testcase bug20100531.
25191
25192	[mpfr.texi, NEWS] Update related to r6879: "Made defined the previously
25193	undefined cases of mpfr_get_si, mpfr_get_ui, mpfr_get_sj, mpfr_get_uj,
25194	mpfr_get_z and mpfr_get_z_2exp. In such cases, the erange flag is set.".
25195
25196	[mpfr.texi] Corrected mpfr_atan2 range (added in r6831).
25197
251982010-05-28  Vincent Lef��vre  <vincent@vinc17.net>
25199
25200	[mpfr.texi] Made an example fit on 80 columns for the info manual.
25201
25202	[mpfr.texi] Changed some @math into @var in the mpfr_fmod description
25203	(for consistency).
25204
25205	[mpfr.texi] Corrected a paragraph.
25206
25207	[mpfr.texi] Added an example to get the MPFR version (and at the same
25208	time, check whether MPFR is already installed).
25209
25210	Added examples/version.c (and updated Makefile.am).
25211
25212	[mpfr.texi] Correction (English usage).
25213
25214	[Makefile.am] Improved dist-hook rule.
25215
252162010-05-27  Philippe Th��veny  <philippe.theveny@laposte.net>
25217
25218	Fix typo.
25219
252202010-05-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
25221
25222	[TODO] removed one item, added one
25223
25224	[mpfr.texi] removed FIXME (resolved: Philippe confirmed that gmp_printf does
25225		    not work with mpf2mpfr.h)
25226
252272010-05-25  Vincent Lef��vre  <vincent@vinc17.net>
25228
25229	Made defined the previously undefined cases of mpfr_get_si, mpfr_get_ui,
25230	mpfr_get_sj, mpfr_get_uj, mpfr_get_z and mpfr_get_z_2exp. In such cases,
25231	the erange flag is set.
25232
252332010-05-25  Sylvain Chevillard  <Sylvain.Chevillard@inria.fr>
25234
25235	* 80 columns.
25236
25237	do ... while(0) style for macros.
25238
252392010-05-25  Vincent Lef��vre  <vincent@vinc17.net>
25240
25241	[NEWS] Correction.
25242
25243	[mpfr.texi] Minor changes.
25244
25245	[INSTALL] Reverted incorrect changeset r6870.
25246
25247	[mpfr.texi] Added a comment about non-ASCII characters.
25248
252492010-05-25  Philippe Th��veny  <philippe.theveny@laposte.net>
25250
25251	More explicit documentation on the use of specifiers in printf function.
25252
252532010-05-25  Vincent Lef��vre  <vincent@vinc17.net>
25254
25255	[mpfr.texi] Encoding correction for ��.
25256
25257	[NEWS, mpfr.texi] mpfr_custom_get_mantissa was renamed to
25258	mpfr_custom_get_significand.
25259
25260	[tests/tstckintc.c] Changed mpfr_custom_get_mantissa into
25261	mpfr_custom_get_significand (but mpfr_custom_get_mantissa
25262	was still working thanks to the #define).
25263
25264	[mpfr.h, stack_interface.c] Changed mpfr_custom_get_mantissa into
25265	mpfr_custom_get_significand (r6862 was incomplete).
25266
25267	[mpfr.h] <stdint.h> support: also test _STDINT (for MS Visual Studio).
25268	Thanks to Brian Gladman for the information.
25269
25270	[buildopt.c] Missing #include "mpfr-impl.h" for cygwin builds.
25271	[mpfrlint] Detect such errors (mpfr-impl.h may be needed because it
25272	  includes config.h when there is one).
25273
252742010-05-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
25275
25276	[mpfr.texi] more changes after answers by Vincent to my questions
25277
252782010-05-24  Vincent Lef��vre  <vincent@vinc17.net>
25279
25280	[NEWS] Reformat / fixed typography.
25281
25282	[sub1sp.c] Fixed a problem that appeared after mpfr_prec_t has been
25283	made signed. It was visible on PowerPC (tested on Linux 32 bits and
25284	on Mac OS X 32 & 64 bits), but could potentially affect any platform
25285	as a negative shift count was generated. As the faulty expressions
25286	were in a MPFR_ASSERTD, the failure could occur only when assertion
25287	checking had been enabled.
25288
252892010-05-22  Vincent Lef��vre  <vincent@vinc17.net>
25290
25291	[README.dev] Removed trailing spaces.
25292
25293	[README.dev] Added information about intmax_t and corresponding macros.
25294
25295	Detect when the intmax_t type is available but INTMAX_MAX doesn't work
25296	(e.g. with gcc -ansi -pedantic-errors in 32-bit mode under GNU/Linux).
25297	New macros MPFR_UINTMAX_MAX, MPFR_INTMAX_MAX and MPFR_INTMAX_MIN are
25298	defined and used internally instead of UINTMAX_MAX, INTMAX_MAX and
25299	INTMAX_MIN. If these C99 macros work, then the MPFR_* macros use them,
25300	otherwise MPFR uses its own definitions.
25301
25302	mpfr_div_ui8 and mpfr_mul_ui5 didn't have to be exported.
25303
25304	[ai2.c] GNU style.
25305
25306	[ai2.c] Style correction (necessary for ansi2knr, if still useful).
25307
25308	[ai.c, ai2.c] Untabified / removed trailing spaces.
25309
25310	[ai.c] GNU style.
25311
25312	[mpfr.texi] Corrected the paragraph about whether MPFR is installed.
25313
25314	[mpfr.texi] Corrections and answers to PZ comments from r6831.
25315	The document encoding is now UTF-8.
25316
253172010-05-21  Vincent Lef��vre  <vincent@vinc17.net>
25318
25319	[mpfr.texi] n-char-sequence was changed into n-char-sequence-opt
25320	in r6132, but I forgot to update all the occurrences.
25321
253222010-05-21  Sylvain Chevillard  <Sylvain.Chevillard@inria.fr>
25323
25324	* Removed double precision numbers.
25325	* Handle +0 and -0 the same way.
25326	* Use MPFR_GET_EXP in ai2.c
25327
253282010-05-20  Sylvain Chevillard  <Sylvain.Chevillard@inria.fr>
25329
25330	* Corrected a bug when x=0 (MPFR_GET_EXP requires to assert that x!=0).
25331
25332	Corrected some warnings.
25333
25334	Corrected an error that prevented the doc from compiling.
25335
253362010-05-20  Vincent Lef��vre  <vincent@vinc17.net>
25337
25338	mpfr.texi: corrections.
25339
253402010-05-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
25341
25342	[mpfr.texi] explain why mpfr_sum uses an array of pointers to mpfr_t
25343
25344	[mpfr.texi] changes after a complete reading of the documentation.
25345		    There are some issues left that I don't know how to solve,
25346		    they are marked with @c PZ in mpfr.texi.
25347
253482010-05-19  Vincent Lef��vre  <vincent@vinc17.net>
25349
25350	[mpfr.texi, NEWS] Noted that the mpfr_ai implementation is incomplete
25351	and experimental.
25352
25353	[ai.c] Use MPFR_IS_SINGULAR. Added a FIXME comment for Ai(0).
25354
25355	Type corrections for C++ compilers (in particular, mpfr_rnd_t vs int).
25356
25357	[ai.c] Fixed possible problem in reduced exponent range.
25358
25359	Removed trailing spaces.
25360
253612010-05-19  Sylvain Chevillard  <Sylvain.Chevillard@inria.fr>
25362
25363	* Removed some warnings.
25364	* More conform to GNU coding standards.
25365
253662010-05-19  Vincent Lef��vre  <vincent@vinc17.net>
25367
25368	Removed obsolete patch-aclocal-icc and updated README.dev (about
25369	"To make a release").
25370
25371	[Makefile.am] Added a comment concerning -version-info and MPFR 3.0.x.
25372
25373	ChangeLog update with "LC_ALL=en_US.UTF8 TZ=UTC svn log -rHEAD:0 -v".
25374
25375	[mpfr.texi] Preliminary interfaces are no longer preliminary.
25376
25377	[mpfr.texi] API Compatibility: mention the detection of the availability
25378	of intmax_t with C++ compilers.
25379
25380	[mpfr.texi] signness -> signedness (thanks to Philippe).
25381
25382	[mpfr.texi] Missing @code.
25383
25384	[mpfr.texi] Corrected C terminology (table -> array).
25385
253862010-05-18  Vincent Lef��vre  <vincent@vinc17.net>
25387
25388	[mpfr.texi, NEWS] Mention that mpfr_ai is a new function in MPFR 3.0.
25389
25390	Removed obsolete prepare script (autoreconf does the same thing).
25391
253922010-05-18  Sylvain Chevillard  <Sylvain.Chevillard@inria.fr>
25393
25394	* I added a new implementation of Airy Ai. This implementation uses Smith's
25395	algorithm.
25396	Currently, it is provided as a separate implementation mpfr_ai2.
25397
25398	* Please note that both mpfr_ai and mpfr_ai2 need to efficiently evaluate
25399	Gamma(1/3) and Gamma(2/3). This is provided by functions in the file
25400	gammaonethird.c
25401
25402	* There is no test file for mpfr_ai2 since it should quickly disappear behind
25403	a single implementation using the best of mpfr_ai and mpfr_ai2.
25404	However, if necessary, a test file can be obtained by copying tai.c and
25405	replacing mpfr_ai by mpfr_ai2 everywhere.
25406
25407	* I do not know if gammaonethird.c will remain like that in the future. Should
25408	we make this implementation available as a public MPFR function? In this case,
25409	I have to write a wrapper for providing a correctly rounded implementation.
25410	Moreover, it contains functions that could be interesting for the
25411	implementation of other functions (the functions mpfr_div_ui*). Maybe, it
25412	could be worth providing a file specially for this purpose.
25413
254142010-05-18  Vincent Lef��vre  <vincent@vinc17.net>
25415
25416	[NEWS] Added release name.
25417
25418	[NEWS] Updated "Changes from versions 2.3.* to version 2.4.0"
25419	from MPFR 2.4.2.
25420
25421	[mpfr.texi] Completed Section 6.1 "Type and Macro Changes".
25422
25423	[mpfr.texi] Updated Section 6.1 "Type and Macro Changes".
25424
25425	[mpfr.texi] Missing space.
25426
25427	[mpfr.texi] Updated Section 6.1 "Type and Macro Changes".
25428
25429	[NEWS] A bit less ambiguous...
25430
25431	[NEWS] More details for mp_rnd_t/mpfr_rnd_t, like mp_prec_t/mpfr_prec_t.
25432
254332010-05-17  Vincent Lef��vre  <vincent@vinc17.net>
25434
25435	Added "API Compatibility" section to the MPFR manual.
25436	TODO: Section 6.1 "Type and Macro Changes".
25437
25438	[NEWS] mpfr_strtofr now accepts bases from 37 to 62 (r5965).
25439
254402010-05-10  Vincent Lef��vre  <vincent@vinc17.net>
25441
25442	INSTALL: updated section about MS Windows.
25443
25444	INSTALL: updated section about MS Windows.
25445
254462010-05-08  Vincent Lef��vre  <vincent@vinc17.net>
25447
25448	[tests/tests.c] Fixed code when _MPFR_PREC_FORMAT != 3.
25449
254502010-05-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
25451
25452	[tests/tests.c] fixed compiler warning (found by nightly tests)
25453
254542010-05-07  Vincent Lef��vre  <vincent@vinc17.net>
25455
25456	New exponent type mpfr_exp_t for MPFR (replacing GMP's mp_exp_t).
25457
25458	[README.dev] Updated a paragraph concerning signed and unsigned types.
25459
25460	Changed the precision type mpfr_prec_t from an unsigned integer type
25461	into the corresponding signed integer type, in order to avoid problems
25462	due to the usual arithmetic conversions when mixing mpfr_prec_t and
25463	mp_exp_t in an expression.
25464	* NEWS: mentioned this change.
25465	* mpfr-impl.h: removed MPFR_INTPREC_MAX (which wasn't used) and updated
25466	  the MPFR_UNSIGNED_MINUS_MODULO(S,A) macro, which assumed that A was
25467	  unsigned; this macro now works even when A is signed.
25468	* mpfr.h: added mpfr_uprec_t; updated mpfr_prec_t and MPFR_PREC_MAX.
25469	* tests/tcheck.c: disabled a test on MPFR_PREC_MAX+1 with MPFR >= 3
25470	  (this test doesn't work with a signed mpfr_prec_t and isn't needed).
25471	Note: all tests pass under GNU Linux x86 and x86_64.
25472
25473	[tests/tcheck.c] Forgot to remove a printf (added during testing).
25474
25475	[tests/tcheck.c] Support signed mpfr_prec_t (avoid integer overflow).
25476
25477	[tests/mpf_compat.h] Fixed prototype of function main.
25478
25479	[mpfr.h] Added a comment concerning the definition of MPFR_PREC_MAX.
25480
254812010-05-06  Vincent Lef��vre  <vincent@vinc17.net>
25482
25483	print_rnd_mode.c: added an assertion so that we do not forget to update
25484	this file after a new rounding mode is added.
25485
254862010-05-03  Vincent Lef��vre  <vincent@vinc17.net>
25487
25488	[mpfr.texi] Added a paragraph about multiple inclusions of mpfr.h and/or
25489	gmp.h header files.
25490
254912010-05-03  Philippe Th��veny  <philippe.theveny@laposte.net>
25492
25493	Update documentation for mpfr_print_rnd_mode.
25494
254952010-05-03  Vincent Lef��vre  <vincent@vinc17.net>
25496
25497	To avoid breaking the ABI when faithful rounding gets implemented, added
25498	MPFR_RNDF to the mpfr_rnd_t enum type now, and removed MPFR_RND_MAX from
25499	the enumeration (it is now defined as a macro in mpfr-impl.h).
25500
25501	fits_* (signed version): corrections and optimizations.
25502
25503	[fits_uintmax.c, fits_u.h] Some casts could be incorrect in the case
25504	mp_exp_t > mpfr_prec_t. Set prec to the int type since in practice,
25505	prec will be small enough to fit in an int. The fact that prec is now
25506	signed allows us to remove a useless test (also note that prec should
25507	be computed at compile time, so that this should be at least as fast).
25508
25509	[fits_uintmax.c, fits_u.h] Comments: doesn't -> don't
25510
25511	mpfr.texi: updated the month.
25512
255132010-05-03  Philippe Th��veny  <philippe.theveny@laposte.net>
25514
25515	Add specifier 'Y' for the rounding away from zero mode in printf-like functions.
25516
255172010-04-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
25518
25519	[mpfr.texi] removed obsolete mpfr_round_prec
25520
255212010-04-30  Vincent Lef��vre  <vincent@vinc17.net>
25522
25523	[fits_intmax.c,fits_s.h] Added FIXME comments.
25524
25525	Optimized fits_u.h and made fits_uintmax.c like fits_u.h for the
25526	special numbers.
25527
25528	Optimized mpfr_fits_uintmax_p.
25529
25530	Changed mp_prec_t into mpfr_prec_t.
25531
255322010-04-19  Vincent Lef��vre  <vincent@vinc17.net>
25533
25534	[configure.in] r6765 introduced non-POSIX syntax. Fixed.
25535
255362010-04-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
25537
25538	[configure.in] check for GMP internal files only with --with-gmp-build
25539
255402010-04-12  Vincent Lef��vre  <vincent@vinc17.net>
25541
25542	[NEWS] New function mpfr_regular_p (was added in r6417, 2009-09-14).
25543
255442010-04-07  Vincent Lef��vre  <vincent@vinc17.net>
25545
25546	[mpfr-gmp.h] Fixed alloca prototype (bug detected by tcc 0.9.25
25547	under Linux/x86_64).
25548
255492010-03-24  Vincent Lef��vre  <vincent@vinc17.net>
25550
25551	[mpfr.texi] Improved/corrected the documentation of functions
25552	mpfr_lgamma, mpfr_digamma, mpfr_j0/j1/jn, mpfr_y0/y1/yn, mpfr_agm,
25553	mpfr_hypot and mpfr_min_prec.
25554
25555	[mpfr.texi] Removed a "currently" that is no longer needed.
25556
25557	[mpfr.texi] Updated description of mpfr_atan2, now that IEEE 754-2008
25558	has been published and follows the same conventions as C99 for atan2.
25559
25560	[mpfr.texi] Updated description of mpfr_pow, now that IEEE 754-2008
25561	has been published and follows the same conventions as C99 for pow.
25562	(IEEE 754-2008 doesn't currently specify pow(��inf,non-zero), but
25563	I've suggested a correction for the errata page.)
25564
255652010-03-23  Vincent Lef��vre  <vincent@vinc17.net>
25566
25567	[mpfr.texi] Improved documentation of mpfr_print_rnd_mode (from a
25568	suggestion by Chris Saunders).
25569
255702010-03-22  Vincent Lef��vre  <vincent@vinc17.net>
25571
25572	[mpfr.texi] Various corrections and other improvements.
25573
25574	[mpfr.texi] Improved the documentation of mpfr_dim too.
25575
255762010-03-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
25577
25578	[mpfr.texi] improved the documentation of mpfr_rec_sqrt and mpfr_cbrt
25579		    (thanks Vincent)
25580
25581	[mpfr.texi] improved documentation of mpfr_sqrt and mpfr_sqrt_ui
25582
255832010-03-21  Vincent Lef��vre  <vincent@vinc17.net>
25584
25585	[mpfr.h] Added a comment about integer overflows in macros.
25586
255872010-03-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
25588
25589	[tai.c] enable first test of check_large, and reduced total time
25590
255912010-03-19  Sylvain Chevillard  <Sylvain.Chevillard@inria.fr>
25592
25593	Added a mention about the current limitation of mpfr_ai in mpfr.texi.
25594
25595	Removed check of ai.c for large arguments. I added in algorithms.tex a
25596	mention about the fact that mpfr_ai is currently not made for large
25597	arguments.
25598
25599	* Corrected problems regarding the GNU recommendations for formatting source code.
25600
256012010-03-18  Vincent Lef��vre  <vincent@vinc17.net>
25602
25603	tests: added tai to the svn:ignore property.
25604
256052010-03-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
25606
25607	[tai.c] reduce the maximal exponents in test_generic()
25608		also reduce the number of random tests to decrease the test time
25609
256102010-03-18  Vincent Lef��vre  <vincent@vinc17.net>
25611
25612	README.dev: in the tests, use mpfr_equal_p rather than mpfr_cmp.
25613
256142010-03-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
25615
25616	[tai.c] replace mpfr_cmp by mpfr_equal_p
25617
256182010-03-18  Vincent Lef��vre  <vincent@vinc17.net>
25619
25620	tests/tset_z_exp.c untabified.
25621
25622	mpfr.texi: removed trailing whitespace.
25623
25624	mpfr.texi: updated the month.
25625
25626	Untabified AUTHORS (consistency).
25627
256282010-03-18  Sylvain Chevillard  <Sylvain.Chevillard@inria.fr>
25629
25630	* Corrected problems regarding the GNU recommendations for formatting source code.
25631	* Corrected the date of the copyright.
25632
256332010-03-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
25634
25635	[tai.c] added test for large inputs
25636
25637	[AUTHORS] added Sylvain Chevillard
25638
256392010-03-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
25640
25641	[mpfr.texi] added Sylvain as contributor
25642
256432010-03-17  Sylvain Chevillard  <Sylvain.Chevillard@inria.fr>
25644
25645	* Added function mpfr_ai. The implementation is the most naive: it evaluates
25646	  the series step by step until it can stop.
25647	  A special strategy is used to detect possible problems when Ai(x) is very
25648	  close to 0.
25649
25650	* Updated algorithms.tex with the technical description of the implementation
25651	  of mpfr_ai.
25652
25653	* Added algorithm2e.sty and algorithm2e-compatibility.sty (necessary to
25654	  compile algorithms.tex now).
25655
25656	* Updated mpfr.texi to let it know this new function.
25657
25658	* Added a basic test file for mpfr_ai. I will add other test cases later.
25659
25660	* Added a small HOWTO to README.dev about how to add a new test file for new
25661	  functions.
25662
256632010-03-11  Vincent Lef��vre  <vincent@vinc17.net>
25664
25665	GMP_RNDx -> MPFR_RNDx
25666
256672010-03-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
25668
25669	[tstrtofr.c] added test for 1.23e, cf
25670		     https://gmplib.org/list-archives/gmp-bugs/2010-March/001898.html
25671
256722010-03-11  Vincent Lef��vre  <vincent@vinc17.net>
25673
25674	[tests/tsqrt.c] Add the test -1 <= x/sqrt(x^2) <= 1, which corresponds
25675	to -1 <= x/sqrt(x^2+y^2) <= 1 with y = 0. I don't think the test with
25676	random y is still necessary, though, since even a bad sqrt accuracy
25677	would not be detected.
25678
256792010-03-10  Vincent Lef��vre  <vincent@vinc17.net>
25680
25681	[tests/tsqrt.c] Added a comment about the x/sqrt(x^2+y^2) test.
25682
256832010-03-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
25684
25685	[tsqrt.c] fixed bug reported by Sam Rawlins
25686	          (https://sympa.inria.fr/sympa/arc/mpfr/2010-03/msg00007.html)
25687	Note: this "bug" had no noticeable consequences; this can just be seen
25688	as an incomplete test.
25689
256902010-02-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
25691
25692	[NEWS] added item
25693
256942010-02-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
25695
25696	[acinclude.m4] now also recognize "IEEE double, little endian" long-double
25697		       format (not tested, should happen on ARM)
25698
25699	[acinclude.m4] added recognition of "IEEE double big endian" long double format
25700		       (tested on gcc40.fsffrance.org and gcc53, both PowerPC's)
25701
257022010-02-24  Vincent Lef��vre  <vincent@vinc17.net>
25703
25704	[acinclude.m4] Added test for long double = double-double (GCC/PowerPC).
25705	This test cannot currently be reliable, so we just output a warning.
25706
257072010-02-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
25708
25709	[NEWS] minor grammar fix
25710
25711	[NEWS] be more precise about API compatibility
25712
25713	[mpfr.h] added #define mpfr_get_z_exp mpfr_get_z_2exp for compatibility
25714
257152010-02-23  Vincent Lef��vre  <vincent@vinc17.net>
25716
25717	tests: added tset_z_exp to the svn:ignore property.
25718
257192010-02-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
25720
25721	changed mpfr_get_z_exp -> mpfr_get_z_2exp (old function)
25722	        mpfr_set_z_exp -> mpfr_set_z_2exp (new function)
25723
25724	added new function mpfr_set_z_exp (companion to mpfr_get_z_exp)
25725
257262010-02-18  Vincent Lef��vre  <vincent@vinc17.net>
25727
25728	* Added tests/tstdint.c to test the double inclusion of mpfr.h when only
25729	  the second occurrence needs <stdint.h> (this can happen when one uses
25730	  several libraries that use MPFR under different conditions).
25731	* Added tstdint to the svn:ignore property of "tests".
25732	* TODO: mentions that tstdint should be added to check_PROGRAMS in
25733	  the tests/Makefile.am file once this is fixed.
25734
25735	mpfr.texi: updated Section "Internals".
25736
257372010-02-16  Vincent Lef��vre  <vincent@vinc17.net>
25738
25739	mpfr.texi: updated the month.
25740
25741	mpfr.h: disable the INTMAX_C / UINTMAX_C test with C++ compilers as it
25742	doesn't work well in this case (e.g. possible failure with Boost); see
25743	  https://sympa.inria.fr/sympa/arc/mpfr/2010-02/msg00025.html
25744	and the whole discussion.
25745	mpfr.texi: update.
25746
257472010-02-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
25748
25749	[configure.in] removed check for C++ and Fortran compiler (comment said to
25750		       remove it for libtool >= 2.0)
25751
257522010-02-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
25753
25754	[TODO] dummy change to check if we still get commit mails
25755
257562010-01-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
25757
25758	[mpfr.texi] added note about mpfr_set_str
25759
257602010-01-25  Vincent Lef��vre  <vincent@vinc17.net>
25761
25762	Simplified get_patches.sh; minor consequence: the trailing space in
25763	the string returned by mpfr_get_patches() when there are patches is
25764	no longer present (this trailing space wasn't desired anyway).
25765
25766	configure.in: updated message for different gmp.h and libgmp versions.
25767	See <https://sympa.inria.fr/sympa/arc/mpfr/2010-01/msg00051.html>.
25768
257692010-01-20  Vincent Lef��vre  <vincent@vinc17.net>
25770
25771	FAQ.html, faq.xsl, README, TODO: slightly changed the copyright notice
25772	to make it consistent with the one of the other files. In short, "and
25773	the GNU General Public License" has been removed, but it was ambiguous
25774	(we did not say which version of the GNU GPL) and useless (for GPLv3)
25775	because the LGPLv3 is compatible with the GPLv3:
25776	  https://www.gnu.org/licenses/gpl-faq.html#WhatDoesCompatMean
25777
25778	INSTALL:
25779	  * added copyright notice (at the top, like GMP);
25780	  * replaced "Installing MPFR" by "Installing GNU MPFR".
25781
25782	Copyright notice update: added 2010 with
25783	  perl -pi -e 's/2009 Free Software/2009, 2010 Free Software/' **/*(^/)
25784	under zsh, reverting the ChangeLog file and the mbench directory.
25785
25786	tests: added turandom to the svn:ignore property.
25787
25788	INSTALL: updated paragraphs about the search paths (in particular,
25789	--with-gmp=/usr/local is no longer chosen as an example as it does
25790	not work as expected; a note has been added about that).
25791
25792	INSTALL: rewrote a paragraph about search paths.
25793
257942010-01-18  Philippe Th��veny  <philippe.theveny@laposte.net>
25795
25796	[urandom.c] Fix case emin > 0.
25797
257982010-01-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
25799
25800	[TODO] added more details for random distribution functions
25801
25802	[tprintf.c, tfprintf.c] cleaned up previous commit
25803
258042010-01-18  Vincent Lef��vre  <vincent@vinc17.net>
25805
25806	tests/turandom.c: updated a test (if emin > 1 and rnd == MPFR_RNDN,
25807	then the result is necessarily 0).
25808
25809	tests/turandom.c: more tests in restricted exponent range.
25810
25811	urandom.c: corrected a comment.
25812
258132010-01-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
25814
25815	[tprintf.c,tfprintf.c] print obtained chain in test #8
25816	       (https://sympa.inria.fr/sympa/arc/mpfr/2009-12/msg00035.html)
25817
258182010-01-18  Philippe Th��veny  <philippe.theveny@laposte.net>
25819
25820	[urandom.c] Fix bug in setting random exponent.
25821
258222010-01-16  Vincent Lef��vre  <vincent@vinc17.net>
25823
25824	urandom.c: added a FIXME comment.
25825
258262010-01-15  Vincent Lef��vre  <vincent@vinc17.net>
25827
25828	urandom.c: removed unused variable k; updated a comment.
25829
258302010-01-15  Philippe Th��veny  <philippe.theveny@laposte.net>
25831
25832	[urandom.c] Improve generation of random exponent.
25833
25834	[urandom.c] Fix bug introduced in r6667.
25835
258362010-01-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
25837
25838	[TODO] added item
25839
258402010-01-15  Philippe Th��veny  <philippe.theveny@laposte.net>
25841
25842	[urandom.c] Fix case nextabove(0) in reduced exponent range.
25843
25844	[tests/turandom.c] Change accumulation of ternary value in the loop, it was not portable in system with sign and magnitude representation for integers.
25845
25846	[urandom.c] Move generation of a random rounding bit in a separate function.
25847
25848	[urandom.c] Remove trailing whitespace.
25849
25850	[urandom.c] Call mpfr_nextabove in maximum exponent range.
25851
258522010-01-15  Vincent Lef��vre  <vincent@vinc17.net>
25853
25854	urandom.c: added a FIXME so that it is not forgotten.
25855
25856	mpfr.texi: updated the month.
25857
25858	mpfrlint: require bash.
25859
258602010-01-14  Vincent Lef��vre  <vincent@vinc17.net>
25861
25862	urandom.c: clean-up (avoid a useless goto).
25863
25864	README.dev: added a paragraph (use MPFR_ASSERTN, not printf + exit).
25865
258662010-01-14  Philippe Th��veny  <philippe.theveny@laposte.net>
25867
25868	[mpfr.texi] Cosmetic change.
25869
25870	[urandom.c, mpfr.texi] Change the behavior of mpfr_urandom to the usual mpfr function interface (wrt the ternary value and the out-of-range behavior).
25871	[tests/turandom.c] Check new behavior and add a test for the inclusion in [0, 1].
25872
258732010-01-13  Philippe Th��veny  <philippe.theveny@laposte.net>
25874
25875	New function mpfr_urandom.
25876
258772010-01-11  Vincent Lef��vre  <vincent@vinc17.net>
25878
25879	README.dev: added a note about patches and the autotools.
25880
258812010-01-10  Vincent Lef��vre  <vincent@vinc17.net>
25882
25883	Added mpfrlint test for the required autoconf versions (see r6649).
25884
258852010-01-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
25886
25887	[README.dev] required version of autoconf did not agree with acinclude.m4
25888
258892010-01-08  Vincent Lef��vre  <vincent@vinc17.net>
25890
25891	configure.in: replaced BITS_PER_MP_LIMB by GMP_NUMB_BITS (should have
25892	been done in r6645).
25893
25894	mpfrlint: check that GMP_LIMB_BITS isn't used.
25895
25896	Replaced GMP_LIMB_BITS by GMP_NUMB_BITS to use only one of these macros.
25897
258982010-01-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
25899
25900	[configure.in] put back test BITS_PER_MP_LIMB == BYTES_PER_MP_LIMB * CHAR_BIT
25901		       (this is done only with --with-gmp-build, and BYTES_PER_MP_LIMB
25902		       is defined in this case in gmp-impl.h, at least in GMP 5)
25903
25904	BITS_PER_MP_LIMB -> GMP_LIMB_BITS
25905	got rid of BYTES_PER_MP_LIMB in configure.in (no longer defined by GMP)
25906	Note[VL] (mpfr-impl.h): a mpn_sqr_n() macro is defined to use mpn_mul
25907	if it is not already defined (in gmp-impl.h from GMP 4.x).
25908
259092009-12-23  Vincent Lef��vre  <vincent@vinc17.net>
25910
25911	[mbench/Makefile] Patch from Patrick Pelissier to solve the -I problem
25912	with GCC.
25913
259142009-12-21  Vincent Lef��vre  <vincent@vinc17.net>
25915
25916	[mbench/Makefile] Added a comment (warning about the use of -I).
25917
259182009-12-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
25919
25920	patch from Patrick Pelissier
25921
259222009-12-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
25923
25924	[scale2.c] added missing include (compilation with --with-gmp-build did fail)
25925	[exp_2.c] small improvements in Smith method: compute x^{2i} as (x^i)^2 instead
25926		  of x^{i-1} * x. The error analysis is unchanged.
25927	[tuneup.c] fix for sin_cos threshold (we had a problem since mpfr_sin_cos
25928		   was calling mpfr_cos, which was calling mpfr_sincos_fast in some
25929		   cases
25930	[mparam_h.in] put new thresholds for Core 2 64-bit
25931
259322009-12-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
25933
25934	[acinclude.m4] reversed order for case "quad, mais en little endian" for
25935		       coherence with other cases
25936
259372009-12-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
25938
25939	patch to recognize IEEE quad, little endian format for "long double"
25940
25941	[scale2.c] now mpfr_scale2 is included in mpfr-impl.h, instead of #including
25942		   "scale2.c" twice (thus it was compiled twice)
25943
259442009-12-07  Vincent Lef��vre  <vincent@vinc17.net>
25945
25946	sin_cos.c: in case of tiny inputs, keep the flags. In practice, this
25947	fixes the following bug in mpfr_sin_cos (shown by the latest additions
25948	to tsin_cos.c): if emin is the minimal exponent (MPFR_EMIN_MIN), the
25949	absolute value of the input is the minimum positive number and the
25950	rounding mode is toward 0 (or equivalent), then the underflow flag is
25951	dropped. The other exception cases (e.g., in case of reduced exponent
25952	range) are handled by mpfr_check_range().
25953
25954	tests/tsin_cos.c: in consistency(), better error message.
25955
25956	tests/tsin_cos.c: in consistency(), improved testing on underflow case.
25957
25958	tests/tsin_cos.c: in consistency(), added testing on underflow case.
25959
25960	tests/tsin_cos.c: in consistency(), fixed flags testing.
25961
25962	tests/tsin_cos.c: in consistency(), test also the flags.
25963
25964	tests/tsin_cos.c: in consistency(), test also the returned value
25965	(the one that gives inexact-related information).
25966
259672009-11-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
25968
25969	[tfits.c] converted to GNU coding style
25970
259712009-11-30  Vincent Lef��vre  <vincent@vinc17.net>
25972
25973	README.dev: updated "To make a release".
25974
25975	uceil_exp2.c: fixed indentation.
25976
259772009-11-29  Vincent Lef��vre  <vincent@vinc17.net>
25978
25979	mpfr-impl.h: got rid of broken code when _GMP_IEEE_FLOATS was defined
25980	(broken aliasing rules, yielding failures with GCC 4.5.0 20091119).
25981
259822009-11-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
25983
25984	[tset_ld.c] now perform tests even if old gcc bug is present
25985
259862009-11-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
25987
25988	[tget_d.c] removed workaround for old gcc bug. Comment was:
25989	  /* workaround for gcc bug on m68040-unknown-netbsd1.4.1,
25990	     where DBL_MIN gives (1-2^(-52))/2^1022 */
25991
25992	[tadd.c, tmul.c] got rid of workaround for old gcc bug. Comment was:
25993	/* Parameter "z1" of check() used to be last in the argument list, but that
25994	   tickled a bug in 32-bit sparc gcc 2.95.2.  A "double" in that position is
25995	   passed on the stack at an address which is 4mod8, but the generated code
25996	   didn't take into account that alignment, resulting in bus errors.  The
25997	   easiest workaround is to move it to the start of the arg list (where it's
25998	   passed in registers), this macro does that.  FIXME: Change the actual
25999	   calls to check(), rather than using a macro.  */
26000
26001	[strtofr.c] removed patch for old FreeBsd/Alpha bug
26002		    (https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=72024)
26003
260042009-11-26  Vincent Lef��vre  <vincent@vinc17.net>
26005
26006	[pow_si.c] Updated comment added in r4355 concerning a bug
26007	in Sun's compiler for Solaris/x86.
26008
26009	Updated comments concerning the old FreeBSD bug 72024 on LONG_MIN / 1.
26010
260112009-11-25  Vincent Lef��vre  <vincent@vinc17.net>
26012
26013	[tfprintf.c,tprintf.c] Fixed other types in function with variable
26014	arguments (even though there were no warnings on the tested machine).
26015
26016	[tfprintf.c,tprintf.c] Fixed types in function with variable arguments.
26017
260182009-11-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
26019
26020	[tfprintf.c,tprintf.c] applied patch from Philippe Theveny
26021	[acinclude.m4] removed check for %zu, no longer needed
26022
26023	[acinclude.m4] added test for %zu
26024	[tfprintf.c,tprintf.c] added #ifdef's for NPRINTF_ZU
26025
260262009-11-25  Vincent Lef��vre  <vincent@vinc17.net>
26027
26028	configure.in: corrected a comment.
26029
26030	tests/tstckintc.c: fixed types for the printf %p format specifier.
26031
260322009-11-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
26033
26034	[tget_flt.c] replaced %a by %.8e
26035
26036	[tget_d.c,tget_ld_2exp.c] replaced %a and %La by %.16e and %.16Le
26037
26038	[tget_d.c] removed C99-specific instruction
26039
26040	[nightly-test] added -ansi -pedantic-errors
26041
260422009-11-24  Vincent Lef��vre  <vincent@vinc17.net>
26043
26044	configure.in: completed the GMP CC/CFLAGS detection.
26045
26046	configure.in: added a test to check for CC and CFLAGS in gmp.h only
26047	when the user doesn't redefine them and he isn't cross-compiling.
26048
26049	configure.in: improved the GMP CC/CFLAGS detection.
26050
26051	configure.in: try to fix the GMP CC/CFLAGS detection. Not finished.
26052
26053	configure.in: replaced "test ... -o ..." (obsolete in POSIX)
26054	by "test ... || test ...".
26055
26056	configure.in: replaced "test ... -a ..." (obsolete in POSIX)
26057	by "test ... && test ...".
26058
26059	INSTALL: made instructions more clear.
26060
260612009-11-23  Vincent Lef��vre  <vincent@vinc17.net>
26062
26063	README.dev: updated "To make a release".
26064
26065	README.dev: last things to do when making a release.
26066
260672009-11-22  Vincent Lef��vre  <vincent@vinc17.net>
26068
26069	sin_cos.c: fixed a potential bug by changing a rnd_mode into MPFR_RNDZ
26070	in mpfr_can_round. Indeed, in r4574, the change from
26071	  if (!mpfr_can_round (c, m, GMP_RNDZ, rnd_mode, MPFR_PREC (z)))
26072	to
26073	  if (!mpfr_can_round (c, m, GMP_RNDN, rnd_mode,
26074	                       MPFR_PREC (z) + (rnd_mode == GMP_RNDN)))
26075	looks wrong to me: in RNDN, the extra bit due to rnd_mode == GMP_RNDN
26076	changes a RNDN worst case into a RNDZ worst case.
26077	Note: The second mpfr_can_round with the same problem has been fixed
26078	in r6513.
26079
26080	tests/tsin_cos.c: ported bug20091122 from the 2.4 branch to the trunk.
26081	But no failure in the trunk.
26082
260832009-11-20  Vincent Lef��vre  <vincent@vinc17.net>
26084
26085	tests/tconst_pi.c: fixed types for C++.
26086
26087	Changeset r6162 broke Solaris builds. Fixed that by no longer checking
26088	INTMAX_MAX and UINTMAX_MAX to detect use of <stdint.h> / <inttypes.h>.
26089
260902009-11-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
26091
26092	[cos.c] fixed case where reduced argument is zero
26093
260942009-10-30  Vincent Lef��vre  <vincent@vinc17.net>
26095
26096	tcos.c: added a testcase yielding an assertion failure (this bug makes
26097	tsin_cos fail).
26098
26099	tests/tsin_cos.c: ported the consistency test from the 2.4 branch.
26100	This yields an assertion failure (Linux/x86_64).
26101
261022009-10-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
26103
26104	[cache.c] fixed bug with directed rounding
26105	[tconst_pi.c] added test for bug with directed rounding
26106
261072009-10-21  Vincent Lef��vre  <vincent@vinc17.net>
26108
26109	exceptions.c: improved a comment.
26110
26111	tpow.c: added an overflow test.
26112
26113	tpow.c: added an overflow test in RNDZ.
26114
261152009-10-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
26116
26117	[TODO] added efficiency item
26118
261192009-10-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
26120
26121	[lngamma.c] fixed typo, added comments about argument reduction, and replaced
26122		    code using doubles
26123
26124	[TODO] added efficiency item
26125
261262009-10-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
26127
26128	[exp.c] binary splitting is now used for prec >= MPFR_EXP_THRESHOLD
26129		(instead of prec > MPFR_EXP_THRESHOLD before). This is more
26130		consistent with the other thresholds.
26131
26132	[TODO] added efficiency item
26133
26134	[mparam_h.in] added /* bits */ for MPFR_EXP_THRESHOLD and MPFR_EXP_2_THRESHOLD
26135
261362009-10-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
26137
26138	[tsin_cos.c] removed useless instruction, and added comments
26139
26140	[sin_cos.c] fixed call to mpfr_can_round (rounding mode was wrong)
26141	[tsin_cos.c] added new test
26142
26143	[li2.c] fixed bug when x is near 0
26144	[tli2.c] added new test
26145
261462009-10-09  Vincent Lef��vre  <vincent@vinc17.net>
26147
26148	tests/tsin_cos.c: mp_rnd_t -> mpfr_rnd_t.
26149
26150	tests/tsin_cos.c: added a comment about bug20091008, corresponding to
26151	r6507; in fact, the bug concerns only the return value (see r6444).
26152
261532009-10-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
26154
26155	[sin_cos.c] fixed error analysis
26156	[tsin_cos.c] added new test
26157
261582009-10-07  Vincent Lef��vre  <vincent@vinc17.net>
26159
26160	tests/tsin_cos.c: mp_rnd_t -> mpfr_rnd_t.
26161
26162	tests/tsin_cos.c: removed trailing spaces.
26163
261642009-10-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
26165
26166	[tsin_cos.c] changed binary to hexadecimal string (was too long for C89)
26167
26168	[sin_cos.c] fixed bug introduced in r6447 (some variables had their precision not updated in Ziv's loop)
26169	[tsin_cos.c] added a new test
26170
261712009-09-29  Vincent Lef��vre  <vincent@vinc17.net>
26172
26173	FAQ update.
26174
261752009-09-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
26176
26177	[mpfr.texi] added note about mpfr_can_round
26178	[tcan_round.c] added more tests
26179
261802009-09-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
26181
26182	[README.dev] added item for new releases: we should say if they are binary
26183		     and/or API compatible with previous releases (we often forgot
26184		     to say it in the past)
26185
261862009-09-23  Vincent Lef��vre  <vincent@vinc17.net>
26187
26188	tests: added tget_flt to the svn:ignore property.
26189
26190	tests/Makefile.am: added information about LOADLIBES.
26191
261922009-09-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
26193
26194	[tests/Makefile.am] put back LOADLIBES=... (enables to compile a program foo.c
26195			    in the test directory by simply doing "make foo")
26196
26197	[atan.c] updated the comments
26198
261992009-09-22  Vincent Lef��vre  <vincent@vinc17.net>
26200
26201	atan.c: added a FIXME comment.
26202
26203	atan.c: added some assertions.
26204
262052009-09-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
26206
26207	[atan.c] implemented argument reduction (cf error analysis in algorithms.tex)
26208
262092009-09-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
26210
26211	[tests/Makefile.am] removed LOADLIBES=...
26212
262132009-09-20  Vincent Lef��vre  <vincent@vinc17.net>
26214
26215	mpfrlint: check that lines aren't too long.
26216
26217	Makefile.am: line-wrap libmpfr_la_SOURCES (M-q with Emacs) for
26218	compatibility with some vendor grep.
26219
26220	Makefile.am, tests/Makefile.am: patch from Ralf Wildenhues.
26221	https://lists.gnu.org/archive/html/bug-automake/2009-09/msg00033.html
26222
262232009-09-18  Vincent Lef��vre  <vincent@vinc17.net>
26224
26225	mpfr-impl.h, sin_cos.c, tests/tsin_cos.c: mp_rnd_t -> mpfr_rnd_t.
26226
26227	sin_cos.c: GMP_RNDx -> MPFR_RNDx.
26228
26229	sin_cos.c: untabified.
26230
26231	frac.c, tests/tfrac.c: fixed underflow case in mpfr_frac and added
26232	testcase.
26233
262342009-09-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
26235
26236	[acos.c] initial working precision was too small
26237
262382009-09-18  Vincent Lef��vre  <vincent@vinc17.net>
26239
26240	modf.c: no longer extend the exponent range at all, since there are
26241	no intermediate computations (note: the mpfr_frac bug that has just
26242	been fixed affected this change in modf.c).
26243
26244	[frac.c] Patch r6456 was incorrect: the problem with the non-significant
26245	bits had to be dealt with only in the case t = r. This is now fixed.
26246
26247	tests/tfrac.c: reverted overflow case test (was incorrect because the
26248	input was too large).
26249
26250	tests/tfrac.c: also test the overflow case.
26251
26252	tests/tfrac.c: more tests (case where the fractional part rounds to 1).
26253
262542009-09-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
26255
26256	[NEWS] added item
26257
26258	[sin.c,cos.c] use mpfr_sincos_fast when prec >= MPFR_SINCOS_THRESHOLD
26259
262602009-09-18  Vincent Lef��vre  <vincent@vinc17.net>
26261
26262	tests/tfrac.c: more tests (there are also problems in rounding away
26263	from zero or equivalent).
26264
262652009-09-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
26266
26267	added tuning mechanism for mpfr_sin_cos
26268
262692009-09-18  Vincent Lef��vre  <vincent@vinc17.net>
26270
26271	tests/tfrac.c: also test the ternary value (it is incorrect too).
26272
26273	frac.c: fixed bug in mpfr_frac (the non-significant bits in low limb
26274	were not cleared).
26275
26276	tests/tfrac.c: improved the testcase so that it triggers the bug for
26277	both 32 bits and 64 bits.
26278
26279	tests/tfrac.c: added a comment for latest testcase.
26280
26281	tests/tfrac.c: added testcase for bug in mpfr_frac.
26282
26283	tests/tmodf.c: typo in error message.
26284
26285	modf.c: extending the exponent range in the first two cases is useless
26286	because there are no intermediate computations (just a mpfr_set). Let's
26287	do that only for the general case.
26288
26289	tests/tmodf.c: added overflow tests.
26290
26291	modf.c: corrected a comment (rounding can yield an overflow, but not
26292	an underflow).
26293
262942009-09-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
26295
26296	[sin_cos.c] added asymptotically fast code, with threshold currently hardcoded
26297		    at 20000 bits, should be determined by tuneup.c
26298
262992009-09-18  Vincent Lef��vre  <vincent@vinc17.net>
26300
26301	Deleted trailing spaces.
26302
263032009-09-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
26304
26305	[modf.c] changed semantics of return value in accordance with mpfr_sin_cos
26306
263072009-09-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
26308
26309	[sin_cos.c] more precise meaning of the return value
26310	[sinh_cosh.c] idem as above
26311	[taway.c] fixed to check the more precise return value
26312
263132009-09-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
26314
26315	[mpfr.texi] t was not initialized in Newton's example
26316
263172009-09-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
26318
26319	changed _binary32 into _flt for file names too:
26320	   svn mv get_binary32.c get_flt.c
26321	   svn mv set_binary32.c set_flt.c
26322	   svn mv tests/tget_binary32.c tests/tget_flt.c
26323
26324	[TODO] removed an item
26325	[mpfr.texi] added an example for mpfr_prec_round
26326
26327	[NEWS] added mpfr_set_flt and mpfr_get_flt
26328
26329	changed suffix _binary32 -> _flt
26330	[get_binary32.c] fixed a bug in subnormal range
26331
263322009-09-15  Vincent Lef��vre  <vincent@vinc17.net>
26333
26334	mpfrlint: bug fix.
26335
26336	mpfr.texi: updated the month.
26337
26338	mpfrlint: execute svn in C locale.
26339
26340	mpfrlint: check mpfr.texi's UPDATED-MONTH.
26341
263422009-09-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
26343
26344	[tget_d.c] fixed FIXME
26345
263462009-09-15  Vincent Lef��vre  <vincent@vinc17.net>
26347
26348	tget_d.c code is C99-only (bug introduced in r6424). Please fix!
26349
263502009-09-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
26351
26352	[get_binary32.c] also forgot in previous commit
26353
26354	[set_binary32.c] file forgot in previous commit
26355
26356	added new functions mpfr_set_binary32 and mpfr_get_binary32
26357	fixed bug in mpfr_get_d and mpfr_get_decimal64 for RNDA
26358
26359	[mpfr.texi] improved description of mpfr_sum, and fixed typo
26360
263612009-09-14  Vincent Lef��vre  <vincent@vinc17.net>
26362
26363	mpfr.h: added mpfr_regular_p macro.
26364
263652009-09-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
26366
26367	[sum.c] added reference
26368
26369	[get_ld.c] fixed bug reported by Nelson Beebe
26370		   https://sympa.inria.fr/sympa/arc/mpfr/2009-05/msg00061.html
26371
26372	[isregular.c] new function mpfr_regular_p
26373	[iszero.c] fixed typo in comment
26374	[tests/tisnan.c] added tests for mpfr_regular_p
26375
263762009-09-11  Vincent Lef��vre  <vincent@vinc17.net>
26377
26378	vasprintf.c: changeset r6414 was incorrect, in particular under Linux
26379	(at least some platforms), where wint_t is an unsigned int, not an int.
26380	Instead, let's detect whether integer promotion will occur or not, even
26381	though the ISO C99 standard requires a wint_t type that doesn't yield
26382	an integer promotion (7.24.1#2), because mingw32 defines wint_t as an
26383	unsigned short (thus with integer promotion).
26384
263852009-09-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
26386
26387	[vasprintf.c] https://sympa.inria.fr/sympa/arc/mpfr/2009-09/msg00012.html
26388		      (changed __wint_type into int)
26389
263902009-09-08  Vincent Lef��vre  <vincent@vinc17.net>
26391
26392	tests/tdigamma.c: added missing void in prototype.
26393
263942009-09-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
26395
26396	[digamma.c] forgot to set sign for Psi(+Inf)
26397
263982009-09-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
26399
26400	changed function into bernoulli.c (which was static, included 3 times) into
26401	an internal function mpfr_bernoulli_internal
26402
264032009-09-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
26404
26405	[TODO] removed psi(=digamma)
26406
264072009-09-02  Vincent Lef��vre  <vincent@vinc17.net>
26408
26409	tests/data/digamma: for the special values, use the new mode '*'
26410	(exact cases) instead of 'n'.
26411
26412	tests.c: added special support for exact cases in data_check (to test
26413	all the rounding modes and check the ternary value).
26414
26415	towards -> toward (consistency).
26416
26417	tests: added tdigamma to svn:ignore property.
26418
26419	digamma.c: moved a comment.
26420
264212009-09-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
26422
26423	[digamma.c] fixed bug (emin/emax were not restored)
26424	[data/digamma] added special values
26425	[tests/tests.c] fix to allow putting nan in data/* files
26426
26427	[data/digamma] unitary test file for mpfr_digamma
26428	[tdigamma.c] now use data/digamma
26429
264302009-09-02  Vincent Lef��vre  <vincent@vinc17.net>
26431
26432	Removed trailing whitespace.
26433
264342009-09-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
26435
26436	bernoulli.c goes into EXTRA_DIST
26437
26438	[digamma.c] new function mpfr_digamma
26439	[lngamma.c,li2.c] factored computation of Bernoulli numbers in new file
26440			  bernoulli.c (also used by digamma.c)
26441
264422009-08-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
26443
26444	replaced obsolete GMP functions (suggested by Brian Gladman):
26445	1. mpz_div_2exp ==> mpz_fdiv_q_2exp
26446	2. mpz_div_ui   ==> mpz_fdiv_q_ui
26447	3. gmp_randinit (state, GMP_RAND_ALG_LC, 128) ==> gmp_randinit_lc_2exp_size (state, 128)
26448	(Didn't replace mpn_divrem by mpn_tdiv_qr since the parameters differ, and also
26449	for efficiency reasons.)
26450
264512009-08-26  Vincent Lef��vre  <vincent@vinc17.net>
26452
26453	tsprintf.c: fixed locale_da_DK test.
26454
264552009-08-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
26456
26457	[csch.c,coth.c,csc.c,cot.c] fixed bug for tiny input and RNDA (result was
26458				    rounded to zero instead of away)
26459
264602009-08-26  Vincent Lef��vre  <vincent@vinc17.net>
26461
26462	tests/tsprintf.c: bug fix (uncommented an "exit(1);").
26463
264642009-08-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
26465
26466	[tgeneric.c] revert previous change, bug is elsewhere
26467
26468	[tgeneric.c] temporary fix in mpfr_can_round call (mpfr_can_round does not
26469		     correctly handle MPFR_RNDA)
26470
264712009-08-26  Vincent Lef��vre  <vincent@vinc17.net>
26472
26473	set_ld.c: replaced a struct by a union. The struct was triggering the
26474	following warning with GCC 4.4:
26475	  dereferencing type-punned pointer will break strict-aliasing rules
26476	(possibly due to possible memory alignment problems). The old code
26477	looked strange anyway and unions are exactly for such kind of things.
26478
264792009-08-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
26480
26481	[tset.c] removed unused variables
26482
264832009-08-25  Vincent Lef��vre  <vincent@vinc17.net>
26484
26485	tcmp_ld.c: use "long double" constants.
26486	Note: this might solve the tcmp_ld failure reported on
26487	https://www.linuxquestions.org/questions/linux-from-scratch-13/mpfr-2-4-1-check-failures-in-lfs-6-5-rc2-746538/
26488	(not tested).
26489
264902009-08-24  Vincent Lef��vre  <vincent@vinc17.net>
26491
26492	NEWS: update (new function mpfr_set_zero, added in r6339).
26493
26494	mpfr.texi: NaN has a sign bit (in its binary representation),
26495	but as a FP datum, it does not have a sign.
26496
264972009-08-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
26498
26499	[mpfr.texi] added mention of unspecified NaN sign bit for mpfr_set_nan
26500
265012009-08-21  Vincent Lef��vre  <vincent@vinc17.net>
26502
26503	mpfr.texi: do not use @code for roundTiesToAway and binary64 as this is
26504	not code and the IEEE 754-2008 standard doesn't use special typography.
26505
26506	mpfr.texi: the sign bit of a NaN is unspecified.
26507
265082009-08-18  Vincent Lef��vre  <vincent@vinc17.net>
26509
26510	Add examples into $docdir (without using a subdir, as this would be
26511	a bit bloated just to add a few files).
26512	  * Added "examples" directory with a ReadMe file and 3 examples.
26513	  * Makefile.am: added files from the "examples" directory and changed
26514	    dist_doc_DATA into nobase_dist_doc_DATA so that the "examples"
26515	    directory is not stripped in the target directory $docdir.
26516	  * README: added "examples/".
26517
26518	get_str.c: corrected copyright notice, incorrectly modified in r6364.
26519
265202009-08-12  Philippe Th��veny  <philippe.theveny@laposte.net>
26521
26522	mpfr.texi: Fix typo.
26523
26524	get_str.c: Format a comment.
26525
26526	get_str.c vasprintf.c: Add support for the rounding away from zero mode.
26527	mpfr.texi: MPFR_RNDA mode support in printf functions.
26528	tests/tsprintf.c tests/tget_str.c: Test MPFR_RNDA support.
26529
265302009-08-06  Vincent Lef��vre  <vincent@vinc17.net>
26531
26532	NEWS: update.
26533
26534	Install some documentation files.
26535
265362009-08-05  Vincent Lef��vre  <vincent@vinc17.net>
26537
26538	mpfr.texi: updated section "Installing MPFR".
26539
26540	mpfr.texi: corrected a spelling mistake.
26541
26542	Since GNU Automake 1.11 is available on too few platforms, removed its
26543	requirement (reverted to 1.10 requirement: 1.10.1 was needed only for
26544	dist-lzma, which has been removed). Instead, added hardcoded dist-xz
26545	support (tested with both Automake 1.10.2 and Automake 1.11).
26546
265472009-08-04  Vincent Lef��vre  <vincent@vinc17.net>
26548
26549	configure.in: replaced dist-lzma by dist-xz (the xz format is the
26550	successor of the lzma format); as a consequence, automake 1.11 is
26551	needed.
26552
265532009-07-30  Vincent Lef��vre  <vincent@vinc17.net>
26554
26555	Makefile.am, tests/Makefile.am: added copyright notice (similar to
26556	the one of the generated Makefile.in file).
26557
26558	Since COPYING.LESSER makes a reference to the GPLv3, updated COPYING
26559	to the GPLv3. Autotools files are now distributed under the same license
26560	as MPFR (to avoid any reference to the GPLv2).
26561
26562	Renamed COPYING.LIB as COPYING.LESSER (GNU Coding Standards, #7.3)
26563	and updated all the references (except in ChangeLog).
26564
26565	Added algorithms.fdb_latexmk to svn:ignore property.
26566
265672009-07-30  Philippe Th��veny  <philippe.theveny@laposte.net>
26568
26569	tests/tset.c: With revision 6339, some tests were moved and added in the function check_special but this one was not called.
26570
26571	tests/Makefile.am: Strech check_PROGRAMS list to ease insertion of new tests.
26572
26573	Makefile.am: Sort tests in alphabetical order except the very first ones which are needed by the test suite itself.
26574
265752009-07-20  Philippe Th��veny  <philippe.theveny@laposte.net>
26576
26577	vasprintf.c mpfr.texi: Change behavior with %Rf and an empty precision field. The default precision is now 6 with %Rf and %Rg.
26578	tests/tprintf.c tests/tfprintf.c tests/tsprintf.c: Change tests with empty precision field and %Rf.
26579
26580	Makefile.am mpfr.h mpfr.texi set_zero.c: New function mpfr_set_zero.
26581	tests/tset.c: Replace all MPFR_ASSERTN with verbose message. Add tests for mpfr_set_zero.
26582
265832009-07-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
26584
26585	[INSTALL] hint about patch command
26586
265872009-07-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
26588
26589	[mpn_exp.c] reverted previous change (MPN_ZERO is a macro for memset, which
26590		    does not forbid zero size)
26591
26592	[coth.c, tcoth.c] fixed coth(+/0) which was wrong (reported by Christopher Creutzig)
26593
26594	[mpn_exp.c] fixed bug reported by David Kirkby on Solaris (GMP compiled with
26595		    Solaris compiler)
26596
265972009-07-08  Vincent Lef��vre  <vincent@vinc17.net>
26598
26599	vasprintf.c: typo in a comment.
26600
266012009-07-08  Philippe Th��veny  <philippe.theveny@laposte.net>
26602
26603	vasprintf.c: Fix bug with %Rf, non-zero precision and a value rounded up to the next power of ten.
26604
266052009-07-08  Vincent Lef��vre  <vincent@vinc17.net>
26606
26607	vasprintf.c: deleted trailing spaces.
26608
26609	tsprintf.c: added tests of some halfway cases.
26610
266112009-07-08  Philippe Th��veny  <philippe.theveny@laposte.net>
26612
26613	vasprintf.c: Fix bug in precision 0 with format %.0Rf (0.5 rounds to 0).
26614
266152009-07-08  Vincent Lef��vre  <vincent@vinc17.net>
26616
26617	tsprintf.c: added a test that triggers an assertion failure.
26618
26619	tsprintf.c: fixed a test and added more tests for %.0Rf with the even
26620	rounding rule (shows a bug added in the latest corrections).
26621
266222009-07-07  Vincent Lef��vre  <vincent@vinc17.net>
26623
26624	tsprintf.c: completed the test on emax (for %Ra and %Rb).
26625	Everything is OK.
26626
26627	tsprintf.c: my test was incorrect (I forgot the R), sorry.
26628	Still completing it...
26629
26630	tsprintf.c: comment (so that the test can be ported to the 2.4 branch).
26631
26632	tsprintf.c: started to write a test for emax, showing a bug (random
26633	output).
26634
266352009-07-06  Vincent Lef��vre  <vincent@vinc17.net>
26636
26637	ChangeLog update with "LC_ALL=en_US.UTF8 TZ=UTC svn log -rHEAD:0 -v".
26638
26639	mpfr.texi: updated the month.
26640
26641	mpfr.texi consistency: @var{stdout} -> @code{stdout}.
26642
26643	vasprintf.c: do not use a potential function call in SAFE_ABS macro.
26644
266452009-07-06  Philippe Th��veny  <philippe.theveny@laposte.net>
26646
26647	vasprintf.c tests/tsprintf.c: deleted trailing spaces.
26648
266492009-06-29  Philippe Th��veny  <philippe.theveny@laposte.net>
26650
26651	vasprintf.c: Fix bug when the value to be printed is rounded to the next power of ten with %Rf or %Rg (continuation of fix in r6278).
26652	tests/tsprintf.c:  Add tests for rounding to next power of ten bug with %Rf or %Rg.
26653
266542009-06-26  Vincent Lef��vre  <vincent@vinc17.net>
26655
26656	mp_exp_unsigned_t -> mpfr_uexp_t (internal type only).
26657
26658	mpfrlint: check the use of the obsolete mp_rnd_t type.
26659
26660	mp_rnd_t -> mpfr_rnd_t
26661
26662	Suppressed MPFR_CLEAR_FLAGS (no longer did anything).
26663
266642009-06-23  Vincent Lef��vre  <vincent@vinc17.net>
26665
26666	mpfr.texi: updated the month.
26667
26668	mpfr.texi: fixed description of mpfr_get_str (clash with variables,
26669	inconsistent cases in the info format).
26670
26671	get_str.c: added a space.
26672
266732009-06-21  Vincent Lef��vre  <vincent@vinc17.net>
26674
26675	vasprintf.c: corrected comments.
26676
266772009-06-19  Philippe Th��veny  <philippe.theveny@laposte.net>
26678
26679	vasprintf.c: convert GMP_RNDx to MPFR_RNDx.
26680
26681	vasprintf.c: Add brace to disambiguate nested if, and remove unused variable.
26682
26683	tests/tfprintf.c tests/tprintf.c: Do not test very small values with %f.
26684
26685	vasprintf.c: Fix bug when the value to be printed is rounded to the next power of ten with %Rf or %Rg.
26686	tests/tsprintf.c:  Add tests for rounding to next power of ten bug.
26687
266882009-06-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
26689
26690	[TODO] added new functions to implement
26691
266922009-06-16  Philippe Th��veny  <philippe.theveny@laposte.net>
26693
26694	sinh_cosh.c: precision of intermediate computation no more depends on precision of input variables.
26695
266962009-06-15  Vincent Lef��vre  <vincent@vinc17.net>
26697
26698	mpfr.h: new MPFR_VALUE_OF macro, now used by mpfr_get_prec and
26699	mpfr_get_exp macros (this is cleaner than the old hack).
26700
267012009-06-14  Vincent Lef��vre  <vincent@vinc17.net>
26702
26703	acinclude.m4: Make sure results of calculations on constants used with
26704	the fesetround() test are not precomputed by GCC (occurs on MIPS).
26705	Patch from Maciej W. Rozycki.
26706	  https://sympa.inria.fr/sympa/arc/mpfr/2009-06/msg00036.html
26707	  gmane.comp.lib.mpfr.general:174
26708
267092009-06-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
26710
26711	[algorithms.tex] bounds for get_str were checked by Mark Dickinson
26712
267132009-06-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
26714
26715	[algorithms.tex] fixed typo
26716
26717	[algorithms.tex] fixed and completed up to b=62 table of bounds for get_str
26718	[mpfr.texi] fixed description of case n=0 for get_str (case of powers of two
26719		    bases was not coherent with the code)
26720
267212009-06-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
26722
26723	[algorithms.tex] analyzed precisely the cases where the value is m+1 instead
26724	       of m
26725
267262009-06-10  Vincent Lef��vre  <vincent@vinc17.net>
26727
26728	acinclude.m4: reverted incorrect patch r6267 that makes the test
26729	no longer work on x86 (with traditional FPU, no SSE), where one
26730	should get
26731	  checking for gcc float-conversion bug... yes, use -ffloat-store
26732	instead of
26733	  checking for gcc float-conversion bug... no
26734	Indeed the "volatile" has the effect to have all the intermediate
26735	results x stored into memory, i.e. it is more or less equivalent
26736	to the -ffloat-store option, so that it does not allow one to test
26737	whether -ffloat-store is needed or not (which is the goal of this
26738	test).
26739
267402009-06-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
26741
26742	[acinclude.m4] patch from Maciej W. Rozycki on mpfr mailing-list, 9 Jun 2009
26743
26744	added more test cases for the Bessel functions (from John Harrison paper at
26745	Arith19)
26746
267472009-06-04  Philippe Th��veny  <philippe.theveny@laposte.net>
26748
26749	vasprintf.c: Binary output with no digit after the decimal point is now supported. Fix bug when the binary or hexadecimal output value is rounded to the next power of the base. This also change outputs like 0xf.f with format string "%.0Ra" from 8p+1 to 1p+4 (as does gnu libc's printf).
26750	tests/tsprintf.c: add check for rounding to the next base power and fix some test value with %.0Ra (now output 1p+4 instead of 8p+3).
26751
267522009-06-03  Philippe Th��veny  <philippe.theveny@laposte.net>
26753
26754	mpfr-longlong.h: Update to newer GMP version (changeset 12418:12a1d0bf21f0 Sun Mar 01 23:47:31 2009 +0100), merging modifications from r4657.
26755
267562009-05-29  Vincent Lef��vre  <vincent@vinc17.net>
26757
26758	vasprintf.c: do not use GMP's namespace for identifiers defined in MPFR.
26759
26760	README.dev: added: do not use the GMP namespaces...
26761
26762	mpfr.h: rewrote a comment.
26763
267642009-05-29  Philippe Th��veny  <philippe.theveny@laposte.net>
26765
26766	vasprintf.c: Fix bug, "%%" was not correctly displayed when used alone or before a mpfr_t output.
26767	tests/tfprintf.c tests/tprintf.c: Fix expected values for tests with "%%".
26768
26769	mpfr.texi: Restate subsection Formatted Output Functions/Format String.
26770
267712009-05-28  Philippe Th��veny  <philippe.theveny@laposte.net>
26772
26773	mpfr.texi: details on use of 'P' type in mpfr_printf.
26774
267752009-05-27  Philippe Th��veny  <philippe.theveny@laposte.net>
26776
26777	NEWS: remind bug fixes since version 2.4.0.
26778
26779	set_d64.c: Partial revert of r6190 to fix problem in a simpler way: the decimal digits can be stored in array of char (no need to be unsigned).
26780
267812009-05-27  Vincent Lef��vre  <vincent@vinc17.net>
26782
26783	mpfr.texi: updated the month.
26784
26785	tests/tfmod.c: deleted trailing whitespace.
26786
267872009-05-22  Philippe Th��veny  <philippe.theveny@laposte.net>
26788
26789	tests/tatan.c: Add test triggering underflow (test coverage is now 100%).
26790
267912009-05-20  Vincent Lef��vre  <vincent@vinc17.net>
26792
26793	tests/tgeneric.c: for the second computation, increase the precision
26794	of the inputs in order to trigger the mpfr_fmod bug fixed in r6230
26795	(and potentially other bugs). Thanks to Eric Veach for the idea.
26796
26797	Added tbuildopt to svn:ignore property of tests.
26798
267992009-05-20  Philippe Th��veny  <philippe.theveny@laposte.net>
26800
26801	tests/tfmod.c: complete tests with special values.
26802
26803	tests/tfmod.c: code simplification + check ternary value too.
26804
268052009-05-20  Vincent Lef��vre  <vincent@vinc17.net>
26806
26807	tests/tfmod.c: replaced NULL by (mpfr_ptr) 0 in mpfr_inits2/mpfr_clears.
26808
26809	tests/mpfr-test.h: added mpfr_cmp_ui0 macro (check that x is not a NaN).
26810	tests/tfmod.c (bug20090519): check that the results are not NaN's and
26811	replaced GMP_RNDN by MPFR_RNDN.
26812
268132009-05-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
26814
26815	[tests/tfmod.c] added testcase for bug reported by Eric Veach
26816	[rem1.c] fixed bug reported by Eric Veach
26817
268182009-05-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
26819
26820	[TODO] added one item
26821
268222009-05-13  Laurent Fousse  <laurent@komite.net>
26823
26824	Clarify the fact that mpfr_sum guarantees correct rounding.
26825
268262009-05-13  Vincent Lef��vre  <vincent@vinc17.net>
26827
26828	mpfr.h: updated a comment.
26829
268302009-05-13  Philippe Th��veny  <philippe.theveny@laposte.net>
26831
26832	mpfr.h: Add a warning comment (removed in r6026).
26833	[merge -c 6209 from branch 2.4]
26834
268352009-05-13  Vincent Lef��vre  <vincent@vinc17.net>
26836
26837	fms.c: improve the performance of memory allocations in small precision
26838	(almost identical to changeset 6195 for fma.c).
26839
268402009-05-12  Vincent Lef��vre  <vincent@vinc17.net>
26841
26842	fma.c: patch by Patrick P��lissier to improve the performance of
26843	memory allocations in small precision.
26844
268452009-05-05  Philippe Th��veny  <philippe.theveny@laposte.net>
26846
26847	Put '#include <string.h>' in mpfr-impl.h, remove it elsewhere.
26848	Other cleanup of header inclusion.
26849	Other change (by mistake): corrections in algorithms.tex
26850
268512009-05-05  Vincent Lef��vre  <vincent@vinc17.net>
26852
26853	NEWS: corrections / limit to 80 characters per line.
26854
268552009-05-05  Philippe Th��veny  <philippe.theveny@laposte.net>
26856
26857	get_d64.c set_d64.c: Fix types.
26858
26859	printf.c tests/tpow_all.c: <string.h> is not automatically included when compiling with --with-gmp-build option.
26860
26861	NEWS Makefile.am mpfr.h mpfr.texi buildopt.c: New functions mpfr_buildopt_tls_p and mpfr_buildopt_decimal_p.
26862	tests/Makefile.am tests/tbuildopt.c: Add tests for mpfr_buildopt_tls_p and mpfr_buildopt_decimal_p.
26863
268642009-05-05  Vincent Lef��vre  <vincent@vinc17.net>
26865
26866	atan.c: added comments after checking r6186.
26867
268682009-05-05  Philippe Th��veny  <philippe.theveny@laposte.net>
26869
26870	atan.c: expand exponent range when computing arctan(Inf) and arctan(+-1).
26871	tests/tatan.c: Check underflow of arctan(Inf) and arctan(1) with reduced exponent range.
26872
268732009-05-04  Vincent Lef��vre  <vincent@vinc17.net>
26874
26875	tests/tatan.c: replaced GMP_RNDN by MPFR_RNDN.
26876
268772009-04-29  Vincent Lef��vre  <vincent@vinc17.net>
26878
26879	Removed trailing spaces.
26880
268812009-04-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
26882
26883	[atan.c] fixed bug when x is very near but differs from 1
26884
268852009-04-29  Vincent Lef��vre  <vincent@vinc17.net>
26886
26887	tests/tatan.c: added testcase for bug found by Christopher Creutzig
26888	(atan2_different_prec).
26889
268902009-04-22  Vincent Lef��vre  <vincent@vinc17.net>
26891
26892	tests/tests.c (data_check): try to open the data file first from the
26893	build directory, then from the source directory.
26894
26895	init2.c: check that mp_bits_per_limb == BITS_PER_MP_LIMB (useful
26896	in case GMP is upgraded with a different ABI, e.g. 32 vs mode32
26897	on PowerPC 64). Without such a check, MPFR can give incorrect
26898	results if the ABI's don't match.
26899
26900	Improved fix for problem dealt with in r6174: use function src_fopen()
26901	(from tests.c) instead of a macro MPFR_SRCDIR.
26902
26903	Fixed problem when the srcdir value contains a word that is #define'd
26904	by the C implementation (test failure) or a comma (worse, the build of
26905	the tests terminates with an error). This can happen only when objdir
26906	and srcdir are different directories.
26907	  * tests/Makefile.am (tmul_CPPFLAGS): Put srcdir pathname in quotes.
26908	  * tests/tmul.c (MPFR_SRCDIR): Make the default a string.
26909	    (QUOTE, NAME): Delete.
26910	    (check_regression): Don't QUOTE MPFR_SRCDIR.
26911	Thanks to Sandra Loosemore for the patch.
26912	https://sympa.inria.fr/sympa/arc/mpfr/2009-04/msg00038.html
26913
269142009-04-15  Philippe Th��veny  <philippe.theveny@laposte.net>
26915
26916	get_f.c: remove dead code (x and z always have the same number of limbs).
26917	tests/tget_f.c: Add tests with every rounding mode, add tests with random values.
26918
26919	tests/tget_f.c: Fix typos, better error messages.
26920
269212009-04-14  Philippe Th��veny  <philippe.theveny@laposte.net>
26922
26923	tests/tget_f.c get_f.c: Set result to the maximum value when the mpfr_t is plus infinity and set correct ternary value.
26924
26925	tests/tget_f.c: Fix typo, increase size of y so that x and y have different limb size (they had the same size on MacOS X-32bits).
26926
269272009-04-10  Vincent Lef��vre  <vincent@vinc17.net>
26928
26929	mpfr.texi: update concerning intmax_t after the change in r6166.
26930
26931	mpfr.h: for intmax_t, also test _STDINT_H and _STDINT_H_.
26932	[merged changeset r6165 from the 2.4 branch]
26933
26934	mpfr.texi: updated the month.
26935
26936	mpfr.h: for the intmax_t detection, also test INTMAX_MAX / UINTMAX_MAX
26937	(this may be useful for users of C++ compilers, if they have defined
26938	__STDC_LIMIT_MACROS but not __STDC_CONSTANT_MACROS).
26939	mpfr.texi: improvement concerning the use of intmax_t and uintmax_t.
26940	[merged changesets r6160 and r6161 from the 2.4 branch]
26941
269422009-04-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
26943
26944	[INSTALL] updated Notes on AIX/PowerPC
26945
269462009-04-08  Philippe Th��veny  <philippe.theveny@laposte.net>
26947
26948	NEWS mpfr.texi get_f.c: mpfr_get_f now returns the usual ternary value.
26949	tests/tget_f.c: test the ternary value and the erange flag.
26950
269512009-04-08  Vincent Lef��vre  <vincent@vinc17.net>
26952
26953	tests/tget_z.c: do not assume specific values of the ternary value.
26954	get_z.c: simplified code.
26955
26956	NEWS: s/an inexact value/a ternary value/
26957
269582009-04-08  Philippe Th��veny  <philippe.theveny@laposte.net>
26959
26960	NEWS mpfr.texi get_z.c: mpfr_get_z now returns an inexact value.
26961	mpfr.h: change prototype of mpfr_get_z.
26962	tests/tget_z.c: test inexact value.
26963
269642009-04-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
26965
26966	[mpf2mpfr.h] added comment for #endif
26967
269682009-04-08  Philippe Th��veny  <philippe.theveny@laposte.net>
26969
26970	mpf2mpfr.h: fix typo
26971
269722009-04-02  Vincent Lef��vre  <vincent@vinc17.net>
26973
26974	get_z.c: fixed title in comment.
26975
269762009-04-01  Vincent Lef��vre  <vincent@vinc17.net>
26977
26978	get_z.c: detect out-of-range precision (such a detection could be missed
26979	if mpfr_exp_t > mpfr_prec_t).
26980
26981	Removed the comment from mpfr.h added in r6149, and patched get_z.c
26982	(safer code is better than a comment).
26983
26984	mpfr.h: important comment to validate the change done in r6147.
26985
26986	get_z_exp.c: updated comments.
26987
269882009-04-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
26989
26990	[get_z.c] simplified the code, removed the FIXME
26991	[tget_z.c] added new test
26992
26993	[mpfr.texi] completed documentation of mpfr_get_z_exp (was incomplete for 0)
26994	[tget_z.c] added test case for 0 with emin > 0 (should give 100% coverage for
26995		   get_z.c)
26996
269972009-03-30  Philippe Th��veny  <philippe.theveny@laposte.net>
26998
26999	strtofr.c tests/tset_str.c: Code simplification (sizeof (char) is always 1).
27000	vasprintf.c: Cast into size_t (just in case).
27001
27002	vasprintf.c: Code simplification (sizeof (char) is always 1).
27003
270042009-03-27  Philippe Th��veny  <philippe.theveny@laposte.net>
27005
27006	acinclude.m4: remove definition of va_copy, just detect its presence.
27007	printf.c vasprintf.c: #define a replacement of va_copy if needed (in the same way as gmp).
27008
270092009-03-26  Philippe Th��veny  <philippe.theveny@laposte.net>
27010
27011	acinclude.m4: Change MPFR_FUNC_PRINTF_SPEC (renamed MPFR_FUNC_GMP_PRINTF_SPEC) so that it actually checks output.
27012
270132009-03-25  Philippe Th��veny  <philippe.theveny@laposte.net>
27014
27015	Change base upper limit in string conversion up to 62.
27016
270172009-03-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
27018
27019	[mpfr.texi] fixed documentation of mpfr_get_str which was wrong
27020	[tget_str.c] added test cases for odd base and tie breaking case
27021	[get_str.c] fixed typos in comments
27022
27023	[tests/random2.c] added missing mpfr-test.h (revealed by nightly tests), and
27024			  removed mpfr-impl.h (already included in mpfr-test.h)
27025			  I have also removed MPFR_NEED_LONGLONG_H: I don't see why it
27026			  is needed, and all tests pass.
27027
270282009-03-24  Philippe Th��veny  <philippe.theveny@laposte.net>
27029
27030	mpfr.texi: Add a note on mpfr_printf output in binary with precision one.
27031
27032	urandomb.c mpfr-gmp.c mpfr-gmp.h: mpfr_rand_raw is now in urandom.c.
27033	mpfr-impl.h: mpfr_rand_raw is now always build as an internal function.
27034	TODO tests/tests.c tests/random2.c: Use mpfr_rand_raw instead of _gmp_rand
27035
27036	Move mpfr_random2 to tests directory, remove it from API.
27037
27038	mpfr.texi: Improve documentation in Formatted Output Functions/Format String subsection.
27039
270402009-03-24  Vincent Lef��vre  <vincent@vinc17.net>
27041
27042	cos.c, sin.c: added MPFR_ASSERTN for huge expx.
27043
270442009-03-21  Vincent Lef��vre  <vincent@vinc17.net>
27045
27046	mpfr.texi: corrected mpfr_strtofr documentation ("NAN()" is accepted).
27047	tests/tstrtofr.c: added a test for "NAN()".
27048	Note: the code follows the ISO C99 standard for strtod, as explained
27049	in the mpfr_strtofr documentation, so that the code was correct.
27050	[merged changeset 6131 from the 2.4 branch and changed GMP_RNDN into
27051	MPFR_RNDN]
27052
270532009-03-19  Vincent Lef��vre  <vincent@vinc17.net>
27054
27055	mpfrlint: added some tests for acinclude.m4 and configure.in (sh).
27056
27057	Applied patch from Ralf Wildenhues.
27058	  * configure.in: Avoid unportable (and unneeded) shell quoting.
27059	  * acinclude.m4: Avoid non-POSIX shell construct.
27060
270612009-03-18  Vincent Lef��vre  <vincent@vinc17.net>
27062
27063	tests/tmin_prec.c: replaced GMP_RNDN by MPFR_RNDN.
27064
270652009-03-16  Vincent Lef��vre  <vincent@vinc17.net>
27066
27067	tests/tset_ld.c: removed unused variable.
27068
270692009-03-16  Philippe Th��veny  <philippe.theveny@laposte.net>
27070
27071	tests/tset_ld.c: Add test case for the bug fixed with r6101.
27072
270732009-03-16  Vincent Lef��vre  <vincent@vinc17.net>
27074
27075	tests/tmin_prec.c: added tests.
27076
27077	tests: updated svn:ignore property.
27078
27079	min_prec.c: fixed another bug (the code was incorrect with >= 2 limbs).
27080
27081	tests/tmin_prec.c: bug fix (side effects in MPFR_ASSERTN), new tests.
27082
27083	README.dev: added a note about assertions and code with side effects.
27084
270852009-03-16  Philippe Th��veny  <philippe.theveny@laposte.net>
27086
27087	tests/tfprintf.c: Use a value less than 2^31-1 compatible (thus < LONG_MAX) in bug_20090316 (cf r6112).
27088
270892009-03-16  Vincent Lef��vre  <vincent@vinc17.net>
27090
27091	Replaced GMP_RND* by MPFR_RND*.
27092
270932009-03-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
27094
27095	[tests/tmin_prec.c] new file contributed from Laurent Fousse
27096	[tests/Makefile.am] added tmin_prec
27097
270982009-03-16  Vincent Lef��vre  <vincent@vinc17.net>
27099
27100	min_prec.c: removed a useless test.
27101
27102	min_prec.c: fixed another bug.
27103
271042009-03-16  Philippe Th��veny  <philippe.theveny@laposte.net>
27105
27106	vasprintf.c: Add more debug assertion on the buffer size.
27107
27108	vasprintf.c: Fix bug_20090316 (in buffer_cat, the buffer was 1 character too small in some cases).
27109	tests/tfprintf.c: Add test for bug_20090316.
27110
271112009-03-16  Vincent Lef��vre  <vincent@vinc17.net>
27112
27113	tests/tadd.c: changed GMP_RND* (from r6071) into MPFR_RND*; this should
27114	have been done when porting the patch from the 2.4 branch.
27115
271162009-03-16  Philippe Th��veny  <philippe.theveny@laposte.net>
27117
27118	tests/tprintf.c: Use new environment variable MPFR_CHECK_LARGEMEM for memory expensive test.
27119
271202009-03-16  Vincent Lef��vre  <vincent@vinc17.net>
27121
27122	min_prec.c: bug fixed by Laurent.
27123
271242009-03-16  Philippe Th��veny  <philippe.theveny@laposte.net>
27125
27126	tests/tsprintf.c: Fix typo.
27127
271282009-03-16  Vincent Lef��vre  <vincent@vinc17.net>
27129
27130	Fixed the prototype of mpfr_min_prec (should return a mpfr_prec_t)
27131	and its description.
27132
27133	min_prec.c: fixed a bug (but the code should be improved).
27134
27135	min_prec.c: simplified the singular cases (see other functions).
27136
271372009-03-15  Laurent Fousse  <laurent@komite.net>
27138
27139	Add prototype for mpfr_min_prec in mpfr.h.
27140
27141	Add documentation for mpfr_min_prec.
27142
27143	New function mpfr_min_prec.
27144
271452009-03-15  Vincent Lef��vre  <vincent@vinc17.net>
27146
27147	get_ld.c: fixed bugs in the case HAVE_LDOUBLE_IEEE_EXT_LITTLE (one found
27148	by Steve Kargl, and another one concerning the mpfr_set_emax value).
27149
271502009-03-13  Philippe Th��veny  <philippe.theveny@laposte.net>
27151
27152	vasprintf.c: This is probably dead code, but being uncertain, put an assert here.
27153
27154	vasprintf.c: As the buffer helper functions are not used in the current code with a zero parameter len, do not handle this case anymore, check that these cases do not happened in MPFR_ASSERTD macros, add some additional assert to ensure consistency.
27155
27156	vasprintf.c: make clear that string_buffer.curr is a pointer to the null terminating character, fix the only place where it was not handle so.
27157
27158	vasprintf.c: Fix bug.
27159
27160	tests/tprintf.c: Add an expensive test where the output number has more than INT_MAX characters.
27161	vasprintf.c: Fix the bug triggered by the new test in tsprintf.c.
27162
27163	mpfr.texi: Do cosmetic changes and add some details on printf behavior when the precision field is empty.
27164	tests/tsprintf.c: improve code coverage.
27165	tests/tprintf.c: improve code coverage, check the behavior describe in mpfr.texi.
27166
271672009-03-12  Vincent Lef��vre  <vincent@vinc17.net>
27168
27169	zeta_ui.c: correction r6090 was incorrect as there was another problem:
27170	the 3rd argument of mpz_divexact_ui is an unsigned long, not a limb.
27171	So, fixed the shift count (assuming no padding bits in unsigned long).
27172
27173	zeta_ui.c bug fix: a shift count could be >= width of type (if a limb is
27174	a long long and long long is twice the size of a long). This problem was
27175	detected by a warning on gcc40 with CFLAGS="-mpowerpc64 -mcpu=970 -O2".
27176
271772009-03-10  Vincent Lef��vre  <vincent@vinc17.net>
27178
27179	tests/tprintf.c: added missing cast to void * for %p.
27180
271812009-03-09  Vincent Lef��vre  <vincent@vinc17.net>
27182
27183	tests/tfprintf.c: added missing cast to void * for %p.
27184
27185	vasprintf.c: fixed bug in CONSUME_VA_ARG for case MP_LIMB_ARG (%Mu).
27186
27187	README.dev: GMP with ABI=mode32 should be tested on 64-bit PowerPC.
27188
271892009-03-06  Philippe Th��veny  <philippe.theveny@laposte.net>
27190
27191	vasprintf.c: now return -1 when the format string is invalid (undefined behavior in standard C99)
27192	tests/tprintf.c: Additional checks with invalid format strings.
27193
27194	mpfr.texi: Add missing conversion specifier accepted with mpfr_t variable.
27195
271962009-03-06  Vincent Lef��vre  <vincent@vinc17.net>
27197
27198	add1.c: assertions on the argument values should use MPFR_ASSERTN.
27199
272002009-03-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
27201
27202	[cache.c] improved comment for mpfr_init_cache
27203
27204	[add1.c] transformed switch() into if-then-else, to get 100% coverage
27205
272062009-03-06  Vincent Lef��vre  <vincent@vinc17.net>
27207
27208	untabify
27209
27210	update-faq: change GMP_RND into MPFR_RND from the version on the web
27211	(since MPFR 3.0 hasn't been released yet, the FAQ still uses the 2.x
27212	API).
27213
272142009-03-05  Vincent Lef��vre  <vincent@vinc17.net>
27215
27216	tests/tadd.c: completed the code coverage (case bk == 0 in add1.c).
27217
272182009-03-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
27219
27220	[mpfr-impl.h,cache.c] commented out mpfr_init_cache
27221
27222	[const_catalan.c] decreased initial Ziv precision to get 100% coverage
27223
27224	[cmp2.c] added comments
27225	[tcmp2.c] added test to improve coverage to 100%
27226
27227	[atan2.c,tatan.c] reduced Ziv's initial precision and added test to have
27228			  100% coverage of atan2.c
27229
27230	[atan.c] coverage should now be 100%
27231
272322009-03-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
27233
27234	[algorithms.bib] added new reference
27235	[TODO] added pointers
27236
272372009-03-04  Vincent Lef��vre  <vincent@vinc17.net>
27238
27239	mpfr-gmp.c (mpfr_assert_fail): output "MPFR" too in assertion failure
27240	messages.
27241
27242	Updated mpfrlint script.
27243
27244	mpfr.texi: updated month.
27245
27246	NEWS: say that the license has changed.
27247
272482009-03-03  Vincent Lef��vre  <vincent@vinc17.net>
27249
27250	Updated NEWS (function mpfr_random has been removed).
27251
272522009-03-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
27253
27254	GMP_RNDX -> MPFR_RNDX
27255
272562009-03-03  Vincent Lef��vre  <vincent@vinc17.net>
27257
27258	tests: added taway to svn:ignore property.
27259
27260	Update to LGPL v3+, as decided by the main MPFR developers.
27261
272622009-02-27  Vincent Lef��vre  <vincent@vinc17.net>
27263
27264	Untabified and deleted trailing spaces (for patches).
27265
272662009-02-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
27267
27268	[rint.c] fixed a bug incorporated with the round away mode
27269	[tget_sj.c] fixed the tests for round away
27270
27271	[rint.c] fixed bug with round away
27272	[taway.c] new test file for round away (with random values)
27273	[tests/Makefile.am] added taway
27274	[set_z.c] GNU style
27275
272762009-02-27  Philippe Th��veny  <philippe.theveny@laposte.net>
27277
27278	tests/tests.c: Change test5rm (formerly test4rm) so that it checks the new
27279	GMP_RNDA rounding mode, and that the corresponding rounding towards infinity
27280	is checked with GMP_RNDZ or with GMP_RNDA in one-pass mode (now, two-pass
27281	mode). Remove a comment about a warning from gcc solved with r5057.
27282
272832009-02-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
27284
27285	[rem1.c] fixed bug found in adding tests for round away
27286
27287	[add.c] added comment for 0 + 0 with round away
27288
272892009-02-26  Vincent Lef��vre  <vincent@vinc17.net>
27290
27291	tests/texceptions.c: removed obsolete comments from r2427.
27292
272932009-02-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
27294
27295	[mpfr.h] added comment about order of rounding modes
27296	[texceptions.c] added comments, fixed typo
27297	[tsub.c] added test, fixed typo
27298
272992009-02-26  Philippe Th��veny  <philippe.theveny@laposte.net>
27300
27301	Add tests with round away mode.
27302
273032009-02-26  Vincent Lef��vre  <vincent@vinc17.net>
27304
27305	Updated version to 3.0.0-dev.
27306
273072009-02-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
27308
27309	added round to away (still experimental)
27310
27311	[mpfr.h] added comments for rounding modes
27312
273132009-02-26  Vincent Lef��vre  <vincent@vinc17.net>
27314
27315	Added svn:ignore property on the m4 directory (these .m4 files are
27316	generated automatically).
27317
27318	Makefile.am: updated -version-info (since mpfr_random has been removed,
27319	we already know its value).
27320
27321	Makefile.am: do not check libtool -version-info value if the VERSION
27322	file contains "-dev".
27323
27324	Makefile.am: In a "make dist", check that libtool -version-info value
27325	is up-to-date (this is a heuristic only).
27326
27327	README.dev: updated "To make a release" -- it is important to read
27328	this section entirely before making any release (even if some steps
27329	may be skipped for some particular releases).
27330
273312009-02-25  Vincent Lef��vre  <vincent@vinc17.net>
27332
27333	tests/tsprintf.c: do not use VLA's (C99 only).
27334
27335	README.dev: update about patches.
27336
27337	tests/tsprintf.c: coding style: removed spurious spaces.
27338
27339	mpfr.texi: updated month.
27340
27341	printf.c: fixed assertion failures in the case buffer == NULL and
27342	size == 0 (see r5995). Also replaced MPFR_ASSERTD(buf != NULL) by
27343	MPFR_ASSERTN(buf != NULL) since buf is provided as an argument.
27344
27345	tests/tsprintf.c: added mpfr_snprintf/mpfr_vsnprintf tests with
27346	buffer == NULL and size == 0 (as allowed in C99 snprintf/vsnprintf
27347	and by the MPFR documentation).
27348
273492009-02-25  Philippe Th��veny  <philippe.theveny@laposte.net>
27350
27351	mpfr.texi: Fix typos.
27352
273532009-02-24  Vincent Lef��vre  <vincent@vinc17.net>
27354
27355	tuneup.c: untabified.
27356
273572009-02-24  Philippe Th��veny  <philippe.theveny@laposte.net>
27358
27359	printf.c: Fix wrong return value, mpfr_snprintf and mpfr_vsnprintf functions must always return the number of character that would be written if the parameter n had been sufficiently large (it previously returned zero when n == 0).
27360	tests/tsprintf.c: Fix test of mpfr_snprintf and mpfr_vsnprintf (the wrong return value was checked).
27361
273622009-02-24  Vincent Lef��vre  <vincent@vinc17.net>
27363
27364	printf.c: fix buffer overflow in mpfr_snprintf and mpfr_vsnprintf.
27365
27366	tsprintf.c: added a test showing a buffer overflow in mpfr_vsnprintf.
27367
27368	tsprintf.c: added a test showing a buffer overflow in mpfr_snprintf.
27369
273702009-02-23  Vincent Lef��vre  <vincent@vinc17.net>
27371
27372	Changed how the test of MPFR_VERSION_MAJOR, MPFR_VERSION_MINOR and
27373	MPFR_VERSION_PATCHLEVEL vs MPFR_VERSION_STRING is performed.
27374	Detailed explanations:
27375	  The test was enabled only in release tarballs (suffix not present),
27376	  where tests/tversion.c normally contained a "#if 1" (though this
27377	  is not the case in the MPFR 2.4.0 tarball). In patches, this test
27378	  should be disabled by changing the "#if 1" into "#if 0", due to
27379	  the suffix. But as one should be able to apply any patches (in any
27380	  order), this method was not satisfactory. The test has been moved
27381	  from tests/tversion.c to tests/tests.c (in function test_version),
27382	  and the suffix is now ignored in this test; the change of #if has
27383	  been removed from the update-version script.
27384
273852009-02-20  Vincent Lef��vre  <vincent@vinc17.net>
27386
27387	README.dev: corrected update-version usage for patches.
27388
27389	FAQ update.
27390
273912009-02-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
27392
27393	[mparam_h.in] added default thresholds for sparc64
27394	[tuneup.c] print gcc patchlevel
27395
273962009-02-19  Vincent Lef��vre  <vincent@vinc17.net>
27397
27398	speed.c, tests/texp.c: untabified.
27399
27400	mpfr.texi: improved mpfr_strtofr documentation (completing r5965).
27401
274022009-02-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
27403
27404	[mparam_h.in] added tuning for powerpc64
27405
274062009-02-18  Philippe Th��veny  <philippe.theveny@laposte.net>
27407
27408	strtofr.c: fix typo.
27409
27410	strtofr.c: accept bases up to 62.
27411	mpfr.texi: modify mpfr_strtofr documentation accordingly.
27412	tests/tstrtofr.c: add tests for bases 62, 60, and 61.
27413
274142009-02-17  Philippe Th��veny  <philippe.theveny@laposte.net>
27415
27416	mparam_h.in: Change core2/64bit parameters.
27417
274182009-02-17  Vincent Lef��vre  <vincent@vinc17.net>
27419
27420	Checks whether C99 length modifiers 'hh' and 'll' are supported by the
27421	system ('hh' is absent on alpha-OSF1-V5, bug reported by Kate Minola).
27422	[Merged changeset 5956 from the 2.4 branch.]
27423
274242009-02-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
27425
27426	[texp.c] yet another better fix
27427
27428	[texp.c] fixed previous patch and added comment
27429
27430	[texp.c] fixed corner case test
27431
274322009-02-16  Vincent Lef��vre  <vincent@vinc17.net>
27433
27434	README.dev: improved latest change.
27435
27436	README.dev: mentioned update-version for patches.
27437
274382009-02-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
27439
27440	[mpfr-gfx.c] added -p option to produce a Postscript file
27441
274422009-02-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
27443
27444	[mparam_h.in] added thresholds for ARM
27445
27446	[README.dev] added description of how to tune MPFR
27447
27448	[README.dev] added another example of using mpfr-gfx
27449
27450	[Makefile] modified Makefile to compile statically, and to allow also
27451		   build directories of GMP/MPFR
27452
274532009-02-10  Philippe Th��veny  <philippe.theveny@laposte.net>
27454
27455	mbench/mpfr-gfx.c: add option -rPREC_RATIO for geometric progression.
27456
274572009-02-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
27458
27459	[mparam_h.in] updated Itanium parameters (now for Itanium2)
27460
27461	[mparam_h.in] added symbol __itanium__ for Itanium[12]
27462
274632009-02-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
27464
27465	[README.dev] fixed typo
27466	[mpfr-gfx.c] added comments in the code (might be useful)
27467
27468	[README.dev] added pointer to mbench to check the thresholds
27469
27470	[mpfr-gfx.c] now also produces a plot.gnuplot file together with plot.data
27471
27472	[mparam_h.in] updated default thresholds with gmp-4.2.4
27473
27474	[tuneup.c] fixed typo
27475
27476	[Makefile.am] added stuff to compile speed program
27477
27478	[speed.c] preliminary program to check the tuning of mpfr (based on tuneup.c)
27479	          So far it only measures mpfr_mul up to 1000 bits, with increment
27480		  ratio of 1.1. Requires --with-gmp-build like tuneup.
27481		  Feel free to improve!
27482
27483	[mparam_h.in] allow __tune_ia64__ in addition to __ia64
27484
27485	[mparam_h.in] replaced __pentium4 by __tune_pentium4__, ...
27486
274872009-02-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
27488
27489	[acinclude.m4] removed detection of HAVE_HOST_CORE2
27490	[mparam_h.in] replaced HAVE_HOST_CORE2 by __tune_core2__
27491
274922009-02-06  Philippe Th��veny  <philippe.theveny@laposte.net>
27493
27494	tests/mpf_compat.h: complete r5922 adding missing mpz_init/mpz_clear.
27495
274962009-02-06  Vincent Lef��vre  <vincent@vinc17.net>
27497
27498	TODO: updated efficiency items.
27499
275002009-02-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
27501
27502	[TODO] added 2 efficiency items
27503
275042009-02-06  Vincent Lef��vre  <vincent@vinc17.net>
27505
27506	mpfr.texi: moved MPFR_DECL_INIT specification into Section
27507	"Initialization Functions" (now in the standard MPFR API),
27508	and removed now empty Section "Advanced Functions".
27509
275102009-02-05  Vincent Lef��vre  <vincent@vinc17.net>
27511
27512	mparam_h.in: updated comment to mention -march=native and -mtune=native.
27513
27514	mpfr.h: updated a comment concerning MPFR_DECL_INIT.
27515
275162009-02-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
27517
27518	[mpf2mpfr.h] added mpz_set_f (reported by Francois Morain)
27519
27520	[mpfr.texi] moved mpfr_inits, mpfr_inits2, mpfr_clears to supported functions
27521	[TODO] added new info about MPIR
27522
275232009-02-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
27524
27525	[TODO] added info to distinguish GMP and MPIR
27526
275272009-01-26  Vincent Lef��vre  <vincent@vinc17.net>
27528
27529	Updated the version on the trunk.
27530
275312009-01-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
27532
27533	[nightly-test] removed --disable-alloca (GMP option)
27534
275352009-01-25  Vincent Lef��vre  <vincent@vinc17.net>
27536
27537	README.dev: --disable-alloca is a GMP configure option.
27538
275392009-01-21  Philippe Th��veny  <philippe.theveny@laposte.net>
27540
27541	tests/tsprintf.c: remove tests against libc's printf with "%a" (not in ISO C90), and with "%p" (implementation defined).
27542	[merge -c 5885 from branches/2.4]
27543
275442009-01-21  Vincent Lef��vre  <vincent@vinc17.net>
27545
27546	mpfr-impl.h: avoid a compiler bug under Mac OS X Tiger + Xcode (&x == &x
27547	is false) that makes tset_d fail; this problem was introduced in r5880.
27548
275492009-01-20  Vincent Lef��vre  <vincent@vinc17.net>
27550
27551	Fixed bug reported by Chris Saunders: if _GMP_IEEE_FLOATS is defined,
27552	the build of tset_ld.c fails because DOUBLE_ISNAN expects a lvalue.
27553	* mpfr-impl.h: documented that for such macros, the argument must
27554	  be a lvalue, and always make sure that it is a lvalue (so that
27555	  a failure doesn't depend on the environment).
27556	* tests/tset_ld.c: fixed the bug.
27557
27558	tests/tversion.c: be more tolerant when checking whether gmp.h version
27559	and libgmp version are the same (in case patch level is 0).
27560
27561	tests/tset_ld.c: added explanation of NaN-related failures in case
27562	MPFR_NANISNAN is defined.
27563
27564	Added missing void's.
27565
27566	tests/tsprintf.c: removed a blank line (for consistency with the
27567	2.4 branch).
27568
27569	vasprintf.c: deleted trailing spaces.
27570
275712009-01-19  Vincent Lef��vre  <vincent@vinc17.net>
27572
27573	mpfr-impl.h: comment for DOUBLE_ISNAN with MPFR_NANISNAN defined.
27574
27575	tests/tset_d.c: fixed test of mpfr_set_d on -0 with gcc -ffast-math
27576	(the -d for d = 0.0 was giving 0.0, hence a spurious failure).
27577
27578	mpfr-impl.h: the DOUBLE_ISNAN macro wasn't working with gcc -ffast-math
27579	(at least on x86_64); fixed that by adding another test.
27580	tests/tset_ld.c: Isnan_ld wasn't working either; also the NaN test was
27581	incorrect. Now, the failure on NaN is correctly reported.
27582
27583	tests/tcmp_d.c, tests/tcmp_ld.c, tests/tset_d.c: corrected message.
27584
27585	tests/tcmp_d.c, tests/tcmp_ld.c, tests/tset_d.c: added explanations
27586	of NaN-related failures in case MPFR_NANISNAN is defined.
27587	Note: in tset_d.c, moved the NaN test before the signed-zero test
27588	to catch the failure on the NaN first.
27589
27590	acinclude.m4: improved warning message.
27591
27592	INSTALL: updated "In case of problem".
27593
27594	acinclude.m4: added a warning message for the NAN != NAN test.
27595
275962009-01-19  Philippe Th��veny  <philippe.theveny@laposte.net>
27597
27598	tcmp_d.c tset_d.c tcmp_ld.c: Remove tests with NaN when MPFR_NANISNAN is defined.
27599	tests.c: Add a warning in a comment that Isnan always returns 0 on systems where MPFR_NANISNAN is defined.
27600
27601	vasprintf.c: do not support 't' when NPRINTF_T is defined, HAVE_STDINT_H -> _MPFR_H_HAVE_INTMAX_T.
27602
27603	tests/tfprintf.c: renumber tests (there was two tests #9).
27604
276052009-01-19  Vincent Lef��vre  <vincent@vinc17.net>
27606
27607	tests/tfprintf.c: %c takes an int argument, not a char (see C standard).
27608
27609	tests/tprintf.c, tests/tsprintf.c:
27610	  * %c takes an int argument, not a char (see C standard), even though
27611	    this may be equivalent due to integer promotion.
27612	  * Add void in prototypes of functions taking no arguments.
27613
27614	mpfr.texi: updated references to the GMP manual.
27615
27616	mpfr.texi: typo in comment.
27617
27618	mpfr.texi: added .info extension in cross-references, to avoid the bug
27619	reported here: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=484740
27620
27621	mpfr.texi: added a reference to a texinfo bug in a comment.
27622
27623	mpfr.texi: added missing @code{}.
27624
27625	mpfr.texi: don't -> do not, doesn't -> does not, won't -> will not.
27626
27627	mpfr.texi: improved Section "Format String".
27628
276292009-01-19  Philippe Th��veny  <philippe.theveny@laposte.net>
27630
27631	tests/tsprintf.c: check if native types are really processed by libc printf.
27632
276332009-01-19  Vincent Lef��vre  <vincent@vinc17.net>
27634
27635	README.dev: no longer mentions HAVE_QUAD_T since it is no longer used.
27636
276372009-01-19  Philippe Th��veny  <philippe.theveny@laposte.net>
27638
27639	mpfr.texi: Explicit list of type supported by mpfr_printf functions.
27640	acinclude.m4: Remove detection of type modifier 'q'.
27641	vasprintf.c: Remove support of type modifier 'q'.
27642	tests/tfprintf.c tests/tprintf.c: Remove tests with type modifier 'q'.
27643
27644	INSTALL: Warn that --with-gmp, --with-gmp-include/--with-gmp-lib, and --with-gmp-build options are mutually exclusive.
27645	configure.in: Check and fail if --with-gmp, --with-gmp-include/--with-gmp-lib, or --with-gmp-build are use simultaneously.
27646
276472009-01-19  Vincent Lef��vre  <vincent@vinc17.net>
27648
27649	tests/tests.c: include <sys/fpu.h> only if need be.
27650
276512009-01-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
27652
27653	[mpfr.texi] made difference between mpfr_set_str and mpfr_strtofr clearer
27654		(after remark from Luis Rivera)
27655
27656	[mpfr.texi] fixed order -> kind (typo found by Luis Rivera, thanks)
27657
276582009-01-16  Philippe Th��veny  <philippe.theveny@laposte.net>
27659
27660	tfprintf.c tprintf.c: Test double with "%f" instead of "%e" so as to avoid failure due to exponent "e+000" on MS Windows.
27661
27662	tests/tfprintf.c tests/tsprintf.c tests/tprintf.c acinclude.m4 vasprintf.c: No longer check libc's printf.
27663
27664	acinclude.m4: Check if %Ld specification is supported (not always the case with MS Windows)
27665	tests/tfprintf.c tests/tprintf.c tests/tsprintf.c: do not check %Ld specification when not available.
27666
27667	get_uj.c get_sj.c tests/tset_sj.c tests/tfits.c fits_intmax.c fits_uintmax.c set_uj.c set_sj.c: make #include-s for intmax_t uniform.
27668	vasprintf.c: make #include-s for intmax_t uniform and use _MPFR_H_HAVE_INTMAX_T instead of HAVE_INTMAX_T.
27669
276702009-01-15  Philippe Th��veny  <philippe.theveny@laposte.net>
27671
27672	tfprintf.c tprintf.c: Remove tests with u_quad_t (on Solaris 10, quad_t exists but u_quad_t doesn't, bug reported by Michael Abshoff).
27673
27674	tfprintf.c tprintf.c: Fix included headers, type intmax_t may be defined in inttypes.h or in stdint.h (see autoconf manual 5.6.1 Portability of Headers).
27675
276762009-01-15  Vincent Lef��vre  <vincent@vinc17.net>
27677
27678	ChangeLog update with "LC_ALL=en_US.UTF8 TZ=UTC svn log -rHEAD:0 -v".
27679
27680	vasprintf.c: deleted trailing spaces.
27681
27682	configure.in: be more tolerant when checking whether gmp.h version
27683	and libgmp version are the same (in case patch level is 0).
27684
27685	Copyright notice update: added 2009 with
27686	  perl -pi -e 's/2008 Free Software/2008, 2009 Free Software/' **/*(^/)
27687	under zsh.
27688
276892009-01-14  Vincent Lef��vre  <vincent@vinc17.net>
27690
27691	Fixed remaining printf format strings.
27692
27693	tests/tadd1sp.c, tests/tsub1sp.c: fixed function prototypes.
27694
27695	tests/teq.c, tests/tests.c: fixed printf format strings.
27696
27697	tests/tcmp2.c: fixed printf format strings.
27698
276992009-01-13  Vincent Lef��vre  <vincent@vinc17.net>
27700
27701	tests/tset_str.c: fixed printf format string.
27702
277032009-01-12  Vincent Lef��vre  <vincent@vinc17.net>
27704
27705	mpfr.texi: consistency changes and corrections concerning the "erange"
27706	flag (do not use @code{} as this is not an identifier, @emph{} is used
27707	as this is not an English word -- but @emph{} should probably be used
27708	too for the other flag names).
27709
27710	mpfr.texi: typo.
27711
277122009-01-12  Philippe Th��veny  <philippe.theveny@laposte.net>
27713
27714	acinclude.m4: New macro MPFR_CHECK_PRINTF_SPEC looking for support of the "%jd", "%qd", and "%td" conversion specifications in printf and gmp_printf.
27715	configure.in: Call MPFR_CHECK_PRINTF_SPEC when we can link against a suitable gmp library and run test programs at compile time, otherwise (for instance, when cross compiling), everything is enable by default.
27716	vasprintf.c: Disable support for length modifiers not supported by libc's printf ('j' and 'q' for this time).
27717	tests/tprintf.c, tests/tfprintf.c: Disable tests for length modifiers not supported by gmp_printf ('j', 'q', and 't' for this time).
27718
27719	mpfr.texi: Fix typo.
27720
277212009-01-08  Vincent Lef��vre  <vincent@vinc17.net>
27722
27723	mpfr.texi: update to January 2009.
27724
27725	Removed useless #include of gmp.h from tests/tfprintf.c and
27726	tests/tsprintf.c for consistency.
27727
277282009-01-08  Philippe Th��veny  <philippe.theveny@laposte.net>
27729
27730	tests/tfprintf.c: Make tests with 'M' specifier optional.
27731	mpfr.texi: Add a warning that gmp may not support 'M' specifier.
27732	vasprintf.c: Add warning comment about 'M' specifier.
27733
27734	mpfr.texi: Fix wrong definition of rounding specifiers.
27735
277362008-12-30  Vincent Lef��vre  <vincent@vinc17.net>
27737
27738	out_str.c: added assert (check that base is in the required range).
27739
277402008-12-26  Vincent Lef��vre  <vincent@vinc17.net>
27741
27742	README.dev: suggest "-Wformat=2".
27743
27744	zeta.c: fixed types for printf when DEBUG is defined.
27745
27746	sub1sp.c: fixed types for printf when WANT_ASSERT >= 2 and
27747	when DEBUG is defined.
27748
27749	sub1.c: fixed types for printf when DEBUG is defined.
27750
27751	set_d64.c: set T[] to unsigned int (instead of int) since its values
27752	are printed with %u.
27753
27754	add1sp.c: fixed types for printf when DEBUG is defined.
27755
27756	mpfr-impl.h: fixed MPFR_UNSIGNED_MINUS_MODULO logic and added missing
27757	parentheses.
27758
27759	div.c: fixed types for fprintf when DEBUG and/or DEBUG2 is defined.
27760
27761	div.c: fixed #ifdef.
27762
27763	round_p.c: fixed types for fprintf when WANT_ASSERT >= 2 (since
27764	mp_prec_t is unsigned, it's better to use unsigned long).
27765
27766	round_p.c: fixed types for fprintf when WANT_ASSERT >= 2.
27767
277682008-12-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
27769
27770	[mpfr.tex] improve documentation of %P
27771
277722008-12-18  Vincent Lef��vre  <vincent@vinc17.net>
27773
27774	Deleted trailing spaces.
27775
277762008-12-17  Philippe Th��veny  <philippe.theveny@laposte.net>
27777
27778	tests/tsprintf.c: clean-up code, improve comment, and put optional tests in tail so that they fail last.
27779
27780	tests/tsprintf.c: Add two regression tests.
27781
277822008-12-16  Philippe Th��veny  <philippe.theveny@laposte.net>
27783
27784	acinclude.m4, vasprintf.c, tests/tfprintf.c, tests/tprintf.c, mpfr.texi: quad_t support
27785
27786	tests/tfprintf.c: code clean-up and output improvement.
27787	tests/tprintf.c: code clean-up.
27788	Note that unsigned long long variable is not set to 1 instead of -1 which was architecture dependent.
27789
277902008-12-16  Vincent Lef��vre  <vincent@vinc17.net>
27791
27792	tests/tprintf.c:
27793	  * stdout_redirect is a boolean (i.e., 0 or 1).
27794	  * output freopen(..., stdout) error message to stderr.
27795
277962008-12-16  Philippe Th��veny  <philippe.theveny@laposte.net>
27797
27798	tfprintf.c: more user-friendly messages.
27799	tprintf.c: more user-friendly messages. Warning: because stdout might be redirected, error messages are printed to stderr.
27800
278012008-12-15  Vincent Lef��vre  <vincent@vinc17.net>
27802
27803	mpfr.texi: more explanations on the precision field for mpfr_printf.
27804
27805	untabify and remove trailing spaces
27806
278072008-12-15  Philippe Th��veny  <philippe.theveny@laposte.net>
27808
27809	mpfr.texi: more explanations on the precision field.
27810
27811	mpfr.texi: Clearly mention that the length modifier 'q' is unsupported by mpfr-*printf.
27812	vasprintf.c: Do not take quad_t as a long long but as an insupported length modifier.
27813	acinclude.m4: Remove check for quad_t.
27814	tests/tprintf.c tests/tfprintf.c: Remove tests with 'q' length modifier.
27815
278162008-12-15  Vincent Lef��vre  <vincent@vinc17.net>
27817
27818	tests/tstrtofr.c: fixed a test (in case |res| > 1).
27819
27820	tests/tstrtofr.c: fixed alignment bug in error message.
27821
278222008-12-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
27823
27824	[nightly-test] added MPFR_CHECK_LIBC_PRINTF
27825
278262008-12-15  Philippe Th��veny  <philippe.theveny@laposte.net>
27827
27828	acinclude.m4: Check for quad_t.
27829	vasprintf.c: Accept length modifier 'q' if HAVE_QUAD_T is defined (instead of HAVE_LONG_LONG).
27830	README.dev: Add notice for new HAVE_QUAD_T macro.
27831
278322008-12-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
27833
27834	[mpfr.texi] added warning about usage of mpfr_init
27835
278362008-12-15  Vincent Lef��vre  <vincent@vinc17.net>
27837
27838	tests/tprintf.c: _MPFR_H_HAVE_INTMAX_T -> HAVE_STDINT_H for <stdint.h>.
27839
278402008-12-15  Philippe Th��veny  <philippe.theveny@laposte.net>
27841
27842	tests/tsprintf.c: Tests against libc's sprintf function are no more executed unless the MPFR_CHECK_LIBC_PRINTF is defined.
27843
27844	tests/tsprintf.c: move bugs 20080610 and 20081214 outside the function random_double.
27845
278462008-12-15  Vincent Lef��vre  <vincent@vinc17.net>
27847
27848	tests/tsprintf.c: completed comment about the sign of a null exponent.
27849
27850	INSTALL: added a note saying the L modifier was added in C89 (source:
27851	C99 rationale, Section 7.19.6.1).
27852
278532008-12-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
27854
27855	[INSTALL] more Windows-related changes
27856
27857	[INSTALL] update on Windows (from Brian Gladman)
27858
27859	[configure.in] removed useless comment
27860
278612008-12-14  Vincent Lef��vre  <vincent@vinc17.net>
27862
27863	INSTALL: references to ISO (international) instead of ANSI (American).
27864
27865	tests/tsprintf.c: corrected a comment.
27866
278672008-12-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
27868
27869	[printf.c,vasprintf.c] include config.h if HAVE_CONFIG_H is defined, to
27870			       solve problem noticed by Brian Gladman
27871
278722008-12-14  Vincent Lef��vre  <vincent@vinc17.net>
27873
27874	tests/tsprintf.c: untabified.
27875
278762008-12-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
27877
27878	[INSTALL] added hint for using the MinGW runtime
27879
27880	[tsprintf.c] added new hard-coded test (needs work to overcome error in
27881		system asprintf)
27882
27883	[tsprintf.c] fixed hard-coded test (spec was missing), and print values of
27884	             xi,yi,spec in case of error
27885
278862008-12-14  Vincent Lef��vre  <vincent@vinc17.net>
27887
27888	INSTALL: corrections on r5730.
27889
278902008-12-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
27891
27892	[INSTALL] added notes on Windows Vista 64 problem
27893
278942008-12-12  Vincent Lef��vre  <vincent@vinc17.net>
27895
27896	README: added "compile" since it is distributed in the tarball.
27897
27898	Added "compile" to svn:ignore property (this file is installed by
27899	"automake --add-missing" due to AM_PROG_CC_C_O, added in r5710).
27900
27901	vasprintf.c: avoid an abort if field width or precision is > INT_MAX.
27902
279032008-12-12  Philippe Th��veny  <philippe.theveny@laposte.net>
27904
27905	tests.c, tset_ld.c, tgeneric.c: Code clean-up based on icc warnings (as in r5492): Use #ifdef BOOL_MACRO instead of #if BOOL_MACRO.
27906
27907	configure.in: remove line 'GCC=' in icc tests which seems to confuse libtool.
27908
279092008-12-12  Vincent Lef��vre  <vincent@vinc17.net>
27910
27911	set_ld.c: rewrote exp computation.
27912
27913	vasprintf.c: avoid a possible gcc 4.1.2 bug with -ftrapv.
27914
27915	vasprintf.c: revert incorrect change in r5713.
27916
279172008-12-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
27918
27919	[set_ld.c] fixed problem with CC=g++ on 64-bit computer:
27920	$ g++ -v
27921	Using built-in specs.
27922	Target: x86_64-linux-gnu
27923	Configured with: ../src/configure -v --enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --program-suffix=-4.1 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --enable-mpfr --enable-checking=release x86_64-linux-gnu
27924	Thread model: posix
27925	gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
27926
27927	[vasprintf.c] patch to MPFR_ASSERTN(...) call to avoid failure with gcc -ftrapv
27928		      with gcc 4.1.2 (probably compiler error)
27929
279302008-12-12  Philippe Th��veny  <philippe.theveny@laposte.net>
27931
27932	Makefile.am, tmul.c: Rename macro __SRCDIR to MPFR_SRCDIR.
27933
279342008-12-11  Philippe Th��veny  <philippe.theveny@laposte.net>
27935
27936	configure.in: Add AM_PROG_CC_C_O needed by tmul_CPPFLAGS.
27937	tests/Makefile.am: Add tmul.dat in EXTRA_DIST and pass srcdir to tmul.c through tmul_CPPFLAGS.
27938	tests/tmul.c: Add path to tmul.dat.
27939
279402008-12-09  Vincent Lef��vre  <vincent@vinc17.net>
27941
27942	INSTALL: TLS on darwin may work, but I don't know anything more.
27943	See thread <https://gcc.gnu.org/legacy-ml/gcc/2008-12/msg00107.html>.
27944
279452008-12-08  Vincent Lef��vre  <vincent@vinc17.net>
27946
27947	README: CVS -> Subversion.
27948
279492008-12-03  Vincent Lef��vre  <vincent@vinc17.net>
27950
27951	configure.in: format --enable-decimal-float description on 80 columns.
27952
27953	configure.in: for --enable-thread-safe, say that the system must support
27954	it (like what has been done for --enable-logging, just above).
27955
27956	INSTALL: added details about ---enable-thread-safe and TLS support.
27957
279582008-11-28  Vincent Lef��vre  <vincent@vinc17.net>
27959
27960	urandomb.c: added comments and cleaned up code.
27961	mpfr.texi: improved description of mpfr_urandomb.
27962
279632008-11-26  Vincent Lef��vre  <vincent@vinc17.net>
27964
27965	mpfr.texi: changed URL added in r5696 to avoid a redirection.
27966
279672008-11-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
27968
27969	[mpfr.texi] added official url on ftp.gnu.org
27970
279712008-11-26  Vincent Lef��vre  <vincent@vinc17.net>
27972
27973	tests/tmul.c: removed useless variable.
27974
27975	tests/tmul.c: made reading a string from file more robust.
27976
279772008-11-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
27978
27979	[tmul.c] moved long strings to file tmul.dat, so that gcc -ansi
27980		 -pedantic-errors works (ISO C90 does not support strings of length
27981		 > 509)
27982
279832008-11-26  Vincent Lef��vre  <vincent@vinc17.net>
27984
27985	tests/tinternals.c: updated tests for guaranteed C90 support, e.g. with
27986	gcc -ansi -pedantic-errors (avoid error "string length 'nnn' is greater
27987	than the length '509' ISO C90 compilers are required to support" because
27988	expression for #expr in ASSERT_FAIL macro is too long).
27989
27990	README.dev: in Section "To make a release", suggest -pedantic-errors.
27991
279922008-11-22  Vincent Lef��vre  <vincent@vinc17.net>
27993
27994	r5689 undone: some casts were incorrect (mp_exp_t may be greater than
27995	mp_prec_t, so that casting a mp_exp_t into a mp_prec_t can introduce a
27996	bug). There may be bugs in some cases, but the casts fix the symptom,
27997	not the bug (unless one casts the unsigned type to a signed type that
27998	is *strictly* larger, which is not possible here).
27999
280002008-11-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
28001
28002	fixed some signed/unsigned warnings with g++ (please review)
28003
280042008-11-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
28005
28006	[nightly-test] removed MPFR_CHECK_ALL (no longer used)
28007	               added possibility to choose compiler (e.g., g++)
28008
28009	[README.dev] better check ./configure CC=g++
28010
280112008-11-21  Philippe Th��veny  <philippe.theveny@laposte.net>
28012
28013	Fix inclusion order: the limit of integer types like size_t are defined in C++ only when __STDC_LIMIT_MACROS is defined before <stdint.h> is included (from ISO C99 7.18.3).
28014
280152008-11-21  Vincent Lef��vre  <vincent@vinc17.net>
28016
28017	README: added m4 directory (since it is distributed in the tarball).
28018
280192008-11-20  Vincent Lef��vre  <vincent@vinc17.net>
28020
28021	Forgot to update Makefile.am too (for r5680).
28022
28023	configure.in: added AC_CONFIG_MACRO_DIR([m4]) for r5680.
28024
280252008-11-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
28026
28027	[mpfr-gmp.c] added comment on recent bug fix on MacOS
28028
28029	[tests] changes to make compilation work with g++ (only fixed errors,
28030	        several warnings remain)
28031
280322008-11-20  Vincent Lef��vre  <vincent@vinc17.net>
28033
28034	Added m4/size_max.m4 file (from gettext).
28035
28036	README.dev: paragraph on tentative definitions.
28037
280382008-11-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
28039
28040	[mpfr-gmp.c] replace tentative definitions by real definitions, solves
28041		     configure problems with mpc (see https://lists.gforge.inria.fr/pipermail/mpc-discuss/2008-November/000048.html)
28042
280432008-11-18  Vincent Lef��vre  <vincent@vinc17.net>
28044
28045	hypot.c: updated a comment.
28046
28047	tests/thypot.c: added a test.
28048
28049	hypot.c: simplified an expression; cosmetic changes.
28050
280512008-11-17  Philippe Th��veny  <philippe.theveny@laposte.net>
28052
28053	hypot.c: Fix underflow problem when diff_exp<=MPFR_EMAX_MAX-2 using fma (provided that mpfr_fma is immune to it).
28054
28055	algorithms.tex: Fix one typo in dilogarithm section.
28056
280572008-11-12  Vincent Lef��vre  <vincent@vinc17.net>
28058
28059	mpfr.texi, NEWS: update concerning mpfr_eq.
28060
28061	mpfr.texi: improved mpfr_eq documentation.
28062
280632008-11-12  Philippe Th��veny  <philippe.theveny@laposte.net>
28064
28065	tests/tstrtofr.c: Add more information when test bug20081028 fails.
28066
280672008-11-07  Philippe Th��veny  <philippe.theveny@laposte.net>
28068
28069	strtofr.c: Replace non-zero digits look up by a simpler test, using the fact that parse_string did remove zeros at end of pstr->mant.
28070	tests/tstrtofr.c: Add other test values around 1 for the bug20081028 non regression test.
28071
280722008-11-07  Vincent Lef��vre  <vincent@vinc17.net>
28073
28074	strtofr.c: improved style ("exact" is a boolean).
28075
280762008-11-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
28077
28078	[strtofr.c]  new patch (ternary value was still wrong in some cases), should
28079		     be ok now
28080	[tstrtofr.c] added new test
28081
280822008-11-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
28083
28084	[strtofr.c] review of patch added in revision 5660, and added comments
28085
280862008-10-29  Vincent Lef��vre  <vincent@vinc17.net>
28087
28088	Updated NEWS file.
28089
28090	strtofr.c: in r5660, as pstr_size and pstr->prec both have type size_t,
28091	changed the type of i from mp_size_t to size_t for consistency.
28092
28093	strtofr.c: reverted the change done in r3008, which led to a trivial
28094	assertion. I think the goal is to make sure that pstr_size (of type
28095	size_t) can be represented in a mp_exp_t (as required in the code).
28096
280972008-10-29  Philippe Th��veny  <philippe.theveny@laposte.net>
28098
28099	strtofr.c: fix bug '[#6604] incorrect directed rounding in mpfr_strtofr'.
28100
281012008-10-29  Vincent Lef��vre  <vincent@vinc17.net>
28102
28103	configure.in: replaced $(...) quoting style by "`...`" since the former
28104	is not supported everywhere (and indeed is not used by the autotools):
28105	https://gmplib.org/list-archives/gmp-bugs/2008-October/001185.html
28106
28107	tests/tstrtofr.c: added bug20081028 (bug found by Christoph Lauter
28108	in mpfr_set_str; this is the corresponding bug in mpfr_strtofr).
28109
28110	tests/tstrtofr.c: corrections related to C usage.
28111
28112	tests/tset_str.c: added bug20081028 (bug found by Christoph Lauter).
28113
281142008-10-27  Vincent Lef��vre  <vincent@vinc17.net>
28115
28116	mpfr.texi: updated @dircategory (request by Karl Berry).
28117
28118	This is now GNU MPFR!
28119
28120	README: CVS -> Subversion.
28121
281222008-10-23  Philippe Th��veny  <philippe.theveny@laposte.net>
28123
28124	vasprintf.c: Fix bug with '#' and 'g' flag combination, see also defect report at  http://www.open-std.org/jtc1/sc22/wg14/www/docs/dr_233.htm.
28125	tests/tsprintf.c: Fix wrong test value accordingly, add non-regression tests.
28126
281272008-10-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
28128
28129	[get_d64.c,set_d64.c] added reference to TR 24732
28130
281312008-10-16  Vincent Lef��vre  <vincent@vinc17.net>
28132
28133	mpfr.h: added a comment about MPFR_SIGN.
28134
281352008-10-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
28136
28137	[mpfr.h] fixed typo, and added warning about MPFR_SIGN.
28138		 Shouldn't we move it in mpfr-impl.h?
28139
281402008-10-03  Vincent Lef��vre  <vincent@vinc17.net>
28141
28142	INSTALL, configure.in: corrected documentation of --with-gmp* options.
28143
281442008-10-02  Vincent Lef��vre  <vincent@vinc17.net>
28145
28146	INSTALL: gave more details about --with-gmp-build.
28147
281482008-10-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
28149
28150	[INSTALL] added warning about usage of --with-gmp-build
28151
281522008-09-21  Vincent Lef��vre  <vincent@vinc17.net>
28153
28154	TODO: updated LIA-2 terminology ("pole" was in the latest public draft,
28155	"infinitary" in the final standard).
28156
281572008-09-19  Philippe Th��veny  <philippe.theveny@laposte.net>
28158
28159	tests/tstrtofr.c: Remove underflow test unintentionally committed with revision 5640.
28160
281612008-09-18  Philippe Th��veny  <philippe.theveny@laposte.net>
28162
28163	Remove obsolete mpfr_random function and replace it by mpfr_urandomb in tests.
28164
28165	Add void in prototype.
28166
281672008-09-18  Vincent Lef��vre  <vincent@vinc17.net>
28168
28169	tests/tests.c: added comments about the MPFR_FPU_PREC macro.
28170
281712008-09-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
28172
28173	[tget_str.c] replaced 'double' input by 'char*' to avoid problems with single
28174	             precision (partially solves #3353)
28175
281762008-09-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
28177
28178	[README.dev] added item about coverage of releases
28179
281802008-09-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
28181
28182	final got rid of generic.c (bug 6199)
28183
28184	[generic.c] removed unused file
28185
281862008-09-16  Vincent Lef��vre  <vincent@vinc17.net>
28187
28188	NEWS, mpfr.texi: documented the fact that mpfr_random and mpfr_random2
28189	will be suppressed in the next release.
28190
28191	ChangeLog update with "LC_ALL=en_US.UTF8 TZ=UTC svn log -rHEAD:0 -v".
28192
281932008-09-10  Philippe Th��veny  <philippe.theveny@laposte.net>
28194
28195	tests/tpow_z.c: Check test for bug20080904 with the minimum possible negative exponent so as not to underflow with (future) 128 bits machine.
28196
281972008-09-06  Vincent Lef��vre  <vincent@vinc17.net>
28198
28199	pow.c: fixed bug20080904 (from tpow_z.c).
28200
28201	pow.c: added log messages.
28202
282032008-09-05  Philippe Th��veny  <philippe.theveny@laposte.net>
28204
28205	tests/tpow_z.c: Add a test that underflows.
28206
282072008-09-05  Vincent Lef��vre  <vincent@vinc17.net>
28208
28209	configure.in: updated a comment (for the next automake version).
28210
28211	NEWS: added a note about mpfr_init_gmp_rand (removed in r4953).
28212
282132008-09-04  Vincent Lef��vre  <vincent@vinc17.net>
28214
28215	README.dev: update (about AM_MAINTAINER_MODE).
28216
282172008-09-02  Vincent Lef��vre  <vincent@vinc17.net>
28218
28219	Updated README file.
28220
282212008-09-01  Vincent Lef��vre  <vincent@vinc17.net>
28222
28223	Removed patch-libtool and updated README.dev as libtool has been fixed.
28224
28225	NEWS file update (get default $CC and $CFLAGS from gmp.h).
28226
28227	configure.in: removed a useless blank line.
28228
28229	README.dev: reverse-merged r5440 (about __GMP_CC/__GMP_CFLAGS) as said.
28230
282312008-08-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
28232
28233	[algorithms.tex] the truncation error for rec_sqrt was correct, but the
28234	reasoning was not detailed enough
28235
282362008-08-27  Vincent Lef��vre  <vincent@vinc17.net>
28237
28238	Added patch-aclocal-icc; this is a port of the patch posted on
28239	  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=485421
28240	for aclocal.m4 when libtool 1.5.26-4 from Debian has been used.
28241
282422008-08-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
28243
28244	[rec_sqrt.c] fixed bug "bad_case1" (truncation error was forgotten, when
28245	output precision was smaller than input precision)
28246
282472008-08-27  Vincent Lef��vre  <vincent@vinc17.net>
28248
28249	mpfr.texi: updated the month.
28250
282512008-08-26  Vincent Lef��vre  <vincent@vinc17.net>
28252
28253	tests/trec_sqrt.c: enable the tests only with MPFR 2.4.0+.
28254
28255	NEWS: noted when some changes were applied in 2.3.* versions.
28256
282572008-08-25  Vincent Lef��vre  <vincent@vinc17.net>
28258
28259	README.dev: completed information about integer types.
28260
28261	README.dev: added information about mixing signed and unsigned types.
28262
28263	li2.c: avoid even more mixing between signed and unsigned types, by
28264	casting mpfr_prec_t to mp_exp_t in expressions involving mp_exp_t.
28265	This time the bug is fixed: tli2 no longer freezes in 64 bits.
28266
28267	li2.c: use an "int" instead of "unsigned int" in li2_series() to avoid
28268	mixing signed and unsigned types, which can yield implicit conversions
28269	from signed into unsigned, and maybe problems on some platforms. This
28270	doesn't fix the current freeze of tli2 on 64-bit machines, though.
28271
282722008-08-24  Vincent Lef��vre  <vincent@vinc17.net>
28273
28274	tests/tgeneric.c: changed the way a warning with gcc 4.2+ is avoided
28275	(r5335), as suggested by Manuel L��pez-Ib����ez on GCC bug 36299.
28276
282772008-08-21  Vincent Lef��vre  <vincent@vinc17.net>
28278
28279	Added data_check support to mpfr_sqr.
28280	Added bad_cases support to mpfr_sqr and mpfr_sqrt.
28281
28282	tests/tsqr.c: corrected function definitions.
28283
28284	Added data_check & bad_cases support to mpfr_rec_sqrt.
28285
28286	tests/trec_sqrt.c: added bad case that makes mpfr_rec_sqrt fail.
28287
28288	mpfr-impl.h: as not all ICC versions define the __ICC macro (only
28289	the __INTEL_COMPILER macro can be defined), define the __MPFR_ICC
28290	and __MPFR_GNUC macros in another way.
28291
28292	tests/tsprintf.c: fixed compilation failure when HAVE_DENORMS isn't
28293	defined, such as with icc 10.1 on Itanium.
28294
28295	tests/tprintf.c: to allow random values to be reproducible,
28296	do not call randlimb several times in a same expression,
28297	because the evaluation order is unspecified.
28298
28299	tests/tpow_all.c: added test of mpfr_rec_sqrt (only with MPFR 2.4.0+).
28300
28301	tests/tpow_all.c: removed useless parentheses.
28302
28303	rec_sqrt.c: added logging support.
28304
28305	algorithms.tex: replaced "towards" by "toward" for consistency with
28306	the MPFR manual and the standards.
28307
28308	algorithms.tex: corrected English usage, spelling and typography
28309	in the section on mpfr_hypot.
28310
283112008-08-20  Vincent Lef��vre  <vincent@vinc17.net>
28312
28313	tests/thypot.c: added a test for tiny x and y (already done by the
28314	generic tests, but not yet in the 2.3 branch in extended exponent
28315	range).
28316
28317	tests/tgeneric.c: for the special cases tested in precision p1
28318	for n <= 3, set the extended exponent range.
28319
28320	tests/thypot.c: improved error messages.
28321
28322	tests/thypot.c: perform some tests both in the current exponent range
28323	and in the extended exponent range, so that the lost-overflow bug of
28324	MPFR 2.3.1 can be triggered on 64-bit machines too.
28325
28326	tests/tpow_all.c:
28327	  * In cmpres(), if z1 and z2 were both zeros, their sign wasn't tested.
28328	  * Added test of mpfr_sqr and mpfr_sqrt.
28329
28330	mpfr.texi: added a paragraph on MPFR internal data.
28331
28332	pow_si.c: fixed the underflow/overflow detection for n < 0 by using
28333	a method similar to mpfr_pow_z.
28334
28335	pow_si.c: added logging support.
28336
28337	pow.c: fixed bug in mpfr_pow_general by computing correct bounds
28338	on exp(y*ln|x|). ==> tpow no longer fails in bug20080820.
28339	Note: this bug could affect only underflow cases and possibly cases
28340	near overflow.
28341
28342	tests/tpow.c: updated comment for bug20080820().
28343
28344	tests/tpow.c: added testcase for bug mentioned in r5552.
28345
28346	pow_z.c: solves the underflow problem in round-to-nearest by using
28347	mpfr_pow_general in precision 2 (like in mpfr_pow_pos_z), but this
28348	currently fails due to a more general bug from r4940 (the rounding
28349	modes to compute an upper bound on exp(y*ln|x|) are incorrect).
28350
28351	pow_z.c: formatting.
28352
28353	pow_z.c: moved a log message.
28354
28355	pow_z.c: added log messages.
28356
28357	tests/tpow_all.c: added an underflow test of x^y with y integer < 0.
28358
28359	pow_z.c: no longer take care of the possibly lost overflow flag, as
28360	the other functions do not do this either; this general problem has
28361	been fixed in mpfr_check_range (r5545).
28362
28363	Fixed the following problem:
28364	  The overflow flag can be lost in many functions called with the
28365	  maximum exponent equal to MPFR_EMAX_MAX (this is the default on
28366	  32-bit machines) when the temporary result (in a higher precision)
28367	  is representable but once rounded, it yields an overflow.
28368	This needed a slight change of behavior of the mpfr_check_range function
28369	(defined in exceptions.c). Described this change in mpfr.texi and NEWS.
28370
28371	pow_z.c: fixed some of the underflow/overflow problems for z < 0.
28372
28373	tests/tpow_all.c: fixed mpfr_clear in overflow_inv.
28374
28375	tests/tpow_all.c: more detailed error messages.
28376
28377	tests/tpow_all.c: improved overflow_inv tests to trigger a bug
28378	in mpfr_pow_z due to incorrect rounding mode settings in r5315:
28379	on a 64-bit Linux machine, "./tpow_all 1" ends with:
28380	Bad overflow flag in overflow_inv for mpfr_pow, extended exponent range,
28381	s = 1, t = 1, GMP_RNDZ
28382
28383	tests/tpow_all.c: in overflow_inv, reduced t to [0,5] and added tests.
28384
283852008-08-19  Vincent Lef��vre  <vincent@vinc17.net>
28386
28387	tests/tpow_all.c: improved error messages.
28388
28389	tests/tpow_all.c: changed the precisions in overflow_inv for clearer
28390	output (the reported failures are the same).
28391
28392	tests/tpow_all.c: information about extended exponent range wasn't
28393	always output. For simplicity to provide such an information, made
28394	ext a global variable.
28395
28396	tests/tpow_all.c: added overflow tests for x^(-1). -> Failure.
28397
28398	Fixed basic underflow checking in mpfr_pow.
28399
284002008-08-18  Vincent Lef��vre  <vincent@vinc17.net>
28401
28402	mpfr-impl.h: defined macro INITIALIZED to declare that some variable
28403	  is initialized before being used.
28404	README.dev: described the use of this macro.
28405	lngamma.c: replaced the dummy initialization by this macro.
28406
284072008-08-16  Vincent Lef��vre  <vincent@vinc17.net>
28408
28409	pow.c: updated comments.
28410
28411	tests/tpow_all.c: added tests -> assertion failed in pow.c line 603.
28412
284132008-08-15  Vincent Lef��vre  <vincent@vinc17.net>
28414
28415	tests/tpow_all.c: added test of mpfr_ui_div.
28416
28417	pow_z.c: improved comments.
28418
284192008-08-14  Vincent Lef��vre  <vincent@vinc17.net>
28420
28421	mpfr.texi: additions related to MPFR caches.
28422	  * Added Section "Memory Handling" mentioning caches.
28423	  * Added call to mpfr_free_cache in the first example.
28424	  * Updated description of function mpfr_free_cache.
28425
28426	tests/texp.c: improved an underflow test to trigger the bug fixed
28427	in r5453 on 32-bit machines too.
28428
28429	log.c: fixed a log message.
28430
28431	exp_2.c: fixed other log messages.
28432
28433	exp_2.c: fixed a log message (the format didn't correspond to the types)
28434	and improved it.
28435
284362008-08-12  Vincent Lef��vre  <vincent@vinc17.net>
28437
28438	tests/tdiv.c: completed underflow test by testing negative results too.
28439
28440	mul_2si.c, div_2si.c, div_2ui.c: fixed double-rounding problem in
28441	rounding to nearest when the rounded result in unbounded exponent
28442	range is 2^(emin - 2).
28443	tests/tmul_2exp.c: test x = 15/16 too. Now tmul_2exp no longer fails
28444	(with the correction in div.c from r5515).
28445
28446	tests/tdiv.c correction: the underflow bug was in case when the
28447	result had to be zero.
28448
28449	div.c: fixed underflow bug that occurs in rounding to nearest when
28450	the rounded result in unbounded exponent range is 2^(emin - 2) and
28451	inex > 0: one got a non-zero result instead of +/-0.
28452
28453	tests/tdiv.c: added a test that triggers a bug in mpfr_div in case of
28454	underflow in rounding to nearest when the result must be non-zero.
28455
28456	div.c: added logging support.
28457
28458	tests/tmul_2exp.c: test mpfr_div_2ui too.
28459
28460	tests/tmul_2exp.c: test mpfr_div_2si too.
28461
28462	tests/tmul_2exp.c: updated underflow() test to trigger a double-rounding
28463	bug in case of underflow.
28464
28465	tests/texp.c: updated comment (the double-rounding bug triggered by
28466	underflow_up() is in mpfr_mul_2si).
28467
28468	tests/texp.c: updated underflow_up() test: added case exp(eps) ~= 1/2,
28469	which fails due to a double-rounding problem in rescaling the result.
28470
28471	tests/texp.c: improved comments in underflow_up().
28472
284732008-08-11  Vincent Lef��vre  <vincent@vinc17.net>
28474
28475	Merged vlefevre branch:
28476	    svn merge -c-5445 .
28477	    svn merge -r5436:HEAD .../mpfr/branches/vlefevre
28478	* pow.c:
28479	  - Moved the general case from mpfr_pow() to a new internal function
28480	    mpfr_pow_general().
28481	  - In this function (from old code), avoid unnecessary overflow test
28482	    if the intermediate result is not an infinity (which was the case
28483	    of underflow with non-zero result, thus not an overflow).
28484	  - Fixed a double-rounding problem that occurred in this function in
28485	    some underflow cases when rescaling the result.
28486	  - Added log messages.
28487	* mpfr-impl.h: added mpfr_pow_general prototype.
28488	* pow_z.c:
28489	  - The underflow case of mpfr_pow_pos_z() in rounding to nearest,
28490	    which was incorrect, is now handled by calling mpfr_pow_general(),
28491	    which can scale the result thus decide whether the rounded result
28492	    should be 0 or nextabove(0). To avoid the exact cases of x^y with
28493	    y integer (not supported by mpfr_pow_general()), rounding is done
28494	    in precision 2 (this is also faster!).
28495	  - Fixed underflow-related bug (case exact result = 2^(emin-2), in
28496	    rounding to nearest).
28497	  - Added log messages.
28498	* pow_ui.c:
28499	  - Swapped parameters x and y for consistency (-> y = x^n).
28500	  - Fixed the internal overflows and underflows (which could yield
28501	    spurious overflows/underflows and incorrect results) by using
28502	    mpfr_pow_z.
28503	* tests/tpow_all.c:
28504	  - Test flags in test_others and cmpres; cmpres argument z1 can now
28505	    be a null pointer (if unknown pure FP value, thus not tested).
28506	  - Added a test of 2^(emin - i/4) with 0 <= i <= 12, that triggered
28507	    the bugs mentioned above (and now fixed).
28508
28509	[Added during the Subversion to Git conversion]
28510	A merge commit could not be generated for Git.
28511	Branch in Git: refs/deleted/r5506/heads/vlefevre
28512
285132008-08-11  Vincent Lef��vre  <vincent@vinc17.net>
28514
28515	tests/tmul_2exp.c: added underflow tests.
28516
28517	Added logging support to mpfr_{mul,div}_2{si,ui}.
28518
285192008-08-08  Vincent Lef��vre  <vincent@vinc17.net>
28520
28521	mpfr-impl.h: added a space for MPFR_LOG_MSG.
28522
28523	README.dev: corrected MPFR_LOG_MSG example.
28524
28525	mpfr.h: added a comment concerning ICC.
28526
285272008-08-07  Vincent Lef��vre  <vincent@vinc17.net>
28528
28529	Final code clean-up based on icc warnings.
28530
28531	Further code clean-up (and consistency) based on icc warnings:
28532	  * Removed useless code.
28533	  * Avoid hiding variable declarations.
28534	  * Use #ifdef BOOL_MACRO instead of #if BOOL_MACRO.
28535	  * In MPFR_RNDRAW_GEN macro definition, variables declared locally now
28536	    start with an underscore to avoid possible conflits with parameters
28537	    (and modified macro calls that use these variables).
28538
28539	round_prec.c: avoid hiding variable declaration (detected by icc).
28540
28541	pow_si.c: fixed Ziv's iteration (code from r3305) by using MPFR_ZIV_NEXT
28542	(problem detected by icc, because variable "loop" was never used).
28543
28544	mul_ui.c: removed variable that was set but never used (detected by icc,
28545	but not by gcc, probably because of early optimization).
28546
28547	inp_str.c: fixed possible implementation-defined behavior (a value
28548	from the unsigned char range -- from getc -- was stored in a char,
28549	and if the char type is signed and the value cannot be represented
28550	in a char, this is implementation-defined).
28551
28552	get_str.c: avoid hiding variable declaration (detected by icc).
28553
28554	div.c: avoid hiding variable declaration (detected by icc).
28555
28556	mpfr.h, mpfr-impl.h: avoid warnings with icc (at least icc 10.1).
28557	README.dev: added a paragraph on the test of "boolean" macros.
28558
285592008-08-05  Vincent Lef��vre  <vincent@vinc17.net>
28560
28561	configure.in: dist-lzma needs automake 1.10.1.
28562
285632008-08-04  Vincent Lef��vre  <vincent@vinc17.net>
28564
28565	configure.in: "make dist" generates lzma-compressed tarball too.
28566
285672008-08-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
28568
28569	[exp_2.c] fixed case where cancel is negative, added comments and improved
28570	code when initial n is known to be 0
28571
285722008-08-01  Vincent Lef��vre  <vincent@vinc17.net>
28573
28574	exp_2.c: MPFR_EXP -> MPFR_GET_EXP.
28575
285762008-08-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
28577
28578	[exp_2.c] fixed bug20080731
28579
285802008-07-31  Vincent Lef��vre  <vincent@vinc17.net>
28581
28582	Added algorithms.out to svn:ignore property.
28583
28584	tests/texp.c: added testcase for new bug found in mpfr_exp_2.
28585
28586	exp.c, exp_2.c: fixed the overflow/underflow detection. The underflow_up
28587	test in texp.c still fails for mpfr_exp_2 only, but this seems to be due
28588	to a bug in this function (incorrect error bound?).
28589
28590	tests/texp.c: added underflow tests to underflow_up; currently fail due
28591	to incorrect underflow detection in mpfr_exp (and if this detection is
28592	disabled, mpfr_exp_3 behaves correctly, but not mpfr_exp_2).
28593
285942008-07-31  Philippe Th��veny  <philippe.theveny@laposte.net>
28595
28596	Fix typos, improve wording.
28597
285982008-07-31  Vincent Lef��vre  <vincent@vinc17.net>
28599
28600	Added logging support to mpfr_exp_2 (exp_2.c).
28601
28602	tests/texp.c: updated comment concerning the bug fixed in r5469.
28603
28604	exp.c: updated comment about the exp3.c routine.
28605
28606	exp3.c: fixed internal underflow.
28607
28608	fma.c, fms.c: added a comment about apparently incorrect scaling.
28609
28610	Added logging support to mpfr_sqr and mpfr_sqrt.
28611
286122008-07-31  Philippe Th��veny  <philippe.theveny@laposte.net>
28613
28614	hypot.c: Fix comment.
28615	BUGS: Add known bug for mpfr_hypot.
28616
286172008-07-30  Philippe Th��veny  <philippe.theveny@laposte.net>
28618
28619	algorithms.tex: Prove the correctness of the algorithm used for mpfr_hypot
28620	when the difference of inputs' exponents is less then exp_max - 2.
28621	hypot.c: Change algorithm according to its description in algorithms.tex
28622	tests/thypot.c: Fix tests (some were present but didn't trigger any error).
28623
286242008-07-30  Vincent Lef��vre  <vincent@vinc17.net>
28625
28626	tests/texp.c: completed a comment.
28627
28628	tests/texp.c: updated underflow_up test of log(2^(emin - 1)) + eps:
28629	  * In the old test (- log(2) < eps < 0 in GMP_RNDN), do not test
28630	    the flags, as this may be incorrect on some platforms (though
28631	    unlikely). Better tests will be provided later.
28632	  * Added test for case eps > 0, which triggers a bug in mpfr_exp_3
28633	    (underflow flag sometimes set while it shouldn't be set).
28634
28635	exp.c: completed a comment, describing how rigorous underflow/overflow
28636	detection can be done.
28637
28638	exp.c: removed an incorrect comment (corresponds to exp_2.c and already
28639	in exp_2.c).
28640
286412008-07-29  Vincent Lef��vre  <vincent@vinc17.net>
28642
28643	exp.c: underflow/overflow detection is still a bit incorrect.
28644
28645	TODO: added "test underflow/overflow detection...".
28646
28647	exp.c: fixed underflow/overflow detection.
28648
28649	exp_2.c: GNU style.
28650
28651	mpfr-impl.h: make sure that mpfr_get_exp_t and mpfr_set_exp_t are
28652	correctly defined.
28653
286542008-07-26  Vincent Lef��vre  <vincent@vinc17.net>
28655
28656	tests/texp.c: updated comment of underflow_up.
28657
28658	exp_2.c: solved the assertion failure by detecting a zero due to a
28659	cancellation and increasing the precision via Ziv's loop in such a
28660	case.
28661
28662	exp_2.c: added another assertion, that is checked independently of
28663	the value of MPFR_EXP_2_THRESHOLD (better for debugging).
28664
28665	exp_2.c: added an assertion (more explicit than a similar assertion
28666	that would fail later) in mpfr_exp2_aux, caught by the underflow_up
28667	test in texp.c for prec = 16 on a 64-bit Linux machine.
28668
286692008-07-25  Vincent Lef��vre  <vincent@vinc17.net>
28670
28671	tests/texp.c: added a test that shows incorrect underflow detection
28672	in mpfr_exp, with possible assertion failure.
28673
28674	tests/tpow_all.c: added test of mpfr_exp2 and mpfr_exp10.
28675
28676	TODO: update.
28677
28678	TODO: added "option to use a 32-bit exponent type on LP64 machines".
28679
286802008-07-23  Vincent Lef��vre  <vincent@vinc17.net>
28681
28682	acinclude.m4: updated AC_PREREQ line due to the use of AC_PROG_SED.
28683
286842008-07-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
28685
28686	added reminder
28687
28688	patch from Patrick to get __GMP_CC and __GMP_CFLAGS from gmp.h
28689	(future undocumented feature for GMP 4.2.3) -> we need to check
28690	those are the names chosen by GMP 4.2.3 when it will be out
28691
286922008-07-21  Vincent Lef��vre  <vincent@vinc17.net>
28693
28694	pow.c: fixed incorrect rounding in the general case when the result
28695	is negative and rnd = GMP_RNDD or GMP_RNDU (bug20080721 in tpow.c).
28696
28697	tests/tpow.c: completed test bug20080721.
28698
28699	pow.c: fixed the non-trivial cases with large integer y.
28700
28701	tests/tpow.c: added comment for bug20080721.
28702
28703	tests/tpow.c: found another bug in mpfr_pow with large integers.
28704
28705	tests/tpow_all.c: added a test that detects a bug in an underflow case.
28706
28707	tests/tpow_all.c: made the comparisons between the power functions
28708	generic to be able to add other tests.
28709
287102008-07-20  Vincent Lef��vre  <vincent@vinc17.net>
28711
28712	pow_z.c: use MPFR_IS_POS(x) instead of MPFR_SIGN(x) > 0.
28713
28714	pow_si.c: corrected a comment.
28715
28716	tests/tpow_z.c: fixed NaN^0 test.
28717
28718	Fixed a bug in pow_ui.c and pow_z.c: NaN^0 returned NaN instead of 1
28719	(see documentation). Affected functions: mpfr_pow_ui, mpfr_pow_si and
28720	mpfr_pow_z (but not mpfr_pow). Added new test file tests/tpow_all.c
28721	to test all the MPFR power functions on simple and special values.
28722
287232008-07-19  Vincent Lef��vre  <vincent@vinc17.net>
28724
28725	mpfr.texi: forgot the case x^(��0).
28726
28727	pow_z.c: updated comments.
28728
28729	tests/tpow_z.c: test bug20080223() didn't check that the result wasn't
28730	a NaN. Fixed.
28731
28732	tests/tsprintf.c: removed trailing whitespace.
28733
287342008-07-11  Vincent Lef��vre  <vincent@vinc17.net>
28735
28736	BUGS: potential problem with integer division and pre-C99 compilers,
28737	noted by Philippe.
28738
287392008-07-08  Philippe Th��veny  <philippe.theveny@laposte.net>
28740
28741	Fix typos
28742
287432008-06-30  Philippe Th��veny  <philippe.theveny@laposte.net>
28744
28745	Fix typo (gmp macro TMP_ALLOC instead of MPFR_TMP_ALLOC).
28746
287472008-06-27  Vincent Lef��vre  <vincent@vinc17.net>
28748
28749	vasprintf.c: fixed comment from r5408.
28750
287512008-06-27  Philippe Th��veny  <philippe.theveny@laposte.net>
28752
28753	acinclude.m4: add a check defining va_copy macro when needed.
28754	vasprintf.c: use TMP_ALLOC instead of variable-length array (C99).
28755	tests/tfprintf.c tests/tsprintf.c: #define length of array instead of const int so as to avoid variable-length array (C99).
28756	tests/tprintf.c: #define length of array instead of const int so as to avoid variable-length array (C99).
28757	                 remove use of function dup (dependency with <unistd.h>).
28758
287592008-06-25  Vincent Lef��vre  <vincent@vinc17.net>
28760
28761	README.dev: updated "To make a release" (mention various compilers).
28762
287632008-06-23  Vincent Lef��vre  <vincent@vinc17.net>
28764
28765	configure.in: added comments about icc.
28766
287672008-06-22  Vincent Lef��vre  <vincent@vinc17.net>
28768
28769	TODO: added "replace the *_THRESHOLD macros by global (TLS) variables
28770	that can be changed at run time [...]".
28771
287722008-06-16  Vincent Lef��vre  <vincent@vinc17.net>
28773
28774	INSTALL: updated GMP's URL (the old one no longer worked), using
28775	http://www.gnu.org/software/gmp/ as suggested by Karl Berry (see
28776	GNU policies).
28777
287782008-06-13  Vincent Lef��vre  <vincent@vinc17.net>
28779
28780	mpfr.texi: changed the license for the inclusion of the manual in Debian
28781	(see <https://www.debian.org/vote/2006/vote_001).
28782
287832008-06-11  Vincent Lef��vre  <vincent@vinc17.net>
28784
28785	AUTHORS: converted from ISO-8859-1 to UTF-8 (this is the standard
28786	nowadays and this is the encoding declared on InriaGforge).
28787
287882008-06-11  Philippe Th��veny  <philippe.theveny@laposte.net>
28789
28790	Fix typo in mpfr_printf documentation.
28791
287922008-06-11  Vincent Lef��vre  <vincent@vinc17.net>
28793
28794	vasprintf.c: removed a misleading and now useless comment.
28795
28796	vasprintf.c: improved a comment.
28797
28798	tsprintf.c: typo in a comment.
28799
288002008-06-11  Philippe Th��veny  <philippe.theveny@laposte.net>
28801
28802	Fix comparison between mpfr string and libc string.
28803
288042008-06-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
28805
28806	added test for bug(?) found by Vincent with icc
28807
288082008-06-10  Philippe Th��veny  <philippe.theveny@laposte.net>
28809
28810	Change #include <stdio.h> to #include <cstdio> when compiled with a C++ compiler.
28811	Assume that mpfr_rnd_t and wchar_t arguments in a variadic functions are converted to 'int' by C++ compilers.
28812
288132008-06-10  Vincent Lef��vre  <vincent@vinc17.net>
28814
28815	mpfr-impl.h: generate an error (with a clear error message) with g++ and
28816	--enable-logging since compilation fails (--enable-logging is mainly for
28817	testing and is already incompatible with threading support anyway).
28818
288192008-06-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
28820
28821	the O(l^{1/2}) method to evaluate power series is due to
28822	Paterson and Stockmeyer and not Brent/Kung
28823
288242008-06-09  Vincent Lef��vre  <vincent@vinc17.net>
28825
28826	Clean-up and various changes to be able to build MPFR with g++.
28827	But the following 3 tests currently fail with g++ 4.3.1:
28828	  FAIL: tprintf
28829	  FAIL: tsprintf
28830	  FAIL: tfprintf
28831	This is an "Illegal instruction" error, so probably a bug in g++.
28832	[Edit: acinclude.m4 now uses gl_SIZE_MAX, typically from size_max.m4,
28833	but which is not installed on all machines; this will be added to the
28834	MPFR repository in changesets 5680 and 5683.]
28835
28836	vasprintf.c: do not use pointer arithmetic on void *.
28837
28838	configure.in: added -Wpointer-arith to gcc options (this warning
28839	is useful as pointer arithmetic on void * is a gcc extension and
28840	doesn't work with g++).
28841
28842	README.dev: mentioned a libtool bug with recent versions of icc.
28843
28844	sum.c:
28845	  * Completed a comment about T ** and const T ** mismatch.
28846	  * Removed a useless and misleading const that makes icc complain.
28847
288482008-06-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
28849
28850	fixed typos
28851
288522008-06-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
28853
28854	use DeclareMathOperator for erf and erfc
28855
28856	fixed typo, added argument reduction for atan (we should try it since I believe
28857	atan is slow wrt exp, log, sin, cos for large precisions)
28858
28859	simplified error analysis of log1p (did not match the code), and improved the
28860	code (in particular when 1+x is exact, directly call mpfr_log and avoid Ziv).
28861
288622008-06-06  Vincent Lef��vre  <vincent@vinc17.net>
28863
28864	rec_sqrt.c: removed execution bit.
28865
28866	mpfr.texi: update about build problems and the FAQ.
28867
28868	mpfr.texi: added a comment about why the cross reference to GNU Libtool
28869	doesn't work from MPFR's directory.
28870
28871	mpfr.texi: added Section 4.1 "Headers and Libraries" partly based on
28872	GMP's. Note: in the generated mpfr.info file, the cross reference to
28873	libtool does not work (though GMP's info manual has exactly the same
28874	one and it works there). I couldn't figure out why.
28875
28876	mpfr.texi: make cross reference in HTML similar to texinfo's default one
28877	in PDF.
28878
288792008-06-04  Vincent Lef��vre  <vincent@vinc17.net>
28880
28881	mpfr.texi: updated the month.
28882
28883	mpfrlint: check the LGPL license version.
28884
28885	mpfr.texi: updated paragraph on the license in "Introduction to MPFR".
28886
28887	mpfr.texi: updated GFDL version from 1.1 to 1.2 to match fdl.texi
28888	(this should have been done in r4059).
28889
28890	mpfrlint: check GFDL versions.
28891
28892	mpfr.texi, update-version: in the MPFR manual, replaced two
28893	http://www.mpfr.org/ by the URL corresponding to the version,
28894	which can be updated by update-version.
28895
28896	mpfr.texi: completed paragraph on MPFR vs double-precision numbers.
28897
28898	mpfr.texi: replaced each @code{mpfr} by MPFR (for consistency).
28899
289002008-06-03  Vincent Lef��vre  <vincent@vinc17.net>
28901
28902	mpfr.h: fixed a comment.
28903
289042008-05-23  Vincent Lef��vre  <vincent@vinc17.net>
28905
28906	tests: added tprintf to svn:ignore property.
28907
28908	Added documentation about "'var' may be used uninitialized in this
28909	function" warnings.
28910
289112008-05-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
28912
28913	Added comments about int i = i trick to avoid warning about uninitialized
28914	variables. This has the advantage to generate no code, but works for gcc only.
28915
289162008-05-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
28917
28918	initialize bbcp and bbcp1 to -1 (should be invalid)
28919	added MPFR_ASSERTN to check they are not -1 before reads
28920	simplified a test: (rnd == RNDN) || (rnd != RNDZ) ==> rnd != RNDZ
28921
28922	got rid of false (?) compiler warnings for uninitialized values
28923	-> we might want to revert this change if we find a better solution and/or
28924	   if the problem is fixed in gcc
28925
289262008-05-20  Vincent Lef��vre  <vincent@vinc17.net>
28927
28928	Reverted changeset r5355. Better patch to avoid the warnings
28929	"warning: label 'addoneulp_doit' defined but not used" in
28930	MPFR_RNDRAW_GEN by adding the dummy code in the macro itself.
28931
28932	Avoid warnings "warning: label 'addoneulp_doit' defined but not used"
28933	due to the use of MPFR_RNDRAW_GEN. Dummy source code is inserted, but
28934	this is safe, clean (optimized away) and IMHO not too obtrusive.
28935
289362008-05-08  Vincent Lef��vre  <vincent@vinc17.net>
28937
28938	acinclude.m4: locally add -I$srcdir to CPPFLAGS for the thread-safe test
28939	(fixes bug #5556).
28940
289412008-04-10  Vincent Lef��vre  <vincent@vinc17.net>
28942
28943	INSTALL: added a paragraph about -ffast-math / -fast compiler options.
28944
289452008-04-07  Vincent Lef��vre  <vincent@vinc17.net>
28946
28947	tcmp.c: fixed some tests (if mpfr_cmp2 returns an incorrect result,
28948	the bug may be some non-reproducible behavior, so don't compute it
28949	a second time to say what the value was!) and clean-up.
28950
289512008-04-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
28952
28953	fixed compiler warning
28954
289552008-04-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
28956
28957	some other changes suggested by Patrick Pelissier for 16-bit portability
28958
28959	a few patches suggested by Patrick Pelissier to ease porting to 16-bit
28960	architectures: removed useless #include <time.h>, changed 1024 to 1024L,
28961	int i to lng i
28962
289632008-03-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
28964
28965	added item about frac_* functions
28966
289672008-03-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
28968
28969	fixed typo
28970
289712008-03-11  Philippe Th��veny  <philippe.theveny@laposte.net>
28972
28973	tests/tfprintf.c: set output to stdout when invocked with one command-line
28974	                  parameter.
28975	tests/tprintf.c: add IO errors processing.
28976
289772008-03-10  Philippe Th��veny  <philippe.theveny@laposte.net>
28978
28979	tests/tprintf.c: add tests for mpfr_printf and mpfr_vprintf.
28980	Makefile.am: add tprintf.c to check_PROGRAMS.
28981
28982	TODO: remove newly added functions
28983	vasprintf.c: change type of some variables taking care of signed/unsigned
28984	             comparisons, improve conditional tests, improve buffer
28985	             allocation, improve comments.
28986	tests/tfprintf.c: remove silly code.
28987
28988	acinclude.m4: add check for long long compiler support, define HAVE_LONG_LONG.
28989	vasprintf.c: raise an error when it encounter an unsupported format in format
28990	             string.
28991	tests/tfprintf.c: HAVE_SDTINT_H -> _MPFR_H_HAVE_INTMAX_T
28992
28993	vasprintf.c: fix rounding bit bug with %RNa.
28994	tests/tsprintf.c: add tests for %RNa (rounding bit bug, tie case, trailing
28995	zeros in fractional part.
28996
28997	vasprintf.c: fix bug in macro CONSUME_VA_ARG with a mp_limb_t or mp_limb_t array argument
28998	vasprintf.c: clean code storing the number of character in a pointer and fix bug with a mp_limb_t or mp_limb_t array argument
28999	tests/tfprintf.c: add tests for %n with all kinds of type, get rid of machine dependent limits of type (use +1/-1 instead)
29000
29001	vasprintf.c: fix bug of forgotten decimal point with %#.0Rf
29002	tests/tsprintf.c: add test with %#Rf and an integer mpfr_t
29003
29004	li2.c: improve error estimation in Ziv loop.
29005	algorithm.tex:improve proof of mpfr_li2 algorithm.
29006
29007	hypot.c: change shift amount for exponents so as to avoid overflow in Ziv loop.
29008	algorithm.tex: improve proof for mpfr_hypot algorithm (unfinished).
29009
290102008-03-07  Vincent Lef��vre  <vincent@vinc17.net>
29011
29012	tgeneric.c: avoid a warning with gcc 4.2+ about a test that is always
29013	true (the style of the code is now a bit better too).
29014
290152008-02-29  Philippe Th��veny  <philippe.theveny@laposte.net>
29016
29017	add mpfr_hypot
29018
29019	fix wrong arguments (set in r5332)
29020
29021	add missing functions
29022
29023	cosmetic changes
29024
290252008-02-28  Philippe Th��veny  <philippe.theveny@laposte.net>
29026
29027	add mixed format tests (with different types and different sizes)
29028
29029	vasprintf.c: fix "%%" bug
29030	tests/tsprintf.c: add a test setting "%%" bug off
29031
29032	cosmetic changes
29033
29034	use system number of bits in the significant of a double (instead of 53)
29035
290362008-02-27  Philippe Th��veny  <philippe.theveny@laposte.net>
29037
29038	add handle for the case exp(x) overflows but sinh(x) is representable
29039
29040	further code simplification
29041
29042	code simplification (same as in r5323)
29043
29044	code simplification.
29045
29046	add_d.c, div_d.c, sub_d.c, d_div.c, d_sub.c: restore flags in case of exception. This fixes the bug revealed by MPFR_SUSPICIOUS_OVERFLOW
29047	tests/tadd_d.c, tests/tsub_d.c, tests/tdiv_d.c, tests/tmul_d.c, tests/td_sub.c, tests/td_div.c, test/tmul_d.c: add checks for exception flags and ternary value
29048
29049	mul_d.c: restore flags set by mpfr_mul. This fixes the bug revealed by MPFR_SUSPICIOUS_OVERFLOW
29050	test/tmul_d.c: add checks for exception flags
29051
290522008-02-27  Vincent Lef��vre  <vincent@vinc17.net>
29053
29054	README.dev: updated the section about new functions (added a paragraph
29055	on exception handling).
29056
290572008-02-26  Philippe Th��veny  <philippe.theveny@laposte.net>
29058
29059	improve proof for euclidean distance algorithm (unfinished)
29060
290612008-02-26  Vincent Lef��vre  <vincent@vinc17.net>
29062
29063	pow_z.c: rewrote an ambiguous comment.
29064
29065	pow_z.c: removed obsolete comments and updated a comment.
29066
29067	pow_z.c: the same variable was used with two different meanings.
29068	Changed the type and the name of the one inside the Ziv loop
29069	(unsigned is theoretically more correct due to the bitwise OR).
29070
290712008-02-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
29072
29073	fixed bug reported by Carl Witty (on 32-bit computers):
29074	sage: RR(1.99999999)^RR(-(2^30))
29075	5.11264311088393e-323228495
29076	sage: RR(1.999999999)^RR(-(2^30))
29077	0.000000000000000
29078	sage: RR(2.0)^RR(-(2^30))
29079	2.38256490488795e-323228497
29080
290812008-02-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
29082
29083	added bug reported by Carl Witty
29084
290852008-02-22  Philippe Th��veny  <philippe.theveny@laposte.net>
29086
29087	remove commented code
29088
29089	add worst cases for RNDZ and RNDU with inexact flag checking
29090
290912008-02-22  Vincent Lef��vre  <vincent@vinc17.net>
29092
29093	hypot.c: added a FIXME comment.
29094
29095	algorithms.tex: one can have a better upper bound on \sqrt{x^2+y^2}-|x|
29096	(added as a comment in case this can be useful).
29097
29098	algorithms.tex: use hyperref.
29099
291002008-02-21  Philippe Th��veny  <philippe.theveny@laposte.net>
29101
29102	add more details in mpfr_hypot description
29103
29104	cosmetic change: display "EXP" in small capitals
29105	no more use of {\rm \EXP}, use macro \Exp everywhere
29106
291072008-02-20  Philippe Th��veny  <philippe.theveny@laposte.net>
29108
29109	add worst case test
29110
29111	add test with locale da_DK
29112
29113	actually trigger overflow on all architectures
29114
291152008-02-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
29116
29117	added MPFR_SUSPICIOUS_OVERFLOW in nightly tests
29118
291192008-02-20  Vincent Lef��vre  <vincent@vinc17.net>
29120
29121	hypot.c: fixed overflow flag problem in RNDD/RNDZ modes (testcase was
29122	added in r5301, and another check in r5300).
29123
29124	tests/thypot.c: added check_overflow test (currently fails in 32 bits).
29125
29126	tests/tgeneric.c: added a test that detects suspicious overflows and
29127	fails when the overflow flag is not set. This test is enabled only if
29128	the MPFR_SUSPICIOUS_OVERFLOW environment variable is set, and shows a
29129	bug in mpfr_hypot on 32-bit machines (i.e. when the current exponent
29130	range is the maximum exponent range, so that mpfr_check_range() has
29131	no effect).
29132
291332008-02-19  Philippe Th��veny  <philippe.theveny@laposte.net>
29134
29135	restore flag overflow dropped by MPFR_SAVE_EXPO
29136
291372008-02-18  Philippe Th��veny  <philippe.theveny@laposte.net>
29138
29139	use of (*__gmp_allocate_func)/(*__gmp_free_func) instead of
29140	mpfr_allocate_func/mpfr_free_func;
29141	the modification in r5281 doesn't work when mpfr is compiled with --gmp_build
29142	option.
29143
291442008-02-18  Vincent Lef��vre  <vincent@vinc17.net>
29145
29146	hypot.c: it's better to scale by (Ex + Ey) / 2.
29147
29148	README.dev: now, the ChangeLog file should be in UTF-8, like in other
29149	software (not much difference in practice).
29150
291512008-02-18  Philippe Th��veny  <philippe.theveny@laposte.net>
29152
29153	improve code coverage
29154
29155	code simplification
29156
29157	take trailing zeros into account when separating thousands
29158
291592008-02-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
29160
29161	fixed problem when x and y are very small
29162
291632008-02-18  Philippe Th��veny  <philippe.theveny@laposte.net>
29164
29165	hypot.c: set flags when returning
29166	tests/thypot.c: change custom random tests to tgeneric ones
29167
291682008-02-15  Vincent Lef��vre  <vincent@vinc17.net>
29169
29170	For the terminating null pointer of the functions mpfr_inits,
29171	mpfr_inits2, mpfr_clears, always use the type mpfr_ptr (no longer
29172	void *). Updated the description of these functions in the manual
29173	(mpfr.texi). The reason is that the C standard does not guarantee
29174	that (void *) 0 has the same representation as a null pointer to
29175	a structure (and even the same size). In most C implementations,
29176	the representations are the same, but one never knows (dynamical
29177	checking is also always possible)...
29178	The change has been done with: perl -pi -e \
29179	  's/(mpfr_(clear|init)s.*)\(void *\*\) *0\)/$1(mpfr_ptr) 0)/' **/*.c
29180	under zsh.
29181
291822008-02-15  Philippe Th��veny  <philippe.theveny@laposte.net>
29183
29184	fix typo
29185
29186	vasprintf.c: fix buffer_sandwich (use for thousands separator)
29187	tests/tsprintf.c: add tests with "da_DK" locale
29188
29189	add generic tests
29190
29191	cosmetic changes
29192
29193	fix incorrect function call
29194
291952008-02-14  Philippe Th��veny  <philippe.theveny@laposte.net>
29196
29197	fix "%P" case, add test for it.
29198
291992008-02-13  Philippe Th��veny  <philippe.theveny@laposte.net>
29200
29201	avoid style 'f' with large numbers
29202
292032008-02-13  Vincent Lef��vre  <vincent@vinc17.net>
29204
29205	tests: updated svn:ignore property.
29206
292072008-02-12  Philippe Th��veny  <philippe.theveny@laposte.net>
29208
29209	use of mpfr_allocate_func/mpfr_free_func instead of malloc/free
29210
29211	remove unneeded free and mpfr_clear
29212
29213	add tests for mpfr_snprintf and mpfr_vsnprintf
29214
292152008-02-12  Vincent Lef��vre  <vincent@vinc17.net>
29216
29217	README.dev: added a note about freeing the memory in the tests.
29218
292192008-02-12  Philippe Th��veny  <philippe.theveny@laposte.net>
29220
29221	move tests of mpfr_get_str function from tout_str.c to tget_str.c
29222
29223	initialize fmt[] size
29224
29225	tfprintf.c: fix comment.
29226	tsprintf.c: fix comment and get rid of libc rand().
29227
29228	rename tprintf.c as tsprintf.c, because it does not deal with mpfr_printf.
29229	add tests for mpfr_fprintf functions
29230
29231	remove errno setting in snprintf, it is already done in vasprintf
29232	correct grammatical faults in comment
29233
292342008-02-08  Vincent Lef��vre  <vincent@vinc17.net>
29235
29236	tests/tests.c: undo r5270.
29237
29238	tests/tests.c: fixed assertion failure introduced in r5265.
29239
292402008-02-08  Philippe Th��veny  <philippe.theveny@laposte.net>
29241
29242	remove exponent checking
29243
29244	mpfr-gmp.h: Cancel r5261 changes removing the overload due to added test.
29245	set_uj.c: Don't call memset when len is zero.
29246
29247	improve assertion.
29248
29249	add support of thousands separator option (' flag, defined in Single UNIX Specification v2)
29250
29251	better string buffer management
29252
292532008-02-07  Vincent Lef��vre  <vincent@vinc17.net>
29254
29255	In tests_default_random, allow emin and emax to be outside of the
29256	current exponent range, so that underflow/overflow checks can be
29257	done on 64-bit machines. If the resulting random number is outside
29258	of the current range, the exponent range is extended, and restored
29259	by the caller once the test has been done.
29260	In tests/tacosh.c, changed TEST_RANDOM_EMIN and TEST_RANDOM_EMAX
29261	to MPFR_EMAX_MAX for test_generic_huge, so that the intermediate
29262	overflow case in mpfr_acosh is tested on 64-bit machines.
29263
292642008-02-07  Philippe Th��veny  <philippe.theveny@laposte.net>
29265
29266	fix comment.
29267	In fact, GNU libc4 accept '%F', libc5, glibc 2.0, and glibc 2.1 don't, and glibc 2.2 accept it with C99 semantics.
29268
292692008-02-06  Vincent Lef��vre  <vincent@vinc17.net>
29270
29271	mpfr.h: added a comment about the mpfr_rnd_t enum.
29272
29273	mpfr-impl.h: removed MPFR_CHECK* macros as they are not used.
29274
292752008-02-05  Philippe Th��veny  <philippe.theveny@laposte.net>
29276
29277	MPN_ZERO (dst, n) doesn't call memset when n==0, it prevents warning when compiled with gcc -D_FORTIFY_SOURCE
29278
292792008-02-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
29280
29281	added suggestion from Keith Briggs
29282
292832008-02-04  Philippe Th��veny  <philippe.theveny@laposte.net>
29284
29285	vasprintf.c: add code for %n specifier with any type
29286	tests/tprintf.c: add test for %n specifier
29287
29288	improve mention on format string restriction
29289
29290	mention restriction on type field in the format string.
29291
29292	check possible overflows in exponent part, improve comments.
29293
29294	ensure null-terminated string for (v)snprintf.
29295
292962008-02-01  Philippe Th��veny  <philippe.theveny@laposte.net>
29297
29298	improve mpfr_printf documentation
29299
293002008-02-01  Vincent Lef��vre  <vincent@vinc17.net>
29301
29302	tests.c: fixed perror argument in data_check.
29303
293042008-02-01  Philippe Th��veny  <philippe.theveny@laposte.net>
29305
29306	improve error handling
29307
29308	check fscanf return value, manage error case
29309
293102008-02-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
29311
29312	added parentheses to avoid ambiguity (suggested by Keith Briggs)
29313
293142008-02-01  Philippe Th��veny  <philippe.theveny@laposte.net>
29315
29316	add some "%s" format string to prevent format string attack
29317
293182008-01-31  Philippe Th��veny  <philippe.theveny@laposte.net>
29319
29320	fix typo
29321
293222008-01-30  Philippe Th��veny  <philippe.theveny@laposte.net>
29323
29324	homogeneous use of logical variable
29325
293262008-01-30  Vincent Lef��vre  <vincent@vinc17.net>
29327
29328	rec_sqrt.c: use MPFR_GET_EXP instead of MPFR_EXP, and avoid the
29329	bitwise AND on a signed integer.
29330
29331	Reformat.
29332
29333	Document how to produce PDF and HTML versions of the manual.
29334
293352008-01-30  Philippe Th��veny  <philippe.theveny@laposte.net>
29336
29337	change to values acceptable by 32-bits machines
29338
29339	fix wrong statement in MPFR_ASSERTD
29340
293412008-01-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
29342
29343	added compilation options suggested by Debian:
29344	http://alioth.debian.org/projects/hardening/
29345	https://lists.debian.org/debian-devel/2007/12/msg00090.html
29346	(except -Wl,zrelro which does not seem to work)
29347
293482008-01-29  Philippe Th��veny  <philippe.theveny@laposte.net>
29349
29350	So as to avoid conversion error, get rid of mpfr_set_d/mpf_set_d except in random_double().
29351	Skip conversion error in random_double().
29352
29353	fix typo in comment
29354
29355	get rid of limitation on number of character by specifier
29356
29357	vasprintf.c: fix %Rg case
29358	tests/tprintf.c: add %Re, %Rf, and %Rg tests
29359	tests/tprintf.c: add random checking against libc
29360
293612008-01-28  Philippe Th��veny  <philippe.theveny@laposte.net>
29362
29363	remove (undocumented) integer conversion support for mpfr_t
29364
29365	set errno to EOVERFLOW when printf-like functions should return value exceeding INT_MAX
29366
29367	change internal name of printf-like functions under preprocessor conditionals, add explanation in comment.
29368
293692008-01-25  Vincent Lef��vre  <vincent@vinc17.net>
29370
29371	TODO: added a possible class of tests.
29372
293732008-01-23  Vincent Lef��vre  <vincent@vinc17.net>
29374
29375	tests.c: remove a blank line in an error message.
29376
29377	Test that the MPFR library version matches the mpfr.h version in any
29378	test file (this should avoid some bug reports that don't mention the
29379	real problem).
29380
29381	tversion.c: improved an error message.
29382
29383	acinclude.m4: fixed configure test for TLS support.
29384
29385	NEWS file update (configure test for TLS support).
29386
29387	Changes related to thread-local variables / TLS support.
29388	  * Moved the MPFR_THREAD_ATTR definition from mpfr-impl.h into a new
29389	    header file mpfr-thread.h, and updated Makefile.am accordingly.
29390	  * Removed the compiler check __MPFR_GNUC(3,3) || __MPFR_ICC(8,1,0)
29391	    as this test leaded to both false positives and false negatives
29392	    concerning TLS support. Assume that __thread should be used for
29393	    thread-local variables (except for the MS compiler).
29394	  * Added a configure test to acinclude.m4 (in MPFR_CONFIGS).
29395
293962008-01-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
29397
29398	added item about timings for a new release
29399
29400	mbench program written by Patrick Pelissier to measure clock cycles of MPFR
29401	(and other libraries) for small precision
29402
294032008-01-22  Vincent Lef��vre  <vincent@vinc17.net>
29404
29405	NEWS: noted the changes concerning mpfr_strtofr (changesets 5146, 5147,
29406	5148, 5149, 5167, 5172, 5173).
29407
29408	mpfr-gmp.h: small fix of a macro.
29409
294102008-01-21  Vincent Lef��vre  <vincent@vinc17.net>
29411
29412	mpfr-gmp.h: for temporary allocations, use alloca() if size < 16384.
29413
294142008-01-19  Vincent Lef��vre  <vincent@vinc17.net>
29415
29416	mpfr.texi: inverse square root -> reciprocal square root.
29417
294182008-01-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
29419
29420	added mpfr_rec_sqrt in mpfr.texi (forgot in last commit)
29421
294222008-01-18  Vincent Lef��vre  <vincent@vinc17.net>
29423
29424	NEWS: added mpfr_rec_sqrt for MPFR 2.4.*.
29425
294262008-01-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
29427
29428	removed rec_sqrt (done)
29429
294302008-01-17  Philippe Th��veny  <philippe.theveny@laposte.net>
29431
29432	vasprintf.c: merge code for "%Ra" and "%Rb"
29433
294342008-01-16  Philippe Th��veny  <philippe.theveny@laposte.net>
29435
29436	cosmetic change: replace "enum _arg_type" by "enum arg_t"
29437
29438	vasprintf.c: fix %g case; merge %e, %f, %g code
29439	tests/tprintf.c: add tests for %Rg
29440
29441	add MPFR_SAVE_EXPO macros
29442
29443	cosmetic changes: only one leading underscore for an identifier with file scope
29444
29445	add needed va_list argument in READ_INT macro
29446
294472008-01-16  Vincent Lef��vre  <vincent@vinc17.net>
29448
29449	tests: added trec_sqrt to svn:ignore property.
29450
29451	mpfr-impl.h: when building MPFR with the GMP build directory,
29452	use TMP_ALLOC(s) instead of TMP_SALLOC(s), as we don't know
29453	whether allocations are small or big (see gmp-impl.h).
29454
294552008-01-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
29456
29457	moved from ASSERTD to ASSERTN an assertion which does not depend on MPFR
29458
294592008-01-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
29460
29461	this file might be useful to test mpfr_rec_sqrt...
29462
29463	rec_sqrt.c: complete rewrite, to allow to use directly the MPFR internal
29464		    representation as input (without shift), and to allow different
29465	            input and output precisions, without loss of efficiency
29466	other files: added new function mpfr_rec_sqrt
29467
294682008-01-14  Vincent Lef��vre  <vincent@vinc17.net>
29469
29470	rec_sqrt.c: deleted trailing whitespace.
29471
29472	mpfr-gmp.{c,h}: no longer use alloca() for the temporary allocations as
29473	this can make MPFR crash in some high precisions, due to limited stack.
29474
294752008-01-14  Philippe Th��veny  <philippe.theveny@laposte.net>
29476
29477	add bug found by Paul Zimmermann
29478
29479	vasprintf.c: fix wrong computation of digit number with %Rf when 0 < op < 1
29480	tests/tprintf.c: simpler 10^-n case
29481
294822008-01-14  Vincent Lef��vre  <vincent@vinc17.net>
29483
29484	mpfr.texi: typo.
29485
294862008-01-11  Vincent Lef��vre  <vincent@vinc17.net>
29487
29488	mpfr.texi: updated month.
29489
29490	mpfr.texi: added a warning concerning huge precisions.
29491
294922008-01-10  Philippe Th��veny  <philippe.theveny@laposte.net>
29493
29494	fix %f case
29495
29496	cosmetic changes
29497
294982008-01-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
29499
29500	small changes for acos/asin/atan/atan2 rounded outside their output range
29501
295022008-01-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
29503
29504	added note about output of acos/asin/atan/atan2 which might be outside the
29505	function domain
29506
295072008-01-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
29508
29509	new version with improved tables, use macros from mpfr-impl.h, removed tabs
29510
295112008-01-04  Vincent Lef��vre  <vincent@vinc17.net>
29512
29513	Fixed return value of mpfr_strtofr in case of invalid data (it was -1,
29514	but it should be 0 since it is a ternary value and the result is 0,
29515	which is exact). Added test of the ternary value in this case.
29516
29517	mpfr.texi: better description of mpfr_strtofr.
29518
29519	NEWS update (new functions in the trunk).
29520
29521	Changes related to mpfr_strtofr.
29522	  * strtofr.c: for mpfr_strtofr, data corresponding to NaN can now have
29523	    an optional sign (since the documentation said that parsing followed
29524	    the standard C strtod function and this change makes invalid data
29525	    now valid, so that there should be no compatibility problems).
29526	  * tests/tstrtofr.c: changed the test for -42P17 in base 16 (this was
29527	    eventually regarded as a documentation bug); added tests.
29528	  * mpfr.texi: almost completely rewrote the specification of the
29529	    mpfr_strtofr function. Changes:
29530	    - the binary exponent is now accepted even without the 0b or 0x
29531	      prefix;
29532	    - data corresponding to NaN can now have an optional sign (this was
29533	      a bit ambiguous);
29534	    - many other ambiguities avoided.
29535
295362008-01-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
29537
29538	the function mpfr_mpn_rec_sqrt() provides a faithful approximation of the
29539	inverse square root. Some improvements can still be made, but the interface
29540	should not change, thus we can start writing the mpfr_rec_sqrt function that
29541	calls it.
29542
295432008-01-02  Vincent Lef��vre  <vincent@vinc17.net>
29544
29545	FAQ update.
29546
295472008-01-01  Vincent Lef��vre  <vincent@vinc17.net>
29548
29549	tgamma.c: completed test in r5159 with another one that was failing
29550	in the default exponent range.
29551
29552	delete trailing spaces.
29553
295542008-01-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
29555
29556	fixed bug in case of underflow (wrong sign)
29557
295582008-01-01  Vincent Lef��vre  <vincent@vinc17.net>
29559
29560	gen_inverse.h: fixed the bug reported by Kevin Rauch a few hours ago
29561	(and that was detected by the generic tests and by mpfrlint after the
29562	latest changes).
29563
29564	mpfrlint: incorrect use of mpfr_<flag>_p is also checked in .h files.
29565
29566	Copyright notice update: added 2008 with
29567	  perl -pi -e 's/2007 Free Software/2007, 2008 Free Software/' **/*(^/)
29568	under zsh.
29569
29570	tgeneric.c: in the bug detection with flags set before the function
29571	call, the erange flag was set, so that no checks were performed on
29572	the return value. Fixed that by not setting the erange flag.
29573	-> Now, 7 tests fail!
29574
295752007-12-31  Vincent Lef��vre  <vincent@vinc17.net>
29576
29577	tstrtofr.c: added test of -42P17 with base = 0 and 16. This currently
29578	fails with base = 16 (-42P17 is parsed as -0x42P17 instead of -42 with
29579	the remaining characters "P17"), but we could alternatively regard the
29580	mpfr_strtofr specification (in mpfr.texi) as incorrect.
29581
295822007-12-30  Vincent Lef��vre  <vincent@vinc17.net>
29583
29584	mpfr.texi: corrections in the specification of mpfr_strtofr (see FIXME).
29585
29586	strtofr.c: base arguments different from 0 and 2..36 have never been
29587	accepted. So, instead of returning the confusing -1 (it's a ternary
29588	value), let's add an assert for the moment. An alternative solution
29589	is to return 0 and set the erange flag.
29590
29591	strtofr.c: minor change (in the style); a comment was ambiguous.
29592
295932007-12-29  Vincent Lef��vre  <vincent@vinc17.net>
29594
29595	TODO update (tests: generic bad cases).
29596
29597	Added #if MPFR_VERSION >= MPFR_VERSION_NUM(2,4,0) conditionals to be
29598	able to test MPFR 2.3.* with the (more complete) tests from the trunk.
29599
29600	README.dev: updated item 6 of "To make a release".
29601
296022007-12-28  Vincent Lef��vre  <vincent@vinc17.net>
29603
29604	mpfr.texi: updated month.
29605
296062007-12-27  Vincent Lef��vre  <vincent@vinc17.net>
29607
29608	tests: check the exponent range, in particular at the end of each test.
29609
29610	texceptions.c: GNU coding style.
29611
29612	texceptions.c: restore the exponent range.
29613
29614	exp2.c: removed incorrect comment (the overflow test was OK due to the
29615	mpfr_clear_flags above, but the new test is slightly better anyway).
29616
296172007-12-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
29618
29619	added tuning parameters for 32-bit Core 2
29620	(thanks to Patrick Pelissier and Emmanuel Thome)
29621
296222007-12-20  Vincent Lef��vre  <vincent@vinc17.net>
29623
29624	tpow.c: enable testcase bug20071218.
29625
296262007-12-19  Vincent Lef��vre  <vincent@vinc17.net>
29627
29628	BUGS: possible incorrect results due to internal underflow.
29629
29630	pow.c: detect all underflow cases (some of them were leading to
29631	an infinite loop, see bug20071218 in tpow.c).
29632
29633	mpfr-impl.h: updated description of MPFR_CAN_ROUND.
29634
29635	round_p.c: in comment, "round to zero" -> "round toward zero".
29636
29637	tpow.c: formatting.
29638
29639	tpow.c: added testcase for another bug found by Kevin P. Rauch.
29640	Execute tpow with an argument to enable it.
29641
296422007-12-19  Philippe Th��veny  <philippe.theveny@laposte.net>
29643
29644	vasprintf.c: add sprnt_fp_e for "%e" processing
29645	tests/tprintf.c: change tests for decimal output (but need further tests)
29646
29647	add checks for zero
29648
296492007-12-18  Vincent Lef��vre  <vincent@vinc17.net>
29650
29651	Merged the feature-block branch to the trunk:
29652	* New MPFR_BLOCK* macros (see mpfr-impl.h) and mpfrlint check to test
29653	  exception flags in a more reliable way and detect possible problems
29654	  with mpfrlint.
29655	* Improved the generic tests (tests/tgeneric.c): for the second
29656	  function call, sometimes set all the flags since risk of failures
29657	  are known when some flags are already set.
29658	* Modified code to use these new MPFR_BLOCK* macros. This fixed bugs
29659	  related to exceptions (where flags are set before the call); in
29660	  particular, tcot and ty1 failed with the improved generic tests.
29661
29662	[Added during the Subversion to Git conversion]
29663	A merge commit could not be generated for Git.
29664	Branch in Git: refs/deleted/r5131/heads/feature-block
29665
296662007-12-18  Philippe Th��veny  <philippe.theveny@laposte.net>
29667
29668	printf.c: each mpfr_printf-like function return -1 and set erange flag in error case
29669	vasprintf.c: change types in struct char_fp
29670	vasprintf.c: add many size checking
29671
29672	simplify code, improve comments
29673
296742007-12-18  Vincent Lef��vre  <vincent@vinc17.net>
29675
29676	Fixed bug in mpfr_pow_z: if x = y (same mpfr_t argument), the input
29677	argument is negative and not a power of two, z is positive and odd,
29678	an overflow or underflow occurs, and the temporary result res is
29679	positive, then the result gets a wrong sign (positive instead of
29680	negative). Testcase.
29681
29682	Fixed bug in mpfr_pow_ui (introduced in r3214): if x = y (same mpfr_t
29683	argument), the input argument is negative, n is odd, an overflow or
29684	underflow occurs, and the temporary result res is positive, then the
29685	result gets a wrong sign (positive instead of negative). Testcase.
29686
29687	pow_ui.c: fixed an assertion.
29688
29689	BUGS: update concerning overflow/underflow exceptions.
29690
296912007-12-18  Philippe Th��veny  <philippe.theveny@laposte.net>
29692
29693	exponent continuity with one hexadecimal digit output
29694
296952007-12-17  Philippe Th��veny  <philippe.theveny@laposte.net>
29696
29697	#define CASE_INT_MAX_ARG to nil when HAVE_STDINT_H is not defined
29698
29699	vasprintf.c: add sprnt_fp_b for "%b" processing
29700	tests/tprintf.c: add tests for binary output
29701
29702	fix count of characters in exponent part
29703
29704	simplify code, remove trailing spaces and improve comment
29705
297062007-12-17  Vincent Lef��vre  <vincent@vinc17.net>
29707
29708	TODO: added note about the successive calls to strcat in vasprintf.c.
29709
297102007-12-17  Philippe Th��veny  <philippe.theveny@laposte.net>
29711
29712	add tests for 1 hexa digit output
29713
297142007-12-16  Vincent Lef��vre  <vincent@vinc17.net>
29715
29716	tests/tpow.c: fixed indentation.
29717
297182007-12-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
29719
29720	fixed typo
29721
29722	fixed bug reported by Kevin Rauch
29723
297242007-12-14  Philippe Th��veny  <philippe.theveny@laposte.net>
29725
29726	change display with just one hexadecimal digit
29727
297282007-12-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
29729
29730	simplified MPFR_FAST_COMPUTE_IF_SMALL_INPUT part (in case of overlap)
29731
297322007-12-14  Philippe Th��veny  <philippe.theveny@laposte.net>
29733
29734	fix wrong call
29735
297362007-12-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
29737
29738	added comments, got rid of compiler warnings
29739
29740	added warning
29741
297422007-12-14  Vincent Lef��vre  <vincent@vinc17.net>
29743
29744	sin_cos.c: improved changeset 5084; in particular, added a missing cast.
29745
297462007-12-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
29747
29748	sin_cos.c, tsin_cos.c: fixed bug occurring when arguments overlap and
29749	   MPFR_FAST_COMPUTE_IF_SMALL_INPUT fails
29750	reuse.c: improved output in case of error
29751
297522007-12-14  Philippe Th��veny  <philippe.theveny@laposte.net>
29753
29754	improve one digit case, add comment
29755
297562007-12-14  Vincent Lef��vre  <vincent@vinc17.net>
29757
29758	vasprintf.c: added a FIXME comment. Bug?
29759
29760	Minor changes concerning num_to_text. The ending \0 isn't needed.
29761
297622007-12-14  Philippe Th��veny  <philippe.theveny@laposte.net>
29763
29764	simplify error output code
29765
29766	add num_to_text array for hexadecimal digits
29767
29768	output errors to stdout
29769
297702007-12-13  Philippe Th��veny  <philippe.theveny@laposte.net>
29771
29772	vasprintf.c: group hexadecimal output processing in a new sprnt_fp_a function.
29773	tests/tprintf.c: add tests for %a case
29774	tests/tprintf.c: factorize error message output
29775
297762007-12-13  Vincent Lef��vre  <vincent@vinc17.net>
29777
29778	get_d64.c: fixed comment.
29779
29780	vasprintf.c: added missing #include <string.h> (useful if MPFR is built
29781	with the GMP build directory, as mpfr-gmp.h isn't used in this case).
29782
297832007-12-13  Philippe Th��veny  <philippe.theveny@laposte.net>
29784
29785	Fix typos.
29786
29787	Add handle for null size case in mpfr_snprintf
29788
29789	Add some comments and assertions.
29790
29791	#define's for nan and inf strings
29792
29793	short documentation of printf-like functions.
29794
297952007-12-12  Vincent Lef��vre  <vincent@vinc17.net>
29796
29797	README.dev: added information about my tool "eet" to be able to see the
29798	warnings more easily.
29799
29800	vasprintf.c: updated comment concerning the case nbchar > INT_MAX.
29801
298022007-11-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
29803
29804	changed default return value in mpfr_jn_k0
29805
29806	fixed underflow problem in mpfr_exp_3
29807
29808	tests/tset_str.c: added command-line argument for output base
29809	jn.c: replaced double-precision LOG2 constant by binary string (more portable)
29810
29811	fixed underflow problem
29812
29813	experimental code to distinguish Core2 from AMD64
29814
29815	removed manual change to __gmpfr_emin outside the allowed range
29816
29817	added suggestion from Patrick Pelissier
29818
298192007-11-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
29820
29821	Fixed another bug reported by Kevin Rauch (__gmpfr_emin was set smaller
29822	than the minimum allowed value, which produced an exponent wrap-around
29823	and a wrong result in mpfr_mul). Not sure if all problems are solved,
29824	nevertheless __gmpfr_emin is now in the allowed range.
29825
298262007-11-29  Vincent Lef��vre  <vincent@vinc17.net>
29827
29828	Fixed indentation.
29829
29830	tests.c: in test4rm, initialize rndnext with an invalid value (meaning
29831	that rndnext will really be initialized later), and added an assert to
29832	check that this value isn't propagated to rnd.
29833
29834	tests.c: added a comment about rndnext in test4rm.
29835
29836	tests.c: added an assertion.
29837
298382007-11-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
29839
29840	fixed bug reported by Kevin Rauch (wrong sign in case of underflow for
29841	large negative x and large odd negative y)
29842
298432007-11-29  Philippe Th��veny  <philippe.theveny@laposte.net>
29844
29845	untabify and remove trailing spaces
29846
29847	fix padding error in sprnt_inf
29848
29849	factorization of special numbers output in sprnt_nan and sprnt_inf functions
29850
29851	fix comment about the size of format string buffer
29852
29853	replace memory management functions mpfr_default_* by __gmp_*_func
29854
298552007-11-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
29856
29857	updated Core 2 thresholds (obtained with gmp-4.2.2 and Gaudry's patch)
29858
298592007-11-29  Vincent Lef��vre  <vincent@vinc17.net>
29860
29861	Typo in comment.
29862
298632007-11-29  Philippe Th��veny  <philippe.theveny@laposte.net>
29864
29865	fix typo pointed out in revision 5044
29866
298672007-11-28  Vincent Lef��vre  <vincent@vinc17.net>
29868
29869	printf.c: more comments about snprintf.
29870
29871	printf.c: added a comment concerning a warning (a bug, IMHO).
29872
29873	vasprintf.c: added FIXME comment concerning the case nbchar > INT_MAX,
29874	with a reference to POSIX.
29875
298762007-11-28  Philippe Th��veny  <philippe.theveny@laposte.net>
29877
29878	add explanations about buffer size
29879
29880	change __gmp_const into const
29881
298822007-11-28  Vincent Lef��vre  <vincent@vinc17.net>
29883
29884	vasprintf.c: added an assert.
29885
298862007-11-28  Philippe Th��veny  <philippe.theveny@laposte.net>
29887
29888	fix output with space flag
29889
29890	add MPFR_ASSERTD to prevent buffer overflow
29891
29892	replace use of ptrdiff_t by size_t where possible
29893
298942007-11-27  Philippe Th��veny  <philippe.theveny@laposte.net>
29895
29896	factorisation of temp string alloc in buffer_pad function
29897
29898	cosmetic changes
29899
29900	compatibility of types between nbc fields and mp_exp_t
29901	fix wrong size of buffer string exp_fmt
29902
299032007-11-27  Vincent Lef��vre  <vincent@vinc17.net>
29904
29905	Added initial mpfrlint sh script to check possible problems in
29906	the MPFR source.
29907
299082007-11-27  Philippe Th��veny  <philippe.theveny@laposte.net>
29909
29910	change 'g'/'G' to 'e'/'E' or 'f'/'F' according to C99 rules
29911
299122007-11-26  Philippe Th��veny  <philippe.theveny@laposte.net>
29913
29914	replace mpfr_default_(re)allocate by __gmp_(re)allocate for the returned string (freed by mpfr_free_str)
29915
29916	tprintf.c: replace __gmp_const by const
29917
299182007-11-26  Vincent Lef��vre  <vincent@vinc17.net>
29919
29920	printf.c: added FIXME comment: snprintf is new in C99. It must be
29921	checked with a configure test.
29922
29923	tests: updated svn:ignore property.
29924
29925	vasprintf.c: reformat.
29926
29927	MPFR_DECIMAL_POINT now needs to have type char (because of vasprintf.c).
29928
29929	tests/tprintf.c: changeset 4996 was incorrect. Fixed.
29930
29931	README.dev: Avoid variable names "l", "I" and "O".
29932
29933	README.dev: added a note about the locales.
29934
299352007-11-26  Philippe Th��veny  <philippe.theveny@laposte.net>
29936
29937	printf.c: fix use of pointer of string
29938	vasprintf.c: add conditional compilation directives for wchar and wint_t
29939	vasprintf.c: add padding for special values
29940	vasprintf.c: fix output for value 1.0 and format "%Rf"
29941	vasprintf.c: replace __gmp_const by const
29942
299432007-11-26  Vincent Lef��vre  <vincent@vinc17.net>
29944
29945	acinclude.m4: check wchar.h header (see below).
29946	vasprintf.c:
29947	  * No longer depend on toupper (which returns locale-dependent results)
29948	    to generate 'A'..'F' (see C standard).
29949	  * Removed #include <ctype.h> which was hiding a bug (see below).
29950	  * Added missing #include <wchar.h> if HAVE_WCHAR_H is defined. But
29951	    the compilation fails if <wchar.h> doesn't exist due to the use of
29952	    wchar_t and wint_t.
29953
29954	vasprintf.c: updated comments.
29955
29956	vasprintf.c:
29957	  * Removed #include <stdlib.h> now useless.
29958	  * Added FIXME comment.
29959	  * Replaced _MP_EXP_FORMAT_SPEC (reserved) by MPFR_EXP_FORMAT_SPEC.
29960
29961	vasprintf.c: added FIXME comments.
29962
29963	vasprintf.c: fixed a typo in a comment and improved another comment.
29964
299652007-11-24  Vincent Lef��vre  <vincent@vinc17.net>
29966
29967	mpfr.h: moved function declarations out of "#ifdef _MPFR_H_HAVE_VA_LIST"
29968	and/or "#ifdef _MPFR_H_HAVE_FILE" when this makes sense.
29969
29970	tests/tprintf.c: added missing "void" in function declarations.
29971
29972	Untabified and removed trailing spaces.
29973
29974	mpfr.texi: corrections (English usage and texinfo). Added corresponding
29975	notes at the end of the README.dev file.
29976
29977	mpfr.texi: s/rounding to the nearest mode/rounding to nearest mode/
29978
29979	mpfr.texi consistency changes: "towards" -> "toward" (because this
29980	is what the IEEE-754 standard uses, and we have mpfr_nexttoward).
29981
29982	mpfr.texi: English typography corrections (no space before ":").
29983
29984	vasprintf.c: the use of the abs function was incorrect as its argument
29985	has type int, which may be smaller than an mp_exp_t. Fixed that and
29986	replaced uceil_log10 by uceil_log10_exp_p2.
29987
29988	vasprintf.c: fixed uceil_log10 for x close to ULONG_MAX.
29989
299902007-11-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
29991
29992	got rid of math.h
29993
299942007-11-23  Vincent Lef��vre  <vincent@vinc17.net>
29995
29996	tests/tprintf.c: include <stdarg.h>.
29997
29998	stdarg-related corrections, as HAVE_STDARG is not standard thus must not
29999	be tested in mpfr.h!
30000
30001	tests/tprintf.c: enable the tests only if HAVE_STDARG is defined,
30002	i.e. if the printf-like functions are defined.
30003
30004	tests/tprintf.c:
30005	  * Non-standard headers should be included after the standard headers
30006	    (when possible).
30007	  * The setlocale function is used only if <locale.h> has been included.
30008	  * Use tests_start_mpfr / tests_end_mpfr; this shows a bug:
30009	      tests_free(): attempt to free bad pointer 0x1801200
30010
30011	tests/tests.c: setlocale is used only if <locale.h> has been included.
30012
30013	out_str.c: remove other occurrence of <locale.h>.
30014
300152007-11-23  Philippe Th��veny  <philippe.theveny@laposte.net>
30016
30017	Makefile.am: add mpfr_printf-like functions
30018	mpfr.h: add mpfr_printf-like functions
30019	printf.c: printf, sprintf, snprintf, asprintf and 'v' variants
30020	vasprintf.c: vasprintf functions used by its likes
30021	mpfr.texi: add description for printf family functions
30022	tests/Makefile.am: add test for printf
30023	tests/tprintf.c: tests for printf-like functions
30024	acinclude.m4: define HAVE_LOCALE_H
30025	mpfr-impl.h: define MPFR_DECIMAL_POINT even if no locale.h
30026	strtofr.c: remove locale.h inclusion (done by mpfr-impl.h )
30027	tests/tests.c: use HAVE_LOCALE_H
30028
300292007-11-23  Vincent Lef��vre  <vincent@vinc17.net>
30030
30031	tests/tisqrt.c: test the 32-bit __gmpfr_cuberoot bound cases (9 per
30032	value) exhaustively (running tisqrt is still immediate on a recent
30033	machine).
30034
30035	tests/tisqrt.c: test the 32-bit __gmpfr_isqrt bound cases exhaustively.
30036
30037	acinclude.m4: test the availability of <string.h>.
30038
30039	acinclude.m4: test the availability of <locale.h>.
30040
30041	acinclude.m4: updated comment concerning the checked functions.
30042
30043	acinclude.m4: added memmove to the checked functions (though this test
30044	is currently useless, except for the corresponding information).
30045
30046	acinclude.m4: updated a comment concerning the function checking.
30047
30048	gmp_op.c: removed old "#include <stddef.h>" line (seems to be useless
30049	now, and note that <stdio.h> is included by default in mpfr-impl.h).
30050
30051	tests/tj0.c: fixed test.
30052
30053	jn.c: added integer overflow checking.
30054
30055	tests/memory.c: fixed copyright notice.
30056
300572007-11-21  Vincent Lef��vre  <vincent@vinc17.net>
30058
30059	tests/tzeta.c: completed test of mpfr_zeta bug fixed in r4920 (the value
30060	of zeta(large negative) was also wrong in GMP_RNDU: -Inf instead of the
30061	largest negative MPFR number).
30062
300632007-11-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
30064
30065	reverted back to rev. 4951 (otherwise we would have to free memory for all
30066	exit calls)
30067
300682007-11-20  Philippe Th��veny  <philippe.theveny@laposte.net>
30069
30070	use of RANDS instead of __gmp_rands
30071	tset_f.c add checking with random values
30072
300732007-11-19  Philippe Th��veny  <philippe.theveny@laposte.net>
30074
30075	tli2.c: fix wrong assertion in copyright motice
30076	test.c: fixed seed for reproducible errors
30077	trandom.c tpow_z.c tset_f.c: integration with GMP_CHECK_RANDOMIZE process
30078
300792007-11-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
30080
30081	added missing call to tests_end_mpfr
30082
30083	got rid of mpfr_init_gmp_rand/MPFR_TEST_USE_RANDS and not-reentrant gmp
30084	random functions (mpn_random*, mpz_random*, mpf_random*). Now all tests use
30085	either RANDS (which is cleared by tests_rand_end called by tests_end_mpfr),
30086	or the gmp_randstate_t mechanism.
30087
300882007-11-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
30089
30090	added missing mpfr_clear and tests_end_mpfr (thanks Michael Abshoff)
30091
30092	fixed problem reported by valgrind (thanks to Michael Abshoff)
30093
300942007-11-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
30095
30096	fixed bug in div_ui for x=0 and u<>0 (sign of result was not set)
30097
300982007-11-06  Philippe Th��veny  <philippe.theveny@laposte.net>
30099
30100	algorithms.tex: fix bibtex references for dilogarithm function
30101	algorithms.bib: add references for dilogarithm function
30102
301032007-11-05  Vincent Lef��vre  <vincent@vinc17.net>
30104
30105	mpfr-impl.h: removed trailing spaces.
30106
301072007-11-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
30108
30109	added new macro MPFR_ALIAS
30110
301112007-11-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
30112
30113	removed unused label
30114
301152007-11-04  Vincent Lef��vre  <vincent@vinc17.net>
30116
30117	pow_z.c: fixed bug that occurs when x is a power of 2 and the result
30118	overflows (wrong sign); this bug has always been present (from r3215).
30119
30120	tpow.c, tpow_z.c: removed a printf that was left by mistake.
30121
30122	tpow_z.c: added testcase for the latest mpfr_pow bug (rev 4942),
30123	which is in fact a bug in mpfr_pow_z.
30124
30125	tpow.c: added testcase for new bug found by Kevin P. Rauch; removed a
30126	mpfr_dump that was left by mistake.
30127
301282007-11-03  Vincent Lef��vre  <vincent@vinc17.net>
30129
30130	pow.c: removed FIXME comment.
30131
301322007-11-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
30133
30134	fixed case x < 0, y large integer
30135
301362007-11-03  Vincent Lef��vre  <vincent@vinc17.net>
30137
30138	pow.c: added FIXME comment.
30139
30140	tpow.c: added testcase for new bug found by Kevin P. Rauch. The problem
30141	occurs on x^y with x negative and y an integer whose exponent is > 256
30142	(so that mpfr_pow_z isn't used, and the generic code is used instead and
30143	fails because x is negative).
30144
301452007-11-02  Vincent Lef��vre  <vincent@vinc17.net>
30146
30147	Fixed several bugs in mpfr_pow (from rev 3592 and 4932); added testcase.
30148
30149	tpow.c: added an overflow test in reduced exponent range
30150	(-> assertion failure in the current pow.c code).
30151
30152	mpfr-impl.h: added a comment concerning __gmpfr_one, __gmpfr_two and
30153	__gmpfr_four.
30154
30155	Bug fix: in cmp_abs.c, changed MPFR_GET_EXP into MPFR_EXP to allow
30156	exponents outside the current exponent range (needed for mpfr_pow).
30157
301582007-10-31  Vincent Lef��vre  <vincent@vinc17.net>
30159
30160	Untabified and removed trailing spaces.
30161
301622007-10-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
30163
30164	pow.c, tpow.c: fixed bugs reported by Kevin Rauch
30165	mpfr-impl.h: fixed typo
30166
30167	cosmetic changes
30168
30169	added missing \Li2
30170
301712007-10-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
30172
30173	added more test cases for mpfr_li2
30174	improved MPFR_FAST_COMPUTE_IF_SMALL_INPUT case for x > 0
30175
30176	fixed bug mentioned by Kevin Rauch: mpfr_lgamma was hanging for tiny input
30177	(had to implement a complete loop in that case)
30178
30179	fixed bug reported by Kevin Rauch: wrong sign for jn(n even, large negative x)
30180
30181	removed item on mpfr_sinh_cosh (done)
30182	added more info on item on efficiency of mpfr_sin
30183
30184	added comment about function/macro in custom interface
30185
30186	jn.c: improved choice of initial precision in Taylor series (takes into
30187		account cancellation)
30188	tests/tjn.c: now "tjn p n z" evaluates j(n,z) to precision p
30189
301902007-10-27  Vincent Lef��vre  <vincent@vinc17.net>
30191
30192	factorial.c: added FIXME comment.
30193
30194	gamma.c: attempt to fix wrong fix in 4918 (the maximum exponent can
30195	be > 2^30 on 64-bit machines). There may still be problems in huge
30196	precisions.
30197
301982007-10-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
30199
30200	added note about efficiency of special functions
30201	corrected typo
30202
30203	fixed bug in zeta(large negative) reported by Kevin Rauch [wrong inexact flag]
30204
30205	fixed inefficiency reported by Kevin Rauch when x large negative (erfc -> 2)
30206
302072007-10-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
30208
30209	fixed another bug found by Kevin Rauch: gamma(huge integer) failed on 64-bit
30210
30211	fixed bug found by Kevin Rauch (emin/emax not restored for x=1,2)
30212
30213	added test for reference values
30214
30215	reference values for li2
30216
302172007-10-26  Philippe Th��veny  <philippe.theveny@laposte.net>
30218
30219	algorithms.tex: description of dilogarithm algorithm
30220	li2.c: conformity with description in algorithm.tex
30221
302222007-10-23  Vincent Lef��vre  <vincent@vinc17.net>
30223
30224	mpfr.texi: small change in the description of mpfr_subnormalize.
30225
302262007-10-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
30227
30228	added more details in the description of subnormalize
30229
302302007-10-23  Vincent Lef��vre  <vincent@vinc17.net>
30231
30232	subnormal.c: fixed the bugs when old_inex is INT_MIN or INT_MAX.
30233
30234	tsubnormal.c: added some tests showing bugs when old_inex is INT_MIN
30235	or INT_MAX.
30236
30237	subnormal.c: corrected comment.
30238
30239	Changeset r4904 introduced an assertion failure, but the assertion
30240	emax - emin >= PREC(x) wasn't necessary: the value of emax doesn't
30241	matter, except when the exponent is increased due to the rounding.
30242	So, we just document that if the result cannot be represented in the
30243	current exponent range, the behavior is undefined (updated mpfr.texi
30244	accordingly). Removed the assertion from subnormal.c and added a new
30245	one to have an abort if such an undefined behavior occurs.
30246
302472007-10-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
30248
30249	fixed 2 bugs reported by Kevin Rauch
30250
302512007-10-22  Vincent Lef��vre  <vincent@vinc17.net>
30252
30253	subnormal.c: replaced incorrect comment.
30254
30255	tests: updated svn:ignore property.
30256
302572007-10-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
30258
30259	added new references
30260
302612007-10-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
30262
30263	added asymptotic expansions
30264
302652007-10-19  Philippe Th��veny  <philippe.theveny@laposte.net>
30266
30267	li2.c: add Ziv's loop in li2_series
30268	tli2.c: add a function for fixed value checking
30269
302702007-10-17  Philippe Th��veny  <philippe.theveny@laposte.net>
30271
30272	li2.c: fix a typo and fix use of taylor series
30273	tests/tli2.c: use default random function
30274
302752007-10-16  Philippe Th��veny  <philippe.theveny@laposte.net>
30276
30277	add dilogarithm function
30278
302792007-10-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
30280
30281	added item in Efficiency section
30282
30283	added table of contents
30284	removed last section (mpf/mpfr integration)
30285
302862007-10-15  Vincent Lef��vre  <vincent@vinc17.net>
30287
30288	Fixed acosh(x) with x slightly larger than 1, using sqrt(2(x-1)) and
30289	a complete error analysis.
30290
30291	tests/tacosh.c: added another test with x a bit larger than 1 and
30292	prec(y) << prec(x).
30293
302942007-10-12  Vincent Lef��vre  <vincent@vinc17.net>
30295
30296	acosh.c: added a comment about the fix I did in r4814.
30297
302982007-10-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
30299
30300	added extra reference for slowness of mpfr_root
30301
303022007-10-09  Vincent Lef��vre  <vincent@vinc17.net>
30303
30304	FAQ update (added Question 8).
30305
30306	mpfr.texi: another small change in Contributors section.
30307
30308	mpfr.texi: small change in Contributors section.
30309
30310	mpfr.texi: mention Fiable and AOC actions in the Contributors section.
30311
303122007-10-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
30313
30314	added reference to ACM TOMS paper
30315	updated other references, and Contributors section
30316
30317	fixed typo in sectioning
30318
303192007-10-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
30320
30321	removed mpfr_get_d1 from documented functions
30322	removed old commented functions
30323
30324	renamed "Rounding Mode Related Functions" to "Rounding Related Functions"
30325	put mpfr_can_round in "Rounding Related Functions" (now exported)
30326	exchanged order of sections "Miscellaneous Functions" and "Rounding Related Functions"
30327
30328	added hint for mpfr_can_round to get ternary value
30329
30330	changed mpfr_can_round() call into MPFR_CAN_ROUND() call
30331
303322007-10-05  Vincent Lef��vre  <vincent@vinc17.net>
30333
30334	Updated update-version to make patches easier to produce.
30335
303362007-10-04  Vincent Lef��vre  <vincent@vinc17.net>
30337
30338	Fixed a bug (found by Robert Bajema) in mpfr_atan2, which can occur if
30339	the underflow flag is set before the call and x > 0; added testcase.
30340
303412007-10-03  Vincent Lef��vre  <vincent@vinc17.net>
30342
30343	mpfr.texi: improved mpfr_set_exp description too.
30344
30345	mpfr.texi: improved mpfr_get_exp documentation.
30346
30347	mpfr.texi: mantissa -> significand (to use the terminology from IEEE 754
30348	and ISO C99).
30349
30350	configure.in: better error message if libgmp is not found.
30351
303522007-10-02  Philippe Th��veny  <philippe.theveny@laposte.net>
30353
30354	fix some typos
30355
303562007-09-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
30357
30358	added references
30359
303602007-09-28  Philippe Th��veny  <philippe.theveny@laposte.net>
30361
30362	merge fmod, remaider and remquo into a single file rem1.c.
30363	merge code into a single internal function mpfr_rem1.
30364	fix false statement in mpfr.texi: rop and op1 have the same sign for mpfr_fmod
30365	but not for mpfr_remainder and mpfr_remquo.
30366
303672007-09-26  Vincent Lef��vre  <vincent@vinc17.net>
30368
30369	tests/tfmod.c: added static.
30370
303712007-09-26  Philippe Th��veny  <philippe.theveny@laposte.net>
30372
30373	new fmod function
30374
303752007-09-22  Vincent Lef��vre  <vincent@vinc17.net>
30376
30377	tests: updated svn:ignore property.
30378
30379	GNU coding style, reformatting, exit (-1) -> exit (1).
30380
303812007-09-21  Philippe Th��veny  <philippe.theveny@laposte.net>
30382
30383	new mpfr_sinh_cosh function
30384
303852007-09-19  Vincent Lef��vre  <vincent@vinc17.net>
30386
30387	BUGS: removed __gmpfr_isqrt bug.
30388
30389	isqrt.c: quick fix of __gmpfr_cuberoot (a full proof is needed).
30390	tests/tisqrt.c: added much more tests for __gmpfr_cuberoot.
30391
30392	tisqrt.c: improved tests. When doing
30393	  touch tests.c tisqrt.c
30394	  make tisqrt CFLAGS="-g -O2 -ffloat-store -DMPFR_FPU_PREC=_FPU_SINGLE"
30395	  ./tisqrt
30396	with gcc 4.2.1 on a Linux/x86 machine, on gets:
30397	  Error in __gmpfr_cuberoot (4251527999): got 1620 instead of 1619
30398
30399	tisqrt.c: added __gmpfr_cuberoot() tests.
30400
30401	isqrt.c: corrected the explanation.
30402
30403	isqrt.c: fixed __gmpfr_isqrt.
30404
304052007-09-18  Vincent Lef��vre  <vincent@vinc17.net>
30406
30407	tests: updated svn:ignore property.
30408
30409	tests: added tisqrt.c (test file for __gmpfr_isqrt internal function).
30410
30411	BUGS: added __gmpfr_isqrt bug.
30412
30413	isqrt.c: fixed a cast and added a FIXME comment.
30414
30415	isqrt.c: GNU coding style.
30416
30417	sin.c: extend the exponent range.
30418
30419	sqr.c: set the global inexact flag.
30420
30421	sqrt.c: avoid the exponent range extension.
30422
30423	tsqr.c: added generic tests (shows that the inexact flag isn't set).
30424
30425	sqrt.c: extend exponent range (this also fixes the fact that the global
30426	inexact flag wasn't set).
30427
30428	tsqrt.c: added generic tests (shows that the inexact flag isn't set,
30429	which is a bug reported by Guillaume Revy).
30430
304312007-09-17  Philippe Th��veny  <philippe.theveny@laposte.net>
30432
30433	modf.c: take care of user exponent range (possible underflow/overflow)
30434
304352007-09-16  Vincent Lef��vre  <vincent@vinc17.net>
30436
30437	tsin_cos.c: fixed the tiny() test.
30438
30439	sin_cos.c: fixed the overflow and cancellation problems by using
30440	MPFR_FAST_COMPUTE_IF_SMALL_INPUT from the mpfr_sin and mpfr_cos
30441	functions (I'll fix the test later).
30442
30443	tsin_cos.c: added test on tiny values.
30444
304452007-09-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
30446
30447	Put back previous patch, now avoids overflow, and added more explanations.
30448	This is still not a definitive solution, but more efficient than 2.3.0
30449	in the case x is small.
30450
304512007-09-15  Vincent Lef��vre  <vincent@vinc17.net>
30452
30453	Efficiency regression wasn't fixed correctly -> commented out the code.
30454
304552007-09-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
30456
30457	fixed efficiency regression pointed out by Andreas Enge
30458
304592007-09-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
30460
30461	fixed bug in mpfr_sin_cos found by Philippe: z (to save the cosine) was not
30462	allowed to be identical to the input x
30463
304642007-09-13  Philippe Th��veny  <philippe.theveny@laposte.net>
30465
30466	new function mpfr_modf and add restrictions on mpfr_sin_cos' variables
30467
304682007-09-11  Philippe Th��veny  <philippe.theveny@laposte.net>
30469
30470	add some simple test cases in tadd_d.c and friends
30471
304722007-09-10  Vincent Lef��vre  <vincent@vinc17.net>
30473
30474	prepare: output a message saying that this script is obsolete.
30475
304762007-09-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
30477
30478	added restrictions to mpfr_add_d and friends
30479
304802007-09-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
30481
30482	removed functions mpfr_add_d ... which are done
30483
304842007-09-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
30485
30486	added Philippe Theveny
30487
304882007-09-07  Philippe Th��veny  <philippe.theveny@laposte.net>
30489
30490	new arithmetic functions with a double argument
30491
304922007-09-07  Vincent Lef��vre  <vincent@vinc17.net>
30493
30494	tacosh.c: added generic tests for the overflow case.
30495
30496	acosh.c: reduce the precision for ln(2); smaller error bound.
30497
30498	tgeneric.c: undefine some macros at the end.
30499
30500	acosh.c: fixed overflow bug.
30501
30502	acosh.c: mentioned bug due to overflow in mpfr_mul.
30503	tests/tacosh.c: added corresponding testcase (for 32-bit machines).
30504
30505	tacosh.c: use tests_default_random().
30506
30507	tests.c: improved tests_default_random().
30508
305092007-09-02  Vincent Lef��vre  <vincent@vinc17.net>
30510
30511	Makefile.am: fixed get_patches rule.
30512
30513	Makefile.am: cd $(srcdir) before executing get_patches.sh (thanks to
30514	Daniel Jacobowitz for noticing this); for more information, see the
30515	note just before the get_patches.c rule.
30516
305172007-08-31  Vincent Lef��vre  <vincent@vinc17.net>
30518
30519	acosh.c: added MPFR_UNLIKELY.
30520
30521	Added generic bad case tests.
30522
30523	algorithms.tex: deleted trailing spaces.
30524
30525	algorithms.tex: correction in section on mpfr_asinh: acosh -> asinh.
30526
30527	Fixed bug in mpfr_acosh for arguments slightly larger than 1;
30528	updated algorithms.tex; fixed testcase.
30529
30530	tacosh.c: added testcase for bug in mpfr_acosh (assertion failure).
30531
30532	tasin.c: increased the number of generic tests.
30533
30534	Improved generic tests by limiting the exponent range of the random
30535	numbers for some functions.
30536
305372007-08-30  Vincent Lef��vre  <vincent@vinc17.net>
30538
30539	Generic tests: adjust the proportion of negative numbers returned
30540	by the random function in order to get fewer NaN cases.
30541
30542	tgeneric.c: output a warning when too few normal cases are tested
30543	(so that the random function can be improved...).
30544
30545	tests.c: function split (for future addition).
30546
30547	configure.in: updated copyright notice (for consistency).
30548
30549	Bug fix: added missing _MPFR_PROTO in mpfr-test.h.
30550
30551	tgeneric.c: updated description line.
30552
305532007-08-29  Vincent Lef��vre  <vincent@vinc17.net>
30554
30555	Updated copyright notice (for an unknown reason, some files were missing
30556	from the change done in r4350).
30557
305582007-08-28  Vincent Lef��vre  <vincent@vinc17.net>
30559
30560	atan2.c: as we supposed some property, let's add an assertion (which
30561	can be evaluated at compile time).
30562
30563	atan2.c: improved comment.
30564
30565	atan2.c: completed the underflow case.
30566
30567	atan2.c: fixed the underflow case except in GMP_RNDN with
30568	2^(-emin-2) < |y/x| < 2^(-emin-1).
30569
30570	tatan.c: added small-value tests in the other rounding modes.
30571
30572	atan2.c: implemented the special case where x is positive and y/x is
30573	computed exactly (solving the underflow problems in this case).
30574
30575	tatan.c: added a similar test, but with an exact division result.
30576
30577	tatan.c: fixed test.
30578
30579	README.dev: added a paragraph concerning Ziv loops.
30580
30581	tatan.c: updated comment.
30582
30583	tatan.c: extended the latest testcase to any platform (e.g. 64 bits).
30584
30585	tatan.c: added testcase from a bug reported by Christopher Creutzig.
30586
305872007-08-27  Vincent Lef��vre  <vincent@vinc17.net>
30588
30589	Updated svn:ignore properties.
30590
30591	FAQ update:
30592	  * The question numbers are now hardcoded instead of being generated
30593	    with CSS rules.
30594	  * Added the list of questions at the top.
30595	  * CSS styles: a grey bar is displayed on the left of the target answer
30596	    (if the browser supports the ":target" pseudo-class from CSS3).
30597
30598	faq.xsl: added a comment.
30599
30600	FAQ update.
30601
306022007-08-22  Vincent Lef��vre  <vincent@vinc17.net>
30603
30604	INSTALL: added another warning concerning the --with-gmp options.
30605	For instance, under Linux, "cpp -I/usr/include -v < /dev/null" says:
30606	  ignoring duplicate directory "/usr/include"
30607	    as it is a non-system directory that duplicates a system directory
30608	and does not modify the include search path as wanted.
30609
306102007-08-15  Vincent Lef��vre  <vincent@vinc17.net>
30611
30612	mpfr.texi: improved description of mpfr_setsign.
30613
306142007-08-14  Vincent Lef��vre  <vincent@vinc17.net>
30615
30616	Added to NEWS: Thread-safe support with Microsoft Visual compiler.
30617
30618	mpfr-impl.h: if MPFR_USE_THREAD_SAFE is defined (--enable-thread-safe):
30619	  * Added support for MSC (thanks to Brian Gladman).
30620	  * Define MPFR_THREAD_ATTR even after #error to make the error more
30621	    visible (see comment in the source).
30622
306232007-08-13  Vincent Lef��vre  <vincent@vinc17.net>
30624
30625	tstckintc.c: fixed bus error on Solaris (the address of Buffer was not
30626	a multiple of 4).
30627
30628	NEWS: new functions mpfr_signbit, mpfr_setsign, mpfr_copysign.
30629
30630	Implemented changes suggested in
30631	<https://sympa.inria.fr/sympa/arc/mpfr/2007-07/msg00123.html>.
30632	* Made mpfr_copysign() like the corresponding function in IEEE 754
30633	  (was an internal function until now).
30634	* Added mpfr_signbit() and mpfr_setsign().
30635	* Documented these three functions.
30636	* Updated TODO.
30637
306382007-08-11  Vincent Lef��vre  <vincent@vinc17.net>
30639
30640	Fixed mpfr_inits and mpfr_clears calls in tests/tatan.c.
30641
30642	Added check_inits_clears Perl script to check that a cast is performed
30643	for the last argument of mpfr_inits, mpfr_inits2 and mpfr_clears.
30644
306452007-08-10  Vincent Lef��vre  <vincent@vinc17.net>
30646
30647	Updated version to 2.4.0-dev.
30648
30649	NEWS update.
30650
30651	ChangeLog update with "TZ=UTC svn log -v".
30652
30653	asinh.c: fixed assertion failure (see test 4 in tasinh.c, added
30654	in r4740), that was due to an exception.
30655
30656	tasinh.c: fixed test.
30657
30658	tasinh.c: added worst case that yields an assertion failure.
30659
306602007-08-09  Vincent Lef��vre  <vincent@vinc17.net>
30661
30662	Added data_check support to cbrt.
30663
30664	log.c: fixed assertion failure (see test x_near_one in tlog.c, added
30665	in r4736), that was due to an exception.
30666
30667	pow.c: added MPFR_SMALL_INPUT_AFTER_SAVE_EXPO for the case where
30668	|y * log(x)| is very small (I can't really test because this code
30669	currently fails due to a bug in mpfr_log: see test x_near_one
30670	added to tlog.c as changeset 4736; this bug is also present in
30671	the 2.2 branch).
30672
30673	tlog.c: added a test leading to an assertion failure in mpfr_log.
30674
30675	tpow.c: added a test where x is close to 1.
30676
30677	Added empty file tests/data/exp10 to avoid an error with -dev versions.
30678
30679	Added a TODO concerning the description of mpfr_round_near_x.
30680
30681	Added empty files in tests/data to avoid errors with -dev versions.
30682
30683	mpfr_ui_pow fix: added a MPFR_SAVE_EXPO_UPDATE_FLAGS.
30684
30685	Added texp10.c (texp10 currently fails).
30686
30687	texp2.c: reformat and added some tests which were missing.
30688
306892007-08-08  Vincent Lef��vre  <vincent@vinc17.net>
30690
30691	Added data_check calls to texpm1, tlog1p and tlog2.
30692
30693	tests/tests.c: in data_check(), mode 'Z', do not test GMP_RNDN if
30694	the precision for the directed rounding modes is MPFR_PREC_MIN.
30695
306962007-08-04  Vincent Lef��vre  <vincent@vinc17.net>
30697
30698	TODO: more on mpfr_sin (and mpfr_cos).
30699
30700	TODO: update concerning sin/cos/tan.
30701
307022007-08-03  Vincent Lef��vre  <vincent@vinc17.net>
30703
30704	tests/tests.c: in data_check(), check the 4 rounding modes if rnd is 'Z'
30705	(in order to test the worst cases).
30706
30707	Fixed coding style (for ansi2knr in particular).
30708
307092007-08-02  Vincent Lef��vre  <vincent@vinc17.net>
30710
30711	Makefile.am: added a comment about "get_patches.c".
30712
30713	No longer set "CLEANFILES = get_patches.c" in Makefile.am so that a
30714	"make clean" doesn't remove the get_patches.c file, as rebuilding it
30715	needs a Unix shell (and some standard utilities). Anyway the update
30716	of this file should be regarded as part of the patch process, then
30717	this file is just like any other .c files. Note: "make dist" includes
30718	this file in the archives, so that concerning the build, everything
30719	is like before as long as no patches are applied.
30720
307212007-08-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
30722
30723	added item about sNaN/qNaN
30724
307252007-07-31  Vincent Lef��vre  <vincent@vinc17.net>
30726
30727	copysign.c: reformat, updated comment (but this function is still not
30728	documented in mpfr.texi).
30729
30730	Updated version back to 2.3.0-dev since the 2.3 branch will be recreated
30731	from the trunk (too many changes!).
30732
30733	tl2b.c: enable output even when the constants are correct.
30734
30735	Added get_patches.c to the svn:ignore property, as this file is
30736	generated.
30737
30738	Replaced l2b cache by constants, as suggested by Patrick Pelissier,
30739	to avoid efficiency problems with the stack interface and heavily
30740	threaded applications.
30741	  * Added tests/tl2b.c to generate / check the constants.
30742	  * tests/Makefile.am: added tl2b to check_PROGRAMS.
30743	  * tests directory: added tl2b to the svn:ignore property.
30744	  * mpfr-impl.h: updated the __gmpfr_l2b declaration.
30745	  * free_cache.c: disabled free_l2b (since there's no longer a cache).
30746	  * get_str.c: added the code generated by tl2b; for the bootstrap, one
30747	    can just write:
30748	      const __mpfr_struct __gmpfr_l2b[BASE_MAX-1][2] = { { { 0 } } };
30749	    Removed the code (in ceil_mul) that computed these constants.
30750
307512007-07-30  Vincent Lef��vre  <vincent@vinc17.net>
30752
30753	mpfr.texi: updated the documentation of the mpfr_get_d function family.
30754
30755	Patch tracking: updated README.dev and TODO files.
30756
30757	Added support for tracking applied patches with new function
30758	mpfr_get_patches().
30759
30760	mpfr.texi: updated the example concerning mpfr_get_version() vs
30761	MPFR_VERSION_STRING ("Warning" instead of "Error", make sure that
30762	the example fits on 80 columns in the info file).
30763
30764	mpfr.texi: updated description of mpfr_get_version().
30765
30766	mpfr.texi: updated description of mpfr_get_version().
30767
307682007-07-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
30769
30770	added files that are not 100% covered by tests
30771
307722007-07-27  Vincent Lef��vre  <vincent@vinc17.net>
30773
30774	coverage: added --disable-shared --enable-static to configure.
30775
30776	mpfr-impl.h: added more casts for g++.
30777
30778	Reformat.
30779
30780	Applied patch from Patrick to be able to build MPFR with g++.
30781
307822007-07-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
30783
30784	added default thresholds for Core 2
30785
307862007-07-25  Vincent Lef��vre  <vincent@vinc17.net>
30787
30788	No longer use MPFR_CHECK_ALL in tests. In '-dev' versions, assume
30789	that the data files exist and return an error whenever a file cannot
30790	be opened. In the other versions, return silently if the file cannot
30791	be opened.
30792
30793	Moved mpfr-test.h into the tests directory.
30794
307952007-07-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
30796
30797	fixed "efficiency bug" (argument reduction was broken)
30798
307992007-07-25  Vincent Lef��vre  <vincent@vinc17.net>
30800
30801	tests.c: in data_check(), made whitespace skipping consistent and
30802	check that the result value is immediately followed by a \n.
30803
30804	[tests.c] Fixed some types (the result of getc() is not necessarily
30805	representable in a char).
30806
30807	tests.c: changes in the error messages (BTW, we decided to output
30808	everything to stdout for consistency, even though messages for
30809	assertion failure are written to stderr) and replaced an abort ()
30810	by an exit (1).
30811
30812	Delete trailing spaces.
30813
308142007-07-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
30815
30816	jyn_asympt.c: new common file for asymptotic expansion in jn/yn
30817	tests/tests.c: print precisions in case of failure
30818	jn.c: now use jyn_asympt.c
30819	yn.c: now implement asymptotic expansion (jyn_asympt.c)
30820
30821	fixed more wrong entries in Gonnet's test suite
30822
308232007-07-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
30824
30825	contribution of first neglected term to error was wrong
30826
30827	fixed wrong entry (not enough precision was used in Maple)
30828
30829	implemented asymptotic expansion for large argument in j0/j1/jn
30830
308312007-07-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
30832
30833	define MPFR_CHECK_ALL for nightly tests
30834
30835	Added code to check mpfr against Gonnet's tables when the environment variable
30836	MPFR_CHECK_ALL is defined (some table entries were checked by MuPAD)
30837
30838	added comment
30839
30840	test data files mpfr mpfr_y0 and mpfr_y1, ***not*** checked with MuPAD
30841
30842	added auxiliary MuPAD functions
30843	improved Ziv's strategy: add half of DIGITS each time
30844
30845	test data file for mpfr_tanh, checked by MuPAD
30846
30847	test data file for mpfr_tan, checked with MuPAD (except 3 indicated entries)
30848
30849	test data file for mpfr_sqrt, checked with MuPAD
30850
30851	test data file for mpfr_sinh, checked by MuPAD (except indicated lines)
30852
30853	test data file for mpfr_sin, checked by MuPAD (except tiny inputs indicated
30854	in file)
30855
30856	test data file for x^(11/4), checked with MuPAD
30857
30858	finally, I was able to check it with MuPAD
30859
30860	test data file for 2^x, checked with MuPAD
30861
30862	test data file for Pi*x, checked with MuPAD
30863
30864	test data file for mpfr_log, checked with MuPAD
30865
30866	test data files for mpfr_j0, mpfr_j1, mpfr_lgamma, mpfr_log10,
30867	***not*** tested with MuPAD (not Dom::Interval interface)
30868
30869	test data file for 1/x, i.e., mpfr_ui_div(1,x), checked with MuPAD
30870
30871	test data file for mpfr_gamma, ***not*** checked by MuPAD
30872
30873	test data file for mpfr_exp, checked with MuPAD
30874
30875	test data files for erf and erfc (not checked by MuPAD, since Dom::Interval
30876	does not have an interface for those functions in MuPAD 3.2.0)
30877
30878	test data file for mpfr_cosh, checked with MuPAD
30879
30880	test data file for mpfr_cos, checked by MuPAD
30881
30882	test data file for mpfr_atanh, checked with MuPAD
30883
30884	test data file for atan, checked with MuPAD
30885
30886	test file for mpfr_asinh, checked with MuPAD
30887
30888	data file for mpfr_asin, checked with MuPAD using CheckData.mu
30889
30890	data file for mpfr_acosh, checked with MuPAD using CheckData.mu
30891
30892	improved output
30893
30894	MuPAD file to check a data file
30895
308962007-07-20  Vincent Lef��vre  <vincent@vinc17.net>
30897
30898	Renamed mpfr_l2b as __gmpfr_l2b for consistency.
30899
309002007-07-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
30901
30902	patch from Brian Gladman to build mpfr.dll
30903
30904	added copyright information about Gonnet's package
30905
30906	modified data_check() to allow comment lines starting with #
30907
30908	new (experimental) mechanism to check data files (see example in tacos.c)
30909
30910	new directory for test data
30911
30912	added test for inexact flag (bug fixed in r4630)
30913
309142007-07-18  Vincent Lef��vre  <vincent@vinc17.net>
30915
30916	erfc.c, atan2.c: added missing "MPFR_SAVE_EXPO_FREE (expo);" before
30917	  "return mpfr_underflow (...);".
30918	erfc.c: replaced a goto by an else.
30919
309202007-07-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
30921
30922	now deal with underflow in y/x (remains to deal with overflow)
30923
30924	now can specify output base when argc > 1
30925
30926	MPFR_EQUAL -> mpfr_equal_p
30927
30928	fixed problem with erfc() near underflow region
30929
30930	atan2.c: quick-and-dirty fix for atan2(y,1)
30931	tests/tatan.c: fix tests from Christopher [x and y were interchanged]
30932
30933	added test from Ch. Creutzig
30934
30935	apply patch suggested in bug #3604
30936
309372007-07-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
30938
30939	previous bug fix for tiny negative inputs in mpfr_lgamma was incorrect:
30940	result was NaN, but this was not detected by the tests since mpfr_cmp (y, NaN)
30941	is always true!
30942
309432007-07-17  Vincent Lef��vre  <vincent@vinc17.net>
30944
30945	Added comments and fixed an indentation bug.
30946
309472007-07-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
30948
30949	in reconstruction after computation of cos(x/2^k) for reduced argument,
30950	it may be that cos(x) is zero to the working precision. Then restart Ziv's
30951	algorithm with a larger precision.
30952
309532007-07-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
30954
30955	lngamma.c: fix for small inputs
30956	tlgamma.c: added more tests from Kaveh Ghazi
30957
30958	sin_cos.c: 2nd arg of 1st mpfr_can_round call was wrong
30959	ttan.c: fixed wrong reference value
30960
30961	added comment about sinpi, etc.
30962
309632007-07-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
30964
30965	added new test, and re-enabled test that was too slow
30966
309672007-07-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
30968
30969	removed MPFR_CHECK_TINY, added MPFR_CHECK_MAX
30970
309712007-07-10  Vincent Lef��vre  <vincent@vinc17.net>
30972
30973	terf.c: added testcase for bug reported by Christopher Creutzig.
30974
309752007-07-09  Vincent Lef��vre  <vincent@vinc17.net>
30976
30977	Removed a #include that was probably added by mistake in r2590.
30978
30979	<stdio.h> and <limits.h> are now included unconditionally in mpfr-impl.h
30980	(removed their inclusion from the C files for consistency).
30981
309822007-07-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
30983
30984	ternary flag was wrong in case s=1 or -1 and rounding up/nearest
30985
30986	updated algorithms.tex with new additive argument reduction for sin/cos/tan
30987
309882007-07-03  Vincent Lef��vre  <vincent@vinc17.net>
30989
30990	lngamma.c: reformat and replaced mpfr_cmp(...) == 0 by mpfr_equal_p.
30991
309922007-07-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
30993
30994	changed stdlib to stdio for NULL (see README.dev)
30995
30996	fixed bug in tlgamma and added test (need to implement Ziv's strategy in
30997	tiny case)
30998
30999	added missing include
31000
310012007-07-03  Vincent Lef��vre  <vincent@vinc17.net>
31002
31003	Fixed the bug reported by David Billinghurst to the MPFR mailing-list
31004	on 2007-07-03 (memory leaks under some conditions):
31005	  * moved the free_l2b() function from tests/tests.c to free_cache.c;
31006	  * mpfr_free_cache() (from free_cache.c) now calls free_l2b();
31007	  * as a consequence, no longer call free_l2b() in tests_end_mpfr();
31008	  * documented the behavior in mpfr.texi (under mpfr_free_cache).
31009
31010	tj0.c: added testcase from Sisyphus (assertion failed).
31011
31012	README.dev: explain how to test the library interface compatibility.
31013
310142007-07-02  Vincent Lef��vre  <vincent@vinc17.net>
31015
31016	README.dev: mentions patch-libtool and how to apply it.
31017
31018	Added patch-libtool (patch for aclocal.m4 and configure that comes from
31019	<https://lists.gnu.org/archive/html/bug-libtool/2007-07/msg00007.html>
31020	or gmane.comp.gnu.libtool.bugs:5776).
31021
31022	NEWS: mention that the shared library is now enabled by default on 2.3.
31023
31024	README.dev: updated item 2 of "To make a release".
31025
31026	Reformat.
31027
31028	Updated version to 2.4.0-dev.
31029
31030	ChangeLog update.
31031
31032	NEWS: update.
31033
310342007-07-01  Vincent Lef��vre  <vincent@vinc17.net>
31035
31036	Makefile.am: updated comment concerning -version-info.
31037
31038	Added mpfr_fms based on mpfr_fma.
31039
31040	tfma.c: added a space.
31041
31042	tfma.c: typo.
31043
31044	Reformat.
31045
31046	fma.c: minor changes for consistency with the future fms.
31047
31048	Completed the implementation of mpfr_fma (except in some corner cases
31049	where overflows/underflows and huge precisions are involved at the
31050	same time). Added underflow tests. Removed item from the BUGS file
31051	(the remaining problems more or less correspond to the first item).
31052
31053	Untabified.
31054
31055	tfma.c: added overflow test to test_underflow.
31056
31057	fma.c: implemented the main cases where x * y underflows.
31058	tests/tfma.c: fixed overflow tests and added underflow tests.
31059
310602007-06-30  Vincent Lef��vre  <vincent@vinc17.net>
31061
31062	NEWS: update.
31063
310642007-06-29  Vincent Lef��vre  <vincent@vinc17.net>
31065
31066	BUGS: updated item on mpfr_fma.
31067
31068	fma.c: completed the cases where x*y/4 needs to be used, except the very
31069	particular cases where an underflow occurs, that remain to be done.
31070
31071	tfma.c: fixed a printf.
31072
31073	fma.c: added an assertion.
31074
31075	tfma.c: fixed overflow tests.
31076
31077	tfma.c: check NaN in test_overflow2.
31078
31079	fma.c: updated a comment.
31080
31081	tfma.c: added more overflow tests (needed to distinguish the cases
31082	where z/4 underflows or not -- see fma.c).
31083
31084	tfma.c: added tests (-> assertion failed because mpfr_fma implementation
31085	isn't complete).
31086
310872007-06-28  Vincent Lef��vre  <vincent@vinc17.net>
31088
31089	acos.c: disabled change from r3145 ("Optimize mpfr_acos by choosing
31090	a better initial precision.") that was buggy.
31091	BUGS: removed mpfr_acos bug.
31092
31093	BUGS: updated item on the mpfr_acos bug.
31094
31095	BUGS: updated item on the mpfr_acos test (the bug wasn't visible on
31096	32-bit machines due to an integer overflow, but the result should
31097	have been correct anyway).
31098
31099	acos.c: fixed integer overflows; to avoid undefined behavior, I had
31100	to add an assertion that is not always satisfied (the code needs to
31101	be rewritten to take tiny arguments into account).
31102
31103	BUGS: update (mpfr_cot has just been fixed).
31104
31105	cot.c: implemented the case |x| = 2^emin.
31106	tests/tcot.c: added tests for this case, in 3 exponent ranges
31107	(as this is an overflow limit).
31108
31109	Fixed bug in div.c: rnd_mode could be modified (MPFR_INVERT_RND), but
31110	the original value was assumed in case of underflow or overflow.
31111
31112	tdiv.c: added a test showing another bug in mpfr_div.
31113
31114	cot.c: use MPFR_SAVE_EXPO_UPDATE_FLAGS, but the case +/- 2^emin could
31115	still be buggy with the current code; added a MPFR_ASSERTN (0) until
31116	it is implemented.
31117	BUGS: updated item on mpfr_cot.
31118
311192007-06-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
31120
31121	fixed several problems with huge arguments in periodic functions
31122	mpfr_sin: complete rewrite, using mpfr_remainder for argument reduction
31123	mpfr_sin_cos: ditto
31124
311252007-06-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
31126
31127	fixed stupid bug (subtraction of unsigned longs)
31128
31129	cos.c: implemented argument reduction by 2Pi
31130	tcos.c/tgeneric.c: reduce large exponent used when MPFR_CHECK_MAX is defined
31131
311322007-06-22  Vincent Lef��vre  <vincent@vinc17.net>
31133
31134	BUGS: added bugs.
31135
31136	coth.c, sech.c: a rounding mode was incorrect.
31137	tests/tcoth.c: added underflowed_cothinf test.
31138	tests/tsech.c: added overflowed_sech0 test.
31139
31140	* gen_inverse.h: ACTION_TINY must be called after MPFR_SAVE_EXPO_MARK
31141	  (this is necessary for some functions). Moved MPFR_SAVE_EXPO_FREE
31142	  after the "end:" label.
31143	* coth.c, csc.c, csch.c: as a consequence, MPFR_SAVE_EXPO_UPDATE_FLAGS
31144	  had to be added before "goto end;".
31145	* sec.c: a rounding mode was incorrect.
31146	* tests/tsec.c: added overflowed_sec0 test.
31147
311482007-06-21  Vincent Lef��vre  <vincent@vinc17.net>
31149
31150	sin_cos.c: fixed a bug for x = 0 in reduced exponent range.
31151	tests/tsin_cos.c: added overflowed_sin_cos0 test.
31152
31153	BUGS: Some functions do not use MPFR_SAVE_EXPO_* macros, thus do not
31154	behave correctly in a reduced exponent range.
31155
31156	factorial.c: a rounding mode was incorrect.
31157	tests/tfactorial.c: added overflowed_fac0 test.
31158
31159	exp2.c: use MPFR_SMALL_INPUT_AFTER_SAVE_EXPO instead of
31160	MPFR_FAST_COMPUTE_IF_SMALL_INPUT since 1 (__gmpfr_one) isn't
31161	necessarily representable.
31162	tests/texp2.c: added overflowed_exp2_0 test.
31163
31164	exp.c: fixed problems in reduced exponent range.
31165	tests/texp.c: added overflowed_exp0 test.
31166
31167	exp.c bug fix: a rounding mode was incorrect.
31168
31169	tcos.c: fixed error message in overflowed_cos0 test.
31170
31171	tcos.c: removed an obsolete comment from the overflowed_cos0 test.
31172
31173	tcos.c: improved overflowed_cos0 test.
31174
31175	get_str.c: use MPFR_SAVE_EXPO.
31176	tests/tget_str.c: enabled the test with a reduced exponent range.
31177
31178	tget_str.c: added a test (disabled by default) with emax = 0.
31179
31180	Corrected mpfr_inits, mpfr_inits2 and mpfr_clears calls with NULL
31181	argument (-> (void *) 0).
31182
31183	tget_str.c: reformatted/corrected a function.
31184
31185	Tests: when restoring the exponent range, save emin/emax first instead
31186	of using MPFR_EMIN_MIN/MPFR_EMAX_MAX (which have no longer corresponded
31187	to the default exponent range since quite a long time).
31188
31189	BUGS: update.
31190
311912007-06-20  Vincent Lef��vre  <vincent@vinc17.net>
31192
31193	Untabified and removed trailing spaces.
31194
31195	Bug fix: preprocessor # must be in the first column.
31196
31197	remquo.c bug fix: preprocessor # must be in the first column.
31198
31199	tcos.c: fixed and improved the overflowed_cos0 test.
31200
31201	cos.c bug fix: a rounding mode was incorrect.
31202
31203	cos.c: use MPFR_SMALL_INPUT_AFTER_SAVE_EXPO instead of
31204	MPFR_FAST_COMPUTE_IF_SMALL_INPUT.
31205
31206	cos.c: untabified.
31207
31208	tcos.c: added tests for x very small and emax = 0 (some of them
31209	currently fail).
31210
31211	Added a comment concerning the MPFR_SMALL_INPUT_AFTER_SAVE_EXPO macro.
31212
31213	Added MPFR_SMALL_INPUT_AFTER_SAVE_EXPO macro; updated expm1.c to use
31214	this variant (and moved MPFR_SAVE_EXPO_MARK after the test ex < 0).
31215
312162007-06-19  Vincent Lef��vre  <vincent@vinc17.net>
31217
31218	Documented log(-0).
31219
31220	Added a few tests of log functions.
31221
312222007-06-18  Vincent Lef��vre  <vincent@vinc17.net>
31223
31224	mpfr.texi: updated Section "Floating-Point Values on Special Numbers".
31225
312262007-06-12  Vincent Lef��vre  <vincent@vinc17.net>
31227
31228	TODO: allow generic tests to run with a restricted exponent range.
31229
31230	expm1.c: fixed bug for x = -max_value due to an intermediate overflow
31231	(flags were incorrect); at the same time, potential problems due to a
31232	restricted exponent range are also fixed.
31233
31234	tgeneric.c: check the function on large arguments (��maximum_value)
31235	when the MPFR_CHECK_MAX environment variable is defined.
31236
312372007-06-11  Vincent Lef��vre  <vincent@vinc17.net>
31238
31239	tests/tlgamma.c: re-enabled sign checking.
31240
312412007-06-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
31242
31243	fixed problem with mpfr_lgamma for tiny negative input (and fixed use of
31244	generic test)
31245
312462007-06-05  Vincent Lef��vre  <vincent@vinc17.net>
31247
31248	[mpfr.texi] Small change in new Section "Floating-Point Values on
31249	Special Numbers" (suggested by Paul).
31250
312512007-06-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
31252
31253	fixed bug for tiny negative input (and added corresponding test)
31254
312552007-06-05  Vincent Lef��vre  <vincent@vinc17.net>
31256
31257	algorithms.tex: Mulder -> Mulders.
31258
312592007-06-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
31260
31261	added test for "Witty's bug" on 64-bit machines
31262
312632007-06-04  Vincent Lef��vre  <vincent@vinc17.net>
31264
31265	div.c: GNU coding style.
31266
312672007-06-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
31268
31269	tdiv.c: added missing mpfr_clear's, and spaces before function calls
31270	div.c: fixed bug found by Carl Witty, and added more comments
31271
312722007-06-04  Vincent Lef��vre  <vincent@vinc17.net>
31273
31274	tdiv.c: oops... the result should be 1.
31275
31276	tdiv.c: added test from Carl Witty's bug report on 2007-06-03.
31277
312782007-06-01  Vincent Lef��vre  <vincent@vinc17.net>
31279
31280	mpfr.texi: updated Section "Floating-Point Values on Special Numbers".
31281
31282	mpfr.texi: updated Section "Floating-Point Values on Special Numbers".
31283
31284	mpfr.texi: updated month.
31285
31286	mpfr.texi: added @: after "resp." (when it was missing).
31287
312882007-05-31  Vincent Lef��vre  <vincent@vinc17.net>
31289
31290	Started a new section "Floating-Point Values on Special Numbers".
31291
31292	mpfr.texi: inf -> Inf for consistency.
31293
31294	mpfr.texi @deftypefun correction: void * -> {void *} (for the PDF).
31295
31296	mpfr.texi: consistency changes in section titles; made titles unique.
31297
31298	set_d64.c: replaced an "if" by a "#if" to avoid a gcc warning.
31299
31300	get_d64.c: use BITS_PER_MP_LIMB instead of GMP_BITS_PER_LIMB (which
31301	does not seem to exist).
31302	set_d64.c: use BITS_PER_MP_LIMB instead of mp_bits_per_limb.
31303
31304	get_d64.c, set_d64.c: improved code to avoid some warnings.
31305
31306	Untabified get_d64.c and set_d64.c.
31307
31308	get_d64.c: added missing #include.
31309
31310	BUGS: update.
31311
31312	mpfr-impl.h: improved error message when thread safe is not supported.
31313
313142007-05-30  Vincent Lef��vre  <vincent@vinc17.net>
31315
31316	INSTALL: say that relative paths in configure options are not supported
31317	(autoconf doesn't seem to have support for them).
31318
31319	Documented the new behavior of mpfr_sgn (in fact, it was already partly
31320	required by the tsgn.c tests!) and added new mpfr_sgn tests.
31321
31322	TODO: added an item about the behavior of mpfr_sgn on NaN.
31323
31324	tgeneric.c: no longer check the MPFR_CHECK_TINY environment variable
31325	as all the bugs related to tiny arguments have been fixed.
31326
31327	mpfr.texi: corrections following the remarks by Nathalie Revol.
31328
313292007-05-29  Vincent Lef��vre  <vincent@vinc17.net>
31330
31331	yn.c: untabify.
31332
313332007-05-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
31334
31335	fix for small inputs in y1
31336
313372007-05-29  Vincent Lef��vre  <vincent@vinc17.net>
31338
31339	Defined new macros SIGN and SAME_SIGN in mpfr-impl.h to canonicalize
31340	the ternary value and to compare such values. Use SAME_SIGN in erf.c
31341	and lngamma.c.
31342
313432007-05-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
31344
31345	fixed problem of tiny arguments for y0
31346
31347	lngamma.c: fixed problem of tiny inputs in lngamma (still remains lgamma
31348		   to deal with)
31349	erf.c: small correction (inexact flags might have been inexact :-)
31350
31351	fixed tiny input problem with csch, j0, j1
31352
31353	added special code for tiny inputs
31354
313552007-05-29  Vincent Lef��vre  <vincent@vinc17.net>
31356
31357	tgeneric_ui.c: no longer check the MPFR_CHECK_TINY environment variable.
31358
31359	erf.c: removed workaround to mpfr_div_ui bug, as the bug is now fixed.
31360
31361	div_ui.c:
31362	  * Cleaned up the use of the sh variable (there was a useless sh = 0,
31363	    so I'm not sure that there isn't a bug...).
31364	  * Added underflow check.
31365
31366	Added check of tiny arguments to tgeneric_ui.c (if MPFR_CHECK_TINY is
31367	defined, like in tgeneric.c); mpfr_div_ui currently fails due to the
31368	lack of underflow checking.
31369
313702007-05-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
31371
31372	README.dev: fixed typo
31373	erf.c: implemented special case for tiny x, and partially get rid of double
31374		usage
31375	implemented
31376
313772007-05-28  Vincent Lef��vre  <vincent@vinc17.net>
31378
31379	MPFR_RET (mpfr_check_range (...)) -> return mpfr_check_range (...)
31380	as mpfr_check_range already handles the inexact flag.
31381	Reformatting (removed trailing spaces, untabified).
31382
313832007-05-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
31384
31385	fixed problem of tiny input
31386
31387	fixed problem of tiny input for coth (and new fix again for csc, which
31388	takes into account the sign of the input)
31389
31390	fixed problem of tiny inputs in mpfr_sec and mpfr_csc,
31391	by adding a SPECIAL_TINY macro in gen_inverse.h
31392
31393	the test for the tiny input case was too optimistic: fixed and added test.
31394
31395	fixed case of tiny input
31396
31397	fixed problem for tiny arguments
31398
31399	added MPFR_FAST_COMPUTE_IF_SMALL_INPUT call
31400
31401	changed 1st-order Taylor term from x to v to avoid confusion with the
31402	argument x of the function f(x), and fixed some typos
31403
31404	fixed direction of rounding for MPFR_FAST_COMPUTE_IF_SMALL_INPUT
31405	(was wrong for x < 0)
31406
31407	fixed typo
31408
31409	added call to MPFR_FAST_COMPUTE_IF_SMALL_INPUT in exp2
31410
31411	re-enabled MPFR_CHECK_TINY
31412
31413	improved documentation of mpfr_set/get_decimal64 functions
31414	fixed problem in configure.in (_Decimal64 was tested too early)
31415
314162007-05-28  Vincent Lef��vre  <vincent@vinc17.net>
31417
31418	tests/tests.c: fixed two bugs concerning the timeout (including an
31419	old one: we need to call getrlimit to initialize rlim_max).
31420
314212007-05-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
31422
31423	new syntax for timeouts
31424
31425	fixed typo
31426
314272007-05-28  Vincent Lef��vre  <vincent@vinc17.net>
31428
31429	Added mkinstalldirs to svn:ignore property.
31430
31431	Changed --with-tests-timeout into --enable-tests-timeout as documented
31432	in the autoconf manual (--with-* are for external packages only). When
31433	this is enabled, environment variable MPFR_TESTS_TIMEOUT allows to
31434	override the default timeout (use the value 0 to disable timeouts).
31435
31436	Updated NEWS file.
31437
31438	mpfr.texi: small improvement.
31439
31440	Fixed a bug in the mpfr_cmp_ui macro occurring on NaN and the constant 0
31441	by specifying the behavior of mpfr_sgn on NaN.
31442
31443	mpfr.texi: typography corrections concerning "i.e.".
31444
31445	mpfr.texi: consistency changes.
31446
31447	mpfr.texi: more details in Section "Exceptions".
31448
31449	tgeneric.c: check the function on tiny arguments (��2^(emin-1)) when
31450	the MPFR_CHECK_TINY environment variable is defined.
31451
31452	Typo.
31453
31454	Avoid integer overflow in MPFR_FAST_COMPUTE_IF_SMALL_INPUT.
31455
314562007-05-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
31457
31458	completed implementation of Vincent's algorithm for mpfr_remquo
31459	all tests now pass again
31460
314612007-05-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
31462
31463	new version of mpfr_remainder, using Vincent's algorithm
31464	(still remains to deal with special arguments, and make mpfr_remquo call it)
31465
314662007-05-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
31467
31468	added note about fms
31469
31470	fixed typo
31471
31472	fixed problem for x integer and rounding to nearest
31473
31474	workaround for bug when x is very small (check_tiny in tsin)
31475
314762007-05-22  Vincent Lef��vre  <vincent@vinc17.net>
31477
31478	Updated BUGS (again).
31479
31480	Updated BUGS and TODO (mpfr_lgamma has been implemented, but see BUGS,
31481	and gamma(-integer) with integer >= 1 is defined as NaN).
31482
31483	tsin.c: check sin on +/- 2^(emin-1) (test by Christopher Creutzig).
31484
31485	tgamma.c: added test of gamma on some integral values (from Christopher
31486	Creutzig); this test is enabled only when an argument is provided.
31487
31488	fma.c: improved comments and simplified the code.
31489
31490	fma.c: implemented exponent range expansion and the main part when the
31491	multiplication overflows. The following remains to do:
31492	  * when the multiplication overflows: some corner cases;
31493	  * when the multiplication underflows: everything.
31494
314952007-05-21  Vincent Lef��vre  <vincent@vinc17.net>
31496
31497	tlgamma.c: I re-enable the generic tests of mpfr_lgamma now, to make
31498	sure that it is fixed before the 2.3.0 release candidate.
31499
31500	tfma.c: added an overflow test (currently fails).
31501
31502	tfma.c: whitespace change.
31503
31504	tfma.c: added tests on special and exact values.
31505
315062007-05-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
31507
31508	fixed error analysis in mpfr_lngamma
31509	added mpfr_inp_raw/mpfr_out_raw in TODO
31510
315112007-05-16  Vincent Lef��vre  <vincent@vinc17.net>
31512
31513	TODO: fixed mpfr_fms formula to match the one on Itanium and PowerPC.
31514
315152007-05-07  Vincent Lef��vre  <vincent@vinc17.net>
31516
31517	algorithms.tex: improved the description of mpfr_remquo.
31518
315192007-05-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
31520
31521	improved description of remainder and remquo
31522
315232007-05-06  Vincent Lef��vre  <vincent@vinc17.net>
31524
31525	My latest change was not completely correct...
31526
31527	Updated description of algorithm for mpfr_remainder.
31528
315292007-05-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
31530
31531	added description of algorithm for mpfr_remainder
31532
315332007-05-04  Vincent Lef��vre  <vincent@vinc17.net>
31534
31535	remquo.c: suggest to use mpz_powm.
31536
31537	remquo.c: added a comment (idea to compute the remainder much more
31538	efficiently in the case x much larger than y).
31539
315402007-05-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
31541
31542	added assert and ideas for native implementation
31543
31544	put back test (disabled for test)
31545
31546	fixed problem when rem and x are the same variable
31547
315482007-05-04  Vincent Lef��vre  <vincent@vinc17.net>
31549
31550	tremquo.c: added a test that leads to a segmentation fault.
31551
31552	tremquo.c: fixed tests (= -> ==).
31553
315542007-05-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
31555
31556	fixed two issues found by Kaveh Ghazi:
31557	* remainder was wrong for |x/y| < 1
31558	* remainder had wrong sign when zero
31559
31560	more details of error analysis
31561
315622007-05-03  Vincent Lef��vre  <vincent@vinc17.net>
31563
31564	Updated svn:ignore property.
31565
31566	Updated svn:ignore property.
31567
315682007-05-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
31569
31570	fixed precision for command-line usage
31571
315722007-05-03  Vincent Lef��vre  <vincent@vinc17.net>
31573
31574	mpfr.texi: added mpfr_lgamma.
31575
315762007-05-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
31577
31578	added code to use tremquo with command-line arguments (tremquo x y)
31579
315802007-05-02  Vincent Lef��vre  <vincent@vinc17.net>
31581
31582	configure.in: improved comment.
31583
31584	configure.in: added a comment on the AC_ARG_ENABLE(decimal-float...)
31585	part. The addition of this code was the cause of the test_CFLAGS problem
31586	(see r4425 log), but this code is still wrong.
31587
315882007-05-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
31589
31590	modified test (2147483648 is not representable as 32-bit long in C90)
31591
315922007-05-02  Vincent Lef��vre  <vincent@vinc17.net>
31593
31594	Removed unused variables.
31595
31596	get_str.c:
31597	  * Removed useless prototype declaration (function no longer defined).
31598	  * Fixed initializer.
31599
31600	configure.in: moved the definition of test_CFLAGS upward (it was
31601	always set to "set", either because of things added to configure.in
31602	or because of new autoconf).
31603
31604	mpfr.h: added mpfr_lgamma prototype.
31605
316062007-05-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
31607
31608	argument quo of remquo is now a pointer to long instead of int
31609	added new functions in NEWS
31610
31611	changed order of arguments: now mpfr_remquo (r, q, x, y, rnd).
31612
316132007-05-02  Vincent Lef��vre  <vincent@vinc17.net>
31614
31615	remquo.c: fixed variable name for MPFR_LOG_FUNC.
31616
316172007-05-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
31618
31619	added mpfr_remquo and mpfr_remainder
31620
316212007-04-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
31622
31623	fixed error analysis (error was over-estimated)
31624
316252007-04-26  Vincent Lef��vre  <vincent@vinc17.net>
31626
31627	lngamma.c: a bit more details in the error analysis for z0 < 1.
31628
31629	lngamma.c: a bit more details in the error analysis for z0 < 1.
31630
316312007-04-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
31632
31633	u was used for two different meanings in the error analysis for z0 < 1
31634
316352007-04-25  Vincent Lef��vre  <vincent@vinc17.net>
31636
31637	Updated svn:ignore property.
31638
31639	Added preliminary support for mpfr_lngamma and tests.
31640	TODO: add support for negative numbers with small exponent.
31641	Re-enable the generic tests when this is done.
31642
31643	lngamma.c: There was an assertion failed, probably because the error
31644	was too large; fixed that by restarting with a larger precision.
31645
31646	lngamma.c: fixed -2k-1 <= x <= -2k test.
31647
31648	tests/tlngamma.c: added a test showing a bug in lngamma (due to the
31649	use of mpfr_get_si even when the number doesn't fit in a long).
31650
316512007-04-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
31652
31653	fixed bug for negative even index in mpfr_jn (wrong sign)
31654
316552007-04-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
31656
31657	added warning
31658
31659	added Bit Twiddling Hacks
31660
316612007-04-05  Vincent Lef��vre  <vincent@vinc17.net>
31662
31663	MPFR manual: added a brief description of mpfr_t (this may be needed
31664	to write correct code) and mpfr_ptr (used by mpfr_sum).
31665
316662007-04-02  Vincent Lef��vre  <vincent@vinc17.net>
31667
31668	Changed mpfr_{jn,yn}_si (mpfr_t res, mpfr_t x, long n, ...) into
31669	mpfr_{jn,yn} (mpfr_t res, long n, mpfr_t x, ...), as discussed by
31670	mail; fixed a typo in mpfr.texi in mpfr_{y0,y1,yn} description.
31671
316722007-03-31  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
31673
31674	added url of GSL manual
31675
31676	fixed misunderstanding about definition of Bessel functions
31677
31678	removed Bessel functions J_n and Y_n
31679
31680	added Bessel functions of second kind (y0, y1, yn_si)
31681
31682	now test_generic calls respectively j0 and j1, not zeta!
31683
316842007-03-30  Vincent Lef��vre  <vincent@vinc17.net>
31685
31686	mpfr.texi: INF -> Inf for consistency.
31687
31688	mpfr.texi: PI -> Pi for consistency.
31689
316902007-03-29  Vincent Lef��vre  <vincent@vinc17.net>
31691
31692	mpfr.texi: -0 -> @minus{}0.
31693
31694	mpfr.texi: fixed bug introduced in rev 4377, which made TeX fail.
31695
31696	Added tj0, tj1 and tjn to svn:ignore property of "tests" directory.
31697
316982007-03-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
31699
31700	mpfr_jn -> mpfr_jn_si
31701
317022007-03-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
31703
31704	now check underflow for large n in mpfr_jn_si
31705	added more tests
31706
31707	added more tests (large values of n)
31708
31709	fixed another stupid bug
31710
31711	mpfr_jn -> mpfr_jn_si, with 'int' argument changed to 'long'
31712	fixed bug in mpfr_jn_si (forgot to increase working precision)
31713
317142007-03-23  Vincent Lef��vre  <vincent@vinc17.net>
31715
31716	README.dev: added a warning about the meaning of the output "inexact"
31717	value in the function logging code.
31718
31719	Added log support for mpfr_add and mpfr_sub.
31720
317212007-03-23  Laurent Fousse  <laurent@komite.net>
31722
31723	Correction: added missing $b_n$.
31724
317252007-03-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
31726
31727	added Bessel functions of first kind: j0, j1, jn
31728
317292007-03-19  Vincent Lef��vre  <vincent@vinc17.net>
31730
31731	MPFR manual: improved description of mpfr_get_str.
31732
317332007-03-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
31734
31735	fixed typos in comments
31736
317372007-03-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
31738
31739	documented restriction to n in mpfr_get_str
31740
317412007-03-13  Vincent Lef��vre  <vincent@vinc17.net>
31742
31743	Updated INSTALL based on AIX/PowerPC tests and results from Julie Kurpa
31744	and information on <http://www.ess.uci.edu/esmf/FAQ.html#gcc-errors>.
31745
317462007-03-03  Vincent Lef��vre  <vincent@vinc17.net>
31747
31748	README.dev: updated "To make a release" section.
31749
317502007-03-02  Vincent Lef��vre  <vincent@vinc17.net>
31751
31752	Made modified paragraph on mpfr_get_str more correct from a logical
31753	point of view.
31754
317552007-03-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
31756
31757	modified paragraph on mpfr_get_str (size of allocated string)
31758
317592007-02-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
31760
31761	added tentative implementation of fmod
31762
317632007-02-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
31764
31765	added suggestion about remquo
31766
317672007-02-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
31768
31769	added comment
31770
31771	added C99 rationale for remquo
31772
31773	fixed error in generic error for the logarithm, and propagated new bound
31774	in algorithms.tex and source files
31775
317762007-02-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
31777
31778	added new item
31779
317802007-02-15  Vincent Lef��vre  <vincent@vinc17.net>
31781
31782	Added update-patchv script to update some files before a patch is built
31783	(script from 2.2 branch).
31784
317852007-02-14  Vincent Lef��vre  <vincent@vinc17.net>
31786
31787	mpfr.texi: updated paragraph on the underflow before/after rounding.
31788
317892007-02-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
31790
31791	added reference
31792
317932007-02-12  Vincent Lef��vre  <vincent@vinc17.net>
31794
31795	mpfr.texi: added Exceptions section.
31796
31797	mpfr.texi: updated month.
31798
31799	Note that the mpfr.info file is now installed in the share subdirectory.
31800
318012007-02-10  Vincent Lef��vre  <vincent@vinc17.net>
31802
31803	tests/tpow.c: removed comment since there are other <limits.h> macros
31804	in the file (and this is an old bug: the first one was introduced in
31805	rev 2783).
31806
318072007-02-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
31808
31809	added missing include
31810
318112007-02-09  Vincent Lef��vre  <vincent@vinc17.net>
31812
31813	Fixed an integer overflow in pow_si.c (detected with -ftrapv) and
31814	added a corresponding testcase in tests/tpow.c.
31815
31816	pow_si.c: another comment about the overflow detection.
31817
31818	pow_si.c: added the proof of overflow checking.
31819
31820	mpfr-impl.h: added a comment about the exponent limits for MPFR numbers.
31821
318222007-02-08  Vincent Lef��vre  <vincent@vinc17.net>
31823
31824	Reimplemented mpfr_set_si_2exp and mpfr_set_ui_2exp, and mpfr_set_si
31825	and mpfr_set_ui using the 2exp versions with e = 0. This fixes a bug
31826	in corner cases (emin >= 4 and some other constraints) in mpfr_set_si
31827	and mpfr_set_ui that incorrectly lead to an underflow flag set, and
31828	fixes mpfr_set_si_2exp and mpfr_set_ui_2exp in case of overflow or
31829	underflow (replacing the r4346 fix). Added corresponding testcases.
31830
318312007-02-07  Vincent Lef��vre  <vincent@vinc17.net>
31832
31833	Added "Contributed by the Arenaire and Cacao projects, INRIA." to the
31834	copyright notices and removed a few old things.
31835
318362007-02-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
31837
31838	added missing macro (thanks to Izhar Wallach <izharw@keddem.com>)
31839
318402007-01-20  Vincent Lef��vre  <vincent@vinc17.net>
31841
31842	Fixed mpfr_set_si_2exp in case of overflow or underflow.
31843
318442007-01-19  Vincent Lef��vre  <vincent@vinc17.net>
31845
31846	pow_si.c: fixed the overflow detection for x power of 2 and n negative.
31847
31848	tests/tget_f.c: fixed a test that had an integer overflow (detected
31849	with -ftrapv).
31850
31851	pow_si.c: Before fixing the bug corresponding to the testcase added in
31852	rev 4342, let's fix another one that can be detected with -ftrapv when
31853	n = LONG_MIN (since -n is not representable in this case).
31854	With wrapping, we always got the correct result because mp_exp_t is
31855	currently at most a long *and* because of side effects!
31856
31857	tests/tpow.c: added a test which fails (undetected integer overflow).
31858
31859	tests/tpow.c: new test was wrong; fixed.
31860
31861	tests/tpow.c: corrected tests and added another test.
31862
31863	tests/tpow.c: added tests.
31864
31865	pow_si.c: added an assertion.
31866
318672007-01-18  Vincent Lef��vre  <vincent@vinc17.net>
31868
31869	TODO: merged both requests for mpfr_sinh_cosh.
31870
318712007-01-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
31872
31873	added documentation for mpfr_dim (was missing)
31874
31875	added item
31876
318772007-01-17  Vincent Lef��vre  <vincent@vinc17.net>
31878
31879	Replaced some computations using the type double by computations using
31880	MPFR, for mpfr_get_str, allowing it to work with an x86 processor set
31881	up in single-precision mode.
31882
318832007-01-16  Vincent Lef��vre  <vincent@vinc17.net>
31884
31885	Updated comment concerning LONG_MIN / 1.
31886
318872007-01-15  Vincent Lef��vre  <vincent@vinc17.net>
31888
31889	README.dev: updated "To make a release" section.
31890
318912007-01-10  Vincent Lef��vre  <vincent@vinc17.net>
31892
31893	Removed mpzroot.c and rootrem.c from the repository.
31894
31895	Removed log_b2.h (has never been used) from the repository and from
31896	libmpfr_la_SOURCES in Makefile.am.
31897
31898	FAQ.html: Added details to MPF-related Q&A's.
31899
31900	Copyright notice update: added 2007.
31901
31902	* tests/tests.c: under Linux/x86, the FPU precision can be set before
31903	doing the tests (see MPFR_FPU_PREC), so that MPFR can be tested under
31904	various FP environments (2 tests currently fail with _FPU_SINGLE).
31905	* README.dev: updated "To make a release" section.
31906	* BUGS: mentioned the above bug.
31907
319082007-01-08  Vincent Lef��vre  <vincent@vinc17.net>
31909
31910	mpfr.texi -> January 2007.
31911
319122007-01-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
31913
31914	added support from LIP, and different INRIA project-teams
31915
319162007-01-03  Vincent Lef��vre  <vincent@vinc17.net>
31917
31918	Minor change.
31919
319202006-12-29  Vincent Lef��vre  <vincent@vinc17.net>
31921
31922	TODO: macros/functions to get/set the sign of a MPFR number.
31923
319242006-12-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
31925
31926	remove new rootrem implementation (unclear copyright status)
31927
319282006-12-19  Vincent Lef��vre  <vincent@vinc17.net>
31929
31930	Replaced mpfr_mul_2exp and mpfr_div_2exp by mpfr_mul_2ui and
31931	mpfr_div_2ui respectively (when this makes sense, of course).
31932
319332006-12-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
31934
31935	mpfr_div_2exp -> mpfr_div_2ui
31936
31937	improved efficiency of zeta_ui(s) for 3^(-s) < 1/2*ulp(1)
31938
319392006-12-18  Vincent Lef��vre  <vincent@vinc17.net>
31940
31941	mpfr.texi: update concerning MPFR_USE_EXTENSION.
31942
319432006-12-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
31944
31945	added copyright header
31946
31947	added item
31948
319492006-12-15  Vincent Lef��vre  <vincent@vinc17.net>
31950
31951	Implemented MPFR_USE_EXTENSION support.
31952
319532006-12-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
31954
31955	improved efficiency for zeta(m) in precision p when m is large
31956	but still smaller than p, for example m=1024 and p=2048 gives a
31957	speedup of about 23 (thanks to Jim White for reporting the problem)
31958
319592006-12-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
31960
31961	added MPFR_ZIV_INIT stuff
31962
319632006-12-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
31964
31965	fixed typo
31966
319672006-12-05  Vincent Lef��vre  <vincent@vinc17.net>
31968
31969	TODO: to be added: MPFR_USE_EXTENSION macro.
31970
319712006-11-29  Vincent Lef��vre  <vincent@vinc17.net>
31972
31973	README.dev: update.
31974
31975	INSTALL: update of the "Notes on Windows 32" section.
31976
319772006-11-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
31978
31979	added comment about last change
31980
31981	fixed warning on 64-bit machines
31982
319832006-11-26  Vincent Lef��vre  <vincent@vinc17.net>
31984
31985	tests/tpow.c: added worst cases.
31986
31987	tests/troot.c: two more worst cases.
31988
319892006-11-25  Vincent Lef��vre  <vincent@vinc17.net>
31990
31991	tests/troot.c: added a worst case.
31992
31993	BUGS: removed obsolete "compiler bugs" section.
31994
319952006-11-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
31996
31997	added worst case
31998
319992006-11-25  Vincent Lef��vre  <vincent@vinc17.net>
32000
32001	Partially rewrote the INSTALL file.
32002
320032006-11-24  Vincent Lef��vre  <vincent@vinc17.net>
32004
32005	Makefile.am: fixed libtool's -version-info flag (and comment).
32006
32007	configure.in: check for gmp.h a bit earlier.
32008
320092006-11-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
32010
32011	added --with-tests-timeout=60 for nightly tests
32012
32013	test timeout is now a configure option (e.g. --with-tests-timeout=60)
32014
32015	replaced set_d by set_str_binary (more portable)
32016
320172006-11-23  Vincent Lef��vre  <vincent@vinc17.net>
32018
32019	INSTALL: several additions.
32020
320212006-11-22  Vincent Lef��vre  <vincent@vinc17.net>
32022
32023	INSTALL: small update.
32024
32025	FAQ update (added a CSS counter).
32026
32027	update-faq: added a workaround for the libxslt bug 377440.
32028
32029	TODO: update concerning the patches information.
32030
320312006-11-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
32032
32033	set GMP_CHECK_RANDOMIZE to get random tests
32034
320352006-11-21  Vincent Lef��vre  <vincent@vinc17.net>
32036
32037	Updated README file.
32038
320392006-11-20  Vincent Lef��vre  <vincent@vinc17.net>
32040
32041	README.dev: mention the version suffix.
32042
32043	Updated version to 2.3.0-dev.
32044
32045	Added version suffix support (useful for dev and rc versions).
32046
32047	Rewrote nightly-test in sh and fixed a security hole.
32048
320492006-11-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
32050
32051	added cpu time limit of 60 seconds in tests
32052
320532006-11-20  Vincent Lef��vre  <vincent@vinc17.net>
32054
32055	TODO: update.
32056
320572006-11-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
32058
32059	added an argument to give the branch (use trunk or branches/2.2 for example)
32060
320612006-11-20  Vincent Lef��vre  <vincent@vinc17.net>
32062
32063	tests/tgamma.c: restore emin and emax to their default values.
32064
320652006-11-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
32066
32067	fixed bug in overflow test
32068
32069	fixed bug in mpfr_gamma for exact result
32070
32071	added two configure options
32072
32073	simplified test :-)
32074
320752006-11-20  Vincent Lef��vre  <vincent@vinc17.net>
32076
32077	configure.in: unset GMP_CFLAGS and GMP_CC in case the user has set such
32078	environment variables for another use.
32079
32080	tests/texp2.c: fixed a problem with a value that is not necessarily
32081	representable (on platforms without long long).
32082
32083	BUGS: removed item on mpfr_eint (now fixed).
32084
32085	Untabify.
32086
320872006-11-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
32088
32089	replaced double by mpfr_t (problem on 64-bit machines)
32090
32091	added more tests
32092
32093	script for nightly tests
32094
32095	fixed bug in pow (isodd -> assertion failed)
32096	fixed problem in erfc for large input
32097	reduced tests that took too much time
32098
320992006-11-19  Vincent Lef��vre  <vincent@vinc17.net>
32100
32101	mpfr.texi: updated description of mpfr_eint, as the whole input domain
32102	is now supported.
32103
32104	Untabify.
32105
32106	mpfr-impl.h: added a comment about MPFR_WARNING.
32107
321082006-11-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
32109
32110	fixed bug in erfc (forgot to compare result of cmp_si)
32111	fixed infinite loop in eint (test for use of asympt was not tight enough)
32112
32113	added asymptotic expansion for mpfr_eint (don't need MPFR_WARNING any more)
32114
321152006-11-18  Vincent Lef��vre  <vincent@vinc17.net>
32116
32117	Added a mpfr_erfc test that shows a bug and updated BUGS file.
32118
321192006-11-17  Vincent Lef��vre  <vincent@vinc17.net>
32120
32121	configure.in: Added a comment concerning GMP version checking.
32122
32123	configure.in: Before testing GMP header and library versions, set
32124	LD_RUN_PATH locally if a --with-gmp* option is used, so that the
32125	right version of the GMP library is used. There is no need to do
32126	something similar for "make check" as libtool does the job.
32127
32128	Updated mpfr_erfc documentation (now supported in whole domain).
32129
32130	BUGS: removed mpfr_pow_z bug.
32131
321322006-11-17  Vincent Lef��vre  <vincent@vinc17.net>
32133
32134	Merged the new generic tests.
32135
32136	[Added during the Subversion to Git conversion]
32137	A merge commit could not be generated for Git.
32138	Branch in Git: refs/deleted/r4290/heads/new-generic-tests
32139
321402006-11-17  Vincent Lef��vre  <vincent@vinc17.net>
32141
32142	Partially fixed a bug in mpfr_pow_si (overflow/underflow detection for
32143	n < 0).
32144
32145	tests/tpow_z.c: various corrections.
32146
32147	Partially fixed another bug in mpfr_pow_z (overflow/underflow detection
32148	for z < 0) and added corresponding testcases.
32149
32150	Fixed a bug in mpfr_pow_z concerning the underflow flag and added the
32151	corresponding testcase (but the case z < 0 is still buggy concerning
32152	the flags).
32153
321542006-11-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
32155
32156	implemented asymptotic formula for erfc (fixed both slowness for large
32157	arguments, and call to MPFR_WARNING with return value NaN for huge arguments)
32158
32159	added new test
32160
321612006-11-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
32162
32163	fixed problem for large negative input
32164
321652006-11-14  Vincent Lef��vre  <vincent@vinc17.net>
32166
32167	TODO: slight change in the proposed mpfr_lgamma prototype (arg order).
32168
321692006-11-13  Vincent Lef��vre  <vincent@vinc17.net>
32170
32171	About mpfr_lngamma/mpfr_lgamma: added mpfr_lgamma to TODO and updated
32172	mpfr_lngamma description in mpfr.texi.
32173
32174	BUGS: update.
32175
32176	tests/terf.c: added a test that yields a segfault (execute "terf 1").
32177
321782006-11-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
32179
32180	moved the [gs]et_decimal64 functions after the [gs]et_ld functions
32181
321822006-11-10  Vincent Lef��vre  <vincent@vinc17.net>
32183
32184	mpfr.texi: changed @code{--enable-decimal-float} into @samp{...}
32185	for consistency with the other configure options.
32186
32187	mpfr.texi: updated the note concerning mpfr_eint and mpfr_erfc.
32188
321892006-11-10  Vincent Lef��vre  <vincent@vinc17.net>
32190
32191	Added warnings support.
32192	  * configure.in: added --enable-warnings configure option.
32193	  * mpfr-impl.h: defined MPFR_WARNING(W) macro.
32194	  * eint.c, erfc.c: use MPFR_WARNING instead of fprintf.
32195	  * tests/Makefile.am (new-generic-tests branch): run the tests with
32196	    MPFR_QUIET=1 to avoid output of useless warnings, as some tests
32197	    (with large arguments) can generate such warnings, which are all
32198	    expected.
32199
32200	[[Split portion of a mixed commit.]]
32201
322022006-11-10  Vincent Lef��vre  <vincent@vinc17.net>
32203
32204	Added tget_set_d64 to svn:ignore property of "tests" directory.
32205
32206	TODO: "add a configure test for --enable-logging..."
32207
32208	More information for --enable-logging configure option.
32209
32210	Fixed test of logging support.
32211
32212	Removed --with-irix64 configure option and "case $OS_TYPE" code from
32213	configure.in; see
32214	  https://sympa.inria.fr/sympa/arc/mpfr/2006-11/msg00009.html
32215	for the reasons.
32216
322172006-11-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
32218
32219	added more checks with native format
32220
32221	added detection of decimal format in configure (DPD or BID)
32222
322232006-11-09  Vincent Lef��vre  <vincent@vinc17.net>
32224
32225	strtofr.c: removed a useless cast (ISO C99 standard 6.2.5#3) and updated
32226	a comment as isdigit is no longer used.
32227
32228	strtofr.c fix: no longer use isdigit, as MPFR requires non-localized
32229	digits.
32230
322312006-11-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
32232
32233	modified to work on 64-bit machines too
32234
322352006-11-09  Vincent Lef��vre  <vincent@vinc17.net>
32236
32237	get_d64.c: fixed problems related to signed/unsigned values.
32238
32239	strtofr.c: fixed a bug that could occur on platforms with signed chars,
32240	when the user provides a string with negative characters (e.g. accented
32241	characters, in practice).
32242
322432006-11-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
32244
32245	complete rewrite of mpfr_set_decimal64 and mpfr_get_decimal64: now use
32246	internal string <-> _Decimal64 conversion functions, which perform native
32247	conversion from/to BID or DPD
32248
322492006-11-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
32250
32251	added mpfr_set_decimal64 and mpfr_get_decimal64
32252
322532006-11-08  Vincent Lef��vre  <vincent@vinc17.net>
32254
32255	mpfr-impl.h: fixed a compile error if _Decimal64 is unknown.
32256
322572006-11-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
32258
32259	added new configure option --enable-decimal-float to build mpfr_set_decimal64
32260	and mpfr_get_decimal64 (checks _Decimal64, and _GMP_IEEE_FLOATS is defined)
32261
322622006-11-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
32263
32264	added --enable-decimal-float in configure, and corresponding macro
32265	WANT_DECIMAL_FLOATS
32266
322672006-11-07  Vincent Lef��vre  <vincent@vinc17.net>
32268
32269	tests/tversion.c: improved error message and added gmp.h/libgmp test.
32270
32271	Fixed a small bug in tests/tversion.c (should never occur anyway).
32272
322732006-11-06  Vincent Lef��vre  <vincent@vinc17.net>
32274
32275	logging.c: clean-up.
32276
322772006-11-05  Vincent Lef��vre  <vincent@vinc17.net>
32278
32279	README.dev: updated things to do before a release.
32280
322812006-11-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
32282
32283	added new (preliminary) conversions functions to/from decimal64
32284
32285	changed header file: stdlib.h -> stdio.h
32286
322872006-11-03  Vincent Lef��vre  <vincent@vinc17.net>
32288
32289	Fixed a bug related to signed/unsigned types.
32290
32291	tgamma.c: avoid useless mpfr_get_d.
32292
32293	tpow.c: replaced a mpfr_cmp_d by a mpfr_cmp_str1.
32294
32295	lngamma.c: added a comment.
32296
32297	tlngamma.c: avoid useless mpfr_get_d.
32298
322992006-10-27  Vincent Lef��vre  <vincent@vinc17.net>
32300
32301	eint.c: better overflow checking; fix: all allocated memory now freed.
32302
32303	eint.c: forgot 2 mpfr_clear's.
32304
32305	eint.c fix: and changed the #if into if.
32306
32307	eint.c fix: replaced BITS_PER_MP_LIMB by sizeof(mp_exp_t) * CHAR_BIT.
32308
32309	The current implementation of mpfr_erfc cannot compute the result for
32310	large inputs. Return NaN with the erange flag set instead of aborting.
32311	Documented this behavior in mpfr.texi.
32312
323132006-10-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
32314
32315	improved bound for x with BITS_PER_MP_LIMB=32
32316	   added bound for BITS_PER_MP_LIMB=64
32317
323182006-10-27  Vincent Lef��vre  <vincent@vinc17.net>
32319
32320	The current implementation of mpfr_eint cannot compute the result for
32321	large inputs. Return NaN with the erange flag set instead of aborting.
32322	Documented this behavior in mpfr.texi.
32323
32324	tzeta.c patch 4166 should have been committed to the trunk. Fixing...
32325
323262006-10-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
32327
32328	added tests for overflows or underflows
32329
323302006-10-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
32331
32332	fixed problem for large negative s (return +Inf or -Inf)
32333
32334	[[Split portion of a mixed commit.]]
32335
323362006-10-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
32337
32338	fixed dummy error in last commit
32339
323402006-10-26  Vincent Lef��vre  <vincent@vinc17.net>
32341
32342	In latest change, replaced exit(1) by abort().
32343
323442006-10-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
32345
32346	added test for eint()
32347	added error message when input is too large in eint(), waiting for asymptotic
32348		expansion
32349
323502006-10-26  Vincent Lef��vre  <vincent@vinc17.net>
32351
32352	Untabified and added a FIXME.
32353
323542006-10-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
32355
32356	fixed overflow/underflow problems in csch and sech
32357	fixed problem for huge argument in coth
32358
323592006-10-25  Vincent Lef��vre  <vincent@vinc17.net>
32360
32361	FAQ-related updates:
32362	  * faq.xsl: Include styles from http://www.mpfr.org/styles/visual.css
32363	    by using a system entity (but GNOME libxslt bug 345147 is still
32364	    present in Debian, so don't use /*<![CDATA[*/ and /*]]>*/ yet).
32365	  * update-faq: add /*<![CDATA[*/ and /*]]>*/ after calling xsltproc.
32366	  * FAQ.html: update from the MPFR web site: various changes, including:
32367	      + added id attributes on dt elements (FAQ items) to allow anchors;
32368	      + updated FAQ for undefined references.
32369
32370	INSTALL: mention the MPFR FAQ.
32371
323722006-10-23  Vincent Lef��vre  <vincent@vinc17.net>
32373
32374	Added a comment about a warning (this confused a user).
32375
323762006-10-11  Vincent Lef��vre  <vincent@vinc17.net>
32377
32378	TODO: added an item about version information.
32379
323802006-10-05  Vincent Lef��vre  <vincent@vinc17.net>
32381
32382	TODO: updated item.
32383
323842006-10-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
32385
32386	added item
32387
323882006-10-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
32389
32390	fixed wrong emax in example for mpfr_subnormalize
32391
323922006-09-07  Vincent Lef��vre  <vincent@vinc17.net>
32393
32394	MPFR manual: say that errno may be set to non-zero.
32395
323962006-08-31  Vincent Lef��vre  <vincent@vinc17.net>
32397
32398	tests/tests.c: typo.
32399
324002006-08-28  Vincent Lef��vre  <vincent@vinc17.net>
32401
32402	Fixed texp2 overflow tests on 64-bit machines.
32403
32404	tests/reuse.c: avoid a warning; code reformatted (GNU style).
32405
324062006-08-23  Vincent Lef��vre  <vincent@vinc17.net>
32407
32408	BUGS: minor update.
32409
324102006-08-21  Vincent Lef��vre  <vincent@vinc17.net>
32411
32412	BUGS: updated "known bugs" section.
32413
32414	Fixed an exponent/flags-related bug in lngamma.c.
32415
32416	Updated svn:ignore property.
32417
324182006-08-20  Vincent Lef��vre  <vincent@vinc17.net>
32419
32420	Fixed several problems in pow.c concerning underflows, overflows and
32421	flags (including the inexact flag, which could be incorrectly set in
32422	case of NaN), and added some testcases. Problems in pow_z.c have not
32423	been fixed yet.
32424
32425	Partial fix: The inexact flag was not always set in some functions.
32426	In particular, it is now set by mpfr_check_range (if t is not zero)
32427	since mpfr_check_range usually comes just after MPFR_SAVE_EXPO_FREE
32428	(which restores the previous flags).
32429
324302006-08-19  Vincent Lef��vre  <vincent@vinc17.net>
32431
32432	Added an assertion for mpfr_exp2 and a test.
32433
324342006-08-16  Vincent Lef��vre  <vincent@vinc17.net>
32435
32436	Optimized mpfr_expm1 for large (in absolute value) negative values in
32437	order to avoid the TMD (the result is very close to -1). Without this
32438	patch, mpfr_expm1 could take dozens of MBs and the new generic tests
32439	for texpm1 could take several hours instead of less than 1 second.
32440
32441	Fixed a bug in expm1 for very small negative arguments (and perhaps
32442	some very small positive arguments too); this bug is similar to the
32443	one in log1p that was recently found and fixed. It was detected by
32444	the new generic tests (not committed yet), therefore no testcases
32445	are provided. Note: the mpfr_expm1 function is still buggy (freezes
32446	on -0.10E18, prec 2 -> prec 13); this is a different bug.
32447
32448	In mpfr_exp2, the overflow flag was not set if mpfr_exp2 overflowed
32449	with x < emax. Added testcase.
32450
324512006-08-15  Vincent Lef��vre  <vincent@vinc17.net>
32452
32453	The latest mpfr_exp2 fix contained a bug. Partially rewrote mpfr_exp2
32454	to fix this bug and another one (and added a corresponding testcase:
32455	exp2(10000000000.5), which was freezing).
32456
32457	Better fix for exp2 exponent range bug.
32458
32459	Fixed bug in mpfr_exp2 when the argument is an integer and emin > 1.
32460	Added a testcase to texp2.
32461
324622006-08-14  Vincent Lef��vre  <vincent@vinc17.net>
32463
32464	Added tget_ld_2exp to svn:ignore property of "tests" directory
32465	(should have been done in rev 4028).
32466
32467	Fixed bug in log1p for small negative values of x and added testcase.
32468
32469	Code style correction for ansi2knr.
32470
324712006-07-25  Vincent Lef��vre  <vincent@vinc17.net>
32472
32473	INSTALL: more information.
32474
32475	INSTALL: added a note about include/library paths.
32476
324772006-07-21  Vincent Lef��vre  <vincent@vinc17.net>
32478
32479	INSTALL: added information about setup after the library installation.
32480
324812006-07-20  Vincent Lef��vre  <vincent@vinc17.net>
32482
32483	Improved linker flag settings on darwin.
32484
324852006-07-18  Vincent Lef��vre  <vincent@vinc17.net>
32486
32487	configure.in: fixed a linking problem on darwin.
32488
324892006-07-16  Vincent Lef��vre  <vincent@vinc17.net>
32490
32491	One needs automake 1.6; autoreconf fails with automake 1.4. Adding
32492	the 1.6 automake option will make the error message less obfuscated,
32493	but unfortunately, one won't have the necessary automake version
32494	automatically called, even if it is installed.
32495
324962006-07-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
32497
32498	added item
32499
32500	fixed wrong comment (thanks Keith Briggs)
32501
32502	new mpn_rootrem is still not in gmp-4.2
32503
325042006-06-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
32505
32506	replaced <= by =
32507
325082006-06-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
32509
32510	changed <= into =
32511
32512	comments from Keith Briggs
32513
325142006-06-09  Vincent Lef��vre  <vincent@vinc17.net>
32515
32516	algorithms.tex: corrected several English mistakes and typography.
32517
325182006-06-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
32519
32520	fixed typo
32521
32522	replaced error() by \error()
32523
325242006-06-09  Vincent Lef��vre  <vincent@vinc17.net>
32525
32526	algorithms.tex: another fixed notation for roundings.
32527
325282006-06-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
32529
32530	added section on Notations
32531	fixed notations for roundings
32532
325332006-06-09  Vincent Lef��vre  <vincent@vinc17.net>
32534
32535	algorithms.tex: changed the page style to plain (for page numbers).
32536
325372006-06-07  Vincent Lef��vre  <vincent@vinc17.net>
32538
32539	FAQ update.
32540
325412006-05-29  Vincent Lef��vre  <vincent@vinc17.net>
32542
32543	Define HAVE_ATTRIBUTE_MODE if supported; useful for s390, but incomplete
32544	and will fail on platforms with gcc and CHAR_BIT != 8.
32545
325462006-05-19  Vincent Lef��vre  <vincent@vinc17.net>
32547
32548	Add compiler flags (CPPFLAGS, LDFLAGS) in a consistent order.
32549
325502006-05-18  Vincent Lef��vre  <vincent@vinc17.net>
32551
32552	MPFR manual consistency: Custom interface -> Custom Interface.
32553
325542006-05-17  Vincent Lef��vre  <vincent@vinc17.net>
32555
32556	TODO: added a note about the change 4049 in div.c.
32557
325582006-04-18  Vincent Lef��vre  <vincent@vinc17.net>
32559
32560	Removed the #ifndef __hpux from mul.c (after a test on a HP-UX machine,
32561	I got no failures, even with the old mpfr-longlong.h).
32562
32563	README.dev: added a point on mpfr-longlong.h in "To make a release".
32564
32565	Updated mpfr-longlong.h from the GMP 4.2 longlong.h file.
32566
32567	mpfr.texi: removed dot from a section title.
32568
325692006-04-11  Vincent Lef��vre  <vincent@vinc17.net>
32570
32571	FAQ update.
32572
325732006-04-06  Vincent Lef��vre  <vincent@vinc17.net>
32574
32575	div.c: removed the bad use of MPFR_LIMB_ZERO.
32576
32577	In get_f.c, updated the case precy + sh > precx: this one was correct,
32578	but added a comment, assertions and simplified a MPN_ZERO.
32579
325802006-04-05  Vincent Lef��vre  <vincent@vinc17.net>
32581
32582	tget_f.c: test that there is no lost of accuracy when converting
32583	a mpfr_t number into a mpf_t number (test with various precisions
32584	and exponents).
32585
32586	The fix of get_f.c was wrong. This should be now OK for the case
32587	precy + sh <= precx.
32588
32589	Fixed bug in mpfr_get_f (reported by Yury Lukach) and added test.
32590
325912006-03-31  Vincent Lef��vre  <vincent@vinc17.net>
32592
32593	Updated FDL to version 1.2.
32594
32595	Updated FSF address.
32596
32597	Fixed FSF address.
32598
325992006-03-30  Vincent Lef��vre  <vincent@vinc17.net>
32600
32601	Another FAQ update (taking GMP 4.2 into account).
32602
32603	FAQ update.
32604
326052006-03-24  Vincent Lef��vre  <vincent@vinc17.net>
32606
32607	Removed all code related to mpn_sub_nc (no longer used).
32608
32609	div.c: fixed a bug and no longer use mpn_sub_nc.
32610
32611	Some clean-up in div.c; do not steal GMP's namespace (could lead to
32612	clashes if future GMP versions define the corresponding macros).
32613
32614	Build shared libraries by default.
32615
326162006-03-23  Vincent Lef��vre  <vincent@vinc17.net>
32617
32618	random2.c: minor change suggested by Patrick.
32619
32620	configure.in: typography consistency.
32621
32622	Mention --enable-thread-safe and --enable-shared in the INSTALL file
32623	since users may need them and could be confused otherwise (just seen
32624	that). Untabified the file.
32625
326262006-03-16  Vincent Lef��vre  <vincent@vinc17.net>
32627
32628	TODO: new exception "division by zero" / "pole".
32629
32630	README.dev: added "Do not use C99-only features, such as...".
32631
326322006-03-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
32633
32634	replaced 6th empty argument of MPFR_FAST_COMPUTE_IF_SMALL_INPUT by {}
32635
326362006-03-14  Vincent Lef��vre  <vincent@vinc17.net>
32637
32638	In random2.c, replaced NULL by 0 (more general) and removed the
32639	now unnecessary #include <stdio.h>.
32640
326412006-03-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
32642
32643	added missing include file
32644
326452006-03-14  Vincent Lef��vre  <vincent@vinc17.net>
32646
32647	Tests: added new worst case for x^(3/2).
32648
326492006-03-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
32650
32651	added reference to INRIA report for Zeta
32652
32653	added another reference
32654
32655	added reference
32656
326572006-02-28  Vincent Lef��vre  <vincent@vinc17.net>
32658
32659	More details concerning mpfr_eq.
32660
326612006-02-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
32662
32663	removed "but does not make much sense"
32664
32665	added contribution from Damien
32666
32667	new test file for mpfr_get_ld_2exp
32668
326692006-02-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
32670
32671	added mpfr_get_ld_2exp (contributed by Damien Stehle)
32672
326732006-02-20  Vincent Lef��vre  <vincent@vinc17.net>
32674
32675	Updated mpfr_random2 user documentation.
32676
32677	Fixed bug in mpfr_random2 when size == 0 and added testcase.
32678
32679	trandom.c: reformat.
32680
32681	trandom.c: use calloc instead of malloc and check return value.
32682
32683	mpfr_random2_raw -> static.
32684
326852006-02-17  Vincent Lef��vre  <vincent@vinc17.net>
32686
32687	Added mpfr_remainder to TODO.
32688
326892006-02-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
32690
32691	fixed wrong url
32692
326932006-02-15  Vincent Lef��vre  <vincent@vinc17.net>
32694
32695	Fixed various spelling mistakes, typos... in algorithms.tex.
32696
32697	In algorithms.tex, \em -> \emph.
32698
32699	Typography corrections in algorithms.tex.
32700
32701	In algorithms.tex, added a missing blackslash.
32702
32703	In algorithms.tex, removed \date (was incorrectly used) and added the
32704	web site as a footnote.
32705
327062006-02-13  Vincent Lef��vre  <vincent@vinc17.net>
32707
32708	Code reformatted. C99 comment replaced by traditional comment.
32709
327102006-02-13  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
32711
32712	* Added comments on all random number generator functions ;
32713	* Inlined the mpn_random2 code in mpfr_random2, to avoid the use of the
32714	same internal randstate ; added a mpfr_random2_raw (not exported at the
32715	time) to allow specification of a randstate ;
32716	* Checked normalization of the result of random2 in trandom.c
32717
327182006-01-31  Vincent Lef��vre  <vincent@vinc17.net>
32719
32720	Changed a part of the documentation of mpfr_get_d_2exp, introduced in
32721	rev 4008, to specify a behavior very similar to the ISO C standard.
32722
327232006-01-31  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
32724
32725	fixed documentation bug
32726
327272006-01-19  Vincent Lef��vre  <vincent@vinc17.net>
32728
32729	Reverted comments on <float.h> (that were added in r3976).
32730
32731	Replaced -0.0 by a new macro DBL_NEG_ZERO. With MSVC, the negative zero
32732	no longer depends on the non-standard _chgsign function, as
32733	  static double double_zero = 0.0;
32734	  # define DBL_NEG_ZERO (-double_zero)
32735	has been reported to work.
32736
327372006-01-17  Vincent Lef��vre  <vincent@vinc17.net>
32738
32739	Added comments.
32740
327412006-01-13  Vincent Lef��vre  <vincent@vinc17.net>
32742
32743	Type clean-up.
32744
32745	The problem with the conversion was not completely fixed... Now OK.
32746
32747	Fixed conversion with a non-representable value.
32748
32749	Untabify.
32750
327512006-01-12  Vincent Lef��vre  <vincent@vinc17.net>
32752
32753	More reliable tests for mpfr_set_f (x, y, GMP_RNDN) for
32754	y = 2^emax and y = 2^(emax-1).
32755
32756	Use mpfr_get_emax() instead of obsolete __mpfr_emax.
32757
32758	More reliable test for mpfr_set_f (x, y, GMP_RNDN) for y=2^ULONG_MAX.
32759
32760	Untabified.
32761
32762	Fixed a bug related to exponent range.
32763
32764	Replaced obsolete __mpfr_emax by __gmpfr_emax.
32765
327662006-01-11  Vincent Lef��vre  <vincent@vinc17.net>
32767
32768	Removed add_one_ulp.c and sub_one_ulp.c (no longer used).
32769
327702006-01-10  Vincent Lef��vre  <vincent@vinc17.net>
32771
32772	MPFR manual: changes from Paul concerning the ulps.
32773
32774	In the manual, replaced "exact rounding" by "correct rounding",
32775	and added a sentence on the consequence of correct rounding (as
32776	suggested by Paul).
32777
327782006-01-05  Vincent Lef��vre  <vincent@vinc17.net>
32779
32780	Added ', Inc.' when missing after 'Free Software Foundation'.
32781
32782	README.dev: Added a note about copyright notices.
32783
32784	Updated the copyright notices according to the new GNU rules on:
32785	  https://www.gnu.org/prep/maintain/maintain.html#Copyright-Notices
32786	i.e. added 2006 to every MPFR file.
32787	Note: the copyright notices (currently 336) should match the regexp
32788	  Copyright.* 2006 Free Software
32789	so that it will be easier to update them for the next year...
32790
327912006-01-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
32792
32793	added suggestion from K. Briggs
32794
327952006-01-01  Vincent Lef��vre  <vincent@vinc17.net>
32796
32797	Updated copyright line (we are now in 2006!).
32798
327992006-01-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
32800
32801	use mpfr_overflow
32802
328032005-12-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
32804
32805	fixed bug in mpfr_set_f for huge argument
32806
328072005-12-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
32808
32809	bug fix in mpfr_get_f
32810
328112005-12-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
32812
32813	updated comment for float.h (_chgsign)
32814
32815	fixed bug found by Vincent (worst-case)
32816
32817	patch for Visual C (does not compile -0.0 properly)
32818
32819	patch for Visual C (-0.0)
32820
328212005-12-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
32822
32823	fixed typo
32824
328252005-12-16  Vincent Lef��vre  <vincent@vinc17.net>
32826
32827	Better definition for mpf_set_prec_raw (so that the value is kept).
32828
328292005-12-08  Vincent Lef��vre  <vincent@vinc17.net>
32830
32831	Updated a comment.
32832
32833	Added test cases for a bug introduced on 2005-01-29 in sin.c rev 3248.
32834
32835	README.dev: remember to test MPFR on the worst cases.
32836
328372005-11-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
32838
32839	added lemma + reference
32840
328412005-11-25  Vincent Lef��vre  <vincent@vinc17.net>
32842
32843	Removed mpfr_div bug from BUGS (as it has been fixed).
32844
32845	Added consistency tests for mpfr_div (e.g. to test small-size divisors).
32846
328472005-11-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
32848
32849	fixed efficiency bug for small divisor (division had same cost than for
32850	divisor of the same size than the result)
32851
328522005-11-23  Vincent Lef��vre  <vincent@vinc17.net>
32853
32854	Updated FAQ.
32855
32856	faq.xsl: add copyright information to the downloaded FAQ.
32857
32858	Added information about the patches to the INSTALL file.
32859
32860	BUGS: Noted the slow division when the precision of the divisor
32861	is small compared to the precision of the target.
32862
328632005-11-21  Vincent Lef��vre  <vincent@vinc17.net>
32864
32865	Fixed a bug preventing the compilation of MPFR with GMP 4.1.90
32866	(non-public development version) without the build directory.
32867
32868	Fixed memory leak in mpfr_mpn_rootrem().
32869
328702005-11-09  Vincent Lef��vre  <vincent@vinc17.net>
32871
32872	Added a note about running the trunk tests in a branch.
32873
32874	Make trunk tests work with MPFR 2.2 (branch), by testing the version.
32875
32876	Removed .cvsignore file (useless after the switch to Subversion).
32877
32878	Added a MPFR_UNLIKELY.
32879
32880	In mpfr_round_near_x, use the new MPFR_RNDRAW_GEN with a correct middle
32881	handler instead of MPFR_RNDRAW_EVEN so that the correction of the wrong
32882	rounding is no longer necessary (BTW, the wrong rounding could have lead
32883	to problems in case of intermediate underflow/overflow -- not checked).
32884
32885	mpfr_round_near_x test completed.
32886
32887	Added a test for mpfr_cbrt, from the following failure with MPFR 2.2
32888	and gcc 4.0.2 under Linux/m68k:
32889	  Seed GMP_CHECK_RANDOMIZE=1131612275 (include this in bug reports)
32890	  results differ for x=1.1000e-2 prec=5 rnd_mode=GMP_RNDN
32891	  got      1.1000e-1
32892	  expected 1.0111e-1
32893	  approx  0.101110001001100E0
32894	  FAIL: tcbrt
32895
328962005-11-04  Vincent Lef��vre  <vincent@vinc17.net>
32897
32898	Improved note r3493 concerning mpfr_set_d/ld.
32899
32900	More information in the "Reporting Bugs" section.
32901
32902	Added a comment about the macros MPFR_RNDRAW* and the labels.
32903
32904	Moved definitions of struct __gmpfr_cache_s and mpfr_cache_t, and
32905	declarations of mpfr_init_cache, mpfr_clear_cache and mpfr_cache
32906	from mpfr.h to mpfr-impl.h as they are internal (not documented).
32907
329082005-11-03  Vincent Lef��vre  <vincent@vinc17.net>
32909
32910	Eliminated the case inex == 0.
32911
32912	Started to write code to test mpfr_round_near_x.
32913
32914	Typos & English usage.
32915
32916	Fixed typos.
32917
329182005-11-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
32919
32920	added hint on forbidden variable name
32921
32922	added "tune" item for new releases
32923
32924	done make tune for amd64 with gmp-4.1.4
32925
329262005-11-02  Vincent Lef��vre  <vincent@vinc17.net>
32927
32928	Merged the changes from branch vlefevre:
32929	  * mpfr-impl.h: Added MPFR_RNDRAW_GEN based on MPFR_RNDRAW and
32930	    MPFR_RNDRAW_EVEN codes, but taking an additional argument: a
32931	    handler executed in rounding to nearest mode when the value
32932	    is the middle of two consecutive numbers in dest precision.
32933	    MPFR_RNDRAW and MPFR_RNDRAW_EVEN are now defined by a "call"
32934	    to MPFR_RNDRAW_GEN.
32935	  * cache.c: Clean-up and use MPFR_RNDRAW_GEN instead of
32936	    MPFR_RNDRAW_EVEN to avoid an unnecessary correction in the
32937	    halfway case.
32938	  * hypot.c: Fixed mpfr_hypot when the rounding mode is to nearest,
32939	    x is "much larger" than y, and x is the middle of two consecutive
32940	    numbers in the target precision.
32941	  * tests/thypot.c: Added the corresponding testcase.
32942
32943	[Added during the Subversion to Git conversion]
32944	A merge commit could not be generated for Git.
32945	Branch in Git: refs/deleted/r3930/heads/vlefevre
32946
329472005-11-02  Vincent Lef��vre  <vincent@vinc17.net>
32948
32949	Updated svn:ignore property.
32950
329512005-11-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
32952
32953	fixed remaining problems
32954
32955	declared variables as mp_prec_t instead of int
32956	use MPFR_MPZ_SIZEINBASE2 instead of mpz_sizeinbase
32957
329582005-11-02  Vincent Lef��vre  <vincent@vinc17.net>
32959
32960	Reverted the latest change to constant.c: removed MPFR_THREAD_ATTR as
32961	these constants can be shared. Removed MPFR_THREAD_ATTR from mpfr-impl.h
32962	too (this should have been the right correction for rev 3838 concerning
32963	the type mismatch). Thanks to Patrick for noticing this.
32964
329652005-10-31  Vincent Lef��vre  <vincent@vinc17.net>
32966
32967	Added an MPFR_UNLIKELY (suggested by Patrick) and an MPFR_ASSERTN.
32968
329692005-10-31  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
32970
32971	factored calls to gmp_alloc
32972	removed unused variables
32973
32974	improved atan (now can cut series before 2^m)
32975	revised error analysis and code of tanh
32976
329772005-10-31  Vincent Lef��vre  <vincent@vinc17.net>
32978
32979	Reformat (GNU coding style).
32980
32981	Fixed MPFR_INT_CEIL_LOG2 (in mpfr-impl.h) and __gmpfr_int_ceil_log2
32982	(in int_ceil_log2.c) when the argument is a power of 2, and added a
32983	test (new test file tests/tinternals.c). This made a bug appear in
32984	div_ui.c and mul_ui.c; fixed that too.
32985
32986	Added a test that fails after fixing MPFR_INT_CEIL_LOG2.
32987
329882005-10-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
32989
32990	improved exp_3 (binary-splitting algorithm)
32991
329922005-10-30  Vincent Lef��vre  <vincent@vinc17.net>
32993
32994	Fixed padding-bit test.
32995
32996	3 corrections in cos.c concerning maxi:
32997	  * corrected a comment;
32998	  * failed if sizeof(int) <= sizeof(long) / 2;
32999	  * now take possible padding bits into account.
33000
330012005-10-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
33002
33003	patched root.c to use rootrem.c with gmp-4.1.90
33004	added comment in exp3.c
33005	added more initial guard bits in agm
33006
33007	now tune Mulders short square (not yet used)
33008	improved mpfr_cos
33009
330102005-10-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
33011
33012	updated code for gmp-dev
33013
330142005-10-26  Vincent Lef��vre  <vincent@vinc17.net>
33015
33016	Removed .cvsignore file (useless after the switch to Subversion).
33017
330182005-10-25  Vincent Lef��vre  <vincent@vinc17.net>
33019
33020	More portable update-version script (use perl instead of sed).
33021
330222005-10-24  Vincent Lef��vre  <vincent@vinc17.net>
33023
33024	First revision after the switch to Subversion:
33025	  * Removed fixperm as it is now useless.
33026	  * Updated README and README.dev files.
33027
33028	Update.
33029
330302005-10-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
33031
33032	documented algorithm used in mpfr_agm and fixed code accordingly
33033
330342005-10-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
33035
33036	added efficiency item
33037
33038	now mpzroot/rootrem compile without gmp internal headers
33039
330402005-10-07  Vincent Lef��vre  <vincent@vinc17.net>
33041
33042	Disabled new rootrem/mpz_root as compilation fails (headers can't
33043	be found).
33044
33045	Temporary optimization (patch from Patrick Pelissier).
33046
330472005-10-06  Vincent Lef��vre  <vincent@vinc17.net>
33048
33049	One of the tests was using the fabs function, but -lm isn't given when
33050	generating the executable, making the linking fail under HP-UX. Fixed
33051	by not using this fabs function.
33052
330532005-10-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
33054
33055	small improvement in sign detection
33056
33057	improved mpfr_root, using the new mpn_rootrem code written with Torbjo"rn
33058
330592005-09-29  Vincent Lef��vre  <vincent@vinc17.net>
33060
33061	Update.
33062
33063	Fixed bug in mpfr_set_ui macro when parameters are expressions
33064	with side effects.
33065
330662005-09-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
33067
33068	fixed missing accent
33069
330702005-09-28  Vincent Lef��vre  <vincent@vinc17.net>
33071
33072	Small optimization.
33073
33074	Test the sign of 0.
33075
330762005-09-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
33077
33078	fixed infinite loop for lngamma(2)
33079
330802005-09-28  Vincent Lef��vre  <vincent@vinc17.net>
33081
33082	Updated libmpfr_la_LDFLAGS (note: it shouldn't be incremented again
33083	before the 2.3.0 release).
33084
330852005-09-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
33086
33087	new function: Zeta with integer argument
33088
330892005-09-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
33090
33091	new function mpfr_zeta_ui for integer argument
33092
330932005-09-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
33094
33095	added brief description of algorithm for mpfr_zeta
33096
330972005-09-18  Vincent Lef��vre  <vincent@vinc17.net>
33098
33099	Mentioned problems with the Tru64 make and other minor changes.
33100
331012005-09-17  Vincent Lef��vre  <vincent@vinc17.net>
33102
33103	Fixed the GMP linking test: replaced __gmp_version, which corresponds
33104	to a variable, by __gmpz_init (suggested by the GMP documentation),
33105	which corresponds to a function, as the auto tools assume the symbol
33106	corresponds to a function. It was failing with the AIX linker.
33107
331082005-09-16  Vincent Lef��vre  <vincent@vinc17.net>
33109
33110	Untabify.
33111
33112	Update.
33113
33114	Untabify.
33115
331162005-09-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
33117
33118	added missing documentation for mpfr_get_f and mpfr_pow_z
33119
331202005-09-16  Vincent Lef��vre  <vincent@vinc17.net>
33121
33122	Fixed typos found by Tomonori Kouya.
33123
331242005-09-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
33125
33126	fixed stupid bug (coth was computing 1/tan instead of 1/tanh)
33127
331282005-09-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
33129
33130	fixed overflow problem for large precision
33131
33132	added log(precz) in initial precision
33133
331342005-09-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
33135
33136	fixed bug in exp(-eps) for rounding toward zero (test was also wrong...)
33137
331382005-09-13  Vincent Lef��vre  <vincent@vinc17.net>
33139
33140	Updated "To make a release".
33141
33142	Minor update.
33143
33144	Added missing MPFR_THREAD_ATTR.
33145
331462005-09-11  Vincent Lef��vre  <vincent@vinc17.net>
33147
33148	Avoid a conflict with GMP.
33149
33150	Reverted to previous mparam_h.in and mul.c, and applied Patrick's
33151	patch instead.
33152
33153	Update.
33154
33155	Added #include <string.h> for memmove (see ISO C99 standard).
33156
33157	Minor change.
33158
33159	Fixed uninitialized variable (with gcc -std=c99).
33160
33161	Fixed a #ifdef (when --enable-assert isn't used).
33162
33163	Update.
33164
33165	Changed the MPFR_ASSERTD into a MPFR_ASSERTN for MPFR_INT_CEIL_LOG2
33166	since the assertion cannot be guaranteed for every C implementation.
33167
331682005-09-10  Patrick P��lissier  <patrick.pelissier@gmail.com>
33169
33170	Fix spelling mistake.
33171
33172	Add new note about MPFR_TMP_DECL
33173
331742005-09-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
33175
33176	reduced default of MPFR_MUL_THRESHOLD by 1, since now MPFR_MUL_THRESHOLD+1
33177	is considered in mul.c
33178
331792005-09-09  Vincent Lef��vre  <vincent@vinc17.net>
33180
33181	Fixed another LaTeX error.
33182
33183	Update.
33184
33185	Updated "To make a release".
33186
33187	Use (mpz_t *) 0 instead of NULL (this is not less clear and this
33188	works with the native SunOS 4 C compiler).
33189
331902005-09-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
33191
33192	avoid . in mpf_set_str (locale-sensitive)
33193
33194	cleanup of gamma and lngamma
33195
331962005-09-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
33197
33198	MUL_THRESHOLD -> MUL_THRESHOLD+1 (to allow MUL_THRESHOLD=0, needed for
33199	tuneup.c)
33200
33201	fixed LaTeX error
33202
332032005-09-08  Vincent Lef��vre  <vincent@vinc17.net>
33204
33205	Fix.
33206
33207	Update.
33208
33209	Added fixperm script to fix the file permissions broken by CVS.
33210
33211	Update.
33212
332132005-09-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
33214
33215	added one item
33216
332172005-09-08  Vincent Lef��vre  <vincent@vinc17.net>
33218
33219	Update.
33220
33221	Fix: readded dependencies.
33222
332232005-09-06  Vincent Lef��vre  <vincent@vinc17.net>
33224
33225	More detailed error message.
33226
33227	Change for ansi2knr.
33228
33229	Code clean-up (again).
33230
33231	Use GMP's allocate functions instead of C's. Code clean-up.
33232
33233	Reformat.
33234
332352005-09-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
33236
33237	missing set_emin
33238
33239	added missing call to MPFR_TEST_USE_RANDS() [3 blocks non-freed]
33240
332412005-09-06  Vincent Lef��vre  <vincent@vinc17.net>
33242
33243	Fixed a bug (detected after mpfr_set_str_binary has been fixed)
33244	in tests/tsub.c introduced in 1.6 (2001-10-19).
33245
33246	mpfr_set_str_binary was buggy and inefficient. Let's use mpfr_strtofr.
33247
33248	Replaced unsigned long bit-fields (GCC extension) by insigned int
33249	bit-fields.
33250
332512005-09-05  Vincent Lef��vre  <vincent@vinc17.net>
33252
33253	MPN_COPY now calls memcpy only if dst != src (otherwise this is an
33254	undefined behavior), and if WANT_ASSERT is defined, it checks that
33255	there is no overlap.
33256
332572005-09-02  Vincent Lef��vre  <vincent@vinc17.net>
33258
33259	Avoid MIPSpro / IRIX64 (incorrect) optimizations for DOUBLE_ISNAN.
33260
33261	More portable DOUBLE_ISNAN (useful for MIPSpro under IRIX64).
33262
332632005-09-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
33264
33265	improved trade-off between fac_ui and gamma when argument is integer
33266
332672005-09-02  Vincent Lef��vre  <vincent@vinc17.net>
33268
33269	Reformat.
33270
332712005-09-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
33272
33273	fixed remaining problem in gamma
33274	removed LogGamma from TODO
33275
332762005-09-02  Vincent Lef��vre  <vincent@vinc17.net>
33277
33278	Do not put expressions with side effects in MPFR_ASSERTN.
33279
332802005-09-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
33281
33282	now uses lngamma code for x < 1 too
33283	added new tests from Kenneth Wilder
33284
33285	added another test
33286
33287	removed useless prototype
33288
332892005-08-31  Vincent Lef��vre  <vincent@vinc17.net>
33290
33291	Fixed memory leak (missing MPFR_TMP_FREE in a particular case).
33292
33293	Fixed the code formatting.
33294
33295	Updated Point 6 of "To make a release".
33296
33297	Fixed memory leak (missing MPFR_TMP_FREE in a particular case).
33298
332992005-08-31  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
33300
33301	added lngamma
33302
33303	added new test (emax)
33304
33305	now random tests also use x >= 1
33306
33307	added SAVE_EXPO stuff
33308
33309	new function lngamma
33310
33311	now uses lngamma code for x > 1
33312
33313	added lngamma
33314
333152005-08-31  Vincent Lef��vre  <vincent@vinc17.net>
33316
33317	Updated version to 2.3.0.
33318
33319	Fix for the following problem: #error is not sufficient with cc
33320	on IRIX64, and autoconf 2.59 doesn't cope with that.
33321
333222005-08-30  Vincent Lef��vre  <vincent@vinc17.net>
33323
33324	Added .cvsignore files.
33325
33326	Unobfuscated 2 assertions.
33327
33328	Fixed indentation and some comments.
33329
33330	Recommitted the patch (without discarding previous modifications).
33331
33332	Reverted to the previous version, as the patch discarded previous
33333	modifications.
33334
333352005-08-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
33336
33337	added two new tests
33338
33339	patch from Patrick to solve efficiency problem when one operand is sparse
33340	(e.g. from ui_pow_ui)
33341
333422005-08-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
33343
33344	check for overflow/underflow in pow and gamma
33345
333462005-08-24  Vincent Lef��vre  <vincent@vinc17.net>
33347
33348	When WANT_ASSERT >= 2: the corresponding messages are now output
33349	to stderr instead of stdout.
33350
33351	Update.
33352
33353	Improved C compliance when mp_limb_t and uintmax_t have the same size
33354	(concerning >> BITS_PER_MP_LIMB); some other small improvements.
33355
33356	No longer assume that a mp_limb_t fits in an unsigned long (this
33357	is not true under IRIX, where a mp_limb_t has 64 bits and a long
33358	has 32 bits by default). In round_p.c, error messages are output
33359	to stderr instead of stdout.
33360
333612005-08-23  Vincent Lef��vre  <vincent@vinc17.net>
33362
33363	Update.
33364
33365	This was wrong. Let's do it even more like the 2.1 branch.
33366
33367	Update.
33368
33369	Patch 1.25 didn't work under OSF1 with cc. Let's do it like
33370	the 2.1 branch (it now does work under OSF1 with cc).
33371
333722005-08-21  Vincent Lef��vre  <vincent@vinc17.net>
33373
33374	Better locale support (for the decimal point in string conversions
33375	and input/output).
33376
333772005-08-18  Vincent Lef��vre  <vincent@vinc17.net>
33378
33379	Update.
33380
33381	Misc changes (spelling, typography...).
33382
33383	Removed trailing spaces (better for future patches, as such spaces
33384	are sometimes stripped).
33385
33386	Converted tabs to spaces with expand.
33387
33388	Updated copyright line.
33389
33390	Support C implementations giving an incorrect value for the precision
33391	of long double or where long doubles are implemented with FP expansions
33392	(like under Mac OS X), as in the 2.1 branch.
33393
33394	Updated mpfr_get_ld: removed useless and non-portable hacks, fixed
33395	bugs, and slightly changed the behavior for the x87 extended format
33396	(we shouldn't return long double's with more precision than really
33397	supported, e.g. on FreeBSD and NetBSD).
33398
33399	Added an assertion.
33400
334012005-08-17  Vincent Lef��vre  <vincent@vinc17.net>
33402
33403	Reformatted (GNU style).
33404
334052005-08-17  Patrick P��lissier  <patrick.pelissier@gmail.com>
33406
33407	Improve the warning message by adding the lines:
33408	"we cannot run a program linked with GMP (if you cannot
33409	see the version numbers above)."
33410
334112005-08-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
33412
33413	added pointer for gamma
33414
33415	fixed comments (code did not change)
33416
33417	added formula for gamma function
33418
33419	fixed last test (expected result was wrong)
33420
33421	fixed bug for tiny input
33422
33423	added test case
33424
334252005-08-12  Patrick P��lissier  <patrick.pelissier@gmail.com>
33426
33427	Reintroduce the computing of the dependencies.
33428
334292005-08-11  Vincent Lef��vre  <vincent@vinc17.net>
33430
33431	Added MPFR_DOUBLE_SPEC (not used yet, except for warning messages).
33432
334332005-08-10  Vincent Lef��vre  <vincent@vinc17.net>
33434
33435	Completed the documentation of mpfr_strtofr (concerning the exponent).
33436
33437	Removed double spaces in mpfr_strtofr description (this matters
33438	for the info format).
33439
33440	Added a temporary test for non-IEEE-754 double's.
33441
334422005-08-09  Patrick P��lissier  <patrick.pelissier@gmail.com>
33443
33444	Fix bug for pre-ansi compiler.
33445
33446	Remove redundant entries.
33447
334482005-08-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
33449
33450	fixed bug in mpfr_sin (possible wrong inexact flag for rounding to nearest)
33451	added items in NEWS and TODO
33452
334532005-08-05  Patrick P��lissier  <patrick.pelissier@gmail.com>
33454
33455	Update information
33456
33457	Rename mpfr_stack to mpfr_custom_
33458
334592005-08-03  Vincent Lef��vre  <vincent@vinc17.net>
33460
33461	Added/updated copyright information.
33462
334632005-08-03  Vincent Lef��vre  <vincent@vinc17.net>
33464
33465	Update.
33466
33467	[[Split portion of a mixed commit.]]
33468
334692005-08-02  Patrick P��lissier  <patrick.pelissier@gmail.com>
33470
33471	Remove "Stack Interface" from TODO.
33472
334732005-08-01  Patrick P��lissier  <patrick.pelissier@gmail.com>
33474
33475	Add test file for mpfr_subnormalize
33476
33477	Add documentation for MPFR stack interface
33478
33479	Add a new test to avoid potential problems if mp_limb_t != long.
33480
334812005-08-01  Vincent Lef��vre  <vincent@vinc17.net>
33482
33483	Update.
33484
334852005-07-26  Patrick P��lissier  <patrick.pelissier@gmail.com>
33486
33487	Add first version of MPFR stack interface.
33488	Need to check if everything is ok, specially the test.
33489
33490	Fix and clean up logging for GCC 4.0.x
33491
33492	Clean up code.
33493
33494	Improve logging:
33495	 + The file is not created if there is nothing to log.
33496	 + Add new ENVIRONMENT variables: MPFR_LOG_ALL and MPFR_LOG_STAT.
33497
33498	Add experimental code (Disabled).
33499
33500	Fix comment
33501
33502	Add a new regression test (to fix).
33503
335042005-07-22  Patrick P��lissier  <patrick.pelissier@gmail.com>
33505
33506	Fix bug for high values of input (assertion failed)
33507	because erf(x) ~ 1, so 1-erf(x) ~ 0, and we can't
33508	get the EXP of tmp.
33509
335102005-07-18  Patrick P��lissier  <patrick.pelissier@gmail.com>
33511
33512	Fix bug (AC_INIT version wasn't updated).
33513	Display a note about libtool version before quitting.
33514
33515	Clean up.
33516	Add comment.
33517	Add a new test: check if the charset has consecutive values.
33518
335192005-07-12  Vincent Lef��vre  <vincent@vinc17.net>
33520
33521	Updated documentation of mpfr_strtofr.
33522
335232005-07-12  Patrick P��lissier  <patrick.pelissier@gmail.com>
33524
33525	Fix an overflow bug (use of int instead of unsigned long).
33526	Optimize code (5% faster).
33527
335282005-07-11  Vincent Lef��vre  <vincent@vinc17.net>
33529
33530	Fixed locale bug. Function strncasecmp is no longer used.
33531
335322005-07-09  Vincent Lef��vre  <vincent@vinc17.net>
33533
33534	In the tests, set the locale to the current one. This allows to test
33535	MPFR under various locales, showing a bug in the parse_string function
33536	due to the use of the strncasecmp function ('i' and 'I' don't match
33537	with LC_ALL="tr_TR.ISO8859-9").
33538
335392005-07-07  Patrick P��lissier  <patrick.pelissier@gmail.com>
33540
33541	Improve displayed warning if GMP versions differ.
33542
335432005-07-06  Patrick P��lissier  <patrick.pelissier@gmail.com>
33544
33545	Add a solution for a problem.
33546
335472005-07-05  Vincent Lef��vre  <vincent@vinc17.net>
33548
33549	Added in-place tests for atan(+/-0).
33550
335512005-07-05  Patrick P��lissier  <patrick.pelissier@gmail.com>
33552
33553	Fix bug of signed 0.
33554	Optimize code. (20% for 53 bits).
33555
33556	Improve test for signed 0.
33557
335582005-06-28  Patrick P��lissier  <patrick.pelissier@gmail.com>
33559
33560	Simplify a condition which was always true.
33561	(p is always negative).
33562
33563	Add assertion.
33564
33565	Simplify code for final step (when i== n0):
33566	since we do n0-i=0 steps, atan(Ak/2^k) ~= Ak/2^k.
33567	So we could speed up the final computation (9% faster).
33568
33569	Optimize: when computing arctan(p/2^r) simplify
33570	p/2^r if p is even.
33571	Clean up and remove tabi table. It was useless.
33572
335732005-06-22  Patrick P��lissier  <patrick.pelissier@gmail.com>
33574
33575	Clean up configure and acinclude:
33576	 + Remove useless test in MPFR_CONFIGS (Check for valid NAN).
33577	   Its result is not use by MPFR.
33578	 + Remove useless macros (AC_CHECK_OS, AC_CHECK_MACH and AC_MY_HEADERS).
33579	 + Move detection of math/rint,round,floor,ceil to MPFR_CONFIGS.
33580
335812005-06-20  Vincent Lef��vre  <vincent@vinc17.net>
33582
33583	GNU coding style.
33584
335852005-06-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
33586
33587	improved m=0 case when b is a power of 2
33588
335892005-06-15  Patrick P��lissier  <patrick.pelissier@gmail.com>
33590
33591	Replace mpfr_div_2ui call by SET_EXP/GET_EXP
33592	since it can't overflow.
33593
33594	Speed up a few (from 10822 to 10600).
33595
33596	Update
33597
335982005-06-14  Patrick P��lissier  <patrick.pelissier@gmail.com>
33599
33600	Replace check for a power of 2 for the high limb by a check
33601	for "high bit limb" for the high limb.
33602
33603	Fix bug in mul_ui (always alloc buffer instead of trying to reuse it).
33604
33605	Add new test (failed).
33606
33607	Add Fast case for u==1
33608	Add Fast case for u a power of 2 (Call mul/div_2si).
33609
33610	Fix bug (use of GCC specific attribute).
33611
336122005-06-13  Patrick P��lissier  <patrick.pelissier@gmail.com>
33613
33614	Rechnage the meaning of root for k=0.
33615
33616	Fix bug with x<0 and k even
33617
33618	Add special case for k==0
33619	Add test for special case k==0
33620
336212005-06-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
33622
33623	added assertion
33624
336252005-06-13  Patrick P��lissier  <patrick.pelissier@gmail.com>
33626
33627	Improve efficiency of initial call to mpfr_cache.
33628
33629	Add new check (+INF -INF --> NAN).
33630
336312005-06-10  Patrick P��lissier  <patrick.pelissier@gmail.com>
33632
33633	Fix bug of NAN and INF.
33634	Fix bug in documentation (mpfr_sum wasn't exactly what is described).
33635	Improve test.
33636	Change internal names.
33637	Clean up.
33638
33639	Fix bug: check if mpfr_log returns 0.
33640
336412005-06-08  Patrick P��lissier  <patrick.pelissier@gmail.com>
33642
33643	Replace MPFR_EXP to MPFR_GET_EXP
33644	Use GROUP function
33645	Use MPFR_MPZ_SIZEINBASE2
33646	Factorize the mpfr_mul_2exp chain.
33647
33648	Replace int to mp_prec_t for precision...
33649
33650	Fix warning due to comparison of unsigned and signed integers.
33651
33652	Fix warnings due to comparison between signed and unsigned.
33653	Reinclude string.h for strtofr.
33654
336552005-06-08  Vincent Lef��vre  <vincent@vinc17.net>
33656
33657	Fixed bug introduced with the new internal format on 2003-10-27.
33658
33659	Updated comments.
33660
336612005-06-08  Patrick P��lissier  <patrick.pelissier@gmail.com>
33662
33663	Fix introduced bug due to missing NULL.
33664
33665	Fix introduced bug (NULL not defined).
33666
33667	Clean up use of stdio.h:
33668	 it is now included by mpfr-impl iff DEBUG is defined or WANT_ASSERT is
33669	defined.
33670
33671	Fix warnings.
33672
33673	Clean up code.
33674
33675	Improve checking if WANT_ASSERT >= 2
33676
336772005-06-07  Patrick P��lissier  <patrick.pelissier@gmail.com>
33678
33679	Fix wrong assertion.
33680
33681	Improve test by adding special cases.
33682
33683	MPFR_GET_EXP was wrongly defined and does nothing due to recursive
33684	macro (mpfr_get_exp is also defined to be a fast macro). Fix this
33685	by removing the macro call in MPFR_GET_EXP in case of ASSERT >= 1.
33686	2 tests failed now!
33687
33688	Clean up and improve check.
33689
33690	Handle case n==0 and n==1 as special cases.
33691
33692	Simplify test to use tgeneric.
33693	Add note about Worst Case of const_catalan up to 100,000,000
33694
33695	Use GROUP functions.
33696
33697	Improve coverage.
33698
33699	Fix bug in MPFR_GROUP_REPREC_3.
33700
337012005-06-06  Patrick P��lissier  <patrick.pelissier@gmail.com>
33702
33703	Improve coverage
33704
33705	Improve coverage test
33706
33707	Remove mpfr_sub_one_ulp from MPFR library.
33708	Keep the C file until we are sure it not needed anymore.
33709
33710	Improve coverage.
33711
33712	Remove mpfr_add_one_ulp from MPFR library.
33713	The function is still in the CVS.
33714
33715	Add experimental code (disabled).
33716	For 5000 bits, gamma(12.5) takes 4s instead of 18s.
33717	But it changes the error analysis...
33718
33719	Reduce use of intermediary variables.
33720
33721	Improve comment of previous change.
33722
33723	Use FastCompute if x is positive and big, ie it uses
33724	Zeta(x)=1+1/2^X+O(1/3^x)
33725
337262005-06-03  Patrick P��lissier  <patrick.pelissier@gmail.com>
33727
33728	Add new and faster trivial case for y <= 1 and n <= 1
33729
337302005-06-02  Patrick P��lissier  <patrick.pelissier@gmail.com>
33731
33732	Forget those two. Update from FSF site.
33733
33734	Finish updating files.
33735
33736	Change the address of the FSF.
33737
33738	Optimize it a few by avoiding calling fac_ui for each iteration
33739	of the main loop.
33740
33741	Reduce # of vars inside the main loop.
33742	Use GROUP function.
33743	Improve overflow problems (Use of int instead of mp_prec_t).
33744
33745	Improve efficiency by removing 2 variables (Loop uses only 4 vars).
33746	Use GROUP.
33747
33748	Add support for MPFR_GROUP functions.
33749
33750	Add attribute const and noreturn for function (via macros).
33751	Add new macros GROUP_INIT_6 and GROUP_REPREC_6 for zeta and gamma.
33752
337532005-06-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
33754
33755	added missing functions from gnumeric
33756
337572005-06-02  Patrick P��lissier  <patrick.pelissier@gmail.com>
33758
33759	Update stack-interface.
33760	Remove round_near_x item.
33761	Add new functions to implement.
33762	Reformat file.
33763
33764	Fix input precision of mp_prec_t.
33765	May be outside 'int' range. So it uses 'long' instead and
33766	a proper check.
33767
337682005-05-25  Vincent Lef��vre  <vincent@vinc17.net>
33769
33770	Added coding recommendations concerning C++ compilers.
33771
337722005-05-23  Patrick P��lissier  <patrick.pelissier@gmail.com>
33773
33774	Final version of MPFR_GROUP macros.
33775
33776	Improve coverage test.
33777
337782005-05-20  Patrick P��lissier  <patrick.pelissier@gmail.com>
33779
33780	Remove variable t which wasn't used!
33781
337822005-05-18  Patrick P��lissier  <patrick.pelissier@gmail.com>
33783
33784	Replace TMP_ALLOC by MPFR_TMP_ALLOC
33785	Replace TMP_DECL by MPFR_TMP_DECL
33786	Replace TMP_MARK by MPFR_TMP_MARK
33787	Replace TMP_FREE by MPFR_TMP_FREE
33788	Add support for GMP's TMP_SALLOC.
33789
33790	New way of handling exact value.
33791	Fix bug of wrong rounding and wrong ternary value if the power
33792	is exact, but at an upper precision than the working precision.
33793	Now it computes the power exactly if it detects it is exact.
33794
33795	Precise that 1 is not the only value.
33796
337972005-05-18  Vincent Lef��vre  <vincent@vinc17.net>
33798
33799	an 1 -> a 1.
33800
338012005-05-18  Patrick P��lissier  <patrick.pelissier@gmail.com>
33802
33803	Add a note about special case 1
33804
33805	Add assertions
33806	Remove useless function is_odd_even.
33807
33808	Fix bug: returning 1 didn't take the rounding mode into account.
33809	Simplify dependencies of mpfr_pow.
33810
33811	Fix bug of overflow
33812	Fix bug of wrong ternary value in case of overflow
33813	Add test cases.
33814
33815	Fix bug of overflow.
33816	Fix bug of ternary value in case of overflow.
33817
33818	Clean up previous patch.
33819
33820	Fix bug of overflow.
33821	Fix bug of ternary value in case of overflow.
33822	Still some bugs...
33823
338242005-05-17  Patrick P��lissier  <patrick.pelissier@gmail.com>
33825
33826	Rewrite the way of handling overflow.
33827	Fix bug due to overflow.
33828	Fix bug due to wrong ternary value.
33829
33830	Typo.
33831
33832	Fix bug of overflow.
33833	Still a problem if exp(x) is near the limit of EMAX_MAX.
33834
33835	Add new macro MPFR_SAVE_DECL_UPDATE_FLAGS
33836
33837	Improve way of handling overflow (still not perfect but far better).
33838	Improve coverage test.
33839
33840	Improve coverage test.
33841
338422005-05-17  Vincent Lef��vre  <vincent@vinc17.net>
33843
33844	hypot(��oo, NaN) now returns +oo, as in ISO C99 (wasn't documented).
33845
338462005-05-17  Patrick P��lissier  <patrick.pelissier@gmail.com>
33847
33848	Improve coverage test.
33849
33850	Remove useless test.
33851
33852	Improve coverage test.
33853
33854	Improve coverage
33855
33856	Improve coverage test.
33857
33858	Add CFLAGS -g.
33859
33860	Clean up
33861
33862	Improve coverage tests.
33863
33864	Improve coverage test.
33865
33866	Special a condition by the simplified one.
33867
33868	Improve coverage test (Forget to test tiny functions).
33869
33870	Typo
33871
33872	Add 'coverage' script.
33873
33874	Add 'static'
33875
33876	Reformating code.
33877	Fix potential (?) overflow for very large precision.
33878	Various tiny optimizations
33879	Improve the initial estimation of the needed precision.
33880
33881	Extract constants (__gmpfr_one, two and four) from log.c to constant.c
33882	Fix bug in MPFR_SET_ONE.
33883
33884	Remove a space.
33885
338862005-05-16  Vincent Lef��vre  <vincent@vinc17.net>
33887
33888	Typography + spelling.
33889
33890	Note that mpfr_out_str has slightly changed.
33891
338922005-05-16  Patrick P��lissier  <patrick.pelissier@gmail.com>
33893
33894	asin, atan, atanh are not slow anymore for small input.
33895	Remove it in the TODO.
33896
338972005-05-14  Vincent Lef��vre  <vincent@vinc17.net>
33898
33899	Fixed a bug due to a typo on a variable name. It produced a
33900	segmentation fault in the tests on Linux/ppc (uninitialized data were
33901	read), not always reproducible when stepping with gdb.
33902
339032005-05-13  Patrick P��lissier  <patrick.pelissier@gmail.com>
33904
33905	Add support for MPFR_FAST_COMPUTE_IS_SMALL_INPUT
33906
33907	Add support for FAST_COMPUTE_IS_SMALL_INPUT.
33908
33909	Add round_near_x support for small arguments.
33910
33911	Add new internal function mpfr_round_near_x.
33912
339132005-05-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
33914
33915	added missing documentation for mpfr_hypot
33916
339172005-05-13  Patrick P��lissier  <patrick.pelissier@gmail.com>
33918
33919	Add a \n for all error strings.
33920
33921	Fix copyright date.
33922
33923	Fix some problems when you define mpfr_prec_t to be an unsigned short.
33924	Now all tests passed when mpfr_prec_t is defined to be an unsigned short
33925	on a 32 bit CPU!
33926
339272005-05-12  Vincent Lef��vre  <vincent@vinc17.net>
33928
33929	Detect/avoid potential integer overflows.
33930
339312005-05-12  Patrick P��lissier  <patrick.pelissier@gmail.com>
33932
33933	Fix typos.
33934
339352005-05-11  Patrick P��lissier  <patrick.pelissier@gmail.com>
33936
33937	Same patch for exp_3.
33938
33939	Fix bug when exp(x) is near the limit of an overflow or an
33940	underflow (mpfr_exp_2 didn't allow an overflow/underflow in its
33941	internal loop).
33942	Add corresponding test case. exp_3 may need similar patchs.
33943
339442005-05-11  Vincent Lef��vre  <vincent@vinc17.net>
33945
33946	Update (with reformatting so that the logs are readable on 80 columns).
33947
339482005-05-11  Patrick P��lissier  <patrick.pelissier@gmail.com>
33949
33950	Fix bug due to wrong assertion.
33951
339522005-05-10  Patrick P��lissier  <patrick.pelissier@gmail.com>
33953
33954	1. Change the prototype of mpfr_can_round to use const.
33955	2. Change the prototype of mpfr_round_raw_2 (remove first argument since it is
33956	   useless).
33957	3. Change round_raw_generic to use preprocessor if rather than compiler
33958	   to detect if flag == 1 or 0
33959	4. mpfr_round_raw_xxx use const attribute too.
33960	5. Remove mpfr_round_raw_3 since it is unused by MPFR.
33961	6. Add first prototype of MPFR_FAST_COMPUTE_IF_SMALL.
33962
33963	Update.
33964
33965	Fix a bug in the product of 2limbs per 2 limbs.
33966	Add new regression test.
33967
33968	Fix problem with mingw: if the configure detects MS-Windows, it skips the
33969	tests which try to link against GMP within the configure, hoping the Makefile
33970	works. The main problem is that we need libtool inside the configure to link
33971	against GMP.
33972
339732005-05-09  Patrick P��lissier  <patrick.pelissier@gmail.com>
33974
33975	Improve random tests.
33976
339772005-05-04  Patrick P��lissier  <patrick.pelissier@gmail.com>
33978
33979	Replace initial estimation of K0 from sqrt (p/2)
33980	to sqrt(p/16). It seems to be 30% faster for 5000 bits, and 5% faster
33981	for 50 bits.
33982
339832005-05-04  Vincent Lef��vre  <vincent@vinc17.net>
33984
33985	Reformatted the code.
33986
339872005-05-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
33988
33989	fixed dummy init2 followed by set_prec
33990
339912005-05-04  Vincent Lef��vre  <vincent@vinc17.net>
33992
33993	Added LIA-2 functions to implement.
33994
339952005-05-04  Patrick P��lissier  <patrick.pelissier@gmail.com>
33996
33997	Add functions mpfr_sech, mpfr_coth and mpfr_csch.
33998
33999	init2 alloc what is needed, not 2 (more efficient).
34000
340012005-05-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
34002
34003	improved const_euler and eint
34004	removed dependency from input precision in several functions
34005	fixed two bugs in pow (detection of exact cases)
34006
340072005-05-04  Patrick P��lissier  <patrick.pelissier@gmail.com>
34008
34009	Update to reflect the current state.
34010
340112005-05-03  Patrick P��lissier  <patrick.pelissier@gmail.com>
34012
34013	Fix computing of `sup` to reflect what is described in algorithms.tex.
34014
34015	Tiny optimization of mpfr_atan.
34016	On opteron with p=53, from 9231 / 18049.89 / 81758 to 9004 / 17522.76 / 78601.
34017
340182005-05-03  Vincent Lef��vre  <vincent@vinc17.net>
34019
34020	Fixed a problem in test_small (already done in the 2.1 branch)
34021	when long double = double.
34022
340232005-05-03  Patrick P��lissier  <patrick.pelissier@gmail.com>
34024
34025	Improve detection again (use callback).
34026
34027	Improve previous change.
34028
34029	Add detection of function round, rint, ceil, floor and nearbyint at configure
34030	time so that spe206 which defines itself as C99 compliant can build the
34031	trint test.
34032
34033	Update (Move bugs to potential).
34034
340352005-05-03  Vincent Lef��vre  <vincent@vinc17.net>
34036
34037	Fixed the mpfr_hypot bug, and re-enabled the test_large_small test.
34038
340392005-05-02  Vincent Lef��vre  <vincent@vinc17.net>
34040
34041	Update.
34042
34043	Mention the mpfr_hypot bug.
34044
34045	Added a test showing a bug, enabled when TEST_LARGE_SMALL is defined
34046	(to avoid a freeze with make check).
34047
340482005-05-02  Patrick P��lissier  <patrick.pelissier@gmail.com>
34049
34050	Fix bug.
34051
34052	Remove useless function f.
34053
34054	Fix a bug: the test to detect EVEN_rounding was wrong.
34055
34056	Update example of use of mpfr_subnormalize.
34057
34058	mpfr_cmp_str checks for NAN.
34059	Add macro mpfr_cmp0 in mpfr-test.
34060
34061	Undo previous change for tgeneric.
34062	troot uses tgeneric_ui instead.
34063
340642005-05-01  Patrick P��lissier  <patrick.pelissier@gmail.com>
34065
34066	Add new functions in reuse test.
34067
340682005-04-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
34069
34070	added efficiency item
34071
34072	added mpfr_eint
34073
340742005-04-29  Patrick P��lissier  <patrick.pelissier@gmail.com>
34075
34076	Add something to do :)
34077
340782005-04-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
34079
34080	added comment about efficiency of atan
34081
340822005-04-29  Vincent Lef��vre  <vincent@vinc17.net>
34083
34084	The FAQ is now distributed with MPFR. Use update-faq to update it
34085	from the MPFR web site.
34086
340872005-04-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
34088
34089	commented out argument reduction analysis for arctan (was wrong)
34090
340912005-04-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
34092
34093	wrong commit, put revision 1.37 back
34094
34095	wrong commit, put back revision 1.47
34096
34097	added error analysis for Geoff's argument reduction for arctan
34098
340992005-04-27  Vincent Lef��vre  <vincent@vinc17.net>
34100
34101	Added a note about mpfr_set_d and mpfr_set_ld.
34102
34103	Define MPFR_VERSION_STRING using the update-version script
34104	(works with any compiler).
34105
341062005-04-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
34107
34108	added internal interface
34109
34110	added suggestion from Geoff
34111
34112	added MPFR_VERSION_STRING
34113
341142005-04-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
34115
34116	added new item
34117
34118	improved expm1/log1p for small argument
34119
34120	improved to taken account of case |x| small (reported by Keith Briggs)
34121
341222005-04-25  Vincent Lef��vre  <vincent@vinc17.net>
34123
34124	Added a missing "-" and replaced a few "-" by @minus{}.
34125
34126	Added a note for mpfr_cmp functions.
34127
341282005-04-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
34129
34130	fixed bug with tiny number
34131
341322005-04-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
34133
34134	removed done item
34135
341362005-04-22  Patrick P��lissier  <patrick.pelissier@gmail.com>
34137
34138	Add a macro for mpfr_const_catalan for internal use.
34139
34140	Fix typos.
34141
341422005-04-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
34143
34144	removed Root, updated eint*
34145
34146	added sec, csc, cot
34147
34148	proposal for exponential integral definition
34149
34150	added mpfr_root, removed from TODO
34151
34152	added mpfr_root
34153
341542005-04-21  Vincent Lef��vre  <vincent@vinc17.net>
34155
34156	Update.
34157
34158	Added the ability to change the control word when compiling tset_ld
34159	with -DWITH_FPU_CONTROL=1 and executing tset_ld with an argument
34160	(not used in the automatical tests yet).
34161
34162	Added test_small (the same as in the 2.1 branch).
34163
34164	Updated a comment and reformatted the code.
34165
341662005-04-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
34167
34168	added explanation
34169
341702005-04-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
34171
34172	adjusted initial guard digits for const_catalan to avoid failure for prec<=10^4
34173
34174	updated documentation and improved tests for mpfr_const_catalan
34175
34176	removed Catalan's constant (done)
34177
34178	added Catalan's constant
34179
34180	added efficiency items suggested by Geoff Bailey
34181
34182	fixed minor problem (wrong rounding mode for x=0, y<0), thanks Geoff Bailey
34183
341842005-04-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
34185
34186	added one efficiency item
34187
34188	completely rewritten algorithm and error analysis for acosh
34189	(did not match those in acosh.c)
34190
34191	algorithm and error bound did not match those of algorithm.tex!!!
34192
34193	added missing functions for Magma
34194
34195	changed semantics of mpfr_get_str for ndigits=0
34196
341972005-04-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
34198
34199	added one item (efficiency)
34200
342012005-04-14  Patrick P��lissier  <patrick.pelissier@gmail.com>
34202
34203	Fix atan2 to fit C99 semantic.
34204
34205	Fix typos.
34206
34207	Add TODO.
34208
34209	Add documentation for mpfr_subnormalize.
34210
34211	Fix bugs.
34212
342132005-04-13  Patrick P��lissier  <patrick.pelissier@gmail.com>
34214
34215	Apply Guillaume's patch about mpfr_div_ui.
34216	Fix a bug in tsi_op (forget to clean memory).
34217
34218	Add function mpfr_subnormalize (To Test!!!!!)
34219
34220	Add TODO.
34221
34222	Fix wrong comment.
34223
342242005-04-07  Patrick P��lissier  <patrick.pelissier@gmail.com>
34225
34226	Reenable tests.
34227
34228	Add documentation about mpfr_atan2.
34229
34230	Improve test suite by adding new random values.
34231
34232	Add random tests (tgeneric + random2).
34233
342342005-04-05  Vincent Lef��vre  <vincent@vinc17.net>
34235
34236	Test with -ansi when making a release.
34237
34238	Typo.
34239
342402005-04-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
34241
34242	replaced // comments by /* ... */
34243
342442005-04-04  Patrick P��lissier  <patrick.pelissier@gmail.com>
34245
34246	Add note about mpfr_neg
34247
34248	Add function mpfr_atan2
34249
342502005-03-31  Patrick P��lissier  <patrick.pelissier@gmail.com>
34251
34252	Change to add future function mpfr_sqrhigh_n.
34253
34254	Add documentation for mpfr_erfc.
34255
34256	Add items.
34257
34258	Add function mpfr_erfc.
34259	Add a note about auto-checking correctness of MPFR.
34260
342612005-03-30  Vincent Lef��vre  <vincent@vinc17.net>
34262
34263	Added a testcase (the one added to the 2.1 branch).
34264
342652005-03-30  Patrick P��lissier  <patrick.pelissier@gmail.com>
34266
34267	Use random2 instead of random.
34268
342692005-03-30  Vincent Lef��vre  <vincent@vinc17.net>
34270
34271	Weaker conditions for return 0 in mpfr_round_p.
34272
342732005-03-30  Patrick P��lissier  <patrick.pelissier@gmail.com>
34274
34275	Add generic test for functions which looks
34276	 inexact = MPFR_TOTO (rop, op, INTEGER, RND);
34277
34278	Add ceil(log2(size)) bits to initial precision to avoid
34279	committing in error for huge operands.
34280
342812005-03-30  Vincent Lef��vre  <vincent@vinc17.net>
34282
34283	Added a test (corresp. to the one added on 2005-03-25 in tpow_z.c).
34284
342852005-03-29  Vincent Lef��vre  <vincent@vinc17.net>
34286
34287	Reformatted code (GNU style, untabify...).
34288
342892005-03-29  Patrick P��lissier  <patrick.pelissier@gmail.com>
34290
34291	Tiny update.
34292	Add group functions macros.
34293
34294	Replace test ('p <= i') by assertion ('p > i).
34295
342962005-03-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
34297
34298	fixed bug in pow_ui (and pow_z): missing factor 2 in error bound
34299	fixed bug in gamma of negative integer
34300
343012005-03-25  Patrick P��lissier  <patrick.pelissier@gmail.com>
34302
34303	Add info.
34304
34305	Add new internal function for debugging reasons.
34306
34307	Forget to free x and y
34308
34309	Add failed regression test.
34310
34311	Improved version.
34312
34313	Undo previous change (I was wrong).
34314	Add new regression test.
34315
343162005-03-24  Patrick P��lissier  <patrick.pelissier@gmail.com>
34317
34318	Fix wrong extimated precision.
34319	It is log2(n+2) ulps so that log2(log2(n+2)) bits!
34320
34321	Add checking.
34322
343232005-03-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
34324
34325	added new test
34326
343272005-03-23  Patrick P��lissier  <patrick.pelissier@gmail.com>
34328
34329	Remove an signed integer trap overflow (GCC 4 + '-ftrapv').
34330
34331	Don't use Mulder at n+1 for MPFR_MUL_THRESHOLD+1
34332
34333	Reduce the threshold for AMD64.
34334
343352005-03-22  Patrick P��lissier  <patrick.pelissier@gmail.com>
34336
34337	Initial version of Short Division.
34338
34339	Fix bug on HP-UX.
34340	longlong's umul_ppmm seems to be buggy on such a system.
34341	Don't use it under HP-UX.
34342
343432005-03-21  Patrick P��lissier  <patrick.pelissier@gmail.com>
34344
34345	Add case where bn == 1 and bn == 2 by using longlong.h.
34346	Modify tuneup to start with prec=2*BITS_PER_MP_LIMB+1
34347	Fix bug in computing the estimated precision when you switch from N limbs to N+1 limbs.
34348	Add regression tests.
34349
343502005-03-19  Vincent Lef��vre  <vincent@vinc17.net>
34351
34352	Typo.
34353
343542005-03-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
34355
34356	added one efficiency item
34357
343582005-03-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
34359
34360	added two property-tests
34361
343622005-03-17  Vincent Lef��vre  <vincent@vinc17.net>
34363
34364	Fixed a bug for mpfr_atanh(x) with 1 < |x| < 2 (found by Matt Reddick).
34365
343662005-03-14  Patrick P��lissier  <patrick.pelissier@gmail.com>
34367
34368	Update
34369
34370	Improve test: compare between mpfr_round_p and mpfr_can_round.
34371
34372	Replace mpfr_can_round (..., GMP_RNDN, GMP_RNDZ, ...) to fast replacement
34373	mpfr_round_p.
34374
34375	Remove a FIXME.
34376
34377	Add new internal function mpfr_round_p which is a fast replacement
34378	to mpfr_can_round (x, y, GMP_RNDN, GMP_RNDZ, ...)
34379
34380	Improve an error message.
34381
343822005-03-10  Patrick P��lissier  <patrick.pelissier@gmail.com>
34383
34384	Fix bug: tmp may have changed in mulhigh code.
34385	Restore it before calling mpn_mul.
34386
343872005-03-09  Patrick P��lissier  <patrick.pelissier@gmail.com>
34388
34389	Better defaults threshold.
34390
34391	Handle case where Prec(a) ~ estimated prec of mulhigh.
34392	Add one extra limb, and still uses mulhigh.
34393
34394	Fix bug: compute Mulder Threshold from n/2+1 instead of (n+1)/2
34395
34396	Forget ';;' in switch.
34397
34398	Add '-v' for tuneup.
34399
34400	Add assertion.
34401
34402	Improve checking
34403	Add test. Short Mulder product failed for this.
34404
34405	Improve full assertion mode (Check mpfr_mul).
34406
344072005-03-08  Patrick P��lissier  <patrick.pelissier@gmail.com>
34408
34409	Move GLIBC detection from mpfr-impl to logging.c
34410
34411	Add log info.
34412
34413	Improve default threshold.
34414
34415	Add Mulder Short product for mpfr_mul.
34416	Update algorithm.tex to describe the estimated error.
34417
34418	Add an assert.
34419	Cosmetic change.
34420
34421	Update default values.
34422
34423	Clean up macro namespace.
34424
34425	Cosmetics change.
34426
344272005-03-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
34428
34429	new function mpfr_get_f
34430
344312005-03-08  Patrick P��lissier  <patrick.pelissier@gmail.com>
34432
34433	Fix bug in case of reuse of variable (a,b,a) with Exp(b)=Exp(a)+Prec(b).
34434	Move copy of mantissa after test.
34435
344362005-03-07  Patrick P��lissier  <patrick.pelissier@gmail.com>
34437
34438	Add tune for mpfr_mulhigh
34439	Add --with-mulhigh-size option at configure time.
34440
344412005-03-04  Patrick P��lissier  <patrick.pelissier@gmail.com>
34442
34443	Fix bug due to wrong estimation of (get_d (x) / LOG2).
34444	TODO: Rexamine the algorithm of mpfr_exp_2!
34445
34446	Transform DEBUG message to LOG message.
34447
34448	Improve it.
34449
34450	Tune mpfr_exp_2 now!
34451
344522005-03-03  Patrick P��lissier  <patrick.pelissier@gmail.com>
34453
34454	Fix bugs.
34455
34456	Update it.
34457	New code for mpfr_mul.
34458
344592005-03-02  Patrick P��lissier  <patrick.pelissier@gmail.com>
34460
34461	Add new default threshold for different CPU.
34462
34463	Update for tune.
34464
34465	Fix bug in estimated error (See previous ChangeLog).
34466
344672005-02-24  Patrick P��lissier  <patrick.pelissier@gmail.com>
34468
34469	Add tune program for MPFR.
34470	Do make tune instead of make.
34471	BUT you need to have configure MPFR with --with-gmp-build=...
34472	(It uses internal libspeed.la of GMP).
34473	Tuning is slow...
34474
34475	Add note.
34476
344772005-02-22  Patrick P��lissier  <patrick.pelissier@gmail.com>
34478
34479	Tiny optimization
34480
34481	Update
34482
34483	Add logging.
34484
34485	Reduce InterObject dependency by moving mul_si, div_si and si_div
34486	to the unique function they used.
34487	Improve mul_ui by inlining the rounding.
34488
344892005-02-21  Patrick P��lissier  <patrick.pelissier@gmail.com>
34490
34491	Improve test to 1.
34492
344932005-02-21  Vincent Lef��vre  <vincent@vinc17.net>
34494
34495	Updated copyright lines.
34496
34497	Code reindented / reformatted.
34498
34499	Fixed a bug for u == 0 and x == +0 introduced in ui_sub.c 1.23,
34500	when 0 was taken into account as a special case: the sign of the
34501	result 0 was incorrect. -> Consider the case u == 0 first.
34502
345032005-02-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
34504
34505	added generic tests in tpow
34506
345072005-02-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
34508
34509	fixed bug (variable used twice for different things)
34510
34511	more changes for interface with NTL
34512
345132005-02-18  Patrick P��lissier  <patrick.pelissier@gmail.com>
34514
34515	Likely a test.
34516
34517	Update
34518
345192005-02-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
34520
34521	added interface for NTL
34522
345232005-02-16  Vincent Lef��vre  <vincent@vinc17.net>
34524
34525	Update.
34526
34527	Suppress some spaces.
34528
345292005-02-16  Patrick P��lissier  <patrick.pelissier@gmail.com>
34530
34531	Reenable underflow tests.
34532
34533	Update
34534
345352005-02-16  Vincent Lef��vre  <vincent@vinc17.net>
34536
34537	Removed texinfo.tex, as it can be installed by autoreconf -i.
34538
345392005-02-16  Patrick P��lissier  <patrick.pelissier@gmail.com>
34540
34541	Fix LOADLIBES so that it works (it doesn't due to libtool change). But it
34542	still needs to have s static version of MPFR.
34543
345442005-02-16  Vincent Lef��vre  <vincent@vinc17.net>
34545
34546	autoreconf -> autoreconf -i
34547
345482005-02-16  Patrick P��lissier  <patrick.pelissier@gmail.com>
34549
34550	Fix wrong integer types.
34551
345522005-02-16  Vincent Lef��vre  <vincent@vinc17.net>
34553
34554	Spelling mistakes & reformatted code.
34555
345562005-02-15  Vincent Lef��vre  <vincent@vinc17.net>
34557
34558	Reformatted code.
34559
345602005-02-15  Patrick P��lissier  <patrick.pelissier@gmail.com>
34561
34562	Improve initial prec.
34563
34564	Remove code.
34565	Add special case if t=1.
34566
34567	mpfr_set doesn't produce an EVEN inexact flag.
34568	Fix this.
34569
34570	USe of mpfr_nexttozero.
34571
34572	Fix bug: use x instead of xf in LOG.
34573
34574	Log input and output of functions.
34575
34576	Fix bug of overflow in tan.
34577
34578	Use of MPFR_LOG_FUNC.
34579
34580	Do not print final log message if there was no call.
34581
34582	Add ZivLoop for sign
34583
345842005-02-14  Patrick P��lissier  <patrick.pelissier@gmail.com>
34585
34586	Fix bug: during the display of a logged var, logging is turn off.
34587
34588	Add MPFR_LOG_FUNC
34589	Use mpfr_cos as testing example.
34590
34591	Add ZivLoop controller for constantes.
34592	Augment exponent range in the cache.
34593	Remove it in const_pi.
34594
34595	Add generic ZivLoop controller.
34596
345972005-02-14  Laurent Fousse  <laurent@komite.net>
34598
34599	Document mpfr_sum returned int value.
34600
346012005-02-14  Patrick P��lissier  <patrick.pelissier@gmail.com>
34602
34603	Clean up code.
34604	Add generic ZivLoop controller.
34605
346062005-02-14  Laurent Fousse  <laurent@komite.net>
34607
34608	Consider return value's precision for rounding in mpfr_sum.
34609
346102005-02-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
34611
34612	removed garbage
34613
346142005-02-14  Patrick P��lissier  <patrick.pelissier@gmail.com>
34615
34616	Clean up
34617	Add ZivLoop
34618
34619	Remove malloc/free.
34620	Use of MPFR_INT_CEIL_LOG2
34621	Add ZivLoop controller.
34622
34623	Clean up code.
34624	Fix bug with Exponent range.
34625	Add ZivLoop controller.
34626
34627	Cleanup code.
34628
346292005-02-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
34630
34631	further efficiency improvement (avoid mpz_init/mpz_clear)
34632
346332005-02-14  Patrick P��lissier  <patrick.pelissier@gmail.com>
34634
34635	Add ZivLoop controller.
34636	Clean up code.
34637	Optimize it by removing the # of used vars.
34638
34639	Add ZivLoop controller.
34640
346412005-02-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
34642
34643	new faster algorithm for log(2)
34644
346452005-02-11  Patrick P��lissier  <patrick.pelissier@gmail.com>
34646
34647	Remove detection of C++ and Fortran due to libtool.
34648	----
34649	Note (VL, 2010-02-08): this removal by an always false test was working
34650	with libtool 1.5.26, but doesn't work with libtool 2.2 to 2.2.6b (used
34651	by the MPFR 2.4.{0,1,2} tarballs).
34652	https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=568520
34653
34654	Clean up configure (simpler).
34655	Still a bug with CXXCPP to solve.
34656
34657	Clean up const_log2 code.
34658
346592005-02-10  Patrick P��lissier  <patrick.pelissier@gmail.com>
34660
34661	Add log for other functions.
34662	Add ZivLoop too.
34663	Cleanup exp3.
34664
346652005-02-09  Patrick P��lissier  <patrick.pelissier@gmail.com>
34666
34667	Update for ICC (disable shared since it doesn't work).
34668
34669	The previous fixs don't work. New one which works but is VERY ugly.
34670
34671	Fix again to avoid fail on laurent5...
34672
34673	Set CXXCPP to "g++ -E" to avoid detection (which may fail on some systems).
34674
34675	Reduce the tested compiler for C++ and Fortran to the minimum.
34676
34677	Update GMP detection to be much more libtool compatible.
34678	As a consequence some tests using AC_RUN_IFELSE may fail due to ugly things
34679	like LD_LIBRARY_PATH no set or wrong selection of libgmp.
34680	So they just produce a warning, not a fatal error.
34681	TODO: Check if we can avoid those problems...
34682
346832005-02-08  Patrick P��lissier  <patrick.pelissier@gmail.com>
34684
34685	Remove automake and libtool files.
34686	Use `automake --add-missing --copy -i` to generate them.
34687
34688	Add support for ansi2knr
34689
34690	Add support for Shared Library in MPFR (both Unix and Windows) by using libtool.
34691	Improve configure (remove unused macros, make dist produce .zip and .bz2)
34692	Update update-version to modify configure.in too.
34693
34694	Update NEWS.
34695
346962005-02-04  Vincent Lef��vre  <vincent@vinc17.net>
34697
34698	Update.
34699
347002005-02-04  Patrick P��lissier  <patrick.pelissier@gmail.com>
34701
34702	Add forgotten functions to reuse test.
34703
34704	Improve reuse tests (Include 1, -1, 1/2, 2, PI and PI/2 now).
34705
34706	Fix bug of atan(-1) (wrong sign).
34707
347082005-02-03  Patrick P��lissier  <patrick.pelissier@gmail.com>
34709
34710	Remove unused option --disable-cache.
34711
34712	Add option "thread-safe" to configure.
34713	Limited to use with GCC and ICC (using extension __thread).
34714
34715	Add description of added functions.
34716
34717	mpfr.h doesn't export anymore any globals.
34718	It doesn't define MPFR_FLAGS too.
34719
34720	Change user interface for mpfr_const_pi, mpfr_const_log2 and
34721	mpfr_const_euler. No more access to the cache itself.
34722	Create dummy functions which call the cache, and rename old
34723	functions to "_internal".
34724	Internally, it doesn't change at all (You still call directly
34725	the cache instead of the dummy function which calls the cache).
34726
34727	Add functions mpfr_set_overflow, mpfr_set_underflow, mpfr_set_erangeflag,
34728	mpfr_set_inexflag, mpfr_set_nanflag
34729
34730	Rename internal functions mpfr_set_overflow in mpfr_overflow and
34731	 mpfr_set_underflow in mpfr_underflow so that we can add new functions
34732	mpfr_set_underflow and mpfr_set_overflow (which set the global flags).
34733
34734	Add support for logging.
34735	Add support for ZivLoop.
34736	Improve efficiency if prec(op) >> prec(rop), and rop ~= 0
34737
34738	Fix wrong place for MPFR_LOG_BEGIN.
34739
34740	Rename MPFR_LOG_BADCASE in MPFR_LOG_ZIV
34741
34742	Reduce the size of some lines (more than 80 chars).
34743
347442005-02-02  Patrick P��lissier  <patrick.pelissier@gmail.com>
34745
34746	Fix again. My previous fix was incorrect.
34747
34748	Fix wrong order of include system files.
34749	(printf.h is not available everywhere).
34750
347512005-02-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
34752
34753	inexact flag was inexact :-)
34754
347552005-02-02  Patrick P��lissier  <patrick.pelissier@gmail.com>
34756
34757	Move mpfr_nexttozero and mpfr_nexttoinf from static to mpfr-impl.
34758	Use them in sub1 and sin.
34759
34760	Add forgotten logging file.
34761	Add description of new macros in README.dev
34762
34763	Add support for ZivLoop controller and logging.
34764
34765	Add experimental logging feature.
34766	Add ZivLoop controller.
34767
34768	Forget that mpf doesn't have mpf_free_str.
34769	Fix this.
34770
34771	Fix bug of sub1 if dest=src2 and src1 >> src2
34772	=> Fix problem of mpfr_sin
34773
347742005-02-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
34775
34776	added two tests
34777
347782005-02-01  Patrick P��lissier  <patrick.pelissier@gmail.com>
34779
34780	Now MPFR tries to get GMP's CC and CFLAGS from its build directory.
34781
34782	Add AC_COPYRIGHT
34783	Clean up AC_ARG_ENABLE handling
34784	Add `--enable-logging` option.
34785
347862005-01-31  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
34787
34788	added item
34789
347902005-01-31  Patrick P��lissier  <patrick.pelissier@gmail.com>
34791
34792	Fix a wrong assertion when double == long double.
34793
34794	Add loop counter
34795	Check if the result is 0 (Due to new algorithm, it may be 0)
34796	and in that case, increase a lot the precision.
34797
347982005-01-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
34799
34800	changed algorithm for mpfr_sin (to get inexact flag)
34801
348022005-01-29  Vincent Lef��vre  <vincent@vinc17.net>
34803
34804	Fixed a sign bug in mpfr_exp (found by Mark J Watkins).
34805
348062005-01-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
34807
34808	solved efficiency problem in mpfr_sin_sign for x near Pi
34809
348102005-01-28  Vincent Lef��vre  <vincent@vinc17.net>
34811
34812	Removed tests/tdump.c (was no longer used and mpfr_dump is already
34813	tested in toutimpl.c).
34814
34815	Updated copyright line.
34816
348172005-01-28  Patrick P��lissier  <patrick.pelissier@gmail.com>
34818
34819	Clean up code (due to mix with Paul changes).
34820
34821	Improve inexact code since sin & cos can't be exact if x != 0
34822
348232005-01-28  Vincent Lef��vre  <vincent@vinc17.net>
34824
34825	Removed a useless test in macro MPFR_UNSIGNED_MINUS_MODULO.
34826
348272005-01-28  Patrick P��lissier  <patrick.pelissier@gmail.com>
34828
34829	Much faster worst case (ie result near 0 or 1).
34830
348312005-01-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
34832
34833	speed-up special case where approximation is 1 or -1
34834
348352005-01-28  Vincent Lef��vre  <vincent@vinc17.net>
34836
34837	Updated comments about the rounding modes.
34838
348392005-01-28  Patrick P��lissier  <patrick.pelissier@gmail.com>
34840
34841	Fix bug and optimize code.
34842
34843	FIx a warning (Wrong proto between declaration and implementation :
34844		forget some const).
34845
348462005-01-28  Vincent Lef��vre  <vincent@vinc17.net>
34847
34848	Updated copyright line.
34849
34850	Updated copyright lines.
34851
348522005-01-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
34853
34854	fixed efficiency problem in case of cos(Pi)
34855
348562005-01-28  Patrick P��lissier  <patrick.pelissier@gmail.com>
34857
34858	Fix bug if dest==src.
34859	Transform some MPFR_ASSERTN to MPFR_ASSERTD.
34860
348612005-01-27  Patrick P��lissier  <patrick.pelissier@gmail.com>
34862
34863	Fix a buffer overflow.
34864
34865	New version of mpfr_set_ld and mpfr_get_ld for IEEE Extended Little Endian.
34866	(Due to problem on x86 with extended precision).
34867
348682005-01-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
34869
34870	partially fixed memory leak
34871
34872	test for huge cancellation was misplaced
34873
34874	fixed memory leak
34875
34876	fixed inefficiency problem for x near from Pi
34877
34878	casts to allow compilation with g++
34879
34880	added missing cast
34881
34882	added missing casts
34883
348842005-01-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
34885
34886	fixed bug (overlap in mpn_divrem)
34887
348882005-01-24  Vincent Lef��vre  <vincent@vinc17.net>
34889
34890	Removed tests/Makefile.in from CVS.
34891
348922005-01-24  Patrick P��lissier  <patrick.pelissier@gmail.com>
34893
34894	Fix bug reported by Eric Buchlin by using new function
34895	mpfr_pow_z.
34896
34897	Add new function mpfr_pow_z and its test file.
34898
34899	Fix overflows problems.
34900	Clean up overflow handling.
34901	Maybe some bugs remain...
34902
349032005-01-24  Vincent Lef��vre  <vincent@vinc17.net>
34904
34905	Update.
34906
349072005-01-24  Patrick P��lissier  <patrick.pelissier@gmail.com>
34908
34909	Add an explicit reference to mpfr_dump so that
34910	you can use this function inside the tests with GDB, even if
34911	you don't use it in the tests.
34912
349132005-01-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
34914
34915	added check before mpz_get_si() call
34916
349172005-01-24  Vincent Lef��vre  <vincent@vinc17.net>
34918
34919	Update.
34920
34921	Corrections on the typography.
34922
34923	Corrected English usage.
34924
34925	Typos.
34926
349272005-01-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
34928
34929	added LOADLIBES=...
34930
349312005-01-21  Vincent Lef��vre  <vincent@vinc17.net>
34932
34933	Updated Copyright line.
34934
349352005-01-20  Patrick P��lissier  <patrick.pelissier@gmail.com>
34936
34937	Fix again this previous patch!
34938
349392005-01-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
34940
34941	fixed problems in get_str for huge exponent
34942
349432005-01-20  Patrick P��lissier  <patrick.pelissier@gmail.com>
34944
34945	Update longlong from GMP 4.1.4 (problem with opteron).
34946
349472005-01-18  Patrick P��lissier  <patrick.pelissier@gmail.com>
34948
34949	Fix bug in case n==0 or n==1 (Reported and fixed by Laurent Fousse).
34950
349512005-01-14  Patrick P��lissier  <patrick.pelissier@gmail.com>
34952
34953	Add comments
34954	Fix bug in my patch (Need tests).
34955
34956	Optimize mpfr_atan_aux by removing all power of 2 in the sum to
34957	reduce the size of the multiplication, normalize the input to extract
34958	as many zeros as possible and add a special case if the input is 1
34959	(after normalisation). But it doesn't optimize too much...
34960	I need to invertigate a few more too understand what is still costly.
34961	It seems that mpz_mul is the most called function.
34962
34963	Improve and fix tanh for big floats.
34964
34965	Fix bug in some corner case (Just hope it doesn't add new bugs).
34966	It should be much faster in these cases too.
34967
34968	Remove warning
34969
34970	Tiny update
34971
34972	Fix bug (Forget a debug line).
34973
349742005-01-13  Patrick P��lissier  <patrick.pelissier@gmail.com>
34975
34976	Fix overflow bug
34977	Optimize code
34978
34979	Fix bug in mpn_sub_nc in case the compiler optimize too much.
34980
349812005-01-12  Patrick P��lissier  <patrick.pelissier@gmail.com>
34982
34983	Add forgotten 2005 copyright line.
34984
34985	Fix problem of `mpn_sub_nc' which may or may not be defined in libgmp.a
34986	 (Add a test in the configure and a new macro MPFR_HAVE_MPN_SUB_NC)
34987	Add MPFR_LOG2_BIT_PER_MP_LIMB macro
34988
34989	Massive optimization of mpfr_atan (20x faster than 2.1.0 at 53 bits!)
34990	Minor optimization of mpfr_acos
34991
349922005-01-11  Patrick P��lissier  <patrick.pelissier@gmail.com>
34993
34994	Fix typo
34995
34996	Reduce size of code
34997	Optimize a few too.
34998
34999	Forget 2005 !
35000
35001	Improve and fix detection of NAN and GCC bug.
35002
350032005-01-04  Patrick P��lissier  <patrick.pelissier@gmail.com>
35004
35005	new version (completely rewritten) by Paul Zimmermann.
35006
35007	Fix forgotten '2005' Line.
35008
35009	Fix wrong inexact value (regression).
35010	FIXME: It seems that adding MPFR_GET_EXP (xp) bits is too much
35011	 (since previously it always add 0, but the results were quite
35012	  always exact - this bug was only discovered under rare case).
35013
350142005-01-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
35015
35016	added item (mpfr_printf)
35017
350182005-01-04  Patrick P��lissier  <patrick.pelissier@gmail.com>
35019
35020	Optimize mpfr_exp2 by inlining some code, and by avoiding using
35021	mpz_sizeinbase.
35022
35023	Remove unused code.
35024	Remove _MPFR_PROTO for static functions.
35025	Other cosmetic change.
35026
35027	Remove _MPFR_PROTO for static functions.
35028
35029	Remove unused code.
35030
35031	Optimize mpfr_get_d.
35032
35033	Add a new configuration to check before releasing MPFR.
35034
35035	Fix problem of tab with ncurses.
35036
35037	Likely some tests
35038
35039	Fix bug if not gmp-impl.h (mpn_sub_nc is internal).
35040	Move MPFR_SET_EXP after checking the exponent range.
35041	Minor change in the way to return the ternary value.
35042
350432005-01-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
35044
35045	changed tab[] into *tab (and removed 'tab' in mpfr.h)
35046
350472004-12-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
35048
35049	new version (completely rewritten)
35050
35051	improved coverage (and fixed bug)
35052
350532004-12-21  Patrick P��lissier  <patrick.pelissier@gmail.com>
35054
35055	Fixed errors reported by Nelson H. F. Beebe
35056	(forget to include sys/fpu.h if defined and math.h if std=c99).
35057
350582004-12-20  Patrick P��lissier  <patrick.pelissier@gmail.com>
35059
35060	Fix wrong integer type and a test.
35061
35062	Add some assertion.
35063
35064	Unlikely one test.
35065	Fix wrong integer type
35066
35067	Reindent the code.
35068
350692004-12-17  Patrick P��lissier  <patrick.pelissier@gmail.com>
35070
35071	Optimize mpfr_tan
35072
35073	Optimize the computing of the sign of sinus if GET_EXP(x) < 0
35074
35075	Optimize mpfr_cos.
35076	From 3363 / 21663.99 / 79727 to 3139 / 18920.58 / 69624 (opteron).
35077
35078	Fix precision used to test long double.
35079	Now it is sizeof(long_double)*CHAR_BIT instead of fixed 113.
35080
35081	FIx wrong integer types
35082	Add an assertion.
35083
35084	Likely / Unlikely some code.
35085
35086	Fix problem with long double with ICC (Wrong x86 processor flag).
35087
350882004-12-16  Patrick P��lissier  <patrick.pelissier@gmail.com>
35089
35090	Fix wrong integer types.
35091
35092	Fix bug.
35093
35094	Optimize mpfr_acos by choosing a better initial precision.
35095
35096	Optimize mpfr_asin by improving the choice of the initial precision.
35097
35098	Optimize mpfr_atan.
35099
351002004-12-15  Patrick P��lissier  <patrick.pelissier@gmail.com>
35101
35102	Fix problem with GCC 4.0 20041212.
35103
35104	Remove thread attribute until I found a good way to use it.
35105
35106	Test
35107
35108	Add 'const' attribute to table.
35109
35110	Remove unused file.
35111
35112	New way of detecting GMP libraray, which should be more portable.
35113
351142004-12-14  Patrick P��lissier  <patrick.pelissier@gmail.com>
35115
35116	Remove useless assembly code.
35117
35118	Add "MPFR_USE_NO_MACRO" user macro: it allows the user to link
35119	directly with MPFR functions rather than using Macros to access
35120	them. It doesn't define MPFR variable inside mpfr.h too.
35121	Fix set.c and cmp.c in consequences.
35122	Fix mpf2mpfr.h to use mpfr_get_default_rounding_mode () if needed.
35123
351242004-12-13  Patrick P��lissier  <patrick.pelissier@gmail.com>
35125
35126	Improved prototype.
35127
35128	Fix bug of overflow (I hope).
35129
35130	Update mpfr_set_q overflow problem.
35131
35132	Fix wrong integer types.
35133
351342004-12-10  Patrick P��lissier  <patrick.pelissier@gmail.com>
35135
35136	Optimize by increasing with BITS_PER_MP_LIMB instead of log2(prec)
35137
35138	Clean up code (Fix integer types + rewrite some code).
35139	Optimize the code by reducing the number of used variables inside the loop.
35140
35141	Replace mpfr_neg to MPFR_CHANGE_SIGN.
35142
35143	Cosmetic changes.
35144
35145	Clean the code.
35146	Avoid mixing integer types.
35147	Fix bug of overflow if Pi is in the range but not Pi/2.
35148
35149	Clean up the code (Removing useless variables and avoid mixing wrong integer types).
35150	Optimize the code by improving memory allocation scheme and by incrementating by
35151	BITS_PER_MP_LIMB in case of an error instead of MPFR_INT_CEIL_LOG2 (prec).
35152	Fix an overflow bug for X=+/-1 (If PI is inside the exponent range, but not PI/2).
35153
351542004-12-09  Patrick P��lissier  <patrick.pelissier@gmail.com>
35155
35156	Simplify MPFR_SIGN by removing unnecessary ( ).
35157
35158	Add support for new attribute sentinel in incoming GCC 4.0
35159
35160	Optimize initial precision in case of EXP(x) < 0.
35161
35162	Optimize mpfr_set4.
35163	Inline rounding in mpfr_set4 and mpfr_cache
35164	mpfr_set4 doesn't return MPFR_EVEN_INEX (It was undocumented before).
35165	Fix problems with tests (Avoid mixing MPFR_EVEN_INEX and 1).
35166	Add MPFR_RNDRAW_EVEN for rounding with MPFR_EVEN_INEX inexact support
35167
351682004-12-08  Patrick P��lissier  <patrick.pelissier@gmail.com>
35169
35170	Optimize mpfr_mul by inlining and rewriting the rounding.
35171	It seems that GCC option `-frename-registers` for mpfr_mul / Athlon XP
35172	improves its performance (But it decreases it on Pentium4)...
35173
351742004-12-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
35175
35176	first try to implement Mulders' algorithm
35177
351782004-11-29  Patrick P��lissier  <patrick.pelissier@gmail.com>
35179
35180	Update TODO.
35181
351822004-11-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
35183
35184	added new tests for corner cases
35185
35186	added algo for pi
35187
351882004-11-25  Patrick P��lissier  <patrick.pelissier@gmail.com>
35189
35190	Change initial term if exp(a)<0.
35191
35192	Simplify the inner loop.
35193
35194	Change initial precision if EXP(op) < 0.
35195
351962004-11-23  Patrick P��lissier  <patrick.pelissier@gmail.com>
35197
35198	Optimize code and rewrite the rounding part.
35199	FIXME: It seems that the previous rounding code was buggy. Still I am not sure.
35200
35201	Improve tests.
35202
352032004-11-19  Patrick P��lissier  <patrick.pelissier@gmail.com>
35204
35205	Improve the initial value of prec: 10% improvement (?) on average.
35206
35207	Improve coverage test.
35208
35209	Fix bug for mpfr_ui_pow_ui (Wrong inexact flag).
35210
35211	Improve coverage tests.
35212
35213	Fix typos in INSTALL.
35214	Sort README.dev, and add a new section about How to write a MPFR function.
35215	Add a link to README.dev in mpfr-impl.h.
35216
35217	Fix a bug on some compilators:
35218	 First MPFR_SAVE_EXPO_DECL, then TMP_DECL.
35219
352202004-11-18  Patrick P��lissier  <patrick.pelissier@gmail.com>
35221
35222	Fix an overflow bug.
35223
35224	Fix bug with inexact flag.
35225	FIXME: Maybe still a bug with inexact flag if overflow in mpfr_mul_2exp ?
35226
35227	Remove mpfr_save_emin_emax and mpfr_restore_emin_emax
35228	from MPFR library since they are useless.
35229
35230	Forget to remove rndraw.c test.
35231
35232	Replace use of mpfr_save_emin_emax () / mpfr_restore_emin_emax()
35233	by MPFR_SAVE_EXPO macros (DECL, MARK and FREE) which are faster
35234	and thread safe.
35235
35236	Enable fast computing.
35237
352382004-11-18  Vincent Lef��vre  <vincent@vinc17.net>
35239
35240	Fix: GMP -> MPFR Copying Conditions (noted by Patrick).
35241
352422004-11-18  Patrick P��lissier  <patrick.pelissier@gmail.com>
35243
35244	Reorder the file and put sections to make it cleaner and more readable.
35245
35246	Reduce number of used variables.
35247	Optimize code and clean it.
35248
352492004-11-18  Vincent Lef��vre  <vincent@vinc17.net>
35250
35251	In HTML, suppress the non-existing link to GMP.
35252
352532004-11-18  Patrick P��lissier  <patrick.pelissier@gmail.com>
35254
35255	Add a prototype of own TMP_ALLOC. Don't know if it is a good idea.
35256	To enable it, just build MPFR with MPFR_USE_OWN_TMP_ALLOC.
35257
352582004-11-17  Patrick P��lissier  <patrick.pelissier@gmail.com>
35259
35260	Fix bug with TMP_MARK.
35261
352622004-11-16  Patrick P��lissier  <patrick.pelissier@gmail.com>
35263
35264	Optimize the code:
35265	 + Special case for n == 2
35266	 + The first squaring is done using the original input.
35267
35268	Add new assertion to check.
35269
35270	Likely / Unlikely some tests.
35271
352722004-11-15  Patrick P��lissier  <patrick.pelissier@gmail.com>
35273
35274	Add unused code (Still needs a proof).
35275
35276	Add macro version for small functions:
35277	  mpfr_get_prec, mpfr_get_exp, mpfr_get_default_rounding_mode,
35278	  mpfr_get_default_prec and mpfr_set_ui
35279
35280	Refix another bug (The same).
35281
35282	Fix a bug (Use __gmpfr_ceil_log2 instead of MPFR_INT_CEIL_LOG2).
35283
352842004-11-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
35285
35286	added algorithm for mpfr_sqrt
35287	improved algorithm for mpfr_div
35288
35289	use MPFR_SET_EXP/MPFR_GET_EXP instead of MPFR_EXP(r)++
35290
352912004-11-12  Vincent Lef��vre  <vincent@vinc17.net>
35292
35293	Bug fix: delayed all the initializations after the singular test.
35294
352952004-11-11  Vincent Lef��vre  <vincent@vinc17.net>
35296
35297	Untabified the source.
35298
35299	The test MPFR_GET_EXP(u) != MPFR_EMAX_MAX is no longer necessary
35300	since we decided to lower MPFR_EMAX_MAX to avoid such tests.
35301
353022004-11-10  Patrick P��lissier  <patrick.pelissier@gmail.com>
35303
35304	Remove use of CNST_LIMB and TMP_ALLOC_LIMB which are GMP internal.
35305	Add MPFR_LIMB_ZERO.
35306
353072004-11-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
35308
35309	new simpler and faster code
35310
353112004-11-10  Patrick P��lissier  <patrick.pelissier@gmail.com>
35312
35313	Replace __gmpfr_ceil_log2 by MPFR_INT_CEIL_LOG2 when possible.
35314
35315	Add __extension__ to avoid warning useless in GCC.
35316
353172004-11-03  Vincent Lef��vre  <vincent@vinc17.net>
35318
35319	Update.
35320
353212004-11-03  Patrick P��lissier  <patrick.pelissier@gmail.com>
35322
35323	Fix wrong Visual C++ code.
35324
353252004-11-02  Vincent Lef��vre  <vincent@vinc17.net>
35326
35327	Code checking for GMP library wasn't working (always returning "yes"?).
35328
353292004-10-27  Vincent Lef��vre  <vincent@vinc17.net>
35330
35331	Updated copyright line.
35332
35333	Added a bug and updated copyright line.
35334
35335	Update.
35336
35337	Removed the definitions of DBL_POS_INF/DBL_NEG_INF/DBL_NAN for
35338	Visual C++ as they were incorrect. Modified DOUBLE_ISINF(x) so
35339	that infinities are no longer used (this should fix a part of
35340	the problem for Visual C++). If IEEE 754 is not supported, one
35341	should probably use the standard INFINITY macro instead of
35342	(1.0/0.0), since (1.0/0.0) is specific to IEEE 754.
35343
35344	Applied patch by Steve M. Robbins for non-IRIX MIPS systems
35345	(originally for MPFR 2.0.3).
35346
353472004-10-26  Vincent Lef��vre  <vincent@vinc17.net>
35348
35349	Reformatted the code.
35350
35351	Replaced mpfr_set_emin/emax by set_emin/emax in tests to check
35352	the return value; defined set_emin/emax in "tests/tests.c".
35353	Fix: added missing #include <string.h> in "tests/tests.c".
35354	Removed variable names in prototypes in "mpfr-test.h".
35355
353562004-10-22  Vincent Lef��vre  <vincent@vinc17.net>
35357
35358	Reformatted the code -> GNU style.
35359
35360	Update.
35361
353622004-10-22  Patrick P��lissier  <patrick.pelissier@gmail.com>
35363
35364	Declaration of "tests_rand_start" and "tests_rand_end" with the same storage class specifier
35365	in tests.c (static missing line 65 and 109).
35366
353672004-10-21  Vincent Lef��vre  <vincent@vinc17.net>
35368
35369	Bug fixed: cast to unsigned char instead of int for isspace (no,
35370	these are not "psycho" systems, just systems with signed chars).
35371	Untabified the source.
35372
353732004-10-20  Patrick P��lissier  <patrick.pelissier@gmail.com>
35374
35375	Improve ICC CFLAGS by removins meaningless warnings.
35376
35377	Remove some warnings on some "psycho" systems.
35378
35379	Update the chapter "Make a release".
35380
35381	Fix bug when you build MPFR outside source directory.
35382	Add function src_fopen to open a file in the source directory, which
35383	may be different from the current directory.
35384
35385	Fix a typo.
35386
353872004-10-19  Vincent Lef��vre  <vincent@vinc17.net>
35388
35389	Another correction (English).
35390
35391	Minor correction.
35392
353932004-10-19  Patrick P��lissier  <patrick.pelissier@gmail.com>
35394
35395	Update NEWS to reflect the change in mpfr_set_str.
35396
35397	Update mpfr_set_str to be much more like strtofr.
35398	Update the documentation to reflect the changes.
35399
354002004-10-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
35401
35402	changed contributors section
35403
354042004-10-19  Patrick P��lissier  <patrick.pelissier@gmail.com>
35405
35406	Add a line about binary compatibility.
35407
354082004-10-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
35409
35410	changed "contributors" section
35411
35412	changed rights (remove executable permission)
35413
354142004-10-18  Vincent Lef��vre  <vincent@vinc17.net>
35415
35416	Misc corrections:
35417	  + spelling mistakes
35418	  + consistency: in direction @var{rnd} -> in the direction @var{rnd}
35419	  + @code{NULL} pointer -> null pointer (as in the C standard)
35420	  + in the example for mpfr_inits2 / mpfr_clears: NULL -> (void *) 0
35421	    as NULL isn't necessarily a pointer.
35422
354232004-10-18  Patrick P��lissier  <patrick.pelissier@gmail.com>
35424
35425	Update
35426
35427	Change "unsigned int" to "int" for base in proto of strtofr.
35428	Change set_str to use strtofr (Fix a bug too).
35429	Limit base to 36 in strtofr (since get_str is limited to 36).
35430	Update documentation to reflect the changes.
35431	mpfr_get_d1 is moved to section internal in the documentation.
35432	Update the tests.
35433
35434	Hard code NAN, +INF and -INF values for MVC.
35435
35436	Fix problem on systems where "/dev/null" doesn't exist.
35437
354382004-10-16  Vincent Lef��vre  <vincent@vinc17.net>
35439
35440	Misc corrections.
35441
354422004-10-15  Vincent Lef��vre  <vincent@vinc17.net>
35443
35444	Updated the section "To make a release".
35445
35446	Updated the version on the trunk.
35447
35448	Update.
35449
35450	Update for 2.1.0.
35451
354522004-10-13  Vincent Lef��vre  <vincent@vinc17.net>
35453
35454	Added a comment about autoreconf and a bug in Debian (now fixed).
35455
354562004-10-12  Patrick P��lissier  <patrick.pelissier@gmail.com>
35457
35458	Add a note about Windows 64.
35459
354602004-10-11  Patrick P��lissier  <patrick.pelissier@gmail.com>
35461
35462	Update documentation.
35463
35464	Improve Windows installation.
35465
35466	Add a line about "near" and "far".
35467
354682004-10-07  Patrick P��lissier  <patrick.pelissier@gmail.com>
35469
35470	Add support for ".lib" since it seems to work.
35471	Display GMP version inside the configure.
35472
354732004-10-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
35474
35475	added one new test
35476
354772004-10-04  Vincent Lef��vre  <vincent@vinc17.net>
35478
35479	Added worst cases.
35480
354812004-10-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
35482
35483	added new tests (worst-case)
35484
354852004-10-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
35486
35487	added new worst-cases (directed rounding)
35488
35489	added new function to implement (dilog)
35490
354912004-09-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
35492
35493	fixed bug in get_str_aux when one extra digit
35494
354952004-09-30  Vincent Lef��vre  <vincent@vinc17.net>
35496
35497	Added functions mpfr_rint_round, mpfr_rint_trunc, mpfr_rint_ceil,
35498	mpfr_rint_floor.
35499
355002004-09-30  Patrick P��lissier  <patrick.pelissier@gmail.com>
35501
35502	Add new test (One failed).
35503
355042004-09-30  Vincent Lef��vre  <vincent@vinc17.net>
35505
35506	The cast to uintmax_t wasn't really useful, so I removed it.
35507	Added a comment.
35508
35509	The real fix for sizeof(intmax_t) == sizeof(mp_limb_t).
35510
355112004-09-30  Patrick P��lissier  <patrick.pelissier@gmail.com>
35512
35513	Fix a bug if sizeof(intmax_t) == sizeof(mp_limb_t)
35514
355152004-09-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
35516
35517	added worst-case
35518
355192004-09-29  Patrick P��lissier  <patrick.pelissier@gmail.com>
35520
35521	cmp(x,y) if x=NAN or y=NAN returns 0 and erange flag.
35522
35523	Update documentation and NEWS to reflect new functions
35524	and functionality.
35525
35526	Improve assertion.
35527
35528	Add mpfr_clear_erangeflag and mpfr_erangeflag_p.
35529	Add test for theses two functions.
35530	mpfr_get_[s/u][i/j] have a deterministic behavior in case of OVERFLOW.
35531	(Return the MINIMUM or the MAXIMUM in the current type, and set
35532	ERANGE_flag).
35533
35534	Add mpfr_uintmax_p and mpfr_intmax_p.
35535
35536	Update INSTALL about C++
35537	Update TODO and VERSION.
35538
35539	Move mpfr_inits from mpfr-impl to mpfr.h.
35540	Add doc too.
35541
355422004-09-28  Patrick P��lissier  <patrick.pelissier@gmail.com>
35543
35544	Reindent the sources (again).
35545
35546	Fix how to detect overflow so that it can be build with GCC -ftrapv
35547	option without any bugs (In the previous code, the overflow was
35548	detected afterwards, whereas, now, it is detected before).
35549	Fix also another real problem of overflow (Addition of two signed integers).
35550
35551	Rename this variable again.
35552
35553	Replace variable 'near' to 'the_real_near' since MSVC incorrectly
35554	recognize "far" and "near" as obsolete keywords (100% incorrect, and
35555	clearly MSVC fault but it doesn't cost many things to change the name).
35556
355572004-09-27  Patrick P��lissier  <patrick.pelissier@gmail.com>
35558
35559	Fix typo in the documentation about get_ functions.
35560
35561	Retab the sources.
35562
355632004-09-27  Vincent Lef��vre  <vincent@vinc17.net>
35564
35565	Added mpfr_get_uj and mpfr_get_sj in the changes 2.0.3 -> 2.1.0.
35566
35567	Added an item about the future MPFR_FLAGS_ERANGE flag.
35568
35569	New functions mpfr_get_sj and mpfr_get_uj, with tests.
35570
355712004-09-27  Patrick P��lissier  <patrick.pelissier@gmail.com>
35572
35573	Remove MPFR_NEED_LONGLONG_H macro.
35574
355752004-09-26  Vincent Lef��vre  <vincent@vinc17.net>
35576
35577	Added a cast to avoid an integer overflow.
35578
355792004-09-24  Vincent Lef��vre  <vincent@vinc17.net>
35580
35581	Fixed integer overflow.
35582
35583	Fixed bugs (like those in mpfr_get_ui).
35584
35585	The standard autoreconf script should now be used instead of prepare.
35586
355872004-09-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
35588
35589	forgot to check for 0
35590
35591	now use mpfr_rint()
35592
355932004-09-24  Patrick P��lissier  <patrick.pelissier@gmail.com>
35594
35595	Update doc of mpfr_get_str (Minimum space is 7).
35596
355972004-09-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
35598
35599	fixed double-rounding bug in get_ui
35600
356012004-09-23  Patrick P��lissier  <patrick.pelissier@gmail.com>
35602
35603	Prevent from multiple inclusion.
35604	mpf_init inits to 0 rather than NAN.
35605
35606	Fix some tiny problems.
35607
356082004-09-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
35609
35610	added item on rounding to odd
35611
356122004-09-21  Patrick P��lissier  <patrick.pelissier@gmail.com>
35613
35614	Fix a bug in FreeBsd 5.20 / Alpha / Gcc 3.3.3.
35615	Not a MPFR bug, but add some code to avoid it.
35616	Reference: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=72024
35617
35618	Add a new test and clarify a comment.
35619
35620	Update Assertion for pow2.
35621
356222004-09-20  Patrick P��lissier  <patrick.pelissier@gmail.com>
35623
35624	Update NEWS.
35625
35626	Update TODO due to new function mpfr_strtofr
35627
35628	Add ICC detection && support.
35629	Remove some potential warnings in the test files.
35630
35631	Add mpfr_strtofr function.
35632	Add mpfr_strtofr test file.
35633	Add mpfr_strtofr documentation.
35634
35635	Improve GMP.h vs libgmp.a version checking.
35636
356372004-09-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
35638
35639	added one entry (new function 1/sqrt(x))
35640
356412004-09-17  Patrick P��lissier  <patrick.pelissier@gmail.com>
35642
35643	Use LIBS instead of LDADD for libraries (GMP).
35644
35645	Min GMP version is 4.1.0 now.
35646
356472004-09-16  Patrick P��lissier  <patrick.pelissier@gmail.com>
35648
35649	Add a check if both gmp.h and libgmp.a have the same version.
35650
35651	Fix a typo.
35652
356532004-09-15  Patrick P��lissier  <patrick.pelissier@gmail.com>
35654
35655	Add a forgotten regression test "1.2.3"
35656
356572004-09-15  Vincent Lef��vre  <vincent@vinc17.net>
35658
35659	Update from the autotools-dev Debian package.
35660
35661	Update.
35662
356632004-09-14  Patrick P��lissier  <patrick.pelissier@gmail.com>
35664
35665	Add 2 new macros for handling correctly overflow.
35666
356672004-09-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
35668
35669	fixed bug (several '.' allowed in mantissa)
35670
356712004-09-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
35672
35673	added notes for Windows
35674
356752004-09-02  Patrick P��lissier  <patrick.pelissier@gmail.com>
35676
35677	Add a line about Dynamic Version of MPFR.
35678
356792004-09-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
35680
35681	added warnings about init functions (mpf wrt mpfr)
35682
356832004-08-31  Patrick P��lissier  <patrick.pelissier@gmail.com>
35684
35685	Update documentations.
35686
35687	Rename mpz_set_fr to mpfr_get_z.
35688	Provide a conditionnal macro for mpz_set_fr.
35689
35690	Add doc for mpfr_sqr.
35691
35692	Fix month.
35693
356942004-08-26  Patrick P��lissier  <patrick.pelissier@gmail.com>
35695
35696	Add a new test to check overflow.
35697
356982004-08-24  Patrick P��lissier  <patrick.pelissier@gmail.com>
35699
35700	Try to retype correctly the functions (replace int by the correct type).
35701	Still some works to do.
35702
357032004-08-23  Patrick P��lissier  <patrick.pelissier@gmail.com>
35704
35705	Add description of what does MPFR_INT_CEIL_LOG2.
35706
35707	Move __gmpfr_isqrt and __gmpfr_cuberoot to another file.
35708	Clean up the code of mpfr_exp_2: remove DEBUG condition to use TRACE, ASSERT and DUMP.
35709	Use MPFR_INT_CEIL_LOG2 instead of __gmpfr_ceil_log2.
35710
35711	Improve a comment.
35712
35713	Add MPFR_INT_CEIL_LOG2 macro and __gmpfr_int_ceil_log2 function
35714	(don't use function but macro).
35715
35716	Fix 2 typos.
35717
357182004-08-19  Patrick P��lissier  <patrick.pelissier@gmail.com>
35719
35720	Fix a bug on 64-bits introduced due to huger MPFR_EMAX_MAX.
35721
35722	Add new functions: mpfr_get_emin_min, mpfr_get_emax_max, mpfr_get_emin_max and
35723	mpfr_get_emax_min.
35724	Add documentation and explanation about potential portability problem when
35725	you mpfr_set_emin and mpfr_set_emax.
35726
357272004-07-28  Vincent Lef��vre  <vincent@vinc17.net>
35728
35729	Added mpfr-longlong.h to libmpfr_a_SOURCES so that it is distributed
35730	with make dist.
35731
35732	Added mpfr-gmp.h to libmpfr_a_SOURCES so that it is distributed
35733	with make dist.
35734
357352004-07-26  Patrick P��lissier  <patrick.pelissier@gmail.com>
35736
35737	Add a new section.
35738
357392004-07-20  Patrick P��lissier  <patrick.pelissier@gmail.com>
35740
35741	Add function mpfr_sqr (TODO: Make doc)
35742
357432004-07-19  Patrick P��lissier  <patrick.pelissier@gmail.com>
35744
35745	Fix an unsigned/signed comparison.
35746
35747	Improve the emulation of mpn_sqr_n and fix some typos.
35748
357492004-07-16  Patrick P��lissier  <patrick.pelissier@gmail.com>
35750
35751	Remove unused item "rnd_mode" in cache struct.
35752
35753	Renamme mpfr_version to mpfr_get_version to be more GMP compatible.
35754	Add macro mpfr_version.
35755
35756	Likely some tests.
35757
357582004-07-15  Patrick P��lissier  <patrick.pelissier@gmail.com>
35759
35760	Add a speciliation for set_si for GCC.
35761
357622004-07-09  Patrick P��lissier  <patrick.pelissier@gmail.com>
35763
35764	Try to optimize a few agm by rewriting a few the loop.
35765
35766	Likely / Unlikely some tests using gcov.
35767
357682004-07-06  Patrick P��lissier  <patrick.pelissier@gmail.com>
35769
35770	Remove some unused code.
35771	Add MPFR_LMIB_PER_DOUBLE
35772	Add MPFR_DUMP
35773	Add MPFR_TRACE
35774
35775	Likely some tests.
35776
35777	Used static precision for the array of limb for double.
35778
35779	Likely some tests / Other minor optimisations.
35780
35781	Minor modifications.
35782
35783	Unlikely a test so that it is faster when you call theses functions
35784	with the same dest and source which is the common case in MPFR.
35785
35786	Likely a test to optimize when dest and src are the same
35787	(which is very likely inside MPFR).
35788
35789	Likely a test (since cache should always work fine).
35790
357912004-06-28  Patrick P��lissier  <patrick.pelissier@gmail.com>
35792
35793	Add some likely, and use a static table instead of a dynamic one.
35794
357952004-06-16  Patrick P��lissier  <patrick.pelissier@gmail.com>
35796
35797	Unlikely some tests.
35798
357992004-06-10  Patrick P��lissier  <patrick.pelissier@gmail.com>
35800
35801	Likely / Unlikely the code.
35802
35803	Respace some macro.
35804
35805	Retab some lines.
35806
35807	Optimize a bit.
35808
35809	Fix an overflow bug.
35810
358112004-06-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
35812
35813	fixed bug in mpfr_exp_3 (wrong assert)
35814
358152004-05-27  Patrick P��lissier  <patrick.pelissier@gmail.com>
35816
35817	Fix typos.
35818
35819	Update doc.
35820
358212004-05-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
35822
35823	fixed problem for x near from Pi/2 (the internal precision should take
35824	into account the cancellation)
35825
358262004-05-18  Patrick P��lissier  <patrick.pelissier@gmail.com>
35827
35828	Improve tests for sin.
35829
358302004-05-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
35831
35832	mpfr_sin_sign() should use at least MPFR_GET_EXP() bits
35833
358342004-05-17  Patrick P��lissier  <patrick.pelissier@gmail.com>
35835
35836	Remove an item.
35837
358382004-05-12  Patrick P��lissier  <patrick.pelissier@gmail.com>
35839
35840	Add a potential test (Too slow).
35841
35842	Simplify the code.
35843
358442004-05-11  Patrick P��lissier  <patrick.pelissier@gmail.com>
35845
35846	Remove a C++ comment.
35847
358482004-05-10  Patrick P��lissier  <patrick.pelissier@gmail.com>
35849
35850	Remove a forgotten "assertd" which isn't useful anymore.
35851
358522004-05-07  Patrick P��lissier  <patrick.pelissier@gmail.com>
35853
35854	Optimize cos.
35855
358562004-05-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
35857
35858	improved initial value of working precision (did not take into account
35859	2K lost bits for large  arguments)
35860
358612004-05-06  Patrick P��lissier  <patrick.pelissier@gmail.com>
35862
35863	Fix overflow and add corresponding tests.
35864
35865	Fix a bug in a formula.
35866
35867	Optimize it a bit.
35868
35869	Fix overflow problems.
35870
35871	Fix overflow bug.
35872
358732004-05-05  Patrick P��lissier  <patrick.pelissier@gmail.com>
35874
35875	Remove the double vars. (Use fixed instead).
35876
35877	Add a note about tanh.
35878
35879	Fix a bug in cas of overflow in tanh.
35880
35881	Optimize a few by reducing the # of used vars.
35882
35883	Fix critical bugs due to different kind of overflow in cosh.
35884
35885	Add MPFR_TMP_INIT_ABS macro.
35886
35887	Optimize cosh a few by removing an unused intermedary var.
35888
35889	Fix a critical bug in case of overflow.
35890
358912004-05-04  Patrick P��lissier  <patrick.pelissier@gmail.com>
35892
35893	Fix a critical bug in cos in case you have set the float range for the exponents.
35894
35895	Optimize a few cos.
35896
35897	Optimize the way of computing initial precision.
35898
35899	Add a test to check an overflow in const_pi (called by log in case of emulation of the float type).
35900
35901	Move to ASSERT mode some code.
35902
35903	Push/Pop emin/emax so that an overflow can't occur in mpfr_set_z(x,pi,r)
35904	Add test too.
35905
35906	Add some UNLIKELY to the while.
35907
35908	Add some UNLIKELY to the tests.
35909
35910	Fix an overflow bug in add1sp.
35911
359122004-04-29  Patrick P��lissier  <patrick.pelissier@gmail.com>
35913
35914	Fix a typo in AC_MY_LIBS.
35915
359162004-04-28  Patrick P��lissier  <patrick.pelissier@gmail.com>
35917
35918	Add mpfr_cmp as a real function, not only a macro.
35919
35920	Add mpfr_set and mpfr_abs as real functions.
35921
359222004-04-27  Patrick P��lissier  <patrick.pelissier@gmail.com>
35923
35924	When using GCC, optimize certain common comparisons.
35925
359262004-04-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
35927
35928	added one item
35929
359302004-04-27  Patrick P��lissier  <patrick.pelissier@gmail.com>
35931
35932	Minor Optimizations.
35933
35934	Fix a bug (Use nextbeloz instead of sub_one_ulp).
35935
359362004-04-21  Patrick P��lissier  <patrick.pelissier@gmail.com>
35937
35938	Add option in configure: --disable-cache
35939	to disable the use of the cache for the const.
35940
35941	Fix a typo.
35942
35943	Add preliminary generic code to handle cached const.
35944	Move const_pi, const_log2 to use this generic cache,
35945	which fix bugs of the previous implementation.
35946	const_euler is now cached too.
35947
35948	Fix a bug (If x = Nan, the new new precision wasn't set).
35949
35950	Fix a typo bug.
35951
359522004-04-20  Patrick P��lissier  <patrick.pelissier@gmail.com>
35953
35954	Add new test about the cache: new bug to fix.
35955
35956	Add forgotten file for mpfr_zero_p.
35957
35958	Add mpfr_zero_p.
35959	Add macros for mpfr_inf_p, mpfr_nan_p and mpfr_zero_p.
35960	Add macro for mpfr_sgn.
35961	Update doc.
35962	Add new tests.
35963
35964	Fix a bug in a proto.
35965
35966	Fix a bug when both op are < 0 (It seems it was my fault).
35967	Add a test to check it.
35968
359692004-04-09  Patrick P��lissier  <patrick.pelissier@gmail.com>
35970
35971	Fix a bug (Remove useless function).
35972
359732004-04-08  Patrick P��lissier  <patrick.pelissier@gmail.com>
35974
35975	Fix another bug (Maybe the last?).
35976
35977	Fix a tiny bug.
35978
35979	Update memory allocations scheme without gmp-impl.h.
35980	Now the semantic of the memory allocation scheme is the same
35981	with and without gmp-impl, as it should be.
35982
359832004-04-07  Patrick P��lissier  <patrick.pelissier@gmail.com>
35984
35985	For add/sub_type functions where type is a type without signed zeros,
35986	specify the expected result when both operands are 0.
35987
35988	Modify a few the allocation scheme without gmp-impl.h
35989	Add pseudo-constants __MPFR_EXP_NAN, __MPFR_EXP_ZERO and __MPFR_EXP_INF
35990	for future (?) inlining of some functions.
35991
359922004-04-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
35993
35994	fixed problem when overflow in destination exponent happens
35995
359962004-04-07  Patrick P��lissier  <patrick.pelissier@gmail.com>
35997
35998	Fix a bug in case a mpz_t == 0 (mpz_sizeinbase(0Z,2)==0 and MPFR_PREC_MIN=2).
35999
36000	Fix a bug in case of pow(2E1000000,-10);
36001
360022004-04-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
36003
36004	fixed problem (cmpabs doesn't work for x=0)
36005
360062004-03-26  Patrick P��lissier  <patrick.pelissier@gmail.com>
36007
36008	Change from MP_LIMB_T_ONE to MPFR_LIMB_ONE and/or MPFR_LIMB_MASK.
36009
36010	Improve comments.
36011
36012	Fix a bug.
36013
36014	Move detecting macros (__MPFR_GCC, __MPFR_STDC, __MPFR_GLIBC and __MPFR_GMP) from mpfr to mpfr-impl
36015
360162004-03-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
36017
36018	removed blank
36019
360202004-03-22  Vincent Lef��vre  <vincent@vinc17.net>
36021
36022	Test write access to CVS.
36023
360242004-03-18  Patrick P��lissier  <patrick.pelissier@gmail.com>
36025
36026	Fix a bug in a string.
36027
360282004-03-17  Patrick P��lissier  <patrick.pelissier@gmail.com>
36029
36030	Add documentation of 'j' functions.
36031
36032	Fix (?) definition of MPFR_PREC_MAX.
36033
36034	Change the order of the tests.
36035
36036	Rename mpfr_exp3 in mpfr_exp_3.
36037	Update THRESHOLD for mpfr_exp.
36038	Add MPFR_EXP_THRESHOLD.
36039
360402004-03-16  Patrick P��lissier  <patrick.pelissier@gmail.com>
36041
36042	Add new option "--with-gmp-build="
36043
36044	Update INSTALL
36045
36046	Fix a bug (Forget to cast to mp_exp_t).
36047
36048	Update comment
36049
36050	Add mpz_set_fr function and its test.
36051
360522004-03-15  Patrick P��lissier  <patrick.pelissier@gmail.com>
36053
36054	Add new functions:
36055	 mpfr_set_sj_2exp, mpfr_set_sj
36056	 mpfr_set_uj_2exp, mpfr_set_uj
36057
36058	Fix a compiler bug (limb !=0 instead of limb).
36059
36060	Fix a cast problem on some systems (sizeof(mp_limb_t) > sizeof(unsigned long)).
36061
360622004-03-12  Patrick P��lissier  <patrick.pelissier@gmail.com>
36063
36064	Remove use of abort (They can create core dump on some systems).
36065
36066	Fix bug of inexact flag for acos(0).
36067
36068	Update.
36069
360702004-03-11  Patrick P��lissier  <patrick.pelissier@gmail.com>
36071
36072	Fix bug about forgotten MPFR_INVERT_RND.
36073	Add test too.
36074
36075	Add doc about HAVE_STDINT_H
36076
360772004-03-10  Patrick P��lissier  <patrick.pelissier@gmail.com>
36078
36079	Fix doc about MPFR_DECL_INIT.
36080
36081	Fix the declaration of 'MPFR_DECL_INIT'
36082
36083	Add 'MPFR_DECL_INIT' macro.
36084
36085	Rename NEAREST_AWAY in GMP_RNDNA.
36086
36087	Add the description of mpfr_set_ui_2exp and mpfr_set_si_2exp.
36088
360892004-03-09  Patrick P��lissier  <patrick.pelissier@gmail.com>
36090
36091	Add mpfr_set_si_2exp and mpfr_set_ui_2exp and their tests.
36092
36093	Add doc about mpfr_cmp_f function
36094
36095	Add mpfr_cmp_f and its test.
36096
36097	Add mpfr_cmp_ld and its test
36098
36099	Add doc of 2 macros.
36100
36101	Add mpfr_cmp_ui and mpfr_cmp_si as real functions
36102	(The macros are still defined and used).
36103
36104	Add mpfr_add_si, mpfr_sub_si, mpfr_si_sub, mpfr_mul_si, mpfr_div_si and
36105	mpfr_si_div.
36106	Add the corresponding test.
36107
36108	Add `mpfr_cmp_q` and `mpfr_cmp_z`.
36109
36110	Clean up configure
36111
36112	Add ASSERT for NAN.
36113
361142004-02-27  Patrick P��lissier  <patrick.pelissier@gmail.com>
36115
36116	Add documentation for MPFR_VERSION
36117
361182004-02-26  Patrick P��lissier  <patrick.pelissier@gmail.com>
36119
36120	Optimize a few mpfr_mul.
36121
36122	Add Laurent Fousse in the AUTHORS file.
36123
361242004-02-26  Vincent Lef��vre  <vincent@vinc17.net>
36125
36126	Fixed a bug in check2b and added a test; add1.c coverage is now
36127	complete.
36128
361292004-02-25  Vincent Lef��vre  <vincent@vinc17.net>
36130
36131	Improved coverage.
36132
36133	Improved coverage.
36134
36135	Bugs fixed in a test function -> improved coverage.
36136
361372004-02-25  Patrick P��lissier  <patrick.pelissier@gmail.com>
36138
36139	Optimize mpfr_round_raw_?
36140
36141	Simplify the code.
36142
361432004-02-24  Vincent Lef��vre  <vincent@vinc17.net>
36144
36145	Avoid integer overflow.
36146
36147	Ported code clean-up to trunk.
36148
361492004-02-24  Patrick P��lissier  <patrick.pelissier@gmail.com>
36150
36151	Remove some warnings.
36152	MPFR can be compiled (but not checked!) with a C++ compiler.
36153
36154	Improve test coverage.
36155
361562004-02-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
36157
36158	further simplification of the code (replaced one in-place shift and copy
36159	by out-of-place shift or copy)
36160
361612004-02-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
36162
36163	use GMP_RND_MAX instead of hard-coded constant
36164
36165	simplified the code of div.c and improved coverage
36166
361672004-02-23  Patrick P��lissier  <patrick.pelissier@gmail.com>
36168
36169	Rename 'longlong.h' in 'mpfr-longlong.h' so that when MPFR is built
36170	within GMP it uses GMP's 'longlong.h' rather than MPFR's copy.
36171
361722004-02-23  Vincent Lef��vre  <vincent@vinc17.net>
36173
36174	Update.
36175
361762004-02-23  Patrick P��lissier  <patrick.pelissier@gmail.com>
36177
36178	Add mpfr_free_cache (2).
36179
36180	Add mpfr_free_cache.
36181
36182	Add mpfr_free_str function.
36183
36184	Remove a warning.
36185
36186	Reorder the declarations of the functions.
36187	Remove duplicate declarations.
36188	Remove mpfr_factorial.
36189
361902004-02-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
36191
36192	patch from Guillaume Hanrot
36193
361942004-02-23  Patrick P��lissier  <patrick.pelissier@gmail.com>
36195
36196	Improve coverage tests.
36197	Fix 2 underflow bugs.
36198
36199	Update comment
36200
36201	Improve comments.
36202
36203	Add a comment.
36204
362052004-02-22  Vincent Lef��vre  <vincent@vinc17.net>
36206
36207	Added tests.
36208
362092004-02-20  Laurent Fousse  <laurent@komite.net>
36210
36211	Changed mpfr_sum to use unsigned long instead of unsigned int. More tests.
36212
362132004-02-20  Patrick P��lissier  <patrick.pelissier@gmail.com>
36214
36215	mpfr_neg (b, b, r) for b=NAN didn't set NAN flag.
36216
36217	mpfr_sgn is no longer a macro.
36218
362192004-02-19  Patrick P��lissier  <patrick.pelissier@gmail.com>
36220
36221	Fix bug with exact rationnal arguments (0.5+3/2 freezes).
36222
362232004-02-18  Vincent Lef��vre  <vincent@vinc17.net>
36224
36225	Update from the autotools-dev Debian package (2004-01-05).
36226
36227	Fixed a bug in mpfr_set_f for 0 (wrong sign) and added the test.
36228
362292004-02-18  Patrick P��lissier  <patrick.pelissier@gmail.com>
36230
36231	Fix bug if you build MPFR with ASSERT.
36232
362332004-02-17  Patrick P��lissier  <patrick.pelissier@gmail.com>
36234
36235	Reduce the number of used variables.
36236
362372004-02-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
36238
36239	improved again documentation
36240
36241	simplified rounding
36242
36243	improved documentation of *inexp
36244
362452004-02-17  Patrick P��lissier  <patrick.pelissier@gmail.com>
36246
36247	Simplify the random code.
36248
36249	Optimize it a few.
36250
36251	Add 2004 in copyright line.
36252
36253	Add a section which describes the needed macros for building MPFR.
36254
362552004-02-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
36256
36257	added comment about probability of normalized product
36258
362592004-02-17  Vincent Lef��vre  <vincent@vinc17.net>
36260
36261	Added a note about the ternary value, important in practice.
36262
362632004-02-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
36264
36265	fixed 2 bugs and added test
36266
36267	added comment about return value
36268
362692004-02-17  Patrick P��lissier  <patrick.pelissier@gmail.com>
36270
36271	Try so support GMP as a Shared Library.
36272
362732004-02-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
36274
36275	improved error message
36276
362772004-02-16  Patrick P��lissier  <patrick.pelissier@gmail.com>
36278
36279	Fix the computing of the error for mpq_add and mpq_sub.
36280
362812004-02-16  Vincent Lef��vre  <vincent@vinc17.net>
36282
36283	Added more tests (improved tadd1.c coverage).
36284
362852004-02-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
36286
36287	added cancellation test for add_q
36288
362892004-02-16  Vincent Lef��vre  <vincent@vinc17.net>
36290
36291	Added tests (improved tadd1.c coverage).
36292
362932004-02-16  Patrick P��lissier  <patrick.pelissier@gmail.com>
36294
36295	Fix bug of add_q and sub_q with special values (NAN, INF and ZERO).
36296
362972004-02-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
36298
36299	deal with overflow/underflow in mpfr_div
36300
36301	added hard-coded tests
36302
363032004-02-16  Vincent Lef��vre  <vincent@vinc17.net>
36304
36305	When the precisions are the same, test both mpfr_add1sp and mpfr_add1.
36306
36307	Added overflow check.
36308
363092004-02-16  Patrick P��lissier  <patrick.pelissier@gmail.com>
36310
36311	Optimize add1sp, sub1sp and div.
36312	Improve coverage test for sub1sp.
36313
363142004-02-16  Vincent Lef��vre  <vincent@vinc17.net>
36315
36316	Removed unused label.
36317
36318	Really reverted to rev. 1.54 + kept optimization + commented out
36319	is_odd_even.
36320
363212004-02-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
36322
36323	take into account possible out-of-range exponent
36324
36325	revert to rev 1.54 code for case x infinite
36326	(was less efficient but simpler)
36327
36328	fixed bug with in-place computation
36329
363302004-02-16  Vincent Lef��vre  <vincent@vinc17.net>
36331
36332	Code clean-up and fix to avoid warnings.
36333
363342004-02-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
36335
36336	changed back to C99 standard for special values of x^y
36337
36338	added test for *function* mpfr_round
36339
36340	check return value of fopen
36341
363422004-02-16  Vincent Lef��vre  <vincent@vinc17.net>
36343
36344	Removed the no longer used label "fin" and fixed the indentation.
36345
36346	Fix: MPFR_NOT_ZERO -> MPFR_NOTZERO.
36347
36348	Commented out the now useless "double uo, vo;".
36349
363502004-02-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
36351
36352	improved coverage tests
36353
363542004-02-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
36355
36356	new coverage tests
36357
36358	improved coverage test
36359
363602004-02-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
36361
36362	improved coverage test
36363
36364	improved test coverage
36365
36366	improved test coverage
36367
36368	improved test coverage
36369
363702004-02-13  Patrick P��lissier  <patrick.pelissier@gmail.com>
36371
36372	Fix a bug in taddsp (Forget to check if random does not generate zero).
36373
363742004-02-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
36375
36376	improved editing style
36377
36378	improved test coverage
36379
36380	partly rewritten, and improved test coverage
36381
363822004-02-13  Vincent Lef��vre  <vincent@vinc17.net>
36383
36384	Added tests for mpfr_mul_2si and mpfr_div_2si + corrections.
36385
36386	Replaced mpfr_mul_2exp and mpfr_div_2exp by mpfr_mul_2ui and
36387	mpfr_div_2ui as the 2exp form is obsolete.
36388
363892004-02-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
36390
36391	removed warnings
36392
363932004-02-13  Patrick P��lissier  <patrick.pelissier@gmail.com>
36394
36395	Add test for mpfr_cmpabs
36396	Add test for mpfr_fits_
36397	Add test for internal dumping functions.
36398	Improve coverage test for exceptions / set / check.
36399
364002004-02-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
36401
36402	improved coverage
36403
36404	removed Kevin, added missing accent
36405
36406	improved coverage test
36407
364082004-02-12  Patrick P��lissier  <patrick.pelissier@gmail.com>
36409
36410	Rewrite (simplify) mpfr_dump.
36411	Change its proto.
36412	Fix mpf_dump macro in mpf2mpfr.
36413
36414	Remove MPFR_ASSERTN(0) and add MPFR_ASSERTD(last condition) instead.
36415
364162004-02-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
36417
36418	improved coverage
36419
36420	improved coverage
36421
36422	improved cov. test
36423
36424	improved cov. test
36425
36426	improved coverage test
36427
36428	improved coverage test
36429
36430	improved test coverage
36431
364322004-02-12  Patrick P��lissier  <patrick.pelissier@gmail.com>
36433
36434	Improve coverage of const_pi and const_log2 (Test for prec > 20000).
36435
364362004-02-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
36437
36438	fixed tiny bugs for corner cases
36439	improved test coverage
36440
364412004-02-12  Patrick P��lissier  <patrick.pelissier@gmail.com>
36442
36443	+ Add mpfr_add1sp which provides addition when all the operands have the same precision.
36444	+ Add new test files for mpfr_copysign and mpfr_min and mpfr_max.
36445	+ Add test for mpfr_exp10 in tests/texp.c
36446	+ Improve coverage of div_2ui.c and mul_2ui.c
36447	+ Add a forgotten ASSERT in mpfr_sqrt
36448
364492004-02-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
36450
36451	improved test coverage
36452	replaced mpfr_get_d1 by mpfr_get_si
36453
36454	improved coverage test
36455
36456	added new coverage test
36457
364582004-02-12  Patrick P��lissier  <patrick.pelissier@gmail.com>
36459
36460	Fix some mistakes.
36461
36462	Add a description of the gcov tool.
36463
364642004-02-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
36465
36466	now 100% of coverage of sub1.c
36467
36468	new test file for mpfr_dim
36469
364702004-02-06  Patrick P��lissier  <patrick.pelissier@gmail.com>
36471
36472	Replace AS_HELP_STRING to AC_HELP_STRING (obsolete)
36473
36474	Add forgotten copyright 2004 line.
36475	Add a small documentation about mpfr_sum.
36476
36477	Added mpfr_sum function.
36478
36479	+ Better support of non IEEE doubles.
36480	+ You can compile MPFR without gmp internal files (ie gmp-impl.h, gmp-mparam.h, and config.h). You only need gmp.h and libgmp.a. But you can still compile with GMP internal files (configure detects them).
36481
364822004-02-06  Vincent Lef��vre  <vincent@vinc17.net>
36483
36484	Update.
36485
36486	Updated MPFR URL.
36487
36488	Added the changes from version 2.0.1 to version 2.0.2.
36489
36490	Added: "3) Update the NEWS file.".
36491
364922004-02-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
36493
36494	fixed bug in get_str (case pow2, rnd=up or down)
36495
364962004-01-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
36497
36498	fixed problem (s1 = s-1 inexact)
36499
36500	fixed problem in gamma/factorial
36501
36502	added new tests for agm and hypot (+ fixed bugs)
36503
365042004-01-29  Patrick P��lissier  <patrick.pelissier@gmail.com>
36505
36506	Add GMP_RND_MAX so that a for loop of the rounding modes looks like:
36507	 for(int r = 0 ; r < GMP_RND_MAX ; r++)
36508
365092004-01-28  Patrick P��lissier  <patrick.pelissier@gmail.com>
36510
36511	Better supports of non IEEE-754 floats (don't use anymore ieee_double_extract if _GMP_IEEE is not set).
36512
365132004-01-28  Vincent Lef��vre  <vincent@vinc17.net>
36514
36515	Added comments and a temporary fix.
36516
365172004-01-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
36518
36519	fixed bugs in atan cbrt erf
36520	added new hard-coded tests
36521
365222004-01-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
36523
36524	removed argument reduction in sin(Pi*s/2) [delegated to mpfr_sin]
36525
36526	print inputs of test2 in binary form
36527	commented out test for 0.8 (input is not exactly representable)
36528
365292004-01-26  Patrick P��lissier  <patrick.pelissier@gmail.com>
36530
36531	+ Internal functions of zeta are now declared as static.
36532	+ Add new tests which fail.
36533
365342004-01-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
36535
36536	added several hard-coded tests (and fixed bugs found)
36537
365382004-01-20  Patrick P��lissier  <patrick.pelissier@gmail.com>
36539
36540	Fix tiny bug of Concept Index / Rounding Modes.
36541
36542	Update minor things.
36543
365442004-01-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
36545
36546	minor change in contributions
36547
36548	added Patrick in the main contributors
36549
365502004-01-20  Vincent Lef��vre  <vincent@vinc17.net>
36551
36552	Fixed spelling mistake.
36553
365542004-01-20  Patrick P��lissier  <patrick.pelissier@gmail.com>
36555
36556	Reorder the documentation.
36557
365582004-01-19  Kevin Ryde  <user42@zip.com.au>
36559
36560	# Add a remark to mpf_strto.
36561
36562	# Drop my thought about addmul instead of fma.  The latter takes a
36563	# separate destination and is hence not the same as what mpn and mpz
36564	# addmul do.
36565
365662004-01-19  Patrick P��lissier  <patrick.pelissier@gmail.com>
36567
36568	Update tests to remove the use of double when possible.
36569
36570	Reenable the cmp between inexact flags.
36571
36572	Add mpfr_get_default_rounding_mode.
36573	Add the tests for mpfr_get/set_default_rounding_mode.
36574	Fix mpfr_set_default_rounding_mode.
36575
365762004-01-19  Vincent Lef��vre  <vincent@vinc17.net>
36577
36578	_mpfr_ceil -> mpfr_ceil_double + check for overflow.
36579
36580	Moved the mpfr_mpn_exp function to a new file "mpn_exp.c" as it is
36581	used by both "get_str.c" and "set_str.c".
36582
365832004-01-16  Patrick P��lissier  <patrick.pelissier@gmail.com>
36584
36585	Update it to remove the use of float/double.
36586
365872004-01-15  Patrick P��lissier  <patrick.pelissier@gmail.com>
36588
36589	Add a new check in tget_str.c.
36590
36591	Add new macros.
36592
36593	Readd stdio.h in case of DEBUG mode.
36594
36595	Optimize a few sub1sp by removing the normalisation in case of exact rounding and by removing the calcul of the rounding mode in case of exact rounding.
36596
365972004-01-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
36598
36599	fixed problem in case m=0 and b=2^k (lost bits from 1st digit were not taken
36600	into account)
36601
36602	mpn_exp -> mpfr_mpn_exp
36603
366042004-01-15  Vincent Lef��vre  <vincent@vinc17.net>
36605
36606	Removed gammaPiAGMformula.c (old version, no longer used).
36607
366082004-01-14  Vincent Lef��vre  <vincent@vinc17.net>
36609
36610	Changed some error messages into assertions.
36611	Removed some useless #include's.
36612
366132004-01-14  Patrick P��lissier  <patrick.pelissier@gmail.com>
36614
36615	Continue to port tests so that they don't use double.
36616
366172004-01-09  Patrick P��lissier  <patrick.pelissier@gmail.com>
36618
36619	Update the tests to reduce the use of floats.
36620
36621	Remove unused files mpfi.c and mpfi.h
36622
36623	Update test.
36624	Don't use floats anymore.
36625
36626	Add RND_RAND
36627	Add SIGN_RAND
36628
36629	+ Simplify the singular code.
36630	+ Fix potential type errors. (Used mpfr_prec_t instead of mpfr_uexp_t).
36631
366322004-01-08  Patrick P��lissier  <patrick.pelissier@gmail.com>
36633
36634	+ Add a new test file for checking functions mpfr_add/sub/mul/div_q/z (from gmp_op.c).
36635	+ Fix bugs of mpfr_add/sub/mul/div_q/z.
36636
366372004-01-07  Vincent Lef��vre  <vincent@vinc17.net>
36638
36639	-0 -> @minus{}0.
36640
36641	Specifications for mpfr_min and mpfr_max.
36642
36643	Updated MPFR_INTPREC_MAX definition, as mpfr_prec_t has changed.
36644
366452004-01-07  Patrick P��lissier  <patrick.pelissier@gmail.com>
36646
36647	Add a new test between sub1 and sub1sp.
36648
36649	Fix copyright line.
36650
366512004-01-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
36652
36653	fixed wrong sign of inexact flag
36654
366552004-01-07  Vincent Lef��vre  <vincent@vinc17.net>
36656
36657	Added casts to size_t so that integers representing a size get
36658	this type as soon as possible.
36659
366602004-01-07  Patrick P��lissier  <patrick.pelissier@gmail.com>
36661
36662	Use MPFR_ASSERTN(0) instead of abort.
36663
36664	Fix the definition of MPFR_PREC_MAX
36665
366662004-01-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
36667
36668	added new test to check bug repair
36669
36670	fixed bug (wrong inexact flag) for rounding to nearest when sh=0 and
36671	first trailing limbs coincide
36672
366732004-01-07  Patrick P��lissier  <patrick.pelissier@gmail.com>
36674
36675	Fix copyright lines (2004).
36676
36677	Fix bug of sub1sp.c on sparck.
36678	Add new tests for sub1sp.
36679	Reenable sub1sp for mpfr_add / mpfr_sub.
36680
36681	Change output format of mpfr_print_mant_binary.
36682
366832004-01-07  Vincent Lef��vre  <vincent@vinc17.net>
36684
36685	Clarified comment.
36686
366872004-01-06  Vincent Lef��vre  <vincent@vinc17.net>
36688
36689	Updated copyright line.
36690
36691	Added mpfr_version function and test.
36692
36693	The mpfr_print_rnd_mode return type is const char *, not char *.
36694
366952004-01-06  Patrick P��lissier  <patrick.pelissier@gmail.com>
36696
36697	Update the copyright line of the source files to 2004.
36698
36699	Add the tests to check if 0 for signed class with unsigned 0 is set to 0+.
36700
367012004-01-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
36702
36703	specified sign of zero in mpfr_set_*
36704
36705	removed test using denorms
36706
367072003-12-22  Patrick P��lissier  <patrick.pelissier@gmail.com>
36708
36709	Disable sub1sp in add.c and in sub.c since it provides some bugs on spark (Log/acos/asin and atan tests failed but not tsub or tsub1sp).
36710
36711	Change comment.
36712
36713	+ Rearrange the code to be more "compatible" with broken systems.
36714	+ Preprocessing checks are done in init2.c since GMP constants can't be used in preprocessing #if.
36715
36716	Use MPFR_UNSIGNED_MINUS_MODULO when needed.
36717
36718	Explicit support for K&R C since ansi2knr can't be used.
36719
367202003-12-20  Kevin Ryde  <user42@zip.com.au>
36721
36722	(tests_rand_start): Use gmp_randinit_default not the
36723	RANDS macro, to cope with new non-seeding MT setup by RANDS.
36724
367252003-12-19  Patrick P��lissier  <patrick.pelissier@gmail.com>
36726
36727	Support of MPFR_PREC_FORMAT.
36728	Fix a bug in case mp_prec_t = unsigned short.
36729
367302003-12-19  Vincent Lef��vre  <vincent@vinc17.net>
36731
36732	Update due to a change in mpfr.h.
36733
367342003-12-19  Patrick P��lissier  <patrick.pelissier@gmail.com>
36735
36736	+ Modify Version to 2.1.0.
36737	+ Add MPFR_VERSION_MAJOR, MPFR_VERSION_MINOR and MPFR_VERSION_PATCHLEVEL in mpfr.h
36738	+ Add MPFR_VERSION_NUM and MPFR_VERSION to check Mpfr version.
36739
36740	Remove one warning in mpf_compat.h
36741	Create a new macro: MPFR_RET_NEVER_GO_HERE
36742	Modify ui_sub/div to use it to make Insure++ happy.
36743
367442003-12-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
36745
36746	updated mpfr_root entry
36747
367482003-12-19  Vincent Lef��vre  <vincent@vinc17.net>
36749
36750	Added update-version script to update the MPFR version.
36751
367522003-12-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
36753
36754	removed one item, added one
36755
367562003-12-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
36757
36758	removed unused target "tests"
36759
36760	removed AC_DEFINE(hpux) [not used any more]
36761
367622003-12-15  Kevin Ryde  <user42@zip.com.au>
36763
36764	(EXTRA_DIST): Add round_raw_generic.c.
36765
367662003-12-15  Patrick P��lissier  <patrick.pelissier@gmail.com>
36767
36768	+ Optimize a few div.c
36769	+ Remove some warnings in asin.c, atan.c.
36770	+ Include limits.h before gmp-impl.h in mpfr-impl.h
36771	+ mpfr-tests.h doesn't include anumore standard include files.
36772	+ Test files include only standard includes and mpfr-tests.h.
36773	+ Add some forgotten mpfr_clear in mpf[r]_compat.
36774	+ Remove some warnings in the tests.
36775
367762003-12-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
36777
36778	removed unused arguments
36779
36780	removed AC_DEFINE(__STDC__) for OSF
36781
36782	removed MISCFLAGS (not used any more)
36783
367842003-12-14  Kevin Ryde  <user42@zip.com.au>
36785
36786	Quote AC_DEFUN names, for automake 1.8.
36787
367882003-12-10  Patrick P��lissier  <patrick.pelissier@gmail.com>
36789
36790	+ Add a new test in case of underflow.
36791	+ Fix bug in case of underflow for sub1 / sub1sp (mpfr_powerof2 could be called with invalid numbers).
36792
367932003-12-09  Patrick P��lissier  <patrick.pelissier@gmail.com>
36794
36795	+ Fixed bugs of mpfr_print_mant_binary on 64 bits CPU (1L instead of 1).
36796	+ Fixed bugs of mpfr_sub1sp on 64-bits CPU (mp_limb_t instead of int).
36797
36798	+ Add function mpfr_print_mantissa_binary, for debugging reason.
36799	+ Rename MPFR_ALLOC_SIZE in MPFR_MALLOC_SIZE.
36800	+ Add conditionnal -DSMALL directive in mpfr-impl.h.
36801	+ Add new function: sub1sp.
36802	   Subtraction in case of all the ops have the same prec.
36803	+ Add its test (tsub1sp).
36804	+ Modify a few the tests to avoid comparing mpfr results with double, for portability reason.
36805
368062003-12-05  Vincent Lef��vre  <vincent@vinc17.net>
36807
36808	Added mpfr_exp10 function.
36809
368102003-12-01  Patrick P��lissier  <patrick.pelissier@gmail.com>
36811
36812	Port all the IEEE dependent remaining functions so that it uses a generic way to compute the result if it detects that the double is not in IEEE format ( _GMP_IEEE_FLOATS == 0).
36813	MPFR now should work well on non-IEEE machines.
36814
368152003-12-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
36816
36817	added suggestion for 2 new functions
36818
36819	added entry (portability)
36820
368212003-11-25  Patrick P��lissier  <patrick.pelissier@gmail.com>
36822
36823	Optimize a few add1.c/sub1.c by using MPFR_LIKELY / MPFR_UNLIKELY.
36824
368252003-11-21  Patrick P��lissier  <patrick.pelissier@gmail.com>
36826
36827	Remove some warnings and potential errors (Comparison between signed and unsigned).
36828
36829	+ Add new internal function: mpfr_check.
36830	+ Add the corresponding test file.
36831	+ Translate mpfr_set_d to mpfr_set_str / mpfr_set_ui in the tests for portability reasons.
36832
368332003-11-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
36834
36835	use integers instead of double's
36836
368372003-11-21  Vincent Lef��vre  <vincent@vinc17.net>
36838
36839	Notes about not using mpfr_set_d in the tests.
36840
368412003-11-19  Patrick P��lissier  <patrick.pelissier@gmail.com>
36842
36843	 Optimization of mpfr_mul.
36844	 Tiny optimization of mpfr_pow (The case y=0 has been put inside the MPFR_ARE_SINGULAR block).
36845	 Tiny optimisation of mpfr_set_ui.
36846
368472003-11-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
36848
36849	fixed bug in case exact result
36850
36851	added new tests
36852
368532003-11-18  Patrick P��lissier  <patrick.pelissier@gmail.com>
36854
36855	 Optimize round_raw_generic by reducing the number of redundant tests.
36856
368572003-11-17  Patrick P��lissier  <patrick.pelissier@gmail.com>
36858
36859	* Optimize a few div.c and mul.c.
36860	* Reorder the tests.
36861	* Remove mpfr_round_raw_generic and create 4 new functions which replace it, for efficiency reasons.
36862	* Add round_raw_generic.c which is the generic file to create the 4 new functions.
36863	* Add new MACRO: MPFR_RNDUTEST_OR_RNDDNOTTEST which is a faster way to check if (rnd_mode==GMP_RNDU && test) || (rnd_mode==GMP_RNDD && !test).
36864	* Add new MACRO: MPFR_UNSIGNED_MINUS_MODULO.
36865	* Optimize mpfr_can_round_raw.
36866	* Some new defines in mpfr.h to increase compatibility with MPFR v2.0.1 and above.
36867
368682003-11-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
36869
36870	fixed bug in pow_si (exact result, case z = x)
36871
36872	added test to check bug fix (bug was in mpfr_pow)
36873
36874	added new test to check for bug fix (output precision > input precisions)
36875
36876	just improved editing style
36877
36878	fixed bug for output precision > max(input precisions)
36879
368802003-11-14  Vincent Lef��vre  <vincent@vinc17.net>
36881
36882	Ported the gcc-3.3 bug detection patch to the trunk.
36883
368842003-11-07  Patrick P��lissier  <patrick.pelissier@gmail.com>
36885
36886	Fix a stupid bug (diff_exp is not equal to the difference of prec)
36887
368882003-11-07  Vincent Lef��vre  <vincent@vinc17.net>
36889
36890	Initialize the exp field.
36891
368922003-11-07  Patrick P��lissier  <patrick.pelissier@gmail.com>
36893
36894	Some minor optimizations.
36895	Optimization of mul.c / sub1.c.
36896	Some clean up in the header files.
36897
368982003-11-05  Patrick P��lissier  <patrick.pelissier@gmail.com>
36899
36900	Fix some bugs (Use MPFR_ASSERT(1) instead of MPFR_ASSERT(0))
36901	Optimize swap.c and copysign.c.
36902
36903	Optimize mpfr_prec_round.
36904	Optimize mpfr_set (Case of both src & dest have the same precision).
36905	Start optimizing mpfr_sub1.
36906
36907	Add a real function for mpfr_sgn (not a call to mpfr_cmp_ui_2exp).
36908	Add a test for mpfr_sgn.
36909	Change the proto of mpfr_add1 and mpfr_sub1 by removing the last arg.
36910	Simplify the logic of the sign in mpfr_sub1.
36911	Tiny speed up for cmp/set/sqrt.
36912	mpfr-impl auto include all the needed local header files (gmp, gmp-impl, mpfr).
36913
369142003-11-04  Vincent Lef��vre  <vincent@vinc17.net>
36915
36916	Merged the mpfr-2-0-2-branch pow_ui.c changes to the trunk.
36917
36918	The check_inf test wasn't called. Added 2 missing mpfr_clear and \n.
36919
369202003-11-04  Patrick P��lissier  <patrick.pelissier@gmail.com>
36921
36922	+ Remove MPFR_CLEAR_NAN and MPFR_CLEAR_INF. Only use MPFR_CLEAR_FLAGS.
36923	  MPFR_SET_INF, MPFR_SET_ZERO and MPFR_SET_ZERO must clear the flags before setting them.
36924	+ Add a new test in tacosh.c : check Inf / Nan flags.
36925	+ Use MPFR_IS_SINGULAR in all the remaining files.
36926	+ Fix the use of MPFR_CLEAR_FLAGS.
36927	+ mpfr-impl.h auto include gmp.h, gmp-impl.h, mpfr.h and limits.h.
36928	+ Rename _PROTO to _MPFR_PROTO, and remove _GMP_PROTO.
36929	+ Add MPFR_INT_SIGN macro.
36930	+ Encapsulate a few more the sign.
36931
369322003-10-30  Vincent Lef��vre  <vincent@vinc17.net>
36933
36934	MPFR_RET_NAN -> MPFR_RET(0).
36935
369362003-10-28  Patrick P��lissier  <patrick.pelissier@gmail.com>
36937
36938	Use of MPFR_UNLIKELY and MPFR_IS_SINGULAR for fast detection of special values (Nan, Inf or Zero).
36939	Start to encapsulate the sign to be independent of the representation (Must be 1 or -1).
36940
369412003-10-27  Patrick P��lissier  <patrick.pelissier@gmail.com>
36942
36943	Change the internal format of MPFR: ZERO, INF and NAN have special values of exp.
36944	Rename MPFR_ESIZE in MPFR_LIMB_SIZE.
36945	Rename MPFR_ABSZISE in MPFR_ALLOC_SIZE.
36946	Rename MPFR_INIT in MPFR_TMP_INIT (INIT1 too).
36947	"mpfr.h" includes <gmp.h> if GMP isn't detected.
36948	Change the way of detecting stdio.h (To check).
36949	Use mpfr namespace for new definitions in "mpfr.h".
36950
369512003-10-27  Vincent Lef��vre  <vincent@vinc17.net>
36952
36953	Another fix, for acosh(-INF).
36954
36955	Fixed exit status.
36956
369572003-10-21  Vincent Lef��vre  <vincent@vinc17.net>
36958
36959	Merged the mpfr-2-0-2-branch changes to the trunk.
36960
369612003-10-20  Vincent Lef��vre  <vincent@vinc17.net>
36962
36963	Merged the mpfr-2-0-2-branch changes to the trunk.
36964
369652003-10-17  Vincent Lef��vre  <vincent@vinc17.net>
36966
36967	Merged the mpfr-2-0-2-branch changes to the trunk.
36968
369692003-10-16  Vincent Lef��vre  <vincent@vinc17.net>
36970
36971	Update.
36972
36973	Updated version on trunk.
36974
36975	Update.
36976
36977	Fixed several bugs.
36978
36979	Added XDEBUG support (like in set_d.c).
36980
369812003-10-15  Vincent Lef��vre  <vincent@vinc17.net>
36982
36983	Replaced all non-ASCII characters by an equivalent 7-bit sequence
36984	to support unpatched texinfo.tex files.
36985
369862003-10-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
36987
36988	removed #define DEBUG (turned on accidentally)
36989
369902003-10-15  Vincent Lef��vre  <vincent@vinc17.net>
36991
36992	Bug on the ternary value was fixed by Paul Zimmermann on 2003-10-14.
36993
369942003-10-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
36995
36996	added preamble about ternary flag for special functions
36997
36998	now uses #include "tgeneric.c" everywhere
36999	(and modified test_generic to check also the inexact flag)
37000
37001	check_nan() is back
37002
37003	removed old unused code
37004
37005	fixed tests for x=0
37006	removed composition tests (were already in-between #if 0 ... #endif)
37007
37008	replaced mpfr_can_round (approx, err, rnd1, GMP_RNDN, prec)
37009	by       mpfr_can_round (approx, err, rnd1, GMP_RNDZ, prec + 1)
37010	which in addition guarantees a correct inexact flag
37011
37012	added new items (version number, rounding modes)
37013
37014	added comment about --enable-alloca=debug
37015
370162003-10-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
37017
37018	added section "Problems due to compiler bugs"
37019
37020	change in can_round calls to get correct inexact flag for rounding to nearest
37021
370222003-10-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
37023
37024	fixed bug in mpfr_pow found by Ming J. Tsai (overflow)
37025
370262003-10-08  Vincent Lef��vre  <vincent@vinc17.net>
37027
37028	Removed useless inclusion of standard headers and some #ifdef DEBUG
37029	code. Partial reindentation.
37030
37031	Added a #include <stddef.h> because size_t is used.
37032
370332003-10-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
37034
37035	reduced test time
37036
37037	reduced test time
37038
37039	reduced test time
37040
370412003-10-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
37042
37043	fixed comment of mpfr_round_raw_generic
37044
37045	replaced ABSSIZE by ESIZE (ABSSIZE is the allocated size, and should be
37046	used only in functions init, set_prec, round_prec)
37047
37048	fixed bug in allocation for in-place operation
37049
37050	inexact flag should now be correct for directed rounding
37051	fixed a bug for mpfr_atan(-Inf) [gave +Pi/2 instead of -Pi/2]
37052
37053	added test for atan(-Inf)
37054
37055	use macros to avoid possible problem with float input
37056
37057	new proposal for mpfr_can_round
37058
37059	mpfr_mul_2exp/mpfr_div_2exp are not obsolete
37060
370612003-10-05  Vincent Lef��vre  <vincent@vinc17.net>
37062
37063	Clearer mpfr_eq documentation (thanks to Kevin Ryde for the remark).
37064
370652003-10-03  Vincent Lef��vre  <vincent@vinc17.net>
37066
37067	MPFR_ASSERTN rewritten to avoid "statement with no effect" warnings
37068	with gcc when the assertion is always true.
37069
37070	Optimization (thanks to Patrick Pelissier), as the allocated size
37071	may be larger than the size used by the significant bits.
37072
37073	Updated installation notes.
37074
37075	Infinities are now accepted in mpfr_cmpabs. Updated its definition
37076	in the source (no longer sign(abs(b) - abs(c))).
37077
370782003-10-02  Vincent Lef��vre  <vincent@vinc17.net>
37079
37080	Use @url{} for URLs.
37081
37082	As suggested by PZ:
37083	  o documentation of mpfr_fits_* functions moved to the section
37084	    on conversions;
37085	  o grouped some mpfr_pow special cases;
37086	  o explanation concerning the meaning of rnd in mpfr_frac.
37087
37088	Updated documentation. In particular, mpfr_set_str_raw renamed
37089	as mpfr_set_str_binary. This function and mpfr_print_binary are
37090	now internal functions. mpfr_print_binary no longer prints the
37091	non-significant 0 bits. Updated the source to match the manual.
37092	mpfr_print_binary has been completely rewritten (now directly
37093	prints to stdout, without using an intermediate string). In
37094	mpfr_set_str_binary, replaced atol by strtol + error checking.
37095
370962003-10-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
37097
37098	added paragraph on support/grants
37099	added help for mpfr_erf
37100
371012003-10-02  Vincent Lef��vre  <vincent@vinc17.net>
37102
37103	Make node titles match section titles, and updated menus and xrefs.
37104	Added a line break after @samp{uninstall}.
37105
371062003-10-01  Vincent Lef��vre  <vincent@vinc17.net>
37107
37108	Corrections in the MPFR manual (PZ & VL). Functions mpfr_const_pi,
37109	mpfr_const_log2 and mpfr_zeta now return a ternary value. Updated
37110	TODO file.
37111
371122003-09-30  Vincent Lef��vre  <vincent@vinc17.net>
37113
37114	Added a bug related to the ternary value and worst cases.
37115
37116	Added exponent range support.
37117
37118	Corrections up to Section 5.6 (PZ & VL).
37119
37120	Re-added the assert on the exponent, but replacing MPFR_EMIN_MIN by
37121	MP_EXP_T_MIN (this makes more sense): an assertion failed would mean
37122	that the exponent is not representable (an undefined behavior in the
37123	ISO C standard). If need be, we could choose to return MP_EXP_T_MIN
37124	in such a case, or perhaps MP_EXP_T_MAX to signal an error. The
37125	mantissa would still be meaningful.
37126
371272003-09-30  Patrick P��lissier  <patrick.pelissier@gmail.com>
37128
37129	Update TODO & mpfr_set_prec.
37130
371312003-09-29  Vincent Lef��vre  <vincent@vinc17.net>
37132
37133	Corrections up to Section 4.
37134
37135	Added authors Kevin Ryde and Patrick Pelissier.
37136
37137	Removed "known problems" that are no longer problems.
37138
371392003-09-26  Vincent Lef��vre  <vincent@vinc17.net>
37140
37141	Removed bugs related to the tests and to the exponents
37142	as they no longer occur. Updated some potentials bugs.
37143
371442003-09-25  Vincent Lef��vre  <vincent@vinc17.net>
37145
37146	Removed mpfr_inits, mpfr_inits2, mpfr_clears from the documentation.
37147	Moved their prototypes to mpfr-impl.h (internal functions until
37148	decided otherwise).
37149
371502003-09-25  Patrick P��lissier  <patrick.pelissier@gmail.com>
37151
37152	Modify 'r' arg of GENERIC from int to long (min 32 bits).
37153
371542003-09-25  Vincent Lef��vre  <vincent@vinc17.net>
37155
37156	8-bit ISO-8859-1 characters + consistent spelling.
37157
37158	Update.
37159
37160	Changed the remaining stderr to stdout.
37161
371622003-09-24  Vincent Lef��vre  <vincent@vinc17.net>
37163
37164	Changed some stderr to stdout.
37165
37166	Added documentation for mpfr_greater_p, mpfr_greaterequal_p,
37167	mpfr_less_p, mpfr_lessequal_p, mpfr_lessgreater_p, mpfr_equal_p
37168	and mpfr_unordered_p.
37169
37170	Added tests for mpfr_greater_p, mpfr_greaterequal_p, mpfr_less_p,
37171	mpfr_lessequal_p, mpfr_lessgreater_p, mpfr_equal_p, mpfr_unordered_p.
37172
37173	Added a few more tests (involving mpfr_nexttoward). The tests for
37174	the mpfr_nextabove, mpfr_nextbelow and mpfr_nexttoward functions
37175	should now be sufficient.
37176
37177	Added generic tests for mpfr_nextabove and mpfr_nextbelow.
37178	Fixed a bug in next.c related to assertion checks.
37179
37180	Accept (case-insensitive) NaN and Inf in input for bases <= 16 for
37181	backward compatibility in these bases (for bases > 16, we cannot
37182	guaranty backward compatibility with the current wanted behavior).
37183	Added tests.
37184
371852003-09-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
37186
37187	added one item from Kevin
37188
371892003-09-24  Vincent Lef��vre  <vincent@vinc17.net>
37190
37191	Added support for some top-bit-set characters in the .texi source.
37192
37193	Added information on special values for mpfr_pow.
37194
371952003-09-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
37196
37197	added MAKEINFOFLAGS = --enable-encoding to get 8-bit characters in mpfr.info
37198
37199	used ISO-8859-1 in AUTHORS
37200	and @`e, @"o in mpfr.texi (waiting for code for ISO-8859-1 compatibility)
37201
372022003-09-24  Kevin Ryde  <user42@zip.com.au>
37203
37204	(MPFR_C_LONG_DOUBLE_FORMAT): Remove conftest* temporary
37205	files.
37206
372072003-09-24  Vincent Lef��vre  <vincent@vinc17.net>
37208
37209	Fixed comparisons (cases @NaN@ and @Inf@).
37210
372112003-09-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
37212
37213	two updates
37214
372152003-09-22  Vincent Lef��vre  <vincent@vinc17.net>
37216
37217	Updated mpfr_pow description.
37218
372192003-09-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
37220
37221	changed __gmp_const into const in *.c
37222	[Torbjo"rn: Please use __gmp_const just in user header files, plain C const in other files.]
37223
372242003-09-22  Vincent Lef��vre  <vincent@vinc17.net>
37225
37226	Removed
37227
37228	- allow the ISO C "P" exponent separator for base 16 in input functions
37229
37230	(already done).
37231
372322003-09-22  Vincent Lef��vre  <vincent@vinc17.net>
37233
37234	Implemented the following:
37235	- use (LDBL_MAX/2)+(LDBL_MAX/4*LDBL_EPSILON) instead of loop in tset_ld
37236	       to get largest power of 2 that fits in a long double
37237
37238	Added some MPFR_ASSERTN and improved a comment.
37239
37240	Avoid string literals longer than 509 characters (ISO C89 limit).
37241
37242	(test_set_underflow, test_set_overflow): Cleaner fix (for pre-C99
37243	compilers).
37244
372452003-09-22  Kevin Ryde  <user42@zip.com.au>
37246
37247	(test_set_underflow, test_set_overflow): Use
37248	"static" on "r" to allow non-constant initializers.
37249
372502003-09-21  Kevin Ryde  <user42@zip.com.au>
37251
37252	(Converting Floats): In mpfr_get_d_2exp, the rounding mode
37253	is given, it doesn't use the default mode.
37254
37255	(Assigning Floats): In mpfr_set_str and mpfr_set_str_raw,
37256	show "const" not "__gmp_const".
37257	(Simultaneous Float Init & Assign): In mpfr_init_set_str, ditto.
37258
37259	(Rounding Modes): Add blank line around @itemize.
37260
37261	(Miscellaneous Float Functions): In mpfr_urandomb and
37262	mpfr_random, use @math and @le.
37263
372642003-09-20  Kevin Ryde  <user42@zip.com.au>
37265
37266	(Assigning Floats): In mpfr_set_*, remove remarks about
37267	long being rounded (this should be clear already), about rounding of
37268	decimal double constants like 0.1 (too basic to appear here),
37269	(Converting Floats): In mpfr_get_d_2exp, remove remark about exp
37270	exceeding IEEE exponent range (should be clear already).
37271
372722003-09-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
37273
37274	updated items: removed conversion from/to float (obsolete)
37275
37276	got rid of <math.h> dependency in mpfr_zeta
37277
37278	mpfr_round_prec is now obsolete
37279	new function mpfr_prec_round replaces it
37280
372812003-09-18  Vincent Lef��vre  <vincent@vinc17.net>
37282
37283	Fix for C implementations with 16-bit int.
37284
372852003-09-18  Patrick P��lissier  <patrick.pelissier@gmail.com>
37286
37287	 Optimization of macros MPFR_IS_INF, MPFR_IS_NAN and MPFR_IS_FP
37288
372892003-09-18  Vincent Lef��vre  <vincent@vinc17.net>
37290
37291	Removed a comment that should have been removed in revision 1.8.
37292
372932003-09-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
37294
37295	No longer perform the pre-check for exactness when first division step was
37296	actually a complete division. This introduced way too much overhead.
37297
37298	replaced test stream==0 by stream==NULL
37299
373002003-09-15  Vincent Lef��vre  <vincent@vinc17.net>
37301
37302	Fixed a bug in mpfr_can_round_raw and added other mpfr_can_round
37303	tests.
37304
37305	Added a test to tests/tcan_round.c and assertions to round_prec.c.
37306
373072003-09-14  Vincent Lef��vre  <vincent@vinc17.net>
37308
37309	Fixed mpfr_set_overflow, added tests for mpfr_set_underflow
37310	and mpfr_set_overflow, and reverted exp.c.
37311
373122003-09-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
37313
37314	overflow with round to zero was incorrect
37315
373162003-09-11  Vincent Lef��vre  <vincent@vinc17.net>
37317
37318	New functions mpfr_inits, mpfr_inits2 and mpfr_clears to initialize or
37319	free several floating-point numbers (written by Patrick P��lissier).
37320
373212003-09-09  Vincent Lef��vre  <vincent@vinc17.net>
37322
37323	Replaced malloc/free by __gmp_allocate_func/__gmp_free_func in
37324	mpfr_zeta_pos. zeta.c still uses math (libm) functions -> TODO:
37325	remove this dependence.
37326
37327	Added a test that makes MPFR crash (coming from the mpfr_zeta crash).
37328
37329	Case that crashes MPFR (coming from test_generic) -> function test1.
37330
37331	Ended up by simplifying mpfr_ui_pow to fix it completely (with a
37332	call to mpfr_pow, in a way similar to other ui functions). There
37333	isn't significant differences with the old code anyway, and the
37334	case integer^integer wasn't optimized like in mpfr_pow.
37335	The test tui_pow now passes, but the test tzeta now fails!
37336
37337	Code clean-up and reindented. Replaced a 8 by CHAR_BIT,
37338	as CHAR_BIT isn't necessarily equal to 8. The bug seems
37339	to occur on all machines.
37340
373412003-09-08  Vincent Lef��vre  <vincent@vinc17.net>
37342
37343	Added a test to reproduce a bug (to be fixed later) on all 64-bit
37344	machines.
37345
37346	Added a cast (useful under Linux/alpha).
37347
373482003-09-01  Vincent Lef��vre  <vincent@vinc17.net>
37349
37350	Changes (Patrick Pelissier's suggestions):
37351	  _ mpfr_print_rnd_mode now has __gmp_const char * return type;
37352	  _ some corrections in mpfr.texi, documentencoding set.
37353
373542003-08-30  Kevin Ryde  <user42@zip.com.au>
37355
37356	#Corrections to initial checkin.
37357
37358	(EXTRA_libfrtests_a_SOURCES): Add amd64.asm.
37359
37360	New file.
37361
37362	Correction to:
37363	(MPFR_CONFIGS): Add amd64-*-* to x86 test objects.
37364
37365	(tests_machine_prec_long_double): Add amd64 to the
37366	comments.
37367
37368	(MPFR_CONFIGS): Add amd64-*-* to x86 test objects.
37369
37370	(check_set_get): Improve error messages.
37371
37372	(ld_trace): New function.
37373
37374	(ldbl_max_struct): Use octal character constants, since hex
37375	is an ANSI-ism.
37376
373772003-08-07  Vincent Lef��vre  <vincent@vinc17.net>
37378
37379	Avoid a potential overflow.
37380
373812003-08-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
37382
37383	fixed pb found by Damien Fisher
37384
373852003-07-24  Vincent Lef��vre  <vincent@vinc17.net>
37386
37387	If the exponent of the number is meaningless (src = NaN, inf or 0),
37388	0 is stored in expptr (behavior similar to the ISO C frexp function).
37389
373902003-07-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
37391
37392	added one item
37393
373942003-07-19  Kevin Ryde  <user42@zip.com.au>
37395
37396	(check_PROGRAMS): Add tget_d_2exp.c.
37397
37398	New file, partly derived from tget_d.c.
37399
37400	(mpfr_get_d_2exp): Ensure 0.5 <= abs(ret) < 1.0 is respected
37401	when rounding away from zero.
37402
37403	(d_trace): New function.
37404
37405	(Converting Floats): mpfr_get_d_2exp stores to a long.
37406
37407	(mpfr_get_d_2exp): Store exp in a long, same as
37408	mpz_get_d_2exp and mpf_get_d_2exp.
37409
374102003-07-15  Vincent Lef��vre  <vincent@vinc17.net>
37411
37412	Updated comment.
37413
374142003-07-08  Vincent Lef��vre  <vincent@vinc17.net>
37415
37416	Correction in a comment (patch by Torbjorn).
37417
374182003-07-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
37419
37420	can_round returns 0 for NaN/Inf
37421
37422	fixed Uninitialized memory read in mpfr_can_round
37423	(when b is NaN or Inf)
37424
374252003-06-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
37426
37427	fixed array bound write (need 6+1 characters in s1 to represent -@inf@ + \0)
37428
374292003-06-28  Kevin Ryde  <user42@zip.com.au>
37430
37431	Add "const" to IEEE byte sequence data.
37432
37433	(tests_rand_end): Remove explicit __gmp_rands
37434	clearing, it's what RANDS_CLEAR does already.
37435
374362003-06-26  Kevin Ryde  <user42@zip.com.au>
37437
37438	# Clarify nan/inf bits under efficiency.
37439	# Add mpfr_get_d3 ieee portability.
37440	# Add mpfr_random not wanted in mpf integration.
37441
374422003-06-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
37443
37444	moved macros for [L]DBL_MANT_DIG in mpfr-impl.h
37445
374462003-06-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
37447
37448	fixed several problems noticed by Kevin
37449
37450	changed test for 2^1024, using LDBL_MAX_EXP
37451
374522003-06-25  Kevin Ryde  <user42@zip.com.au>
37453
37454	# Add efficiency of separate flag bit operations.
37455
374562003-06-24  Kevin Ryde  <user42@zip.com.au>
37457
37458	Remove file, no longer used.
37459
37460	(libmpfr_a_SOURCES): Remove mpfr-math.h.
37461
37462	(MPFR_DBL_INFP, MPFR_DBL_INFM, MPFR_DBL_NAN): Make private
37463	definitions based on IEEE byte sequences, in particular avoid HUGE_VAL
37464	from mpfr-math.h since that's not infinity on hppa1.1-hp-hpux10.
37465	Remove includes of mpfr-math.h, math.h and stddef.h.
37466
37467	(check_inf_nan): New test.
37468
37469	(MPFR_C_LONG_DOUBLE_FORMAT): Use octal char constants,
37470	'\xHH' is an ANSI-ism.
37471
374722003-06-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
37473
37474	check 2^1024 only when sizeof(long double) > sizeof(double)
37475
37476	correction to previous patch
37477
37478	correction to previous patch: problem was that x and u can be 0,
37479	then MPFR_PREC() undefined
37480
374812003-06-24  Kevin Ryde  <user42@zip.com.au>
37482
37483	(tests_start_mpfr): Make stdout and stderr unbuffered.
37484
37485	(check_inexact): For pz, use at least MPFR_PREC_MIN
37486	since this is required by mpfr_set_prec.
37487
37488	# Correction to:
37489	# (check_inexact): For pz, use at least MPFR_PREC_MIN
37490	# since this is required by mpfr_set_prec.
37491
37492	(check_inexact): For pz, use at least MPFR_PREC_MIN
37493	since this is required by mpfr_set_prec.
37494
374952003-06-23  Kevin Ryde  <user42@zip.com.au>
37496
37497	Remove mingw portability of random/rand48, no longer used.
37498
37499	Remove __setfpucw, no longer used.
37500	Remove mpfr_integer_p, done.
37501	Remove gmp rand functions in test programs, done.
37502	Remove MPFR_CHECK_RANDOMIZE, done (as GMP_CHECK_RANDOMIZE).
37503
375042003-06-21  Vincent Lef��vre  <vincent@vinc17.net>
37505
37506	mpfr_random is deprecated.
37507
375082003-06-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
37509
37510	changed since mpfr_random now can return 0
37511
375122003-06-20  Vincent Lef��vre  <vincent@vinc17.net>
37513
37514	The distribution should now be uniform (mpfr_random implemented
37515	by calling mpfr_urandomb).
37516
37517	Take the current exponent range into account in mpfr_urandomb
37518	(which now returns an int).
37519
37520	Bug fix.
37521
375222003-06-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
37523
37524	moved _gmp_rands_initialized stuff from tests_end_mpfr() to tests_rand_end()
37525
37526	reduced default number of tests
37527	improved style
37528
37529	reduced default number of tests
37530	improved style
37531
375322003-06-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
37533
37534	fixed bug in mpfr_exp2_aux2 (spe175.testdrive.hp.com)
37535
37536	improved style
37537
37538	added more information in case of failure
37539
37540	removed randseed() stuff [obsolete now we use the GMP mechanism]
37541
37542	added memory test mechanism
37543
37544	added new test from Parks
37545
37546	fixed allocation problem (forgot to clear)
37547
375482003-06-19  Vincent Lef��vre  <vincent@vinc17.net>
37549
37550	Removed drand48/lrand48/srand48 prototypes.
37551
375522003-06-18  Kevin Ryde  <user42@zip.com.au>
37553
37554	Don't use mpz_get_d1, since a 53-bit double is not
37555	enough when long is 64-bits.
37556
37557	Don't use mpz_get_d1, since a 53-bit double is not
37558	enough when long is 64-bits.
37559
375602003-06-13  Kevin Ryde  <user42@zip.com.au>
37561
37562	Use autoconf recommended style for time.h with
37563	sys/time.h.
37564
37565	(MPFR_CONFIGS): Require AC_HEADER_TIME, add
37566	AC_CHECK_HEADERS of sys/time.h.
37567
37568	(MPFR_CONFIGS): Add AC_CHECK_FUNCS of gettimeofday.
37569
375702003-06-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
37571
37572	moved disabled test to "special" code
37573
37574	added reference to Higham
37575
37576	improved error analysis on erf
37577
37578	improved indentation
37579
375802003-06-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
37581
37582	added support for random see
37583	(when env. variable GMP_CHECK_RANDOMIZE set)
37584
375852003-06-12  Vincent Lef��vre  <vincent@vinc17.net>
37586
37587	Replaced misc random functions by GMP ones.
37588
37589	Added function randlimb().
37590
37591	Fixed a few bugs concerning special values, code simplified.
37592
375932003-06-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
37594
37595	added error function
37596
375972003-06-11  Vincent Lef��vre  <vincent@vinc17.net>
37598
37599	Make x positive + some minor changes.
37600
37601	New version written by Torbjorn Granlund.
37602
376032003-06-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
37604
37605	updated formular for erf
37606	added url for Abramowitz & Stegun
37607
376082003-06-10  Vincent Lef��vre  <vincent@vinc17.net>
37609
37610	Added a comment concerning NO_MATH_DEFS.
37611
376122003-06-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
37613
37614	made test faster
37615
37616	reduced test time
37617
37618	reduced time of test
37619
37620	reduced time
37621
376222003-06-09  Kevin Ryde  <user42@zip.com.au>
37623
37624	Patch by Torbjorn: use puts not putchar, to avoid GNUPro compiler bug.
37625
376262003-06-08  Kevin Ryde  <user42@zip.com.au>
37627
37628	Disable "8093416094703476*2^(-1075)" because mips64
37629	SGI cc doesn't seem to like the value (a denorm).
37630
37631	Include <stddef.h> before <math.h>, to avoid problems with
37632	gcc 3.2 on hppa2.0w-hp-hpux11.11.
37633
37634	(random): Remove prototype, since it conflicts with
37635	stdlib.h on osf4.
37636
376372003-05-28  Vincent Lef��vre  <vincent@vinc17.net>
37638
37639	Added prototypes of non-standard functions that weren't always defined.
37640
37641	MPFR_EXP_CHECK is now defined when WANT_ASSERT is defined.
37642
376432003-05-26  Vincent Lef��vre  <vincent@vinc17.net>
37644
37645	The special case s = 1 is taken into account (the previous code
37646	seemed to work, but perhaps not for rigorous reasons).
37647
37648	Added test for case s = 1.
37649
37650	(mpfr_round_prec): Bug fixed (case zero wasn't taken into account)
37651	and 'assertion failed' avoided.
37652
37653	Update related to MPFR_GET_EXP and MPFR_SET_EXP.
37654
37655	MPFR_GET_EXP (r) -> exp.
37656
37657	Function mpfr_swap rewritten using memcpy.
37658
37659	Updates/optimizations related to MPFR_GET_EXP and MPFR_SET_EXP.
37660
37661	Updates/optimizations related to MPFR_GET_EXP and MPFR_SET_EXP.
37662
376632003-05-23  Vincent Lef��vre  <vincent@vinc17.net>
37664
37665	Code clean-up. Assertion failed avoided.
37666
376672003-05-22  Vincent Lef��vre  <vincent@vinc17.net>
37668
37669	Update.
37670
37671	Macros MPFR_EXP_INVALID (invalid exponent value) and MPFR_EXP_CHECK
37672	added. Code update to use MPFR_GET_EXP and MPFR_SET_EXP instead of
37673	MPFR_EXP to allow more bug detection related to special values.
37674	Macros MPFR_SET_NAN, MPFR_SET_INF, MPFR_SET_ZERO and MPFR_INIT set
37675	the exponent of the number to MPFR_EXP_INVALID if MPFR_EXP_CHECK
37676	is defined. Compile with -DMPFR_EXP_CHECK and make check to see
37677	the potential problems; currently, 40 of 76 tests fail.
37678
376792003-05-21  Vincent Lef��vre  <vincent@vinc17.net>
37680
37681	#include "gmp-impl.h" added.
37682
37683	MPFR_ASSERTD: use MPFR_ASSERTN instead of ASSERT_ALWAYS so that
37684	it can be used as an expression.
37685	New macros MPFR_GET_EXP and MPFR_SET_EXP (they should almost
37686	completely replace MPFR_EXP).
37687
376882003-05-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
37689
37690	added test 'special'
37691
37692	fixed bug when n_bits larger than size*BITS_PER_MP_LIMB
37693
376942003-05-18  Vincent Lef��vre  <vincent@vinc17.net>
37695
37696	Bugs fixed (special cases).
37697
376982003-05-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
37699
37700	removed dummy test tdump
37701
37702	compatibility with mpf is done
37703
37704	updated mpfr_cmp_d
37705	added mpfr_cmp_d in mpf2mpfr.h and mpfr.texi
37706
377072003-05-13  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
37708
37709	Added cmp_d.c, tcmp_d.c.
37710
37711	Added cmp_d/tcmp_d.
37712
377132003-04-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
37714
37715	moved test for NaN/Inf
37716
37717	added Riemann Zeta function (contribution from Jean-Luc Re'my)
37718
377192003-04-08  Kevin Ryde  <user42@zip.com.au>
37720
37721	Move macros down below @copying.
37722
37723	Add @: after various abbreviations.
37724
377252003-04-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
37726
37727	fixed pb with count_leading_zeros (n=0)
37728
37729	added test for bug found by Franky Backeljauw
37730
37731	fixed bug found by Franky
37732
377332003-03-28  Vincent Lef��vre  <vincent@vinc17.net>
37734
37735	Added some asserts.
37736
377372003-03-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
37738
37739	fixed pb found by Will Galway <galway@pims.math.ca> (continued)
37740
377412003-03-28  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
37742
37743	Patches from W. Galway.
37744
377452003-03-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
37746
37747	fixed reference to Plouffe/Bailey/Borwein formula
37748
377492003-03-27  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
37750
37751	Credits for the pi formula modified.
37752
377532003-03-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
37754
37755	changed back "unsigned char *" to "char *"
37756
377572003-03-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
37758
37759	char * -> const unsigned char * for mpfr_set_str, mpfr_set_str_raw,
37760	and mpfr_init_set_str
37761
377622003-03-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
37763
37764	removed unused variable
37765
377662003-03-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
37767
37768	fixed documentation bug in mpfr_log2 (exact results)
37769
37770	changed new test in 'check4' style
37771
377722003-03-17  Vincent Lef��vre  <vincent@vinc17.net>
37773
37774	Update concerning underflow problems.
37775
377762003-03-17  Kevin Ryde  <user42@zip.com.au>
37777
37778	(main): Comment out underflows(), until it works.
37779
37780	Comment out an assert tickled for an f with exponent
37781	near MPFR_EMIN_MIN.
37782
377832003-03-16  Kevin Ryde  <user42@zip.com.au>
37784
37785	(LONGDOUBLE_NAN_ACTION): New version for IEEE quad big
37786	endian, fixing HP cc.
37787	(WANT_LONGDOUBLE_VOLATILE): New define for when LONGDOUBLE_VOLATILE is
37788	wanted.
37789	(WANT_GMPFR_LONGDOUBLE_VOLATILE): New define for when
37790	__gmpfr_longdouble_volatile is wanted.
37791
37792	Use WANT_GMPFR_LONGDOUBLE_VOLATILE.
37793
37794	(MPFR_C_LONG_DOUBLE_FORMAT): Add IEEE quad big endian,
37795	check long double exists before testing.
37796
377972003-03-14  Vincent Lef��vre  <vincent@vinc17.net>
37798
37799	Added underflow test showing a bug in mpfr_pow.
37800
378012003-03-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
37802
37803	fixed bug for x=1
37804
378052003-03-14  Vincent Lef��vre  <vincent@vinc17.net>
37806
37807	This wasn't a compiler bug; mpfr_pow is really buggy.
37808	Added some asserts to show that.
37809
37810	The infinite loop concerning 1^0.5 was probably due to a bug in the
37811	compiler [cc (GCC) 3.2.3 20030309 (Debian prerelease)]: adding some
37812	printf's changes the values of the variables and the correct result
37813	is returned.
37814
378152003-03-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
37816
37817	fixed sign problem in particular_cases()
37818
37819	declared mpfr_ui_pow_is_exact as static
37820
37821	gnu-style
37822
378232003-03-13  Vincent Lef��vre  <vincent@vinc17.net>
37824
37825	Removed some useless and inaccurate tests on NaN, infinities, zeros
37826	(as the behavior of mpfr_pow on such particular cases has changed);
37827	similar tests were added to "tests/tpow.c".
37828
37829	Test of mpfr_pow: particular cases. Bugs.
37830
378312003-03-12  Vincent Lef��vre  <vincent@vinc17.net>
37832
37833	Special cases for mpfr_pow().
37834
378352003-03-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
37836
37837	when stream=NULL, use stdout (as indicated in the documentation)
37838
378392003-03-03  Vincent Lef��vre  <vincent@vinc17.net>
37840
37841	mpfr_sin_sign -> static.
37842
37843	Useless declaration removed.
37844
37845	Special cases for mpfr_pow: like Section F.9.4.4 of the
37846	ISO C99 standard.
37847
37848	Prototype fixed.
37849
378502003-02-27  Vincent Lef��vre  <vincent@vinc17.net>
37851
37852	mpfr_set_str now accepts a binary exponent for base 16
37853	(as defined by the ISO C99 standard).
37854
37855	Comment concerning the installation of MPFR: done.
37856
37857	New recommendation to install MPFR.
37858
378592003-02-24  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
37860
37861	Replaced NaN, Inf by @NaN@, @Inf@ [for bases > 24].
37862
378632003-02-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
37864
37865	added one test
37866
378672003-02-21  Vincent Lef��vre  <vincent@vinc17.net>
37868
37869	Fixed cast (though unnecessary).
37870
378712003-02-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
37872
37873	added one test
37874
378752003-02-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
37876
37877	added mpf_compat, mpfr_compat
37878
37879	test files for mpf-mpfr compatibility
37880
37881	added mpfr_init_set_str
37882
37883	added "const" to char* arg. of mpfr_init_set_str
37884
37885	added macros for new mpfr functions
37886	changed some old macros
37887
37888	mpfr_isinteger -> mpfr_integer_p
37889
37890	document new functions (fits_*, get_ui, get_si, get_d_2exp)
37891	added integer_p that was not documented
37892
37893	mpfr_isinteger -> mpfr_integer_p
37894	new functions: mpfr_fits_*, mpfr_get_ui, mpfr_get_si, mpfr_get_d_2exp
37895
37896	added mpfr_get_d_2exp
37897
37898	new functions mpfr_fits_* and mpfr_get_ui/si
37899
37900	new functions mpfr_fits_* and mpfr_get_[us]i
37901
379022003-01-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
37903
37904	check for +/-0.0 after variable set to NaN
37905
379062003-01-25  Vincent Lef��vre  <vincent@vinc17.net>
37907
37908	Suppressed the underscores of AC_CHECK_LIBM in comments, otherwise
37909	aclocal 1.4-p6 includes libtool code in aclocal.m4 and this leads
37910	to compilation problems.
37911
379122003-01-25  Kevin Ryde  <user42@zip.com.au>
37913
37914	(_MPFR_H_HAVE_FILE): Copy FILE define tests from gmp.h, adds
37915	Borland, Microsoft and Apple MPW.
37916
37917	(libmpfr_a_SOURCES): Add volatile.c.
37918
37919	New file.
37920
37921	(Isnan_ld): New function based on LONGDOUBLE_NAN_ACTION, use it
37922	instead of LONGDOUBLE_ISNAN.
37923
37924	(LONGDOUBLE_ISNAN): Remove.
37925
37926	(LONGDOUBLE_ISNAN): Remove this, use LONGDOUBLE_NAN_ACTION instead.
37927
37928	(LONGDOUBLE_NAN_ACTION): New macro.
37929
379302003-01-24  Kevin Ryde  <user42@zip.com.au>
37931
37932	Allow "e" exponent in base<=10 not <10.  Restrict "E"
37933	exponent to base<=10 too, since digits are not case sensitive.
37934
379352003-01-24  Vincent Lef��vre  <vincent@vinc17.net>
37936
37937	Prototypes: use static. Some code reformatting.
37938
37939	The sign wasn't set when the result was zero.
37940
379412003-01-24  Kevin Ryde  <user42@zip.com.au>
37942
37943	Reject "", "+" and "-", also fixing an attempt to allocate a 0 length
37944	block in these cases.
37945
37946	Clear NAN and INF flags when setting result to zero.
37947
379482003-01-24  Vincent Lef��vre  <vincent@vinc17.net>
37949
37950	Fixed prototypes (use static...).
37951
37952	Missing #include.
37953
379542003-01-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
37955
37956	workaround for gcc bug on m68040-unknown-netbsd1.4.1
37957
37958	added cast to double
37959
379602003-01-23  Kevin Ryde  <user42@zip.com.au>
37961
37962	Use mpfr_set_nan and mpfr_set_inf for NaN and Inf tests,
37963	not "double" nans and infs.
37964
379652003-01-22  Kevin Ryde  <user42@zip.com.au>
37966
37967	Use mpfr_set_nan and mpfr_set_inf for NaN and Inf tests,
37968	not "double" nans and infs.
37969
37970	Use mpfr_set_nan and mpfr_set_inf for NaN and Inf tests,
37971	not "double" nans and infs.
37972
37973	Use tests_start_mpfr / tests_end_mpfr.
37974
37975	Use tests_start_mpfr / tests_end_mpfr.
37976
37977	Use tests_start_mpfr / tests_end_mpfr.
37978	(check_large): Use __gmp_free_func to free mpfr_get_str result.
37979
37980	Use mpfr_set_nan and mpfr_set_inf for NaN and Inf tests,
37981	not "double" nans and infs.  Use tests_start_mpfr / tests_end_mpfr.
37982
37983	Use mpfr_set_nan and mpfr_set_inf for NaN and Inf tests,
37984	not "double" nans and infs.
37985
37986	Remove tests involving "double" nans and infs, covered by check_nan.
37987
37988	Use mpfr_set_nan and mpfr_set_inf for NaN and Inf tests,
37989	not "double" nans and infs.
37990
379912003-01-18  Kevin Ryde  <user42@zip.com.au>
37992
37993	Move log_b2.h from include_HEADERS to libmpfr_a_SOURCES, it doesn't
37994	want to be installed.
37995
37996	Correction to memory leak fix, need "result" for final rounding.
37997
379982003-01-17  Kevin Ryde  <user42@zip.com.au>
37999
38000	Fix two memory leaks.
38001
38002	(LDADD): Add $(MPFR_LIBM).
38003
38004	Remove -lm setups, now handled by MPFR_CHECK_LIBM.
38005
38006	(MPFR_CHECK_LIBM): New macro.
38007	(MPFR_CONFIGS): Use it.
38008
380092003-01-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
38010
38011	added copyright notices and license statements
38012
38013	now use __gmpfr_floor_log2 instead of floor/log to get rid of math.h
38014
38015	removed unused function dagm(), and get rid of math.h
38016	added tests for NaN, Inf's
38017
380182003-01-17  Vincent Lef��vre  <vincent@vinc17.net>
38019
38020	Re-added $OBJEXT, using AC_REQUIRE([AC_OBJEXT]) for old autoconf.
38021
380222003-01-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
38023
38024	put back math.h
38025
38026	added back math.h (for sqrt)
38027
38028	added log_b2.h in include_HEADERS
38029
38030	added tsin_cos
38031
38032	added #ifdef HAVE_DENORMS for denormalized test
38033
38034	removed math.h
38035
38036	added year 2003 in copyright line
38037	removed math.h
38038
38039	added 2003, removed math.h
38040
38041	added 2003
38042
38043	removed math.h
38044
38045	added year 2003
38046	removed math.h
38047
38048	patch for compiler bug on hppa2.0w-hp-hpux11.11
38049
380502003-01-16  Vincent Lef��vre  <vincent@vinc17.net>
38051
38052	Macro LONGDOUBLE_ISNAN wasn't defined.
38053
380542003-01-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
38055
38056	now always define Isnan
38057
38058	moved LONGDOUBLE_ISNAN to mpfr-test.h
38059
38060	removed check from isnan
38061
38062	replaced isnan() by Isnan()
38063
380642003-01-16  Vincent Lef��vre  <vincent@vinc17.net>
38065
38066	AC_PREREQ(2.50) added (useful when both autoconf 2.13 and autoconf
38067	2.50 are installed, with a wrapper to select the required version).
38068
38069	Comment in mpfr_test_init: s/preprocessor/compiler/.
38070
380712003-01-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
38072
38073	fixed pb in mpfr_test_init with the compiler optimizing too much
38074	(this happened on Alpha with -O1 or higher)
38075
380762003-01-15  Vincent Lef��vre  <vincent@vinc17.net>
38077
38078	Standard prototype only. Particular cases added.
38079
380802003-01-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
38081
38082	moved common prototype for mpn_exp in mpfr-impl.h
38083
38084	removed spurious ; after MPFR_ESIZE
38085	added prototype for mpn_exp
38086
38087	removed items done
38088
38089	new tests from Alain Delplanque
38090
38091	new version using mpn_set_str
38092	[written by Alain Delplanque, edited by Paul Zimmermann]
38093
380942003-01-15  Vincent Lef��vre  <vincent@vinc17.net>
38095
38096	Replace $OBJEXT by o (as $OBJEXT isn't defined everywhere).
38097
38098	A ` must be quoted to avoid an error with Autoconf 2.13.
38099
38100	Use type mp_prec_t for precisions.
38101
38102	Source re-indented.
38103
38104	Several bugs fixed concerning the particular cases.
38105	<stdio.h> and <stdlib.h> not included by default.
38106	int mpfr_gamma _PROTO ... removed (was useless).
38107
381082003-01-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
38109
38110	get rid of ceil() call, that requires -lm
38111
381122003-01-14  Kevin Ryde  <user42@zip.com.au>
38113
38114	Force LDBL_MANT_DIG on IEEE extended, to avoid problems with
38115	some i386 gcc.
38116
38117	Avoid problems with bad LDBL_MAX and LDBL_MANT_DIG on some i386 gcc.
38118
38119	(MPFR_C_LONG_DOUBLE_FORMAT): New macro.
38120	(MPFR_CONFIGS): Use it.
38121
381222003-01-11  Vincent Lef��vre  <vincent@vinc17.net>
38123
38124	Required casts added (and switch from uint to ulong);
38125	in particular, useful on Alpha.
38126
381272003-01-10  Kevin Ryde  <user42@zip.com.au>
38128
38129	# Add a copyright year.
38130
38131	Tolerate empty argv[1], which can arise from ancient bash executing
38132	the libtool shared library wrapper script.
38133
38134	Tolerate empty argv[1], which can arise from ancient bash executing
38135	the libtool shared library wrapper script.
38136
38137	Avoid unnecessary extra power of 2 squaring, so as not to provoke an
38138	overflow exception when result is in range.
38139
381402003-01-10  Vincent Lef��vre  <vincent@vinc17.net>
38141
38142	Extended precision detection fixed.
38143
381442003-01-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
38145
38146	fixed possible overflow when EXP=1024
38147
38148	rewritten to avoid overflows
38149
38150	added one test
38151
381522003-01-08  Kevin Ryde  <user42@zip.com.au>
38153
38154	# Add a copyright year.
38155
38156	#Add a copyright year.
38157
38158	(mpn_exp): Don't store -1 in a uint then return it as a long.
38159	Fixes systems such as alpha where sizeof(uint)!=sizeof(long).
38160
38161	(AC_CHECK_HEADERS): Remove fpu_control.h, no longer required.
38162
38163	Use tests_machine_prec_long_double.
38164	Use LDBL_MAX for largest value and to find largest power of 2.
38165
38166	(__setfpucw, _FPU_EXTENDED, etc): Remove these setups.
38167	(tests_machine_prec_double, tests_machine_prec_long_double,
38168	x86_fstcw, x86_fldcw): Add prototypes.
38169
38170	(tests_machine_prec_double, tests_machine_prec_long_double): New functions.
38171	(mpfr_test_init): Replace __setfpucw with tests_machine_prec_double.
38172
38173	(MPFR_CONFIGS): Add tests/x86.asm support.
38174
38175	(X86_PATTERN): New define, supporting acinclude.m4.
38176
38177	Add x86.asm support.
38178
38179	New file.
38180
381812003-01-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
38182
38183	fixed pb for underflow and rounding to nearest
38184
38185	added macro LONGDOUBLE_ISNAN
38186	use LONGDOUBLE_ISNAN in set_ld instead of cast to double and DOUBLE_ISNAN
38187	(did raise exception under freebsd)
38188
381892003-01-07  Vincent Lef��vre  <vincent@vinc17.net>
38190
38191	Added assertions that can be resolved at compile time: the exponents
38192	must be representable in a long int (IMHO, this limitation should be
38193	avoided in a clean way).
38194
381952003-01-06  Kevin Ryde  <user42@zip.com.au>
38196
38197	Remove mpfr_get_ld, done.
38198
38199	Remove mpfr_set_machine_rnd_mode, done.
38200
382012003-01-06  Vincent Lef��vre  <vincent@vinc17.net>
38202
38203	Bug fix: __mpfr_emax -> __gmpfr_emax.
38204
382052003-01-06  Kevin Ryde  <user42@zip.com.au>
38206
38207	Use separate function calls to second strncasecmp and strncmp
38208	for consistency and to avoid gcc warnings.
38209
382102003-01-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
38211
38212	fixed infinite loop for 2^integer
38213
382142003-01-06  Vincent Lef��vre  <vincent@vinc17.net>
38215
38216	Use digit_value_in_base for the part after the '.'.
38217
38218	Static function digit_value_in_base is now compatible with any locale.
38219
382202003-01-03  Kevin Ryde  <user42@zip.com.au>
38221
38222	(<sys/fpu.h>) [__mips]: Move from mpfr-test.h to tests/tests.c,
38223	and conditionalize with HAVE_SYS_FPU_H.
38224
38225	(AC_CHECK_HEADERS): Add sys/fpu.h.
38226
38227	(HAVE_DENORMS) [__mips]: Remove this, let the configure test decide.
38228
38229	Use separate function calls to strncasecmp and strncmp, rather than
38230	?: on function pointers, since the latter demands declarations not
38231	present on SunOS.  Both forms are optimized the same by gcc.
38232
382332003-01-03  Vincent Lef��vre  <vincent@vinc17.net>
38234
38235	Added some potential bugs (mpfr_exp2 is known to have such a bug).
38236
382372003-01-02  Kevin Ryde  <user42@zip.com.au>
38238
38239	Add gmp-impl.h for __gmp_free_func.
38240
382412002-12-16  Vincent Lef��vre  <vincent@vinc17.net>
38242
38243	Suppress some #define and fix symbol names (makes code cleaner):
38244	perl -pi -e 's/__mpfr_flags/__gmpfr_flags/g' **/*.{c,h}
38245	perl -pi -e 's/__mpfr_emin/__gmpfr_emin/g' **/*.{c,h}
38246	perl -pi -e 's/__mpfr_emax/__gmpfr_emax/g' **/*.{c,h}
38247	perl -pi -e 's/__mpfr_default_fp_bit_precision/__gmpfr_default_fp_bit_precision/g' **/*.{c,h}
38248	perl -pi -e 's/__gmp_default_rounding_mode/__gmpfr_default_rounding_mode/g' **/*.{c,h}
38249	perl -pi -e 's/__mpfr_const_log2_prec/__gmpfr_const_log2_prec/g' **/*.{c,h}
38250	perl -pi -e 's/__mpfr_const_pi_prec/__gmpfr_const_pi_prec/g' **/*.{c,h}
38251	perl -pi -e 's/_mpfr_ceil_log2/__gmpfr_ceil_log2/g' **/*.{c,h}
38252	perl -pi -e 's/_mpfr_floor_log2/__gmpfr_floor_log2/g' **/*.{c,h}
38253	perl -pi -e 's/_mpfr_ceil_exp2/__gmpfr_ceil_exp2/g' **/*.{c,h}
38254	perl -pi -e 's/_mpfr_isqrt/__gmpfr_isqrt/g' **/*.{c,h}
38255	perl -pi -e 's/_mpfr_cuberoot/__gmpfr_cuberoot/g' **/*.{c,h}
38256	perl -pi -e 's/^#define __gmpfr_.*\n//' *.h
38257
382582002-12-13  Vincent Lef��vre  <vincent@vinc17.net>
38259
38260	Update.
38261
38262	IEEE 754 / IEEE P754 -> IEEE 754-1985.
38263
38264	Correction.
38265
38266	Added a note about the signed zero.
38267
38268	Assertion re-added.
38269
38270	Update for new version of automake/autoconf.
38271
38272	depcomp script added for new version of automake.
38273
382742002-12-12  Kevin Ryde  <user42@zip.com.au>
38275
38276	Don't -D define PACKAGE_VERSION etc, to avoid conflict with gmp config.h.
38277
382782002-12-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
38279
38280	added paragraph about accuracy
38281
38282	rewritten unclear paragraph about precision
38283
38284	added one item
38285
38286	use MPN_NORMALIZE_NOT_ZERO instead of loop
38287
382882002-12-11  Vincent Lef��vre  <vincent@vinc17.net>
38289
38290	Added #include "mpfr.h" (needed by mpfr-test.h as it uses
38291	mp_rnd_t in one of the prototypes).
38292
382932002-12-10  Vincent Lef��vre  <vincent@vinc17.net>
38294
38295	Patch by Torbjorn Granlund <tege@swox.com>: Don't use TMP_ allocation
38296	mechanism for fixed size objects. Resulting streamlining. Misc
38297	addressing changes to work around GNUPro bugs.
38298	Patch by VL: Some other changes in mpfr_set_d.
38299
383002002-12-07  Vincent Lef��vre  <vincent@vinc17.net>
38301
38302	(mpfr_const_euler_S, mpfr_const_euler_R)
38303	Make declaration match prototype (patch by Torbjorn Granlund).
38304
383052002-12-04  Vincent Lef��vre  <vincent@vinc17.net>
38306
38307	Update from ftp://ftp.gnu.org/pub/gnu/config/
38308
383092002-12-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
38310
38311	Use @ifnottex/@end iffnotex instead of @ifinfo/@end ifinfo
38312
383132002-12-02  Vincent Lef��vre  <vincent@vinc17.net>
38314
38315	Fix rnd_mode.c (again).
38316
383172002-12-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
38318
38319	put redefinitions of external symbols just before prototypes
38320
38321	updated
38322
38323	added new known bugs
38324
383252002-11-29  Kevin Ryde  <user42@zip.com.au>
38326
38327	Add notes on mpf_t maintaining actual size for efficiency.
38328
38329	Remove mpfr_set_machine_rnd_mode task.
38330
38331	Tweak some math formatting for tex.
38332
38333	(mpfr_set_machine_rnd_mode): Move prototype to mpfr-test.h.
38334
38335	(libfrtests_a_SOURCES): Add rnd_mode.c.
38336
38337	(libmpfr_a_SOURCES): Remove rnd_mode.c.
38338
38339	Remove file, moved to tests directory.
38340
38341	New file, moved from top-level directory.
38342
38343	(Rounding Modes): Remove mpfr_set_machine_rnd_mode.
38344
38345	Use GNU style code layout.
38346
38347	Use GNU style code layout.
38348
383492002-11-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
38350
38351	redefined external symbols in the __gmpfr namespace
38352
383532002-11-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
38354
38355	added one fprintf in case of error
38356
383572002-11-25  Vincent Lef��vre  <vincent@vinc17.net>
38358
38359	mpfr_set_machine_rnd_mode fixed to compile on some architectures
38360	(e.g. ARM). Now returns an int.
38361
38362	Bug fixed.
38363
383642002-11-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
38365
38366	removed all tests that compare to libm
38367
38368	changed to distinguish mpfr failures from libm failures
38369
38370	added 3 tests that make libm fail under HP-PA
38371
383722002-11-23  Vincent Lef��vre  <vincent@vinc17.net>
38373
38374	Update.
38375
383762002-11-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
38377
38378	forgot to remove debug statement
38379
38380	fixed bug (infinite loop) for exact powers
38381
383822002-11-21  Kevin Ryde  <user42@zip.com.au>
38383
38384	More on tuned thresholds, more on config.h etc, new section on mpf/mpfr
38385	integration.
38386
383872002-11-20  Vincent Lef��vre  <vincent@vinc17.net>
38388
38389	Code clean-up.
38390
383912002-11-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
38392
38393	fixed some problems found by insure
38394
38395	forgotten fclose() call
38396
38397	fixed array bound write
38398
383992002-11-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
38400
38401	fixed non-ansi features
38402
38403	added explicit cast
38404
384052002-10-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
38406
38407	added mpfr_cbrt
38408
384092002-10-20  Vincent Lef��vre  <vincent@vinc17.net>
38410
38411	Update.
38412
384132002-10-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
38414
38415	fixed bug with wrong sign detection
38416
384172002-10-19  Vincent Lef��vre  <vincent@vinc17.net>
38418
38419	Some fixes to avoid overflows.
38420
384212002-10-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
38422
38423	fixed bug for large arguments
38424
38425	improved code for rounding to nearest
38426
38427	fixed bug for EXP(x) > EMAX/2
38428
38429	modified description of hypot and cbrt
38430
384312002-10-18  Vincent Lef��vre  <vincent@vinc17.net>
38432
38433	Update.
38434
38435	Added test showing bug in sign detection.
38436
38437	Added newline.
38438
38439	Bug in mpfr_hypot.
38440
38441	Added test that makes mpfr_hypot fail.
38442
38443	Precision Nt: int -> mp_prec_t.
38444
38445	Added some tests.
38446
38447	main () -> main (void).
38448
384492002-10-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
38450
38451	added tcbrt.c, test file for mpfr_cbrt
38452
38453	fixed overflow problem
38454
38455	completely rewritten using mpz_root
38456
38457	added cbrt
38458
384592002-10-17  Vincent Lef��vre  <vincent@vinc17.net>
38460
38461	C9X -> ISO/IEC 9899:1999 (ISO C99).
38462
38463	Cases NaN and -0.0 taken into account.
38464
384652002-10-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
38466
38467	added check for +0 and -0
38468
38469	added one test (2^1024)
38470
38471	fixed bug when overflow for double type
38472
38473	added mpfr_set_ld and mpfr_get_ld
38474
384752002-10-16  Vincent Lef��vre  <vincent@vinc17.net>
38476
38477	Fix for -0.0.
38478
384792002-10-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
38480
38481	constants for mpfr_get_str and mpfr_set_str
38482
384832002-10-16  Vincent Lef��vre  <vincent@vinc17.net>
38484
38485	Obsolete comment removed.
38486
38487	Removed log_b2.h as it doesn't seem to be necessary.
38488
384892002-10-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
38490
38491	added prototype for mpfr_get_ld
38492
38493	added mpfr_get_ld and tests for set_ld/get_ld
38494
38495	added cast to long double
38496
384972002-10-16  Vincent Lef��vre  <vincent@vinc17.net>
38498
38499	Update (tset_ld).
38500
38501	Test removed as the minimal precision for a long double is something
38502	like 10 decimal digits. Anyway, there are implementations for which
38503	long double = double = IEEE double precision.
38504
38505	DBL_MANT_DIG and LDBL_MANT_DIG are normally defined by <float.h>.
38506
385072002-10-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
38508
38509	added mpfr_set_ld and test file
38510
385112002-10-13  Vincent Lef��vre  <vincent@vinc17.net>
38512
38513	Bug in mpfr_sin (and perhaps other functions): error analysis.
38514
38515	Bug fixed (found by Dmitrii Baksheyev): atan(1) cannot be exact.
38516
385172002-10-08  Kevin Ryde  <user42@zip.com.au>
38518
38519	Remove mpfr_get_str using mpn_get_str (done).
38520	Remove no grepping for __setfpucw, done (near enough).
38521	New thread-safety section, add const_pi and const_log2 caching.
38522	New portability section, add mingw random and _mpfr_ceil_log2 IEEE-ism.
38523
38524	(AC_MY_LIBS): Show the filename in the error message.
38525
385262002-10-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
38527
38528	mpfr_get_default_prec was missing (thanks to F. Morain)
38529
385302002-09-30  Vincent Lef��vre  <vincent@vinc17.net>
38531
38532	Removed get_str.c bug, as the mpfr_get_str function has
38533	completely been rewritten.
38534
385352002-09-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
38536
38537	fixed wrong inexact flag for a - b where a and b are of different signs
38538	and EXP(a) < EXP(b)
38539
38540	added test for inexact flag (bug found by Andreas Enge)
38541
385422002-09-23  Kevin Ryde  <user42@zip.com.au>
38543
38544	(mpfr_init, mpfr_init2, mpfr_set_prec): Make void return, these always
38545	succeed.
38546
385472002-09-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
38548
38549	fixed various tiny problems
38550
38551	added more tests for mpfr_urandomb, and for small precision
38552
38553	fixed bugs in mpfr_random2 (wrong exponent, invalid numbers)
38554
38555	added checks for mpfr_random2
38556
38557	cmp_abs -> cmpabs (for compatibility with mpz)
38558
385592002-09-21  Kevin Ryde  <user42@zip.com.au>
38560
38561	(Converting Floats): Don't refer to the internal _mp_free_func with
38562	mpfr_get_str.
38563
38564	(Special Functions, Internals): Make these into nodes.
38565
385662002-09-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
38567
38568	now accept uppercase letters too
38569
38570	added test for uppercase letters
38571
385722002-09-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
38573
38574	now mpfr_agm returns an int (inexact flag)
38575
385762002-09-13  Vincent Lef��vre  <vincent@vinc17.net>
38577
38578	Some more information.
38579
385802002-09-12  Vincent Lef��vre  <vincent@vinc17.net>
38581
38582	On HP-UX, use the +allowunsats switch for ld, otherwise ld complains
38583	that some GMP symbols are unsatisfied.
38584
385852002-09-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
38586
38587	fixed bug in reflection formula for x<1
38588
385892002-08-23  Vincent Lef��vre  <vincent@vinc17.net>
38590
38591	MPFR now needs GMP 4.1 or higher.
38592
385932002-08-22  Kevin Ryde  <user42@zip.com.au>
38594
38595	(__mpfr_nan): Clarify comments about HP C and alpha.
38596
38597	(_MPFR_NAN_BYTES, _MPFR_INFP_BYTES, _MPFR_INFM_BYTES):
38598	Use HAVE_DOUBLE_IEEE_LITTLE_ENDIAN etc to select endianness, not a big
38599	block of #ifdefs.
38600
386012002-08-12  Vincent Lef��vre  <vincent@vinc17.net>
38602
38603	strcasecmp.c -> strcasecmp.c & strncasecmp.c
38604
386052002-08-07  Kevin Ryde  <user42@zip.com.au>
38606
38607	Use $(top_builddir) consistently with libmpfr.a, for the benefit of
38608	srcdir!=builddir.
38609
386102002-08-02  Vincent Lef��vre  <vincent@vinc17.net>
38611
38612	Don't touch user specified flags (CFLAGS). [patch by Kevin Ryde]
38613
386142002-07-30  Vincent Lef��vre  <vincent@vinc17.net>
38615
38616	Better check for strcasecmp and strncasecmp. Bug fixed.
38617
386182002-07-28  Vincent Lef��vre  <vincent@vinc17.net>
38619
38620	Functions mpfr_greater_p, mpfr_greaterequal_p, mpfr_less_p,
38621	mpfr_lessequal_p, mpfr_lessgreater_p, mpfr_equal_p, mpfr_unordered_p.
38622
38623	Use AUTOMAKE_OPTIONS = gnu [suggested by Kevin Ryde]
38624
38625	check target -> TESTS = $(check_PROGRAMS) [suggested by Kevin Ryde]
38626
38627	strcasecmp and strncasecmp -> mpfr_strcasecmp and mpfr_strncasecmp
38628	if they are provided by MPFR.
38629
38630	TMP_MARK missing (patch by Kevin Ryde).
38631
386322002-07-26  Vincent Lef��vre  <vincent@vinc17.net>
38633
38634	Update.
38635
38636	Update (mainly concerning CVS use).
38637
38638	Prototype of mpfr_setmax and mpfr_setmin changed (exponent given).
38639	In mpfr_exp for x ~= 0, add_one_ulp and sub_one_ulp are no longer
38640	used (sub_one_ulp was incorrect). These cases should now be faster.
38641	Small fix in mpfr_nextabove, mpfr_nextbelow and mpfr_nexttoward.
38642
38643	New internal functions mpfr_setmin and mpfr_setmax.
38644	New functions mpfr_nextabove, mpfr_nextbelow, mpfr_nexttoward.
38645	Small fix in mpfr_sub_one_ulp.
38646
386472002-07-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
38648
38649	improved the computation of g = ceil((e-1)/log_2(beta)), using two tables
38650
386512002-07-25  Vincent Lef��vre  <vincent@vinc17.net>
38652
38653	Function mpfr_check_range now propagates the inexact ternary value.
38654	Function mpfr_restore_emin_emax OR's the saved flags with the current
38655	flags, as this is more useful in general.
38656	Macro MPFR_RESTORE_RET removed (no longer useful).
38657
386582002-07-24  Vincent Lef��vre  <vincent@vinc17.net>
38659
38660	Change concerning an assertion, due to GMP limitation.
38661
386622002-07-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
38663
38664	gnu indentation
38665
38666	reduce range of tests (did take too much time)
38667
38668	added plenty of new cases, now covers all lines of get_str.c
38669
38670	updated documentation of mpfr_get_str
38671
38672	completely new version, written by Alain Delplanque and Paul Zimmermann.
38673	It now directly uses mpn_get_str, with subquadratic complexity.
38674	About 3 times faster than previous version in most cases.
38675
386762002-07-24  Vincent Lef��vre  <vincent@vinc17.net>
38677
38678	Bug fixed: unsigned int variables changed to int to avoid operations
38679	with mixed signed/unsigned variables and unwanted casts.
38680
38681	Function mpfr_frac and tests added.
38682
38683	Bug fixed (0 was forgotten).
38684
38685	Optimization: mpfr_trunc no longer used!
38686
38687	mpfr_isinteger extended to non-fp numbers and to zero.
38688
38689	Simpler test.
38690
386912002-07-23  Vincent Lef��vre  <vincent@vinc17.net>
38692
38693	Re-adding mul.c with fixed permissions.
38694
38695	Temporarily removing mul.c in order to try to fix its permissions.
38696
38697	Function mpfr_check_range improved in the underflow case.
38698
386992002-07-22  Vincent Lef��vre  <vincent@vinc17.net>
38700
38701	Update.
38702
387032002-07-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
38704
38705	now dump in base 2
38706
38707	forgot one free() call
38708
387092002-07-22  Vincent Lef��vre  <vincent@vinc17.net>
38710
38711	mpfr_pow bug removed.
38712
38713	Reindentation.
38714
38715	pow.c: bug fixed (in the call to mpfr_can_round).
38716	tpow.c: mpfr_clear added.
38717
38718	Modified the two tests to make the bug appear.
38719
387202002-07-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
38721
38722	added two tests
38723
387242002-07-19  Vincent Lef��vre  <vincent@vinc17.net>
38725
38726	Updated note concerning rcs2log.
38727
38728	Line mpfr_get_exp / mpfr_set_exp removed.
38729
387302002-07-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
38731
38732	added function check_large
38733
387342002-07-15  Vincent Lef��vre  <vincent@vinc17.net>
38735
38736	Update from ftp://ftp.gnu.org/pub/gnu/config/
38737
387382002-07-14  Vincent Lef��vre  <vincent@vinc17.net>
38739
38740	Add __sparc__ (patch by Nix <nix@esperi.demon.co.uk>).
38741
38742	Note about randomized tests.
38743
387442002-07-04  Vincent Lef��vre  <vincent@vinc17.net>
38745
38746	Bug concerning the rounding of pow().
38747
38748	mpfr_pow() didn't work when the exponent was a negative integer.
38749
38750	mpfr_get_z_exp() didn't work when the MPFR number was negative.
38751
38752	New functions mpfr_get_exp and mpfr_set_exp.
38753
387542002-06-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
38755
38756	removed duplicated entry (thread-safe)
38757
38758	added new items
38759
38760	added special cases
38761
38762	added one reference (nocite)
38763
38764	added one reference
38765
38766	fixed bug in return value
38767
38768	new additions
38769
38770	added pointer to mpfr_inp_str in mpfr_set_str
38771
387722002-06-26  Vincent Lef��vre  <vincent@vinc17.net>
38773
38774	Update.
38775
38776	MP_LIMB_T_HIGHBIT -> MPFR_LIMB_HIGHBIT.
38777	MPFR is now compatible with GMP 4.1.
38778
387792002-06-15  Vincent Lef��vre  <vincent@vinc17.net>
38780
38781	Added: make MPFR thread-safe.
38782
387832002-06-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
38784
38785	fixed bug found by Gerardo Ballabio
38786
38787	added one test (bug in mpfr-2.0.1 found by Gerardo Ballabio)
38788
387892002-06-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
38790
38791	added mpfr_modf
38792
387932002-06-12  Vincent Lef��vre  <vincent@vinc17.net>
38794
38795	Added modf (to implement).
38796
387972002-06-08  Vincent Lef��vre  <vincent@vinc17.net>
38798
38799	check: Apply a hack to the parameter order to make sparc gcc 2.95.2
38800	happy (patch by Kevin Ryde) + static added.
38801
38802	Patch by Kevin Ryde.
38803
38804	Suppress tests if sqrt is not affected by mpfr_set_machine_rnd_mode
38805	(patch by Kevin Ryde).
38806
38807	Update.
38808
38809	fdl.texi added.
38810
38811	Patch by Kevin Ryde (and Vincent Lefevre).
38812	mpfr.texi: Change license to FDL, use @copying per texinfo 4.2.
38813	Use @dircategory, @direntry, @documentdescription.
38814	Move @contents to start of file.
38815	(VERSION, UPDATED): New variables.
38816	(m, GMPtimes, times): New macros.
38817	(Float Arithmetic): Fix html output.  Reported by Richard Dawe.
38818	(GNU Free Documentation License): New appendix.
38819
388202002-06-06  Vincent Lef��vre  <vincent@vinc17.net>
38821
38822	Use gmp-impl.h to get MPFR_HAVE_FESETROUND (reported by Kevin Ryde).
38823
388242002-06-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
38825
38826	patch for mpfr.texi
38827
38828	patch from Richard Dawe <richdawe@bigfoot.com> to generate HTML
38829
38830	added mpfr_gamma in libmpfr
38831
388322002-06-05  Vincent Lef��vre  <vincent@vinc17.net>
38833
38834	Check for isnan.
38835
388362002-05-29  Vincent Lef��vre  <vincent@vinc17.net>
38837
38838	Bug fixed (possible integer overflow).
38839
38840	Bug fixed (possible integer overflow).
38841
38842	Bug fixed (possible integer overflow).
38843
38844	Note added for mpfr_check_range. Bug fixed.
38845
38846	Sign wasn't set (reported by Dmitrii Baksheyev).
38847	Types fixed and code clean-up.
38848
38849	Types fixed and code clean-up.
38850
388512002-05-27  Vincent Lef��vre  <vincent@vinc17.net>
38852
38853	Patch by Kevin Ryde for memory leak checking + misc declaration fixes.
38854	Code moved from mpfr-test.h to tests.c.
38855
388562002-05-14  Vincent Lef��vre  <vincent@vinc17.net>
38857
38858	Ternary flag for mpfr_agm.
38859
38860	Copyright line updated.
38861
388622002-05-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
38863
38864	ternary flag for mpfr_agm?
38865
38866	update wrt mpfr_set_machine_rnd_mode
38867
38868	added mathematical description of arithmetico-geometric mean
38869
388702002-05-08  Vincent Lef��vre  <vincent@vinc17.net>
38871
38872	The problem on a G4 PowerPC was a bug in gcc; this is now tested
38873	in configure (float-conversion bug) and -ffloat-store is used if
38874	need be.
38875
388762002-05-06  Vincent Lef��vre  <vincent@vinc17.net>
38877
38878	Problem on the G4 PowerPC.
38879
388802002-04-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
38881
38882	fixed problem (infinite loop) in mpfr_pow for exact powers
38883
38884	fixed errors found by Sylvain Pion
38885
388862002-04-27  Vincent Lef��vre  <vincent@vinc17.net>
38887
38888	not relevant -> undefined.
38889
38890	Some changes concerning the internals and zeros
38891	(including remarks by Kevin Ryde).
38892
388932002-04-25  Vincent Lef��vre  <vincent@vinc17.net>
38894
38895	Check if HUGE_VAL is supported.
38896
38897	Changes in mpfr_set_str.
38898
388992002-04-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
38900
38901	update
38902
38903	mpfr_set_str doesn't require any more a final '\0'
38904	             and return the number of characters read
38905
38906	modified tests for special values
38907
389082002-04-24  Vincent Lef��vre  <vincent@vinc17.net>
38909
38910	Description updated.
38911
38912	mpfr_cmp_abs no longer an internal function and described in mpfr.texi.
38913	In mpfr.texi, a @var{} was forgotten.
38914
38915	mpfr_cmp_abs can now be called on zero numbers.
38916
38917	Structures are used to get correct alignment.
38918
389192002-04-23  Vincent Lef��vre  <vincent@vinc17.net>
38920
38921	_MPFR_INF*_BYTES fix. On alpha, use a "double" for the bytes,
38922	to avoid a mis-conversion on alpha gcc 3.0.2. (Kevin Ryde)
38923
38924	Underflow semantics changed (not tested).
38925
38926	Code simplified due to change in the maximum exponent range.
38927
389282002-04-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
38929
38930	modifs from Andreas
38931
389322002-04-22  Vincent Lef��vre  <vincent@vinc17.net>
38933
38934	Union -> array + cast because of the HP compiler.
38935
389362002-04-20  Vincent Lef��vre  <vincent@vinc17.net>
38937
38938	Avoid constant floating expression, as this doesn't give the correct
38939	result with gcc on some Alpha machines. (patch by Paul Zimmermann)
38940
389412002-04-19  Vincent Lef��vre  <vincent@vinc17.net>
38942
38943	RAND_MAX defined if not already defined (as it should be).
38944
38945	Include config.h, for the benefit of test programs not using
38946	gmp-impl.h (Kevin Ryde).
38947
389482002-04-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
38949
38950	added tests in mpfr_test_init for denorms and extended precision
38951
38952	mpfr_init and mpfr_init2 now return an int
38953
389542002-04-19  Vincent Lef��vre  <vincent@vinc17.net>
38955
38956	Exponent range saved/restored. Returns NaN when the numerator
38957	or the denominator is too large for MPFR.
38958
38959	Added some assertions (any unsigned long must be representable
38960	in a mp_limb_t).
38961
38962	SAFE_ABS changed so that it can be used for any unsigned type.
38963
389642002-04-18  Vincent Lef��vre  <vincent@vinc17.net>
38965
38966	Added code to prevent possible integer overflow when the input number
38967	is very large.
38968
38969	New values for exponent range.
38970
389712002-04-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
38972
38973	call get_d with rounding mode in check2, to avoid problems near +Inf
38974
38975	2147483647 -> INT_MAX
38976
38977	improved ulp() to deal with infinities
38978	and fixed tadd/check2 to deal with infinities
38979
389802002-04-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
38981
38982	improved documentation of mpfr_set_precset_prec.
38983
389842002-04-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
38985
38986	fixed documentation of cosh/sinh/tanh
38987
389882002-04-16  Vincent Lef��vre  <vincent@vinc17.net>
38989
38990	mpfr_cmp_ui_2exp and mpfr_cmp_si_2exp rewritten.
38991	Prototype changed.
38992
38993	Use AC_CANONICAL_HOST and $host instead of $OS_TYPE and $MACHTYPE
38994	(patch suggested by Kevin Ryde).
38995
38996	Added files from ftp.gnu.org for automake and AC_CANONICAL_HOST.
38997
389982002-04-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
38999
39000	replaced 2.2e-307 by DBL_MIN
39001
390022002-04-15  Vincent Lef��vre  <vincent@vinc17.net>
39003
39004	Typo: Gnu -> GNU.
39005
39006	Update for future 2.0.2.
39007
39008	Update for mpfr 2.0.1.
39009
39010	Back to version 2.0.1, updated documentation.
39011
39012	Post-release commit.
39013
39014	Update for mpfr 2.0.1.
39015
39016	mpfr_cmp_ui_2exp and mpfr_cmp_si_2exp can no longer be called with a NaN.
39017	Misc bugs fixed.
39018
390192002-04-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
39020
39021	added main changes in version 2.0.1
39022
390232002-04-15  Vincent Lef��vre  <vincent@vinc17.net>
39024
39025	Update for "make dist".
39026
39027	COPYING -> COPYING.LIB and GPL re-added.
39028
39029	Update.
39030
39031	Removed switches -g -O2 as already done by configure.
39032
390332002-04-14  Vincent Lef��vre  <vincent@vinc17.net>
39034
39035	Update.
39036
39037	Removed useless @iftex...
39038
39039	Update.
39040
39041	When q = 0, +0 is returned.
39042
390432002-04-13  Vincent Lef��vre  <vincent@vinc17.net>
39044
39045	Update for the next pre-release.
39046
39047	Support for NaN and Inf (case insensitive) in mpfr_set_str. Tests.
39048
39049	Bug fixed.
39050
39051	Update for the next pre-release.
39052
39053	Misc changes. Use of AC_CACHE_CHECK.
39054
390552002-04-12  Vincent Lef��vre  <vincent@vinc17.net>
39056
39057	Code clean-up.
39058
39059	Update for the next pre-release.
39060
39061	New tests.
39062
39063	mpfr_get_d* fixed.
39064
39065	Types fixed in const_log2.c (this fixes the tconst_log2 crash).
39066
39067	Added a note about the native SunOS 4 C compiler.
39068
390692002-04-11  Vincent Lef��vre  <vincent@vinc17.net>
39070
39071	Type fixed.
39072
39073	mpfr_set_d bug fixed, but other bugs still remain...
39074
39075	NULL was undeclared on some architectures (reported by Torbjorn Granlund).
39076
39077	#include ordering changed for Windows + Cygwin 32.
39078
39079	LDFLAGS changed on HP-UX.
39080
39081	Update for the next pre-release.
39082
39083	Subnormal test in different rounding modes + fix.
39084
39085	Function MPFR_CONFIGS.
39086
39087	Tests added.
39088
39089	get_d.c partly rewritten (Paul Zimmermann).
39090
39091	#include ordering fixed.
39092
39093	Check for gcc float-conversion bug.
39094
390952002-04-10  Vincent Lef��vre  <vincent@vinc17.net>
39096
39097	Added comment for mpfr_round_raw_generic (about using 1-bit precision).
39098
39099	Update (thanks to Nathalie Revol).
39100
39101	Update for the next pre-release.
39102
39103	HAVE_FESETROUND renamed to MPFR_HAVE_FESETROUND to avoid possible
39104	name conflict.
39105
39106	Added missing headers in libmpfr_a_SOURCES.
39107
391082002-04-09  Vincent Lef��vre  <vincent@vinc17.net>
39109
39110	Update for the next pre-release.
39111
39112	Possible tconst_log2 crash under Solaris.
39113
39114	Under OSF, use option -ffloat-store only when the compiler is gcc.
39115
39116	include_HEADERS should contain only mpfr.h and mpf2mpfr.h.
39117
39118	Added code to support fesetround under Solaris.
39119
39120	"In case of problem" update.
39121
39122	Old URL removed.
39123
39124	Renaming: DIR -> GMPINSTALL, GMPDIR -> GMPBUILD. Bug on IRIX updated.
39125
39126	Removed note about stack-alloc.h.
39127
39128	Check for fenv.h -> check for fesetround.
39129
39130	Added note concerning patch submission.
39131
391322002-04-08  Vincent Lef��vre  <vincent@vinc17.net>
39133
39134	Note about overflows. Functions mpfr_{div,mul}_{si,ui} described.
39135
391362002-04-07  Vincent Lef��vre  <vincent@vinc17.net>
39137
39138	Update for the next (and last?) pre-release.
39139
39140	Stricter test for HAVE_INFS.
39141
39142	Update.
39143
39144	Added note about IRIX.
39145
39146	Update for the next pre-release.
39147
39148	mpfr_get_d -> mpfr_get_d1 and mpfr_get_d2 -> mpfr_get_d.
39149
391502002-04-06  Vincent Lef��vre  <vincent@vinc17.net>
39151
39152	Update for the next pre-release.
39153
39154	Update.
39155
391562002-04-05  Vincent Lef��vre  <vincent@vinc17.net>
39157
39158	New file from Paul.
39159
39160	COPYING.LIB removed.
39161
39162	COPYING.LIB -> COPYING.
39163
39164	README.dev added.
39165
391662002-04-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
39167
39168	put back label removed by error
39169
39170	removed _FPU_RC_NEAREST ... for x86 (not used any more, now use fenv.h)
39171
39172	removed nested TMP_MARK's (problems when configuring gmp with --disable-alloca)
39173
39174	fixed pb with two markers (with --disable-alloca)
39175
391762002-04-05  Vincent Lef��vre  <vincent@vinc17.net>
39177
39178	Removed (not used).
39179
391802002-04-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
39181
39182	use AC_CHECK_HEADERS to check for fenv.h
39183	and AC_CHECK_FUNCS to check for lrand48
39184
391852002-04-04  Vincent Lef��vre  <vincent@vinc17.net>
39186
39187	Added "VERSION" and "prepare" descriptions.
39188
391892002-04-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
39190
39191	fixed bugs found by Nathalie
39192
391932002-04-04  Vincent Lef��vre  <vincent@vinc17.net>
39194
39195	Update for the next pre-release.
39196
39197	Removed check for extended precision, as no longer used.
39198
391992002-04-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
39200
39201	added check for denormalized numbers
39202
39203	added new functions to implement
39204
392052002-04-03  Vincent Lef��vre  <vincent@vinc17.net>
39206
39207	Update for the next pre-release.
39208
39209	-ffloat-store is a gcc option.
39210
39211	Added 4th argument to AC_TRY_RUN.
39212
39213	Re-fix.
39214
392152002-04-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
39216
39217	added check for fpu_control.h
39218
39219	added missing cast to double
39220
392212002-04-02  Vincent Lef��vre  <vincent@vinc17.net>
39222
39223	[ ] used around error message.
39224
39225	Update.
39226
39227	Check BITS_PER_MP_LIMB and BYTES_PER_MP_LIMB.
39228
39229	sqrtrem.c removed.
39230
39231	New ChangeLog file (generated by rcs2log).
39232
39233	Suppress PACKAGE and VERSION definitions for the compiler.
39234
392352002-04-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
39236
39237	old file
39238
392392002-03-31  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
39240
39241	more "internal" changes suggested by Vincent
39242
39243	added suggestions from Kevin in "internals"
39244
392452002-03-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
39246
39247	added test for denorms
39248
39249	on a 32-bit machine, denormalized numbers with high 32 bits to 0
39250	were flushed to zero
39251
392522002-03-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
39253
39254	sign of sin(-1) was not set
39255
39256	added check for asin(-1)
39257
39258	added one test
39259
39260	previous fix was completely wrong
39261
39262	fixed pb in cmp_si when i = -2^31 (then beware that -1 * i < 0 !!!)
39263
39264	added check for underflow
39265
392662002-03-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
39267
39268	- use mpfr_test_init to initialize hardware floats
39269	- use #ifdef HAVE_INFS when using DBL_NAN, ...
39270	- fixed some problems with wrongly converted f-p values (esp. under IRIX)
39271
39272	use AC_TRY_CPP instead of AC_TRY_RUN for fenv.h
39273	(otherwise fails on Itanium)
39274
39275	added function mpfr_test_init to initialize full IEEE behaviour
39276
39277	put back simple algorithm that computes x*y exactly and then
39278	directly calls mpfr_add, to avoid wrong inexact flags
39279
39280	added 2002 in copyright line
39281
39282	fixed problem on x86 (set precision to double to avoid double rounding)
39283
39284	added check for valid 1/0, denormalized, and extended precision
39285
392862002-03-26  Vincent Lef��vre  <vincent@vinc17.net>
39287
39288	New-style comment removed.
39289
392902002-03-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
39291
39292	added a description of the mpfr_t type in "Internals"
39293
392942002-03-26  Vincent Lef��vre  <vincent@vinc17.net>
39295
39296	#include <unistd.h> removed. Redefined macros ABS removed.
39297
39298	Patch by Kevin Ryde + misc fixes.
39299
393002002-03-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
39301
39302	replaced getpid() by time(NULL)
39303
39304	MPFR_SIZE and sign were incorrectly set [thanks Kevin]
39305
39306	added check_nan (from Kevin)
39307
39308	fixed bug for sqrt(-0) found by Kevin [NaN flag not cleared]
39309
393102002-03-22  Vincent Lef��vre  <vincent@vinc17.net>
39311
39312	Error message now copes with extended precision.
39313
393142002-03-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
39315
39316	added test in configure for checking rand48 functions (HAVE_RAND48)
39317	and fenv.h (HAVE_FENV)
39318	added mpfr_set_machine_rnd_mode (if fenv.h exists)
39319	replaced TEST by HAVE_FENV
39320
393212002-03-22  Vincent Lef��vre  <vincent@vinc17.net>
39322
39323	Missing #include.
39324
39325	MPFR_RETNAN shouldn't be used as no value is returned.
39326
39327	Regarde 0 as positive rather than negative (though it's better not to use it).
39328
39329	Memory leak (patch by Kevin Ryde).
39330
393312002-03-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
39332
39333	replaced rand/lrand48, drand48, srand/srand48 by macros
39334	         LONG_RAND, DBL_RAND, SEED_RAND
39335	and time(NULL) by getpid()
39336
39337	added macros LONG_RAND, DBL_RAND, SEED_RAND
39338
39339	added VERSION and mpfr-math.h for "make dist"
39340
393412002-03-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
39342
39343	new functions
39344
39345	now use macros DBL_NAN, DBL_POS_INF, DBL_NEG_INF,
39346	and functions mpfr_set_nan, mpfr_set_inf
39347
39348	defined macros for 0/0, 1/0, -1/0
39349
39350	added new functions mpfr_set_nan and mpfr_set_inf
39351
393522002-03-19  Vincent Lef��vre  <vincent@vinc17.net>
39353
39354	File VERSION added. Contains the next version (currently 2.0.1).
39355	configure.in updated accordingly.
39356
39357	Macros MPFR_DBL_NAN, MPFR_DBL_INFP and MPFR_DBL_INFM.
39358
393592002-03-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
39360
39361	MP_LIMB_T_HIGHBIT -> ULONG_HIGHBIT
39362
39363	moved code under #ifdef
39364
39365	moved code under #ifdef TEST
39366
39367	remove variable sizer (not used)
39368
39369	Library GPL -> Lesser GPL
39370
39371	updated
39372
393732002-03-17  Vincent Lef��vre  <vincent@vinc17.net>
39374
39375	Some changes in the types.
39376
393772002-03-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
39378
39379	changed Nt variable to signed
39380
393812002-03-17  Vincent Lef��vre  <vincent@vinc17.net>
39382
39383	Bugs fixed.
39384
393852002-03-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
39386
39387	added back mpfr_sin_cos
39388
39389	new version (adapted from sin.c)
39390
39391	added tests for tan(3*Pi/4) and tan(7*Pi/4)
39392
39393	fixed bug for tan(3*Pi/4) [wrong sign]
39394
39395	added test for log(10^n)
39396
39397	fixed infinite loop problem for log(10^n)
39398
393992002-03-13  Vincent Lef��vre  <vincent@vinc17.net>
39400
39401	Fix (patch by Kevin Ryde).
39402
39403	Do not read the exponent if it has no meaning.
39404
394052002-03-12  Vincent Lef��vre  <vincent@vinc17.net>
39406
39407	mpfr_random update (patch by Kevin Ryde).
39408
39409	2 more known bugs.
39410
39411	mpfr_a{cos,sin,tan} documentation at a better place.
39412
39413	Some mpfr_clear added (patch by Kevin Ryde).
39414
394152002-03-11  Vincent Lef��vre  <vincent@vinc17.net>
39416
39417	mpfr_get_d3 partially rewritten (to follow the new specifications).
39418	tget_d.c updated because of changes in get_d.c.
39419
39420	Return a null pointer if rnd_mode is an invalid rounding mode.
39421
394222002-03-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
39423
39424	set sign before calling mpfr_check_range
39425
39426	stupid typo in previous commit
39427
39428	removed expx (not used)
39429
39430	fixed typo (ai [potentially unsigned] replaced by i)
39431
394322002-03-11  Vincent Lef��vre  <vincent@vinc17.net>
39433
39434	New mpfr_get_d, mpfr_get_d2, mpfr_get_d3.
39435
394362002-03-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
39437
39438	added return
39439
394402002-03-11  Vincent Lef��vre  <vincent@vinc17.net>
39441
39442	set_d.c split into get_d.c and set_d.c
39443
394442002-03-11  David Daney  <david.daney@inria.fr>
39445
39446	add cbrt in fonctionnality
39447
394482002-03-11  Vincent Lef��vre  <vincent@vinc17.net>
39449
39450	Bug removed.
39451
39452	#include changes.
39453
394542002-03-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
39455
39456	fixed problem when te=ti=1 (i.e. t=0) found by Kevin Ryde
39457
39458	simplified test4()
39459
394602002-03-06  Vincent Lef��vre  <vincent@vinc17.net>
39461
39462	Update.
39463
39464	Update.
39465
39466	Patch by Kevin Ryde concerning nodes/menus.
39467
394682002-03-05  Vincent Lef��vre  <vincent@vinc17.net>
39469
39470	Casts fixed.
39471
394722002-03-04  Vincent Lef��vre  <vincent@vinc17.net>
39473
39474	File renaming.
39475
39476	Copyright line changed.
39477
394782002-03-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
39479
39480	updated
39481
39482	changed name of mpz_set_fr to mpfr_get_z_exp
39483
394842002-02-28  Vincent Lef��vre  <vincent@vinc17.net>
39485
39486	Removed some <math.h> dependencies.
39487
39488	Fixed.
39489
39490	mpfr_get_d rewritten (still needs to be fixed when the result is a subnormal).
39491
394922002-02-27  Vincent Lef��vre  <vincent@vinc17.net>
39493
39494	mpfr_get_d2 tested.
39495
39496	Update.
39497
39498	New tests.
39499
39500	Additional flags for gcc + minor changes.
39501
39502	Minor update.
39503
395042002-02-25  Vincent Lef��vre  <vincent@vinc17.net>
39505
39506	mpfr_get_d2 prototype changed (mp_exp_t instead of long).
39507	__mpfr_scale2 fixes: checks for integer overflows, signed zeros, exact
39508	rounding for subnormals in the rounding to the nearest mode (problems
39509	due to multiple roundings avoided).
39510	mpfr_get_d2: signed zeros taken into account. This function still needs
39511	to be rewritten (because of multiple roundings).
39512
395132002-02-21  Vincent Lef��vre  <vincent@vinc17.net>
39514
39515	_mpfr_ceil_log2, _mpfr_floor_log2, _mpfr_ceil_exp2 in separate files.
39516
395172002-02-19  Vincent Lef��vre  <vincent@vinc17.net>
39518
39519	Fixes, code clean-up and some asserts against integer overflows.
39520	Code need to be checked.
39521
395222002-02-14  Vincent Lef��vre  <vincent@vinc17.net>
39523
39524	mpfr_{div,mul}_2exp -> mpfr_{div,mul}_2ui.
39525
39526	Partial code clean-up and some asserts against integer overflows (2).
39527
395282002-02-13  Vincent Lef��vre  <vincent@vinc17.net>
39529
39530	Partial code clean-up and some asserts against integer overflows.
39531
39532	MP_EXP_T_MAX and MP_EXP_T_MIN defined.
39533
39534	Macros IS_POW2 and NOT_POW2.
39535
395362002-02-12  Vincent Lef��vre  <vincent@vinc17.net>
39537
39538	Use mpfr_save_emin_emax and MPFR_RESTORE_RET.
39539
39540	Update due to changes in mpfr_get_str.
39541
39542	mpfr_get_str: the returned exponent for 0 is 0 (like in frexp()).
39543	mpz_set_fr.c: comment added.
39544	out_str.c: minor changes.
39545
39546	Update.
39547
39548	Bug fixed and other changes.
39549
39550	NULL -> null pointer and other small changes.
39551
39552	mpfr_get_str: null pointer returned in case of error, NaN taken into account.
39553
395542002-02-11  Vincent Lef��vre  <vincent@vinc17.net>
39555
39556	mpfr_set_str partially rewritten to cope with integer overflows.
39557	The rounding code hasn't been fixed yet.
39558
395592002-02-08  Vincent Lef��vre  <vincent@vinc17.net>
39560
39561	Typo.
39562
39563	mpfr_set_str: base must be between 2 and 36.
39564
395652002-02-06  David Daney  <david.daney@inria.fr>
39566
39567	change the return values
39568
39569	Change the test return values
39570
395712002-02-06  Vincent Lef��vre  <vincent@vinc17.net>
39572
39573	Some optimizations.
39574
395752002-02-04  Vincent Lef��vre  <vincent@vinc17.net>
39576
39577	Misc bug fixes and code clean-up.
39578
39579	Misc bug fixes and code clean-up.
39580
395812002-02-03  Vincent Lef��vre  <vincent@vinc17.net>
39582
39583	For the value 0, return __mpfr_emin instead of 0.
39584
395852002-02-01  Vincent Lef��vre  <vincent@vinc17.net>
39586
39587	Misc bug fixes and code clean-up.
39588
395892002-02-01  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
39590
39591	Patch.
39592
395932002-01-30  Vincent Lef��vre  <vincent@vinc17.net>
39594
39595	Bux fixed.
39596
39597	mpfr_set_z rewritten.
39598
39599	Update concerning mpfr_round_prec, mpfr_rint, mpfr_ceil, mpfr_floor,
39600	mpfr_round and mpfr_trunc.
39601
39602	Tests added (mpfr_trunc, mpfr_floor, mpfr_ceil, mpfr_round).
39603
39604	mpfr_rint, mpfr_trunc, mpfr_floor, mpfr_ceil, mpfr_round rewritten.
39605
396062002-01-25  Vincent Lef��vre  <vincent@vinc17.net>
39607
39608	mpfr_round -> mpfr_round_prec.
39609
39610	Code reformatted.
39611
396122002-01-23  Vincent Lef��vre  <vincent@vinc17.net>
39613
39614	MAX, MIN, ABS macros undefined before being redefined.
39615	Fix in ABS macro.
39616
396172002-01-22  Vincent Lef��vre  <vincent@vinc17.net>
39618
39619	Example with high bit set.
39620
39621	Fix (Kevin Ryde).
39622
39623	MPFR_PREC_MAX redefined.
39624	MPFR_INTPREC_MAX defined (internal maximum precision).
39625	Some integer overflow detection.
39626
396272002-01-21  Vincent Lef��vre  <vincent@vinc17.net>
39628
39629	Set sign of sqrt(0).
39630	Support for exponent range.
39631
39632	can_round type changed: char -> int.
39633	Case sqrt(0) improved.
39634
39635	Bug fixes:
39636	  * return 1 -> MPFR_RET_NAN
39637	  * a MPFR_CLEAR_INF was missing.
39638
396392002-01-20  Vincent Lef��vre  <vincent@vinc17.net>
39640
39641	New macro MPFR_RESTORE_RET.
39642
396432002-01-18  Vincent Lef��vre  <vincent@vinc17.net>
39644
39645	Code clean-up (goto suppressed).
39646
39647	Cases 0 * 0 + 0.
39648
39649	Nt: int -> mp_prec_t
39650
39651	<> changed back to "".
39652
396532002-01-18  David Daney  <david.daney@inria.fr>
39654
39655	change "" -> <> in headers
39656
39657	Change indentation + replace "" -> <> in header
39658
396592002-01-17  Vincent Lef��vre  <vincent@vinc17.net>
39660
39661	Particular cases rewritten.
39662
39663	Test "__hpux", not "hpux".  Mask off mrand48 return value to 31 bits
39664	to work around sloppy mpfr #include practices. (Torbjorn Granlund)
39665
39666	#include fixes (Torbjorn Granlund).
39667
396682002-01-16  Vincent Lef��vre  <vincent@vinc17.net>
39669
39670	Comments were incorrect.
39671
396722002-01-15  Vincent Lef��vre  <vincent@vinc17.net>
39673
39674	Note concerning mpfr_trunc, mpfr_floor and mpfr_ceil.
39675
396762002-01-14  Vincent Lef��vre  <vincent@vinc17.net>
39677
39678	Special cases.
39679
396802002-01-12  Vincent Lef��vre  <vincent@vinc17.net>
39681
39682	Patches by Kevin Ryde for K&R compilers
39683	and other fixes in prototypes.
39684
396852002-01-10  Vincent Lef��vre  <vincent@vinc17.net>
39686
39687	Test check_min added.
39688
39689	Test check_max added.
39690
39691	Spelling: "canceled"
39692
396932002-01-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
39694
39695	GMP_PROTO change was already done by Vincent
39696
39697	prepare change PROTO -> GMP_PROTO
39698
396992002-01-04  Vincent Lef��vre  <vincent@vinc17.net>
39700
39701	The precision can no longer be 1.
39702
39703	__GMP_PROTO defined if not already defined.
39704
39705	Optimization: mpfr_cmp2 now accepts any combination of real arguments
39706	and computes the sign of |b| - |c| (in addition to the number of
39707	cancelled bits); mpfr_add, mpfr_sub, mpfr_sub1, mpfr_agm and some
39708	tests updated to take this change into account.
39709
397102001-12-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
39711
39712	added check for sin(3*Pi/2)
39713
39714	fixed bug for sin(3*Pi/2)
39715
397162001-12-19  Vincent Lef��vre  <vincent@vinc17.net>
39717
39718	Global NaN flag set when result is NaN.
39719
397202001-12-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
39721
39722	forgot to clear nan flag for Inf
39723
39724	changed description of mpfr_cmp to correspond to the implementation:
39725	NaNs are not allowed
39726
39727	fixed mpfr_cmp2 : there was a bug noticed by Nicolas Magaud and Didier
39728	Bondyfalat for inputs:
39729	100 011 111
39730	100 010 110
39731	where it gave 8 instead of 5.
39732
397332001-12-19  Vincent Lef��vre  <vincent@vinc17.net>
39734
39735	Better comments.
39736
397372001-12-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
39738
39739	added "PI and the AGM"
39740
397412001-12-06  Vincent Lef��vre  <vincent@vinc17.net>
39742
39743	Files renamed (log in base 2 and 10).
39744
39745	Files renamed (constants).
39746
39747	File aclocal.m4 removed, as generated by aclocal (called by prepare).
39748
39749	Files log_base_*.c renamed.
39750
39751	Functions (constants) renamed.
39752
39753	Files configure, Makefile.in, tests/Makefile.in removed.
39754	Use the `prepare' script to generate them.
39755
39756	Removed 2 bugs.
39757
39758	Initial release.
39759
397602001-12-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
39761
39762	added arc-tangent (from Mathieu)
39763
39764	added paragraph on asin and acos from Mathieu Dutour
39765
39766	added tacos
39767
39768	in check5, test NaNs before calling mpfr_cmp
39769
39770	added acos
39771
39772	added acos.c
39773
39774	added acos (from Mathieu Dutour)
39775
39776	use now new sqrtrem from gmp-4.0
39777
39778	improved test (avoid mpfr_get_d)
39779
39780	removed isnan prototype
39781
39782	added stdlib.h for exit
39783
397842001-11-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
39785
39786	test NaN before Inf
39787	changed precision to 2 for test
39788
397892001-11-30  Vincent Lef��vre  <vincent@vinc17.net>
39790
39791	Cast added.
39792
397932001-11-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
39794
39795	added a new test (worst case)
39796
39797	nouvelle version de Mathieu Dutour,
39798	corrigeant certains bugs avec les pires cas de Vincent
39799
398002001-11-30  Vincent Lef��vre  <vincent@vinc17.net>
39801
39802	#include order changed.
39803
39804	Misc fixes.
39805
39806	Unused variables.
39807
398082001-11-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
39809
39810	start tests with precision 2 instead of 1
39811
39812	start from precision 2
39813
39814	big rewrite to fix problems when the estimate base exponent is too small
39815
39816	fixed detection of exact cases (in particular 0)
39817
39818	now use MPFR_PREC_MIN
39819
39820	exptol is now of type mp_exp_t
39821
39822	rewritten part with Taylor series
39823
39824	changed MPFR_PREC_MIN to 2
39825
39826	updated wrt MPFR_PREC_MIN/MPFR_PREC_MAX
39827
39828	case x=0 was forgotten
39829
39830	now use MPFR_PREC_MIN
39831
39832	added comment
39833
398342001-11-30  Vincent Lef��vre  <vincent@vinc17.net>
39835
39836	mpfr_set_z rewritten to support overflows/underflows and ternary value.
39837
39838	0 -> set to +0.
39839
39840	Better sign comparison.
39841
398422001-11-29  Vincent Lef��vre  <vincent@vinc17.net>
39843
39844	Use MPFR_SET_POS.
39845
39846	Bug fixed concerning integer overflows.
39847
398482001-11-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
39849
39850	added comment
39851
39852	fixed bug for small precision, where r can be >= 1
39853
398542001-11-29  Vincent Lef��vre  <vincent@vinc17.net>
39855
39856	Functions mpfr_{mul,div}_2{si,ui} added.
39857	Functions mpfr_{mul,div}_2exp still exist for backward compatibility;
39858	they are obsolete and should not be used any longer.
39859
398602001-11-28  Vincent Lef��vre  <vincent@vinc17.net>
39861
39862	Particular cases (NaN and signed zeros).
39863
39864	Init variables to NaN instead of 0.
39865
39866	Possible integer overflow fixed.
39867
39868	Particular cases fixed.
39869
398702001-11-25  Vincent Lef��vre  <vincent@vinc17.net>
39871
39872	Overflow support.
39873
39874	K&R -> ISO C prototype.
39875
39876	mpfr_div_2exp rewritten.
39877
39878	mpfr_mul_2exp rewritten.
39879
39880	Overflow support.
39881
39882	Casts to size_t added (safer and could be required in the future).
39883
398842001-11-23  Vincent Lef��vre  <vincent@vinc17.net>
39885
39886	Minor change.
39887
39888	mpfr_mul partially rewritten:
39889	  * Integer overflows almost completely avoided.
39890	  * Now supports signed zeros and overflows.
39891	Not tested yet.
39892
398932001-11-22  Vincent Lef��vre  <vincent@vinc17.net>
39894
39895	mpfr_can_round_raw: integer overflows checked and code duplication avoided.
39896
39897	More bugs.
39898
39899	mpfr_can_round and mpfr_can_round_raw: prototypes changed.
39900
399012001-11-21  Vincent Lef��vre  <vincent@vinc17.net>
39902
39903	Bug fixed.
39904
39905	mpfr_add_one_ulp and mpfr_sub_one_ulp changed.
39906
39907	Added MPFR_PREC_MIN and MPFR_PREC_MAX.
39908
39909	Error test -> assert.
39910	mp_prec_t -> mp_size_t.
39911
399122001-11-20  Vincent Lef��vre  <vincent@vinc17.net>
39913
39914	Test added.
39915
39916	mpfr_round rewritten.
39917	mpfr_round_raw_generic: NULL changed to 0 as not necessarily defined.
39918
39919	Added macro MPFR_SET_ABSSIZE.
39920
39921	mpfr_round: Check for overflow.
39922
399232001-11-17  Vincent Lef��vre  <vincent@vinc17.net>
39924
39925	Some type changes.
39926
399272001-11-16  Vincent Lef��vre  <vincent@vinc17.net>
39928
39929	Integer overflows checked.
39930
39931	MPFR_ASSERTN instead of fprintf + exit.
39932
39933	GMP assert mechanism: macros changed until GMP is fixed.
39934
399352001-11-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
39936
39937	version -> 2002
39938	removed executable flag
39939
39940	mpfr_print_raw -> mpfr_print_binary
39941
39942	split from init.c
39943
399442001-11-16  David Daney  <david.daney@inria.fr>
39945
39946	remove math.h
39947
39948	remve math.h
39949
399502001-11-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
39951
39952	added one test
39953
399542001-11-16  David Daney  <david.daney@inria.fr>
39955
39956	remove math.h
39957
399582001-11-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
39959
39960	init -> init + init2.
39961
399622001-11-16  David Daney  <david.daney@inria.fr>
39963
39964	remove math.h
39965
399662001-11-16  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
39967
39968	Ajoute retours chariots dans div.c, etc.
39969
39970	if () remplace par if ( ==0) ou if ( != 0)
39971
399722001-11-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
39973
39974	removed K&R function headers
39975
399762001-11-16  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
39977
39978	Beuh ?
39979
39980	return -> MPFR_RET, patch d'un leak dans inp_str.c
39981
399822001-11-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
39983
39984	changed to use GMP assert mechanism
39985
399862001-11-16  David Daney  <david.daney@inria.fr>
39987
39988	remove stdio.h math.h
39989
399902001-11-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
39991
39992	assert -> MPFR_ASSERT
39993
399942001-11-16  David Daney  <david.daney@inria.fr>
39995
39996	remove stdio math .h
39997
39998	remove stdio.h math.h
39999
400002001-11-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
40001
40002	ASSERT_ALWAYS -> MPFR_ASSERTN
40003
40004	added COPYING.LIB
40005
40006	replaced by GPL
40007
400082001-11-16  David Daney  <david.daney@inria.fr>
40009
40010	remove limits.h
40011
400122001-11-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
40013
40014	changed Library GPL to Lesser GPL
40015
40016	GNU Lesser General Public License, version 2.1
40017
400182001-11-16  David Daney  <david.daney@inria.fr>
40019
40020	remove limits.h math.h
40021
400222001-11-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
40023
40024	now treats all *.h
40025
400262001-11-16  David Daney  <david.daney@inria.fr>
40027
40028	remove the proto, remove math.h
40029
400302001-11-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
40031
40032	removed DEBUG's
40033
40034	removed old patch for GMP 2.xx
40035
40036	GNU MP -> MPFR
40037
40038	added year 2001 in copyright line
40039
40040	added year 2001 in copyright line
40041
40042	added year 2001 in copyright line
40043	removed #if __STDC__
40044
40045	now two separate files cos.c and sin.c
40046
40047	added year 2001 in copyright line
40048
40049	updated
40050
40051	old version, removed
40052
40053	added isinf and isnum (split from isnan)
40054
40055	new files (split from isnan.c)
40056
40057	removed prototype already in mpfr.h
40058
40059	translated french comments to english
40060
40061	added mpfr_sub
40062
40063	added static to local functions
40064
40065	1 -> MP_LIMB_T_ONE
40066
40067	1 -> BITS_PER_MP_LIMB
40068
40069	added static to local functions
40070	removed prototype already in mpfr.h
40071
40072	removed mpfr_exp2_si (not used)
40073
40074	added static to local functions
40075	translated french comments to english
40076
40077	translated french comments to english
40078	removed prototype already in mpfr.h
40079
40080	initialized inexact to 0
40081
40082	used TMP_ALLOC
40083	translated french comments to english
40084
40085	simplified test
40086
40087	moved inf_p and number_p to different files
40088
40089	added static to local functions
40090	explained threshold
40091
40092	removed prototypes already in mpfr.h
40093
40094	does not include stdio.h any more
40095
40096	added stdio.h
40097
40098	1 -> BITS_PER_MP_LIMB
40099	1 << (BITS_PER_MP_LIMB - 1) -> MP_LIMB_T_HIGHBIT
40100
40101	removed french comment
40102
40103	added static to local functions
40104
40105	removed prototype already in mpfr.h
40106
40107	1 -> BITS_PER_MP_LIMB
40108	translated french comments to english
40109	added static to local functions
40110
40111	1 -> BITS_PER_MP_LIMB
40112
40113	1 -> BITS_PER_MP_LIMB
40114	translated french comments to english
40115
40116	1 -> BITS_PER_MP_LIMB
40117	added static to local functions
40118
40119	removed proto already in mpfr.h
40120
40121	1 -> MP_LIMB_T_ONE
40122
40123	added stdio.h
40124
401252001-11-15  Vincent Lef��vre  <vincent@vinc17.net>
40126
40127	add.c -> add.c & add1.c
40128	sub.c -> sub.c & sub1.c + some changes.
40129
401302001-11-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
40131
40132	iff the results are exact -> iff the result is exact
40133
401342001-11-10  Vincent Lef��vre  <vincent@vinc17.net>
40135
40136	GNU coding style. K&R function headers removed.
40137
40138	MP_LIMB_T_ONE defined.
40139	mp_size_unsigned_t defined.
40140	Important bugs fixed (in particular when int has fewer than 32 bits).
40141	Still unavoidable possible bugs due to the fact that mp_size_t is signed.
40142
401432001-11-09  David Daney  <david.daney@inria.fr>
40144
40145	add tests file for gamma
40146
40147	add gamma function an other version
40148
40149	add gamma function
40150
401512001-11-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
40152
40153	mis a` jour valeur de retour de mpfr_tan
40154
401552001-11-09  Vincent Lef��vre  <vincent@vinc17.net>
40156
40157	Some -'s missing in floating-point.
40158
401592001-11-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
40160
40161	modifs suite aux remarques de Nathalie
40162
401632001-11-08  David Daney  <david.daney@inria.fr>
40164
40165	remove some name of variables
40166
401672001-11-08  Vincent Lef��vre  <vincent@vinc17.net>
40168
40169	cmp2.c: Integer overflows checked.
40170
40171	Update.
40172
40173	Fix.
40174
401752001-11-08  David Daney  <david.daney@inria.fr>
40176
40177	suppress variable name in dim min max
40178
40179	export isinteger in the file isinteger.c
40180
40181	exporte pow_si from pow2.c to pow_si.c
40182
40183	rename pow2.c in pow.c (source for mpfr_pow)
40184
40185	add ui_pow_ui.c (initially in pow.c)
40186
40187	add pow_ui.c file (initially in pow.c)
40188
401892001-11-08  Vincent Lef��vre  <vincent@vinc17.net>
40190
40191	mpfr_cmp2: return type changed to mp_prec_t.
40192
401932001-11-08  David Daney  <david.daney@inria.fr>
40194
40195	add function test4 for 3 input test + fma tests
40196
401972001-11-08  Vincent Lef��vre  <vincent@vinc17.net>
40198
40199	Macros added.
40200
40201	MP_LIMB_T_MAX instead of (mp_limb_t) -1 (a little nicer...).
40202
402032001-11-06  Vincent Lef��vre  <vincent@vinc17.net>
40204
40205	Code clean-up.
40206
402072001-11-05  Vincent Lef��vre  <vincent@vinc17.net>
40208
40209	Prototypes for K&R C.
40210
40211	mpfr_round_raw_generic prototype fixed.
40212
402132001-11-01  David Daney  <david.daney@inria.fr>
40214
40215	clear xp for Nan Inf or 0 are returned
40216
40217	clear variable if an error is return
40218
40219	clear x for Nan inf 0 return
40220
40221	clear x for Nan Inf 0 return
40222
40223	clear te
40224
402252001-11-01  Vincent Lef��vre  <vincent@vinc17.net>
40226
40227	Added prototype.
40228
40229	Bug fixed.
40230
402312001-11-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
40232
40233	fixed MLK's
40234
40235	fixed MLK's in mpfr_isinteger
40236
40237	fixed MLK's
40238
40239	fixed missing mpfr_clear's
40240
40241	added missing mpfr_clear
40242
40243	added clear's in bug_ddefour
40244
40245	added mpfr_clear's
40246
40247	fixed MLK's
40248
402492001-10-31  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
40250
40251	fixed MLK for Inf or Nan
40252
40253	fixed MLK in check_case_2
40254
402552001-10-31  David Daney  <david.daney@inria.fr>
40256
40257	rename factorial -> fac_ui
40258
402592001-10-30  Fabrice Rouillier  <Fabrice.Rouillier@inria.fr>
40260
40261	Change mpfr_<op>_mpz to mpfr_<op>_z
40262	Change mpfr_<op>_mpq to mpfr_<op>_q
40263	where <op> is mul,div,add,sub
40264
402652001-10-30  David Daney  <david.daney@inria.fr>
40266
40267	correct factorial -> fac_ui in comments
40268
40269	rename tfactorial -> fac_ui
40270
40271	rename factorial -> fac_ui
40272
402732001-10-27  Vincent Lef��vre  <vincent@vinc17.net>
40274
40275	Bug fixed.
40276
402772001-10-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
40278
40279	drand -> drand48
40280
40281	put MAX_PREC back to 100
40282
40283	added test for inexact flag
40284
40285	use MPFR_RET_NAN and MPFR_RET
40286
40287	removed MPFR_DEBUG_LEVEL definition
40288
40289	mpfr_set_q and mpfr_abs now return an int
40290	mpfr_pow_ui and mpfr_ui_pow_ui now implement exact rounding
40291	updated the documentation of the mpfr_*pow* functions
40292	removed some internal functions
40293
40294	implemented exact rounding (but no ternary flag)
40295
402962001-10-26  David Daney  <david.daney@inria.fr>
40297
40298	add some flags
40299
40300	mixed version between DD and Pau => (gestion des flag inexacte dirige)
40301
40302	rien
40303
403042001-10-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
40305
40306	MAX_PREC included
40307
40308	implemented inexact flag
40309
403102001-10-26  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
40311
40312	Clearing high part of rem2.
40313
403142001-10-26  Fabrice Rouillier  <Fabrice.Rouillier@inria.fr>
40315
40316	adds gmp_op.c
40317
403182001-10-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
40319
40320	mpfr_set_q now returns an int
40321
40322	added test for inexact flag
40323
403242001-10-26  Fabrice Rouillier  <Fabrice.Rouillier@inria.fr>
40325
40326	Adds the file gmp_op.c containing the implementations of operations between
40327	mpfr and mpz/mpq data
40328
403292001-10-26  David Daney  <david.daney@inria.fr>
40330
40331	err <0 => is now tester
40332
403332001-10-26  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
40334
40335	Patch for bits shifted out when the high word of the quotient is nonzero.
40336	Induced error on inexact flag (and hence on rounding in some cases).
40337
403382001-10-26  David Daney  <david.daney@inria.fr>
40339
40340	add copysign.c
40341
403422001-10-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
40343
40344	added one test
40345
403462001-10-26  David Daney  <david.daney@inria.fr>
40347
40348	simplify dim
40349
40350	add exact flag
40351
40352	err => long int
40353
403542001-10-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
40355
40356	added one test
40357
40358	cosmetic changes
40359
40360	can_round return 0 for b=0
40361
403622001-10-26  David Daney  <david.daney@inria.fr>
40363
40364	add thypot
40365
40366	add coopysign
40367
40368	add copysign
40369
40370	correct mp_prec_t err => long int
40371
40372	correst mp_prec_t err => long int
40373
403742001-10-26  Fabrice Rouillier  <Fabrice.Rouillier@inria.fr>
40375
40376	Add multiplication/division/addition/subtraction by mpz and mpq
40377
403782001-10-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
40379
40380	added two tests
40381	fixed bug in generic tests (one more bit is needed to get an exact result)
40382
40383	fixed pb with exact results not detected (ck was < 0)
40384
403852001-10-26  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
40386
40387	Rien.
40388
40389	Patch for the computation of the u_lo + r part of the remainder when u_lo = 0.
40390
403912001-10-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
40392
40393	added test for inexact flag
40394
40395	fixed pbs with inexact flag
40396
40397	now mpfr_div and mpfr_ui_div return an int
40398
40399	implemented ternary flag in mpfr_ui_div
40400
40401	removed unnecessary CLEAR_FLAGS
40402	used MPFR_RET_NAN
40403
40404	reduced number of tests
40405
40406	removed unnecessary CLEAR_FLAGS
40407
40408	improved mpfr_compare
40409	fixed wrong function name for mpfr_log2
40410
40411	rewritten to implement ternary inexact flag
40412
40413	fixed generic test (pb with double rounding)
40414
40415	increased MAX_PREC
40416
404172001-10-25  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
40418
40419	Changed the type of err from mp_prec_t (unsigned) to int.
40420
40421	Added tests for inexact flag.
40422
40423	Patch for even rounding.
40424
404252001-10-25  David Daney  <david.daney@inria.fr>
40426
40427	rien
40428
40429	rien
40430
404312001-10-25  Vincent Lef��vre  <vincent@vinc17.net>
40432
40433	Warning avoided.
40434
404352001-10-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
40436
40437	added tfma
40438
40439	slong -> t
40440
40441	nouvelew version (without loop)
40442
404432001-10-25  David Daney  <david.daney@inria.fr>
40444
40445	rien
40446
40447	rien
40448
40449	change
40450
404512001-10-25  Vincent Lef��vre  <vincent@vinc17.net>
40452
40453	Bug fixed.
40454
404552001-10-25  David Daney  <david.daney@inria.fr>
40456
40457	correct bugs with reuse
40458
40459	test for log2 log10 pow
40460
404612001-10-25  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
40462
40463	La division nouvelle est arrivee.
40464
404652001-10-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
40466
40467	ajoute' nouveau test
40468
404692001-10-25  Vincent Lef��vre  <vincent@vinc17.net>
40470
40471	Bug fixed.
40472
404732001-10-25  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
40474
40475	round_raw, round_raw2 -> round_raw_generic. Macros to simulate previous
40476	behaviour. Even rounding returns +- MPFR_EVEN_INEX.
40477
404782001-10-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
40479
40480	fixed pb with mpfr_log10(a, a) with a=-Inf
40481
40482	added two tests
40483
40484	added one test
40485
404862001-10-25  David Daney  <david.daney@inria.fr>
40487
40488	add log2 and log10
40489
40490	correction for reuse
40491
40492	coorection for reuse
40493
404942001-10-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
40495
40496	test file for testing exceptions
40497
404982001-10-25  Vincent Lef��vre  <vincent@vinc17.net>
40499
40500	mpfr_add1 completely rewritten. Overflows are checked.
40501	The ternary value should now be supported (but it hasn't been tested yet).
40502
405032001-10-25  David Daney  <david.daney@inria.fr>
40504
40505	new version
40506
405072001-10-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
40508
40509	added one test
40510
40511	add possibility to define a random function (default is mpfr_random)
40512	to get random variables in specific ranges
40513
40514	now use tgeneric.c
40515
40516	added texceptions
40517
40518	documented exception mechanism (with Vincent Lefe`vre)
40519
40520	changed stupid test (was computing only 200!)
40521
40522	implemented inexact flag
40523
40524	1999 -> 2001
40525
40526	check overflow
40527
40528	added two tests
40529
40530	implemented overflow/underflow
40531
405322001-10-25  David Daney  <david.daney@inria.fr>
40533
40534	correct atanh(INF)=INF exact
40535
40536	correct test inf for atanh
40537
405382001-10-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
40539
40540	added warning for mpfr_set_d
40541
405422001-10-25  David Daney  <david.daney@inria.fr>
40543
40544	correct bug in tests file (test of atanh for + or - Inf)
40545
405462001-10-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
40547
40548	added tadd_ui (forgotten?)
40549
40550	added special test
40551
40552	fixed bug in rounding part when rounding towards 0 (infinite loop due to bn<an)
40553
40554	added one special test
40555
405562001-10-24  David Daney  <david.daney@inria.fr>
40557
40558	correct the Nan case
40559
40560	add the function mpfr_dim
40561
40562	add function mpfr_min and mpfr_max
40563
40564	correct these tesats files
40565
40566	correct some bugs
40567
405682001-10-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
40569
40570	added EXTRA_DIST= tgeneric.c
40571
405722001-10-24  David Daney  <david.daney@inria.fr>
40573
40574	remove tfma
40575
40576	add tfma
40577
40578	acosh revue et corrige...+beau
40579
405802001-10-23  David Daney  <david.daney@inria.fr>
40581
40582	add mpfr_log10
40583
40584	add log_base_10
40585
40586	add tlog_base_10
40587
40588	add test file for log_base_10 function
40589
40590	correct a bug in mpfr_log10 section
40591
40592	add help of log10 + fma
40593
40594	correct particular cases
40595
40596	improve the clear flags
40597
40598	correction dans l'entete
40599
406002001-10-21  Vincent Lef��vre  <vincent@vinc17.net>
40601
40602	Some changes to avoid warnings.
40603
40604	Bug fixed (char -> int).
40605
406062001-10-19  Vincent Lef��vre  <vincent@vinc17.net>
40607
40608	Update.
40609
40610	Bugs fixed concerning the "inexact" ternary value.
40611
406122001-10-19  David Daney  <david.daney@inria.fr>
40613
40614	suppress thypot tgeneric
40615
40616	suppress sample
40617
406182001-10-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
40619
40620	void -> int as return value for mpfr_add_ui
40621
40622	added ternary flag
40623
40624	void -> int for mpfr_add and mpfr_add_ui
40625
406262001-10-19  David Daney  <david.daney@inria.fr>
40627
40628	add test for hypot
40629
40630	add some test
40631
40632	add some functions
40633
40634	add some proto
40635
40636	add test file for pow
40637
40638	add the help for pow and pow_si
40639
40640	add the function pow and pow_si
40641
406422001-10-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
40643
40644	added two tests for 0-c and c-0 with prec(c) > prec(a)
40645
406462001-10-19  Vincent Lef��vre  <vincent@vinc17.net>
40647
40648	Removed #include <stdio.h>, "return 0;" replaced by "MPFR_RET(0);".
40649
40650	mpfr_add1 and mpfr_sub1 prototypes moved to mpfr-impl.h (to detect clashes).
40651	Bug fix concerning the inexact ternary value in mpfr_sub.
40652	mpfr_add now returns an int (inexact ternary value unsupported if true add).
40653
40654	Update.
40655
40656	Underflow/overflow check.
40657
40658	Documentation updated.
40659
40660	Comment added.
40661
40662	MPFR_RET(0) replaced by MPFR_RET_NAN.
40663
40664	Macro MPFR_RET_NAN.
40665
406662001-10-18  Vincent Lef��vre  <vincent@vinc17.net>
40667
40668	Code clean-up in mpfr_round_raw (well... IMHO).
40669
406702001-10-18  David Daney  <david.daney@inria.fr>
40671
40672	take in account of CHAR_BIT in ui_pow
40673
406742001-10-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
40675
40676	cast to mp_limb_t was missing
40677
406782001-10-18  Vincent Lef��vre  <vincent@vinc17.net>
40679
40680	BITS_PER_CHAR replaced by the standard CHAR_BIT.
40681
406822001-10-18  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
40683
40684	*** empty log message ***
40685
406862001-10-18  David Daney  <david.daney@inria.fr>
40687
40688	add test of ui_pow
40689
40690	add the help of ui_pow
40691
40692	add the function pow(unsign long int, mpfr_t)
40693
406942001-10-18  Vincent Lef��vre  <vincent@vinc17.net>
40695
40696	Improved configure.in.
40697	configure generated by Autoconf 2.52.
40698
406992001-10-18  David Daney  <david.daney@inria.fr>
40700
40701	ajout du flag inexact
40702
407032001-10-18  Vincent Lef��vre  <vincent@vinc17.net>
40704
40705	fixed and improved check for gmp.h/gmp-impl.h/config.h/gmp-mparam.h/longlong.h
40706	and corresponding error message
40707
407082001-10-18  David Daney  <david.daney@inria.fr>
40709
40710	add the help on log2
40711
40712	add the test file of the log2 (log in base 2)
40713
40714	ajout de log2 (log en base 2)
40715
40716	correst tanh(0)
40717
407182001-10-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
40719
40720	added two more tests
40721
40722	wrong sign passed to mpfr_can_round (mp_limb_t may be unsigned)
40723
407242001-10-18  David Daney  <david.daney@inria.fr>
40725
40726	correct a bug for sinh(Inf)
40727
407282001-10-17  David Daney  <david.daney@inria.fr>
40729
40730	correct syntax of tanh.c
40731
40732	correct an error
40733
40734	correct few things
40735
40736	little patch for cosh
40737
40738	add the test function of expm1
40739
40740	add the test of the function log1p
40741
40742	add the function expm1
40743
40744	add the function log1p
40745
40746	add to mpfr.texi log1p and expm1
40747
40748	actualisation de exp2.c
40749
40750	actualisation de exp2
40751
407522001-10-17  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
40753
40754	New tests in tdiv.c.
40755
40756	New division in div.c, old one renamed in mpfr_div2. Remains to implement
40757	exact/inexact flag. Should not be *that* hard.
40758
407592001-10-16  David Daney  <david.daney@inria.fr>
40760
40761	ajout de functions pow, fma, hypot etc etc
40762
407632001-10-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
40764
40765	added fma.c
40766
40767	added prototypes for mpfr_fma and mpfr_hypot
40768
40769	small changes for inexact flag
40770
40771	added some cases for Inf
40772	implement (partly) inexact flag
40773
407742001-10-16  David Daney  <david.daney@inria.fr>
40775
40776	ajout hypot
40777
40778	ajout de fma
40779
407802001-10-16  Vincent Lef��vre  <vincent@vinc17.net>
40781
40782	Comment: // --> /* ... */
40783
407842001-10-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
40785
40786	generic test file
40787
40788	added cast to (void*) for new functions returning an int
40789
40790	added test for inexact flag
40791
40792	now use tgeneric.c
40793	added more tests
40794
40795	now use tgeneric.c
40796
40797	fixed test of return values for infinities: foo(+/-Inf) is *exact*
40798
40799	now also try with negative numbers
40800
40801	implement ternary inexact flag
40802
40803	implement inexact flag
40804
40805	return type is now int for mpfr_mul_2exp and mpfr_div_2exp
40806
40807	return type is now int for more functions
40808
40809	sign was not set
40810
40811	rewritten completely mpfr_can_round_raw
40812
40813	documented mpfr_set4
40814
40815	return non-zero if malloc failed
40816
40817	cosmetic changes
40818
40819	implement ternary inexact flag
40820
40821	avoid one variable
40822
408232001-10-12  David Daney  <david.daney@inria.fr>
40824
40825	correction d'erreurs sur les notations + correction de la regle 9
40826
408272001-10-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
40828
40829	fixed MPFR_ASSERT
40830	documented MPFR_ASSERTN and MPFR_ASSERTD
40831
40832	added test for mpfr_init_set_f prototype
40833
40834	added test for inexact flag
40835	corrected a wrong test
40836
40837	cosmetic change
40838
40839	added tsub_ui (did exist but forgotten in Makefile) and tset (new file)
40840
40841	test file for mpfr_set, initial version
40842
40843	void -> int as return value for several functions
40844	and explained the ternary return value
40845
40846	implemented inexact flag
40847
40848	void -> int as return value for new functions implementing inexact flag
40849
40850	implemented inexact flag in mpfr_set_d
40851
40852	implemented inexact flag in mpfr_round
40853
40854	completely rewritten
40855
40856	computation of inexact flag now directly uses mpfr_round_raw
40857
40858	added 'if' in MPFR_ASSERT to avoid compiler warning
40859
40860	put initial value in variables which may be used without being initialized
40861
40862	updated things done, added Rounding section
40863
408642001-10-11  David Daney  <david.daney@inria.fr>
40865
40866	ajout de log1p et expm1
40867
408682001-10-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
40869
40870	reduced number of random tests (took too much time)
40871
40872	added random tests for inexact flag
40873
40874	implemented inexact flag
40875
40876	added random tests for inexact flag
40877
408782001-10-11  David Daney  <david.daney@inria.fr>
40879
40880	ajout du log generic et de fma
40881
408822001-10-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
40883
40884	inexact flag was wrong in some cases
40885
40886	added random tests for inexact flag
40887
40888	reduced number of loops per precision from 100 to 10
40889	(test was too long)
40890
40891	improved check for gmp-impl.h/config.h/gmp-mparam.h/longlong.h
40892	and corresponding error message
40893
40894	stack-alloc.h no longer needed (will be included in gmp-impl.h)
40895
40896	stack-alloc.h is no longer needed (will be included in gmp-impl.h)
40897
408982001-10-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
40899
40900	added proof of rules
40901
40902	fixed buggy test
40903
409042001-10-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
40905
40906	fixed bug for b + d where b=2^900+2^500+2^110, d=2^900-2^500-2^110
40907
409082001-10-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
40909
40910	fixed bug in mpfr_set_d on 64-bit machines
40911
409122001-09-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
40913
40914	fixed a few problems in mpfr_set_d for sizer < MPFR_LIMBS_PER_DOUBLE
40915
40916	added paper of Brent and McMillan
40917
40918	does not call compare_exp2_exp3 when argc=4
40919
40920	added one item
40921
40922	now mpfr_set_prec returns 1 instead of producing an error in case prec=0
40923
409242001-09-27  David Daney  <david.daney@inria.fr>
40925
40926	New version with new generic function + / * etc
40927
409282001-09-20  Vincent Lef��vre  <vincent@vinc17.net>
40929
40930	BUGS updated.
40931
409322001-09-13  Vincent Lef��vre  <vincent@vinc17.net>
40933
40934	Prototype changes.
40935
40936	<strings.h> -> <string.h> (ISO C).
40937
40938	#include added.
40939
40940	#include added/removed.
40941
40942	GCC option -Wno-implicit removed and prototype added to mpfr-impl.h
40943
409442001-09-12  Vincent Lef��vre  <vincent@vinc17.net>
40945
40946	INCLUDES in Makefile.am: -I$(top_srcdir) and @INCLUDES@ swapped.
40947	This defines the following precedence for the tests:
40948	  1) MPFR directories
40949	  2) User-defined directory
40950	  3) GMP include directory
40951	This allows the user to override the GMP longlong.h file with the
40952	gcc-3 one, by using: INCLUDES="-I.../include" ./configure ...
40953
40954	#include order fixed.
40955
40956	Tests added (in particular, inex value).
40957
40958	Bug fixed.
40959
409602001-09-11  Vincent Lef��vre  <vincent@vinc17.net>
40961
40962	MPFR_RET: definition changed to avoid warning.
40963
40964	Inexact ternary value for mpfr_set4, mpfr_set_ui and mpfr_set_si.
40965
40966	Macro SAFE_ABS.
40967
40968	Inexact ternary value and flag for mpfr_set_underflow, mpfr_set_overflow
40969	and mpfr_check_range.
40970
40971	Macro MPFR_RET added. Ternary value for mpfr_set4.
40972
40973	New flags.
40974
409752001-09-10  Vincent Lef��vre  <vincent@vinc17.net>
40976
40977	Parameter added to mpfr_round_raw: pointer to inexact ternary value.
40978
409792001-09-10  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
40980
40981	Zqwiuyt
40982
40983	Zorgs.
40984
40985	Gleurbs.
40986
40987	Patch grotesque.
40988
40989	Patch for the case SIZE(r) < MPFR_LIMBS_PER_DOUBLE.
40990
409912001-09-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
40992
40993	test file for mpfr_tan
40994
40995	fixed a few typos
40996
40997	added mpfr_tan
40998
40999	added ttan
41000
41001	added the tangent
41002
41003	added tan.c
41004
41005	tangent function
41006
410072001-09-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41008
41009	removed mpfr_sin and mpfr_cos (now separate implementations)
41010
41011	removed sin_cos
41012
41013	added sine and cosine
41014
41015	removed sin_cos, added sin and cos
41016
41017	removed mpfr_sin_cos
41018
41019	removed sin_cos, added sin and cos
41020
41021	removed tsin_cos, added tsin and tcos
41022
41023	test files for mpfr_cos and mpfr_sin
41024
41025	new implementation of mpfr_sin, using mpfr_cos
41026
41027	new (faster) implementation of mpfr_cos
41028
410292001-09-06  Vincent Lef��vre  <vincent@vinc17.net>
41030
41031	Fix: flags set in mpfr_set_{under,over}flow().
41032
41033	Cases where the result is 0 fixed.
41034	Integer overflow checked in mpfr_sub.
41035
41036	In add.c: use mpfr_cmp_abs instead of mpfr_cmp3; x - x fixed for GMP_RNDD.
41037
41038	Compare the absolute values of two nonzero FP numbers.
41039
410402001-09-05  Vincent Lef��vre  <vincent@vinc17.net>
41041
41042	mpfr_cmp3 changed and integer overflows checked.
41043
410442001-09-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41045
41046	added efficiency item
41047
410482001-09-03  Vincent Lef��vre  <vincent@vinc17.net>
41049
41050	Cases [+-]0 + [+-]0 fixed (depending on the rounding mode).
41051
410522001-08-29  Vincent Lef��vre  <vincent@vinc17.net>
41053
41054	Optimization + overflow support.
41055
41056	Case +0 + -0 fixed.
41057
410582001-08-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41059
41060	added one test
41061
41062	another test from Norbert
41063
41064	another fix (final copy when xsize > ysize was wrong)
41065
410662001-08-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41067
41068	added several tests for case (1b)
41069
41070	another fix (previous one was incomplete)
41071
41072	added one more test (from Norbert)
41073
410742001-08-28  Vincent Lef��vre  <vincent@vinc17.net>
41075
41076	Bug fixed.
41077
41078	Bug fixed and update to check the exponents.
41079
410802001-08-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41081
41082	added test for 53 <= xprec, yprec <= 128
41083
41084	added multiple tests for 53 <= xprec, yprec <= 128
41085
41086	was completely wrong for ysize > xsize
41087
41088	added faster formula in exp(-8*n) for Euler's constant
41089
410902001-08-25  Vincent Lef��vre  <vincent@vinc17.net>
41091
41092	Assertion support with debug level.
41093
41094	Some support for exponent change and exceptions.
41095
410962001-08-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41097
41098	added constant ALPHA (for mpfr_const_euler)
41099
41100	added euler/teuler
41101
41102	added teuler
41103
41104	added euler.c
41105
41106	fixed pb with c2 = c2old << dif with dif negative
41107
41108	fixed bug for (2^53+4) - 1
41109
41110	added new test from Norbert Mueller
41111
41112	fixed pb: sh becomes "negative"
41113
41114	included Euler's constant
41115
41116	bibtex file for algorithms.tex
41117
41118	test file for mpfr_const_euler
41119
41120	computation of Euler's constant 0.577...
41121
41122	added missing prototype
41123
41124	mpfr_const_euler returns an int
41125
41126	added mpfr_const_euler
41127
411282001-08-22  Vincent Lef��vre  <vincent@vinc17.net>
41129
41130	Tests added.
41131
41132	Bugs fixed (particular cases).
41133
41134	"mant(c) != 1/2" test was broken.
41135
41136	check fixed. Check added: 2^53 + 1 --> 2^53.
41137
41138	Update.
41139
411402001-08-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41141
41142	added one test
41143
41144	fixed stupid bug when dif < 0
41145
411462001-08-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41147
41148	added mpfr_asin
41149
41150	added missing cast
41151
41152	test file for mpfr_asin
41153
41154	arc-sine, contributed by Mathieu Dutour
41155
41156	added mpfr_asin
41157
41158	new name for file tarctan.c
41159
41160	renamed to tatan.c
41161
41162	renamed tarctan.c into tatan.c
41163	added tasin.c
41164
41165	renamed arctan.c to atan.c
41166	added asin.c
41167
41168	new name for file arctan.c
41169
41170	moved to atan.c
41171
41172	low significant bit is in ap[0] and not in ap[an-1] !!!
41173
411742001-08-13  Vincent Lef��vre  <vincent@vinc17.net>
41175
41176	Cleaner MPFR_SET_SAME_SIGN.
41177
41178	Macros MPFR_SET_SAME_SIGN, MPFR_INIT and MPFR_INIT1 changed to expressions.
41179
411802001-08-10  Vincent Lef��vre  <vincent@vinc17.net>
41181
41182	Bugs fixed (wrong types).
41183
41184	Macros mpfr_init_set_* changed to expressions.
41185
41186	Makefile.in update.
41187
411882001-07-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41189
41190	edited wrt GNU style
41191
41192	fixed stupid bug: ceil(a/b) isn't (a+b-1)/a but simply a/b for a negative!
41193
41194	fixed array bound write (bn < an + cancel1 + 1)
41195
41196	macros MPFR_NOTZERO and MPFR_ISZERO did not work properly with 64-bit words
41197
411982001-06-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41199
41200	fixed bug for output base 2^k
41201
41202	added one test
41203
41204	added a section for the exponential
41205
41206	fixed bug when dividend is 0
41207
412082001-06-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41209
41210	moved TMP_FREE
41211
41212	added 2 things
41213
412142001-06-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41215
41216	added mpfr.info to files to remove for "make distclean"
41217
412182001-06-23  Vincent Lef��vre  <vincent@vinc17.net>
41219
41220	Non-existent C source references removed.
41221
41222	Macros MPFR_INIT and MPFR_INIT1 fixed.
41223
412242001-06-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41225
41226	nested double TMP_DECL's
41227
412282001-06-14  David Daney  <david.daney@inria.fr>
41229
41230	A few patches.
41231
412322001-06-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41233
41234	added mpfr_sin and mpfr_cos
41235	corrected in the documentation some exact values
41236
412372001-06-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41238
41239	removed 2 tabs
41240
41241	added change explaining the LGPL with non-free programs
41242
412432001-05-31  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
41244
41245	Patch for the case b = 0 or c = 0.
41246
412472001-05-23  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
41248
41249	Added DDefour's bug.
41250
412512001-05-22  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
41252
41253	Patch in the case MPFR_PREC(b) > MPFR_PREC(a)+cancel.
41254
412552001-05-10  Vincent Lef��vre  <vincent@vinc17.net>
41256
41257	fixed bug in mpfr.texi
41258
412592001-05-10  David Daney  <david.daney@inria.fr>
41260
41261	correction du bug donne par vincent + ajout des aides des fonctions hyperbolic
41262
412632001-05-09  David Daney  <david.daney@inria.fr>
41264
41265	*** empty log message ***
41266
412672001-04-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41268
41269	log(0) now returns 0 (exact infinity)
41270
412712001-04-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41272
41273	fixed pbs with NaN/Inf
41274
41275	fixed new bug found by Nathalie Revol (case when add_one_ulp produces a carry)
41276
41277	added new bug found by Nathalie Revol
41278
41279	fixed bug for 1.0000... - 0.000001 for rounding up or nearest
41280
412812001-04-17  Nathalie Revol  <Nathalie.Revol@inria.fr>
41282
41283	Case where argument < 0 included, NR 17-04-2001
41284
412852001-04-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41286
41287	added new (special) tests
41288
41289	test file for mpfr_sub
41290
41291	added tsub
41292
412932001-04-06  David Daney  <david.daney@inria.fr>
41294
41295	change old exp2 (conflict with 2^x) to exp_2
41296
412972001-04-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41298
41299	0 -> GMP_RNDN
41300
41301	check apart the case c=0 (otherwise some low significant limbs may be
41302	non zero, which may produce a wrong result)
41303
41304	mpfr_exp2 -> mpfr_exp_2
41305
41306	mpfr_exp2 -> mpfr_exp_2
41307
413082001-04-05  David Daney  <david.daney@inria.fr>
41309
41310	reactualise .h
41311
41312	change header
41313
41314	change reuse to suppress factorial
41315
41316	suppress of timing in makefile
41317
41318	add the old exp2 function and file renamed by exp_2
41319
41320	change makefile for new functions
41321
41322	change make file test for hyperbolic function exp2 and factorial
41323
41324	add new test file for hyperbolic function
41325
41326	add test file for new function
41327
41328	add function
41329
41330	new file function
41331
41332	new function file
41333
413342001-04-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41335
41336	new version with cmp2.c
41337
41338	fixed pb with inexact flag when 'int' and 'mp_limb_t' has different sizes
41339
413402001-04-05  David Daney  <david.daney@inria.fr>
41341
41342	fixed bug for mpfr_cmp_ui (Inf, 0)
41343
41344	fixed bug for mpfr_set_ui (x, 0) [was giving -0]
41345
413462001-04-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41347
41348	added algorithm for mpfr_cmp2
41349
41350	added cmp2.c
41351
41352	fixed bug when diff_exp >= BITS_PER_MP_LIMB
41353
41354	added new test for worst cases: 1 - 1/2^i and (1 + 1/2^i) - 1/2^i
41355
41356	changed return value of mpfr_cmp2
41357
41358	new file for mpfr_cmp2
41359
41360	moved mpfr_cmp2 to separate file cmp2.c
41361
41362	added several tests, and a routine that generates worst cases
41363
41364	two changes suggested by Kevin Ryde
41365
413662001-04-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41367
41368	new version from new Makefile.am
41369
413702001-03-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41371
41372	added new test
41373
41374	fixed new bug in mpfr_cmp2 found by Fabrice
41375
413762001-03-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41377
41378	added new test
41379
41380	fixed bug found by Nathalie Revol
41381
413822001-03-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41383
41384	added 2 items
41385
41386	added test for mpfr_cmp_ui (-0, 0)
41387
41388	now prints -0 for -0
41389
413902001-03-19  Nathalie Revol  <Nathalie.Revol@inria.fr>
41391
41392	Comparison between 0- and 0 now returns 0, NR 19-03-2001
41393
413942001-03-16  Vincent Lef��vre  <vincent@vinc17.net>
41395
41396	added cast to avoid a warning
41397
413982001-03-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41399
41400	added tests for inexact return value
41401
41402	tiny bug in inexact value determination
41403
41404	mpfr_mul now returns an int
41405
414062001-03-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41407
41408	description of algorithms
41409
41410	reorganized
41411
414122001-03-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41413
41414	added few things
41415
41416	added arc-tangent
41417
41418	added tarctan
41419
41420	added test to mpfr_arctan
41421
41422	added header
41423
41424	test file for mpfr_arctan
41425
41426	removed math.h
41427
41428	arctangent function (contributed by Mathieu Dutour, done slight changes)
41429
41430	added Mathieu Dutour in contributors
41431
41432	added mpfr_arctan
41433
41434	added one test
41435
41436	fixed bug in mpfr_can_round_raw, when err > bn*BITS_PER_MP_LIMB
41437
41438	now tset_str <number> <prec> is possible
41439
414402001-03-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41441
41442	fixed bug for Infinity (was testing zero before)
41443
414442001-03-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41445
41446	replaced (mp_limb_t) 4294967295 by CNST_LIMB(0xFFFFFFFF)
41447
414482001-02-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41449
41450	forgot to declare q in mpfr_get_d2 when BITS_PER_MP_LIMB=64
41451
414522001-02-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41453
41454	removed fprintf() when unexpected end of string
41455
41456	added undef's to avoid warnings at compilation
41457
414582001-02-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41459
41460	removed mpfr_set_machine_rnd_mode
41461
414622001-02-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41463
41464	changed "int main(..)" to two lines
41465
41466	now initialize str_is_null correctly
41467
41468	added more tests
41469
41470	don't change MPFR_SIZE when allocated size is enough
41471
41472	updated specification of mpfr_sgn
41473
41474	changed definition of mpfr_sgn to get rid of MPFR_NOTZERO
41475
41476	size of freed block by __gmp_free_func was wrong
41477
41478	added tisnan and tget_d
41479
41480	fixed bug for Inf (recognized as an ordinary number)
41481
41482	new test file
41483
414842001-02-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41485
41486	check overflow in _mpfr_ceil_exp2
41487
414882001-02-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41489
41490	added prototype for Ulp
41491
41492	changed _d to _p, added mpfr_number_p
41493
41494	changed MPN_COPY into MPN_COPY_INCR/MPN_COPY_DECR in mpfr_round_raw
41495
41496	added tests for one of arguments NULL
41497
41498	moved mpfr_sgn to mpfr.h (defined in manual)
41499
41500	use MPZ_REALLOC
41501
41502	added const to 2nd argument of mpfr_set_str
41503
41504	added set_ui.c
41505
41506	added cast to "unsigned long" for ai = ABS(i)
41507	moved mpfr_set_ui to separate file
41508
41509	now when str==NULL return a block which is exactly strlen(str)+1 bytes long
41510
41511	fixed problems with old K&R compilers (_PROTO missing)
41512
415132001-02-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41514
41515	added more items
41516
415172001-01-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41518
41519	fixed ulp computation
41520
415212001-01-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41522
41523	changed behaviour for "tlog N": prints only differences with increasing ulps
41524
41525	fixed pb in mpfr_get_d2 for 64-bit machines: in q + res/MP_BASE_AS_DOUBLE,
41526	q seems first to be cast into a double, which gives more than one ulp of
41527	error
41528
415292001-01-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41530
41531	added guard to prevent multiple inclusion
41532
41533	fixed bug in mpfr_cmp2 (found on the IA64)
41534
415352001-01-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41536
41537	added tests for 0 in mpfr_set_str_raw
41538
41539	fixed bug for +0000E0
41540
41541	incorporated changes from Kevin/Torbjorn for GMP 3.2
41542
41543	truncate the last uk (when the precision is not a power of 2)
41544
41545	_mp_allocate_func -> _gmp_allocate_func
41546
41547	_mp_reallocate_func -> _gmp_reallocate_func
41548
41549	__gmp_default_fp_bit_precision -> __mpfr_default_fp_bit_precision
41550
41551	_mp_xxx_func -> _gmp_xxx_func
41552
41553	removed mpfr_srandom
41554
41555	sprintf -> fprintf
41556	_mp_free_func -> _gmp_free_func
41557
41558	_mp_reallocate_func -> __gmp_reallocate_func
41559
41560	added paragraph on NaN and infinities, docu on mpfr_nan_d and mpfr_inf_d
41561	removed mpfr_srandom
41562	some renamings
41563
41564	removed srandom
41565	__gmp_default_fp_bit_precision -> __mpfr_default_fp_bit_precision
41566	added protocols for mpfr_get_default_prec, mpfr_nan_d and mpfr_inf_d
41567
41568	removed superfluous TMP_FREE(marker)
41569
41570	_mp_xxx_func -> _gmp_xxx_func
41571
41572	_mp_free_func -> _gmp_free_func
41573
41574	functions to check for NaN and infinities
41575
41576	added isnan.c, removed srandom.h
41577
41578	added two items from Kevin
41579
41580	add 2 items
41581
41582	0.4 -> 1.0
41583
415842001-01-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41585
41586	added one test for large operands
41587
41588	fixed bug in _mpfr_ceil_exp2 (underflow when exp < -1022)
41589
415902000-12-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41591
41592	remove what was done
41593
41594	added mpfr-test.h
41595
41596	added Vincent
41597
41598	1.1 -> 2001
41599
41600	cast for _mpfr_floor_log2 was on the wrong side
41601
41602	added one test
41603
41604	simplified _mpfr_floor_log2
41605
41606	code was wrong for infinity
41607
41608	only editing
41609
41610	added special() cases
41611
41612	removed #if 0 (on Alpha with cc the enclosed code was still used
41613	since the # was not in the first column)
41614
41615	changes for version 1.1
41616
41617	added one test (exp2 vs exp3)
41618
41619	changed c from mp_limb_t into unsigned long in mpfr_exp2_aux2
41620	(otherwise bugs on IRIX -n32)
41621
41622	added one test
41623
41624	fixed wrong combination of conditions for Infinity
41625
41626	added mpfr-test.h for MIPS
41627
416282000-12-22  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
41629
41630	Modified macro calls
41631
416322000-12-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41633
41634	added cast (int) to random() to avoid warning on Solaris
41635
41636	added <string.h>
41637
41638	tiny change at the end of main routine (suggested by Guillaume)
41639
41640	added one test
41641
41642	added two more tests
41643
41644	fixed bug when c does not overlap with a, b is negative and GMP_RNDN
41645
41646	moved prototypes for mpfr_set4 and mpfr_cmp3 to mpfr.h
41647
41648	fixed bug in mpfr_cmp2 when d=0 and lots of bits match
41649
41650	updated for version 1.1
41651
416522000-12-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41653
41654	test file for power functions
41655
41656	test file for in-place operations
41657
41658	unsigned char (or int) -> mp_rnd_t
41659
41660	unsigned char -> mp_rnd_t
41661
41662	unsigned int -> mp_rnd_t
41663
41664	k2r -> ansi style
41665	removed #include <math.h> by defining auxiliary functions
41666	fixed several tiny remaining bugs with NaN/Inf
41667
41668	updated description of mpfr_cmp* and mpfr_sin_cos
41669
41670	added MPFR_SIGN
41671
41672	added MPFR_CLEAR_NAN
41673	MPFR_RESET_INF -> MPFR_CLEAR_INF
41674	moved MPFR_SIGN to mpfr.h
41675	added prototypes for log2/isqrt/cuberoot functions
41676
41677	added reuse, tcmp2, teq, tpow, trandom, ttrunc
41678
41679	removed isnan(), ...
41680
41681	removed gmp-impl.h, isnan(), ...
41682
41683	removed gmp-impl, isnan(), ...
41684
41685	removed cputime stuff
41686
41687	k&r -> ansi style
41688
41689	removed isnan() decl.
41690
41691	MINNORM -> mpfr-test.h
41692
41693	ulp -> mpfr-test.h
41694
41695	removed isnan() declaration
41696
41697	now use MINNORM and MAXNORM
41698
41699	max, min -> macros
41700
41701	added new tests
41702
41703	added MINNORM, MAXNORM, MIN, MAX, ABS
41704
417052000-12-20  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
41706
41707	A few basic patches.
41708
41709	Added support for PPC/Linux
41710
41711	Patch for wrong prototype.
41712
41713	Added prototypes for all test files.
41714
417152000-12-18  Vincent Lef��vre  <vincent@vinc17.net>
41716
41717	Warnings suppressed on Alpha/OSF1.
41718
417192000-12-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41720
41721	added mpfr-test.h
41722
41723	back to 1.3
41724
41725	auxiliary test files
41726
41727	moved to main directory
41728
41729	auxiliary test functions
41730
41731	changed name of mpfr struct fields: _mp_d -> _mpfr_d
41732		(to detect conflicts with mpf)
41733	fixed a few problems in non-STDC headers
41734	moved definitions of mpfr-impl.h to mpfr-test.h and created a real mpfr-impl.h
41735
417362000-12-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41737
41738	removed tzeta
41739
41740	explained how to enter NaN/Inf with mpfr_set_str_raw
41741
41742	removed zeta.c
41743
41744	added 'to do' for NaN/Inf flags
41745
41746	clear NaN/Inf flags of result
41747
41748	improved indentation
41749
41750	adapted to NaN/Inf
41751
41752	nothing (only better indenting)
41753
41754	adapted to NaN/Inf
41755	removed warnings
41756
41757	adapted to NaN/Inf
41758
41759	removed warnings
41760
41761	clear NaN/Inf flags in normal case
41762
41763	adapted to NaN/Inf
41764
41765	added prototype for mpfr_srandom
41766
41767	now uses directly mpn_random, to avoid all problems with include files
41768
41769	added 4 tests
41770
41771	_mp_d -> MPFR_MANT
41772
41773	added error message when memory allocation fails
41774
41775	added error message when memory allocation fails
41776
41777	_mp_d -> MPFR_MANT
41778
41779	0 -> NULL
41780
41781	added error message if memory allocation fails
41782
41783	_mp_d -> PTR
41784
41785	_mp_prec -> MPFR_PREC
41786	_mp_d -> MPFR_MANT
41787
41788	added mpfr_swap
41789
41790	removed MPFR_SET_IS_FP (not used)
41791
417922000-12-15  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
41793
41794	A few patches.
41795
417962000-12-15  Vincent Lef��vre  <vincent@vinc17.net>
41797
41798	MPFR_CHANGE_SIGN modified to avoid a possible side effect.
41799
418002000-12-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41801
41802	warning: x is a MPF not a MPFR!
41803
418042000-12-15  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
41805
41806	Modification of the order of includes in random.c
41807
418082000-12-15  Vincent Lef��vre  <vincent@vinc17.net>
41809
41810	Added some warning flags for GCC.
41811
418122000-12-15  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
41813
41814	Header file for srandom()
41815
41816	Patches for compiler warnings.
41817
41818	Yet another patch for include files.
41819
41820	Permutation of includes to avoid warnings due to careless multiple definition
41821	of ULONG_MAX.
41822
418232000-12-14  Vincent Lef��vre  <vincent@vinc17.net>
41824
41825	Bug fixed concerning the flags.
41826
41827	Bugs fixed (in case char is signed and accented characters are given).
41828
41829	Include "urandom.h". Old code removed.
41830
41831	Take into account Inf, Nans ; clear the flags of the return variable
41832	in most function calls.
41833
41834	Use urandom().
41835
41836	Take into account Inf, Nans ; clear the flags of the return variable
41837	in most function calls.
41838
418392000-12-14  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
41840
41841	Yet another random patch.
41842
41843	Replaced random by rand.
41844
418452000-12-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41846
41847	fixed pb with mp_ptr vs mp_srcptr
41848
418492000-12-13  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
41850
41851	Take into account Inf, Nans ; clear the flags of the return variable
41852	in most function calls. Tests updated accordingly
41853
41854	Take into account Inf, Nans ; clear the flags of the return variable
41855	in most function calls.
41856
418572000-12-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41858
41859	check that we can round the cosine too
41860
418612000-12-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41862
41863	removed TIMING stuff
41864	ensures prec_x >= 0
41865
41866	we need m >= 2 in mpfr_exp2_aux2
41867
41868	forgot TMP_MARK(marker)
41869
41870	forgot TMP_MARK(marker) or free'd in wrong order
41871
41872	forgot TMP_MARK(marker)
41873
41874	fixed mpf_reldiff, mpf_urandomb and mpf_t
41875
41876	added stack-alloc.h when --disable-alloca
41877
418782000-12-11  Vincent Lef��vre  <vincent@vinc17.net>
41879
41880	out_str.c: <string.h> included
41881	set_d.c: (0./0.) instead of sqrt(-1) for NaN (doesn't need <math.h>)
41882	set_d.c: () added for macros Infp and Infm
41883
418842000-12-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41885
41886	shortened string in mpfr_set_str_raw which was greater than precision
41887
41888	replaced isnan/isinf/math.h (not portable, for example isinf does not exist
41889	on Sparc) by new macros from mpfr.h
41890
41891	added an error message when the mantissa is larger than the precision
41892	(in mpfr_set_str_raw)
41893
41894	added macros to recognize doubles that are NaNs and infinities
41895	(isinf is not portable and requires math.h)
41896
41897	in case the destination precision is less than that of the operands,
41898	and the 1st iteration fails, increase directly the precision to the maximum
41899	of that of the operands, otherwise divisions by 1.0 may need lots of
41900	iterations
41901
41902	added 'return' after dealing with infinities
41903
41904	added wish from JC Fauge`re
41905
419062000-12-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41907
41908	mpfr_init/mpfr_init2 initialize to 0 (compatibility with mpf)
41909
41910	fixed bug in mpfr_cmp2 when return value is k*BITS_PER_MP_LIMB-1
41911
41912	added new test for mpfr_cmp2
41913
41914	now ABSSIZE uses only 29 bits
41915
419162000-12-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41917
41918	added some explanations how to free the memory space allocated by mpfr_get_str
41919
41920	fixed one bug found by N. Mueller (MPFR_ABSSIZE(u) was used instead of usize)
41921
41922	added one more test from N. Mueller
41923
419242000-12-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41925
41926	cleaned calls to mpfr_extract
41927
41928	added new line
41929
41930	added error message when _mp_allocate_func returns 0
41931
41932	added header for mpfr_extract
41933
41934	- documented what function does
41935	- cleaned code
41936	- added header about license...
41937
41938	replaced log(2.0) by LOG2 [first step in getting rid of math.h]
41939
41940	added extern "C" { ... } for inclusion in C++
41941	removed old KARATSUBA threshold for gmp 2.0.2
41942
41943	fixed bug in mpfr_cmp3 (when b=0, s not taken into account)
41944
41945	added swap/tswap
41946
41947	test file for new function mpfr_swap
41948
41949	added new function mpfr_swap
41950
41951	changed copyright to Free Software Foundation
41952
41953	added possible bug in mpfr_get_str
41954
41955	now all is in mpfr.h
41956
41957	return value was wrong for input non-zero (should return 1 = inexact)
41958
41959	fixed/improved doc. of mpfr_sin_cos and mpfr_urandomb
41960
41961	removed macro for mpfr_init_set_str_raw
41962
41963	added prototype for mpfr_sin_cos
41964
41965	sign of result was not correctly (re)set
41966
41967	added test to check sign of square root
41968
419692000-11-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41970
41971	gained a factor of 2 in most cases (replaced initial constant factor=2
41972	for additional bits for cos(x) by log(n))
41973
41974	added tsin_cos
41975
41976	fixed potential problem in mpfr_sub1 (k=0 and kc<0)
41977
41978	test file for sin/cos
41979
419802000-11-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
41981
41982	forgot cast to int before comparison between imax (can be negative) and an
41983
41984	returned value was one too small in case d=1
41985
41986	added new test from N. Mueller
41987
41988	added return for case of infinities
41989
41990	added macro MPFR_RESET_INF
41991
41992	don't forget to reset infinity flag if set!
41993
41994	fixed bug in mpfr_cmp2: wrong limb considered after cp[cn--] when
41995		cp[cn] was not 111...111
41996
41997	fixed bug when imax>an
41998
419992000-11-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
42000
42001	added macro MPFR_IS_ZERO
42002
420032000-11-21  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
42004
42005	Infinis, premiere tentative (tests)
42006
42007	Infinis, premiere tentative.
42008
420092000-11-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
42010
42011	added one remark from GH
42012
42013	removed mpfr_cmp2
42014
420152000-11-13  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
42016
42017	Added support for Inf. Modified zeta.
42018
420192000-10-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
42020
42021	protection of macros done
42022
42023	shell-script to replace xxx by yyy in all source files
42024
42025	protected macros: xxx -> MPFR_xxx
42026
42027	protected all macros: xxx -> MPFR_xxx
42028
420292000-10-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
42030
42031	fichier d'include pour mpfi.c
42032
42033	interval arithmetic level (1st version)
42034
42035	added two suggestions from Ben Hinkle
42036
420372000-10-19  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
42038
42039	Bof.
42040
42041	Suppression de vieilleries.
42042
42043	1 << 31 -> ((unsigned int)1) << 31.
42044
42045	Correction de prototypes faux dans le cas ou on n'est pas -D__STDC__.
42046
420472000-10-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
42048
42049	malloc -> *_mp_allocate_func or TMP_ALLOC
42050
42051	mpfr_t -> mpfr_ptr or mpfr_srcptr
42052
420532000-09-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
42054
42055	removed -> all is in texp.c
42056
42057	added comparison between exp2 and exp3
42058
42059	take also the target precision into account for the guard bits
42060
42061	new faster version with O(n^(1/3)*M(n)) algorithm
42062
42063	adjusted exp2-exp3 threshold for new faster version of mpfr_exp2
42064
42065	added mpz_set_fr.c
42066
42067	added tdump
42068
42069	fixed pb for op=0 (added \0 at the end of string)
42070
42071	use strlen to determine memory to free
42072
42073	test file for mpfr_dump
42074
42075	removed karasqrt.c, added sqrtrem.c
42076
42077	kara_sqrtrem -> mpn_sqrtrem_new
42078
42079	now replaced by new code in sqrtrem.c
42080
42081	now uses new code mpn_sqrtrem_new
42082
42083	new version of fast MPN square root
42084	(should be integrated in a future release of GNU MP)
42085
420862000-09-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
42087
42088	added another example from N. Mueller
42089
42090	fixed another ABW bug
42091
42092	fixed two Array Bound Writes
42093
42094	fixed one Array Bound Read (to_nearest, bp=cp and k>=cn)
42095
42096	added 2 new tests from Norbert Mueller
42097
420982000-09-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
42099
42100	added new test
42101
42102	fixed Array Bound Write
42103
421042000-09-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
42105
42106	added some words about the inclusion of mpfr.h
42107
42108	we need to better protect macros
42109
42110	removed MPFR_OBJECTS (does not work)
42111
42112	added $(MPFR_OBJECTS) in libmpfr_a_LIBADD
42113
42114	added $(MPFR_OBJECTS) in libmpfr_a_DEPENDENCIES
42115
42116	added contributions from Emmanuel Jeandel and Thom Mulders
42117
42118	added Thom Mulders
42119
42120	routines for naive/fast short multiplication,
42121	contributed by Thom Mulders (ETH Zu"rich)
42122
421232000-09-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
42124
42125	added new test for overlapping x, y
42126
42127	fixed problem when x=y
42128
421292000-09-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
42130
42131	added pb from Norbert Muller
42132
42133	fixed SEGV (mpn_lshift doesn't seem to like src_size=0)
42134
42135	now prints "failed" when test file doesn't return 0
42136
421372000-08-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
42138
42139	replaced mpn_divrem by mpn_tdiv_qr for gmp 3 or later
42140	and avoid copy of one operand when possible
42141
42142	updated (make check, make install)
42143
42144	described each file
42145
42146	News for version 1.0
42147
421482000-08-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
42149
42150	fixed bug for 0.9999999999...
42151
42152	added test for 0.99999999999999999
42153
421542000-08-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
42155
42156	added mpfr_swap
42157
42158	now store last computed value together with last rounding mode
42159
421602000-08-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
42161
42162	target ps -> mpfr.ps
42163
42164	added $(srcdir) to trunc.c for sub-directory compilation
42165
421662000-08-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
42167
42168	removed some memory leaks
42169
42170	solved memory leaks with T[i] and qtoj[i]
42171
42172	updated (done autoconf, faster mpfr_exp, sin/cos)
42173
42174	updated for version 1.0
42175
42176	COPYING.LIB -> COPYING
42177
42178	renamed back (wanted for "make dist")
42179
42180	renamed back to COPYING (wanted for "make dist")
42181
42182	GNU Library General Public License
42183
42184	renamed to COPYING.LIB, according to mpfr.texi
42185
42186	result was free'd twice when good=1
42187
42188	put information about authors
42189
42190	PACKAGE and VERSION are not defined any more
42191
42192	gmp-mparam.h is required too
42193
42194	IRIX make does not recognize $< (MISCFLAGS)
42195
42196	do not define PACKAGE and VERSION in AM_INIT_AUTOMAKE,
42197	this avoids conflicts with GMP 3.1 config.h
42198	[thanks to Kevin Ryde]
42199
42200	updated for GMP 3.1
42201
42202	MP_BASE_AS_DOUBLE already defined in gmp-impl.h
42203
42204	nb_terms[0] was not initialized
42205
42206	fixed some FNH (free not in heap) problems for binary splitting method
42207	(prec >= 30000)
42208
42209	gmp.info -> mpfr.info
42210
42211	set_dfl_rnd.* -> set_rnd.* (to avoid conflict with set_dfl_prec.* on DOS 8.3)
42212
42213	now automatically generated by configure
42214
42215	added if (__GNU_MP_VERSION < 3) for mpn_divrem_1-bug patch
42216
42217	set_dfl_rnd -> set_rnd
42218
42219	new name of set_dfl_rnd.c (avoids clash with set_dfl_prec.c on DOS 8.3)
42220
42221	renamed to set_rnd.c (otherwise truncates like set_dfl_prec.c on
42222	a DOS 8.3 filesystem)
42223
42224	setfilename: gmp.info -> mpfr.info
42225
42226	replaced path for libmpfr.a by $(top_builddir)
42227	test files are now in check_PROGRAMS instead of bin_PROGRAMS (they don't need
42228		to be installed)
42229
42230	replaced back BITS_PER_MP_LIMB by mp_bits_per_limb
42231	(not important in test files)
42232
422332000-08-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
42234
42235	replaced macros for mpfr_init_set_si by "do { ... } while (0)" so
42236	they'll work in an if/else like
42237
42238	        if (foo)
42239	          mpfr_init_set_si (f, -123, GMP_RNDN);
42240	        else
42241	          bar ();
42242
42243	[thanks to Kevin Ryde]
42244
422452000-08-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
42246
42247	replaced mp_bits_per_limb by BITS_PER_MP_LIMB (constant)
42248
422492000-08-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
42250
42251	added mpf2mpfr.h
42252
42253	define check2 only with -DTEST
42254
42255	updated for new configure from Emmanuel Jeandel, to GMP 3.xxx
42256	and removed errors with texinfo
42257
42258	solaris --> __sparc__
42259
42260	ifdef IRIX64 -> ifdef __mips
42261
42262	IRIX/make does not understand $< : expanded to trunc.c
42263
42264	use standard macro for Alpha
42265
422662000-07-13  Emmanuel Jeandel  <emmanuel.jeandel@loria.fr>
42267
42268	autoconf options described
42269
42270	timestamp modified
42271
42272	timestamp changed
42273
42274	nothing to say
42275
42276	Timestamp
42277
42278	Small bug fixed
42279
42280	Timestamp modified ?
42281
42282	Timestamp modified
42283
42284	Nothing
42285
42286	New release
42287
42288	Bugs fixed
42289
42290	Bug fixed
42291
42292	sin_cos added
42293
42294	New algorithm, new wrapper
42295
422962000-07-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
42297
42298	replaced 0 by GMP_RNDN
42299
42300	fixed (hopefully) bug for 1/1 in precision 32, 64, ...
42301
42302	added test for 1/1 in precision 32 or 64
42303
423042000-07-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
42305
42306	use mpfr_print_rnd_mode now
42307
423082000-07-11  Emmanuel Jeandel  <emmanuel.jeandel@loria.fr>
42309
42310	Bug Fixed, and installation guide made
42311
42312	Fixed bug
42313
42314	Bug Fixed with Solaris make
42315
42316	strings.h added
42317
42318	Deps included
42319
42320	Bug Fixed
42321
42322	Bug fixed
42323
42324	Bug Fixed
42325
42326	First Release
42327
42328	*** empty log message ***
42329
42330	First Release
42331
42332	First release
42333
42334	Added sin_cos
42335
42336	First Release
42337
423382000-06-29  Emmanuel Jeandel  <emmanuel.jeandel@loria.fr>
42339
42340	Memory problems fixed
42341
42342	Memory Leaks Fixed
42343
423442000-06-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
42345
42346	added prototype for mpfr_sub_ui
42347
42348	now use mpfr macros
42349
42350	be careful not to call mpn_sub_n/mpn_sub_1 with a size 0
42351
42352	fixed to free an entire number of limbs
42353
42354	test file for sub_ui
42355
423562000-06-28  Emmanuel Jeandel  <emmanuel.jeandel@loria.fr>
42357
42358	mpfr_exp3 and mpfr_extract added to Makefile
42359
42360	First Release
42361
423622000-06-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
42363
42364	distinguish between mpfr failure and difference with sqrt()
42365
42366	ensures random numbers given to sqrt() are positive
42367
42368	adapted for freebsd
42369
42370	modified drand to avoid false NaNs (makes SEGV under FreeBSD)
42371
42372	added entry for FreeBSD, removed -pedantic option
42373
42374	added one test
42375
42376	added new tests
42377
42378	added prototype for mpfr_set_prec_raw
42379
42380	removed work done
42381
42382	fixed several bugs
42383
42384	merged different roundings in case diff_exp<PREC(a), dif<=PREC(c)
42385
42386	removed printf for argc=1
42387
42388	added one test
42389
42390	make ceil.o,floor.o,trunc.o depend on trunc.c
42391
423922000-06-20  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
42393
42394	Various patches for leaks, UMR and (one) BUS.
42395
423962000-06-19  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
42397
42398	This patch suppresses a few mem leaks.
42399
42400	Suppressed memory leaks.
42401
42402	Patch for 1 << (BITS_PER_MP_LIMB - x) when x is 0 (produces inexact results
42403	on PPCs).
42404
424052000-06-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
42406
42407	arguments of gmp_randinit were in wrong order
42408
424092000-06-16  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
42410
42411	Patch in the case when n_bits is a multiple of 32.
42412
424132000-06-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
42414
42415	added patch to get denorms on IRIX64
42416
42417	put instruction to get denormalized numbers on IRIX64 out of #ifdef TEST
42418
42419	fixed bug occurring on LinuxPPC (1 << 32)
42420
42421	added one test (bug on LinuxPPC)
42422
42423	added one test
42424
42425	fixed several problems
42426
42427	added more tests
42428
424292000-06-16  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
42430
42431	Patches for the case where the precision is a multiple of the word size.
42432
424332000-06-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
42434
42435	fixed another bug
42436
42437	added one test
42438
42439	added prototype for mpz_set_fr
42440
42441	improved choice of initial precision
42442
42443	added mpz_set_fr (conversion from mpfr to mpz)
42444
42445	added return type 'int' for main
42446
424472000-06-15  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
42448
42449	Added TESTFLAGS to the main Makefile. Added ttrunc.
42450
42451	Minor patch (put to 0 the nonsignificant bits).
42452
42453	Added declaration of trunc, ceil, floor.
42454
42455	Tests for trunc, ceil, floor.
42456
42457	Added TESTFLAGS variable to the compile instruction, for use as
42458	make "TESTFLAGS=-DTEST"
42459
424602000-06-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
42461
42462	1 -> (mp_limb_t) 1 [pb on 64-bit machines]
42463	reduced number of tests to 1000
42464
424652000-06-15  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
42466
42467	Display of statistics is only toggled if a number of tests to be performed
42468	is given. Shameful hack, but is getopt really portable ?
42469
42470	Added trandom, teq
42471
42472	Added random2, urandomb
42473
42474	Added div_2exp to the (very rough) test.
42475
42476	Very basic statistical tests for random, random2, urandomb.
42477
42478	Patch for random (libc's random() is on 31 bits only)
42479
42480	Test for mpfr_eq.
42481
42482	Patch a few incoherences of eq.c wrt the manual + adapt to mpfr usual semantics
42483
424842000-06-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
42485
42486	header file providing cputime() function
42487
42488	test file comparing mpfr_exp and mpfr_exp2
42489
42490	O(n^(1/3)*log(n)) algorithm using Brent's method
42491	and Brent-Kung's O(sqrt(t)) algorithm to evaluate
42492	a power series of order t [exact rounding not yet finished]
42493
424942000-05-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
42495
42496	fixed bug in mpfr_round (wrong sign)
42497
42498	fixed bug in mpfr_round: did not check allocated space was large enough
42499
42500	main -> int main
42501
42502	added #ifdef TEST: if not defined (default), then function
42503	mpfr_set_machine_rnd_mode is not defined
42504
42505	added #ifdef TEST to disable comparison with machine arithmetic
42506	by default (i.e. calls to mpfr_set_machine_rnd_mode)
42507
42508	removed longlong.h (not needed)
42509
42510	now deals with NaN
42511
42512	RND_MODE -> rnd_mode
42513
42514	mpfr_init is now a function (no more a macro)
42515
42516	printf -> fprintf
42517	added mpfr_init as function
42518
42519	changed (x) -> x
42520	fixed several typos
42521
42522	removed printf
42523
425242000-05-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
42525
42526	added ifdef TEST
42527
42528	removed debug line
42529
42530	added one test
42531
42532	added 2 new tests
42533
42534	little change
42535
42536	more changes
42537
42538	added ifdef TEST
42539
42540	does not use machine rounding mode any more
42541
42542	added 7 new tests
42543
42544	fixed typo in printf format
42545
42546	fixed several rounding problems
42547
42548	rewritten case dif<=0 and PREC(b)>PREC(a) (merged all roundings)
42549
42550	removed DEBUG, VERBOSE ifdef's
42551
42552	fixed (hopefully) the case dif<=0, PREC(b)>PREC(a), directed rounding
42553
42554	replaced (mp_limb_t)1 by macro ONE
42555	fixed bug for GMP_RNDN with overlap=1
42556
42557	removed misplaced comment
42558
42559	added one test
42560
42561	does not use rnd_mode.c by default
42562
42563	removed unused label
42564
42565	fixed more tiny bugs
42566
425672000-05-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
42568
42569	use mpfr_print_rnd_mode now
42570
42571	added one test
42572
42573	added more tests
42574
42575	removed TMP_ALLOC stuff
42576
42577	fixed new bug when a <- b - c with tiny c
42578
42579	fixed bug in a <- b-c when c very small but does not overlap with a
42580
42581	removed 'inline' (does not compile on Alpha with gcc 2.8.1)
42582
42583	added include file unistd.h
42584
42585	fixed warning with long arguments
42586
42587	initial version
42588
42589	added tests for mpfr_set_str
42590
42591	now returns 0 if all works
42592
42593	changed to return the error in ulps
42594
42595	added new functions mpfr_set_str and mpfr_inp_str
42596
42597	added prototypes for set_str, inp_str
42598	changed return value for mpfr*pow*
42599
42600	separated functions with/without rounding argument
42601
42602	added tabs
42603
42604	added set_str.o and inp_str.o
42605
426062000-05-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
42607
42608	initial version
42609
42610	added rule for sub_ui.o
42611
42612	use only one file (trunc.c) for ceil, floor, trunc
42613
42614	now use trunc.c for all 3 functions (ceil, floor, trunc)
42615
42616	added ifdef to avoid warning at compilation
42617
42618	removed unused variable
42619
42620	fixed output type for mpfr_ui_div
42621
42622	removed 3rd argument (use PREC(rop) instead)
42623	added include longlong.h
42624
42625	stupid typo: ABSSIZE -> ABSSIZE(x)
42626
42627	change due to new semantics of mpfr_init_set* macros
42628
42629	now makes an error when precision too large wrt allocated space
42630
42631	added new implemented functions
42632
42633	- added macro for mpfr_sgn
42634	- removed argument 'p' in mpfr_init_set* macros for compatibility with mpf
42635
42636	updated wrt new functions
42637
42638	added sub_ui
42639
42640	added new test files
42641
42642	new test files
42643
42644	added new tests
42645
42646	improved tests
42647
42648	new functions (compatibility with mpf)
42649
42650	added 4th arg (was missing in non-stdc def)
42651
42652	added new functions (compatibility with mpf)
42653
42654	added several prototypes
42655
42656	fixed remaining bug (case overlap=5, dif>0)
42657
42658	added add_ui, sqrt_ui, ui_div, ui_sub, reldiff
42659
426602000-05-21  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
42661
42662	Compatibility mpf/mpfr, second part. Ceil, floor, trunc. Yet untested.
42663
42664	Include file for compatibility module mpf -> mpfr.
42665
42666	Compatibility with mpf. WARNING: THESE FUNCTIONS ARE UNTESTED IN THEIR PRESENT
42667	FORM. THEY *DO* COMPILE HOWEVER.
42668
426692000-05-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
42670
42671	removed unused variables
42672
42673	removed ';'
42674
42675	added return
42676
42677	added calls to mpf[r]_clear, and rewrote to avoid memory leaks
42678
42679	added calls to free
42680
42681	corrected comment about field mp_size
42682
426832000-05-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
42684
42685	added tests for negative numbers
42686
42687	added one test
42688
42689	fixed pb with rounding of negative numbers
42690
426912000-05-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
42692
42693	added mpfr_abs
42694
42695	test file for mpfr_abs
42696
42697	added mpfr_abs (macro using mpfr_set4)
42698
42699	updated wrt done/new tasks
42700
427012000-05-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
42702
42703	added two tests
42704
42705	split mpfr_init2 into mpfr_init and mpfr_set_prec
42706
42707	removed karadiv.o
42708
42709	replaced mpn_divrem_n by mpn_divrem (efficient in GMP 3.0)
42710
42711	not needed any more with GMP 3.0
42712
42713	removed mpn_divrem_n stuff, now that Burnikel/Ziegler algorithm is in GMP 3.0
42714
42715	added one test
42716
427172000-05-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
42718
42719	completely rewritten (changed semantics)
42720
42721	initialized variable bh to avoid warning at compilation
42722
42723	added prototype for mpfr_set_default_rounding_mode
42724
42725	fixed pb in mpfr_cmp_ui_2exp for i=0
42726
42727	updated according to meeting from May 4, 2000
42728
42729	updated for AIX
42730
42731	updated for AIX (thanks to Gerardo Ballabio)
42732
427332000-05-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
42734
42735	added one test
42736
42737	fixed bug found by G. Ballabio for b=0 and 0<c<1
42738
42739	added info for GMP2 vs GMP3
42740
427412000-04-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
42742
42743	added -ffloat-store for Alpha/OSF
42744
42745	added cast to mp_limb_t (bug on Alpha in tadd with -O2)
42746
42747	added one test
42748
42749	removed #if 0
42750
42751	swapped gmp-impl.h and longlong.h for GMP 3.0
42752
427532000-04-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
42754
42755	added more tests
42756
42757	fixed pb when target precision is less than integer length
42758
42759	fixed problem not solved so far, i.e. when adding round bit
42760	produces a change of exponent
42761
427622000-04-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
42763
42764	fixed computation of ulps
42765
42766	removed variable xrw in mpfr_round_raw (not used)
42767
42768	replaced 1st my by my+sh in mpfr_round_raw call
42769
42770	added 2 more tests
42771
427722000-04-13  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
42773
42774	Correction d'un bug quand le carry contient tous les bits significatifs.
42775
427762000-02-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
42777
42778	improved indentation
42779	mpfr_pi -> mpfr_const_pi
42780
42781	added one test
42782
42783	mpfr_pi -> mpfr_const_pi
42784
42785	use mpfr_cmp_ui instead of SIGN
42786
42787	mpfr_log2 -> mpfr_const_log2
42788
42789	added -O2 compilation flag
42790	added set_q
42791
42792	convert rational (mpz_q) to floating-point (mpfr_t)
42793
42794	removed things which were done
42795
42796	unsigned char -> mp_rnd_t
42797	SIGN -> MPFR_SIGN
42798
42799	use PREC() macro instead of _mp_prec, and corrected size to free
42800
42801	SIGN -> MPFR_SIGN
42802
42803	unsigned char -> mp_rnd_t
42804	SIGN -> MPFR_SIGN
42805	added non standard C header
42806
42807	unsigned char -> mp_rnd_t
42808
42809	unsigned long int -> mp_prec_t
42810
42811	renamed to mpfr_const_log2
42812	unsigned char -> mp_rnd_t
42813
42814	unsigned char -> mp_rnd_t
42815	SIGN -> MPFR_SIGN
42816	unsigned long int -> mp_prec_t
42817
42818	unsigned char -> mp_rnd_t
42819	unsigned long int -> mp_prec_t
42820
42821	unsigned char -> mp_rnd_t
42822
42823	renamed to mpfr_const_pi
42824	unsigned char -> mp_rnd_t
42825
42826	unsigned char -> mp_rnd_t
42827	added non standard C header
42828
42829	SIGN -> MPFR_SIGN
42830
42831	added non standard C header
42832
42833	unsigned char -> mp_rnd_t
42834	SIGN -> MPFR_SIGN
42835	unsigned long int -> mp_prec_t
42836
42837	unsigned char -> mp_rnd_t
42838	SIGN -> MPFR_SIGN
42839
42840	unsigned long int -> mp_prec_t
42841
42842	har -> mp_rnd_t
42843
42844	changed rounding mode to mp_rnd_t
42845
428462000-02-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
42847
42848	now distinguish between true mpfr errors and possible errors from libm.a
42849
42850	now use print_rnd_mode
42851
42852	added suggestion from JP Merlet
42853
42854	added print_rnd_mode.c
42855
42856	added more tests
42857
42858	fixed bug(s) found by Jean-Pierre Merlet
42859
42860	changed prototype of mpfr_set_f (takes now only 3 arguments)
42861
428622000-02-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
42863
42864	added karasqrt.o
42865
42866	added prototype for kara_sqrtrem
42867	added redefinition of KARATSUBA_MUL_THRESHOLD (if not defined)
42868	removed definition of LOG_MP_BITS_PER_LIMB (was not used)
42869
42870	changed return type to mp_size_t and included mpfr.h
42871
42872	moved definition of KARATSUBA_MUL_THRESHOLD (if not defined) to mpfr.h
42873
42874	implements Katatsuba square root
42875
42876	now use kara_sqrtrem instead of mpn_sqrtrem
42877
42878	fixed bug when high limb of quotient is zero
42879
428802000-02-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
42881
42882	added one test [did fail on alpha]
42883
42884	added cast to mp_limb_t in front of 1<<sh
42885
42886	modified to be compatible with gmp-2.0.2
42887
42888	added further sqrt pb on alpha
42889
42890	swapped longlong.h and gmp-impl.h (pb on alpha)
42891
42892	added test for bug in sub.c found by JP Merlet on Solaris
42893
42894	fixed mpn_rshift which could have 0 as shift argument
42895	(caused bug in exp on Solaris found by JP Merlet)
42896
42897	moved debug messages to stdout
42898
428992000-02-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
42900
42901	added prototype for mpn_divrem_n (Burnikel-Ziegler algorithm)
42902
42903	use mpn_divrem_n (Burnikel-Ziegler algorithm) instead of mpn_divrem
42904	when rsize=rrsize
42905
42906	added karadiv.c (to be removed when incorporated in GMP)
42907
42908	Burnikel-Ziegler division
42909
429102000-01-31  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
42911
42912	added further examples from V. Lefe`vre
42913
429141999-12-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
42915
42916	added macri VERSION for target dist
42917
42918	added new tests from V. Lefe`vre
42919
42920	improved interface: tdiv N for doing N random tests
42921
42922	added one test
42923
42924	DEBUG2 -> DEBUG
42925
42926	added debug instructions
42927
42928	fixed nasty bug in mpfr_cmp2 (case cc=1)
42929
42930	replaced printf by fprintf for error
42931
429321999-12-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
42933
42934	added new tests for large input
42935
42936	fixed bug for large input
42937
42938	rewritten the error analysis:
42939	- now analyzes the cancellation a posteriori
42940	- takes into account errors from rounding and initial approximation
42941
42942	added tests from Vincent Lefe`vre
42943
42944	no warning any more for negative exponent (thanks to V. Lefe`vre)
42945
429461999-12-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
42947
42948	fixed bug found by V. Lefe`vre (when n<0, we have to compute
42949	an upper bound of log(2) instead of a lower bound)
42950
42951	added new test (bug found by V. Lefe`vre)
42952
429531999-12-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
42954
42955	added suggestion from V. Lefe`vre
42956
42957	added several remarks from Vincent Lefe`vre
42958
42959	corrected many typos found by Vincent Lefe`vre
42960
429611999-11-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
42962
42963	removed executable rights
42964
42965	improved GMP link (thanks to Vincent Lefe`vre)
42966	added pointer to Alpha-Linux f-p problems
42967
42968	removed executable right on file
42969
429701999-10-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
42971
42972	put back test for x=y
42973
42974	modified to avoid y=-0.0
42975
42976	modified test procedure to return 53 when x=y
42977
42978	mpfr_cmp2(b,c) now returns PREC(b) if b=c, even if c=0
42979
42980	added one test
42981
42982	added test under Cygwin
42983
42984	$make -> $MAKE
42985
42986	removed *rand48 prototypes (pb under Cygwin)
42987
42988	removed *rand48 prototypes
42989
42990	removed lrand48 prototype (pb under Cygwin)
42991
42992	added rounding instructions for Cygnus compiler under Windows
42993
42994	added dummy *rand48 functions for CYGWIN
42995
42996	added info about gmp-mparam.h
42997
42998	incorporated data for CYGWIN
42999
430001999-10-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
43001
43002	added one test
43003
43004	added boundary cases from paper from Michael Parks
43005
430061999-10-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
43007
43008	now set sign correctly
43009
43010	added test to check sign is correctly set
43011
43012	added worst case for arg. reduction
43013
43014	fixed bug when initial approx. floor(x/log(2)) is too large
43015
430161999-10-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
43017
43018	now use macros for Linux case, and added ifdef for _ISOC9X_SOURCE
43019
43020	changed target dist to create archive in a directory
43021
430221999-10-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
43023
43024	added targets doc and dist
43025
43026	added documentation and contact for problems
43027
43028	file for installation of mpfr
43029
43030	added more tests
43031
43032	now deal with 0 and fixed bug on 64-bit machine
43033
43034	moved to sqrt.c
43035
43036	now use directly mpn_sqrtrem (previously sqrt3.c)
43037
43038	updated prototypes of mpfr_div/mpfr_sqrt
43039
43040	removed div3 and sqrt3
43041
43042	div3 -> div
43043
43044	moved to div.c
43045
43046	replaced implementation using Goldschmidt's algorithm
43047	by that using directly mpn_divrem (previously div3.c)
43048
43049	sqrt3 -> sqrt
43050
43051	GNU Library Public License
43052
430531999-08-31  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
43054
43055	removed printf statement
43056
43057	added ABS for SIZ(z) when z<0
43058
43059	removed special 'exact' stuff for n=0
43060
43061	fixed prototype of random
43062
430631999-07-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
43064
43065	replaced GNU MPFR by MPFR (not yet the GNU label)
43066
43067	added copyright notice
43068
430691999-07-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
43070
43071	added one test with prec=160
43072
43073	error term is N+1 and not N
43074
43075	fixed bug in case sh=0
43076
430771999-07-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
43078
43079	completely rewritten mpfr_can_round_raw, which costs now O(1)
43080	--- or more probably O(log n) --- instead of O(n)
43081
430821999-07-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
43083
43084	changed mpfr_init2 to mpfr_set_prec
43085
43086	added one test
43087
43088	added prototype for mpfr_add1
43089
43090	added mpfr_clear
43091
430921999-07-07  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
43093
43094	sqrt3 now returns an exact / inexact flag.
43095
43096	sqrt3 now returns an exact/inexact flag.
43097
430981999-07-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
43099
43100	fix UMR (missing 0 terminating string)
43101
43102	put initialization of exponent back (avoids some UMRs)
43103
43104	fixed array bound write bug
43105
43106	added one test
43107
43108	added several tests, and does not print on stdout when no argument
43109
43110	fixed several bugs
43111
431121999-07-07  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
43113
43114	Added an example which causes an ABW in mpz_get_str.
43115
431161999-07-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
43117
43118	moved drand to mpfr-impl.h and added test in large precision
43119
43120	added tout_str
43121
431221999-07-07  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
43123
43124	Problem with the exponents in the destructive case.
43125
431261999-07-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
43127
43128	more changes from G. Hanrot
43129
43130	use now drand48 instead of drand
43131
43132	simply set to zero the non-significant bits, don't call mpfr_round_raw
43133
43134	upgrade from bug fixes from Guillaume Hanrot
43135
43136	stores now last computed value together with its rounding mode
43137
43138	checks now destructive version
43139
431401999-07-07  Sylvie Boldo  <sylvie.boldo@inria.fr>
43141
43142	changes on random
43143
43144	using div3
43145
43146	using sqrt3
43147
431481999-07-06  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
43149
43150	HPUX support, 2nd try.
43151
43152	Patch for the (very seldom encountered) case of even rounding.
43153
431541999-07-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
43155
43156	added def. for random/srandom, which do not exist under HPUX
43157
43158	store now computed values
43159
43160	_mpfr_log2_* -> __mpfr_log2_*
43161
43162	merged machine rounding instructions for Sun and HP
43163
43164	patch for HPUX (no random function)
43165
43166	added print_rnd_mode
43167
43168	fixed prototype of mpfr_print_rnd_mode
43169
43170	improved ulp to deal with case a=0.0
43171
43172	added return 0 to main
43173
431741999-07-06  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
43175
43176	Forgotten casts.
43177
43178	Added sqrt3 + tentative support for Alpha linux.
43179
43180	The word added when the exponent is odd was sometimes uninitialized.
43181
43182	Initial version.
43183
43184	Added mpfr_sqrt3.
43185
431861999-07-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
43187
43188	added several functions, and updated others
43189
43190	changed prototype of mpfr_log
43191
43192	returns now an int instead of void
43193
43194	removed initialization of exponent
43195
43196	special case for exp(0)
43197
43198	added test for exp(0)
43199
432001999-07-06  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
43201
43202	config.in -> ./config.in
43203
432041999-07-05  Sylvie Boldo  <sylvie.boldo@inria.fr>
43205
43206	new, quick & clean
43207
432081999-07-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
43209
43210	added two tests and converted to double's
43211
432121999-07-05  Sylvie Boldo  <sylvie.boldo@inria.fr>
43213
43214	more checking ways
43215
432161999-07-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
43217
43218	distinguishes now between true errors and differences with libm.a
43219	(which may fail too)
43220
43221	removed mpf stuff in check
43222
43223	added some mpfr_clear's
43224
43225	changed defs of random/srandom to work on Alpha
43226
43227	mpfr_init2 -> mpfr_set_prec in check64
43228
43229	added function dbl
43230
43231	added prototypes for mpfr_cmp3 and mpfr_set4
43232
43233	use mpfr_set4 now (no modification of const parameters any more)
43234
43235	return 0 in mpfr_can_round_raw
43236
43237	introduced auxiliary function mpfr_set4
43238
43239	fixed possible bug (testing sign of unsigned long) in mpfr_mul_ui
43240
43241	replaced PREC(r) by prec (which was defined but not used)
43242
43243	moved drand and ulp to mpfr-impl
43244
43245	moved ulp to mpfr-impl.h
43246	and used input routine 'dbl' in some tests
43247
43248	modified one test to avoid rounding from double input routines
43249
43250	introduced auxiliary function mpfr_cmp3(x,y,sign) to compare x and sign*y
43251
43252	moved drand and ulp to mpfr-impl.h
43253
43254	mpfr_sub now calls directly mpfr_add1/mpfr_sub1 (no modification of
43255	const parameters any more)
43256
43257	moved drand to mpfr-implh.h
43258
43259	use mpfr_cmp3 instead of mpfr_cmp (avoids warning due to modification of
43260	const parameters)
43261
43262	moved drand to mpfr-impl.h and removed warnings
43263
43264	use the result of mpfr_can_round
43265
43266	moved drand and ulp to mpfr-impl.h
43267
43268	moved drand to mpfr-impl.h
43269
43270	moved drand to mpfr-impl and removed warnings
43271
43272	added include of math.h
43273
43274	moved drand and ulp to mpfr-impl.h
43275
43276	include file for mpfr developers only
43277
43278	long -> int in drand
43279
43280	adapted drand to sizeof(long)=64
43281
43282	config.in -> ./config.in (otherwise don't work under IRIX)
43283
43284	removed warnings
43285
43286	patch for GMP bug when UDIV_NEEDS_NORMALIZATION=1
43287
432881999-07-02  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
43289
43290	Correction of a typo.
43291
432921999-07-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
43293
43294	fixed horrible hack yp[-1]
43295
432961999-07-02  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
43297
43298	Support of IRIX64 (n32/64 modes) plus cosmetic modifications.
43299
433001999-07-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
43301
43302	added one test, and adapted to ANSI C
43303
433041999-07-02  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
43305
43306	Yet Another Backslash Forgotten...
43307
43308	Bug le plus stupide de tous les temps corrige. Ca marchait sous Solaris...
43309
433101999-07-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
43311
43312	added one test and removed warnings
43313
433141999-07-02  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
43315
43316	Added mpfr_div3.
43317
43318	Added div3.c
43319
433201999-07-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
43321
43322	fixed bug when sizeof(long) <> sizeof(mp_limb_t)
43323	and removed DEBUG2 stuff
43324
43325	added one test, and removed warnings
43326
433271999-07-02  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
43328
43329	Added div3.c, initial release.
43330
43331	Patch of the patch :)
43332
43333	Pattern matching rules in tests Makefile for non-GNU make (eg Solaris)
43334
433351999-07-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
43336
43337	adapted to enable denormalized numbers on IRIX64, added one test and
43338	removed warnings
43339
43340	changed type of 3rd arg. 'neg' of mpfr_can_round_raw from char to int
43341	(pb with signed char's on some machines, e.g. IRIX64)
43342
43343	adapted to IRIX64 (enable denorm. numbers) and removed warnings
43344
43345	adapted to IRIX64 (enable denormalized numbers) and removed warnings
43346
43347	adapted to IRIX64 (no denormalized by default) and removed warnings
43348
43349	unsigned long -> mp_limb_t
43350
433511999-07-02  Sylvie Boldo  <sylvie.boldo@inria.fr>
43352
43353	unused variables
43354
43355	unused variable
43356
433571999-07-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
43358
43359	added ifdef to avoid warning "unused variable" on 64-bit machine
43360
43361	added def. of swapRM to avoid warning on IRIX64
43362
43363	1UL -> ((mp_limb_t) 1)
43364
43365	changed type of mask to mp_limb_t in mpfr_round_raw2
43366
43367	adapted for denormalized on IRIX64
43368	now test NaNs too
43369
433701999-07-01  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
43371
43372	Due to the representation of 0 it might have happened that 0 != 0.
43373
43374	Patch mpfr_set -> MPN_COPY
43375
43376	Patch when prec < 32.
43377
433781999-07-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
43379
43380	fixed bugs for 64-bit machines
43381
43382	added casts to mp_limb_t
43383
43384	added cast to mp_limb_t for shifts
43385
433861999-07-01  Sylvie Boldo  <sylvie.boldo@inria.fr>
43387
43388	prints nothing is everything is allright
43389
43390	memory gestion
43391
43392	one single bug
43393
43394	more bad cases
43395
433961999-07-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
43397
43398	added some certified tests
43399
43400	added one test to check that 1*y = y
43401
434021999-07-01  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
43403
43404	Patch of an MLK due to multiple initialization of the same variables without
43405	freeing them in-between.
43406
43407	Same as in sqrt (allocation problem).
43408
434091999-07-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
43410
43411	fixed bug due to shift=0 in mpn_rshift
43412
434131999-07-01  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
43414
43415	(Temporary) patch for memory gestion in sqrt.c
43416
434171999-07-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
43418
43419	mpfr_init -> mpfr_init2
43420
43421	initialize temporary variables with current precision
43422
434231999-06-30  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
43424
43425	Unbelievably stupid bug fixed.
43426
43427	Two patches : one for an UMR which actually had no effect, one for an FNH in
43428	old code..
43429
434301999-06-30  Sylvie Boldo  <sylvie.boldo@inria.fr>
43431
43432	new bug
43433
43434	there were some conflicts
43435
43436	there were some conflicts
43437
43438	memory gestion
43439
434401999-06-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
43441
43442	replaced outputs by direct comparison when no argument
43443
43444	modified to do only certified test when no argument
43445
43446	modified to do only tests with precomputed values when no argument
43447
43448	does exact rounding only for n=0
43449
434501999-06-29  Jean-Luc R��my  <Jean-Luc.Remy@loria.fr>
43451
43452	added zeta/tzeta
43453
43454	added prototypes for mpfr_exp and mpfr_zeta
43455
43456	computes Riemann function Zeta(s)
43457	first version: only works for s=2 with PREC(result)=53 and rnd_mode=nearest
43458
43459	test file for mpfr_zeta
43460
43461	added prototype for mpfr_set_default_prec
43462
43463	file renamed zeta.c
43464
43465	first version: computes Zeta(2) with fixed precision 53 bits and round
43466	to nearest
43467
434681999-06-29  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
43469
43470	Patch in the case when the number of bits is a multiple of the word size.
43471
43472	Patch in the case when the low words of the product are zero.
43473
434741999-06-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
43475
43476	changed arguments of mpfr_round_raw (continued)
43477
43478	changed arguments of mpfr_round_raw (now uses precision instead of size)
43479
43480	modified wrt warnings at compilation
43481
43482	modified description of mpfr_get_str for n_digits=0
43483
43484	now performs an exact output when n_digits=0
43485
434861999-06-28  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
43487
43488	Yet another corrected prototype.
43489
434901999-06-25  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
43491
43492	Prototypes et quelques causes de warnings corriges.
43493
43494	Modifs cosmetiques.
43495
43496	Fichier vide.
43497
434981999-06-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
43499
43500	do not print anything when no argument
43501
43502	use GMP allocate/free functions instead of malloc/free
43503
43504	do not print anything on stdout
43505
43506	put correctly sign with macro CHANGE_SIGN
43507
435081999-06-25  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
43509
43510	Ajoute la d��pendance de libmpfr.a pour le Makefile des tests.
43511
435121999-06-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
43513
43514	correctly handle case sizer=1 in mpfr_set_d
43515
43516	corrected allocated size in mpfr_round
43517
43518	make clean does not remove config.in any more
43519
435201999-06-25  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
43521
43522	Correction d'un UMR en inversant le while (sans incidence tres probablement).
43523
435241999-06-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
43525
43526	added four tests
43527
43528	adapted mpfr_set_d to case where allocated limbs > significant limbs
43529
43530	fixed bug for b=2^n and c very small
43531
435321999-06-25  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
43533
43534	Some limbs of the result where not set to zero as they should.
43535
435361999-06-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
43537
43538	added prototypes, and errors to stderr
43539
43540	binary file -> remove it
43541
43542	use PREC(x) instead of ABSSIZE(x) to get number of significant limbs
43543	adapted to different numbers of significant limbs for x and y
43544
43545	fixed pbs with ABSSIZE(x) wrt PREC(x) in mpfr_round
43546
43547	added pointer to exponent, removed test with sprintf
43548
43549	removed DEBUG stuff
43550
43551	use PREC(x) instead of ABSSIZE(x) to get the number of significant limbs
43552
43553	do 10^6 tests if no argument
43554
435551999-06-25  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
43556
43557	J'avais oublie -g...
43558
43559	Ajoute des flags de paranoiaque schizophrene.
43560
435611999-06-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
43562
43563	now prints nothing with no argument
43564
43565	added texp and tdiv_ui
43566
43567	test file for div_ui, initial revision
43568
43569	commented out "avant arrondi..."
43570
43571	clear res1/res2
43572
435731999-06-25  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
43574
43575	Patches an ABR.
43576
43577	Patch of an ABR.
43578
43579	Patch in the case n = 0.
43580
43581	Patch for a memory leak.
43582
435831999-06-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
43584
43585	added two tests for exact roots
43586
43587	removed DEBUG stuff and fixed pb with exact root and GMP_RNDZ
43588
435891999-06-25  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
43590
43591	Correction d'un ABR.
43592
435931999-06-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
43594
43595	added test for prec=53 bits, removed output for argc==1
43596
435971999-06-25  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
43598
43599	Initial revision.
43600
436011999-06-24  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
43602
43603	Patched an Array Bound Read.
43604
43605	Corrected an Array Bound Read when all the bits are significative.
43606
436071999-06-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
43608
43609	i -> s in tests on mpfr_cmp_si
43610
43611	fixed pb in mpfr_cmp_si_2exp (case b=0 or i=0)
43612
43613	& -> &&
43614
43615	removed 3rd arg. of mpfr_set_prec
43616
43617	treats case b=c in mpfr_sub(a,b,c)
43618
43619	removed 3rd argument in mpfr_set_prec
43620	reallocates only when more limbs are needed
43621
43622	removed 3rd arg. of mpfr_set_prec
43623
43624	added some mpfr_clear's that were missing
43625
43626	removed 3rd argument from mpfr_set_prec
43627
43628	removed 3rd argument of mpfr_set_prec
43629
43630	changed prototype of mpfr_set_prec (no rounding mode needed any more)
43631
43632	added test for case of missing exponent
43633	and if one argument, print it as a double
43634
43635	fixed bug when exponent was missing (wrong result when part before
43636	binary point is not zero)
43637
43638	added tests from JM Muller and V Lefevre
43639
436401999-06-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
43641
43642	corrected bad case in mpfr_can_round_raw where rnd1=GMP_RNDN
43643	and err is a multiple of BITS_PER_MP_LIMB (was modifying an
43644	extra limb perhaps not allocated)
43645
436461999-06-23  Sylvie Boldo  <sylvie.boldo@inria.fr>
43647
43648	qq bugs d'arrondis
43649
436501999-06-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
43651
43652	added exp and div_ui
43653
43654	added test of exp(Pi*sqrt(163)/3)-640320 [texp 0.0 prec]
43655
43656	test file for mpfr_exp, initial revision
43657
43658	added two tests
43659
43660	removed printf's and added one test for leading '+'
43661
43662	now allows leading '+'
43663
436641999-06-23  Sylvie Boldo  <sylvie.boldo@inria.fr>
43665
43666	nettoye
43667
436681999-06-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
43669
43670	removed printf
43671
43672	removed printf's
43673
43674	added tests for large precision (tlog x prec rnd)
43675
43676	added test for exact division
43677
43678	mpfr_cmp -> mpfr_cmp2
43679
43680	removed printf, added exit on error
43681
43682	initial revision
43683
43684	cleaned local variables
43685
43686	changed prototype of mpfr_div (now returns int)
43687
43688	now deals correctly with exact division
43689	removed DEBUG stuff
43690	returns 0/1 according to exact division
43691
436921999-06-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
43693
43694	fixed bug found by F. Rouillier: x * Z(2/x) -> 0 [carry from mpfr_round_raw]
43695
436961999-06-22  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
43697
43698	Fill with 0 the part added in case of a larger reallocation.
43699
43700	Rajoute le bug report de Fabrice.
43701
437021999-06-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
43703
43704	fixed bug in mpfr_can_round when prec or err are multiples of BITS_PER_MP_LIMB
43705
43706	added test to check sign of result
43707
43708	fixed bug: wrong sign when SIGN(a)<0 at beginning
43709
437101999-06-22  Sylvie Boldo  <sylvie.boldo@inria.fr>
43711
43712	avec plein de cas d'erreurs
43713
43714	marche bien
43715
43716	Marche bien
43717
437181999-06-21  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
43719
43720	Corrected prototype of mpfr_can_round_raw.
43721
43722	Various patches.
43723
43724	Added prototype for mpfr_can_round_raw
43725
43726	Added mpfr_can_round_raw ; mpfr_can_round just calls it.
43727
43728	Declaration mpfr_print_rnd_mode.c
43729
43730	print_rnd_mode.c -> mpfr_print_rnd_mode.c
43731
43732	Print the rounding mode.
43733
43734	Changement de semantique (plus d'arrondi) et alloc + free -> realloc.
43735
437361999-06-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
43737
43738	initial revision
43739
43740	added one test
43741
43742	now deal with carry from mpfr_round_raw
43743
43744	fixed problem with count_leading_zeros undefined for 0
43745
43746	store computed value and try to reuse it for next calls
43747
43748	added test cn>= in mpfr_cmp2
43749
43750	added mpfr_sub_one_ulp
43751
437521999-06-18  Sylvie Boldo  <sylvie.boldo@inria.fr>
43753
43754	tests par rapport aux doubles
43755
43756	pour decouvrir les erreurs
43757
43758	version qui marche
43759
437601999-06-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
43761
43762	special cases NaN and 0
43763
43764	fixed a few errors
43765
437661999-06-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
43767
43768	added tests for n=0 and d=0
43769
43770	added test for 0.0/1.0
43771
43772	SET_NAN(q) -> SET_NAN(Q)
43773
43774	added one exact root with rounding towards zero
43775
43776	added one test
43777
43778	added two tests
43779
43780	patch to detect exact roots (otherwise problem with rounding to zero)
43781
43782	changed way zero is represented : most sign. limb is zero
43783
43784	added special case for zero
43785
43786	special case for zero
43787
43788	special cases for NaN and zero
43789
43790	special case when one of the arguments is zero
43791
43792	added bug found by S. Boldo and fixed (pb in mpfr_round_raw2)
43793
43794	fixed bug in mpfr_round_raw2 which was returning other values than 0 or 1
43795
437961999-06-17  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
43797
43798	Corrected a potential problem in add(a, a, a);
43799
43800	Corrected a potential problem in sub(a, a, a);
43801
438021999-06-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
43803
43804	SET_NAN(x) -> SET_NAN(X)
43805
438061999-06-17  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
43807
43808	Patch in cmp2 for some dirty cases (2^a + 2^b <-> 2^a + z, z << 2^a, b << a)
43809
438101999-06-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
43811
43812	added test to check bug found by JL Remy
43813
43814	added TMP_DECL/TMP_MARK/TMP_FREE in mpfr_sub1 to deal with case
43815	where destination=source
43816
438171999-06-16  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
43818
43819	Bug dans set_d(0) ; la mantisse n'est pas initialisee a 0 correctement.
43820
43821	Gere differemment les problemes d'egalite entre destinations et arguments.
43822
43823	Rajoute log.o et tlog
43824
43825	Vire fichier inutile.
43826
438271999-06-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
43828
43829	added new tests
43830
43831	fixed bug for overlap=k*mp_bits_per_limb, k>=1
43832
438331999-06-16  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
43834
43835	Vire Makefile de CVS.
43836
43837	Vire les Makefile de CVS.
43838
438391999-06-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
43840
43841	added one test and random init.
43842
43843	added one test
43844
43845	added tests for cases where destination = source
43846
43847	cases NaN and destination=source
43848
43849	now iterates if one cannot round after 1st try,
43850	and deals with case destination = source
43851
43852	mpfr_can_round again and again
43853
43854	added case of NaN
43855
43856	added macro SET_ZERO
43857
43858	now allows destination = source
43859
438601999-06-16  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
43861
43862	Vire les tests de cvs.
43863
438641999-06-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
43865
43866	printf -> fprintf
43867
43868	error message when destination equals source (case not yet treated)
43869
43870	now uses the given rounding mode internally instead of always GMP_RNDZ
43871
43872	now rounding to nearest should be correct
43873
438741999-06-15  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
43875
43876	Encore et toujours mpfr_can_round...
43877
43878	Nettoyage.
43879
43880	Patch pour mpfr_can_round.
43881
438821999-06-15  Sylvie Boldo  <sylvie.boldo@inria.fr>
43883
43884	sans instructions de debuggage
43885
43886	rajout de log.o et tlog
43887
43888	rajout de tlog
43889
43890	ajout du log
43891
43892	*** empty log message ***
43893
43894	premiere version du log
43895
438961999-06-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
43897
43898	now recognizes division by exact power of 2
43899
43900	added mpfr_cmp_[us]i_2exp
43901
43902	added mpfr_[us]i_2exp
43903
43904	added mpfr_cmp_[us]i_2exp
43905
439061999-06-15  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
43907
43908	Correction de bug (pas msb normalise).
43909
439101999-06-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
43911
43912	fixed mistake in error analysis (does not change code)
43913
439141999-06-15  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
43915
43916	Ajout de random.o dans les objets.
43917
43918	random.c : engendre un mpfr_t dans [0, 1[. GH, 15/06
43919	TODO : un random qui engendre un mpfr_t avec exposant gaussien centre.
43920
439211999-06-15  Jean-Luc R��my  <Jean-Luc.Remy@loria.fr>
43922
43923	changed return value to void
43924
439251999-06-14  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
43926
43927	Ajoute les modes d'arrondi RNDN et RNDD.
43928
43929	Correction du prototype de mpfr_mul_ui
43930
43931	Correction du prototype de mpfr_mul_ui
43932
439331999-06-14  Sylvie Boldo  <sylvie.boldo@inria.fr>
43934
43935	*** empty log message ***
43936
439371999-06-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
43938
43939	added several files
43940
43941	added several prototypes
43942
43943	added set_z, add_one_ulp
43944
43945	added mpfr_get_d2 which only considers the mantissa
43946
43947	now uses mpfr_get_d2 (no side effect on arguments)
43948
43949	test file for mpfr_log2
43950
43951	test file for mpfr_set_z
43952
43953	test file for mpfr_pi
43954
43955	computes log(2)
43956
43957	add one ulp
43958
43959	set a mpfr from an integer
43960
43961	computes Pi to n bits
43962
439631999-06-14  Sylvie Boldo  <sylvie.boldo@inria.fr>
43964
43965	*** empty log message ***
43966
439671999-06-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
43968
43969	Initial revision of mpfr documentation
43970
439711999-06-10  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
43972
43973	Patch d'un mpfr_set_d dans tsqrt.c ; GH, 100699
43974
43975	Patch d'un mpfr_set_d dans get_str.c ; GH, 100699
43976
43977	Tentative de configuration automatique, v. initiale. GH, 100699
43978
439791999-06-10  Sylvie Boldo  <sylvie.boldo@inria.fr>
43980
43981	*** empty log message ***
43982
439831999-06-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>
43984
43985	added tout_str
43986
43987	Initial revision.
43988
43989	added out_str.c and pow.c
43990
43991	added proto for mpfr_pow_ui and mpfr_ui_pow_ui
43992
43993	Initial revision.
43994
43995	added include <stdio.h> (needed for FILE in mpfr.h)
43996
43997	added proto for mpfr_out_str
43998
43999	function to print a mpfr to a stream. Initial revision.
44000
44001	changed proto of mpfr_get_str: 2nd arg is mp_exp_t*, not char*
44002
44003	now conforms to the specification
44004
440051999-06-09  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>
44006
44007	tset_i -> tset_si dans le Makefile de tests.
44008
44009	Version corrigee de mmpfr.
44010
44011	Makefile qui devrait fonctionner pour tous.
44012
44013	Correction de warnings dans tmul_2exp.c
44014
44015	Initial revision
44016