1/* gmpstat.h */
2
3/*
4Copyright 1999 Free Software Foundation, Inc.
5
6This file is part of the GNU MP Library test suite.
7
8The GNU MP Library test suite is free software; you can redistribute it
9and/or modify it under the terms of the GNU General Public License as
10published by the Free Software Foundation; either version 3 of the License,
11or (at your option) any later version.
12
13The GNU MP Library test suite is distributed in the hope that it will be
14useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
16Public License for more details.
17
18You should have received a copy of the GNU General Public License along with
19the GNU MP Library test suite.  If not, see https://www.gnu.org/licenses/.  */
20
21/* This file requires the following header files: gmp.h */
22
23#ifndef	__GMPSTAT_H__
24#define	__GMPSTAT_H__
25
26/* Global debug flag.  FIXME: Remove. */
27extern int g_debug;
28#define DEBUG_1 0
29#define DEBUG_2 1
30
31/* Max number of dimensions in spectral test.  FIXME: Makw dynamic. */
32#define GMP_SPECT_MAXT 10
33
34void
35mpf_freqt (mpf_t Kp,
36	   mpf_t Km,
37	   mpf_t X[],
38	   const unsigned long int n);
39unsigned long int
40mpz_freqt (mpf_t V,
41	   mpz_t X[],
42	   unsigned int imax,
43	   const unsigned long int n);
44
45/* Low level functions. */
46void
47ks (mpf_t Kp,
48    mpf_t Km,
49    mpf_t X[],
50    void (P) (mpf_t, mpf_t),
51    const unsigned long int n);
52
53void
54ks_table (mpf_t p, mpf_t val, const unsigned int n);
55
56void
57x2_table (double t[],
58	  unsigned int v);
59
60void
61spectral_test (mpf_t rop[], unsigned int T, mpz_t a, mpz_t m);
62void
63vz_dot (mpz_t rop, mpz_t V1[], mpz_t V2[], unsigned int n);
64void
65f_floor (mpf_t rop, mpf_t op);
66
67void
68merit (mpf_t rop, unsigned int t, mpf_t v, mpz_t m);
69double
70merit_u (unsigned int t, mpf_t v, mpz_t m);
71
72/* From separate source files: */
73void zdiv_round (mpz_t rop, mpz_t n, mpz_t d);
74
75#endif /* !__GMPSTAT_H__ */
76