summaryrefslogtreecommitdiff
path: root/mpfr-impl.h
Commit message (Collapse)AuthorAgeFilesLines
* Fix bug of NAN and INF.pelissip2005-06-101-2/+2
| | | | | | | | | | Fix bug in documentation (mpfr_sum wasn't exactly what is decribed). Improve test. Change internal names. Clean up. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3642 280ebfd0-de03-0410-8827-d642c229c3f4
* Clean up use of stdio.h:pelissip2005-06-081-0/+5
| | | | | | | | it is now included by mpfr-impl iff DEBUG is defined or WANT_ASSERT is defined. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3631 280ebfd0-de03-0410-8827-d642c229c3f4
* MPFR_GET_EXP was wrongly defined and does nothing due to recursivepelissip2005-06-071-1/+1
| | | | | | | | | macro (mpfr_get_exp is also defined to be a fast macro). Fix this by removing the macro call in MPFR_GET_EXP in case of ASSERT >= 1. 2 tests failed now! git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3625 280ebfd0-de03-0410-8827-d642c229c3f4
* Fix bug in MPFR_GROUP_REPREC_3.pelissip2005-06-071-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3619 280ebfd0-de03-0410-8827-d642c229c3f4
* Change the address of the FSF.pelissip2005-06-021-2/+2
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3606 280ebfd0-de03-0410-8827-d642c229c3f4
* Add attribute const and noreturn for function (via macros).pelissip2005-06-021-4/+24
| | | | | | | Add new macros GROUP_INIT_6 and GROUP_REPREC_6 for zeta and gamma. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3601 280ebfd0-de03-0410-8827-d642c229c3f4
* Final version of MPFR_GROUP macros.pelissip2005-05-231-30/+86
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3596 280ebfd0-de03-0410-8827-d642c229c3f4
* Replace TMP_ALLOC by MPFR_TMP_ALLOCpelissip2005-05-181-10/+23
| | | | | | | | | | Replace TMP_DECL by MPFR_TMP_DECL Replace TMP_MARK by MPFR_TMP_MARK Replace TMP_FREE by MPFR_TMP_FREE Add support for GMP's TMP_SALLOC. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3593 280ebfd0-de03-0410-8827-d642c229c3f4
* Typo.pelissip2005-05-171-0/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3581 280ebfd0-de03-0410-8827-d642c229c3f4
* Add new macro MPFR_SAVE_DECL_UPDATE_FLAGSpelissip2005-05-171-0/+2
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3579 280ebfd0-de03-0410-8827-d642c229c3f4
* Extract constants (__gmpfr_one, two and four) from log.c to constant.cpelissip2005-05-171-3/+7
| | | | | | | Fix bug in MPFR_SET_ONE. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3560 280ebfd0-de03-0410-8827-d642c229c3f4
* Fix some problems when you define mpfr_prec_t to be an unsigned short.pelissip2005-05-131-75/+84
| | | | | | | | Now all tests passed when mpfr_prec_t is defined to be an unsigned short on a 32 bit CPU! git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3546 280ebfd0-de03-0410-8827-d642c229c3f4
* 1. Change the prototype of mpfr_can_round to use const.pelissip2005-05-101-11/+39
| | | | | | | | | | | | | 2. Change the prototype of mpfr_round_raw_2 (remove first argument since it is useless). 3. Change round_raw_generic to use preprocessor if rather than compiler to detect if flag == 1 or 0 4. mpfr_round_raw_xxx use const attribute too. 5. Remove mpfr_round_raw_3 since it is unused by MPFR. 6. Add first prototype of MPFR_FAST_COMPUTE_IF_SMALL. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3536 280ebfd0-de03-0410-8827-d642c229c3f4
* Add a macro for mpfr_const_catalan for internal use.pelissip2005-04-221-0/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3481 280ebfd0-de03-0410-8827-d642c229c3f4
* added Catalan's constantzimmerma2005-04-201-2/+3
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3454 280ebfd0-de03-0410-8827-d642c229c3f4
* Tiny update.pelissip2005-03-291-13/+60
| | | | | | | Add group functions macros. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3414 280ebfd0-de03-0410-8827-d642c229c3f4
* Add new internal function for debugging reasons.pelissip2005-03-251-0/+4
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3410 280ebfd0-de03-0410-8827-d642c229c3f4
* Add new internal function mpfr_round_p which is a fast replacementpelissip2005-03-141-0/+7
| | | | | | | to mpfr_can_round (x, y, GMP_RNDN, GMP_RNDZ, ...) git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3386 280ebfd0-de03-0410-8827-d642c229c3f4
* Move GLIBC detection from mpfr-impl to logging.cpelissip2005-03-081-2/+2
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3373 280ebfd0-de03-0410-8827-d642c229c3f4
* Clean up macro namespace.pelissip2005-03-081-3/+5
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3367 280ebfd0-de03-0410-8827-d642c229c3f4
* Add tune for mpfr_mulhighpelissip2005-03-071-1/+2
| | | | | | | Add --with-mulhigh-size option at configure time. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3363 280ebfd0-de03-0410-8827-d642c229c3f4
* Add tune program for MPFR.pelissip2005-02-241-5/+1
| | | | | | | | | | Do make tune instead of make. BUT you need to have configure MPFR with --with-gmp-build=... (It uses internal libspeed.la of GMP). Tuning is slow... git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3353 280ebfd0-de03-0410-8827-d642c229c3f4
* Fix wrong integer types.pelissip2005-02-161-1/+3
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3327 280ebfd0-de03-0410-8827-d642c229c3f4
* Do not print final log message if there was no call.pelissip2005-02-151-1/+2
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3312 280ebfd0-de03-0410-8827-d642c229c3f4
* Add MPFR_LOG_FUNCpelissip2005-02-141-5/+18
| | | | | | | Use mpfr_cos as testing example. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3309 280ebfd0-de03-0410-8827-d642c229c3f4
* new faster algorithm for log(2)zimmerma2005-02-121-6/+0
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3294 280ebfd0-de03-0410-8827-d642c229c3f4
* Clean up const_log2 code.pelissip2005-02-111-0/+4
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3291 280ebfd0-de03-0410-8827-d642c229c3f4
* Add support for Shared Library in MPFR (both Unix and Windows) by using libtool.pelissip2005-02-081-79/+88
| | | | | | | | Improve configure (remove unused macros, make dist produce .zip and .bz2) Update update-version to modify configure.in too. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3281 280ebfd0-de03-0410-8827-d642c229c3f4
* Add option "thread-safe" to configure.pelissip2005-02-031-60/+71
| | | | | | | Limited to use with GCC and ICC (using extension __thread). git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3274 280ebfd0-de03-0410-8827-d642c229c3f4
* mpfr.h doesn't export anymore any globals.pelissip2005-02-031-4/+49
| | | | | | | It doesn't define MPFR_FLAGS too. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3272 280ebfd0-de03-0410-8827-d642c229c3f4
* Change user interface for mpfr_const_pi, mpfr_const_log2 andpelissip2005-02-031-9/+7
| | | | | | | | | | | mpfr_const_euler. No more access to the cache itself. Create dummy functions which call the cache, and rename old functions to "_internal". Internally, it doesn't change at all (You still call directly the cache instead of the dummy function which calls the cache). git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3271 280ebfd0-de03-0410-8827-d642c229c3f4
* Rename internal functions mpfr_set_overflow in mpfr_overflow andpelissip2005-02-031-2/+2
| | | | | | | | mpfr_set_underflow in mpfr_underflow so that we can add new functions mpfr_set_underflow and mpfr_set_overflow (which set the global flags). git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3269 280ebfd0-de03-0410-8827-d642c229c3f4
* Reduce the size of some lines (more than 80 chars).pelissip2005-02-031-7/+11
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3265 280ebfd0-de03-0410-8827-d642c229c3f4
* Move mpfr_nexttozero and mpfr_nexttoinf from static to mpfr-impl.pelissip2005-02-021-0/+3
| | | | | | | Use them in sub1 and sin. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3260 280ebfd0-de03-0410-8827-d642c229c3f4
* Add experimental logging feature.pelissip2005-02-021-0/+111
| | | | | | | Add ZivLoop controler. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3257 280ebfd0-de03-0410-8827-d642c229c3f4
* Removed a useless test in macro MPFR_UNSIGNED_MINUS_MODULO.vlefevre2005-01-281-35/+37
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3238 280ebfd0-de03-0410-8827-d642c229c3f4
* New version of mpfr_set_ld and mpfr_get_ld for IEEE Extended Little Endian.pelissip2005-01-271-12/+23
| | | | | | | (Due to problem on x86 with extended precision). git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3226 280ebfd0-de03-0410-8827-d642c229c3f4
* Add forgotten 2005 copyright line.pelissip2005-01-121-1/+2
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3182 280ebfd0-de03-0410-8827-d642c229c3f4
* Fix problem of `mpn_sub_nc' which may or may not be defined in libgmp.apelissip2005-01-121-0/+20
| | | | | | | | (Add a test in the configure and a new macro MPFR_HAVE_MPN_SUB_NC) Add MPFR_LOG2_BIT_PER_MP_LIMB macro git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3181 280ebfd0-de03-0410-8827-d642c229c3f4
* Optimize mpfr_exp2 by inlining some code, and by avoiding usingpelissip2005-01-041-2/+11
| | | | | | | mpz_sizeinbase. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3171 280ebfd0-de03-0410-8827-d642c229c3f4
* Add "MPFR_USE_NO_MACRO" user macro: it allows the user to linkpelissip2004-12-141-5/+22
| | | | | | | | | | directly with MPFR functions rather than using Macros to access them. It doesn't define MPFR variable inside mpfr.h too. Fix set.c and cmp.c in consequences. Fix mpf2mpfr.h to use mpfr_get_default_rounding_mode () if needed. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3135 280ebfd0-de03-0410-8827-d642c229c3f4
* Optimize mpfr_set4.pelissip2004-12-091-0/+118
| | | | | | | | | | Inline rounding in mpfr_set4 and mpfr_cache mpfr_set4 dosn't return MPFR_EVEN_INEX (It was undocumented before). Fix problems with tests (Avoid mixing MPFR_EVEN_INEX and 1). Add MPFR_RNDRAW_EVEN for rounding with MPFR_EVEN_INEX inexact support git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3121 280ebfd0-de03-0410-8827-d642c229c3f4
* Optimize mpfr_mul by inlining and rewriting the rounding.pelissip2004-12-081-2/+108
| | | | | | | | It seems that GCC option `-frename-registers` for mpfr_mul / Athlon XP improves its performance (But it decreases it on Pentium4)... git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3120 280ebfd0-de03-0410-8827-d642c229c3f4
* Fix typos in INSTALL.pelissip2004-11-191-1/+5
| | | | | | | | Sort README.dev, and add a new section about How to write a MPFR function. Add a link to README.dev in mpfr-impl.h. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3106 280ebfd0-de03-0410-8827-d642c229c3f4
* Remove mpfr_save_emin_emax and mpfr_restore_emin_emaxpelissip2004-11-181-2/+3
| | | | | | | from MPFR library since they are useless. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3102 280ebfd0-de03-0410-8827-d642c229c3f4
* Replace use of mpfr_save_emin_emax () / mpfr_restore_emin_emax()pelissip2004-11-181-0/+24
| | | | | | | | by MPFR_SAVE_EXPO macros (DECL, MARK and FREE) which are faster and thread safe. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3100 280ebfd0-de03-0410-8827-d642c229c3f4
* Reorder the file and put sections to make it cleaner and more readable.pelissip2004-11-181-189/+292
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3096 280ebfd0-de03-0410-8827-d642c229c3f4
* Add a prototype of own TMP_ALLOC. Don't know if it is a good idea.pelissip2004-11-181-0/+18
| | | | | | | To enable it, just build MPFR with MPFR_USE_OWN_TMP_ALLOC. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3092 280ebfd0-de03-0410-8827-d642c229c3f4
* Remove use of CNST_LIMB and TMP_ALLOC_LIMB which are GMP internal.pelissip2004-11-101-3/+5
| | | | | | | Add MPFR_LIMB_ZERO. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3078 280ebfd0-de03-0410-8827-d642c229c3f4
* Add __extension__ to avoid warning useless in GCC.pelissip2004-11-101-3/+3
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3075 280ebfd0-de03-0410-8827-d642c229c3f4