summaryrefslogtreecommitdiff
path: root/src/mpfr-impl.h
Commit message (Collapse)AuthorAgeFilesLines
* [src/mpfr-impl.h] Improved MPFR_LIMB_* macros for mp_limb_t < intvlefevre2018-09-171-12/+13
| | | | | | | (e.g. 16-bit or 8-bit limb), as in such a case, integer promotion transforms mp_limb_t to int. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@13203 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/mpfr-impl.h] Check that MPFR_HAVE_GMP_IMPL and MPFR_USE_MINI_GMPvlefevre2018-09-121-0/+3
| | | | | | are not both defined. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@13177 280ebfd0-de03-0410-8827-d642c229c3f4
* Removed trailing whitespace.vlefevre2018-09-061-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@13148 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/mpfr-impl.h] Indentation.vlefevre2018-09-051-4/+4
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@13144 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/exp_2.c] export (internally) nbits_ulong (renamed to mpfr_nbits_ulong)zimmerma2018-09-051-0/+2
| | | | | | | | [src/mpfr-impl.h] added prototype for mpfr_nbits_ulong [src/pow_si.c] fixed for 16-bit limb git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@13140 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/mpfr-impl.h] Define MPFR_LIMB_LSHIFT(x,c) macro to do a left shift,vlefevre2018-08-311-6/+15
| | | | | | | | making sure that the shifted argument is unsigned (needed due to the integer promotion rules when mp_limb_t is defined as an unsigned short). [src/add1.c] Fixed potential undefined behavior with MPFR_LIMB_LSHIFT. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@13101 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/mpfr-impl.h] Corrected a comment and added a warning.vlefevre2018-08-311-2/+8
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@13100 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/mpfr-impl.h] fix MPFR_INT_CEIL_LOG2 for 16-bit limbzimmerma2018-08-311-1/+14
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@13099 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/mpfr-impl.h] Fix for MS Windows.vlefevre2018-08-311-4/+7
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@13089 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/mpfr-impl.h] Make sure that MPFR_LONG_WITHIN_LIMB is defined ifvlefevre2018-08-311-2/+10
| | | | | | __GMP_SHORT_LIMB is not defined, as required by the current code. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@13088 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/mpfr-impl.h] fixed wrong #ifdefzimmerma2018-08-311-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@13086 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/mpfr-gmp.h] removed leftover debug statementzimmerma2018-08-311-0/+7
| | | | | | | | [src/mpfr-impl.h] added MPFR_LIMB macro [src/sub1sp.c] fix for 16-bit limb git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@13082 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/mpfr-gmp.h] more changes for 16-bit limbzimmerma2018-08-301-0/+2
| | | | | | | [src/mpfr-impl.h] mpfr-longlong.h should not be used for limb < long git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@13081 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/mpfr-impl.h] Mention WG14/N2270 (proposed maybe_unused attribute),vlefevre2018-08-271-0/+3
| | | | | | which could be useful to avoid MPFR_DBGRES. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@13026 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/mpfr-impl.h] Added a cast to mp_bitcnt_t in order to fix potentialvlefevre2018-08-161-9/+9
| | | | | | integer overflow in MPFR_MPZ_SIZEINBASE2. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@12988 280ebfd0-de03-0410-8827-d642c229c3f4
* Added MPFR_INC_PREC definition (similar to MPFR_ADD_PREC) and replacedvlefevre2018-08-161-4/+6
| | | | | | | some MPFR_ADD_PREC occurrences by MPFR_INC_PREC. In src/bernoulli.c, replaced += by MPFR_INC_PREC to detect overflow. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@12986 280ebfd0-de03-0410-8827-d642c229c3f4
* Shared caches: fix and minor changes.vlefevre2018-07-181-2/+2
| | | | | | | | | | | | | | * Fixed detection and use of C11 thread support: the C11 header is <threads.h>, not <thread.h>. * Renamed WANT_SHARED_CACHE to MPFR_WANT_SHARED_CACHE for consistency with the other MPFR_WANT_* macros. * Added MPFR_THREAD_LOCK_METHOD macro, giving the thread locking method as a string (when shared caches are enabled). * doc/README.dev: documented 4 macros for shared caches. * tests/tversion.c: output MPFR_WANT_SHARED_CACHE and MPFR_THREAD_LOCK_METHOD information. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@12937 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/mpfr-impl.h] Added a FIXME: _Decimal128 code and _MPFR_IEEE_FLOATSvlefevre2018-07-131-0/+3
| | | | | | (which is about binary IEEE-754 floating point) should be unrelated. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@12926 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/mpfr-impl.h] Spelling in a comment.vlefevre2018-06-231-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@12854 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/mpfr-impl.h] Fixed change in r12847.vlefevre2018-06-231-2/+2
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@12853 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/mpfr-impl.h] Improved a comment about union ieee_decimal128.vlefevre2018-06-221-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@12848 280ebfd0-de03-0410-8827-d642c229c3f4
* Do not assume that the bit-field ordering for _Decimal128 is necessarilyvlefevre2018-06-221-2/+9
| | | | | | | | little endian or big endian (this is more than the usual endianness issue). If this cannot be detected, instead of failing or assuming a possibly wrong default, switch to the portable code. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@12847 280ebfd0-de03-0410-8827-d642c229c3f4
* [acinclude.m4] added configure test to determine the encoding of _Decimal128 ↵zimmerma2018-06-221-4/+2
| | | | | | (little or big endian) git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@12843 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/mpfr-impl.h] About union ieee_double_decimal64: removed anvlefevre2018-06-221-1/+2
| | | | | | incorrect comment and added a TODO. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@12827 280ebfd0-de03-0410-8827-d642c229c3f4
* Changed union ieee_double_decimal128 to union ieee_decimal128 since thisvlefevre2018-06-221-13/+10
| | | | | | | has nothing to do with double (unlike union ieee_double_decimal64). Also refactored code for this union definition. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@12826 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/mpfr-impl.h] Updated TODO for DPD.vlefevre2018-06-221-1/+3
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@12825 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/mpfr-impl.h] Added TODO for DPD (better structure definition).vlefevre2018-06-221-1/+3
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@12824 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/mpfr-impl.h] Updated a title comment (→ Decimal support).vlefevre2018-06-211-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@12807 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/mpfr-impl.h] Corrected a comment.vlefevre2018-06-211-1/+3
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@12806 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/mpfr-impl.h] assume little-endian double implies little-endian decimal128zimmerma2018-06-211-0/+17
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@12803 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/mpfr-impl.h] FIXME for _Decimal128.vlefevre2018-06-211-0/+2
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@12802 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/set_d128.c] (partly) implement the _MPFR_IEEE_FLOATS case (BID only so far)zimmerma2018-06-211-0/+13
| | | | | | | [tests/tget_set_d128.c] added more tests git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@12801 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/mpfr-impl.h] Concerning r12738, the safer code can be avoidedvlefevre2018-06-021-5/+7
| | | | | | with GCC in ISO C mode (__STRICT_ANSI__). git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@12751 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/mpfr-impl.h] Fixed potential compilation failure with _Decimal64,vlefevre2018-05-311-3/+3
| | | | | | detected with r12738. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@12744 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/mpfr-impl.h] With GCC, select safer code for DOUBLE_ISNAN(x).vlefevre2018-05-311-9/+11
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@12738 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/mpfr-impl.h] Added a FIXME about DOUBLE_ISNAN and GCC.vlefevre2018-05-301-0/+6
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@12724 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/{mpfr-impl.h,mpn_exp.c}] Changed the return type of mpfr_mpn_expvlefevre2018-05-251-2/+2
| | | | | | | from long to int for consistency with the mpfr_mpn_exp code and with strtofr.c (which expects an int). git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@12715 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/mpfr-impl.h] Added a comment for UBF.vlefevre2018-05-221-1/+4
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@12710 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/mpfr-impl.h] Added a comment about UBF and alignment requirements.vlefevre2018-05-221-0/+9
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@12709 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/mpfr-impl.h] Reverted r12588: there should be no alignment issuesvlefevre2018-04-121-3/+0
| | | | | | | | with UBF, since an UBF (__mpfr_ubf_struct) is sometimes regarded as a MPFR number (__mpfr_struct) but not the opposite (or this is just back to __mpfr_ubf_struct). git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@12590 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/mpfr-impl.h] Added a note about alignment constraints for UBF.vlefevre2018-04-121-0/+3
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@12588 280ebfd0-de03-0410-8827-d642c229c3f4
* Moved the MAX, MIN and ABS macros from tests/mpfr-test.h tovlefevre2018-04-061-0/+11
| | | | | | src/mpfr-impl.h (they can be useful...). git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@12556 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/mpfr-impl.h] Removed MPFR_LIMBS_PER_LONG_DOUBLE as it was notvlefevre2018-02-231-7/+0
| | | | | | | | | | properly specified in the general case and was actually used only in src/set_ld.c with HAVE_LDOUBLE_IEEE_EXT_LITTLE. [src/set_ld.c] Simplified code. Moreover, the hypothetical case GMP_NUMB_BITS == 16 will trigger a compilation error instead of yielding incorrect code. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@12425 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/mpfr-impl.h] Typo in a comment.vlefevre2018-02-231-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@12421 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/get_d64.c] simplified code, and removed dead codezimmerma2018-02-231-1/+2
| | | | | | | | [src/mpfr-impl.h] added comment [tests/tget_set_d64.c] improve coverage git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@12416 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/set_ld.c] improve code when HAVE_LDOUBLE_IEEE_EXT_LITTLE is definedzimmerma2018-02-231-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@12410 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/mpfr-impl.h] Typo in a comment.vlefevre2018-02-221-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@12402 280ebfd0-de03-0410-8827-d642c229c3f4
* changed __float128 (gcc specific) into the standard type _Float128zimmerma2018-02-221-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@12391 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/agm.c,src/div.c,src/mpfr-impl.h] replaced MPFR_EXT_EMIN by MPFR_EMIN_MIN,zimmerma2018-02-181-6/+2
| | | | | | | and MPFR_EXT_EMAX by MPFR_EMAX_MAX git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@12298 280ebfd0-de03-0410-8827-d642c229c3f4
* Added a case for the value coverage for tdiv_ui.vlefevre2018-01-311-1/+1
| | | | | | | | | | | → Now, on a 64-bit Linux machine: mpfr_div_ui not tested on case 2, sb=0 mpfr_div_ui not tested on case 2, sb=1 mpfr_div_ui not tested on case 3, sb=0 mpfr_div_ui not tested on case 4, sb=0 mpfr_div_ui not tested on case 9, sb=0 git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@12166 280ebfd0-de03-0410-8827-d642c229c3f4