summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fixed bug in the computation of the Bernoulli numbers, affecting4.0vlefevre2020-06-013-5/+54
| | | | | | | | | | | | mpfr_gamma (bug introduced in r8981). Added non-regression test with mpfr_gamma. * doc/README.dev: document the new macro MPFR_CHECK_EXPENSIVE. * src/bernoulli.c: bug fix; initial precision improved. * tests/tgamma.c: non-regression test, performed only with MPFR_CHECK_EXPENSIVE and MPFR_CHECK_LARGEMEM set. (merged changesets r13907-13912,13922 from the trunk) git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/4.0@13924 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/fpif.c] Removed incorrect dead code (already done in the trunk),vlefevre2020-05-031-5/+1
| | | | | | which triggers an error with -fanalyzer from GCC 10. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/4.0@13900 280ebfd0-de03-0410-8827-d642c229c3f4
* [tests/tsub.c]vlefevre2020-04-031-12/+20
| | | | | | | | | | | * Fixed the test_ubf test, which may fail with some seeds, such as GMP_CHECK_RANDOMIZE=1585822440108893: A random precision was too small, so that an input for the test was not computed exactly. Also check that the inputs are computed exactly. * Corrected MPFR_ASSERTD to MPFR_ASSERTN. (merged changesets r13862,13867-13868 from the trunk) git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/4.0@13869 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/sub1.c] Typo in a comment.vlefevre2020-03-301-1/+1
| | | | | | (merged changeset r13840 from the trunk, with conflict resolution) git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/4.0@13841 280ebfd0-de03-0410-8827-d642c229c3f4
* [tests/tset_sj.c] For the "j" printf length modifier support, testvlefevre2020-03-301-2/+2
| | | | | | | and use MPFR_PRINTF_MAXLM instead of NPRINTF_J (this is the way up to MPFR 4.0, as the cleanup r13457 is only in the trunk). git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/4.0@13838 280ebfd0-de03-0410-8827-d642c229c3f4
* UBF support fixed in mpfr_sub1 (src/sub1.c):vlefevre2020-03-306-8/+425
| | | | | | | | | | | | | | | | | | * underflow detection (which could affect mpfr_{fma,fms,fmma,fmms}); * MPFR_RNDF (mpfr_set4, which doesn't support UBF, could be called). In the tests directory: * tfma.c: disabled some tests on MPFR_RNDF (since the results are not fully specified, the tests are heuristics only and depend on a particular implementation, which has changed for the bug fix). * tfmma.c: added a testcase showing how the above bug could affect mpfr_fmms. * tsub.c: added tests on UBF (thus using internals). (merged changesets r13703,13796-13807,13810-13815,13818,13821 from the trunk) git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/4.0@13837 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/set_{si,ui}_2exp.c] Added early underflow/overflow checking tovlefevre2020-03-295-6/+311
| | | | | | | | | | | | | | | | | | | | | | avoid integer overflow or errors due to special exponent values. [src/set_uj.c] Added early overflow detection to avoid a possible integer overflow. Fixed underflow detection. [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 (testcases for the above bugs in src/set_{si,ui}_2exp.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 the same exponents as in tset_si.c, but also exponents INTMAX_MIN and INTMAX_MAX (testcases for the above bugs in src/set_uj.c). (merged changesets r13808-13809,13826,13832-13835 from the trunk) git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/4.0@13836 280ebfd0-de03-0410-8827-d642c229c3f4
* [src] Portability fixes. Avoid a potential integer overflow with hugevlefevre2020-03-263-7/+12
| | | | | | | precisions. (merged changesets r13792-13793,13795 from the trunk) git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/4.0@13828 280ebfd0-de03-0410-8827-d642c229c3f4
* Added bad_cases tests for mpfr_cbrt.vlefevre2020-03-111-0/+7
| | | | | | (merged changeset r13776 from the trunk) git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/4.0@13777 280ebfd0-de03-0410-8827-d642c229c3f4
* [tools/mpfrlint] Workaround to Debian bug 953369 in libpython3.8-minimalvlefevre2020-03-111-2/+9
| | | | | | | for the codespell invocation. (merged changeset r13759 from the trunk) git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/4.0@13770 280ebfd0-de03-0410-8827-d642c229c3f4
* [tests/tfmma.c] Merged the latest tests from the trunkvlefevre2020-02-112-10/+114
| | | | | | | | | (r12752,12759,13688,13696). [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. (merged changeset r13694 from the trunk) git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/4.0@13697 280ebfd0-de03-0410-8827-d642c229c3f4
* [tests/tsprintf.c] Fixed some tests: the 'P' specifier was missing.vlefevre2020-02-081-6/+6
| | | | | | (merged changeset r13690 from the trunk) git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/4.0@13691 280ebfd0-de03-0410-8827-d642c229c3f4
* [doc/mpfr.texi] Updated the month.vlefevre2020-02-041-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/4.0@13687 280ebfd0-de03-0410-8827-d642c229c3f4
* [doc/mpfr.texi] In the paragraph "MPFR internal data such as flags",vlefevre2020-02-041-3/+2
| | | | | | | | | 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. (merged changeset r13684 from the trunk) git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/4.0@13686 280ebfd0-de03-0410-8827-d642c229c3f4
* ChangeLog update with "LC_ALL=en_US.UTF8 TZ=UTC0 svn log -rHEAD:0 -v".vlefevre2020-01-201-4/+709
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/4.0@13682 280ebfd0-de03-0410-8827-d642c229c3f4
* [tests/Makefile.am] Updated a comment; in particular, replaced the twovlefevre2020-01-201-3/+6
| | | | | | | obsolete gmane.org URLs by lists.gnu.org/archive/html/bug-gnulib ones. (merged changeset r13678 from the trunk) git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/4.0@13680 280ebfd0-de03-0410-8827-d642c229c3f4
* [INSTALL] Removed reference to a gmane.org URL, which no longer exists.vlefevre2020-01-201-3/+0
| | | | | | (merged changeset r13677 from the trunk) git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/4.0@13679 280ebfd0-de03-0410-8827-d642c229c3f4
* [doc/mpfr.texi] Updated the month.vlefevre2020-01-121-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/4.0@13672 280ebfd0-de03-0410-8827-d642c229c3f4
* [tests/tversion.c]vlefevre2020-01-091-2/+21
| | | | | | | | | | * Output sizeof(mpfr_intmax_t) too. * When building with MinGW, output a line about it: MinGW32 / MinGW64, and the __USE_MINGW_ANSI_STDIO definition. (merged changesets associated with this file r13457,13562,13658 from the trunk) git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/4.0@13660 280ebfd0-de03-0410-8827-d642c229c3f4
* Copyright notice update: added 2020 withvlefevre2020-01-09495-496/+496
| | | | | | | | perl -pi -e 's/ (\d{4}-)?(2019)(?= Free Software)/ " ".($1||"$2-").($2+1)/e' **/*(^/) under zsh. Removed 2019 from the example in the doc/README.dev file. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/4.0@13659 280ebfd0-de03-0410-8827-d642c229c3f4
* [doc/mpfr.texi] Updated the month.vlefevre2019-09-061-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/4.0@13620 280ebfd0-de03-0410-8827-d642c229c3f4
* [NEWS] Update.vlefevre2019-09-061-0/+2
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/4.0@13616 280ebfd0-de03-0410-8827-d642c229c3f4
* [doc/mpfr.texi] Changed an incorrect use of @xref, which must alwaysvlefevre2019-09-061-1/+1
| | | | | | | occur at the beginning of a sentence (use "see @ref{...}" instead). (merged changeset r13614 from the trunk) git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/4.0@13615 280ebfd0-de03-0410-8827-d642c229c3f4
* [NEWS] Prepare for new version 4.0.3 in order to be able to testvlefevre2019-07-311-0/+2
| | | | | | "make distcheck". git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/4.0@13538 280ebfd0-de03-0410-8827-d642c229c3f4
* [codespell.*] Update for codespell 1.15.0.vlefevre2019-07-082-0/+2
| | | | | | (merged changeset r13524 from the trunk) git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/4.0@13525 280ebfd0-de03-0410-8827-d642c229c3f4
* Fixed spelling mistakes found by codespell 1.15.0.vlefevre2019-07-085-10/+10
| | | | | | (merged changeset r13522 from the trunk) git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/4.0@13523 280ebfd0-de03-0410-8827-d642c229c3f4
* [acinclude.m4] Added missing "const" qualifier to "char *" in a test;vlefevre2019-07-061-4/+6
| | | | | | | needed with GCC's "-Wwrite-strings -Werror". (merged changeset r13519 from the trunk) git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/4.0@13520 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/mpfr-impl.h] MPFR_GROUP_* macros / mpfr_group_t structure: whenvlefevre2019-07-021-0/+14
| | | | | | | | | MPFR_GROUP_STATIC_SIZE is 0 (for testing), use a flexible array member (ISO C99) instead of a zero-length array (GNU extension, forbidden in ISO C). (merged changeset r13517 from the trunk) git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/4.0@13518 280ebfd0-de03-0410-8827-d642c229c3f4
* [tests/*.c] Added missing "const" qualifier to "char *" when thisvlefevre2019-07-027-13/+17
| | | | | | | | involves string literals (detected by using GCC's -Wwrite-strings option, via the default -Wdiscarded-qualifiers warning). (merged changeset r13515 from the trunk) git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/4.0@13516 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/mpfr-impl.h] Include <float.h> to make sure that macro definitionsvlefevre2019-06-011-0/+1
| | | | | | | | | | in this header file are always correct: some definitions depend on various macros from <float.h>, such as FLT_RADIX and DBL_MANT_DIG. This fixes bug 21762 (case where "volatile" is a macro): https://gforge.inria.fr/tracker/?func=detail&atid=619&aid=21762&group_id=136 (merged changesets r13493-13494 from the trunk) git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/4.0@13499 280ebfd0-de03-0410-8827-d642c229c3f4
* [doc/mpfr.texi] Updated the month.vlefevre2019-04-251-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/4.0@13478 280ebfd0-de03-0410-8827-d642c229c3f4
* [tools/mpfrlint] Check that the lists of rounding modes invlefevre2019-04-252-3/+14
| | | | | | | | | | src/print_rnd_mode.c and doc/mpfr.texi are identical. [doc/mpfr.texi] Updated the list of rounding modes in the description of the mpfr_print_rnd_mode function. Choose the same order as in the "Rounding Modes" section in "MPFR Basics". (merged changesets r13472,13474-13475 from the trunk) git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/4.0@13476 280ebfd0-de03-0410-8827-d642c229c3f4
* [tests] Use MPFR_DBL_* macros when necessary.vlefevre2019-02-065-16/+19
| | | | | | (merged changeset r13446 from the trunk) git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/4.0@13449 280ebfd0-de03-0410-8827-d642c229c3f4
* [tools/mpfrlint] Detect use of DBL_* macros instead of MPFR_DBL_* ones.vlefevre2019-02-061-0/+3
| | | | | | (merged changeset r13444 from the trunk) git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/4.0@13448 280ebfd0-de03-0410-8827-d642c229c3f4
* [doc/README.dev] Improved description of MPFR_ERRDIVZERO.vlefevre2019-02-062-4/+16
| | | | | | | [tools/mpfrlint] Check that native FP division by zero is not used. (merged changesets r13441-13443 from the trunk) git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/4.0@13447 280ebfd0-de03-0410-8827-d642c229c3f4
* Updated version to 4.0.3-dev.vlefevre2019-01-316-12/+12
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/4.0@13436 280ebfd0-de03-0410-8827-d642c229c3f4
* ChangeLog update with "LC_ALL=en_US.UTF8 TZ=UTC0 svn log -rHEAD:0 -v".vlefevre2019-01-311-0/+56
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/4.0@13434 280ebfd0-de03-0410-8827-d642c229c3f4
* [NEWS] Put the "Option -pedantic is now always removed [...]" linevlefevre2019-01-311-1/+1
| | | | | | at the right place (4.0.2, not 4.0.1: r13422 was wrong). git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/4.0@13433 280ebfd0-de03-0410-8827-d642c229c3f4
* Updated version to 4.0.2.vlefevre2019-01-315-5/+5
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/4.0@13432 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/Makefile.am] In check-exported-symbols, replaced grep by $(GREP)vlefevre2019-01-311-2/+2
| | | | | | | as usual and like in check-gmp-symbols. (merged changeset r13429 from the trunk) git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/4.0@13431 280ebfd0-de03-0410-8827-d642c229c3f4
* [configure.ac] Updated comment about default options in CFLAGS for GCC.vlefevre2019-01-301-2/+7
| | | | | | (merged changeset r13423 from the trunk) git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/4.0@13424 280ebfd0-de03-0410-8827-d642c229c3f4
* Update about CC / CFLAGS settings from GMP (__GMP_CC / __GMP_CFLAGS).vlefevre2019-01-303-10/+15
| | | | | | | | | | | | * configure.ac: remove -pedantic unconditionally; since r7044, it was removed only when logging was enabled, as at that time only logging was using C extensions. * NEWS: added a line about this change. * INSTALL: updated the note about CC / CFLAGS, removing the obsolete reference to GMP 4.3.0 at the same time. (merged changeset r13421 from the trunk) git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/4.0@13422 280ebfd0-de03-0410-8827-d642c229c3f4
* ChangeLog update with "LC_ALL=en_US.UTF8 TZ=UTC0 svn log -rHEAD:0 -v".vlefevre2019-01-271-24/+143
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/4.0@13418 280ebfd0-de03-0410-8827-d642c229c3f4
* Updated version to 4.0.2-rc2.vlefevre2019-01-275-5/+5
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/4.0@13417 280ebfd0-de03-0410-8827-d642c229c3f4
* Shared cache: cleanup and various improvements / corrections.vlefevre2019-01-276-119/+132
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * acinclude.m4: - test $enable_shared_cache instead of $mpfr_want_shared_cache; - check ISO C11 thread support and/or POSIX thread support only when necessary; - when checking support for POSIX threads (pthread), also check that pthread_rwlock_t is supported, as it is needed by MPFR and conditionally defined in glibc's bits/pthreadtypes.h (via <pthread.h>); - with POSIX threads, also set CC="$PTHREAD_CC" as documented by ax_pthread (autoconf-archive). This is not guaranteed to work, but according to the ax_pthread.m4 source, in the cases where "$PTHREAD_CC" != "$CC", not setting it will probably not work either; - handle --enable-shared-cache early in MPFR_CONFIGS, because the use of POSIX threads (pthread) may need to change CC, CFLAGS, and LIBS (thus affecting other tests); - removed the now useless MPFR_CHECK_SHARED_CACHE function. * configure.ac: no longer set the mpfr_want_shared_cache variable, as enable_shared_cache (now used) already has the same usage. * acinclude.m4, configure.ac: moved the compatibility test of the configure options even earlier, from acinclude.m4 to configure.ac, just after the code that defines them. Also added an associated AC_MSG_CHECKING message for better clarity. * src/mpfr-impl.h: added a comment about the cache-related types, which depend on the locking methods. * src/mpfr-thread.h: fixed the lock macros: - in case of failure, one must abort, otherwise this would generally be undefined behavior; - added missing "do {} while (0)" (currently not mandatory). * tests/tversion.c: update concerning the shared cache, to be consistent with the other mpfr_buildopt_*_p features: - check that mpfr_buildopt_sharedcache_p() and MPFR_WANT_SHARED_CACHE match; - for the output of the value, test mpfr_buildopt_sharedcache_p() instead of the macro. * NEWS: update. (merged changesets r13032,13390-13396,13410,13412 from the trunk) git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/4.0@13416 280ebfd0-de03-0410-8827-d642c229c3f4
* [configure.ac] By default (i.e. if CFLAGS is not already set), ifvlefevre2019-01-253-7/+9
| | | | | | | | | | the compiler is GCC not in C++ mode, add the -Wc++-compat warning since we expect the code to compile with a C++ compiler. [acinclude.m4,tests/trint.c] Fixed C++ compatibility issues detected thanks to this option used with -Werror. (merged changesets r13406-13408 from the trunk) git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/4.0@13409 280ebfd0-de03-0410-8827-d642c229c3f4
* [tests/tcheck.c] Corrected meaningless error message.vlefevre2019-01-131-1/+1
| | | | | | (merged changeset r13401 from the trunk) git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/4.0@13402 280ebfd0-de03-0410-8827-d642c229c3f4
* [tests/tversion.c] Decimal formats: output the encoding type (DPD/BID).vlefevre2019-01-131-6/+12
| | | | | | | (merged changeset r12776 from the trunk, and as a consequence, completed the merge of r13003) git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/4.0@13400 280ebfd0-de03-0410-8827-d642c229c3f4
* Updated version to 4.0.2-dev.vlefevre2019-01-135-5/+5
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/4.0@13399 280ebfd0-de03-0410-8827-d642c229c3f4
* [doc/mpfr.texi] Minor correction for non-tex versions.vlefevre2019-01-131-1/+1
| | | | | | | Thanks to Trevor Spiteri for the bug report. (merged changeset r13397 from the trunk) git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/4.0@13398 280ebfd0-de03-0410-8827-d642c229c3f4