Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(23)

Unified Diff: gcc/mpfr/tests/tli2.c

Issue 3050029: [gcc] GCC 4.5.0=>4.5.1 (Closed) Base URL: ssh://git@gitrw.chromium.org:9222/nacl-toolchain.git
Patch Set: Created 10 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « gcc/mpfr/tests/tlgamma.c ('k') | gcc/mpfr/tests/tlngamma.c » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
« no previous file with comments | « gcc/mpfr/tests/tlgamma.c ('k') | gcc/mpfr/tests/tlngamma.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698