summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* [exp_2.c] fixed inefficiency for large x: the initial precision was too small,3.0vlefevre2012-03-031-5/+9
| | | | | | | | | | | | | | 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
* FAQ update with update-faq.vlefevre2011-08-151-2/+6
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7799 280ebfd0-de03-0410-8827-d642c229c3f4
* [mpfr.texi] Updated the month.vlefevre2011-07-061-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7741 280ebfd0-de03-0410-8827-d642c229c3f4
* [NEWS, mpfr.texi] mpfr_min_prec was a new function in MPFR 3.0.0.vlefevre2011-07-062-0/+3
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7737 280ebfd0-de03-0410-8827-d642c229c3f4
* mpfrlint: check the date only from a SVN working copy, and regard r7732vlefevre2011-07-011-4/+8
| | | | | | | 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
* Removed all the svn:eol-style properties (they were set to "native"),vlefevre2011-06-301-0/+15
| | | | | | | 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
* Applied changes suggested by Stefan Graff to be able to buildvlefevre2011-06-252-2/+12
| | | | | | | 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
* [tests/texp.c] Fixed the test comparing mpfr_exp_2 and mpfr_exp_3:vlefevre2011-05-091-1/+3
| | | | | | | 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
* [atan.c] Fixed bug in mpfr_atan: mpfr_check_range was called on thevlefevre2011-05-042-1/+48
| | | | | | | | | | | | 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
* [rec_sqrt.c] Avoid undefined behavior in the call of GMP/mpn functionsvlefevre2011-05-031-2/+19
| | | | | | | (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
* [acinclude.m4] Correction of problems triggering the warningvlefevre2011-04-181-6/+7
| | | | | | | | | | "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
* [asin.c] Fixed bug in mpfr_asin for x = 1 or -1 in extremely reducedvlefevre2011-04-122-31/+77
| | | | | | | | 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
* [Makefile.am] Updated libmpfr_la_LDFLAGS for the next release.vlefevre2011-04-041-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7619 280ebfd0-de03-0410-8827-d642c229c3f4
* Updated version to 3.0.2-dev.vlefevre2011-04-046-11/+11
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7618 280ebfd0-de03-0410-8827-d642c229c3f4
* ChangeLog update with "TZ=UTC svn log -rHEAD:0 -v" (in UTF-8 locales).vlefevre2011-04-041-0/+44
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7614 280ebfd0-de03-0410-8827-d642c229c3f4
* Updated version to 3.0.1.vlefevre2011-04-045-5/+5
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7613 280ebfd0-de03-0410-8827-d642c229c3f4
* [mpfr.texi] Updated the month.vlefevre2011-04-041-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7612 280ebfd0-de03-0410-8827-d642c229c3f4
* [pow.c] Fixed a bug in mpfr_pow_general when an argument is reusedvlefevre2011-03-292-2/+55
| | | | | | | | | | (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
* [pow_z.c] Fixed a bug that occurs in extremely reduced exponent rangevlefevre2011-03-212-5/+35
| | | | | | | | (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
* ChangeLog update with "TZ=UTC svn log -rHEAD:0 -v" (in UTF-8 locales).vlefevre2011-03-171-2/+969
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7586 280ebfd0-de03-0410-8827-d642c229c3f4
* Updated version to 3.0.1-rc1.vlefevre2011-03-175-5/+5
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7585 280ebfd0-de03-0410-8827-d642c229c3f4
* [mpfr.texi] Updated the month.vlefevre2011-03-171-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7584 280ebfd0-de03-0410-8827-d642c229c3f4
* [NEWS] Added information where to find the list of bug fixes.vlefevre2011-03-171-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7583 280ebfd0-de03-0410-8827-d642c229c3f4
* [NEWS] Added changes from version 3.0.0 to version 3.0.1.vlefevre2011-03-171-0/+7
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7582 280ebfd0-de03-0410-8827-d642c229c3f4
* [tests/terf.c] Added a testcase showing a failure due to bad flagsvlefevre2011-03-152-6/+91
| | | | | | | | | | 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
* [erfc.c] Fixed bug found by Pascal Molin: on machines where the maximumvlefevre2011-03-142-3/+25
| | | | | | | | | 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
* [jn.c] Fixed the MPFR_FAST_COMPUTE_IF_SMALL_INPUT test for n == 1vlefevre2011-03-101-5/+33
| | | | | | 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
* [jn.c] Improved underflow detection. Still not complete, though.vlefevre2011-03-101-6/+10
| | | | | | [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
* [gamma.c] More robust code (changeset r7556 from the trunk).vlefevre2011-03-091-4/+4
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7557 280ebfd0-de03-0410-8827-d642c229c3f4
* [gamma.c] Fixed the special code for tiny valuesvlefevre2011-03-092-22/+212
| | | | | | | | (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
* [jn.c] Fixed several bugs, in particular an integer overflow.vlefevre2011-03-071-14/+30
| | | | | | | | | | | | | | | | | | 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
* [jn.c] Detect incorrect error analysis (that may have been the goal ofvlefevre2011-03-071-2/+8
| | | | | | | | 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
* [mpfrlint] The use of mpfr_overflow_p, etc. is allowed if a mpfr_clear_*vlefevre2011-03-071-1/+3
| | | | | | 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
* [jn.c] Fixed incorrect assertion. It could occur onlyvlefevre2011-03-071-1/+1
| | | | | | | | | | 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
* Added tests in extremely reduced exponent range and on special valuesvlefevre2011-03-0317-169/+739
| | | | | | | | | | | (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
* [README.dev] Added a warning about whitespace in the mpfr.texi file.vlefevre2011-02-171-0/+4
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7466 280ebfd0-de03-0410-8827-d642c229c3f4
* [mpfr.texi] Fixed spacing for the mpfr.info file.vlefevre2011-02-171-5/+6
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7464 280ebfd0-de03-0410-8827-d642c229c3f4
* Added new types mpfr_limb_ptr and mpfr_limb_srcptr to mpfr-impl.h,vlefevre2011-02-0920-70/+85
| | | | | | | 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-impl.h] Fix for Intel's compiler (ICC) under MS Windows:vlefevre2011-02-081-1/+6
| | | | | | | | 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
* [configure.in,Makefile.am] Clean-up and depend on GNU Automake 1.11.vlefevre2011-02-032-18/+2
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7449 280ebfd0-de03-0410-8827-d642c229c3f4
* [get_sj.c] Merged changesets r7045 and r7047 from the trunk,vlefevre2011-02-021-3/+10
| | | | | | | | | | | 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
* [mpfr.texi] Updated the month.vlefevre2011-02-021-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7445 280ebfd0-de03-0410-8827-d642c229c3f4
* Merged changeset r7437 from the trunk:vlefevre2011-02-023-42/+82
| | | | | | | | | [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
* [tests/tsum.c] Fixed bugs related to null values. They were making thevlefevre2011-01-261-9/+29
| | | | | | 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
* [li2.c] Fixed crash in mpfr_li2 when logging is used.vlefevre2011-01-261-1/+2
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7424 280ebfd0-de03-0410-8827-d642c229c3f4
* [jn.c] Merged r7414 through r7421:vlefevre2011-01-251-22/+29
| | | | | | | | | | | | | * 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
* [mpfr.texi] Updated the month.vlefevre2011-01-181-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7407 280ebfd0-de03-0410-8827-d642c229c3f4
* [tests/tset.c] Tests didn't fail in case of error from PRINT_ERROR_IF.vlefevre2011-01-141-2/+10
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7349 280ebfd0-de03-0410-8827-d642c229c3f4
* Copyright notice update: added 2011 withvlefevre2011-01-14417-417/+417
| | | | | | | 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
* [NEWS] Correction for MPFR 3.0.0 (merged changeset r7276 from trunk).vlefevre2010-12-071-2/+2
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/3.0@7280 280ebfd0-de03-0410-8827-d642c229c3f4