1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
/* tradius -- test file for arithmetic of complex ball radii.
Copyright (C) 2022 INRIA
This file is part of GNU MPC.
GNU MPC 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.
GNU MPC 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 this program. If not, see http://www.gnu.org/licenses/ .
*/
#include "mpc-tests.h"
static int
test_sqrt (void)
{
int64_t n, N, s;
n = ((int64_t) 1) << 30;
/* The following commented line checks all possible inputs n to
sqrt_int64 in about 4 minutes on a laptop. */
/* for (n = ((int64_t) 1) << 30; n < ((int64_t) 4) << 30; n++) */
for (n = ((int64_t) 1) << 30; n < ((int64_t) 65) << 24; n++)
{
N = n << 30;
s = sqrt_int64 (n);
if (s * s < N || (s-1) * (s-1) >= N) {
printf ("n %" PRIi64 ", N %" PRIi64 ", s %" PRIi64 "\n", n, N, s);
return 1;
}
}
return 0;
}
int
main (void)
{
return test_sqrt ();
}
|