summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* [src/sqrt.c] The bug fixed in r9540 actually came from r9014, whichvlefevre2015-06-101-0/+1
| | | | | | | | incorrectly replaced MPFR_EXP by MPFR_SET_EXP. So, restored the previous code (re-adding the assertion check), keeping my comment from r9540 to explain why we don't use MPFR_SET_EXP. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@9545 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/lngamma.c] For mpfr_lgamma and mpfr_lngamma, the exponent rangevlefevre2015-06-101-2/+4
| | | | | | was not restored in some cases (some large results). git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@9543 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/{cos.c,sin.c}] Fixed bug related to the exponent range, introducedvlefevre2015-06-102-3/+8
| | | | | | | | | | | | | in r6461 with the use of mpfr_sincos_fast. Details: For mpfr_sin, the exponent range was not restored, and restoring it before calling mpfr_sincos_fast as this was done for mpfr_cos did not work; indeed the source of this function shows that it needs an extended exponent range. So, changed both mpfr_cos and mpfr_sin to call mpfr_sincos_fast in the extended exponent range and restore the exponent range at the end, like in usual code. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@9542 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/sqrt.c] Fixed assertion failure in reduced exponent range.vlefevre2015-06-101-1/+2
| | | | | | | Note: This could happen only in very specific exponent ranges, in particular, which do not include the number 1. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@9540 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/zeta_ui.c]vlefevre2015-06-081-9/+26
| | | | | | | | * Support reduced exponent range for the generic case. * Added logging. [tests/tzeta_ui.c] Added tests in reduced exponent range. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@9523 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/add_ui.c] Fixed format string in MPFR_LOG_FUNC.vlefevre2015-06-081-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@9521 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/zeta_ui.c] Fixed zeta(0) in reduced exponent range.vlefevre2015-06-071-4/+1
| | | | | | [tests/tzeta_ui.c] Added testcase. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@9518 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/{ui_div.c,ui_sub.c}] Correction for reduced exponent range.vlefevre2015-06-052-11/+31
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@9514 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/set_q.c] Added missing MPFR_SAVE_EXPO_FREE in case of preliminaryvlefevre2015-06-041-0/+2
| | | | | | overflow or underflow (extreme cases). git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@9508 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/set_q.c] Replaced a "return" by MPFR_RET: this is at least neededvlefevre2015-06-041-1/+1
| | | | | | in the extreme case cd != 0, and safer in general. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@9507 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/mul_ui.c] Fixed bug in mpfr_mul_ui/si: the inexact flag wasn't set.vlefevre2015-06-041-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@9505 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/rint.c] Handle reduced exponent range.vlefevre2015-06-031-20/+17
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@9489 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/rint.c] Added a comment about the mpfr_rint_* functions.vlefevre2015-06-031-0/+4
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@9485 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/rint.c] Simplified and fixed the mpfr_rint_* functions: in somevlefevre2015-06-031-16/+19
| | | | | | | | corner cases, an intermediate overflow would not be propagated. No testcases added for this particular problem since huge precision numbers would be involved. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@9484 280ebfd0-de03-0410-8827-d642c229c3f4
* [src] Fixed allocation issue for multithreaded applications:vlefevre2015-05-283-14/+16
| | | | | | | | | | | | 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
* [src/mpfr-gmp.c] Replaced mpfr_allocate_func and mpfr_free_funcvlefevre2015-05-251-4/+4
| | | | | | | | by __gmp_allocate_func and __gmp_free_func in mpfr_tmp_allocate and mpfr_tmp_free respectively, fixing the crash in talloc. See: https://sympa.inria.fr/sympa/arc/mpfr/2015-05/msg00001.html git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@9461 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/mpfr-gmp.c] Code formatting.vlefevre2015-05-221-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@9451 280ebfd0-de03-0410-8827-d642c229c3f4
* Define MPFR_ALLOCA_MAX macro: Maximum size for the use of alloca byvlefevre2015-05-221-1/+6
| | | | | | temporary allocations (default: 16384). git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@9449 280ebfd0-de03-0410-8827-d642c229c3f4
* Added a TODO about mpfr_sum.vlefevre2015-04-281-0/+15
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@9381 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/sum.c] Fixed bug: mpn functions do not accept a zero size argument.new-sumvlefevre2015-04-091-2/+5
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/new-sum@9369 280ebfd0-de03-0410-8827-d642c229c3f4
* Merged the latest changes from the trunk.vlefevre2015-04-092-11/+10
|\ | | | | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/new-sum@9365 280ebfd0-de03-0410-8827-d642c229c3f4
| * [src/sub1sp.c] Avoid an unnecessary mpn_lshift after an mpn_sub_1 whenvlefevre2015-02-271-7/+8
| | | | | | | | | | | | the initial value was a power of two. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@9328 280ebfd0-de03-0410-8827-d642c229c3f4
| * [src/next.c] Avoid an unnecessary loop when the exponent decreases.vlefevre2015-02-271-4/+2
| | | | | | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@9327 280ebfd0-de03-0410-8827-d642c229c3f4
* | [src/sum.c] Bug fix: use MPFR_EXP instead of MPFR_SET_EXP to set thevlefevre2015-04-081-1/+7
| | | | | | | | | | | | | | | | | | exponent since it can be outside the current exponent range before it is checked with mpfr_check_range. Also added a static assertion (always satisfied in practice) to make sure that exponent related computations cannot yield an integer overflow. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/new-sum@9362 280ebfd0-de03-0410-8827-d642c229c3f4
* | [src/sum.c] Bug triggered by the check4 test fixed.vlefevre2015-03-301-1/+5
| | | | | | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/new-sum@9356 280ebfd0-de03-0410-8827-d642c229c3f4
* | [src/sum.c] In the TMD detection:vlefevre2015-03-271-9/+18
| | | | | | | | | | | | | | | | * improved variable nbits to decrease the number of operations; * added some comments; * fixed the shift count bug triggered by the bug20150327 test. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/new-sum@9349 280ebfd0-de03-0410-8827-d642c229c3f4
* | [src/sum.c] Do not consider the corrected sst for MPFR_COV_SET.vlefevre2015-03-191-1/+3
| | | | | | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/new-sum@9344 280ebfd0-de03-0410-8827-d642c229c3f4
* | [src/sum.c] Added comments.vlefevre2015-03-191-2/+2
| | | | | | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/new-sum@9342 280ebfd0-de03-0410-8827-d642c229c3f4
* | [src/sum.c] In the final rounding, forgot to handle the possiblevlefevre2015-03-191-0/+7
| | | | | | | | | | | | exponent change in the negative case with corr == 2. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/new-sum@9341 280ebfd0-de03-0410-8827-d642c229c3f4
* | [src/sum.c] Better logging.vlefevre2015-03-161-1/+3
| | | | | | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/new-sum@9337 280ebfd0-de03-0410-8827-d642c229c3f4
* | [src/sum.c] Bug fix: the sum_raw code was unnecessarily assumingvlefevre2015-03-161-23/+18
| | | | | | | | | | | | | | too much; thus, removed too parameters, which can be very easily recomputed only when they make sense. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/new-sum@9336 280ebfd0-de03-0410-8827-d642c229c3f4
* | [doc/sum.txt] Added a new table concerning the correction term.vlefevre2015-03-121-43/+83
| | | | | | | | | | | | [src/sum.c] Updated rounding. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/new-sum@9335 280ebfd0-de03-0410-8827-d642c229c3f4
* | [src/sum.c] Added comments on the correction. Minor changes in the code.vlefevre2015-03-101-6/+27
| | | | | | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/new-sum@9334 280ebfd0-de03-0410-8827-d642c229c3f4
* | [src/sum.c] In the latest commit, the temporary area was split forvlefevre2015-02-271-45/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | the computations that determine the sign of the error term in case the TMD occurs, as these computations occur earlier in the code. This was actually not necessary since the content of the accumulator has already been copied to the final destination (only sign handling and rounding have not been done yet, but they entirely take place in the destination). As a consequence, let's revert the code related to this split. The actual changes concerning the merge of pre-rounding and final rounding can be seen with "svn diff -r 9328:9330". git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/new-sum@9330 280ebfd0-de03-0410-8827-d642c229c3f4
* | [src/sum.c]vlefevre2015-02-271-120/+142
| | | | | | | | | | | | | | | | * Removed any reference to the obsolete step numbering. * Merged pre-rounding and final rounding, simplifying the code. The correction value still needs to be fixed. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/new-sum@9329 280ebfd0-de03-0410-8827-d642c229c3f4
* | [src/sum.c] Completed the implementation (but there's still a bug).vlefevre2015-02-261-9/+16
| | | | | | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/new-sum@9324 280ebfd0-de03-0410-8827-d642c229c3f4
* | [src/sum.c] Improved the setting of sst (Step 8), using the factvlefevre2015-02-251-17/+11
| | | | | | | | | | | | that the accumulator is 0 iff cancel = 0. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/new-sum@9322 280ebfd0-de03-0410-8827-d642c229c3f4
* | [src/sum.c] Bug fix: when determining the sticky bit, the search wasvlefevre2015-02-251-6/+7
| | | | | | | | | | | | starting at the rounding bit instead of the bit following it. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/new-sum@9321 280ebfd0-de03-0410-8827-d642c229c3f4
* | [src/sum.c] More logging.vlefevre2015-02-251-0/+4
| | | | | | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/new-sum@9319 280ebfd0-de03-0410-8827-d642c229c3f4
* | Updated value coverage checking for mpfr_sum.vlefevre2015-02-252-3/+3
| | | | | | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/new-sum@9317 280ebfd0-de03-0410-8827-d642c229c3f4
* | Value coverage checking when MPFR_COV_CHECK is defined, initiallyvlefevre2015-02-252-0/+33
| | | | | | | | | | | | for mpfr_sum. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/new-sum@9315 280ebfd0-de03-0410-8827-d642c229c3f4
* | [src/sum.c] Bug fix in the ternary value.vlefevre2015-02-251-1/+1
| | | | | | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/new-sum@9314 280ebfd0-de03-0410-8827-d642c229c3f4
* | [src/sum.c] Removed incorrect assertions.vlefevre2015-02-251-2/+1
| | | | | | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/new-sum@9312 280ebfd0-de03-0410-8827-d642c229c3f4
* | [src/sum.c] Update.vlefevre2015-02-241-4/+4
| | | | | | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/new-sum@9310 280ebfd0-de03-0410-8827-d642c229c3f4
* | [src/sum.c] Update.vlefevre2015-02-241-4/+38
| | | | | | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/new-sum@9309 280ebfd0-de03-0410-8827-d642c229c3f4
* | [src/sum.c] Use the new SAFE_DIFF macro.vlefevre2015-02-241-1/+1
| | | | | | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/new-sum@9308 280ebfd0-de03-0410-8827-d642c229c3f4
* | Merged the latest changes from the trunk (r9306).vlefevre2015-02-241-1/+2
|\ \ | |/ | | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/new-sum@9307 280ebfd0-de03-0410-8827-d642c229c3f4
| * [src/mpfr-impl.h] Added SAFE_DIFF macro (safe difference).vlefevre2015-02-241-1/+2
| | | | | | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@9306 280ebfd0-de03-0410-8827-d642c229c3f4
* | [src/sum.c] Fixed a test.vlefevre2015-02-241-3/+4
| | | | | | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/new-sum@9305 280ebfd0-de03-0410-8827-d642c229c3f4
* | [src/sum.c] Better logging.vlefevre2015-02-241-6/+19
| | | | | | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/new-sum@9304 280ebfd0-de03-0410-8827-d642c229c3f4