| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/win-thread-safe-dll@9683 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
| |
when some macro should imply a MS-Windows platform.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/win-thread-safe-dll@9682 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
| |
of the problem.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/win-thread-safe-dll@9681 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
|
|
|
| |
https://gforge.inria.fr/tracker/download.php/136/619/19537/4980/changes.zip
The MPFR build fails on my Linux machine with
CFLAGS=-Werror=missing-prototypes
because MPFR_WIN_THREAD_SAFE_DLL gets defined (this CFLAGS just allowed
me to detect the problem with MPFR_WIN_THREAD_SAFE_DLL, which could have
otherwise remained unnoticed).
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/win-thread-safe-dll@9680 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).
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@9466 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
| |
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/new-sum@9317 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
| |
for mpfr_sum.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/new-sum@9315 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
| |
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@9306 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
| |
(some parentheses were missing).
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@9295 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
| |
the MPFR_LOG_FLUSH environment variable is set.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@9287 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
| |
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@9286 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
|
| |
perl -pi -e 's/ (\d{4}-)?(2014)(?= Free Software)/
" ".($1||"$2-").($2+1)/e' **/*(^/)
under zsh, reverting the tools/mbench directory (not distributed with
MPFR). Removed 2014 from the example in the doc/README.dev file.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@9278 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
| |
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@9232 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
| |
in the included file itself. Note that some files such as mpfr.h may
have multiple parts that could be enabled depending on the context, so
that testing a guard before a #include may yield incorrect behavior.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@9150 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
| |
Note: the mul.c test for MPFR_WANT_ASSERT >= 3 is now enabled for
MPFR_WANT_ASSERT = 2 (since setting MPFR_WANT_ASSERT to 3 was not
possible with configure options), and fixed.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@9142 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
| |
option (patch from Patrick Pélissier, with some changes).
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@9141 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
| |
(all MPFR macros that appear there should start with MPFR_ to avoid
conflicts with other software).
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@9129 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
|
|
|
| |
Done with
perl -pi -e '
s/MPFR_SIGN *\(([^)]+)\) *<=? *0/MPFR_IS_NEG ($1)/g;
s/MPFR_SIGN *\(([^)]+)\) *>=? *0/MPFR_IS_POS ($1)/g;
' {src,tests}/*.{c,h}
and some manual changes.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@9092 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Use the simple mp_limb_t constants when possible.
* New internal macro MPFR_IS_NORMALIZED.
Note: this was done with
perl -pi -e '
s/~ *\(mp_limb_t\) *0/MPFR_LIMB_MAX/g;
s/\(mp_limb_t\) *-1/MPFR_LIMB_MAX/g;
s/\(mp_limb_t\) *0/MPFR_LIMB_ZERO/g;
s/\(mp_limb_t\) *1L?/MPFR_LIMB_ONE/g' {src,tests}/*.{c,h}
svn revert src/mpfr-impl.h
and some manual changes.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@9091 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
|
|
| |
* Simplified the definition of simple mp_limb_t constants: it is
better to avoid GMP internals when there is a standard way.
* Replaced the use of MP_LIMB_T_MAX by the new macro MPFR_LIMB_MAX.
* So, removed the now useless MP_LIMB_T_MAX and GMP_LIMB_HIGHBIT
definitions from "mpfr-gmp.h".
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@9090 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
| |
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@9081 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
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@9029 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
| |
macros (to mpfr-impl.h). Use these macros at some places in the code
(replacing some MPFR_PREC instances, as suggested by a patch from
Patrick Pélissier).
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@9016 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
| |
(from a patch by Patrick Pélissier).
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@9015 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
| |
C++ (it didn't have the correct type), and improved the similar ones.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8997 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
| |
which makes the compilation of bernoulli.c fail.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8983 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
| |
[src/mpfr-impl.h] Corrected prototypes.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8964 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
| |
tuned parameters for [ln]gamma now that we cache Bernoulli numbers
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8963 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
| |
to have a signed type.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/set_exp@8937 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/mpfr-impl.h: updated the MPFR_SET_EXP(x, exp) definition for
the MPFR_EXP_CHECK case. There are 2 consequences:
1. The exp expression is evaluated several times (this should be
OK with the MPFR code and optimizations).
2. The real value of exp is tested for the assertion, instead of
the value converted to mpfr_exp_t. Thus new bugs can be found
(e.g. when an unsigned type is used instead of signed).
* src/set_exp.c: set the exponent only if x is a non-zero ordinary
number, i.e. already has a valid significand and a valid exponent
(thus it is no longer a low-level function, and it can no longer
generate an invalid value from a valid one).
* doc/mpfr.texi: updated mpfr_set_exp description and added an item
in the "API Compatibility / Changed Functions" section.
Currently 73 tests pass and 96 fail on Linux/x86_64, either due to bugs
or due to code not yet updated for this change.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/set_exp@8924 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
|
| |
* __gmpfr_mone = -1
* mpfr_const_log2_RNDD = log(2) rounded down in precision 64 bits
* mpfr_const_log2_RNDU = log(2) rounded up in precision 64 bits
(modified patch from Patrick Pélissier).
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8913 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
| |
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8911 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* No longer use MPFR_EXP_MIN and MPFR_EXP_MAX unconditionally in
a #if directive, since if MPFR_HAVE_INTMAX_MAX is not defined,
the compilation fails. The test was not really useful anyway:
if one really wants mpfr_eexp_t to be long int if mpfr_exp_t
has the same range as long int, then _MPFR_EXP_FORMAT == 3 is
sufficient (and this is the default).
* Removed a test that should be always true due to the previous
inclusion of mpfr.h (intmax_t has already been used there in
the case _MPFR_EXP_FORMAT == 4).
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8899 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
| |
and MPFR_COLD_FUNCTION_ATTR, and fixed some LIKELY/UNLIKELY conditions
(modified patch by Patrick Pélissier).
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8834 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
|
|
|
| |
and so on (except for src/exceptions.c).
[tools/mpfrlint] Update for flags related functions: check that
the macros are used in src (except for exceptions.c and mpfr.h)
instead of the functions.
[src/mpfr-impl.h] Removed some useless parentheses in comments,
for mpfrlint.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8833 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
| |
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8831 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
| |
from Patrick Pélissier).
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8814 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
| |
GMP 4.2 compatibility fixed.
Code clean-up.
(Modified patch from Patrick Pélissier)
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8813 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
| |
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8798 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
| |
non-negative → nonnegative
non-positive → nonpositive
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8796 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
| |
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8757 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
| |
succeeds and all tests compile, but many tests fail, will investigate later
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8753 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
| |
Wolf Lammen: https://sympa.inria.fr/sympa/arc/mpfr/2014-01/msg00002.html
Note: the semantics doesn't change, it should just be more efficient.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8746 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
natively (new C11 feature), their MPFR implementation got broken by
changeset r8625, as the __MPFR_GNUC macro in mpfr-sassert.h was not
defined in the configure test (since mpfr-impl.h wasn't included)
and generated an error, disabling the static assertions support.
This is fixed by the following changes, avoiding code duplication
and thus risk of inconsistencies in future modification:
* copied some of the version detection macros from mpfr-impl.h to
a standalone file mpfr-cvers.h, and updated the macros;
* in mpfr-impl.h, replaced these macros by a #include "mpfr-cvers.h"
and updated a comment;
* in mpfr-sassert.h, added a #include "mpfr-cvers.h".
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8739 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
| |
MPFR_THREAD_ATTR must be at beginning of declaration.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8725 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
|
| |
perl -pi -e 's/ (\d{4}-)?(2013)(?= Free Software)/
" ".($1||"$2-").($2+1)/e' **/*(^/)
under zsh (the tools/mbench directory was not modified).
Removed 2013 from the example in the doc/README.dev file.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8723 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
| |
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8699 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
|
| |
[tests/tset_ld.c] In Isnan_ld, do not convert the long double argument
to double, as this can give an overflow and unexpected behavior without
default IEEE 754 behavior. With this change, this tset_ld test no longer
fails with "clang -O2 -fsanitize=undefined -fno-sanitize-recover".
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8690 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
|
| |
due to a bug in its sanitizer and because IEEE 754 division by zero is
currently not properly supported.
With this change, the tget_d test no longer fails with:
clang -O2 -fsanitize=undefined -fno-sanitize-recover
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8686 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
| |
fixing typos:
https://sympa.inria.fr/sympa/arc/mpfr/2013-07/msg00016.html
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8621 280ebfd0-de03-0410-8827-d642c229c3f4
|