diff options
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 2044 |
1 files changed, 2044 insertions, 0 deletions
@@ -1,4 +1,2048 @@ ------------------------------------------------------------------------ +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 |