Index: gcc/mpfr/tests/tli2.c |
diff --git a/gcc/mpfr/tests/tli2.c b/gcc/mpfr/tests/tli2.c |
deleted file mode 100644 |
index 2a588798aa51519a42a6f8393f298685b49a8065..0000000000000000000000000000000000000000 |
--- a/gcc/mpfr/tests/tli2.c |
+++ /dev/null |
@@ -1,176 +0,0 @@ |
-/* mpfr_tli2 -- test file for dilogarithm function |
- |
-Copyright 2007, 2008, 2009 Free Software Foundation, Inc. |
-Contributed by the Arenaire and Cacao projects, INRIA. |
- |
-The GNU MPFR 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 2.1 of the License, or (at your |
-option) any later version. |
- |
-The GNU MPFR 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 MPFR Library; see the file COPYING.LIB. If not, write to |
-the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, |
-MA 02110-1301, USA. */ |
- |
-#include <stdio.h> |
-#include <stdlib.h> |
- |
-#include "mpfr-test.h" |
- |
-#if MPFR_VERSION >= MPFR_VERSION_NUM(2,4,0) |
- |
-#define TEST_FUNCTION mpfr_li2 |
-#include "tgeneric.c" |
- |
-static void |
-special (void) |
-{ |
- mpfr_t x, y; |
- mpfr_init (x); |
- mpfr_init (y); |
- |
- mpfr_set_nan (x); |
- mpfr_li2 (y, x, GMP_RNDN); |
- if (!mpfr_nan_p (y)) |
- { |
- printf ("Error for li2(NaN)\n"); |
- exit (1); |
- } |
- |
- mpfr_set_inf (x, -1); |
- mpfr_li2 (y, x, GMP_RNDN); |
- if (!MPFR_IS_INF (y) || MPFR_IS_POS (y)) |
- { |
- printf ("Error for li2(-Inf)\n"); |
- exit (1); |
- } |
- |
- mpfr_set_inf (x, 1); |
- mpfr_li2 (y, x, GMP_RNDN); |
- if (!MPFR_IS_INF (y) || MPFR_IS_POS (y)) |
- { |
- printf ("Error for li2(+Inf)\n"); |
- exit (1); |
- } |
- |
- mpfr_set_ui (x, 0, GMP_RNDN); |
- mpfr_li2 (y, x, GMP_RNDN); |
- if (!MPFR_IS_ZERO (y) || MPFR_IS_NEG (y)) |
- { |
- printf ("Error for li2(+0)\n"); |
- exit (1); |
- } |
- |
- mpfr_set_ui (x, 0, GMP_RNDN); |
- mpfr_neg (x, x, GMP_RNDN); |
- mpfr_li2 (y, x, GMP_RNDN); |
- if (!MPFR_IS_ZERO (y) || MPFR_IS_POS (y)) |
- { |
- printf ("Error for li2(-0)\n"); |
- exit (1); |
- } |
- |
- mpfr_clear (x); |
- mpfr_clear (y); |
-} |
- |
-static void |
-normal (void) |
-{ |
- int inexact; |
- mpfr_t x, y; |
- mpfr_init (x); |
- mpfr_init (y); |
- |
- /* x1 = 2^-3 */ |
- mpfr_set_str (x, "1p-3", 2, GMP_RNDD); |
- mpfr_li2 (x, x, GMP_RNDN); |
- if (mpfr_cmp_str (x, "0x1087a7a9e42141p-55", 16, GMP_RNDN) != 0) |
- { |
- printf ("Error for li2(x1)\n"); |
- exit (1); |
- } |
- |
- /* check MPFR_FAST_COMPUTE_IF_SMALL_INPUT */ |
- mpfr_set_prec (x, 2); |
- mpfr_set_prec (y, 20); |
- mpfr_set_ui_2exp (x, 1, -21, GMP_RNDN); |
- mpfr_li2 (y, x, GMP_RNDN); |
- MPFR_ASSERTN(mpfr_cmp (y, x) == 0); |
- |
- mpfr_set_si_2exp (x, -1, -21, GMP_RNDN); |
- mpfr_li2 (y, x, GMP_RNDN); |
- MPFR_ASSERTN(mpfr_cmp (y, x) == 0); |
- |
- /* worst case */ |
- /* x2 = 0x7F18EA6537E00E983196CDDC6EFAC57Fp-129 |
- Li2(x2) = 2^-2 + 2^-6 + 2^-120 */ |
- mpfr_set_prec (x, 128); |
- mpfr_set_str (x, "7F18EA6537E00E983196CDDC6EFAC57Fp-129", 16, GMP_RNDN); |
- |
- /* round to nearest mode and 4 bits of precision, |
- it should be rounded to 2^-2 + 2^-5 and */ |
- mpfr_set_prec (y, 4); |
- inexact = mpfr_li2 (y, x, GMP_RNDN); |
- if (inexact != 1 || mpfr_cmp_str (y, "0.1001p-1", 2, GMP_RNDN) != 0) |
- { |
- printf ("Error for li2(x2, RNDN)\n"); |
- exit (1); |
- } |
- |
- /* round towards zero mode and 5 bits of precision, |
- it should be rounded to 2^-2 + 2^-6 */ |
- mpfr_set_prec (y, 5); |
- inexact = mpfr_li2 (y, x, GMP_RNDZ); |
- if (inexact != -1 || mpfr_cmp_str (y, "0.10001p-1", 2, GMP_RNDN) != 0) |
- { |
- printf ("Error for li2(x2, RNDZ)\n"); |
- exit (1); |
- } |
- |
- /* round away from zero mode and 5 bits of precision, |
- it should be rounded to 2^-2 + 2^-5 */ |
- inexact = mpfr_li2 (y, x, GMP_RNDU); |
- if (inexact != 1 || mpfr_cmp_str (y, "0.10010p-1", 2, GMP_RNDN) != 0) |
- { |
- printf ("Error for li2(x2, RNDU)\n"); |
- exit (1); |
- } |
- |
- mpfr_clear (x); |
- mpfr_clear (y); |
-} |
- |
-int |
-main (int argc, char *argv[]) |
-{ |
- tests_start_mpfr (); |
- |
- special (); |
- |
- normal (); |
- |
- test_generic (2, 100, 2); |
- |
- data_check ("data/li2", mpfr_li2, "mpfr_li2"); |
- |
- tests_end_mpfr (); |
- return 0; |
-} |
- |
-#else |
- |
-int |
-main (void) |
-{ |
- printf ("Warning! Test disabled for this MPFR version.\n"); |
- return 0; |
-} |
- |
-#endif |