xref: /netbsd-src/external/lgpl3/mpfr/dist/src/mpfr-mini-gmp.h (revision ba125506a622fe649968631a56eba5d42ff57863)
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