| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
there could still be false positives (i.e. mpfr_can_round could say that
rounding was possible while correct rounding was not guaranteed), and
also false negatives, some of which could yield infinite Ziv loops in
user code in practice.
Added tests triggering these bugs, in particular a comprehensive test
against a naive implementation.
(merged changesets
r10679-10686,10717-10718,10743,10746-10748,10752,10754,10756
from the trunk)
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.1@10792 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
under Unix because the tests could yield spurious errors with Cygwin32
or other similar implementations. Moreover, such tests were used for
debugging purpose or to detect potential problems in the environment,
thus were not really useful for the end user. They were initially
added in the win-thread-safe-dll branch (r9682, following a problem
found in r9680). One alternative for checking by the MPFR developers
would be to output the status of some internal macros in tversion.
(merged changeset r10260 from the trunk)
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.1@10264 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
|
| |
(some parentheses were missing). Note: the code in the 3.1 branch
was not affected by these missing parentheses; however this could
break later patches or ports of new functions using MPFR internals.
(merged changeset r9295 from the trunk)
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.1@10234 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
|
|
| |
* Support for _Thread_local (C11).
* Support build as thread-safe DLL on Windows (mainly changes
from Stephan Tolksdorf).
(merged changesets r7954,8245,9684,9778 from the trunk, with
mpfr_flags_t replaced by unsigned int)
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.1@10130 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
when not all the numbers have the same precision. A side effect is
that this can make mpfr_sum much slower and/or take much more memory
in some of such cases with the same program; this is normal and
cannot easily be avoided with the current algorithm.
Note: The full rewrite currently in the trunk has not been merged
because this would not be a simple patch (and it is still incomplete
when a number is reused as the output).
[src/mpfr-impl.h] Updated the prototype of mpfr_sum_sort.
Note: Since this function is used only internally and by the tests,
this does not break the ABI. However the old and new tsum tests are
source & binary incompatible.
[tests/tsum.c] Updated the use of mpfr_sum_sort. Added a testcase.
(merged changesets r8697,8699,8701,8851 from the trunk)
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.1@10083 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
| |
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.1@10039 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
| |
Contributed by the AriC and Caramel projects
by
Contributed by the AriC and Caramba projects
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.1@9943 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
|
| |
perl -pi -e 's/ (\d{4}-)?(2015)(?= Free Software)/
" ".($1||"$2-").($2+1)/e' **/*(^/)
under zsh (the m4 and tools/mbench directories were not modified).
Removed 2015 from the example in the doc/README.dev file.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.1@9781 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
| |
MPFR_THREAD_ATTR must be at beginning of declaration.
(merged changeset r8725 from the trunk)
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.1@9664 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
https://sympa.inria.fr/sympa/arc/mpfr/2015-05/msg00001.html
* mpfr-gmp.{c,h}: made mpfr_allocate_func, mpfr_reallocate_func and
mpfr_free_func thread-local; updated MPFR_GET_MEMFUNC to execute
mp_get_memory_functions only when these pointers have not been set
to the actual function pointers yet.
* mpfr-impl.h: #include "mpfr-thread.h" earlier (before mpfr-gmp.h,
where MPFR_THREAD_ATTR is now used).
(merged changeset r9466 from the trunk)
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.1@9467 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
| |
with GMP when MPFR is configured with --with-gmp-build.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.1@9431 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
build failure under Android, which does not have them; see
https://sympa.inria.fr/sympa/arc/mpfr/2012-10/msg00002.html
[src/mpfr-impl.h] Decimal point / thousands separator support can now be
detected automatically by configure (from the presence of <locale.h>
and the above members) or explicitly disabled/enabled by the user by
defining the MPFR_LCONV_DPTS macro to 0 or 1 via CFLAGS (a configure
switch might be added in the future).
[tests/tsprintf.c] Do the locale_da_DK test only if MPFR_LCONV_DPTS is
true.
(merged changeset r8423 from the trunk)
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.1@9414 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
|
| |
perl -pi -e 's/ (\d{4}-)?(2014)(?= Free Software)/
" ".($1||"$2-").($2+1)/e' **/*(^/)
under zsh (the m4 and tools/mbench directories were not modified).
Removed 2014 from the example in the doc/README.dev file.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.1@9403 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
when --with-gmp-build is used. See mailing-list discussion:
https://sympa.inria.fr/sympa/arc/mpfr/2014-04/msg00000.html
Updated configure test on GMP_NUMB_BITS and sizeof(mp_limb_t):
* BYTES_PER_MP_LIMB is no longer tested.
* The test is now always run, not just when --with-gmp-build is used.
* Results are output in config.log in case of failure.
* The error message has been updated.
(merged changesets r9029,9030 from the trunk, with conflict resolution)
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.1@9034 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
|
|
| |
perl -pi -e 's/ (\d{4}-)?(2013)(?= Free Software)/
" ".($1||"$2-").($2+1)/e' **/*(^/)
under zsh, reverting the ChangeLog file (the m4 and tools/mbench
directories were not modified).
Removed 2013 from the example in the doc/README.dev file.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.1@8724 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
|
|
|
|
| |
clang -O2 -fsanitize=undefined -fno-sanitize-recover
[src/mpfr-impl.h] With clang, disable division by zero using constants
due to a bug in its sanitizer and because IEEE 754 division by zero is
currently not properly supported.
[tests/{tget_flt.c,tset_ld.c}] Avoid divisions by 0 if MPFR_ERRDIVZERO
and avoid an overflow on double.
(merged changesets r8685-8687,8690 from the trunk)
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.1@8691 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
| |
http://www.gnu.org/prep/maintain/maintain.html#Copyright-Notices
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.1@8541 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
|
| |
perl -pi -e 's/2012 Free Software/2012, 2013 Free Software/' **/*(^/)
under zsh, reverting the ChangeLog file (the m4 and tools/mbench
directories were not modified).
Removed 2012 from the example in the doc/README.dev file.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.1@8465 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
| |
mailing-list archives/messages.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.1@8176 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
| |
particular to avoid an error with the --enable-assert configure
option and the -ansi -pedantic-errors gcc compiler flags.
(merged changesets r7910,8082,8083 from the trunk)
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.1@8084 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
|
|
|
|
| |
fix bug #13918 "Segfault with precision = MPFR_PREC_MAX on 32-bit".
Note: this problem appeared in MPFR 3.0.0 when the precision type (now
mpfr_prec_t) was changed to a signed integer.
Added a large precision test in tests/tinits.c (enabled by setting
MPFR_CHECK_LARGEMEM=1) to trigger the bug mentioned above on 32-bit
machines (or when MPFR is built with -m32).
(merged changesets r8025,8026,8029,8031,8077 from the trunk)
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.1@8080 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
| |
(merged changeset r8048 from the trunk)
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.1@8049 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
| |
perl -pi -e 's/Contributed by the Arenaire/Contributed by the AriC/' **/*(^/)
under zsh, reverting the ChangeLog file.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.1@7995 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
|
| |
perl -pi -e 's/2011 Free Software/2011, 2012 Free Software/' **/*(^/)
under zsh, reverting the ChangeLog file (the m4 and tools/mbench
directories were not modified).
Removed 2011 from the example in the doc/README.dev file.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.1@7987 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
| |
(found under Mac OS X / PowerPC with the mode32 GMP ABI, and MPFR
built with --enable-assert=full).
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.1@7908 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
| |
[doc/README.dev] Document how to specify the minimum exponent or the
maximum exponent.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@7863 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
| |
mpfr-longlong.h so that udiv_qrnnd_preinv is defined (this is
useful at least on IA64 when compiling without gmp-impl.h).
Thanks to Patrick PĂ©lissier for the fix.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@7852 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
| |
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@7760 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
| |
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@7695 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
| |
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@7694 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
| |
obsolete mp_exp_unsigned_t definition (was internal only).
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@7689 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
| |
of definitions related to mpfr_exp_t. MPFR can now be built with
-D_MPFR_PREC_FORMAT=2 to have mpfr_prec_t and mpfr_exp_t defined
as an int.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@7688 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
| |
(fortunately the current MPFR code was not affected).
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@7684 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
MPFR is built with logging support, these two constants are used by
the logging functions (via mpfr_fprintf, then mpfr_log, for the base
conversion). Since the mpfr_cache function isn't re-entrant when
working on the same cache, we need to define two caches for each
constant. Otherwise the constants could be incorrect; for instance,
"MPFR_LOG_ALL=1 ./tconst_pi" was failing.
Note: the bug was introduced with the new logging system from r7575
for MPFR 3.1.0, based on mpfr_fprintf instead of mpfr_out_str (which
doesn't depend on mpfr_log).
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@7678 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
| |
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@7663 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
|
| |
sticky bit when not necessary (directed mode with rb = 1).
[src/mul.c] FIXME comment: with the change in MPFR_RNDRAW_GEN,
uninitialized data are no longer read; there's still something
wrong, at least with the code documentation, though.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@7661 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
| |
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@7658 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
| |
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@7657 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
| |
to logging (i.e. used by the MPFR functions called by the mpfr_fprintf
in LOG_PRINT).
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@7656 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
| |
and fixed type for the output of the precision.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@7655 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
| |
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@7654 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
| |
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@7646 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
| |
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@7575 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
| |
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@7486 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
| |
format specifier for mpfr_eexp_t, to output an exponent with:
printf ("%" MPFR_EXP_FSPEC "d", (mpfr_eexp_t) exponent);
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@7468 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
| |
and replaced mp_ptr and mp_srcptr (GMP internals) by these 2 new types
respectively.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@7455 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
| |
MPFR was incorrectly assuming that ICC had some extensions like
under GNU/Linux. This made the MPFR compilation fail.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@7453 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
| |
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@7452 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
| |
the number is normalized (debug mode only). This makes 2 tests fail:
tcheck and tsum. Note: with logging active, tsum was already triggering
an assertion failure in mpfr_get_str (via mpfr_add).
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@7426 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
| |
perl -pi -e 's/2010 Free Software/2010, 2011 Free Software/' **/*(^/)
under zsh, reverting the ChangeLog file and the m4 and tools/mbench
directories.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@7389 280ebfd0-de03-0410-8827-d642c229c3f4
|