From a89a14ef5da44684a16b204e7a70460cc8c4922a Mon Sep 17 00:00:00 2001 From: Thomas Voss Date: Fri, 21 Jun 2024 23:36:36 +0200 Subject: Basic constant folding implementation --- vendor/gmp-6.3.0/tests/rand/gmpstat.h | 75 +++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 vendor/gmp-6.3.0/tests/rand/gmpstat.h (limited to 'vendor/gmp-6.3.0/tests/rand/gmpstat.h') diff --git a/vendor/gmp-6.3.0/tests/rand/gmpstat.h b/vendor/gmp-6.3.0/tests/rand/gmpstat.h new file mode 100644 index 0000000..99c5cca --- /dev/null +++ b/vendor/gmp-6.3.0/tests/rand/gmpstat.h @@ -0,0 +1,75 @@ +/* gmpstat.h */ + +/* +Copyright 1999 Free Software Foundation, Inc. + +This file is part of the GNU MP Library test suite. + +The GNU MP Library test suite is free software; you can redistribute it +and/or modify it under the terms of the GNU 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 test suite 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 General +Public License for more details. + +You should have received a copy of the GNU General Public License along with +the GNU MP Library test suite. If not, see https://www.gnu.org/licenses/. */ + +/* This file requires the following header files: gmp.h */ + +#ifndef __GMPSTAT_H__ +#define __GMPSTAT_H__ + +/* Global debug flag. FIXME: Remove. */ +extern int g_debug; +#define DEBUG_1 0 +#define DEBUG_2 1 + +/* Max number of dimensions in spectral test. FIXME: Makw dynamic. */ +#define GMP_SPECT_MAXT 10 + +void +mpf_freqt (mpf_t Kp, + mpf_t Km, + mpf_t X[], + const unsigned long int n); +unsigned long int +mpz_freqt (mpf_t V, + mpz_t X[], + unsigned int imax, + const unsigned long int n); + +/* Low level functions. */ +void +ks (mpf_t Kp, + mpf_t Km, + mpf_t X[], + void (P) (mpf_t, mpf_t), + const unsigned long int n); + +void +ks_table (mpf_t p, mpf_t val, const unsigned int n); + +void +x2_table (double t[], + unsigned int v); + +void +spectral_test (mpf_t rop[], unsigned int T, mpz_t a, mpz_t m); +void +vz_dot (mpz_t rop, mpz_t V1[], mpz_t V2[], unsigned int n); +void +f_floor (mpf_t rop, mpf_t op); + +void +merit (mpf_t rop, unsigned int t, mpf_t v, mpz_t m); +double +merit_u (unsigned int t, mpf_t v, mpz_t m); + +/* From separate source files: */ +void zdiv_round (mpz_t rop, mpz_t n, mpz_t d); + +#endif /* !__GMPSTAT_H__ */ -- cgit v1.2.3