gmp-mpfr-sys 1.4.9

Rust FFI bindings for GMP, MPFR and MPC
Documentation
------------------------------------------------------------------------
r14065 | vlefevre | 2020-07-10 11:52:33 +0000 (Fri, 10 Jul 2020) | 1 line
Changed paths:
   M /branches/4.1/VERSION
   M /branches/4.1/configure.ac
   M /branches/4.1/doc/mpfr.texi
   M /branches/4.1/src/mpfr.h
   M /branches/4.1/src/version.c

Updated version to 4.1.0.
------------------------------------------------------------------------
r14064 | vlefevre | 2020-07-10 11:50:59 +0000 (Fri, 10 Jul 2020) | 1 line
Changed paths:
   M /branches/4.1/doc/mpfr.texi

[doc/mpfr.texi] Updated the month.
------------------------------------------------------------------------
r14063 | vlefevre | 2020-07-10 10:33:32 +0000 (Fri, 10 Jul 2020) | 6 lines
Changed paths:
   M /branches/4.1
   M /branches/4.1/doc/README.dev
   M /branches/4.1/src/jyn_asympt.c
   M /branches/4.1/tests/tjn.c

[src/jyn_asympt.c] Partly solved the slowness of jn(733333,733333).
[tests/tjn.c] Added tests of jn(73333,73333) and jn(733333,733333),
  enabled only with MPFR_CHECK_EXPENSIVE.
[doc/README.dev] In the MPFR_CHECK_EXPENSIVE description, say that
  --enable-assert=full should not be used (too expensive, not needed).
(merged changesets r14053-14062 from the trunk)
------------------------------------------------------------------------
r14050 | vlefevre | 2020-07-01 21:39:57 +0000 (Wed, 01 Jul 2020) | 1 line
Changed paths:
   M /branches/4.1/ChangeLog

ChangeLog update with "LC_ALL=en_US.UTF8 TZ=UTC0 svn log -rHEAD:0 -v".
------------------------------------------------------------------------
r14049 | vlefevre | 2020-07-01 21:37:36 +0000 (Wed, 01 Jul 2020) | 1 line
Changed paths:
   M /branches/4.1/VERSION
   M /branches/4.1/configure.ac
   M /branches/4.1/doc/mpfr.texi
   M /branches/4.1/src/mpfr.h
   M /branches/4.1/src/version.c

Updated version to 4.1.0-rc2.
------------------------------------------------------------------------
r14048 | vlefevre | 2020-07-01 13:59:32 +0000 (Wed, 01 Jul 2020) | 3 lines
Changed paths:
   M /branches/4.1
   M /branches/4.1/NEWS

[NEWS] Added an item saying that TLS can safely be (re-)enabled
on Sparc.
(merged changeset r14047 from the trunk)
------------------------------------------------------------------------
r14046 | vlefevre | 2020-06-29 13:57:32 +0000 (Mon, 29 Jun 2020) | 7 lines
Changed paths:
   M /branches/4.1
   M /branches/4.1/tests/mpfr-test.h

[tests/mpfr-test.h] Avoid a GCC bug on Sparc, at least when using TLS.
The MPFR library itself is not affected, only a particular test. Normal
code using the MPFR library should not be affected either, as the bug
occurs when accessing __gmpfr_flags directly (and the public mpfr.h
header file does not provide any macro that accesses an internal
variable directly). So a workaround for the tests is the best solution.
(merged changeset r14045 from the trunk)
------------------------------------------------------------------------
r14043 | vlefevre | 2020-06-18 17:37:41 +0000 (Thu, 18 Jun 2020) | 1 line
Changed paths:
   M /branches/4.1/VERSION
   M /branches/4.1/configure.ac
   M /branches/4.1/doc/mpfr.texi
   M /branches/4.1/src/mpfr.h
   M /branches/4.1/src/version.c

Updated version to 4.1.0-dev (due to changes since 4.1.0-rc1).
------------------------------------------------------------------------
r14042 | vlefevre | 2020-06-18 17:17:18 +0000 (Thu, 18 Jun 2020) | 54 lines
Changed paths:
   M /branches/4.1
   M /branches/4.1/doc/mpfr.texi
   M /branches/4.1/src/digamma.c
   M /branches/4.1/src/get_str.c
   M /branches/4.1/src/mpfr-longlong.h
   M /branches/4.1/tests/mpfr-test.h
   M /branches/4.1/tests/tabort_defalloc1.c
   M /branches/4.1/tests/tabort_defalloc2.c
   M /branches/4.1/tests/tcmp_ui.c
   M /branches/4.1/tests/tdigamma.c
   M /branches/4.1/tests/tests.c
   M /branches/4.1/tests/tset_ld.c

Merged r14021-14036 from the trunk:

r14021:
[tests] Skip tabort_defalloc1 and tabort_defalloc2 under Valgrind, as
Valgrind complains due to the large allocation size.
  * mpfr-test.h, tests.c: added tests_run_within_valgrind() function to
    guess whether the test runs within Valgrind.
  * tabort_defalloc1.c, tabort_defalloc2.c: skip the test (exit code 77)
    if this function returns true.

r14022-14023:
[tests/tset_ld.c] In bug_20160907 (tests on subnormals, specific to
x86 extended precision):
  * Replaced an assertion by a test with detailed output.
  * In case of incorrect result, detect whether Valgrind is used and
    one gets the result obtained with Valgrind due to
      https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=890215
      https://bugs.kde.org/show_bug.cgi?id=421262
    (long double behaves as double); in this case, output a message
    without an error since Valgrind is the only cause of the
    miscalculation.
  * Corrected a value in a test, which did not match the comment.

r14024-14027:
[src/digamma.c]
  * Replaced some MPFR_EXP / mpfr_get_exp by MPFR_GET_EXP to check that
    the MPFR number has an exponent (i.e. it is not a special value).
  * Added an integer overflow check on a precision.
  * Fixed a bug: an exponent was read while the value could be zero.

r14028:
[tests/tdigamma.c] Increase the number of tests.

r14029,14031:
[doc/mpfr.texi] Specify the range of b for mpfr_get_str_ndigits.

r14030:
[src/get_str.c] Since the mpfr_get_str_ndigits function is in the
public API, use MPFR_ASSERTN instead of MPFR_ASSERTD on the condition
on the argument b in order to get an assertion failure (by default)
if this condition is not satisfied.

r14032,14035-14036:
[src/mpfr-longlong.h] Applied patch on
  https://gmplib.org/list-archives/gmp-bugs/2020-June/004807.html
to fix add_ssaaaa and sub_ddmmss on arm / aarch64, in order to resolve
  https://sympa.inria.fr/sympa/arc/mpfr/2020-06/msg00017.html
  https://sympa.inria.fr/sympa/arc/mpfr/2020-06/msg00059.html

r14034:
[tests/tcmp_ui.c] Added a comment about a failing test with tcc if
one adds tcc support for macros using __builtin_constant_p in mpfr.h
by testing __TINYC__.
Bug report against tcc: https://savannah.nongnu.org/bugs/?58606
------------------------------------------------------------------------
r14019 | vlefevre | 2020-06-13 13:22:33 +0000 (Sat, 13 Jun 2020) | 5 lines
Changed paths:
   M /branches/4.1
   M /branches/4.1/configure.ac

[configure.ac] No longer add -Wc++-compat to CFLAGS when the compiler
is GCC not in C++ mode (reverting the change done in r13406) since this
option is not available before GCC 4.1:
  https://sympa.inria.fr/sympa/arc/mpfr/2020-06/msg00008.html
(merged changeset r14018 from the trunk)
------------------------------------------------------------------------
r14016 | vlefevre | 2020-06-13 09:32:51 +0000 (Sat, 13 Jun 2020) | 7 lines
Changed paths:
   M /branches/4.1
   M /branches/4.1/doc/mpfr.texi
   M /branches/4.1/tests/tfpif.c

Merged the latest changes from the trunk:

r14012:
[tests/tfpif.c] Updated comment about the bug detected on AIX.

r14015:
[doc/mpfr.texi] ACM TOMS article: use the preferred DOI URL.
------------------------------------------------------------------------
r14011 | vlefevre | 2020-06-13 01:05:59 +0000 (Sat, 13 Jun 2020) | 8 lines
Changed paths:
   M /branches/4.1
   M /branches/4.1/NEWS
   M /branches/4.1/tools/announce-text

Merged the latest changes from the trunk:

r14008,14010:
[tools/announce-text] For release candidates, automatically adapt the
flow of the text.

r14009:
[NEWS] Updated mpfr.org URLs (http → https).
------------------------------------------------------------------------
r14006 | vlefevre | 2020-06-12 17:55:05 +0000 (Fri, 12 Jun 2020) | 17 lines
Changed paths:
   M /branches/4.1
   M /branches/4.1/README
   M /branches/4.1/tests/tests.c
   M /branches/4.1/tests/tfpif.c

Merged the latest changes from the trunk:

r14003:
[tests/tfpif.c] Fixed a bug (in the test) detected on AIX[*], where
an fclose failed due to a previous read failure. At the same time,
check that a read failure no longer occurs. Note: the read failure
made mpfr_fpif_import fail, but this is a test where it is expected
to fail, i.e. we now check that it fails for a good reason.
[*] gcc119.fsffrance.org on the GCC Compile farm.

r14004:
[tests/tests.c] Removed a useless "#include <errno.h>" (added in r5252,
useless since r5253).

r14005:
[README] Added URL of the official GNU MPFR website and a note about the
future migration, since InriaForge will shut down in December 2020.
------------------------------------------------------------------------
r14002 | vlefevre | 2020-06-12 12:17:11 +0000 (Fri, 12 Jun 2020) | 1 line
Changed paths:
   M /branches/4.1/ChangeLog

ChangeLog update with "LC_ALL=en_US.UTF8 TZ=UTC0 svn log -rHEAD:0 -v".
------------------------------------------------------------------------
r14001 | vlefevre | 2020-06-12 12:10:28 +0000 (Fri, 12 Jun 2020) | 1 line
Changed paths:
   M /branches/4.1/VERSION
   M /branches/4.1/configure.ac
   M /branches/4.1/doc/mpfr.texi
   M /branches/4.1/src/mpfr.h
   M /branches/4.1/src/version.c

Updated version to 4.1.0-rc1.
------------------------------------------------------------------------
r14000 | vlefevre | 2020-06-12 12:09:52 +0000 (Fri, 12 Jun 2020) | 2 lines
Changed paths:
   M /branches/4.1
   M /branches/4.1/tools/update-version

[tools/update-version] Improved a message.
(merged changeset r13999 from the trunk)
------------------------------------------------------------------------
r13998 | vlefevre | 2020-06-12 12:02:30 +0000 (Fri, 12 Jun 2020) | 3 lines
Changed paths:
   M /branches/4.1
   M /branches/4.1/src/mpfr-longlong.h

[src/mpfr-longlong.h] Corrected a comment from GMP's longlong.h, which
makes codespell complain in particular.
(merged changeset r13997 from the trunk)
------------------------------------------------------------------------
r13996 | vlefevre | 2020-06-12 11:56:18 +0000 (Fri, 12 Jun 2020) | 4 lines
Changed paths:
   M /branches/4.1
   M /branches/4.1/tools/mpfrlint

[tools/mpfrlint] Improved the __GMP_DECLSPEC test:
  * No longer exclude "src/mpfr.h".
  * Avoid false positives in "src/mpfr.h" and "src/mpfr-longlong.h".
(merged changeset r13995 from the trunk)
------------------------------------------------------------------------
r13994 | vlefevre | 2020-06-12 11:45:04 +0000 (Fri, 12 Jun 2020) | 1 line
Changed paths:
   M /branches/4.1/doc/mpfr.texi

[doc/mpfr.texi] Updated the month.
------------------------------------------------------------------------
r13991 | vlefevre | 2020-06-12 11:40:23 +0000 (Fri, 12 Jun 2020) | 1 line
Changed paths:
   A /branches/4.1 (from /trunk:13990)

Created branch 4.1.
------------------------------------------------------------------------
r13990 | vlefevre | 2020-06-12 11:39:36 +0000 (Fri, 12 Jun 2020) | 1 line
Changed paths:
   M /trunk/ChangeLog

ChangeLog update with "LC_ALL=en_US.UTF8 TZ=UTC0 svn log -rHEAD:0 -v".
------------------------------------------------------------------------
r13989 | vlefevre | 2020-06-11 21:22:20 +0000 (Thu, 11 Jun 2020) | 2 lines
Changed paths:
   M /trunk/NEWS
   M /trunk/doc/mpfr.texi
   M /trunk/src/mpfr.h
   M /trunk/src/total_order.c
   M /trunk/tests/ttotal_order.c

Renamed mpfr_total_order to mpfr_total_order_p for consistency with the
other predicates (by convention, the function name should end with _p).
------------------------------------------------------------------------
r13987 | vlefevre | 2020-06-11 15:15:52 +0000 (Thu, 11 Jun 2020) | 1 line
Changed paths:
   M /trunk/NEWS

[NEWS] New function mpfr_total_order. Detailed mpfr_get_str_ndigits.
------------------------------------------------------------------------
r13986 | vlefevre | 2020-06-11 15:07:52 +0000 (Thu, 11 Jun 2020) | 1 line
Changed paths:
   M /trunk/doc/README.dev

[doc/README.dev] Updated "To make a release".
------------------------------------------------------------------------
r13980 | vlefevre | 2020-06-11 13:01:58 +0000 (Thu, 11 Jun 2020) | 1 line
Changed paths:
   M /trunk/doc/README.dev

[doc/README.dev] Updated "To make a release".
------------------------------------------------------------------------
r13979 | vlefevre | 2020-06-11 12:44:42 +0000 (Thu, 11 Jun 2020) | 1 line
Changed paths:
   M /trunk/src/Makefile.am

[src/Makefile.am] Updated -version-info to 7:0:1 for MPFR 4.1.0.
------------------------------------------------------------------------
r13978 | vlefevre | 2020-06-11 12:41:25 +0000 (Thu, 11 Jun 2020) | 1 line
Changed paths:
   M /trunk/NEWS

[NEWS] Additional details, in particular binary compatibility.
------------------------------------------------------------------------
r13977 | vlefevre | 2020-06-11 12:05:29 +0000 (Thu, 11 Jun 2020) | 1 line
Changed paths:
   M /trunk/NEWS

[NEWS] Some improvements.
------------------------------------------------------------------------
r13976 | zimmerma | 2020-06-11 07:44:42 +0000 (Thu, 11 Jun 2020) | 2 lines
Changed paths:
   M /trunk/doc/mini-gmp

[doc/mini-gmp] one more test is skipped now

------------------------------------------------------------------------
r13975 | zimmerma | 2020-06-11 07:44:00 +0000 (Thu, 11 Jun 2020) | 2 lines
Changed paths:
   M /trunk/doc/mini-gmp

[doc/mini-gmp] add test results with reduced limb size (int)

------------------------------------------------------------------------
r13974 | vlefevre | 2020-06-11 00:00:45 +0000 (Thu, 11 Jun 2020) | 1 line
Changed paths:
   M /trunk/doc/README.dev

[doc/README.dev] Updated "To make a release".
------------------------------------------------------------------------
r13973 | vlefevre | 2020-06-10 23:19:17 +0000 (Wed, 10 Jun 2020) | 1 line
Changed paths:
   M /trunk/NEWS

[NEWS] Added release name for 4.1.0: "épinards à la crème".
------------------------------------------------------------------------
r13971 | vlefevre | 2020-06-10 21:53:27 +0000 (Wed, 10 Jun 2020) | 1 line
Changed paths:
   M /trunk/doc/mini-gmp

[doc/mini-gmp] English usage improvement.
------------------------------------------------------------------------
r13970 | vlefevre | 2020-06-10 21:50:12 +0000 (Wed, 10 Jun 2020) | 15 lines
Changed paths:
   M /trunk/src/mpfr-impl.h
   M /trunk/tests/tvalist.c

Fixed 2 issues with tests/tvalist.c:
  1. When building with mini-gmp (--with-mini-gmp=DIR) without
     optimizations (-O0), the build of tvalist was failing because
     the formatted output functions are not supported (this issue
     wasn't noticed with optimizations due to dead code elimination).
     Fix: this test is disabled with mini-gmp (not needed anyway).
  2. Dead code elimination with optimizations partly broke the goal
     of this test, i.e. checking that mpfr_vfprintf was available.
     This dead code was introduced in r7648 "Make sure that fct is
     used (avoid a warning)." (where fct = mpfr_vfprintf) but was
     actually not sufficient.
     Fix: call mpfr_vfprintf unconditionally, but on an empty string
     in order to avoid output to stdout.
In addition to these changes in tests/tvalist.c, src/mpfr-impl.h could
be simplified as a consequence.
------------------------------------------------------------------------
r13969 | vlefevre | 2020-06-10 21:26:07 +0000 (Wed, 10 Jun 2020) | 5 lines
Changed paths:
   M /trunk/src/clears.c
   M /trunk/src/inits.c
   M /trunk/src/inits2.c
   M /trunk/tests/tvalist.c

Removed '# undef HAVE_STDARG' before '# include "config.h"' when it
was used, as it was not always undefined (e.g. in tests/tsprintf.c)
and there are no reasons to undefine this macro specifically.
Note: this code was introduced in r2665 (2004-02-06), perhaps for
the MPFR build inside GMP, which has been dropped a long time ago.
------------------------------------------------------------------------
r13968 | vlefevre | 2020-06-10 21:07:30 +0000 (Wed, 10 Jun 2020) | 1 line
Changed paths:
   M /trunk/tests/tvalist.c

[tests/tvalist.c] Updated a comment.
------------------------------------------------------------------------
r13967 | vlefevre | 2020-06-10 21:01:12 +0000 (Wed, 10 Jun 2020) | 2 lines
Changed paths:
   M /trunk/tests/tvalist.c

[tests/tvalist.c] Correction when config.h is used (code copied from
src/inits.c).
------------------------------------------------------------------------
r13966 | zimmerma | 2020-06-10 14:27:40 +0000 (Wed, 10 Jun 2020) | 2 lines
Changed paths:
   M /trunk/doc/mini-gmp

[doc/mini-gmp] review

------------------------------------------------------------------------
r13964 | vlefevre | 2020-06-10 12:48:02 +0000 (Wed, 10 Jun 2020) | 1 line
Changed paths:
   M /trunk/NEWS

[NEWS] Typo in option name.
------------------------------------------------------------------------
r13963 | vlefevre | 2020-06-10 10:58:36 +0000 (Wed, 10 Jun 2020) | 5 lines
Changed paths:
   M /trunk/src/mpfr-longlong.h

[src/mpfr-longlong.h]
  * Updated comment about this file and the changes against GMP 6.2.0.
  * Define __GMP_GNUC_PREREQ if it isn't defined (this is currently not
    needed since it is defined in gmp.h as used also there, but this is
    useful in case some future gmp.h version no longer defines it).
------------------------------------------------------------------------
r13962 | vlefevre | 2020-06-10 10:39:09 +0000 (Wed, 10 Jun 2020) | 3 lines
Changed paths:
   M /trunk/src/mpfr-longlong.h

[src/mpfr-longlong.h] Update: applied the diff of GMP's longlong.h
between GMP 6.1.0 and GMP 6.2.0, after reverting changesets 13251,
11042, 11025, and 10727, as these changes are present in the diff.
------------------------------------------------------------------------
r13961 | vlefevre | 2020-06-10 10:21:51 +0000 (Wed, 10 Jun 2020) | 1 line
Changed paths:
   M /trunk/configure.ac

[configure.ac] With mini-gmp, also check the availability of srand48.
------------------------------------------------------------------------
r13960 | vlefevre | 2020-06-10 10:15:52 +0000 (Wed, 10 Jun 2020) | 2 lines
Changed paths:
   M /trunk/src/mpfr-mini-gmp.c

[src/mpfr-mini-gmp.c] For gmp_randseed_ui, which uses srand48, use
a portable version of the conversion from unsigned long to long.
------------------------------------------------------------------------
r13959 | vlefevre | 2020-06-10 09:37:15 +0000 (Wed, 10 Jun 2020) | 1 line
Changed paths:
   M /trunk/doc/mini-gmp

[doc/mini-gmp] Note also that the random functions are not thread-safe.
------------------------------------------------------------------------
r13958 | vlefevre | 2020-06-10 09:21:46 +0000 (Wed, 10 Jun 2020) | 1 line
Changed paths:
   M /trunk/doc/mini-gmp

[doc/mini-gmp] Major update.
------------------------------------------------------------------------
r13957 | vlefevre | 2020-06-10 08:40:02 +0000 (Wed, 10 Jun 2020) | 1 line
Changed paths:
   M /trunk/NEWS

[NEWS] Removed a FIXME (no problems found).
------------------------------------------------------------------------
r13955 | vlefevre | 2020-06-09 15:53:51 +0000 (Tue, 09 Jun 2020) | 1 line
Changed paths:
   M /trunk/tests/tversion.c

[tests/tversion.c] Code style: replaced (mp_limb_t) -1 by MPFR_LIMB_MAX.
------------------------------------------------------------------------
r13954 | vlefevre | 2020-06-09 15:46:19 +0000 (Tue, 09 Jun 2020) | 2 lines
Changed paths:
   M /trunk/src/mul_ui.c

[src/mul_ui.c] Bug fix: in the code where MPFR_LONG_WITHIN_LIMB is
not defined, update the flags (needed for the possible overflow).
------------------------------------------------------------------------
r13953 | vlefevre | 2020-06-09 15:37:58 +0000 (Tue, 09 Jun 2020) | 2 lines
Changed paths:
   M /trunk/tests/tmul_ui.c

[tests/tmul_ui.c] Added an overflow check that fails in MPFR_RNDZ with
mini-gmp and mp_limb_t < long (e.g. "-DMINI_GMP_LIMB_TYPE=short").
------------------------------------------------------------------------
r13952 | vlefevre | 2020-06-09 15:15:04 +0000 (Tue, 09 Jun 2020) | 1 line
Changed paths:
   M /trunk/tests/tgeneric.c

[tests/tgeneric.c] In the MPFR_SUSPICIOUS_OVERFLOW case, output yprec.
------------------------------------------------------------------------
r13951 | vlefevre | 2020-06-09 15:04:19 +0000 (Tue, 09 Jun 2020) | 2 lines
Changed paths:
   M /trunk/src/mpfr-impl.h

[src/mpfr-impl.h] Changed the code that defines MPFR_LONG_WITHIN_LIMB
in order to support mini-gmp with -DMINI_GMP_LIMB_TYPE=...
------------------------------------------------------------------------
r13950 | vlefevre | 2020-06-09 13:39:35 +0000 (Tue, 09 Jun 2020) | 8 lines
Changed paths:
   M /trunk/src/get_ld.c

[src/get_ld.c] Fixed build failure with GMP_NUMB_BITS == 8 due to the
use of uint64_t in src/get_ld.c, while <stdint.h> was not included:
replaced it by "unsigned long long", which does not need a specific
header (an exact 64-bit type is not needed, we just need at least a
64-bit width, which unsigned long long is guaranteed to have).
Note: unsigned long long may not be available with a pre-C99 compiler,
but this is not worse than uint64_t. This limitation is currently OK
as GMP_NUMB_BITS == 8 support is just for testing.
------------------------------------------------------------------------
r13949 | vlefevre | 2020-06-09 10:53:21 +0000 (Tue, 09 Jun 2020) | 12 lines
Changed paths:
   M /trunk/acinclude.m4

[acinclude.m4] Make MPFR_CHECK_MP_LIMB_T_VS_LONG and
MPFR_CHECK_MP_LIMB_T_VS_INTMAX similar:
  * Use AC_LINK_IFELSE in MPFR_CHECK_MP_LIMB_T_VS_LONG too: this
    is safer than AC_COMPILE_IFELSE, as it will detect undefined
    function-like macros.
  * Define MPFR_USE_STATIC_ASSERT in MPFR_CHECK_MP_LIMB_T_VS_INTMAX
    too in order to make sure that a static assertion is used (not
    the MPFR_ASSERTN fallback).
Note: These constitute redundant safeguards because if MPFR_ASSERTN
is used, it will be regarded as a function since the macro is not
defined in this context, and linking will fail as a consequence.
But this redundancy will protect more against MPFR code evolution.
------------------------------------------------------------------------
r13948 | vlefevre | 2020-06-09 09:41:51 +0000 (Tue, 09 Jun 2020) | 16 lines
Changed paths:
   M /trunk/acinclude.m4

[acinclude.m4] Fixed MPFR_CHECK_MP_LIMB_T_VS_LONG macro by forcing
MPFR_USE_STATIC_ASSERT to 1 before including mpfr-sassert.h, i.e.
by requiring static assertions: because AC_COMPILE_IFELSE is used
(i.e. just compiling, no linking), the test could incorrectly succeed
when MPFR_USE_STATIC_ASSERT was not defined, i.e. whatever the value
of "(mp_limb_t) -1 >= (unsigned long) -1"; indeed, in this case,
MPFR_ASSERTN() was used instead of a static assertion, and since the
macro was not defined here, MPFR_ASSERTN was regarded as a function
(without a prototype), which was fine for compiling (except when the
compiler is configured to regard warnings such as missing prototype
as errors). In short, one could get "yes" while long was larger than
mp_limb_t.
Note: In uncommon cases (non-standard compiler...), one can still get
"no" while a long fits in mp_limb_t, but this isn't much an issue as
the MPFR code should work in such a case. Moreover, src/mpfr-impl.h
will also have the chance to set MPFR_LONG_WITHIN_LIMB in practice.
------------------------------------------------------------------------
r13947 | vlefevre | 2020-06-09 00:57:05 +0000 (Tue, 09 Jun 2020) | 28 lines
Changed paths:
   M /trunk/acinclude.m4
   M /trunk/src/mpfr-sassert.h
   M /trunk/tune/tuneup.c

Removed MPFR_DECL_STATIC_ASSERT macro as it was buggy, unused, rather
useless, and it had drawbacks. Details:
  * In src/mpfr-sassert.h, the default definition of this macro in the
    MPFR_USE_STATIC_ASSERT case ended with a spurious ";". Since this
    macro was unused, this wasn't noticeable... except in the configure
    test for static assertions, which failed in some cases (e.g. with
    CFLAGS="-std=c99 -pedantic-errors -Wno-error=overlength-strings")
    for this reason, which had the effect to let MPFR_USE_STATIC_ASSERT
    undefined, while static assertions were actually working.
  * Still in src/mpfr-sassert.h, but when MPFR_USE_STATIC_ASSERT is not
    defined, the MPFR_DECL_STATIC_ASSERT(c) expanded to nothing, which
    would yield invalid code as
      MPFR_DECL_STATIC_ASSERT(some_assertion);
    would yield an extra ";" (about the same issue as above). Given
    the fact that the portable MPFR_USE_STATIC_ASSERT code does not
    work with this compiler, it is not clear whether this is fixable
    in a completely reliable way.
  * MPFR_DECL_STATIC_ASSERT can be replaced by MPFR_STAT_STATIC_ASSERT
    after moving it to the statement section of a function, with almost
    no drawbacks (just a bit readability in some cases?).
  * When MPFR_USE_STATIC_ASSERT is not defined, MPFR_STAT_STATIC_ASSERT
    will check the assertion at run time (for free, since the result is
    known at compile time), while MPFR_DECL_STATIC_ASSERT would not be
    able to do anything useful.
Changes:
  * acinclude.m4: removed the test of MPFR_DECL_STATIC_ASSERT.
  * src/mpfr-sassert.h: removed MPFR_DECL_STATIC_ASSERT definitions.
  * tune/tuneup.c: removed MPFR_DECL_STATIC_ASSERT redefinition.
------------------------------------------------------------------------
r13946 | vlefevre | 2020-06-08 23:55:33 +0000 (Mon, 08 Jun 2020) | 3 lines
Changed paths:
   M /trunk/acinclude.m4

[acinclude.m4] MPFR_CHECK_MP_LIMB_T_VS_LONG: updated comment to say
that using MPFR_ASSERTN (as the code tries to do if static assertions
are not supported, but currently fails) would be incorrect.
------------------------------------------------------------------------
r13945 | vlefevre | 2020-06-08 13:45:33 +0000 (Mon, 08 Jun 2020) | 2 lines
Changed paths:
   M /trunk/acinclude.m4

[acinclude.m4] In MPFR_CHECK_MP_LIMB_T_VS_INTMAX, do the test only if
intmax_t is defined (assuming that it is iff uintmax_t is defined).
------------------------------------------------------------------------
r13944 | vlefevre | 2020-06-08 13:39:32 +0000 (Mon, 08 Jun 2020) | 2 lines
Changed paths:
   M /trunk/tests/tversion.c

[tests/tversion.c] Also output the results of the detection of
"long within limb" and "intmax_t within limb".
------------------------------------------------------------------------
r13942 | vlefevre | 2020-06-04 16:22:38 +0000 (Thu, 04 Jun 2020) | 1 line
Changed paths:
   M /trunk/configure.ac

[configure.ac] Removed an obsolete FIXME, which is probably wrong.
------------------------------------------------------------------------
r13941 | vlefevre | 2020-06-04 16:17:12 +0000 (Thu, 04 Jun 2020) | 1 line
Changed paths:
   M /trunk/configure.ac

[configure.ac] Updated a comment, replacing a resolved FIXME.
------------------------------------------------------------------------
r13940 | vlefevre | 2020-06-04 15:53:59 +0000 (Thu, 04 Jun 2020) | 2 lines
Changed paths:
   M /trunk/acinclude.m4

[acinclude.m4] MPFR_CHECK_DBL2INT_BUG test: avoid potentially reserved
exit status.
------------------------------------------------------------------------
r13939 | vlefevre | 2020-06-04 14:29:17 +0000 (Thu, 04 Jun 2020) | 2 lines
Changed paths:
   M /trunk/acinclude.m4

[acinclude.m4] Fixed r13938: the new MPFR_C_REALFP_FORMAT macro also
needs to take the printf length modifier in argument.
------------------------------------------------------------------------
r13938 | vlefevre | 2020-06-04 13:51:32 +0000 (Thu, 04 Jun 2020) | 11 lines
Changed paths:
   M /trunk/acinclude.m4

[acinclude.m4] Improved the code to determine the format of double,
resolving the FIXME. The issue was that it used an AC_RUN_IFELSE,
so that the format could not be determined when cross-compiling.
The code to determine the format of long double did not have such
an issue: the object file was analyzed by an awk script. Since a
long double can have the same format as a double, this code was
already able to recognize a double, in particular. So the change
consisted in slightly adapting this code to accept the tested type
as an argument ("double" or "long double", the mpfr_cv_… variable
name being obtained thanks to AS_VAR_PUSHDEF) and reusing it for
the detection of the format of double.
------------------------------------------------------------------------
r13937 | vlefevre | 2020-06-04 13:21:09 +0000 (Thu, 04 Jun 2020) | 3 lines
Changed paths:
   M /trunk/acinclude.m4

[acinclude.m4] MPFR_C_LONG_DOUBLE_FORMAT cleanup:
  * Removed an unused AH_VERBATIM.
  * Removed "not available" condition, no longer possible since r13936.
------------------------------------------------------------------------
r13936 | vlefevre | 2020-06-04 12:34:18 +0000 (Thu, 04 Jun 2020) | 6 lines
Changed paths:
   M /trunk/acinclude.m4

[acinclude.m4] Fix concerning r13935: also removed code that tested
the availability of long double. This code was useless since it was
just outputting "not available" if long double was missing, and one
would get an error later since MPFR requires long double. But since
long double is in ISO C89, it is useless to add a test just to return
an error for pre-C89 compilers.
------------------------------------------------------------------------
r13935 | vlefevre | 2020-06-04 12:17:15 +0000 (Thu, 04 Jun 2020) | 4 lines
Changed paths:
   M /trunk/acinclude.m4
   M /trunk/configure.ac

[acinclude.m4] Removed "AC_CHECK_TYPES([long double])", whose only
  purpose is to define a HAVE_LONG_DOUBLE macro.
[configure.ac] Removed HAVE_LONG_DOUBLE from the cleanup: no longer
  needed with the change in acinclude.m4.
------------------------------------------------------------------------
r13934 | vlefevre | 2020-06-03 13:44:24 +0000 (Wed, 03 Jun 2020) | 1 line
Changed paths:
   M /trunk/configure.ac

[configure.ac] Minor change in a comment.
------------------------------------------------------------------------
r13933 | vlefevre | 2020-06-03 13:38:17 +0000 (Wed, 03 Jun 2020) | 10 lines
Changed paths:
   M /trunk/acinclude.m4
   M /trunk/configure.ac

Cleanup about the function detection by autoconf.
  * acinclude.m4: removed the detection of memmove, memset and strtol,
    which was not used (a macro "HAVE_..." was defined... to be removed
    in configure.ac!); for AC_CHECK_FUNCS, remove options starting with
    "-Werror" as they can yield a spurious failure due to the way this
    test is done (this occurred on memmove and memset with GCC due to
    builtins, and similar issues could still occur in practice with the
    remaining functions in the AC_CHECK_FUNCS list).
  * configure.ac: removed HAVE_STRTOL from the macro cleanup: no longer
    needed since strtol has been removed from the AC_CHECK_FUNCS list.
------------------------------------------------------------------------
r13932 | vlefevre | 2020-06-03 12:11:13 +0000 (Wed, 03 Jun 2020) | 3 lines
Changed paths:
   M /trunk/acinclude.m4

[acinclude.m4] Minor improvement: in the MPFR_CHECK_GMP test, changed
the exit status values 1..3 to 81..83 in order to avoid confusion, as
low values can typically be returned in case of compile or link error.
------------------------------------------------------------------------
r13931 | vlefevre | 2020-06-02 22:43:08 +0000 (Tue, 02 Jun 2020) | 1 line
Changed paths:
   M /trunk/tests/memory.c

[tests/memory.c] Updated a comment.
------------------------------------------------------------------------
r13930 | vlefevre | 2020-06-02 21:35:11 +0000 (Tue, 02 Jun 2020) | 2 lines
Changed paths:
   M /trunk/src/mpfr-longlong.h

[src/mpfr-longlong.h] Added code to check that mpfr-longlong.h is not
included directly; MPFR_NEED_LONGLONG_H must be defined instead.
------------------------------------------------------------------------
r13929 | vlefevre | 2020-06-02 21:26:51 +0000 (Tue, 02 Jun 2020) | 2 lines
Changed paths:
   M /trunk/acinclude.m4

[acinclude.m4] To complete r13928, one also needs to define
MPFR_NEED_INTMAX_H here when mpfr-intmax.h is used.
------------------------------------------------------------------------
r13928 | vlefevre | 2020-06-02 21:21:45 +0000 (Tue, 02 Jun 2020) | 2 lines
Changed paths:
   M /trunk/src/mpfr-impl.h
   M /trunk/src/mpfr-intmax.h

[src/{mpfr-impl.h,mpfr-intmax.h}] Added code to check that mpfr-intmax.h
is not included directly; MPFR_NEED_INTMAX_H must be defined instead.
------------------------------------------------------------------------
r13923 | vlefevre | 2020-06-01 10:39:52 +0000 (Mon, 01 Jun 2020) | 12 lines
Changed paths:
   M /trunk/src/fits_intmax.c
   M /trunk/src/fits_uintmax.c
   M /trunk/src/get_sj.c
   M /trunk/src/get_str.c
   M /trunk/src/get_uj.c
   M /trunk/src/mpfr-impl.h
   M /trunk/src/mpfr-intmax.h
   M /trunk/src/set_sj.c
   M /trunk/src/set_uj.c
   M /trunk/src/vasprintf.c
   M /trunk/tests/memory.c
   M /trunk/tests/tfits.c
   M /trunk/tests/tfprintf.c
   M /trunk/tests/tget_sj.c
   M /trunk/tests/tprintf.c
   M /trunk/tests/tset_sj.c
   M /trunk/tests/tversion.c

Bug fixes and cleanup related to "src/mpfr-intmax.h" by introducing
a new macro MPFR_NEED_INTMAX_H, which should be defined instead of
using: #include "mpfr-intmax.h"

Details on the bugs fixed:
  * The code added in r13916 forgot a #include <limits.h> since this
    code does a test on ULLONG_MAX. With the cleanup, <limits.h> is
    already always included by mpfr-impl.h (early enough).
  * In src/get_str.c and tests/memory.c, a #include "config.h" was
    missing before #include "mpfr-intmax.h"; this issue would affect
    platforms where "config.h" is needed and where <inttypes.h> or
    <stdint.h> does not exist or does not work.
------------------------------------------------------------------------
r13922 | vlefevre | 2020-06-01 00:15:37 +0000 (Mon, 01 Jun 2020) | 3 lines
Changed paths:
   M /trunk/tests/tgamma.c

[tests/tgamma.c] For the non-regression test added in r13907, one
also needs to temporarily increase the memory limit, thus require
MPFR_CHECK_LARGEMEM too.
------------------------------------------------------------------------
r13920 | vlefevre | 2020-05-26 11:24:25 +0000 (Tue, 26 May 2020) | 2 lines
Changed paths:
   M /trunk/acinclude.m4

[acinclude.m4] If decimal floats are explicitly disabled, do not do
the check of the bit-field ordering for _Decimal128.
------------------------------------------------------------------------
r13919 | vlefevre | 2020-05-26 11:12:21 +0000 (Tue, 26 May 2020) | 2 lines
Changed paths:
   M /trunk/acinclude.m4

[acinclude.m4] Fixed detection of bit-field ordering for _Decimal128:
a compiler error with exit status 1 was mixed up with little endian.
------------------------------------------------------------------------
r13916 | vlefevre | 2020-05-24 17:53:31 +0000 (Sun, 24 May 2020) | 3 lines
Changed paths:
   M /trunk/src/mpfr-intmax.h

[src/mpfr-intmax.h] Added support for Silicon Graphics IRIX 6.5 (1998)
with native /usr/bin/cc, which knows the long long type but defines
ULONGLONG_MAX, etc. instead of ULLONG_MAX, etc.
------------------------------------------------------------------------
r13915 | vlefevre | 2020-05-24 01:35:17 +0000 (Sun, 24 May 2020) | 4 lines
Changed paths:
   M /trunk/tests/tget_ld_2exp.c

[tests/tget_ld_2exp.c] Reverted r13914 as we still need to support
pre-C99 compilers (and this change was useless).
If C99 syntax is needed, there should be a configure test, and the
code should be conditional.
------------------------------------------------------------------------
r13914 | zimmerma | 2020-05-23 19:53:25 +0000 (Sat, 23 May 2020) | 2 lines
Changed paths:
   M /trunk/tests/tget_ld_2exp.c

[tests/tget_ld_2exp.c] put expected value in hex in bug20180904()

------------------------------------------------------------------------
r13913 | vlefevre | 2020-05-20 01:13:35 +0000 (Wed, 20 May 2020) | 1 line
Changed paths:
   M /trunk/doc/README.dev

[doc/README.dev] "To make a release": mention MPFR_CHECK_EXPENSIVE.
------------------------------------------------------------------------
r13912 | zimmerma | 2020-05-19 21:19:06 +0000 (Tue, 19 May 2020) | 2 lines
Changed paths:
   M /trunk/tests/tgamma.c

[tests/tgamma.c] added comment about bug fix

------------------------------------------------------------------------
r13911 | zimmerma | 2020-05-19 21:13:36 +0000 (Tue, 19 May 2020) | 3 lines
Changed paths:
   M /trunk/src/bernoulli.c

[src/bernoulli.c] improve initial precision in mpfr_bernoulli_internal()
		  (avoid failures for n <= 10000)

------------------------------------------------------------------------
r13910 | zimmerma | 2020-05-19 20:01:02 +0000 (Tue, 19 May 2020) | 2 lines
Changed paths:
   M /trunk/src/bernoulli.c

[src/bernoulli.c] fix bug with non-regression test added in r13907

------------------------------------------------------------------------
r13909 | zimmerma | 2020-05-19 17:59:41 +0000 (Tue, 19 May 2020) | 3 lines
Changed paths:
   M /trunk/src/bernoulli.c

[src/bernoulli.c] temporary fix for the bug in mpfr_gamma, something must be
                  wrong in the error analysis of mpfr_bernoulli_internal()

------------------------------------------------------------------------
r13908 | zimmerma | 2020-05-19 16:13:09 +0000 (Tue, 19 May 2020) | 3 lines
Changed paths:
   M /trunk/doc/README.dev
   M /trunk/tests/tgamma.c

[doc/README.dev] added MPFR_CHECK_EXPENSIVE
[tests/tgamma.c] use MPFR_CHECK_EXPENSIVE

------------------------------------------------------------------------
r13907 | zimmerma | 2020-05-19 15:06:58 +0000 (Tue, 19 May 2020) | 2 lines
Changed paths:
   M /trunk/tests/tgamma.c

added non-regression test for bug reported by Frithjof Blomquist

------------------------------------------------------------------------
r13906 | vlefevre | 2020-05-04 15:25:13 +0000 (Mon, 04 May 2020) | 1 line
Changed paths:
   M /trunk/tools/mpfrlint

[tools/mpfrlint] Use of codespell: better workaround to python ugliness.
------------------------------------------------------------------------
r13898 | vlefevre | 2020-04-27 20:12:09 +0000 (Mon, 27 Apr 2020) | 3 lines
Changed paths:
   M /trunk/doc/mpfr.texi

[doc/mpfr.texi] Section "Rounding" / even-rounding rule: the odd
radices β are actually not concerned since in such radices, β^k
is always odd, so that the exponent does not matter.
------------------------------------------------------------------------
r13897 | vlefevre | 2020-04-27 19:59:50 +0000 (Mon, 27 Apr 2020) | 7 lines
Changed paths:
   M /trunk/doc/mpfr.texi

[doc/mpfr.texi] In Section "Rounding", for MPFR_RNDN, added a note
about the even-rounding rule in particular cases: 1-digit precision
and odd radices.
Note: A short explanation was already in the mpfr_get_str description,
which is where the issue could occur at the time the minimum precision
of MPFR numbers was 2. Now that the minimum precision is 1, this rule
in such special cases is more general.
------------------------------------------------------------------------
r13896 | vlefevre | 2020-04-27 19:27:57 +0000 (Mon, 27 Apr 2020) | 1 line
Changed paths:
   M /trunk/doc/mpfr.texi

[doc/mpfr.texi] + "than": also in a comment.
------------------------------------------------------------------------
r13895 | vlefevre | 2020-04-27 19:19:53 +0000 (Mon, 27 Apr 2020) | 2 lines
Changed paths:
   M /trunk/doc/mpfr.texi

[doc/mpfr.texi] Corrected a typo. Changed "{less,greater} or equal to"
to the more common "{less,greater} than or equal to".
------------------------------------------------------------------------
r13893 | vlefevre | 2020-04-26 16:07:20 +0000 (Sun, 26 Apr 2020) | 2 lines
Changed paths:
   M /trunk/doc/mpfr.texi

[doc/mpfr.texi] In the paragraph on mpfr_rnd_t, give a reference
to Section "Rounding".
------------------------------------------------------------------------
r13892 | vlefevre | 2020-04-26 15:58:59 +0000 (Sun, 26 Apr 2020) | 1 line
Changed paths:
   M /trunk/doc/mpfr.texi

[doc/mpfr.texi] s/can not/cannot/
------------------------------------------------------------------------
r13891 | vlefevre | 2020-04-26 15:57:16 +0000 (Sun, 26 Apr 2020) | 4 lines
Changed paths:
   M /trunk/doc/mpfr.texi

[doc/mpfr.texi] Improved Section "Rounding" even more:
  * Added a note about the sign of the result (important for 0).
  * Described the directed rounding modes (BTW, this notion of
    "directed rounding modes" was used but never defined).
------------------------------------------------------------------------
r13890 | vlefevre | 2020-04-26 15:13:10 +0000 (Sun, 26 Apr 2020) | 5 lines
Changed paths:
   M /trunk/doc/mpfr.texi

[doc/mpfr.texi] Improved the description of the rounding modes:
  * Be more clear that MPFR_RNDN uses the even rounding rule.
  * In "two representable numbers", add "consecutive".
  * Be more general than radix 2 (due to conversions to a string).
  * Consistent typography.
------------------------------------------------------------------------
r13889 | vlefevre | 2020-04-25 15:08:40 +0000 (Sat, 25 Apr 2020) | 5 lines
Changed paths:
   M /trunk/doc/mpfr.texi

[doc/mpfr.texi]
  * mpfr_init2: mention mpfr_prec_round; added a note about
    memory allocation.
  * mpfr_prec_round: clarification ("new allocation" could be
    surprising since one needs less memory).
------------------------------------------------------------------------
r13888 | zimmerma | 2020-04-25 14:42:58 +0000 (Sat, 25 Apr 2020) | 3 lines
Changed paths:
   M /trunk/doc/mpfr.texi

[doc/mpfr.texi] document that mpfr_prec_round does no new allocation
		in case the allocated memory is enough

------------------------------------------------------------------------
r13886 | vlefevre | 2020-04-22 15:27:07 +0000 (Wed, 22 Apr 2020) | 5 lines
Changed paths:
   M /trunk/src/atan.c

[src/atan.c] Removing the FIXME: I can't see anything wrong in the
MPFR code. This could be a bug in GCC's analyzer (which is currently
experimental). And GCC bug 94713 in the analyzer prevents debugging
as it makes impossible to track uninitialized values: warnings do not
occur the first time an uninitialized value occurs.
------------------------------------------------------------------------
r13885 | vlefevre | 2020-04-22 15:10:28 +0000 (Wed, 22 Apr 2020) | 1 line
Changed paths:
   M /trunk/src/atan.c

[src/atan.c] Added an assertion.
------------------------------------------------------------------------
r13884 | vlefevre | 2020-04-22 15:02:31 +0000 (Wed, 22 Apr 2020) | 1 line
Changed paths:
   M /trunk/src/atan.c

[src/atan.c] Reduce the number of mpz_get_ui calls with assertions.
------------------------------------------------------------------------
r13883 | vlefevre | 2020-04-22 12:23:39 +0000 (Wed, 22 Apr 2020) | 1 line
Changed paths:
   M /trunk/src/atan.c

[src/atan.c] Added a FIXME.
------------------------------------------------------------------------
r13881 | vlefevre | 2020-04-14 11:12:16 +0000 (Tue, 14 Apr 2020) | 5 lines
Changed paths:
   M /trunk/doc/texinfo.tex

[doc/texinfo.tex] Update to 2020-02-11.09 with "autoreconf -i -f"
under Debian/unstable.
Note: The generated mpfr.html and mpfr.info files remain the same.
In mpfr.pdf, there are minor changes concerning horizontal spacing
in paragraphs with a URL.
------------------------------------------------------------------------
r13879 | vlefevre | 2020-04-11 01:53:36 +0000 (Sat, 11 Apr 2020) | 4 lines
Changed paths:
   M /trunk/tests/tget_set_d64.c

[tests/tget_set_d64.c] Fixed missing "#if _MPFR_IEEE_FLOATS" that
became visible with r13878 now that the encoding of decimal floats
can be detected at compile time. But by fixing the defined macros
manually, this issue could be visible before r13878.
------------------------------------------------------------------------
r13878 | vlefevre | 2020-04-10 11:19:19 +0000 (Fri, 10 Apr 2020) | 11 lines
Changed paths:
   M /trunk/INSTALL
   M /trunk/acinclude.m4
   M /trunk/configure.ac
   M /trunk/doc/README.dev
   M /trunk/src/get_d64.c
   M /trunk/src/mpfr-impl.h
   M /trunk/src/set_d128.c
   M /trunk/src/set_d64.c
   M /trunk/tests/tget_set_d128.c
   M /trunk/tests/tget_set_d64.c
   M /trunk/tests/tversion.c

Reworked decimal support and detection, resolving FIXMEs.
  * INSTALL, acinclude.m4, configure.ac: --enable-decimal-float can
    take new values. Change of macro DPD_FORMAT (DPD was assumed in
    case of cross-compilation, which could be wrong) to 3 new macros:
    DECIMAL_DPD_FORMAT, DECIMAL_BID_FORMAT, DECIMAL_GENERIC_CODE.
  * doc/README.dev: documented these 3 new macros.
  * src/mpfr-impl.h: the detection of the BID encoding can now be
    done at compile time when GCC defines __DECIMAL_BID_FORMAT__
    (as on x86); support of the 3 new macros.
  * src/{get_d64.c,set_d64.c,set_d128.c}: update.
  * tests/{tget_set_d64.c,tget_set_d128.c,tversion.c}: update.
------------------------------------------------------------------------
r13877 | vlefevre | 2020-04-08 22:39:35 +0000 (Wed, 08 Apr 2020) | 1 line
Changed paths:
   M /trunk/ChangeLog
   M /trunk/INSTALL
   M /trunk/src/get_d128.c
   M /trunk/src/get_d64.c
   M /trunk/src/mpfr-sassert.h
   M /trunk/src/set_d128.c
   M /trunk/src/set_d64.c
   M /trunk/tests/tests.c
   M /trunk/tests/tset_ld.c
   M /trunk/tests/tsprintf.c

Updated URLs of the GCC mailing-list archives.
------------------------------------------------------------------------
r13876 | vlefevre | 2020-04-06 21:06:10 +0000 (Mon, 06 Apr 2020) | 3 lines
Changed paths:
   M /trunk/src/mpfr-gmp.h

[src/mpfr-gmp.h] Updated FIXME about AC_FUNC_ALLOCA (in 2019-01, I
already noticed a probable bug in the AC_FUNC_ALLOCA description,
but forgot about it).
------------------------------------------------------------------------
r13875 | vlefevre | 2020-04-06 14:03:01 +0000 (Mon, 06 Apr 2020) | 1 line
Changed paths:
   M /trunk/doc/mpfr.texi

[doc/mpfr.texi] Updated the month.
------------------------------------------------------------------------
r13874 | vlefevre | 2020-04-06 14:02:01 +0000 (Mon, 06 Apr 2020) | 2 lines
Changed paths:
   M /trunk/doc/mpfr.texi

[doc/mpfr.texi] Formatted output functions: added a comment with the URL
of the bug report.
------------------------------------------------------------------------
r13873 | vlefevre | 2020-04-06 13:59:38 +0000 (Mon, 06 Apr 2020) | 3 lines
Changed paths:
   M /trunk/NEWS
   M /trunk/doc/mpfr.texi

[NEWS,doc/mpfr.texi] Documented the improvement in the formatted output
functions (mpfr_printf, etc.) with an empty precision field, about
trailing zeros.
------------------------------------------------------------------------
r13868 | vlefevre | 2020-04-03 10:56:49 +0000 (Fri, 03 Apr 2020) | 1 line
Changed paths:
   M /trunk/tests/tsub.c

[tests/tsub.c] Corrected MPFR_ASSERTD to MPFR_ASSERTN.
------------------------------------------------------------------------
r13867 | vlefevre | 2020-04-03 10:54:16 +0000 (Fri, 03 Apr 2020) | 9 lines
Changed paths:
   M /trunk/tests/tsub.c

[tests/tsub.c] Reverted r13862 and fixed the test_ubf test: A random
precision was too small, so that an input for the test was not computed
exactly (I had modified the values of the inputs for better tests, but
forgot to change the minimum precision). Also check that the inputs are
computed exactly (which is what I often do, but here, I had forgotten),
in order to make errors like the above one easier to understand in case
the test will have to be modified later.
Note: With the incorrect input, the mpfr_sub1 result and flags were
actually correct, so that this was only a bug in the test.
------------------------------------------------------------------------
r13866 | zimmerma | 2020-04-03 06:32:52 +0000 (Fri, 03 Apr 2020) | 2 lines
Changed paths:
   M /trunk/INSTALL

[INSTALL] update CompCert instructions

------------------------------------------------------------------------
r13865 | zimmerma | 2020-04-02 20:35:33 +0000 (Thu, 02 Apr 2020) | 2 lines
Changed paths:
   M /trunk/INSTALL

[INSTALL] fixed CompCert instructions

------------------------------------------------------------------------
r13864 | vlefevre | 2020-04-02 15:55:35 +0000 (Thu, 02 Apr 2020) | 6 lines
Changed paths:
   M /trunk/tests/tset_ld.c

[tests/tset_ld.c] Reverted r13858: the check_overflow test was already
in MPFR 4.0.1 and was succeeding on armv5tejl-unknown-linux-gnueabi,
which had mpfr_cv_c_long_double_format='IEEE double, little endian'.
The issue should be investigated.
Note: MPFR_LDBL_MANT_DIG may be larger than the actual number of bits,
but this should not cause a failure in the tests.
------------------------------------------------------------------------
r13863 | vlefevre | 2020-04-02 15:43:04 +0000 (Thu, 02 Apr 2020) | 2 lines
Changed paths:
   M /trunk/tests/tget_ld_2exp.c

[tests/tget_ld_2exp.c] Proper fix: the bug20180904 test was designed
for the x87 extended precision, so enable it only in this case.
------------------------------------------------------------------------
r13862 | zimmerma | 2020-04-02 14:06:30 +0000 (Thu, 02 Apr 2020) | 2 lines
Changed paths:
   M /trunk/tests/tsub.c

[tests/tsub.c] modify test_ubf() to always hit a current failing test

------------------------------------------------------------------------
r13861 | vlefevre | 2020-04-02 13:49:16 +0000 (Thu, 02 Apr 2020) | 2 lines
Changed paths:
   M /trunk/configure.ac

[configure.ac] Fixed the change done in r13853 (about removed macros),
making the code simpler and more maintainable at the same time.
------------------------------------------------------------------------
r13860 | zimmerma | 2020-04-02 11:48:28 +0000 (Thu, 02 Apr 2020) | 2 lines
Changed paths:
   M /trunk/INSTALL

[INSTALL] added configuration for CompCert test

------------------------------------------------------------------------
r13859 | vlefevre | 2020-04-02 11:31:51 +0000 (Thu, 02 Apr 2020) | 2 lines
Changed paths:
   M /trunk/src/set_ld.c

[src/set_ld.c] Removed obsolete workaround due to LDBL_MAX being buggy
on old i386 systems (the tests were not using this workaround).
------------------------------------------------------------------------
r13858 | zimmerma | 2020-04-02 11:12:28 +0000 (Thu, 02 Apr 2020) | 3 lines
Changed paths:
   M /trunk/tests/tget_ld_2exp.c
   M /trunk/tests/tset_ld.c

[tests/tget_ld_2exp.c] fixed for case where long double = double
[tests/tset_ld.c]      likewise

------------------------------------------------------------------------
r13857 | vlefevre | 2020-04-02 10:58:19 +0000 (Thu, 02 Apr 2020) | 2 lines
Changed paths:
   M /trunk/configure.ac

[configure.ac] Moved MPFR_CONFIGS invocation: MPFR_CONFIGS uses LDFLAGS,
thus must be invoked after LDFLAGS has been determined completely.
------------------------------------------------------------------------
r13856 | zimmerma | 2020-04-02 10:32:50 +0000 (Thu, 02 Apr 2020) | 2 lines
Changed paths:
   M /trunk/INSTALL

[INSTALL] now all tests pass with compcert

------------------------------------------------------------------------
r13855 | zimmerma | 2020-04-02 10:19:13 +0000 (Thu, 02 Apr 2020) | 2 lines
Changed paths:
   M /trunk/acinclude.m4

[acinclude.m4] added missing LDFLAGS for long double test

------------------------------------------------------------------------
r13854 | vlefevre | 2020-04-02 09:56:46 +0000 (Thu, 02 Apr 2020) | 1 line
Changed paths:
   M /trunk/doc/README.dev

[doc/README.dev] Added HAVE_ALLOCA description.
------------------------------------------------------------------------
r13853 | vlefevre | 2020-04-02 09:53:55 +0000 (Thu, 02 Apr 2020) | 2 lines
Changed paths:
   M /trunk/configure.ac

[configure.ac] Do not remove the HAVE_ALLOCA macro, which is now used
by MPFR to determine the default MPFR_ALLOCA_MAX value.
------------------------------------------------------------------------
r13852 | zimmerma | 2020-04-02 09:51:09 +0000 (Thu, 02 Apr 2020) | 2 lines
Changed paths:
   M /trunk/INSTALL

[INSTALL] update CompCert instructions

------------------------------------------------------------------------
r13851 | vlefevre | 2020-04-02 09:45:31 +0000 (Thu, 02 Apr 2020) | 2 lines
Changed paths:
   M /trunk/tests/tversion.c

[tests/tversion.c] Output whether MPFR is built with the GMP build,
and the MPFR_ALLOCA_MAX value if not.
------------------------------------------------------------------------
r13850 | vlefevre | 2020-04-02 09:24:44 +0000 (Thu, 02 Apr 2020) | 3 lines
Changed paths:
   M /trunk/src/mpfr-gmp.h

[src/mpfr-gmp.h] If HAVE_ALLOCA is not defined, i.e. if alloca() is
not available (as detected by the configure script), then set the
default MPFR_ALLOCA_MAX value to 0 so that alloca() is not used.
------------------------------------------------------------------------
r13849 | zimmerma | 2020-04-02 06:57:07 +0000 (Thu, 02 Apr 2020) | 2 lines
Changed paths:
   M /trunk/INSTALL

[INSTALL] added instructions for CompCert

------------------------------------------------------------------------
r13848 | vlefevre | 2020-04-02 01:26:46 +0000 (Thu, 02 Apr 2020) | 1 line
Changed paths:
   M /trunk/doc/README.dev

[doc/README.dev] Updated MPFR_ALLOCA_MAX description.
------------------------------------------------------------------------
r13847 | vlefevre | 2020-04-02 01:04:08 +0000 (Thu, 02 Apr 2020) | 2 lines
Changed paths:
   M /trunk/src/mpfr-gmp.h

[src/mpfr-gmp.h] When MPFR_ALLOCA_MAX = 0 (set at configure time),
do not reference alloca() since we don't need it.
------------------------------------------------------------------------
r13844 | vlefevre | 2020-03-31 13:11:09 +0000 (Tue, 31 Mar 2020) | 2 lines
Changed paths:
   M /trunk/doc/mpfr.texi

[doc/mpfr.texi] About mpfr_printf with %Re and empty precision field,
added a comment with URLs of the discussion and the bug report.
------------------------------------------------------------------------
r13840 | vlefevre | 2020-03-30 19:07:12 +0000 (Mon, 30 Mar 2020) | 1 line
Changed paths:
   M /trunk/src/sub1.c

[src/sub1.c] Typo in a comment.
------------------------------------------------------------------------
r13839 | vlefevre | 2020-03-30 14:52:53 +0000 (Mon, 30 Mar 2020) | 3 lines
Changed paths:
   M /trunk/configure.ac

[configure.ac] Updated message output when the gmp.h vs libgmp test
fails: another cause may be that LD_RUN_PATH is not honored (problem
seen under OpenBSD 6.6 / gcc302.fsffrance.org).
------------------------------------------------------------------------
r13835 | vlefevre | 2020-03-27 17:36:26 +0000 (Fri, 27 Mar 2020) | 1 line
Changed paths:
   M /trunk/tests/tset_sj.c

[tests/tset_sj.c] Forgot a "#ifndef NPRINTF_J" for printf("%jd",...).
------------------------------------------------------------------------
r13834 | vlefevre | 2020-03-27 15:45:17 +0000 (Fri, 27 Mar 2020) | 1 line
Changed paths:
   M /trunk/src/set_uj.c

[src/set_uj.c] Fixed underflow detection.
------------------------------------------------------------------------
r13833 | vlefevre | 2020-03-27 15:12:51 +0000 (Fri, 27 Mar 2020) | 2 lines
Changed paths:
   M /trunk/src/set_uj.c

[src/set_uj.c] Added early overflow detection to avoid a possible
integer overflow. Added a FIXME (incorrect underflow detection).
------------------------------------------------------------------------
r13832 | vlefevre | 2020-03-27 15:05:03 +0000 (Fri, 27 Mar 2020) | 6 lines
Changed paths:
   M /trunk/tests/tset_sj.c

[tests/tset_sj.c] Added tests of mpfr_set_sj_2exp and mpfr_set_uj_2exp
in precision 3 with integers from -31 to 31 and exponents MPFR_EXP_MIN,
MPFR_EMIN_MIN-7 to MPFR_EMIN_MIN, MPFR_EMAX_MAX-7 to MPFR_EMAX_MAX,
MPFR_EXP_MAX-7 to MPFR_EXP_MAX (like in tset_si.c, see r13808), but
also exponents INTMAX_MIN and INTMAX_MAX. This shows bugs in set_uj.c,
to be fixed...
------------------------------------------------------------------------
r13831 | vlefevre | 2020-03-27 14:17:10 +0000 (Fri, 27 Mar 2020) | 1 line
Changed paths:
   M /trunk/src/set_sj.c

[src/set_sj.c] Coding style.
------------------------------------------------------------------------
r13830 | vlefevre | 2020-03-27 13:59:05 +0000 (Fri, 27 Mar 2020) | 4 lines
Changed paths:
   M /trunk/src/mpfr-gmp.h
   M /trunk/src/mpfr-impl.h

[src] Moved the definition of the numberof() macro from mpfr-gmp.h to
mpfr-impl.h in order to always use our own. Also make sure that the
type is signed, so that the value can be used in arbitrary expressions
without the risk of silently switching to unsigned arithmetic.
------------------------------------------------------------------------
r13827 | vlefevre | 2020-03-26 12:58:24 +0000 (Thu, 26 Mar 2020) | 2 lines
Changed paths:
   M /trunk/tests/texpm1.c

[tests/texpm1.c] Updated the bad_cases() parameters to increase the
proportion of generated bad cases.
------------------------------------------------------------------------
r13826 | vlefevre | 2020-03-26 11:51:33 +0000 (Thu, 26 Mar 2020) | 1 line
Changed paths:
   M /trunk/tests/tset_si.c

[tests/tset_si.c] Forgot a cast for MPFR_EXP_FSPEC argument.
------------------------------------------------------------------------
r13825 | vlefevre | 2020-03-26 10:07:00 +0000 (Thu, 26 Mar 2020) | 1 line
Changed paths:
   M /trunk/doc/mpfr.texi

[doc/mpfr.texi] Updated the month.
------------------------------------------------------------------------
r13824 | vlefevre | 2020-03-26 10:00:46 +0000 (Thu, 26 Mar 2020) | 1 line
Changed paths:
   M /trunk/doc/mpfr.texi
   M /trunk/src/dump.c
   M /trunk/src/mpfr-impl.h

Consistency: "a UBF" → "an UBF" since UBF stands for "unbounded float".
------------------------------------------------------------------------
r13823 | vlefevre | 2020-03-26 09:56:45 +0000 (Thu, 26 Mar 2020) | 1 line
Changed paths:
   M /trunk/src/mpfr-impl.h

[src/mpfr-impl.h] Updated UBF comment about aliasing rules.
------------------------------------------------------------------------
r13822 | vlefevre | 2020-03-26 09:53:55 +0000 (Thu, 26 Mar 2020) | 1 line
Changed paths:
   M /trunk/src/mpfr-impl.h

[src/mpfr-impl.h] Updated UBF comment about aliasing rules.
------------------------------------------------------------------------
r13821 | vlefevre | 2020-03-26 09:35:25 +0000 (Thu, 26 Mar 2020) | 3 lines
Changed paths:
   M /trunk/src/mpfr-impl.h

[src/mpfr-impl.h] Bug fix (MPFR_ZEXP(x) as used for an assignment
could yield undefined behavior on platforms where mpfr_exp_t has
trap representations); this is also a general improvement.
------------------------------------------------------------------------
r13818 | vlefevre | 2020-03-26 02:45:48 +0000 (Thu, 26 Mar 2020) | 2 lines
Changed paths:
   M /trunk/tests/tsub.c

[tests/tsub.c] Avoid the build failure with -Werror=strict-aliasing by
replacing x[…] by p[…] (but this doesn't eliminate the problem itself).
------------------------------------------------------------------------
r13816 | vlefevre | 2020-03-26 00:17:17 +0000 (Thu, 26 Mar 2020) | 5 lines
Changed paths:
   M /trunk/src/mpfr-impl.h

[src/mpfr-impl.h] UBF: updated comment: this breaks aliasing rules, but
there isn't any other acceptable solution.
Note: when trying to build MPFR without --enable-assert, with GCC and
CFLAGS="-O2 -Werror=strict-aliasing", the compilation of tests/tsub.c
currently fails because of that.
------------------------------------------------------------------------
r13815 | vlefevre | 2020-03-25 20:24:23 +0000 (Wed, 25 Mar 2020) | 1 line
Changed paths:
   M /trunk/tests/tsub.c

[tests/tsub.c] Fixed tests on UBF.
------------------------------------------------------------------------
r13814 | vlefevre | 2020-03-25 20:04:16 +0000 (Wed, 25 Mar 2020) | 2 lines
Changed paths:
   M /trunk/src/sub1.c

[src/sub1.c] Fixed underflow handling in case c small (can occur only
with UBF).
------------------------------------------------------------------------
r13813 | vlefevre | 2020-03-25 19:40:39 +0000 (Wed, 25 Mar 2020) | 1 line
Changed paths:
   M /trunk/tests/tfma.c

[tests/tfma.c] Minor correction.
------------------------------------------------------------------------
r13812 | vlefevre | 2020-03-25 19:39:40 +0000 (Wed, 25 Mar 2020) | 2 lines
Changed paths:
   M /trunk/tests/tfma.c

[tests/tfma.c] Changed a RND_LOOP to RND_LOOP_NO_RNDF as the behavior
with RNDF changed after a bug fix.
------------------------------------------------------------------------
r13811 | vlefevre | 2020-03-25 17:52:01 +0000 (Wed, 25 Mar 2020) | 1 line
Changed paths:
   M /trunk/tests/tsub.c

[tests/tsub.c] Completed tests for UBF (currently fail).
------------------------------------------------------------------------
r13810 | vlefevre | 2020-03-25 17:28:45 +0000 (Wed, 25 Mar 2020) | 1 line
Changed paths:
   M /trunk/src/sub1.c

[src/sub1.c] Bug fix for UBF and MPFR_RNDF.
------------------------------------------------------------------------
r13809 | vlefevre | 2020-03-25 17:07:02 +0000 (Wed, 25 Mar 2020) | 3 lines
Changed paths:
   M /trunk/src/set_si_2exp.c
   M /trunk/src/set_ui_2exp.c

[src/set_{si,ui}_2exp.c] Bug fix in MPFR_LONG_WITHIN_LIMB defined case:
added early underflow/overflow checking to avoid integer overflow or
errors due to special exponent values.
------------------------------------------------------------------------
r13808 | vlefevre | 2020-03-25 16:55:37 +0000 (Wed, 25 Mar 2020) | 5 lines
Changed paths:
   M /trunk/tests/tset_si.c

[tests/tset_si.c] Added tests of mpfr_set_si_2exp and mpfr_set_ui_2exp
in precision 3 with integers from -31 to 31 and exponents MPFR_EXP_MIN,
MPFR_EMIN_MIN-7 to MPFR_EMIN_MIN, MPFR_EMAX_MAX-7 to MPFR_EMAX_MAX,
MPFR_EXP_MAX-7 to MPFR_EXP_MAX, showing bugs in these functions when
MPFR_LONG_WITHIN_LIMB is defined.
------------------------------------------------------------------------
r13807 | vlefevre | 2020-03-24 15:41:55 +0000 (Tue, 24 Mar 2020) | 3 lines
Changed paths:
   M /trunk/tests/tsub.c

[tests/tsub.c] More tests on UBF. The results are not checked yet,
but running the tests with UBsan could allow one to trigger bugs
(such as the one fixed in r13806).
------------------------------------------------------------------------
r13806 | vlefevre | 2020-03-24 15:32:22 +0000 (Tue, 24 Mar 2020) | 3 lines
Changed paths:
   M /trunk/src/sub1.c

[src/sub1.c] If exp_b = MPFR_EXP_MIN, an integer overflow may occur in
the "MAX (aq, bq) + 2 <= diff_exp" branch. This is possible only with
UBF. Fixed this bug with an early underflow detection in the UBF case.
------------------------------------------------------------------------
r13805 | vlefevre | 2020-03-24 13:47:38 +0000 (Tue, 24 Mar 2020) | 2 lines
Changed paths:
   M /trunk/tests/tfmma.c

[tests/tfmma.c] Added extreme_underflow test: before the r13798 bug fix,
this was triggering an integer overflow.
------------------------------------------------------------------------
r13804 | vlefevre | 2020-03-24 12:41:29 +0000 (Tue, 24 Mar 2020) | 1 line
Changed paths:
   M /trunk/tests/tsub.c

[tests/tsub.c] Corrected a function name.
------------------------------------------------------------------------
r13803 | vlefevre | 2020-03-24 11:27:52 +0000 (Tue, 24 Mar 2020) | 2 lines
Changed paths:
   M /trunk/tests/tsub.c

[tests/tsub.c] More tests on UBF, in particular with an exponent change
(including subnormal → normal and normal → overflow due to that).
------------------------------------------------------------------------
r13802 | vlefevre | 2020-03-24 01:31:09 +0000 (Tue, 24 Mar 2020) | 1 line
Changed paths:
   M /trunk/tests/tsub.c

[tests/tsub.c] Tests on UBF: underflow/overflow cases done.
------------------------------------------------------------------------
r13801 | vlefevre | 2020-03-23 16:05:46 +0000 (Mon, 23 Mar 2020) | 1 line
Changed paths:
   M /trunk/tests/tsub.c

[tests/tsub.c] More tests on UBF.
------------------------------------------------------------------------
r13800 | vlefevre | 2020-03-23 15:40:48 +0000 (Mon, 23 Mar 2020) | 1 line
Changed paths:
   M /trunk/src/mpfr-impl.h

[src/mpfr-impl.h] UBF: reordered macro definitions.
------------------------------------------------------------------------
r13799 | vlefevre | 2020-03-23 15:38:06 +0000 (Mon, 23 Mar 2020) | 3 lines
Changed paths:
   M /trunk/src/add1.c
   M /trunk/src/mpfr-impl.h
   M /trunk/src/sub1.c

[src]
  * mpfr-impl.h: define MPFR_UBF_GET_EXP macro.
  * add1.c, sub1.c: use this macro.
------------------------------------------------------------------------
r13798 | vlefevre | 2020-03-23 15:13:34 +0000 (Mon, 23 Mar 2020) | 2 lines
Changed paths:
   M /trunk/src/sub1.c

[src/sub1.c] Detect an underflow case (before the main detection) to
avoid a possible integer overflow with UBF.
------------------------------------------------------------------------
r13797 | vlefevre | 2020-03-23 13:19:56 +0000 (Mon, 23 Mar 2020) | 1 line
Changed paths:
   M /trunk/tests/tsub.c

[tests/tsub.c] Added comments.
------------------------------------------------------------------------
r13796 | vlefevre | 2020-03-23 13:13:10 +0000 (Mon, 23 Mar 2020) | 1 line
Changed paths:
   M /trunk/tests/tsub.c

[tests/tsub.c] First tests on UBF.
------------------------------------------------------------------------
r13795 | vlefevre | 2020-03-23 11:09:53 +0000 (Mon, 23 Mar 2020) | 1 line
Changed paths:
   M /trunk/src/agm.c

[src/agm.c] Avoid a potential integer overflow with huge precisions.
------------------------------------------------------------------------
r13794 | vlefevre | 2020-03-16 10:57:40 +0000 (Mon, 16 Mar 2020) | 2 lines
Changed paths:
   M /trunk/src/root.c

[src/root.c] Removed useless cast in a comparison, as both operands are
non-negative.
------------------------------------------------------------------------
r13793 | vlefevre | 2020-03-16 10:53:56 +0000 (Mon, 16 Mar 2020) | 8 lines
Changed paths:
   M /trunk/src/rem1.c

[src/rem1.c]
  * Portability fix: when mpfr_exp_t <= long (which is the default),
    an addition was done in unsigned integer arithmetic instead of
    signed integer arithmetic, with a conversion back to a signed
    type, i.e. with potentially implementation-defined behavior.
    There could also be an integer overflow on huge-precision values
    if mp_bitcnt_t > unsigned long.
  * Updated a comment.
------------------------------------------------------------------------
r13792 | vlefevre | 2020-03-16 10:44:24 +0000 (Mon, 16 Mar 2020) | 8 lines
Changed paths:
   M /trunk/src/pow.c

[src/pow.c]
  * Portability fix: when mpfr_exp_t <= long (which is the default),
    an addition with a negative result was done in unsigned integer
    arithmetic instead of signed integer arithmetic, with a conversion
    back to a signed type, i.e. with implementation-defined behavior.
    There could also be an integer overflow on huge-precision values
    if mp_bitcnt_t > unsigned long.
  * Updated comments.
------------------------------------------------------------------------
r13791 | vlefevre | 2020-03-16 10:34:26 +0000 (Mon, 16 Mar 2020) | 1 line
Changed paths:
   M /trunk/src/cos.c

[src/cos.c] Updated a comment.
------------------------------------------------------------------------
r13790 | vlefevre | 2020-03-16 10:22:20 +0000 (Mon, 16 Mar 2020) | 1 line
Changed paths:
   M /trunk/src/cos.c

[src/cos.c] Updated a comment.
------------------------------------------------------------------------
r13789 | vlefevre | 2020-03-16 10:07:34 +0000 (Mon, 16 Mar 2020) | 1 line
Changed paths:
   M /trunk/src/const_log2.c

[src/const_log2.c] Corrected type for the return value of mpz_scan1.
------------------------------------------------------------------------
r13788 | vlefevre | 2020-03-13 17:48:24 +0000 (Fri, 13 Mar 2020) | 5 lines
Changed paths:
   M /trunk/doc/README.dev
   M /trunk/tests/tests.c

[tests/tests.c] Revert a change done in r13783 for function bad_cases():
  no longer fail if a generated value does not correspond to a bad case.
  But fail if the MPFR_CHECK_BADCASES environment variable is defined
  and too few bad cases are generated (less than 90%).
[doc/README.dev] Document MPFR_CHECK_BADCASES.
------------------------------------------------------------------------
r13787 | vlefevre | 2020-03-13 16:40:17 +0000 (Fri, 13 Mar 2020) | 25 lines
Changed paths:
   M /trunk/tests/tatanh.c
   M /trunk/tests/tests.c
   M /trunk/tests/tlog1p.c
   M /trunk/tests/trec_sqrt.c

[tests] Update to test the ternary value in test5rm() when possible,
and support the exact cases.
  * tests.c:
      - test5rm(): modified the prototype again and the behavior.
        Now, either only one test is done and the ternary value is
        not checked, or the test is done in the 5 rounding modes and
        the ternary value is checked.
      - data_check(): corresponding update; updated description.
      - bad_cases(): test the exact cases too.
  * tatanh.c: for the bad_cases() call, reduce emax to avoid errors in
    the generation of bad cases due to the rounding of tanh(y) to 1,
    which does not correspond to a bad case for atanh, but to an exact
    case.
  * tlog1p.c: for the bad_cases() call, reduce emax to avoid errors in
    the generation of bad cases due to the rounding of expm1(y) to -1,
    which does not correspond to a bad case for log1p, but to an exact
    case.
  * trec_sqrt.c: corrected the bad_cases() call to avoid negative
    numbers.
Note: the following tests
  GMP_CHECK_RANDOMIZE=5 ./tacos
  GMP_CHECK_RANDOMIZE=6 ./tatan
  GMP_CHECK_RANDOMIZE=4 ./tcos
currently fail, but because of a change in r13783 (see associated log
for the reason). To be fixed later.
------------------------------------------------------------------------
r13786 | vlefevre | 2020-03-13 10:29:46 +0000 (Fri, 13 Mar 2020) | 5 lines
Changed paths:
   M /trunk/tests/tests.c

[tests/tests.c] Modified the prototype of test5rm() to support a
parameter "exact". Therefore the parameter "test_one" is now a boolean
(the value 2 is no longer supported, as redundant with "exact"), and
about data_check() with rnd = '*', the loop is now done in test5rm(),
i.e. test5rm() is called with test_one being false.
------------------------------------------------------------------------
r13785 | vlefevre | 2020-03-12 17:33:07 +0000 (Thu, 12 Mar 2020) | 2 lines
Changed paths:
   M /trunk/tests/tsqrt.c

[tests/tsqrt.c] For bad_cases(), use the same pos and psup parameters
as in troot.c for "rootn[2]", allowing inexact cases.
------------------------------------------------------------------------
r13784 | vlefevre | 2020-03-12 17:21:40 +0000 (Thu, 12 Mar 2020) | 2 lines
Changed paths:
   M /trunk/tests/tcbrt.c

[tests/tcbrt.c] For bad_cases(), use the same pos and psup parameters
as in troot.c for "rootn[3]", allowing inexact cases.
------------------------------------------------------------------------
r13783 | vlefevre | 2020-03-12 17:17:56 +0000 (Thu, 12 Mar 2020) | 19 lines
Changed paths:
   M /trunk/tests/tests.c
   M /trunk/tests/troot.c

[tests]
  * tests.c, function bad_cases(): updated/added debug messages;
    assume that the parameters are chosen in such a way that this
    test always generates hard-to-round cases (including exact cases),
    i.e. exit with an error if one does not get a bad case, otherwise
    this can leave unexpected failures unnoticed (either due to a bug
    in the MPFR library or due to poorly chosen parameters such as in
    troot.c until now).
    Note: ideally, this would require a proof, but it is better to get
    (unlikely) spurious failures with a non-default GMP_CHECK_RANDOMIZE
    value than missing important tests.
  * troot.c, bad_cases() invocation:
      - corrected the pos parameter: when n is even, it is useless to
        generate a negative number as the function is not defined (the
        inverse function generates a positive number, and the mismatch
        now yields a failure due to the change in bad_cases); when n is
        odd, generate as many negative numbers as positive ones.
      - for n ≤ 5, reduce the psup parameter in order to also generate
        inexact cases, instead of always exact cases.
------------------------------------------------------------------------
r13782 | vlefevre | 2020-03-12 16:17:38 +0000 (Thu, 12 Mar 2020) | 3 lines
Changed paths:
   M /trunk/tests/tests.c

[tests/tests.c] Added a TODO for bad_cases, as the exact cases are not
tested yet. As a consequence, the bad_cases test added in tcbrt.c r13776
is not really useful yet, as the cbrt bad cases are only exact cases.
------------------------------------------------------------------------
r13781 | vlefevre | 2020-03-12 15:48:34 +0000 (Thu, 12 Mar 2020) | 9 lines
Changed paths:
   M /trunk/tests/tests.c

[tests/tests.c]
  * test5rm: removed additional useless tests added in r6037 in the
    case test_one true and rnd = MPFR_RNDZ or MPFR_RNDA, since the
    description was a bit incorrect and this was used only by
      - data/digamma, where this yielded only duplicate tests (mode *);
      - data/li2, where mode z is used on a few tests and could be
        replaced by mode Z (i.e. test_one false) if need be;
    updated description and added details.
  * data_check: corrected/updated description.
------------------------------------------------------------------------
r13780 | vlefevre | 2020-03-12 13:05:16 +0000 (Thu, 12 Mar 2020) | 1 line
Changed paths:
   M /trunk/tests/tests.c

[tests/tests.c] Minor change in an initialization.
------------------------------------------------------------------------
r13779 | vlefevre | 2020-03-12 00:57:34 +0000 (Thu, 12 Mar 2020) | 1 line
Changed paths:
   M /trunk/tests/tget_set_d128.c
   M /trunk/tests/tget_set_d64.c

[tests/tget_set_{d64,d128}.c] Added a FIXME and improved a message.
------------------------------------------------------------------------
r13778 | vlefevre | 2020-03-12 00:44:26 +0000 (Thu, 12 Mar 2020) | 4 lines
Changed paths:
   M /trunk/acinclude.m4

[acinclude.m4] Added a FIXME: in case of cross-compiling, the guess
"DPD" can be wrong, e.g. for the build with MinGW under Linux. One
does not get a failure just because of other issues in the code,
forcing the portable implementation of the decimal functions.
------------------------------------------------------------------------
r13776 | vlefevre | 2020-03-11 15:22:13 +0000 (Wed, 11 Mar 2020) | 1 line
Changed paths:
   M /trunk/tests/tcbrt.c

Added bad_cases tests for mpfr_cbrt.
------------------------------------------------------------------------
r13775 | vlefevre | 2020-03-11 15:12:09 +0000 (Wed, 11 Mar 2020) | 4 lines
Changed paths:
   M /trunk/src/cbrt.c

[src/cbrt.c] Improved the algorithm in the case the precision of the
input is larger than 3n, where n is the precision of the output, + 1
if the rounding mode is MPFR_RNDN: instead of truncating the output,
call mpz_root on the truncated input.
------------------------------------------------------------------------
r13774 | vlefevre | 2020-03-11 13:29:03 +0000 (Wed, 11 Mar 2020) | 1 line
Changed paths:
   M /trunk/tests/tcbrt.c

[tests/tcbrt.c] Test the ternary value on other exact cases.
------------------------------------------------------------------------
r13773 | vlefevre | 2020-03-11 13:23:28 +0000 (Wed, 11 Mar 2020) | 1 line
Changed paths:
   M /trunk/tests/tcbrt.c

[tests/tcbrt.c] Test the ternary value on special cases.
------------------------------------------------------------------------
r13772 | vlefevre | 2020-03-11 10:36:43 +0000 (Wed, 11 Mar 2020) | 5 lines
Changed paths:
   M /trunk/src/cbrt.c

[src/cbrt.c] Description of the algorithm: improvement; corrected the
end, which was incorrect and did not match the code (the comment was
introduced in r2057 and was already incorrect in the round-down case;
then the round-to-nearest case was improved in r2070, but the comment
was not updated).
------------------------------------------------------------------------
r13771 | vlefevre | 2020-03-11 10:18:02 +0000 (Wed, 11 Mar 2020) | 1 line
Changed paths:
   M /trunk/src/cbrt.c

[src/cbrt.c] Description of the algorithm: correction; added a TODO.
------------------------------------------------------------------------
r13769 | vlefevre | 2020-03-10 16:43:17 +0000 (Tue, 10 Mar 2020) | 3 lines
Changed paths:
   M /trunk/src/cbrt.c

[src/cbrt.c] Description of the algorithm: corrected indentation;
renamed variable r to t in order to avoid confusion with the code
(where r has a different meaning).
------------------------------------------------------------------------
r13768 | vlefevre | 2020-03-10 16:35:08 +0000 (Tue, 10 Mar 2020) | 1 line
Changed paths:
   M /trunk/src/cbrt.c

[src/cbrt.c] Clarified a comment.
------------------------------------------------------------------------
r13767 | vlefevre | 2020-03-10 16:12:46 +0000 (Tue, 10 Mar 2020) | 2 lines
Changed paths:
   M /trunk/src/cbrt.c

[src/cbrt.c] Resolved the second FIXME and simplified the code
(basically by removing duplicate code).
------------------------------------------------------------------------
r13766 | vlefevre | 2020-03-10 15:38:20 +0000 (Tue, 10 Mar 2020) | 4 lines
Changed paths:
   M /trunk/src/cbrt.c

[src/cbrt.c] Description of the algorithm:
  * Since there was no upper bound on s, let's remove the upper bound
    on m (this now matches the code).
  * Replaced the FIXME by one due to the lack of upper bound on s.
------------------------------------------------------------------------
r13765 | vlefevre | 2020-03-10 15:20:11 +0000 (Tue, 10 Mar 2020) | 2 lines
Changed paths:
   M /trunk/src/cbrt.c

[src/cbrt.c] Added another FIXME as the code does not match the
algorithm described in a comment.
------------------------------------------------------------------------
r13764 | vlefevre | 2020-03-10 15:07:10 +0000 (Tue, 10 Mar 2020) | 2 lines
Changed paths:
   M /trunk/src/cbrt.c

[src/cbrt.c] Improved a condition to avoid operations that correspond
to a no-op.
------------------------------------------------------------------------
r13763 | vlefevre | 2020-03-10 14:24:45 +0000 (Tue, 10 Mar 2020) | 1 line
Changed paths:
   M /trunk/src/cbrt.c

[src/cbrt.c] Added an assertion.
------------------------------------------------------------------------
r13762 | vlefevre | 2020-03-10 14:15:11 +0000 (Tue, 10 Mar 2020) | 2 lines
Changed paths:
   M /trunk/src/cbrt.c

[src/cbrt.c] Code cleanup and simplification. Added logging messages and
a FIXME about a comment (coming from r2057 with its associated code).
------------------------------------------------------------------------
r13761 | vlefevre | 2020-03-10 13:43:04 +0000 (Tue, 10 Mar 2020) | 2 lines
Changed paths:
   M /trunk/src/cbrt.c

[src/cbrt.c] Removed a useless cast on a comparison operand, since
both operands are non-negative.
------------------------------------------------------------------------
r13760 | vlefevre | 2020-03-10 13:38:06 +0000 (Tue, 10 Mar 2020) | 1 line
Changed paths:
   M /trunk/src/atan.c

[src/atan.c] Added assertions.
------------------------------------------------------------------------
r13759 | vlefevre | 2020-03-10 13:12:09 +0000 (Tue, 10 Mar 2020) | 2 lines
Changed paths:
   M /trunk/tools/mpfrlint

[tools/mpfrlint] Workaround to Debian bug 953369 in libpython3.8-minimal
for the codespell invocation.
------------------------------------------------------------------------
r13758 | vlefevre | 2020-03-09 15:31:45 +0000 (Mon, 09 Mar 2020) | 3 lines
Changed paths:
   M /trunk/src/eint.c

[src/eint.c] Bug fix: possible integer overflow with some
C implementations (or some _MPFR_PREC_FORMAT / _MPFR_EXP_FORMAT values)
due to the use of incorrect integer types.
------------------------------------------------------------------------
r13757 | vlefevre | 2020-03-09 14:41:06 +0000 (Mon, 09 Mar 2020) | 1 line
Changed paths:
   M /trunk/src/eint.c

[src/eint.c] Added other logging messages.
------------------------------------------------------------------------
r13756 | vlefevre | 2020-03-09 14:36:19 +0000 (Mon, 09 Mar 2020) | 1 line
Changed paths:
   M /trunk/src/eint.c

[src/eint.c] Added some logging messages.
------------------------------------------------------------------------
r13755 | zimmerma | 2020-03-09 09:54:57 +0000 (Mon, 09 Mar 2020) | 2 lines
Changed paths:
   M /trunk/tests/tsin.c

[tests/tsin.c] added one test

------------------------------------------------------------------------
r13753 | vlefevre | 2020-03-04 15:14:31 +0000 (Wed, 04 Mar 2020) | 1 line
Changed paths:
   M /trunk/src/sub1.c

[src/sub1.c] cancel: also log its value; range checking/tracking.
------------------------------------------------------------------------
r13752 | vlefevre | 2020-03-04 14:38:54 +0000 (Wed, 04 Mar 2020) | 3 lines
Changed paths:
   M /trunk/src/cmp2.c

[src/cmp2.c] Added a comment giving the range of the value returned
in "cancel" and explaining why there is no integer overflow in the
computation of this value.
------------------------------------------------------------------------
r13751 | vlefevre | 2020-03-04 14:28:29 +0000 (Wed, 04 Mar 2020) | 1 line
Changed paths:
   M /trunk/src/cmp2.c

[src/cmp2.c] Comment: some absolute values are not needed (again).
------------------------------------------------------------------------
r13750 | vlefevre | 2020-03-04 14:26:40 +0000 (Wed, 04 Mar 2020) | 1 line
Changed paths:
   M /trunk/src/cmp2.c

[src/cmp2.c] Minor correction for |EXP(b) - EXP(c)| >= MPFR_EXP_MAX.
------------------------------------------------------------------------
r13749 | vlefevre | 2020-03-04 14:24:49 +0000 (Wed, 04 Mar 2020) | 1 line
Changed paths:
   M /trunk/src/cmp2.c

[src/cmp2.c] Better explanation when |EXP(b) - EXP(c)| >= MPFR_EXP_MAX.
------------------------------------------------------------------------
r13748 | vlefevre | 2020-03-03 15:09:21 +0000 (Tue, 03 Mar 2020) | 4 lines
Changed paths:
   M /trunk/src/cmp2.c

[src/cmp2.c] Finished the review of mpfr_cmp2: simplified the code even
more; corrected/updated comments (in the case high_dif = 0, one can have
dif = 1 if c has entirely been taken into account, so that the comment
"dif > 1 here" was incorrect; only dif >= 1 is needed anyway).
------------------------------------------------------------------------
r13747 | vlefevre | 2020-03-03 14:17:32 +0000 (Tue, 03 Mar 2020) | 2 lines
Changed paths:
   M /trunk/src/cmp2.c

[src/cmp2.c] Changed high_dif to type int since it is manipulated like
a boolean. Updated comments.
------------------------------------------------------------------------
r13746 | vlefevre | 2020-03-02 17:02:51 +0000 (Mon, 02 Mar 2020) | 1 line
Changed paths:
   M /trunk/src/cmp2.c

[src/cmp2.c] Simplified the mpfr_cmp2 code and updated comments.
------------------------------------------------------------------------
r13745 | vlefevre | 2020-03-02 15:55:03 +0000 (Mon, 02 Mar 2020) | 1 line
Changed paths:
   M /trunk/src/cmp2.c

[src/cmp2.c] Updated comments.
------------------------------------------------------------------------
r13744 | zimmerma | 2020-03-02 10:46:10 +0000 (Mon, 02 Mar 2020) | 2 lines
Changed paths:
   M /trunk/src/mpfr.h

[src/mpfr.h] added comment

------------------------------------------------------------------------
r13743 | vlefevre | 2020-03-02 10:05:18 +0000 (Mon, 02 Mar 2020) | 1 line
Changed paths:
   M /trunk/src/mpfr.h

[src/mpfr.h] _MPFR_PREC_FORMAT and _MPFR_EXP_FORMAT: improved comment.
------------------------------------------------------------------------
r13742 | vlefevre | 2020-03-02 09:59:04 +0000 (Mon, 02 Mar 2020) | 2 lines
Changed paths:
   M /trunk/src/mpfr.h

[src/mpfr.h] _MPFR_PREC_FORMAT and _MPFR_EXP_FORMAT: added a detailed
comment (the previous comment was not obsolete, but misleading).
------------------------------------------------------------------------
r13741 | zimmerma | 2020-03-02 09:19:31 +0000 (Mon, 02 Mar 2020) | 3 lines
Changed paths:
   M /trunk/src/mpfr.h

[src/mpfr.h] removed obsolete comment (_MPFR_PREC_FORMAT=3 is the default
	     under Linux x86_64)

------------------------------------------------------------------------
r13740 | zimmerma | 2020-03-01 18:07:02 +0000 (Sun, 01 Mar 2020) | 2 lines
Changed paths:
   M /trunk/src/rem1.c
   M /trunk/src/sin.c

[src/sin.c] increase initial precision even more

------------------------------------------------------------------------
r13739 | vlefevre | 2020-03-01 00:22:52 +0000 (Sun, 01 Mar 2020) | 1 line
Changed paths:
   M /trunk/tests/tpow.c

[tests/tpow.c] Replaced mpfr_cmp by !mpfr_equal_p for NaN detection.
------------------------------------------------------------------------
r13738 | vlefevre | 2020-03-01 00:19:05 +0000 (Sun, 01 Mar 2020) | 1 line
Changed paths:
   M /trunk/tests/tsin.c

[tests/tsin.c] Replaced obsolete function mpfr_mul_2exp by mpfr_mul_2ui.
------------------------------------------------------------------------
r13737 | zimmerma | 2020-02-29 13:07:12 +0000 (Sat, 29 Feb 2020) | 2 lines
Changed paths:
   M /trunk/src/sin.c

[src/sin.c] increase initial precision when x is large

------------------------------------------------------------------------
r13736 | zimmerma | 2020-02-29 11:04:14 +0000 (Sat, 29 Feb 2020) | 10 lines
Changed paths:
   M /trunk/src/rem1.c

[src/rem1.c] workaround for efficiency bug in mpz_powm_ui, which was making
argument reduction in mpfr_sin for huge x very slow.

Before:
$ ./mfv5 -p113 -e16384 -d-2 mpfr_sin
 mpfr_sin:	 3289620 / 3576511.59 / 6841956

After this commit:
 mpfr_sin:	 166868 / 182661.01 / 343224

------------------------------------------------------------------------
r13735 | zimmerma | 2020-02-29 10:55:26 +0000 (Sat, 29 Feb 2020) | 2 lines
Changed paths:
   M /trunk/tests/tpow.c

[tests/tpow.c] added one test

------------------------------------------------------------------------
r13734 | zimmerma | 2020-02-29 09:25:06 +0000 (Sat, 29 Feb 2020) | 4 lines
Changed paths:
   M /trunk/tools/mbench/mfv5.cc

added value -2 for option -d to generate random number with exponent
exactly e. Example:
$ mfv5 -p113 -e16384 -d-2 -v mpfr_sin

------------------------------------------------------------------------
r13733 | zimmerma | 2020-02-28 15:29:10 +0000 (Fri, 28 Feb 2020) | 2 lines
Changed paths:
   M /trunk/tests/tpow.c

[tests/tpow.c] added a test

------------------------------------------------------------------------
r13732 | zimmerma | 2020-02-28 15:20:42 +0000 (Fri, 28 Feb 2020) | 2 lines
Changed paths:
   M /trunk/tests/tsin.c

[tests/tsin.c] fixed and completed check_binary128()

------------------------------------------------------------------------
r13731 | vlefevre | 2020-02-28 15:07:26 +0000 (Fri, 28 Feb 2020) | 1 line
Changed paths:
   M /trunk/src/cmp2.c

[src/cmp2.c] Started to review mpfr_cmp2. Minor changes.
------------------------------------------------------------------------
r13730 | vlefevre | 2020-02-28 13:19:58 +0000 (Fri, 28 Feb 2020) | 1 line
Changed paths:
   M /trunk/src/cmp2.c

[src/cmp2.c] Detailed a comment concerning UBF.
------------------------------------------------------------------------
r13727 | vlefevre | 2020-02-27 13:35:30 +0000 (Thu, 27 Feb 2020) | 2 lines
Changed paths:
   M /trunk/tests/tsin.c

[tests/tsin.c] Cleanup of the latest test (note: mpfr_equal_p is better
than mpfr_cmp as it makes the test fail on a NaN result).
------------------------------------------------------------------------
r13726 | zimmerma | 2020-02-27 13:24:12 +0000 (Thu, 27 Feb 2020) | 2 lines
Changed paths:
   M /trunk/tests/tsin.c

[tests/tsin.c] added one test with precision 128

------------------------------------------------------------------------
r13725 | vlefevre | 2020-02-27 10:53:50 +0000 (Thu, 27 Feb 2020) | 1 line
Changed paths:
   M /trunk/src/mpfr.h

[src/mpfr.h] Updated a comment (underscore version of attribute name).
------------------------------------------------------------------------
r13724 | vlefevre | 2020-02-27 10:45:30 +0000 (Thu, 27 Feb 2020) | 2 lines
Changed paths:
   M /trunk/tools/mpfrlint

[tools/mpfrlint] Detect the use of the non-underscore version of the
attribute names in mpfr.h (see README.dev).
------------------------------------------------------------------------
r13723 | vlefevre | 2020-02-25 17:26:07 +0000 (Tue, 25 Feb 2020) | 2 lines
Changed paths:
   M /trunk/doc/README.dev
   M /trunk/src/mpfr.h

[src/mpfr.h] Use the underscore version of the attribute names.
[doc/README.dev] Added information on this subject.
------------------------------------------------------------------------
r13722 | vlefevre | 2020-02-25 16:17:57 +0000 (Tue, 25 Feb 2020) | 1 line
Changed paths:
   M /trunk/TODO

[TODO] Added item on GNU Automake and -I options.
------------------------------------------------------------------------
r13721 | vlefevre | 2020-02-14 09:29:07 +0000 (Fri, 14 Feb 2020) | 3 lines
Changed paths:
   M /trunk/src/mpfr-impl.h

[src/mpfr-impl.h] Removed an incorrect comment before MPFR_TMP_INIT1
(this macro does not allocate anything, and MPFR_TMP_INIT just after
can allocate more than 1 limb).
------------------------------------------------------------------------
r13720 | vlefevre | 2020-02-14 09:23:00 +0000 (Fri, 14 Feb 2020) | 1 line
Changed paths:
   M /trunk/TODO

[TODO] About the use of MPFR_MANT(x).
------------------------------------------------------------------------
r13719 | vlefevre | 2020-02-13 11:49:50 +0000 (Thu, 13 Feb 2020) | 1 line
Changed paths:
   M /trunk/TODO

[TODO] Typo.
------------------------------------------------------------------------
r13718 | vlefevre | 2020-02-12 15:15:56 +0000 (Wed, 12 Feb 2020) | 1 line
Changed paths:
   M /trunk/tests/tcmpabs.c

[tests/tcmpabs.c] Added missing tests of mpfr_cmpabs with NaN.
------------------------------------------------------------------------
r13717 | vlefevre | 2020-02-12 15:12:10 +0000 (Wed, 12 Feb 2020) | 5 lines
Changed paths:
   M /trunk/tests/tcmpabs.c

[tests/tcmpabs.c] For mpfr_cmpabs: like mpfr_cmpabs_ui, do each test
in 4 different contexts, combinations of:
  * flags all unset or flags all set;
  * usual exponent range or reduced exponent range.
Minor corrections in the old tests.
------------------------------------------------------------------------
r13716 | vlefevre | 2020-02-12 14:59:24 +0000 (Wed, 12 Feb 2020) | 4 lines
Changed paths:
   M /trunk/tests/tcmpabs.c

[tests/tcmpabs.c] For mpfr_cmpabs_ui: do each test in 4 different
contexts, combinations of:
  * flags all unset or flags all set;
  * usual exponent range or reduced exponent range.
------------------------------------------------------------------------
r13715 | zimmerma | 2020-02-12 13:49:46 +0000 (Wed, 12 Feb 2020) | 2 lines
Changed paths:
   M /trunk/tests/tcmpabs.c

[tests/tcmpabs.c] added tests for mpfr_cmpabs_ui

------------------------------------------------------------------------
r13714 | vlefevre | 2020-02-12 13:38:47 +0000 (Wed, 12 Feb 2020) | 4 lines
Changed paths:
   M /trunk/src/mpfr-impl.h

[src/mpfr-impl.h]
  * MPFR_ALIAS: use the comma operator instead of "do ... while (0)"
    so that this macro can be used in an expression context.
  * MPFR_TMP_INIT_ABS, MPFR_TMP_INIT_NEG: use MPFR_ALIAS.
------------------------------------------------------------------------
r13713 | vlefevre | 2020-02-12 13:25:50 +0000 (Wed, 12 Feb 2020) | 1 line
Changed paths:
   M /trunk/src/mpfr.h

[src/mpfr.h] Added prototype for mpfr_cmpabs_ui.
------------------------------------------------------------------------
r13712 | vlefevre | 2020-02-12 13:10:07 +0000 (Wed, 12 Feb 2020) | 2 lines
Changed paths:
   M /trunk/doc/mpfr.texi

[doc/mpfr.texi] Added mpfr_cmpabs_ui to Section "Added Functions"
(API Compatibility).
------------------------------------------------------------------------
r13711 | vlefevre | 2020-02-12 13:04:50 +0000 (Wed, 12 Feb 2020) | 1 line
Changed paths:
   M /trunk/tests/trint.c

[tests/trint.c] Replaced obsolete mpfr_cmp_abs by mpfr_cmpabs.
------------------------------------------------------------------------
r13710 | vlefevre | 2020-02-12 12:57:37 +0000 (Wed, 12 Feb 2020) | 1 line
Changed paths:
   M /trunk/doc/mpfr.texi

[doc/mpfr.texi] Typo from r13708.
------------------------------------------------------------------------
r13709 | zimmerma | 2020-02-12 12:52:50 +0000 (Wed, 12 Feb 2020) | 2 lines
Changed paths:
   M /trunk/NEWS

[NEWS] mention new mpfr_cmpabs_ui

------------------------------------------------------------------------
r13708 | zimmerma | 2020-02-12 12:51:55 +0000 (Wed, 12 Feb 2020) | 2 lines
Changed paths:
   M /trunk/doc/mpfr.texi
   M /trunk/src/Makefile.am
   M /trunk/src/cmpabs.c
   A /trunk/src/cmpabs_ui.c

added new function mpfr_cmpabs_ui

------------------------------------------------------------------------
r13707 | zimmerma | 2020-02-12 12:25:47 +0000 (Wed, 12 Feb 2020) | 2 lines
Changed paths:
   M /trunk/src/Makefile.am
   D /trunk/src/cmp_abs.c
   A /trunk/src/cmpabs.c (from /trunk/src/cmp_abs.c:13706)

renamed cmp_abs.c to cmpabs.c

------------------------------------------------------------------------
r13706 | vlefevre | 2020-02-12 11:25:53 +0000 (Wed, 12 Feb 2020) | 1 line
Changed paths:
   M /trunk/TODO

[TODO] Typo.
------------------------------------------------------------------------
r13705 | vlefevre | 2020-02-12 11:23:59 +0000 (Wed, 12 Feb 2020) | 3 lines
Changed paths:
   M /trunk/TODO

[TODO] + Serialization / Deserialization (suggested by Frédéric Pétrot).
I've also added an idea of implementation to reuse most of the code and
change very little.
------------------------------------------------------------------------
r13704 | vlefevre | 2020-02-12 01:38:57 +0000 (Wed, 12 Feb 2020) | 4 lines
Changed paths:
   M /trunk/src/ubf.c

[src/ubf.c]
  * Optimized mpfr_init_get_zexp() for _MPFR_EXP_FORMAT <= 3
    (as in the default configuration).
  * Updated comments.
------------------------------------------------------------------------
r13703 | vlefevre | 2020-02-12 01:15:34 +0000 (Wed, 12 Feb 2020) | 1 line
Changed paths:
   M /trunk/src/mpfr-impl.h

[src/mpfr-impl.h] Added UBF-related comments.
------------------------------------------------------------------------
r13702 | vlefevre | 2020-02-12 00:37:04 +0000 (Wed, 12 Feb 2020) | 1 line
Changed paths:
   M /trunk/src/mpfr-impl.h

[src/mpfr-impl.h] Added UBF-related comments.
------------------------------------------------------------------------
r13701 | vlefevre | 2020-02-12 00:04:34 +0000 (Wed, 12 Feb 2020) | 1 line
Changed paths:
   M /trunk/src/mpfr-impl.h

[src/mpfr-impl.h] Added a comment for UBF and types.
------------------------------------------------------------------------
r13700 | vlefevre | 2020-02-11 14:38:49 +0000 (Tue, 11 Feb 2020) | 1 line
Changed paths:
   M /trunk/src/mpfr-impl.h

[src/mpfr-impl.h] Added a comment for INEXPOS.
------------------------------------------------------------------------
r13699 | vlefevre | 2020-02-11 14:36:00 +0000 (Tue, 11 Feb 2020) | 1 line
Changed paths:
   M /trunk/src/mpfr-impl.h

[src/mpfr-impl.h] INEXPOS and VSIGN code improvement.
------------------------------------------------------------------------
r13698 | vlefevre | 2020-02-11 14:33:58 +0000 (Tue, 11 Feb 2020) | 1 line
Changed paths:
   M /trunk/src/modf.c
   M /trunk/src/sinh_cosh.c

Removed duplicate macro definitions.
------------------------------------------------------------------------
r13696 | vlefevre | 2020-02-11 11:44:01 +0000 (Tue, 11 Feb 2020) | 1 line
Changed paths:
   M /trunk/tests/tfmma.c

[tests/tfmma.c] Use mpfr_set_str instead of mpfr_set_d.
------------------------------------------------------------------------
r13695 | vlefevre | 2020-02-11 10:06:46 +0000 (Tue, 11 Feb 2020) | 1 line
Changed paths:
   M /trunk/src/sub1.c

[src/sub1.c] Got rid of some goto's. Added log messages.
------------------------------------------------------------------------
r13694 | vlefevre | 2020-02-10 15:17:34 +0000 (Mon, 10 Feb 2020) | 3 lines
Changed paths:
   M /trunk/src/sub1.c

[src/sub1.c] Bug fix: the underflow case (possible with UBF, e.g. via
mpfr_fmma or mpfr_fmms) was not tested in the case c small.
Note: this completes r11418 and r12752 for underflow detection.
------------------------------------------------------------------------
r13693 | vlefevre | 2020-02-10 15:05:19 +0000 (Mon, 10 Feb 2020) | 2 lines
Changed paths:
   M /trunk/src/sub1.c

[src/sub1.c] Added log messages and checked the UBF cases yielding
exp_b == MPFR_EXP_MAX and/or diff_exp == MPFR_EXP_MAX.
------------------------------------------------------------------------
r13692 | vlefevre | 2020-02-08 10:59:39 +0000 (Sat, 08 Feb 2020) | 1 line
Changed paths:
   M /trunk/src/vasprintf.c

[src/vasprintf.c] Added log messages for MPFR_PREC_ARG ('P' specifier).
------------------------------------------------------------------------
r13690 | vlefevre | 2020-02-08 02:21:15 +0000 (Sat, 08 Feb 2020) | 1 line
Changed paths:
   M /trunk/tests/tsprintf.c

[tests/tsprintf.c] Fixed some tests: the 'P' specifier was missing.
------------------------------------------------------------------------
r13689 | vlefevre | 2020-02-06 10:23:15 +0000 (Thu, 06 Feb 2020) | 6 lines
Changed paths:
   M /trunk/src/fmma.c

[src/fmma.c] Reverted the mpfr_check_range from r13688.
The exponent range has not been extended by mpfr_fmma_aux, and the
result comes from mpfr_add, mpfr_sub, or mpfr_set_1_2, which return
results in the current range. If the result of mpfr_fmma_aux is not
in the current range, this is due to a bug in one of these functions.
Note: mpfr_add and mpfr_sub accept UBF inputs.
------------------------------------------------------------------------
r13688 | zimmerma | 2020-02-06 08:45:25 +0000 (Thu, 06 Feb 2020) | 3 lines
Changed paths:
   M /trunk/src/fmma.c
   M /trunk/tests/tfmma.c

[src/fmma.c] fixed bug (result might be out of exponent range)
[tests/tfmma.c] added non-regression test

------------------------------------------------------------------------
r13685 | vlefevre | 2020-02-03 23:37:28 +0000 (Mon, 03 Feb 2020) | 1 line
Changed paths:
   M /trunk/doc/mpfr.texi

[doc/mpfr.texi] Updated the month.
------------------------------------------------------------------------
r13684 | vlefevre | 2020-02-03 23:36:35 +0000 (Mon, 03 Feb 2020) | 4 lines
Changed paths:
   M /trunk/doc/mpfr.texi

[doc/mpfr.texi] In the paragraph "MPFR internal data such as flags",
no longer mention caches as caches may now also be global when MPFR
has been compiled as thread safe (locking is used). Caches have been
discussed earlier in the section anyway.
------------------------------------------------------------------------
r13683 | vlefevre | 2020-01-23 10:05:59 +0000 (Thu, 23 Jan 2020) | 1 line
Changed paths:
   M /trunk/INSTALL

[INSTALL] URL update.
------------------------------------------------------------------------
r13681 | vlefevre | 2020-01-20 16:02:54 +0000 (Mon, 20 Jan 2020) | 1 line
Changed paths:
   M /trunk/ChangeLog

ChangeLog update with "LC_ALL=en_US.UTF8 TZ=UTC svn log -rHEAD:0 -v".
------------------------------------------------------------------------
r13678 | vlefevre | 2020-01-20 15:36:00 +0000 (Mon, 20 Jan 2020) | 2 lines
Changed paths:
   M /trunk/tests/Makefile.am

[tests/Makefile.am] Updated a comment; in particular, replaced the two
obsolete gmane.org URLs by lists.gnu.org/archive/html/bug-gnulib ones.
------------------------------------------------------------------------
r13677 | vlefevre | 2020-01-20 15:25:19 +0000 (Mon, 20 Jan 2020) | 1 line
Changed paths:
   M /trunk/INSTALL

[INSTALL] Removed reference to a gmane.org URL, which no longer exists.
------------------------------------------------------------------------
r13674 | vlefevre | 2020-01-16 13:21:16 +0000 (Thu, 16 Jan 2020) | 1 line
Changed paths:
   M /trunk/src/beta.c
   M /trunk/tests/ttanh.c

[src/beta.c,tests/ttanh.c] towards → toward (for consistency).
------------------------------------------------------------------------
r13671 | vlefevre | 2020-01-10 16:24:30 +0000 (Fri, 10 Jan 2020) | 2 lines
Changed paths:
   M /trunk/tests/tfprintf.c
   M /trunk/tests/tprintf.c

[tests/{tfprintf.c,tprintf.c}] Updated an error message about MinGW,
now output only if MinGW is used.
------------------------------------------------------------------------
r13670 | vlefevre | 2020-01-10 16:17:16 +0000 (Fri, 10 Jan 2020) | 2 lines
Changed paths:
   M /trunk/doc/README.dev

[doc/README.dev] Concerning MinGW, added a sentence about the use of
the __USE_MINGW_ANSI_STDIO macro, confirming the existing note.
------------------------------------------------------------------------
r13669 | vlefevre | 2020-01-10 16:12:53 +0000 (Fri, 10 Jan 2020) | 1 line
Changed paths:
   M /trunk/TODO

[TODO] Removed obsolete item on MinGW and -D__USE_MINGW_ANSI_STDIO.
... (truncated)