summaryrefslogtreecommitdiff
path: root/pow.c
Commit message (Collapse)AuthorAgeFilesLines
* Replace __gmpfr_ceil_log2 by MPFR_INT_CEIL_LOG2 when possible.pelissip2004-11-101-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3076 280ebfd0-de03-0410-8827-d642c229c3f4
* Really reverted to rev. 1.54 + kept optimization + commented outvlefevre2004-02-161-39/+63
| | | | | | | is_odd_even. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@2727 280ebfd0-de03-0410-8827-d642c229c3f4
* revert to rev 1.54 code for case x infinitezimmerma2004-02-161-26/+9
| | | | | | | (was less efficient but simpler) git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@2724 280ebfd0-de03-0410-8827-d642c229c3f4
* fixed bug with in-place computationzimmerma2004-02-161-1/+2
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@2723 280ebfd0-de03-0410-8827-d642c229c3f4
* changed back to C99 standard for special values of x^yzimmerma2004-02-161-22/+18
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@2721 280ebfd0-de03-0410-8827-d642c229c3f4
* Fix: MPFR_NOT_ZERO -> MPFR_NOTZERO.vlefevre2004-02-161-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@2717 280ebfd0-de03-0410-8827-d642c229c3f4
* improved coverage testzimmerma2004-02-141-27/+77
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@2713 280ebfd0-de03-0410-8827-d642c229c3f4
* Add forgotten copyright 2004 line.pelissip2004-02-061-2/+1
| | | | | | | Add a small documentation about mpfr_sum. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@2671 280ebfd0-de03-0410-8827-d642c229c3f4
* + Better support of non IEEE doubles.pelissip2004-02-061-4/+2
| | | | | | | + You can compile MPFR without gmp internal files (ie gmp-impl.h, gmp-mparam.h, and config.h). You only need gmp.h and libgmp.a. But you can still compile with GMP internal files (configure detects them). git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@2665 280ebfd0-de03-0410-8827-d642c229c3f4
* Remove some warnings and potential errors (Comparaison between signed and ↵pelissip2003-11-211-1/+1
| | | | | | unsigned). git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@2563 280ebfd0-de03-0410-8827-d642c229c3f4
* Optimization of mpfr_mul.pelissip2003-11-191-5/+4
| | | | | | | | Tiny optimization of mpfr_pow (The case y=0 has been put inside the MPFR_ARE_SINGULAR block). Tiny optimisation of mpfr_set_ui. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@2554 280ebfd0-de03-0410-8827-d642c229c3f4
* fixed bug in case exact resultzimmerma2003-11-181-3/+10
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@2553 280ebfd0-de03-0410-8827-d642c229c3f4
* fixed bug for output precision > max(input precisions)zimmerma2003-11-141-0/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@2543 280ebfd0-de03-0410-8827-d642c229c3f4
* Fix some bugs (Use MPFR_ASSERT(1) instead of MPFR_ASSERT(0))pelissip2003-11-051-1/+1
| | | | | | | Optimize swap.c and copysign.c. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@2536 280ebfd0-de03-0410-8827-d642c229c3f4
* Use of MPFR_UNLIKELY and MPFR_IS_SINGULAR for fast detection of special ↵pelissip2003-10-281-98/+94
| | | | | | | | | values (Nan, Inf or Zero). Start to encapsulate the sign to be independant of the reprensation (Must be 1 or -1). git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@2525 280ebfd0-de03-0410-8827-d642c229c3f4
* replaced mpfr_can_round (approx, err, rnd1, GMP_RNDN, prec)zimmerma2003-10-141-1/+2
| | | | | | | | by mpfr_can_round (approx, err, rnd1, GMP_RNDZ, prec + 1) which in addition guarantees a correct inexact flag git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@2492 280ebfd0-de03-0410-8827-d642c229c3f4
* fixed bug in mpfr_pow found by Ming J. Tsai (overflow)zimmerma2003-10-101-1/+16
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@2487 280ebfd0-de03-0410-8827-d642c229c3f4
* Macros MPFR_EXP_INVALID (invalid exponent value) and MPFR_EXP_CHECKvlefevre2003-05-221-4/+4
| | | | | | | | | | | | added. Code update to use MPFR_GET_EXP and MPFR_SET_EXP instead of MPFR_EXP to allow more bug detection related to special values. Macros MPFR_SET_NAN, MPFR_SET_INF, MPFR_SET_ZERO and MPFR_INIT set the exponent of the number to MPFR_EXP_INVALID if MPFR_EXP_CHECK is defined. Compile with -DMPFR_EXP_CHECK and make check to see the potential problems; currently, 40 of 76 tests fail. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@2301 280ebfd0-de03-0410-8827-d642c229c3f4
* fixed bug for x=1zimmerma2003-03-141-8/+13
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@2266 280ebfd0-de03-0410-8827-d642c229c3f4
* This wasn't a compiler bug; mpfr_pow is really buggy.vlefevre2003-03-141-0/+4
| | | | | | | Added some asserts to show that. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@2265 280ebfd0-de03-0410-8827-d642c229c3f4
* gnu-stylezimmerma2003-03-131-7/+7
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@2261 280ebfd0-de03-0410-8827-d642c229c3f4
* Special cases for mpfr_pow().vlefevre2003-03-121-26/+111
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@2258 280ebfd0-de03-0410-8827-d642c229c3f4
* Useless declaration removed.vlefevre2003-03-031-2/+0
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@2255 280ebfd0-de03-0410-8827-d642c229c3f4
* Special cases for mpfr_pow: like Section F.9.4.4 of thevlefevre2003-03-031-83/+33
| | | | | | | ISO C99 standard. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@2254 280ebfd0-de03-0410-8827-d642c229c3f4
* Prototype fixed.vlefevre2003-03-031-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@2253 280ebfd0-de03-0410-8827-d642c229c3f4
* mpfr_isinteger -> mpfr_integer_pzimmerma2003-02-131-3/+3
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@2240 280ebfd0-de03-0410-8827-d642c229c3f4
* Suppress some #define and fix symbol names (makes code cleaner):vlefevre2002-12-161-1/+1
| | | | | | | | | | | | | | | | | | | perl -pi -e 's/__mpfr_flags/__gmpfr_flags/g' **/*.{c,h} perl -pi -e 's/__mpfr_emin/__gmpfr_emin/g' **/*.{c,h} perl -pi -e 's/__mpfr_emax/__gmpfr_emax/g' **/*.{c,h} perl -pi -e 's/__mpfr_default_fp_bit_precision/__gmpfr_default_fp_bit_precision/g' **/*.{c,h} perl -pi -e 's/__gmp_default_rounding_mode/__gmpfr_default_rounding_mode/g' **/*.{c,h} perl -pi -e 's/__mpfr_const_log2_prec/__gmpfr_const_log2_prec/g' **/*.{c,h} perl -pi -e 's/__mpfr_const_pi_prec/__gmpfr_const_pi_prec/g' **/*.{c,h} perl -pi -e 's/_mpfr_ceil_log2/__gmpfr_ceil_log2/g' **/*.{c,h} perl -pi -e 's/_mpfr_floor_log2/__gmpfr_floor_log2/g' **/*.{c,h} perl -pi -e 's/_mpfr_ceil_exp2/__gmpfr_ceil_exp2/g' **/*.{c,h} perl -pi -e 's/_mpfr_isqrt/__gmpfr_isqrt/g' **/*.{c,h} perl -pi -e 's/_mpfr_cuberoot/__gmpfr_cuberoot/g' **/*.{c,h} perl -pi -e 's/^#define __gmpfr_.*\n//' *.h git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@2125 280ebfd0-de03-0410-8827-d642c229c3f4
* fixed bug (infinite loop) for exact powerszimmerma2002-11-221-1/+3
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@2083 280ebfd0-de03-0410-8827-d642c229c3f4
* cmp_abs -> cmpabs (for compatibility with mpz)zimmerma2002-09-231-2/+2
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@2025 280ebfd0-de03-0410-8827-d642c229c3f4
* Reindentation.vlefevre2002-07-221-48/+47
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@1978 280ebfd0-de03-0410-8827-d642c229c3f4
* pow.c: bug fixed (in the call to mpfr_can_round).vlefevre2002-07-221-8/+2
| | | | | | | tpow.c: mpfr_clear added. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@1977 280ebfd0-de03-0410-8827-d642c229c3f4
* mpfr_pow() didn't work when the exponent was a negative integer.vlefevre2002-07-041-3/+3
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@1967 280ebfd0-de03-0410-8827-d642c229c3f4
* fixed problem (infinite loop) in mpfr_pow for exact powerszimmerma2002-04-301-20/+92
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@1924 280ebfd0-de03-0410-8827-d642c229c3f4
* COPYING -> COPYING.LIB and GPL re-added.vlefevre2002-04-151-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@1877 280ebfd0-de03-0410-8827-d642c229c3f4
* COPYING.LIB -> COPYING.vlefevre2002-04-051-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@1820 280ebfd0-de03-0410-8827-d642c229c3f4
* Copyright line changed.vlefevre2002-03-041-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@1713 280ebfd0-de03-0410-8827-d642c229c3f4
* changed name of mpz_set_fr to mpfr_get_z_expzimmerma2002-03-011-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@1711 280ebfd0-de03-0410-8827-d642c229c3f4
* Some optimizations.vlefevre2002-02-061-21/+23
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@1682 280ebfd0-de03-0410-8827-d642c229c3f4
* Misc bug fixes and code clean-up.vlefevre2002-02-041-95/+67
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@1680 280ebfd0-de03-0410-8827-d642c229c3f4
* removed K&R function headerszimmerma2001-11-161-9/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@1548 280ebfd0-de03-0410-8827-d642c229c3f4
* remove stdio math .hdaney2001-11-161-3/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@1542 280ebfd0-de03-0410-8827-d642c229c3f4
* changed Library GPL to Lesser GPLzimmerma2001-11-161-4/+4
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@1536 280ebfd0-de03-0410-8827-d642c229c3f4
* Update.vlefevre2001-11-081-3/+0
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@1478 280ebfd0-de03-0410-8827-d642c229c3f4
* rename pow2.c in pow.c (source for mpfr_pow)daney2001-11-081-120/+226
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@1473 280ebfd0-de03-0410-8827-d642c229c3f4
* implemented exact rounding (but no ternary flag)zimmerma2001-10-261-48/+104
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@1434 280ebfd0-de03-0410-8827-d642c229c3f4
* code was wrong for infinityzimmerma2000-12-221-2/+4
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@950 280ebfd0-de03-0410-8827-d642c229c3f4
* fixed wrong combination of conditions for Infinityzimmerma2000-12-221-2/+2
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@942 280ebfd0-de03-0410-8827-d642c229c3f4
* k2r -> ansi stylezimmerma2000-12-211-12/+30
| | | | | | | | removed #include <math.h> by defining auxiliary functions fixed several tiny remaining bugs with NaN/Inf git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@925 280ebfd0-de03-0410-8827-d642c229c3f4
* changed name of mpfr struct fields: _mp_d -> _mpfr_dzimmerma2000-12-181-0/+1
| | | | | | | | | (to detect conflicts with mpf) fixed a few problems in non-STDC headers moved definitions of mpfr-impl.h to mpfr-test.h and created a real mpfr-impl.h git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@897 280ebfd0-de03-0410-8827-d642c229c3f4
* A few patches.hanrot2000-12-151-0/+2
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@870 280ebfd0-de03-0410-8827-d642c229c3f4