summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* [src/hypot.c] Reverted changeset r8950 (MPFR_SET_EXP is OK).set_expvlefevre2014-02-121-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/set_exp@8951 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/hypot.c] Replaced a MPFR_SET_EXP by MPFR_EXP.vlefevre2014-02-121-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/set_exp@8950 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/cache.c] Replaced a MPFR_SET_EXP by MPFR_EXP (in practice, the codevlefevre2014-02-121-1/+1
| | | | | | | was working, but just because MPFR_DECL_INIT_CACHE inits the cache with a real exponent, though the significand pointer is null). git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/set_exp@8946 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/atan.c] Fixed types of some variables, in particularvlefevre2014-02-111-2/+6
| | | | | | | unsigned → signed conversion of non-representable value. Now, all the tests pass on Linux/x86_64. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/set_exp@8943 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/exp3.c] Fixed types of some variables, in particularvlefevre2014-02-111-3/+7
| | | | | | | unsigned → signed conversion of non-representable value. Now, 161 tests pass and 8 tests fail on Linux/x86_64. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/set_exp@8941 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/{set_ui_2exp.c,set_uj.c}] Fixed types of some variables, invlefevre2014-02-112-3/+3
| | | | | | | | particular unsigned → signed conversion of non-representable value under some conditions. This doesn't change the number of failed tests. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/set_exp@8939 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/{sqrt_ui.c,sub_ui.c,ui_div.c,ui_sub.c}] Changed cnt type fromvlefevre2014-02-114-4/+4
| | | | | | | | unsigned long to int (signed) due to the MPFR_SET_EXP requirement. Otherwise the code was correct. Now, 160 tests pass and 9 tests fail on Linux/x86_64. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/set_exp@8938 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/mpfr-impl.h] Added a comment about MPFR_SET_EXP: exp is requiredvlefevre2014-02-111-1/+7
| | | | | | 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/{set_d.c,set_f.c}] Type clean-up to improve maintainability.vlefevre2014-02-112-4/+5
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/set_exp@8936 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/random_deviate.c] Type clean-up to improve maintainability.vlefevre2014-02-111-1/+2
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/set_exp@8935 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/set_si_2exp.c] Fixed unsigned → signed conversion ofvlefevre2014-02-111-1/+1
| | | | | | | non-representable value when mpfr_exp_t has the same size as int (unrelated to MPFR_SET_EXP change). git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/set_exp@8933 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/add_ui.c] Cosmetic changes.vlefevre2014-02-111-2/+2
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/set_exp@8932 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/add_ui.c] Fixed unsigned → signed conversion of non-representablevlefevre2014-02-111-1/+1
| | | | | | | value (detected due to the new MPFR_SET_EXP assertion check). Now, 92 tests pass and 77 tests fail on Linux/x86_64. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/set_exp@8930 280ebfd0-de03-0410-8827-d642c229c3f4
* [tests/random2.c] Fixed unsigned → signed conversion ofvlefevre2014-02-111-2/+4
| | | | | | | | non-representable value (detected due to the new MPFR_SET_EXP assertion check). Now, 87 tests pass and 82 tests fail on Linux/x86_64. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/set_exp@8927 280ebfd0-de03-0410-8827-d642c229c3f4
* Updated src/urandomb.c due to the change of mpfr_set_exp behavior.vlefevre2014-02-111-1/+3
| | | | | | Now, 77 tests pass and 92 tests fail on Linux/x86_64. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/set_exp@8926 280ebfd0-de03-0410-8827-d642c229c3f4
* [tests/trandom.c] Improved test to get an assertion failure instead ofvlefevre2014-02-111-1/+2
| | | | | | a segmentation fault. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/set_exp@8925 280ebfd0-de03-0410-8827-d642c229c3f4
* Start of mpfr_set_exp behavior clean-up.vlefevre2014-02-113-6/+19
| | | | | | | | | | | | | | | | | | | | * 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
* Created set_exp branch for clean-up of mpfr_set_exp behavior.vlefevre2014-02-110-0/+0
| | | | | | | Note: patches for bugs found via this change should have their own commits in the trunk (so that they can be backported more easily). git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/set_exp@8923 280ebfd0-de03-0410-8827-d642c229c3f4
* Set svn:ignore property on the tools/bench directory.vlefevre2014-02-110-0/+0
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8922 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/set_ld.c] Added a note about the test for infinity.vlefevre2014-02-061-0/+4
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8921 280ebfd0-de03-0410-8827-d642c229c3f4
* make -> make mpfrbenchzimmerma2014-02-051-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8920 280ebfd0-de03-0410-8827-d642c229c3f4
* Removed MPFR_CHECK_MAX as it is now useless: all "max" tests succeed.vlefevre2014-02-053-5/+2
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8919 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/lngamma.c] Fixed bug introduced in the latest change r8917vlefevre2014-02-051-2/+2
| | | | | | (inexact was not initialized in the case compared < 0). git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8918 280ebfd0-de03-0410-8827-d642c229c3f4
* added code for large inputs in lngamma/lgammazimmerma2014-02-041-2/+44
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8917 280ebfd0-de03-0410-8827-d642c229c3f4
* [TODO] Suggest timing-based thresholds for asymptotic expansions.vlefevre2014-02-041-0/+4
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8916 280ebfd0-de03-0410-8827-d642c229c3f4
* use asymptotic expansion for large positive argumentzimmerma2014-02-042-4/+24
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8915 280ebfd0-de03-0410-8827-d642c229c3f4
* tiny change to distinguish different versions of the manualzimmerma2014-01-301-2/+2
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8914 280ebfd0-de03-0410-8827-d642c229c3f4
* [src] Add constants:vlefevre2014-01-297-19/+53
| | | | | | | | | * __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
* added referencezimmerma2014-01-291-0/+2
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8912 280ebfd0-de03-0410-8827-d642c229c3f4
* [src] mpz_t caching (modified patch by Patrick Pélissier).vlefevre2014-01-293-19/+71
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8911 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/const_pi.c] Rewrote a condition to avoid a potentialvlefevre2014-01-291-1/+1
| | | | | | integer overflow (?) and match a comment. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8910 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/const_pi.c] Use of GROUP allocation and minor optimizationvlefevre2014-01-291-17/+6
| | | | | | (modified patch by Patrick Pélissier). git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8909 280ebfd0-de03-0410-8827-d642c229c3f4
* [TODO] Added a note about "rounding to odd" / "sticky rounding".vlefevre2014-01-281-0/+7
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8908 280ebfd0-de03-0410-8827-d642c229c3f4
* [tools/mpfrlint] Run-time assertions concerning relations betweenvlefevre2014-01-271-0/+6
| | | | | | the MPFR exponent type and the long type are allowed (see r8896). git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8907 280ebfd0-de03-0410-8827-d642c229c3f4
* [tests/mpf_compat.h] In MPFR mode, skip the tests when mpfr_exp_t is notvlefevre2014-01-261-2/+11
| | | | | | a long. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8906 280ebfd0-de03-0410-8827-d642c229c3f4
* [tests/tset_ld.c] Fixed printf argument.vlefevre2014-01-261-2/+4
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8905 280ebfd0-de03-0410-8827-d642c229c3f4
* [tests/tgamma.c] Fixed printf argument (bug detected withvlefevre2014-01-261-1/+1
| | | | | | _MPFR_EXP_FORMAT=2 and -Werror=format=). git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8904 280ebfd0-de03-0410-8827-d642c229c3f4
* [tools/bench/mpfrbench.c] No longer use the numberof macro, andvlefevre2014-01-261-2/+3
| | | | | | | #include "mpfr.h" instead of "mpfr-impl.h", so that mpfrbench.c can now be linked against an installed MPFR library. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8902 280ebfd0-de03-0410-8827-d642c229c3f4
* Added MPFR_CHECK_GMP configure check.vlefevre2014-01-242-0/+53
| | | | | | | | | | | | | Useful if the user provides --with-gmp with a directory containing a GMP version that doesn't have the correct ABI: the previous tests won't trigger the error if the same GMP version with the right ABI is installed on the system, as this library is automatically selected by the linker, while the header (which depends on the ABI) of the --with-gmp include directory is used. Before this test, one was getting an error in MPFR_CHECK_DBL2INT_BUG, though the error is not related to a double-to-integer conversion bug. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8900 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/mpfr-impl.h] Corrections for the case _MPFR_EXP_FORMAT == 4:vlefevre2014-01-241-4/+4
| | | | | | | | | | | | | | * 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
* [doc/README.dev] Rephrased paragraph added in r8897.vlefevre2014-01-241-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8898 280ebfd0-de03-0410-8827-d642c229c3f4
* [doc/README.dev] Added a note for Automake 1.13+ and failed tests.vlefevre2014-01-241-0/+4
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8897 280ebfd0-de03-0410-8827-d642c229c3f4
* [src] Replaced some MPFR_ASSERTN's by MPFR_STAT_STATIC_ASSERT (from thevlefevre2014-01-247-7/+7
| | | | | | | | | | detection by mpfrlint). Note: the MPFR_ASSERTN's concerning relations between the MPFR exponent type and the long type have not been replaced because these tests may fail with the non-standard _MPFR_EXP_FORMAT = 4 on some platforms (e.g. 32-bit ones), and we still want to be able to build MPFR in this case in order to test it; this needs to be fixed. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8896 280ebfd0-de03-0410-8827-d642c229c3f4
* [tools/mpfrlint] Constant checking in assertions.vlefevre2014-01-241-2/+4
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8895 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/mpfr-mini-gmp.c] Use lower case for function parameters.vlefevre2014-01-241-45/+45
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8894 280ebfd0-de03-0410-8827-d642c229c3f4
* re-enable assertions (patch from Patrick Pélissier)zimmerma2014-01-241-2/+2
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8893 280ebfd0-de03-0410-8827-d642c229c3f4
* removed an MPFR_LIKELY that is not so likely...zimmerma2014-01-241-2/+2
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8892 280ebfd0-de03-0410-8827-d642c229c3f4
* Optimization: likely / unlikely, etc. (patch by Patrick Pélissier).vlefevre2014-01-249-73/+57
| | | | | | Coding style. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8891 280ebfd0-de03-0410-8827-d642c229c3f4
* [tune/tuneup.c] Fix compilation error due to static assertion beingvlefevre2014-01-241-0/+6
| | | | | | wrong (patch by Patrick Pélissier). git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8890 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/const_log2.c] Optimization by using GROUP allocation (patchvlefevre2014-01-241-11/+10
| | | | | | by Patrick Pélissier). git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8889 280ebfd0-de03-0410-8827-d642c229c3f4