| Index: gcc/gmp/tests/mpn/t-iord_u.c
|
| diff --git a/gcc/gmp/tests/mpn/t-iord_u.c b/gcc/gmp/tests/mpn/t-iord_u.c
|
| deleted file mode 100644
|
| index 3b472fd616beb12798dd73ffc9f0c4ef5efdde13..0000000000000000000000000000000000000000
|
| --- a/gcc/gmp/tests/mpn/t-iord_u.c
|
| +++ /dev/null
|
| @@ -1,221 +0,0 @@
|
| -/* Test MPN_INCR_U and MPN_DECR_U.
|
| -
|
| -Copyright 2001, 2002 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 <stdio.h>
|
| -#include <stdlib.h>
|
| -
|
| -#include "gmp.h"
|
| -#include "gmp-impl.h"
|
| -#include "tests.h"
|
| -
|
| -
|
| -/* The i386 MPN_INCR_U and MPN_DECR_U have special cases for "n" being a
|
| - compile-time constant 1, so that's exercised explicitly. */
|
| -
|
| -
|
| -#define M GMP_NUMB_MAX
|
| -#define SIZE ((mp_size_t) 10)
|
| -
|
| -
|
| -void
|
| -check_one (const char *name, int i,
|
| - mp_srcptr src, mp_limb_t n,
|
| - mp_srcptr got, mp_srcptr want, mp_size_t size)
|
| -{
|
| - if (! refmpn_equal_anynail (got, want, size))
|
| - {
|
| - printf ("Wrong at %s i=%d\n", name, i);
|
| - mpn_trace (" src", src, size);
|
| - mpn_trace (" n", &n, (mp_size_t) 1);
|
| - mpn_trace (" got", got, size);
|
| - mpn_trace (" want", want, size);
|
| - abort ();
|
| - }
|
| -}
|
| -
|
| -
|
| -void
|
| -check_incr_data (void)
|
| -{
|
| - static const struct {
|
| - mp_limb_t n;
|
| - const mp_limb_t src[SIZE];
|
| - const mp_limb_t want[SIZE];
|
| - } data[] = {
|
| - { 1, { 0 }, { 1 } },
|
| - { 1, { 123 }, { 124 } },
|
| - { 2, { 0 }, { 2 } },
|
| - { 2, { 123 }, { 125 } },
|
| - { M, { 0 }, { M } },
|
| -
|
| - { 1, { M, 0 }, { 0, 1 } },
|
| - { 1, { M, 123 }, { 0, 124 } },
|
| - { 2, { M, 0 }, { 1, 1 } },
|
| - { 2, { M, 123 }, { 1, 124 } },
|
| - { M, { M, 0 }, { M-1, 1 } },
|
| - { M, { M, 123 }, { M-1, 124 } },
|
| -
|
| - { 1, { M, M, 0 }, { 0, 0, 1 } },
|
| - { 1, { M, M, 123 }, { 0, 0, 124 } },
|
| - { 2, { M, M, 0 }, { 1, 0, 1 } },
|
| - { 2, { M, M, 123 }, { 1, 0, 124 } },
|
| - { M, { M, M, 0 }, { M-1, 0, 1 } },
|
| - { M, { M, M, 123 }, { M-1, 0, 124 } },
|
| -
|
| - { 1, { M, M, M, 0 }, { 0, 0, 0, 1 } },
|
| - { 1, { M, M, M, 123 }, { 0, 0, 0, 124 } },
|
| - { 2, { M, M, M, 0 }, { 1, 0, 0, 1 } },
|
| - { 2, { M, M, M, 123 }, { 1, 0, 0, 124 } },
|
| - { M, { M, M, M, 0 }, { M-1, 0, 0, 1 } },
|
| - { M, { M, M, M, 123 }, { M-1, 0, 0, 124 } },
|
| -
|
| - { 1, { M, M, M, M, 0 }, { 0, 0, 0, 0, 1 } },
|
| - { 1, { M, M, M, M, 123 }, { 0, 0, 0, 0, 124 } },
|
| - { 2, { M, M, M, M, 0 }, { 1, 0, 0, 0, 1 } },
|
| - { 2, { M, M, M, M, 123 }, { 1, 0, 0, 0, 124 } },
|
| - { M, { M, M, M, M, 0 }, { M-1, 0, 0, 0, 1 } },
|
| - { M, { M, M, M, M, 123 }, { M-1, 0, 0, 0, 124
|
| -#if defined (__hpux) && ! defined (__GNUC__)
|
| - /* Some versions (at least HP92453-01 B.11.11.23709.GP) of the
|
| - HP C compilers fail to zero-fill aggregates as the ISO C standard
|
| - requires (cf 6.5.7 Initialization). Compensate here: */
|
| - , 0, 0, 0, 0, 0
|
| -#endif
|
| - } }
|
| - };
|
| -
|
| - mp_limb_t got[SIZE];
|
| - int i;
|
| -
|
| - for (i = 0; i < numberof (data); i++)
|
| - {
|
| - refmpn_copyi (got, data[i].src, SIZE);
|
| - MPN_INCR_U (got, SIZE, data[i].n);
|
| - check_one ("check_incr (general)", i,
|
| - data[i].src, data[i].n,
|
| - got, data[i].want, SIZE);
|
| -
|
| - if (data[i].n == 1)
|
| - {
|
| - refmpn_copyi (got, data[i].src, SIZE);
|
| - MPN_INCR_U (got, SIZE, CNST_LIMB(1));
|
| - check_one ("check_incr (const 1)", i,
|
| - data[i].src, data[i].n,
|
| - got, data[i].want, SIZE);
|
| - }
|
| - }
|
| -}
|
| -
|
| -void
|
| -check_decr_data (void)
|
| -{
|
| - static const struct {
|
| - mp_limb_t n;
|
| - const mp_limb_t src[SIZE];
|
| - const mp_limb_t want[SIZE];
|
| - } data[] = {
|
| - { 1, { 1 }, { 0 } },
|
| - { 1, { 123 }, { 122 } },
|
| - { 1, { M }, { M-1 } },
|
| - { 2, { 2 }, { 0 } },
|
| - { 2, { 123 }, { 121 } },
|
| - { M, { M }, { 0 } },
|
| - { M-1, { M }, { 1 } },
|
| -
|
| - { 1, { 0, 1 }, { M, 0 } },
|
| - { 1, { 0, 123 }, { M, 122 } },
|
| - { 1, { 0, M }, { M, M-1 } },
|
| - { 2, { 0, 123 }, { M-1, 122 } },
|
| - { 2, { 1, 123 }, { M, 122 } },
|
| - { M, { 0, 123 }, { 1, 122 } },
|
| - { M, { M-1, M }, { M, M-1 } },
|
| -
|
| - { 1, { 0, 0, 1 }, { M, M, 0 } },
|
| - { 1, { 0, 0, 123 }, { M, M, 122 } },
|
| - { 1, { 0, 0, M }, { M, M, M-1 } },
|
| - { 2, { 0, 0, 123 }, { M-1, M, 122 } },
|
| - { 2, { 1, 0, 123 }, { M, M, 122 } },
|
| - { M, { 0, 0, 123 }, { 1, M, 122 } },
|
| - { M, { M-1, 0, M }, { M, M, M-1 } },
|
| -
|
| - { 1, { 0, 0, 0, 1 }, { M, M, M, 0 } },
|
| - { 1, { 0, 0, 0, 123 }, { M, M, M, 122 } },
|
| - { 1, { 0, 0, 0, M }, { M, M, M, M-1 } },
|
| - { 2, { 0, 0, 0, 123 }, { M-1, M, M, 122 } },
|
| - { 2, { 1, 0, 0, 123 }, { M, M, M, 122 } },
|
| - { M, { 0, 0, 0, 123 }, { 1, M, M, 122 } },
|
| - { M, { M-1, 0, 0, M }, { M, M, M, M-1 } },
|
| -
|
| - { 1, { 0, 0, 0, 0, 1 }, { M, M, M, M, 0 } },
|
| - { 1, { 0, 0, 0, 0, 123 }, { M, M, M, M, 122 } },
|
| - { 1, { 0, 0, 0, 0, M }, { M, M, M, M, M-1 } },
|
| - { 2, { 0, 0, 0, 0, 123 }, { M-1, M, M, M, 122 } },
|
| - { 2, { 1, 0, 0, 0, 123 }, { M, M, M, M, 122 } },
|
| - { M, { 0, 0, 0, 0, 123 }, { 1, M, M, M, 122 } },
|
| - { M, { M-1, 0, 0, 0, M }, { M, M, M, M, M-1 } },
|
| -
|
| - { 1, { 0, 0, 0, 0, 0, 1 }, { M, M, M, M, M, 0 } },
|
| - { 1, { 0, 0, 0, 0, 0, 123 }, { M, M, M, M, M, 122 } },
|
| - { 1, { 0, 0, 0, 0, 0, M }, { M, M, M, M, M, M-1 } },
|
| - { 2, { 0, 0, 0, 0, 0, 123 }, { M-1, M, M, M, M, 122 } },
|
| - { 2, { 1, 0, 0, 0, 0, 123 }, { M, M, M, M, M, 122 } },
|
| - { M, { 0, 0, 0, 0, 0, 123 }, { 1, M, M, M, M, 122 } },
|
| - { M, { M-1, 0, 0, 0, 0, M }, { M, M, M, M, M, M-1
|
| -#if defined (__hpux) && ! defined (__GNUC__)
|
| - /* For explanation of this garbage, see previous function. */
|
| - , 0, 0, 0, 0
|
| -#endif
|
| - } }
|
| - };
|
| -
|
| - mp_limb_t got[SIZE];
|
| - int i;
|
| -
|
| - for (i = 0; i < numberof (data); i++)
|
| - {
|
| - refmpn_copyi (got, data[i].src, SIZE);
|
| - MPN_DECR_U (got, SIZE, data[i].n);
|
| - check_one ("check_decr_data", i,
|
| - data[i].src, data[i].n,
|
| - got, data[i].want, SIZE);
|
| -
|
| - if (data[i].n == 1)
|
| - {
|
| - refmpn_copyi (got, data[i].src, SIZE);
|
| - MPN_DECR_U (got, SIZE, CNST_LIMB(1));
|
| - check_one ("check_decr (const 1)", i,
|
| - data[i].src, data[i].n,
|
| - got, data[i].want, SIZE);
|
| - }
|
| - }
|
| -}
|
| -
|
| -
|
| -int
|
| -main (void)
|
| -{
|
| - tests_start ();
|
| - mp_trace_base = -16;
|
| -
|
| - check_incr_data ();
|
| - check_decr_data ();
|
| -
|
| - tests_end ();
|
| - exit (0);
|
| -}
|
|
|