1 /* mpfr-mini-gmp.h -- Interface header for mini-gmp. 2 3 Copyright 2014-2023 Free Software Foundation, Inc. 4 Contributed by the AriC and Caramba projects, INRIA. 5 6 This file is part of the GNU MPFR Library. 7 8 The GNU MPFR Library is free software; you can redistribute it and/or modify 9 it under the terms of the GNU Lesser General Public License as published by 10 the Free Software Foundation; either version 3 of the License, or (at your 11 option) any later version. 12 13 The GNU MPFR Library is distributed in the hope that it will be useful, but 14 WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 15 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public 16 License for more details. 17 18 You should have received a copy of the GNU Lesser General Public License 19 along with the GNU MPFR Library; see the file COPYING.LESSER. If not, see 20 https://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc., 21 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. */ 22 23 #ifndef mp_limb_signed_t 24 typedef long mp_limb_signed_t; 25 #endif 26 27 #ifndef __gmp_allocate_func 28 #define __gmp_allocate_func gmp_default_alloc 29 #define __gmp_reallocate_func gmp_default_realloc 30 #define __gmp_free_func gmp_default_free 31 #endif 32 33 #ifndef gmp_randstate_t 34 typedef long int __gmp_randstate_struct; 35 typedef __gmp_randstate_struct gmp_randstate_t[1]; 36 #endif 37 38 #ifndef gmp_randinit_default 39 #define WANT_gmp_randinit_default 40 void gmp_randinit_default (gmp_randstate_t); 41 #endif 42 43 #ifndef gmp_randseed_ui 44 #define WANT_gmp_randseed_ui 45 void gmp_randseed_ui (gmp_randstate_t, unsigned long int); 46 #endif 47 48 #ifndef gmp_randclear 49 #define WANT_gmp_randclear 50 void gmp_randclear (gmp_randstate_t); 51 #endif 52 53 #ifndef gmp_randinit_set 54 #define WANT_gmp_randinit_set 55 void gmp_randinit_set (gmp_randstate_t, gmp_randstate_t); 56 #endif 57 58 #ifndef mpn_scan1 59 #define WANT_mpn_scan1 60 mp_bitcnt_t mpn_scan1 (const mp_limb_t *, mp_bitcnt_t); 61 #endif 62 63 #ifndef mpz_perfect_square_p 64 #define WANT_mpz_perfect_square_p 65 int mpz_perfect_square_p (const mpz_t); 66 #endif 67 68 #ifndef mpz_addmul_ui 69 #define WANT_mpz_addmul_ui 70 void mpz_addmul_ui (mpz_t, const mpz_t, unsigned long); 71 #endif 72 73 #ifndef mpn_divrem_1 74 #define WANT_mpn_divrem_1 75 mp_limb_t mpn_divrem_1 (mp_limb_t*, mp_size_t, mp_limb_t*, mp_size_t, 76 mp_limb_t); 77 #endif 78 79 #ifndef mpz_urandomb 80 #define WANT_mpz_urandomb 81 void mpz_urandomb (mpz_t, gmp_randstate_t, mp_bitcnt_t); 82 #endif 83 84 #ifndef mpn_zero 85 #define WANT_mpn_zero 86 void mpn_zero (mp_limb_t *, mp_size_t); 87 #endif 88 89 #ifndef mpn_popcount 90 #define WANT_mpn_popcount 91 mp_bitcnt_t mpn_popcount (const mp_limb_t *, mp_size_t); 92 #endif 93 94 #ifndef gmp_urandomm_ui 95 #define WANT_gmp_urandomm_ui 96 unsigned long gmp_urandomm_ui (gmp_randstate_t state, unsigned long n); 97 #endif 98 99 #ifndef gmp_urandomb_ui 100 #define WANT_gmp_urandomb_ui 101 unsigned long gmp_urandomb_ui (gmp_randstate_t state, unsigned long n); 102 #endif 103 104 #ifndef mpn_divrem 105 #define WANT_mpn_divrem 106 mp_limb_t mpn_divrem (mp_limb_t *, mp_size_t, mp_limb_t *, 107 mp_size_t, const mp_limb_t *, mp_size_t); 108 #endif 109 110 #ifndef mpz_submul 111 #define WANT_mpz_submul 112 void mpz_submul (mpz_t, const mpz_t, const mpz_t); 113 #endif 114 115 #ifndef mpz_addmul 116 #define WANT_mpz_addmul 117 void mpz_addmul (mpz_t, const mpz_t, const mpz_t); 118 #endif 119 120 #ifndef mpn_tdiv_qr 121 #define WANT_mpn_tdiv_qr 122 void mpn_tdiv_qr (mp_limb_t *, mp_limb_t *, mp_size_t, 123 const mp_limb_t *, mp_size_t, const mp_limb_t *, mp_size_t); 124 #endif 125 126 #ifndef mpz_rrandomb 127 #define mpz_rrandomb mpz_urandomb 128 #endif 129 130 #ifndef mpz_dump 131 void mpz_dump (mpz_t); 132 #endif 133