| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
which had the effect that the first Ziv iteration did fail with
non-negligible probability (problem reported by Sylvain Chevillard).
Also in case of 2 iterations or more the K variable was corrupted.
Note (2012-03-03): huge inefficiency has been noticed when evaluating
mpfr_exp on an argument close to log(2^n) in RNDU:
https://sympa.inria.fr/sympa/arc/mpfr/2012-03/msg00000.html
One has an obvious hard-to-round case, meaning that several iterations
are needed and that K is corrupted. This changeset fixes this bug.
(merged changeset r6964 from the trunk)
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@8057 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
| |
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7799 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
| |
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7741 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
| |
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7737 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
| |
as an exception to avoid a spurious warning due to the removal of the
svn:eol-style properties (in particular on mpfr.texi).
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7735 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
| |
and in README.dev, explained why svn:eol-style native should not be
used.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7732 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
| |
Windows DLLs with GCC 4.6. See:
https://sympa.inria.fr/sympa/arc/mpfr/2011-06/msg00013.html
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7723 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
| |
filter out 0, as it is handled correctly only by mpfr_exp.
[merged changeset r7674 from the trunk]
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7675 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
|
|
|
|
| |
unrounded result (no longer allocated) instead of the rounded result.
Consequence of this bug: possible incorrect or invalid result and/or
incorrect flags if either the unrounded result or rounded result is not
in the current exponent range. Or possibly worse if the memory used by
the unrounded result is modified before the return of the function.
[tests/tatan.c] Added testcase.
[merged changesets r7665-7667 from the trunk]
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7668 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
| |
(mpn_add_1 and mpn_sub_1 don't support size = 0), in practice yielding
a buffer overflow (merged changesets r7649-7652 from the trunk).
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7653 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
|
|
| |
"warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body"
with autoconf 2.68 (and some other minor corrections):
* Fixed missing quoting in an AC_RUN_IFELSE.
* Added an AC_LANG_SOURCE in another AC_RUN_IFELSE.
[merged changesets r7071,7172,7631-7634 from the trunk]
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7635 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
| |
exponent range (when pi is not representable, but pi/2 is).
[tests/tasin.c] Added testcase.
[merged changeset r7625 from the trunk]
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7626 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
| |
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7619 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
| |
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7618 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
| |
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7614 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
| |
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7613 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
| |
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7612 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
|
|
| |
(e.g. mpfr_pow(x,x,y,rnd) or mpfr_pow(y,x,y,rnd)) and the result is
negative, thus when x is negative and y is a huge odd integer ("huge"
because not-too-large integers are currently handled by mpfr_pow_z).
[tests/reuse.c] Added testcase.
[merged changesets r7605-7607 from the trunk]
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7608 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
| |
(more precisely, if 1 is out of range, i.e. emin > 1).
(Merged changeset r7592 from the trunk)
[tests/tpow.c] Added testcase. (Merged changeset r7591 from the trunk)
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7593 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
| |
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7586 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
| |
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7585 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
| |
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7584 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
| |
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7583 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
| |
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7582 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
|
|
| |
in an extremely reduced exponent range, and some other tests of the
flags. [changesets r7570,7572 from the trunk]
[erfc.c] Fixed the problem mentioned above (yielding incorrect flags
or a possible crash). Support the case where mpfr_prec_t is larger
than a long. [changeset r7573 from the trunk]
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7574 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
|
| |
exponent range is larger than the default exponent range (such as on
conventional 64-bit machines), erfc() wrongly underflows for x >= 27282.
[tests/terf.c] Added testcase.
[merged changesets r7564-7568 from the trunk]
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7569 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
| |
in underflow cases. [merged changeset r7561 from the trunk]
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7563 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
| |
[merged changesets r7529-7530 from the trunk]
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7562 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
| |
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7557 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
| |
(changeset r7551 from the trunk).
[tests/tgamma.c] Corrected a test and added other tests for tiny values
(changesets r7545-7552 from the trunk).
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7554 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Details:
- Fixed mpfr_jn_k0() internal function:
* The prototype was incorrect: one needs "unsigned long" for n
(actually absn), in case absn is equal to - LONG_MIN.
* The formula and the code were incorrect for n = 0, due to the
division by n; it was yielding k0 = ULONG_MAX. The case n = 0
is now handled separately.
* Small optimization: division by log(2) -> multiplication by
1/log(2).
- In mpfr_jn, avoid an integer overflow in the computation of the
initial working precision, which can occur when k0 is very large,
e.g. k0 = ULONG_MAX.
[merged changesets r7541,7542 from the trunk]
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7544 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
| |
the assertion corrected in r7535, but this wasn't documented) and fixed
a bug in this error analysis. Added a FIXME comment (not a new bug).
[merged changesets r7536,7537,7539 from the trunk]
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7543 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
| |
is mentioned (changesets r7515 and r7538 from the trunk).
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7540 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
|
|
| |
in precision >= 2^(1+s/2), where s is the bitsize of a
"long", e.g. p >= 2^17 = 131072 on most 32-bit machines and
p >= 2^33 = 8,589,934,592 on most 64-bit machines. Only some
arguments are affected (|z| between around 2^(s/2) and p/2).
[merged changeset r7534 from the trunk]
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7535 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
|
|
|
| |
(such as huge or tiny). Fixed related problems (reduced exponent range
support, intermediate exceptions, incorrect flags, and error analysis)
in mpfr_div_2si, mpfr_div_2ui, mpfr_mul_2si, mpfr_rem1, mpfr_acos,
mpfr_atan2, mpfr_agm, mpfr_gamma, mpfr_jn, mpfr_yn and mpfr_zeta.
[merged changesets 7469-7470,7492-7500,7504-7511,7513-7514,7516-7517
from the trunk, and removed the mpfr_divby0_p line from agm.c]
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7519 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
| |
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7466 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
| |
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7464 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/branches/3.0@7456 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
| |
MPFR was incorrectly assuming that ICC had some extensions like
under GNU/Linux. This made the MPFR compilation fail.
[Changeset r7453 merged from the trunk]
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7454 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
| |
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7449 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
|
|
|
| |
fixing bug found by John Regehr:
https://gforge.inria.fr/tracker/?func=detail&atid=619&aid=10839&group_id=136
Note: the problem was an undefined behavior that could occur when
sizeof(mp_limb_t) < sizeof(intmax_t) and |x| was small enough,
because a right shift was >= the type width. However as the shifted
value was 0, most platforms should not be affected by this bug.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7446 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
| |
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7445 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
|
| |
[subnormal.c] Set the inexact and underflow flags when needed. Fixes
https://gforge.inria.fr/tracker/index.php?func=detail&aid=7958&group_id=136&atid=622
[tests/tsubnormal.c] Improved the tests, in particular for the flags.
[mpfr.texi] Documented the change.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7444 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
| |
test fail (assertion failure in mpfr_get_str) with MPFR_LOG_ALL=1.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7432 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
| |
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7424 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Use MPFR_SAVE_EXPO_* and mpfr_check_range (useful in a reduced
exponent range and to avoid possibly incorrect flags).
* Removed incorrect casts (in case mpfr_exp_t is wider than a long).
* Replaced some MPFR_EXP by MPFR_GET_EXP and handle the case where
the internal variable s has the value 0 (it happens that since
MPFR_EXP_ZERO < MPFR_EMIN_MIN and it could be proved that no
integer overflows could occur, the previous code was correct,
but not very maintainable w.r.t. to future internal changes).
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7422 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
| |
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7407 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
| |
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7349 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
|
|
|
| |
perl -pi -e 's/2010 Free Software/2010, 2011 Free Software/' **/*(^/)
under zsh, reverting the ChangeLog file and the mbench directory.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7340 280ebfd0-de03-0410-8827-d642c229c3f4
|
|
|
|
| |
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7280 280ebfd0-de03-0410-8827-d642c229c3f4
|