https://github.com/BrianGladman/mpfr

sort by:
Revision Author Date Message Commit Date
41807e3 Merge branch 'master' of gitlab.inria.fr:mpfr/mpfr 17 April 2024, 15:43:51 UTC
d6ef995 [src/sub1sp1_extracted.c] Corrected typo from the latest commit. 21 March 2024, 15:12:32 UTC
45a7b93 [src/sub1sp1_extracted.c] Removed useless #include <inttypes.h>. * The __builtin_clzll GCC builtin is always available; it does not need <inttypes.h>. * Added a TODO for constistency with "add1sp1_extracted.c". But let us recall that sub1sp1_extracted.c is not used yet at all (see src/sub1sp.c and the #if 0). 21 March 2024, 13:47:00 UTC
4e8fee7 [src/sub1sp.c] Updated comment about "sub1sp1_extracted.c". 21 March 2024, 13:40:24 UTC
7319e5f [doc/README.dev] Updated text about "add1sp1_extracted.c". 21 March 2024, 13:27:58 UTC
ef2dad4 version-ext.sh: handle a particular case due to merged Git branches. It is possible that $gitb contains multiple branches. This may be caused by a branch B that was merged into a branch A while it was in sync with branch A, i.e. before additional commits to branch A. In such a case, a merge commit isn't even generated, and the status is unfortunately ambiguous. Let us handle only the practical case where branch A is master by assuming that the expected branch is master. Note: if such an issue occurs in other cases, the user may want to avoid it be deleting local branches that are no longer needed. This was occurring at commit 4f2d2d5ee1453f8a376025ff96a8165fb9ca8911 (with the merge of the compound branch into master). 12 March 2024, 16:15:10 UTC
4f2d2d5 [tests/tcompound.c] Renamed check_ieee754() to check_misc(). This function does more tests than special cases. 28 February 2024, 10:45:45 UTC
47c2413 [tests/tcompound.c] More checks for compound(NaN,y) with y <> 0. * Check more values of y. * Check the ternary value and the flags. 28 February 2024, 10:43:03 UTC
9c6976f [tests/tcompound.c] More checks for compound(+Inf,y) with y < 0. * Check more values of y. * Check the ternary value and the flags. 28 February 2024, 10:34:51 UTC
b44fcd6 [tests/tcompound.c] More checks for compound(+Inf,y) with y > 0. * Check more values of y. * Check the ternary value and the flags. 28 February 2024, 10:25:05 UTC
92cbca3 [tests/tcompound.c] More checks for compound(+/-0,y). Check the ternary value and the flags. 28 February 2024, 10:13:16 UTC
7ffd1ca [tests/tcompound.c] Updated compound() tests. * compound(x,y) for x < -1: more checks of the flags. * Added missing "exit (1);". 28 February 2024, 10:07:17 UTC
94d944d [tests/tcompound.c] More checks for compound(x,0) for x >= -1 or x = NaN. Check the ternary value and the flags. 28 February 2024, 10:01:54 UTC
1c81362 [tests/tcompound.c] Updated compound(x,y) tests for x < -1. * Removed redundant tests. * Check the ternary value. 28 February 2024, 09:53:50 UTC
7e28dbc [tests/tcompound.c] More compound(x,y) tests for x < -1. 28 February 2024, 09:44:47 UTC
7664090 [tests/tcompound.c] Improved compound(x,0) test. Check that the result is really 1 (not NaN) by using mpfr_cmp_ui0 instead of mpfr_cmp_ui. 28 February 2024, 03:00:23 UTC
6e2e8c9 [tests/tcompound_si.c] Updated copyright notice to 2024. Because this file is new in this compound branch, the year was not updated with the merge of master into this branch. 28 February 2024, 02:55:32 UTC
ad082b7 mpfr_compound: fixed compound(-1,NaN). It was giving +0 or +Inf instead of NaN. 28 February 2024, 02:51:05 UTC
a32ff79 mpfr_compound: fixed compound(-1,-Inf). We must not raise the divide-by-zero flag in this case. 28 February 2024, 02:41:03 UTC
9a42dc8 Merge branch 'master' into compound 28 February 2024, 02:33:44 UTC
e83d558 [tests/tests.c] Fixed the flags_out function. The divide-by-zero exception flag was forgotten in commit dd68e6db2cac06ec399a391cc769119e3604ac7a. 28 February 2024, 02:28:53 UTC
6ee8889 [tests/tcompound.c] Additional tests for compound(-1,y). In particular, test special values of y and check the flags. This shows a bug for compound(-1,-Inf), which sets the divide-by-zero flag, even though y is an infinity. Note that the IEEE 754 standard specifies: "pow (±0, −∞) is +∞ with no exception". This also shows a bug in flags_out(), used for the tests. 28 February 2024, 02:17:09 UTC
57a9f70 [tests/tcompound.c] Added/fixed tests on compound(x,y) for x < 0. * Use the same y values as for compound(±0,y), i.e. add more tests. * To be effective, this needs to move mpfr_clear_nanflag() just before the mpfr_compound() call (this is always a good idea to clear flags just before this is needed). * At the same time, these changes fix C90 compatibility. 27 February 2024, 16:04:04 UTC
73fd26d [tests/tcompound.c] Added/fixed tests on compound(±0,y). * Added tests for y = -0, -Inf, +Inf and NaN. * Check that the result is not NaN (NaN was misdetected as 1). 27 February 2024, 14:21:48 UTC
e487a04 [tcompound.c] added special tests for non-integer y 27 February 2024, 12:19:01 UTC
f961ef4 [tests/tcompound.c] Avoid an unused-variable warning with a 32-bit ABI. The #if for emin in bug_20230206() was present in tcompound_si.c, but dropped in tcompound.c. 27 February 2024, 11:12:35 UTC
4669531 MPFR manual: updated mpfr_compound description about special cases. These are specifically the mpfr_pow rules, which extend the usual rules. The other special cases were the same as the usual rules for mpfr_compound_si, but with the new mpfr_compound function, the second argument of compound(x,n) can now be ±Inf or NaN. Thus compound(0,y) gives 1 even when y is ±Inf or NaN, following the pow rules (contrary to the usual rules). 27 February 2024, 10:36:58 UTC
5ebdf20 mpfr_compound: cosmetic changes. * Use MPFR_GET_EXP instead of mpfr_get_exp. * Fit on 80 columns. * Avoid a useless block and fix indentation. 27 February 2024, 10:11:00 UTC
40d2d4f Added /tcompound_si to tests/.gitignore 27 February 2024, 09:59:01 UTC
b12e052 Merge branch 'master' into compound 27 February 2024, 08:27:42 UTC
4431265 [tcompound.c] imported non-regression tests from tcompound_si.c 15 February 2024, 15:30:41 UTC
f1e938b mpfr_compound_si: minor simplification, added comments. 15 February 2024, 13:53:09 UTC
f869543 [tcompound.c] a few fixes in the generic case 15 February 2024, 13:49:10 UTC
b489002 mpfr_compound: fixed the special cases and removed an incorrect assertion The assertion was correct only for an integer exponent: values between 0 and 1 have not been eliminated here. Note: there is still an assertion failure with --enable-assert. 15 February 2024, 12:55:58 UTC
82e7fb2 [doc/mpfr.texi] Updated the month. 15 February 2024, 12:01:52 UTC
2d7a54d Copyright notice update: added 2024. Command used: perl -pi -e 's/ (\d{4}-)?(2023)(?= Free Software)/ " ".($1||"$2-").($2+1)/e' **/*(^/) under zsh, reverting doc/texinfo.tex (copied from GNU Texinfo). Removed 2023 from the example in the doc/README.dev file. 15 February 2024, 11:55:39 UTC
9016846 mpfr_compound_si: updated comments and fixed the code again. Before commit d390bf2b2ff645ff129da8b977331b23d91a0f5a, one had e = (precu - prec >= e) ? 1 : e + 1 - (precu - prec); for the test if (mpfr_min_prec (t) <= py + 1 && prec - py >= e + 1) which uses "the approximation t is at most 2^e ulp(t)". Due to the rename of e (old code) to e3 in the new "if (e < precu)" branch, the approximation t is now at most 2^e3 ulp(t) there. Thus e needs to be changed to e3 in the above test, i.e.: if (mpfr_min_prec (t) <= py + 1 && prec - py >= e3 + 1) Note: commit 8c8aa82aefc69d9960b2d59df695e235c88f3b21 was not the right fix. The issue was the e >= precu case, which got fixed in commit f0248d447059253e878b6cc26364a4a4a0366044. Still, the meaning of "loop again" in this case is unclear as this is not what the code does. 14 February 2024, 12:57:16 UTC
4eec466 mpfr_compound_si: added a FIXME about "loop again". 14 February 2024, 12:43:00 UTC
c74f6bd Merge branch 'master' of gitlab.inria.fr:mpfr/mpfr 14 February 2024, 12:02:47 UTC
f0248d4 [compound.c] another fix The check when t dits in the target precision assumes the variable e is such that |t - (1+x)^y| < 2^(EXP(t)+e-prec), which was not true anymore with the previous changes. 14 February 2024, 12:02:28 UTC
0d85f12 [compound.c] another fix The check when t dits in the target precision assumes the variable e is such that |t - (1+x)^y| < 2^(EXP(t)+e-prec), which was not true anymore with the previous changes. 14 February 2024, 11:57:55 UTC
d1eb0a0 [compound.c] use new variable 14 February 2024, 10:25:01 UTC
ca659cb [compound.c] fixed type 14 February 2024, 10:23:03 UTC
8c8aa82 [tcompound.c] resolved FIXME 14 February 2024, 10:20:48 UTC
9752be2 mpfr_compound_si: some cleanup, added a FIXME. * Get rid of new_extra and an early assertion, as the value is used only at the end of the loop, so we just need to compute it there. * Clarified comments for the error analysis by renaming u to u1 or u2 (u was used for 2 different values due to the reuse of variable u). * Added a FIXME concerning the variable e due to the change in commit d390bf2b2ff645ff129da8b977331b23d91a0f5a. 14 February 2024, 10:10:53 UTC
f6617e8 document new function mpfr_compound 14 February 2024, 08:54:17 UTC
7d5927b [tcompound.c] fixed error analysis for mpfr_compound [mpfr_compound_si needs to be merged from master] 14 February 2024, 08:48:54 UTC
d390bf2 [compound.c] improve error analysis and bug fix For the bug fix, there was an implicit assertion delta| < 0.5 where |delta| < 2^(e-precu), but this only holds when e < precu. 14 February 2024, 08:39:54 UTC
7759068 [compound.c] fixed bug (rounding direction for mpfr_log2p1 was wrong) This could have given a wrong result only around the underflow/overflow frontiers, since this is where we use the fact that we round towards 0. 14 February 2024, 08:00:00 UTC
80e84a6 mpfr_compound: work in progress 14 February 2024, 07:57:37 UTC
2139b50 fixed typo 13 February 2024, 13:43:57 UTC
74afb40 [TODO] Mention <stdbit.h> from the future ISO C23. At least count_leading_zeros could be replaced. 21 December 2023, 01:38:53 UTC
75d60e7 Merge branch 'master' of gitlab.inria.fr:mpfr/mpfr 15 December 2023, 16:21:48 UTC
311509f Style correction. 15 December 2023, 13:58:17 UTC
3bca2ca MPFR manual: added a note for mpfr_free_str. (cherry picked from commit 936b9a3428301140612251e94c44507025ee90f2) 15 December 2023, 13:48:30 UTC
7cde123 [doc/mpfr.texi] Updated the month. 15 December 2023, 11:11:38 UTC
66d9428 Merge branch 'master' of gitlab.inria.fr:mpfr/mpfr 15 December 2023, 09:50:01 UTC
5ff2aa2 MPFR manual: corrections for formatted output functions (mpfr_*printf). Needed due to the possible use of %c with the value 0, thus with potential (non-terminating) null characters in the output. * Replaced "string" by "array" (term used in the ISO C standard). * Document requirements concerning the use of mpfr_free_str to free the block of memory allocated by mpfr_asprintf / mpfr_vasprintf. 15 December 2023, 03:36:00 UTC
4f98b58 [src/printf.c] Cleaner macro, more consistent with the other ones. 13 December 2023, 23:34:18 UTC
d306300 [src/printf.c] Removed duplicate word in a comment. 13 December 2023, 23:27:21 UTC
33f3c43 [tests/tfprintf.c] Added check_null test for mpfr_vfprintf. This triggers a deallocation error before commit 3babf029f. 13 December 2023, 22:33:44 UTC
177b177 [tests/tsprintf.c] More checks in the check_null test. 13 December 2023, 15:04:13 UTC
74a6ee0 Merge branch 'master' of gitlab.inria.fr:mpfr/mpfr 13 December 2023, 14:54:58 UTC
3babf02 Fixed the remaining bugs in the formatted output functions. This completes commit 390e51ef8570da4e338e9806ecaf2d022210d951. The remaining errors came from bugs in the src/printf.c code (including for memory deallocation). So it seems that the gmp_vasprintf function (which we are using) is fine, contrary to gmp_sprintf (hence the confusion). 13 December 2023, 13:57:11 UTC
49de3e5 [vasprintf.c] Updated comments (about non-terminating null characters). 13 December 2023, 13:47:35 UTC
ec2a835 Merge branch 'master' of gitlab.inria.fr:mpfr/mpfr 13 December 2023, 13:24:24 UTC
390e51e [vasprintf.c] Attempt to fix various issues (but GMP is buggy for %c on 0). The use of strncpy and strncat is unnecessary, and even incorrect when the buffer contains a non-terminating null character, which is possible when %c is used with the value 0. Use memcpy instead. 2 MPFR_ASSERTD occurrences involving strlen are incorrect for the same reason (a null character due to %c with the value 0 would be regarded as terminating). So let's remove them. The use of mpfr_free_str in the FLUSH macro is also incorrect for the same reason. Instead, let's call mpfr_free_func directly, so that we can replace strlen(s) (where the first null character is regarded as terminating) by the return value of gmp_vasprintf. However, this return value is incorrect, which still makes the test fails (even if the allocation function ignores the size parameter, e.g. by setting "tests_memory_disabled = 1;" at the very beginning of the main() function of the tsprintf.c test). So the GMP bug needs to be fixed: https://gmplib.org/list-archives/gmp-bugs/2023-December/005420.html 03 December 2023, 20:41:32 UTC
78e72e6 Added check_null test for mpfr_sprintf showing a serious bug. * tests/tsprintf.c: added check_null test, which checks the behavior of mpfr_sprintf when %c is used with the value 0 (null character). This shows a bug in vasprintf.c (thus affecting all formatted output functions), whose possible consequences are: - possible memory corruption with custom memory allocators that do not ignore the size parameter of the "free" function; - a part of the buffer fails to be overwritten; - an assertion failure when GNU MPFR has been configured with assertion checking (--enable-assert). * src/vasprintf.c: removed the TODO (done here), and updated the FIXME added in commit 8e718ed28e8925e61b7382a96490804b6c467c6c. 03 December 2023, 17:17:11 UTC
8e718ed [vasprintf.c] Added a FIXME and a TODO. Incorrect output (possibly a security issue) in case of a null character output by %c. 01 December 2023, 16:05:58 UTC
954cc88 [src/round_prec.c] Replaced FIXME by a clarified & more detailed comment. 01 December 2023, 09:31:47 UTC
5ed4e5f Merge branch 'master' of gitlab.inria.fr:mpfr/mpfr 30 November 2023, 14:33:11 UTC
ca2611f [src/round_prec.c] Renamed a variable and added a FIXME. * Replaced err by correct_bits for clarity and consistency with c9d79bc66af310fa0ff8b65accf69e0249eaffab. * Added a FIXME about a comment that doesn't match the code. This comes from 7cb0a9f162ae688ebd15212a3686b43fcc7ca1ae (2016-08-24). 30 November 2023, 12:35:13 UTC
7ba05bb [src/mpfr-impl.h] Better formatting of MPFR_CAN_ROUND macro definition 29 November 2023, 09:39:09 UTC
0fe430a [doc/mpfr.texi] Updated the month. 29 November 2023, 09:34:15 UTC
9d4c98d MPFR manual: technical correction for mpfr_can_round Changed "correct_bits" from d4726f3ee47d8c8b3efadae9935018248ce3be9b to "correctbits" because due to PDF generation with pdfTeX, it is not possible to have an underscore in variable names (texinfo.tex doesn't escape this special character in @var in math mode). 29 November 2023, 09:17:04 UTC
d4726f3 improve the description of mpfr_can_round 29 November 2023, 08:41:53 UTC
c9d79bc improve description of MPFR_CAN_ROUND 28 November 2023, 14:24:12 UTC
2fdd56d [src/vasprintf.c] Added a FIXME about the use of strncpy. 09 November 2023, 08:56:00 UTC
3949f58 [algorithms.tex] Typography: "Then" → "then" 07 November 2023, 22:38:33 UTC
6785c8c English language correction. Issue detected by codespell 2.2.6. Indeed, according to https://www.merriam-webster.com/dictionary/determinate "determinate" is only an adjective, not a verb. 1913 Webster says that as a verb, it is obsolete. 20 October 2023, 19:47:50 UTC
b1bed8e mpfrlint: for codespell, ignore URLs. This currently avoids a false positive "debbugs" with codespell 2.2.6. 20 October 2023, 19:34:50 UTC
5e69bac Updated doc/texinfo.tex to 2023-09-19.19 (from GNU Texinfo 7.1). In the generated PDF, this fixes the alignment of punctuation, hyphens and quotes at the beginning and the end of the lines. 19 October 2023, 01:47:47 UTC
c47b61d fixed typo 17 October 2023, 10:43:41 UTC
2c748f4 [TODO] More about "round to odd". 13 October 2023, 17:31:47 UTC
c52c4fb [TODO] Update for "round to odd". * Corrected a typo. * Mention other names (Von Neumann rounding, sticky rounding). 13 October 2023, 17:19:33 UTC
2204aac [NEWS] Update for the next release (4.3.0). Currently useful for "make dist". 05 October 2023, 11:53:36 UTC
96cfd52 [src/Makefile.am] Updated EXTRA_DIST about the mparam.h files. Removed amd/mparam.h and x86_64/core2/mparam.h as these files were removed in 2023-08. 05 October 2023, 11:48:44 UTC
fdb98ac [src/mpfr-impl.h] Updated FIXME comment for decimal_point/thousands_sep. Mentions 2 bugs on sourceware.org about the GNU C Library. 04 October 2023, 09:03:03 UTC
01be007 About the .POSIX special target, mention the AIX case (this is OK). From tests on cfarm119.cfarm.net (AIX 7.3): Due to the Automake issue with .POSIX, under AIX the "make" command outputs the following warning: warning: .POSIX directive is not first non-comment line. Its man page says that /usr/ccs/lib/posix.mk provides the default rules, but the behavior is not clear when ".POSIX:" is not the first non-comment line. I could see that using ".POSIX:" changes $(CC) from "cc" to "c89" via "CC=c89" in this file. I've checked that this does not change $(CC) to c89 when ".POSIX:" appears after the makefile sets CC. 03 October 2023, 14:47:20 UTC
5f3e11e Added tests for "make" conformance and updated README.dev file. * doc/README.dev: update about the .POSIX special target. * tests/Makefile.am: added 2 rules to check "make" conformance, showing that the .POSIX special target is needed for "GNU make". 03 October 2023, 08:57:27 UTC
2ff7d62 [doc/README.dev] Added a note about the .POSIX special target. Note that while the .POSIX special target might make some rules behave correctly, it might also break them due to the Automake bug 55025. 02 October 2023, 15:02:18 UTC
78dfa3e makeinfo is in package texinfo 02 October 2023, 10:28:16 UTC
824051d makeinfo is missing in docker image "gcc" 02 October 2023, 09:34:43 UTC
bbb387c script for continuous integration 02 October 2023, 09:21:58 UTC
0e04935 [TODO] Added an item for the formatted output functions (mpfr_printf...). Add support for output in an arbitrary base by using a second period followed by the base (syntax similar to ksh93 with %d). 07 September 2023, 11:50:18 UTC
8b71795 [doc/mpfr.texi] Updated the month. 03 September 2023, 21:21:58 UTC
18f8b8f [MPFR manual] Added a paragraph for formatted output functions and a/A. Reference and discussion about the choice of the exponent: https://sympa.inria.fr/sympa/arc/mpfr/2021-05/msg00002.html 03 September 2023, 20:49:38 UTC
e955d6e Revert "document that for %Ra/%RA, the exponent is multiple of 4" This reverts commit f31bb473e2704ffe48933fed7b8798b1cc6ce45f. The behavior of MPFR actually depends on the context, and this is bad. We should choose some behavior (e.g. based on existing C libraries) and correct the code. See https://sympa.inria.fr/sympa/arc/mpfr/2021-05/msg00002.html 03 September 2023, 20:30:25 UTC
f31bb47 document that for %Ra/%RA, the exponent is multiple of 4 03 September 2023, 19:48:04 UTC
4d7dc7d [src/sub1sp1_extracted.c] Fixed #include lines. However, this doesn't change anything in practice since this code is not used yet (see sub1sp.c and its "#if 0 && ..."). (cherry picked from commit 6ae53c72741be67631000611b969bb2bfe88a37c) 31 August 2023, 01:53:45 UTC
back to top