Index: gcc/gmp/mpz/set_d.c |
diff --git a/gcc/gmp/mpz/set_d.c b/gcc/gmp/mpz/set_d.c |
deleted file mode 100644 |
index 2e7fce107f9353855a5b43c2cf34333d1b85abcc..0000000000000000000000000000000000000000 |
--- a/gcc/gmp/mpz/set_d.c |
+++ /dev/null |
@@ -1,107 +0,0 @@ |
-/* mpz_set_d(integer, val) -- Assign INTEGER with a double value VAL. |
- |
-Copyright 1995, 1996, 2000, 2001, 2002, 2003, 2006 Free Software Foundation, |
-Inc. |
- |
-This file is part of the GNU MP Library. |
- |
-The GNU MP Library is free software; you can redistribute it and/or modify |
-it under the terms of the GNU Lesser General Public License as published by |
-the Free Software Foundation; either version 3 of the License, or (at your |
-option) any later version. |
- |
-The GNU MP Library is distributed in the hope that it will be useful, but |
-WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY |
-or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public |
-License for more details. |
- |
-You should have received a copy of the GNU Lesser General Public License |
-along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ |
- |
-#include "config.h" |
- |
-#if HAVE_FLOAT_H |
-#include <float.h> /* for DBL_MAX */ |
-#endif |
- |
-#include "gmp.h" |
-#include "gmp-impl.h" |
- |
- |
-/* We used to have a special case for d < MP_BASE_AS_DOUBLE, just casting |
- double -> limb. Unfortunately gcc 3.3 on powerpc970-apple-darwin6.8.5 |
- got this wrong. (It assumed __fixunsdfdi returned its result in a single |
- 64-bit register, where instead that function followed the calling |
- conventions and gave the result in two parts r3 and r4.) Hence the use |
- of __gmp_extract_double in all cases. */ |
- |
-void |
-mpz_set_d (mpz_ptr r, double d) |
-{ |
- int negative; |
- mp_limb_t tp[LIMBS_PER_DOUBLE]; |
- mp_ptr rp; |
- mp_size_t rn; |
- |
- DOUBLE_NAN_INF_ACTION (d, |
- __gmp_invalid_operation (), |
- __gmp_invalid_operation ()); |
- |
- negative = d < 0; |
- d = ABS (d); |
- |
- rn = __gmp_extract_double (tp, d); |
- |
- if (ALLOC(r) < rn) |
- _mpz_realloc (r, rn); |
- |
- if (rn <= 0) |
- rn = 0; |
- |
- rp = PTR (r); |
- |
- switch (rn) |
- { |
- default: |
- MPN_ZERO (rp, rn - LIMBS_PER_DOUBLE); |
- rp += rn - LIMBS_PER_DOUBLE; |
- /* fall through */ |
-#if LIMBS_PER_DOUBLE == 2 |
- case 2: |
- rp[1] = tp[1], rp[0] = tp[0]; |
- break; |
- case 1: |
- rp[0] = tp[1]; |
- break; |
-#endif |
-#if LIMBS_PER_DOUBLE == 3 |
- case 3: |
- rp[2] = tp[2], rp[1] = tp[1], rp[0] = tp[0]; |
- break; |
- case 2: |
- rp[1] = tp[2], rp[0] = tp[1]; |
- break; |
- case 1: |
- rp[0] = tp[2]; |
- break; |
-#endif |
-#if LIMBS_PER_DOUBLE == 4 |
- case 4: |
- rp[3] = tp[3], rp[2] = tp[2], rp[1] = tp[1], rp[0] = tp[0]; |
- break; |
- case 3: |
- rp[2] = tp[3], rp[1] = tp[2], rp[0] = tp[1]; |
- break; |
- case 2: |
- rp[1] = tp[3], rp[0] = tp[2]; |
- break; |
- case 1: |
- rp[0] = tp[3]; |
- break; |
-#endif |
- case 0: |
- break; |
- } |
- |
- SIZ(r) = negative ? -rn : rn; |
-} |