summaryrefslogtreecommitdiff
path: root/set_si.c
Commit message (Collapse)AuthorAgeFilesLines
* Copyright notice update: added 2008 withvlefevre2008-01-011-1/+1
| | | | | | | | perl -pi -e 's/2007 Free Software/2007, 2008 Free Software/' **/*(^/) under zsh. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/2.3@5153 280ebfd0-de03-0410-8827-d642c229c3f4
* Reimplemented mpfr_set_si_2exp and mpfr_set_ui_2exp, and mpfr_set_sivlefevre2007-02-081-54/+3
| | | | | | | | | | | and mpfr_set_ui using the 2exp versions with e = 0. This fixes a bug in corner cases (emin >= 4 and some other constraints) in mpfr_set_si and mpfr_set_ui that incorrectly lead to an underflow flag set, and fixes mpfr_set_si_2exp and mpfr_set_ui_2exp in case of overflow or underflow (replacing the r4346 fix). Added corresponding testcases. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@4352 280ebfd0-de03-0410-8827-d642c229c3f4
* Added "Contributed by the Arenaire and Cacao projects, INRIA." to thevlefevre2007-02-071-0/+1
| | | | | | | copyright notices and removed a few old things. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@4350 280ebfd0-de03-0410-8827-d642c229c3f4
* Copyright notice update: added 2007.vlefevre2007-01-101-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@4326 280ebfd0-de03-0410-8827-d642c229c3f4
* Fixed FSF address.vlefevre2006-03-311-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@4055 280ebfd0-de03-0410-8827-d642c229c3f4
* Added ', Inc.' when missing after 'Free Software Foundation'.vlefevre2006-01-051-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3985 280ebfd0-de03-0410-8827-d642c229c3f4
* Updated the copyright notices according to the new GNU rules on:vlefevre2006-01-051-1/+1
| | | | | | | | | | | http://www.gnu.org/prep/maintain/maintain.html#Copyright-Notices i.e. added 2006 to every MPFR file. Note: the copyright notices (currently 336) should match the regexp Copyright.* 2006 Free Software so that it will be easier to update them for the next year... git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3983 280ebfd0-de03-0410-8827-d642c229c3f4
* Removed trailing spaces (better for future patches, as such spacesvlefevre2005-08-181-1/+1
| | | | | | | are sometimes stripped). git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3726 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
* 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
* Add a speciliation for set_si for GCC.pelissip2004-07-151-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@2939 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
* Use of MPFR_UNLIKELY and MPFR_IS_SINGULAR for fast detection of special ↵pelissip2003-10-281-7/+8
| | | | | | | | | 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
* Updates/optimizations related to MPFR_GET_EXP and MPFR_SET_EXP.vlefevre2003-05-261-5/+4
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@2304 280ebfd0-de03-0410-8827-d642c229c3f4
* Macros MPFR_EXP_INVALID (invalid exponent value) and MPFR_EXP_CHECKvlefevre2003-05-221-4/+5
| | | | | | | | | | | | 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
* 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
* Function mpfr_check_range improved in the underflow case.vlefevre2002-07-231-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@1983 280ebfd0-de03-0410-8827-d642c229c3f4
* MP_LIMB_T_HIGHBIT -> MPFR_LIMB_HIGHBIT.vlefevre2002-06-261-1/+1
| | | | | | | MPFR is now compatible with GMP 4.1. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@1955 280ebfd0-de03-0410-8827-d642c229c3f4
* Copyright line updated.vlefevre2002-05-141-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@1930 280ebfd0-de03-0410-8827-d642c229c3f4
* Added some assertions (any unsigned long must be representablevlefevre2002-04-191-0/+1
| | | | | | | in a mp_limb_t). git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@1900 280ebfd0-de03-0410-8827-d642c229c3f4
* SAFE_ABS changed so that it can be used for any unsigned type.vlefevre2002-04-191-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@1899 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
* set sign before calling mpfr_check_rangezimmerma2002-03-111-3/+3
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@1730 280ebfd0-de03-0410-8827-d642c229c3f4
* fixed typo (ai [potentially unsigned] replaced by i)zimmerma2002-03-111-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@1727 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
* Use MPFR_SET_POS.vlefevre2001-11-291-3/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@1591 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
* GNU coding style. K&R function headers removed.vlefevre2001-11-101-25/+20
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@1488 280ebfd0-de03-0410-8827-d642c229c3f4
* Underflow/overflow check.vlefevre2001-10-191-2/+5
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@1307 280ebfd0-de03-0410-8827-d642c229c3f4
* wrong sign passed to mpfr_can_round (mp_limb_t may be unsigned)zimmerma2001-10-181-1/+2
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@1286 280ebfd0-de03-0410-8827-d642c229c3f4
* Bug fixed.vlefevre2001-09-121-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@1197 280ebfd0-de03-0410-8827-d642c229c3f4
* Inexact ternary value for mpfr_set4, mpfr_set_ui and mpfr_set_si.vlefevre2001-09-111-17/+30
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@1195 280ebfd0-de03-0410-8827-d642c229c3f4
* Parameter added to mpfr_round_raw: pointer to inexact ternary value.vlefevre2001-09-101-2/+2
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@1190 280ebfd0-de03-0410-8827-d642c229c3f4
* Bugs fixed (wrong types).vlefevre2001-08-101-1/+3
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@1108 280ebfd0-de03-0410-8827-d642c229c3f4
* added cast to "unsigned long" for ai = ABS(i)zimmerma2001-02-151-44/+3
| | | | | | | moved mpfr_set_ui to separate file git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@989 280ebfd0-de03-0410-8827-d642c229c3f4
* changed name of mpfr struct fields: _mp_d -> _mpfr_dzimmerma2000-12-181-6/+7
| | | | | | | | | (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
* Yet another patch for include files.hanrot2000-12-151-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@863 280ebfd0-de03-0410-8827-d642c229c3f4
* Permutation of includes to avoid warnings due to careless multiple definitionhanrot2000-12-151-1/+1
| | | | | | | of ULONG_MAX. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@862 280ebfd0-de03-0410-8827-d642c229c3f4
* Take into account Inf, Nans ; clear the flags of the return variablevlefevre2000-12-141-0/+2
| | | | | | | in most function calls. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@858 280ebfd0-de03-0410-8827-d642c229c3f4
* changed copyright to Free Software Foundationzimmerma2000-12-011-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@816 280ebfd0-de03-0410-8827-d642c229c3f4
* protected all macros: xxx -> MPFR_xxxzimmerma2000-10-261-18/+18
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@786 280ebfd0-de03-0410-8827-d642c229c3f4
* replaced mp_bits_per_limb by BITS_PER_MP_LIMB (constant)zimmerma2000-08-161-4/+4
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@701 280ebfd0-de03-0410-8827-d642c229c3f4
* fixed pb when target precision is less than integer lengthzimmerma2000-04-141-8/+34
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@487 280ebfd0-de03-0410-8827-d642c229c3f4
* unsigned char -> mp_rnd_tzimmerma2000-02-111-8/+8
| | | | | | | SIGN -> MPFR_SIGN git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@457 280ebfd0-de03-0410-8827-d642c229c3f4
* added copyright noticezimmerma1999-07-301-0/+21
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@364 280ebfd0-de03-0410-8827-d642c229c3f4
* fixed possible bug (testing sign of unsigned long) in mpfr_mul_uizimmerma1999-07-051-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@298 280ebfd0-de03-0410-8827-d642c229c3f4
* unsigned long -> mp_limb_tzimmerma1999-07-021-4/+4
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@256 280ebfd0-de03-0410-8827-d642c229c3f4