1# distutils: libraries = gmp pari
2"""
3Declarations for non-inline functions from PARI.
4
5This file contains all declarations from headers/paridecl.h from
6the PARI distribution, except the inline functions which are in
7declinl.pxi (that file is automatically included by this file).
8
9
10AUTHORS:
11
12 - (unknown authors before 2010)
13
14 - Robert Bradshaw, Jeroen Demeyer, William Stein (2010-08-15):
15   Upgrade to PARI 2.4.3 (:trac:`9343`)
16
17 - Jeroen Demeyer (2010-08-15): big clean up (:trac:`9898`)
18
19 - Jeroen Demeyer (2014-02-09): upgrade to PARI 2.7 (:trac:`15767`)
20
21 - Jeroen Demeyer (2014-09-19): upgrade to PARI 2.8 (:trac:`16997`)
22"""
23
24#*****************************************************************************
25#  Distributed under the terms of the GNU General Public License (GPL)
26#  as published by the Free Software Foundation; either version 2 of
27#  the License, or (at your option) any later version.
28#                  http://www.gnu.org/licenses/
29#*****************************************************************************
30
31from __future__ import print_function
32
33from libc.stdio cimport FILE
34from cpython.getargs cimport va_list
35
36from .types cimport *
37
38
39cdef extern from *:     # PARI headers already included by types.pxd
40    char* PARIVERSION
41
42    # parierr.h
43    enum err_list:
44        e_SYNTAX, e_BUG
45        e_ALARM, e_FILE
46        e_MISC, e_FLAG, e_IMPL, e_ARCH, e_PACKAGE, e_NOTFUNC
47        e_PREC, e_TYPE, e_DIM, e_VAR, e_PRIORITY, e_USER
48        e_STACK, e_OVERFLOW, e_DOMAIN, e_COMPONENT
49        e_MAXPRIME
50        e_CONSTPOL, e_IRREDPOL, e_COPRIME, e_PRIME, e_MODULUS, e_ROOTS0
51        e_OP, e_TYPE2, e_INV
52        e_MEM
53        e_SQRTN
54        e_NONE
55
56    int warner, warnprec, warnfile, warnmem, warnuser
57
58    # paricast.h
59
60    long    mael2(GEN, long, long)
61    long    mael3(GEN, long, long, long)
62    long    mael4(GEN, long, long, long, long)
63    long    mael5(GEN, long, long, long, long, long)
64    long    mael(GEN, long, long)
65    GEN     gmael1(GEN, long)
66    GEN     gmael2(GEN, long, long)
67    GEN     gmael3(GEN, long, long, long)
68    GEN     gmael4(GEN, long, long, long, long)
69    GEN     gmael5(GEN, long, long, long, long, long)
70    GEN     gmael(GEN, long, long)
71    GEN     gel(GEN, long)
72    GEN     gcoeff(GEN, long, long)
73    long    coeff(GEN, long, long)
74    char*   GSTR(GEN)
75
76    # paricom.h
77
78    GEN     gen_1
79    GEN     gen_m1
80    GEN     gen_2
81    GEN     gen_m2
82    GEN     ghalf
83    GEN     gen_0
84    GEN     gnil
85    GEN     err_e_STACK
86    int     PARI_SIGINT_block, PARI_SIGINT_pending
87    void    NEXT_PRIME_VIADIFF(long, byteptr)
88    void    PREC_PRIME_VIADIFF(long, byteptr)
89    int     INIT_JMPm, INIT_SIGm, INIT_DFTm, INIT_noPRIMEm, INIT_noIMTm
90    int     new_galois_format, factor_add_primes, factor_proven
91    int     precdl
92    # The "except 0" here is to ensure compatibility with
93    # _pari_err_handle() in handle_error.pyx
94    int     (*cb_pari_err_handle)(GEN) except 0
95    int     (*cb_pari_handle_exception)(long) except 0
96    void    (*cb_pari_err_recover)(long)
97
98    # kernel/gmp/int.h
99
100    GEN     int_MSW(GEN z)
101    GEN     int_LSW(GEN z)
102    GEN     int_W(GEN z, long i)
103    GEN     int_W_lg(GEN z, long i, long lz)
104    GEN     int_precW(GEN z)
105    GEN     int_nextW(GEN z)
106
107    # paristio.h
108
109    extern pari_sp avma
110    struct _pari_mainstack "pari_mainstack":
111        pari_sp top, bot, vbot
112        size_t size, rsize, vsize, memused
113    extern _pari_mainstack* pari_mainstack
114    struct PariOUT:
115        void (*putch)(char)
116        void (*puts)(char*)
117        void (*flush)()
118    extern PariOUT* pariOut
119    extern PariOUT* pariErr
120    extern byteptr diffptr
121
122    ###############################################
123    #                                             #
124    # All declarations below come from paridecl.h #
125    #                                             #
126    ###############################################
127
128    # OBSOLETE
129    GEN     buchimag(GEN D, GEN c1, GEN c2, GEN gCO)
130    GEN     buchreal(GEN D, GEN gsens, GEN c1, GEN c2, GEN gRELSUP, long prec)
131    GEN     zidealstar(GEN nf, GEN x)
132    GEN     zidealstarinit(GEN nf, GEN x)
133    GEN     zidealstarinitgen(GEN nf, GEN x)
134    GEN     factmod(GEN f, GEN p)
135    void    mpbern(long n, long prec)
136    GEN     simplefactmod(GEN f, GEN p)
137    void    listkill(GEN l)
138    GEN     isprincipalforce(GEN bnf,GEN x)
139    GEN     isprincipalgen(GEN bnf, GEN x)
140    GEN     isprincipalgenforce(GEN bnf,GEN x)
141
142    # F2v.c
143
144    GEN     F2Ms_ker(GEN M, long nrows)
145    GEN     F2Ms_to_F2m(GEN M, long nrows)
146    GEN     F2c_to_ZC(GEN x)
147    GEN     F2c_to_mod(GEN x)
148    GEN     F2m_F2c_gauss(GEN a, GEN b)
149    GEN     F2m_F2c_invimage(GEN A, GEN y)
150    GEN     F2m_F2c_mul(GEN x, GEN y)
151    GEN     F2m_deplin(GEN x)
152    ulong   F2m_det(GEN x)
153    ulong   F2m_det_sp(GEN x)
154    GEN     F2m_gauss(GEN a, GEN b)
155    GEN     F2m_inv(GEN x)
156    GEN     F2m_invimage(GEN A, GEN B)
157    GEN     F2m_ker(GEN x)
158    GEN     F2m_ker_sp(GEN x, long deplin)
159    GEN     F2m_mul(GEN x, GEN y)
160    GEN     F2m_powu(GEN x, ulong n)
161    long    F2m_rank(GEN x)
162    GEN     F2m_row(GEN x, long j)
163    GEN     F2m_rowslice(GEN x, long a, long b)
164    GEN     F2m_to_F2Ms(GEN M)
165    GEN     F2m_to_Flm(GEN z)
166    GEN     F2m_to_ZM(GEN z)
167    GEN     F2m_to_mod(GEN z)
168    GEN     F2m_transpose(GEN x)
169    void    F2v_add_inplace(GEN x, GEN y)
170    void    F2v_and_inplace(GEN x, GEN y)
171    ulong   F2v_dotproduct(GEN x, GEN y)
172    int     F2v_equal0(GEN a)
173    ulong   F2v_hamming(GEN H)
174    void    F2v_negimply_inplace(GEN x, GEN y)
175    void    F2v_or_inplace(GEN x, GEN y)
176    GEN     F2v_slice(GEN x, long a, long b)
177    GEN     F2v_to_Flv(GEN x)
178    GEN     matid_F2m(long n)
179
180    # F2x.c
181
182    GEN     F2x_F2xq_eval(GEN Q, GEN x, GEN T)
183    GEN     F2x_F2xqV_eval(GEN P, GEN V, GEN T)
184    GEN     F2x_Frobenius(GEN T)
185    GEN     F2x_1_add(GEN y)
186    GEN     F2x_add(GEN x, GEN y)
187    GEN     F2x_deflate(GEN x0, long d)
188    GEN     F2x_degfact(GEN f)
189    long    F2x_degree(GEN x)
190    GEN     F2x_deriv(GEN x)
191    GEN     F2x_divrem(GEN x, GEN y, GEN *pr)
192    ulong   F2x_eval(GEN P, ulong x)
193    void    F2x_even_odd(GEN p, GEN *pe, GEN *po)
194    GEN     F2x_extgcd(GEN a, GEN b, GEN *ptu, GEN *ptv)
195    GEN     F2x_gcd(GEN a, GEN b)
196    GEN     F2x_get_red(GEN T)
197    GEN     F2x_halfgcd(GEN a, GEN b)
198    int     F2x_issquare(GEN a)
199    GEN     F2x_matFrobenius(GEN T)
200    GEN     F2x_mul(GEN x, GEN y)
201    GEN     F2x_recip(GEN T)
202    GEN     F2x_rem(GEN x, GEN y)
203    GEN     F2x_shift(GEN y, long d)
204    GEN     F2x_sqr(GEN x)
205    GEN     F2x_sqrt(GEN x)
206    GEN     F2x_to_F2v(GEN x, long n)
207    GEN     F2x_to_F2xX(GEN z, long sv)
208    GEN     F2x_to_Flx(GEN x)
209    GEN     F2x_to_ZX(GEN x)
210    long    F2x_valrem(GEN x, GEN *Z)
211    GEN     F2xC_to_FlxC(GEN v)
212    GEN     F2xC_to_ZXC(GEN x)
213    GEN     F2xV_to_F2m(GEN v, long n)
214    void    F2xV_to_FlxV_inplace(GEN v)
215    void    F2xV_to_ZXV_inplace(GEN v)
216    GEN     F2xX_F2x_add(GEN x, GEN y)
217    GEN     F2xX_F2x_mul(GEN P, GEN U)
218    GEN     F2xX_add(GEN x, GEN y)
219    GEN     F2xX_deriv(GEN z)
220    GEN     F2xX_renormalize(GEN x, long lx)
221    GEN     F2xX_to_Kronecker(GEN P, long d)
222    GEN     F2xX_to_FlxX(GEN B)
223    GEN     F2xX_to_ZXX(GEN B)
224    GEN     F2xX_to_F2xC(GEN x, long N, long sv)
225    GEN     F2xXV_to_F2xM(GEN v, long n, long sv)
226    GEN     F2xXC_to_ZXXC(GEN B)
227    GEN     F2xY_F2xq_evalx(GEN P, GEN x, GEN T)
228    GEN     F2xY_F2xqV_evalx(GEN P, GEN x, GEN T)
229    long    F2xY_degreex(GEN b)
230    GEN     F2xn_inv(GEN f, long e)
231    GEN     F2xn_red(GEN a, long n)
232    GEN     F2xq_Artin_Schreier(GEN a, GEN T)
233    GEN     F2xq_autpow(GEN x, long n, GEN T)
234    GEN     F2xq_conjvec(GEN x, GEN T)
235    GEN     F2xq_div(GEN x,GEN y,GEN T)
236    GEN     F2xq_inv(GEN x, GEN T)
237    GEN     F2xq_invsafe(GEN x, GEN T)
238    GEN     F2xq_log(GEN a, GEN g, GEN ord, GEN T)
239    GEN     F2xq_matrix_pow(GEN y, long n, long m, GEN P)
240    GEN     F2xq_mul(GEN x, GEN y, GEN pol)
241    GEN     F2xq_order(GEN a, GEN ord, GEN T)
242    GEN     F2xq_pow(GEN x, GEN n, GEN pol)
243    GEN     F2xq_pow_init(GEN x, GEN n, long k,  GEN T)
244    GEN     F2xq_pow_table(GEN R, GEN n, GEN T)
245    GEN     F2xq_powu(GEN x, ulong n, GEN pol)
246    GEN     F2xq_powers(GEN x, long l, GEN T)
247    GEN     F2xq_sqr(GEN x, GEN pol)
248    GEN     F2xq_sqrt(GEN a, GEN T)
249    GEN     F2xq_sqrt_fast(GEN c, GEN sqx, GEN T)
250    GEN     F2xq_sqrtn(GEN a, GEN n, GEN T, GEN *zeta)
251    ulong   F2xq_trace(GEN x, GEN T)
252    GEN     F2xqX_F2xq_mul(GEN P, GEN U, GEN T)
253    GEN     F2xqX_F2xq_mul_to_monic(GEN P, GEN U, GEN T)
254    GEN     F2xqX_F2xqXQ_eval(GEN Q, GEN x, GEN S, GEN T)
255    GEN     F2xqX_F2xqXQV_eval(GEN P, GEN V, GEN S, GEN T)
256    GEN     F2xqX_disc(GEN x, GEN T)
257    GEN     F2xqX_divrem(GEN x, GEN y, GEN T, GEN *pr)
258    GEN     F2xqX_extgcd(GEN x, GEN y, GEN T,  GEN *ptu, GEN *ptv)
259    GEN     F2xqX_gcd(GEN a, GEN b, GEN T)
260    GEN     F2xqX_get_red(GEN S, GEN T)
261    GEN     F2xqX_halfgcd(GEN x, GEN y, GEN T)
262    GEN     F2xqX_invBarrett(GEN T, GEN Q)
263    long    F2xqX_ispower(GEN f, long k, GEN T, GEN *pt_r)
264    GEN     F2xqX_mul(GEN x, GEN y, GEN T)
265    GEN     F2xqX_normalize(GEN z, GEN T)
266    GEN     F2xqX_powu(GEN x, ulong n, GEN T)
267    GEN     F2xqX_red(GEN z, GEN T)
268    GEN     F2xqX_rem(GEN x, GEN S, GEN T)
269    GEN     F2xqX_resultant(GEN x, GEN y, GEN T)
270    GEN     F2xqX_sqr(GEN x, GEN T)
271    GEN     F2xqXQ_inv(GEN x, GEN S, GEN T)
272    GEN     F2xqXQ_invsafe(GEN x, GEN S, GEN T)
273    GEN     F2xqXQ_mul(GEN x, GEN y, GEN S, GEN T)
274    GEN     F2xqXQ_sqr(GEN x, GEN S, GEN T)
275    GEN     F2xqXQ_pow(GEN x, GEN n, GEN S, GEN T)
276    GEN     F2xqXQ_powers(GEN x, long l, GEN S, GEN T)
277    GEN     F2xqXQ_autpow(GEN aut, long n, GEN S, GEN T)
278    GEN     F2xqXQ_auttrace(GEN aut, long n, GEN S, GEN T)
279    GEN     F2xqXQV_red(GEN z, GEN S, GEN T)
280    GEN     Flm_to_F2m(GEN x)
281    GEN     Flv_to_F2v(GEN x)
282    GEN     Flx_to_F2x(GEN x)
283    GEN     FlxC_to_F2xC(GEN x)
284    GEN     FlxX_to_F2xX(GEN B)
285    GEN     FlxXC_to_F2xXC(GEN B)
286    GEN     Kronecker_to_F2xqX(GEN z, GEN T)
287    GEN     Rg_to_F2xq(GEN x, GEN T)
288    GEN     RgM_to_F2m(GEN x)
289    GEN     RgV_to_F2v(GEN x)
290    GEN     RgX_to_F2x(GEN x)
291    GEN     Z_to_F2x(GEN x, long v)
292    GEN     ZM_to_F2m(GEN x)
293    GEN     ZV_to_F2v(GEN x)
294    GEN     ZX_to_F2x(GEN x)
295    GEN     ZXX_to_F2xX(GEN B, long v)
296    GEN     const_F2v(long m)
297    GEN     gener_F2xq(GEN T, GEN *po)
298    GEN     monomial_F2x(long d, long vs)
299    GEN     pol1_F2xX(long v, long sv)
300    GEN     polx_F2xX(long v, long sv)
301    GEN     random_F2xqX(long d1, long v, GEN T)
302
303    # F2xqE.c
304
305    GEN     F2xq_ellcard(GEN a2, GEN a6, GEN T)
306    GEN     F2xq_ellgens(GEN a2, GEN a6, GEN ch, GEN D, GEN m, GEN T)
307    GEN     F2xq_ellgroup(GEN a2, GEN a6, GEN N, GEN T, GEN *pt_m)
308    void    F2xq_elltwist(GEN a, GEN a6, GEN T, GEN *pt_a, GEN *pt_a6)
309    GEN     F2xqE_add(GEN P, GEN Q, GEN a2, GEN T)
310    GEN     F2xqE_changepoint(GEN x, GEN ch, GEN T)
311    GEN     F2xqE_changepointinv(GEN x, GEN ch, GEN T)
312    GEN     F2xqE_dbl(GEN P, GEN a2, GEN T)
313    GEN     F2xqE_log(GEN a, GEN b, GEN o, GEN a2, GEN T)
314    GEN     F2xqE_mul(GEN P, GEN n, GEN a2, GEN T)
315    GEN     F2xqE_neg(GEN P, GEN a2, GEN T)
316    GEN     F2xqE_order(GEN z, GEN o, GEN a2, GEN T)
317    GEN     F2xqE_sub(GEN P, GEN Q, GEN a2, GEN T)
318    GEN     F2xqE_tatepairing(GEN t, GEN s, GEN m, GEN a2, GEN T)
319    GEN     F2xqE_weilpairing(GEN t, GEN s, GEN m, GEN a2, GEN T)
320    const bb_group * get_F2xqE_group(void **E, GEN a2, GEN a6, GEN T)
321    GEN     RgE_to_F2xqE(GEN x, GEN T)
322    GEN     random_F2xqE(GEN a2, GEN a6, GEN T)
323
324    # Fle.c
325
326    ulong   Fl_elldisc(ulong a4, ulong a6, ulong p)
327    ulong   Fl_elldisc_pre(ulong a4, ulong a6, ulong p, ulong pi)
328    ulong   Fl_ellj(ulong a4, ulong a6, ulong p)
329    void    Fl_ellj_to_a4a6(ulong j, ulong p, ulong *pt_a4, ulong *pt_a6)
330    void    Fl_elltwist(ulong a4, ulong a6, ulong p, ulong *pt_a4, ulong *pt_a6)
331    void    Fl_elltwist_disc(ulong a4, ulong a6, ulong D, ulong p, ulong *pt_a4, ulong *pt_a6)
332    GEN     Fle_add(GEN P, GEN Q, ulong a4, ulong p)
333    GEN     Fle_dbl(GEN P, ulong a4, ulong p)
334    GEN     Fle_changepoint(GEN x, GEN ch, ulong p)
335    GEN     Fle_changepointinv(GEN x, GEN ch, ulong p)
336    GEN     Fle_log(GEN a, GEN b, GEN o, ulong a4, ulong p)
337    GEN     Fle_mul(GEN P, GEN n, ulong a4, ulong p)
338    GEN     Fle_mulu(GEN P, ulong n, ulong a4, ulong p)
339    GEN     Fle_order(GEN z, GEN o, ulong a4, ulong p)
340    GEN     Fle_sub(GEN P, GEN Q, ulong a4, ulong p)
341    GEN     Fle_to_Flj(GEN P)
342    GEN     Flj_add_pre(GEN P, GEN Q, ulong a4, ulong p, ulong pi)
343    GEN     Flj_dbl_pre(GEN P, ulong a4, ulong p, ulong pi)
344    GEN     Flj_mulu_pre(GEN P, ulong n, ulong a4, ulong p, ulong pi)
345    GEN     Flj_neg(GEN Q, ulong p)
346    GEN     Flj_to_Fle_pre(GEN P, ulong p, ulong pi)
347    GEN     random_Fle(ulong a4, ulong a6, ulong p)
348    GEN     random_Fle_pre(ulong a4, ulong a6, ulong p, ulong pi)
349    GEN     random_Flj_pre(ulong a4, ulong a6, ulong p, ulong pi)
350
351    # Flv.c
352
353    GEN     Flc_to_ZC(GEN z)
354    GEN     Flc_to_ZC_inplace(GEN z)
355    GEN     Flm_Flc_gauss(GEN a, GEN b, ulong p)
356    GEN     Flm_Flc_invimage(GEN mat, GEN y, ulong p)
357    GEN     Flm_adjoint(GEN A, ulong p)
358    GEN     Flm_deplin(GEN x, ulong p)
359    ulong   Flm_det(GEN x, ulong p)
360    ulong   Flm_det_sp(GEN x, ulong p)
361    GEN     Flm_gauss(GEN a, GEN b, ulong p)
362    GEN     Flm_intersect(GEN x, GEN y, ulong p)
363    GEN     Flm_inv(GEN x, ulong p)
364    GEN     Flm_invimage(GEN m, GEN v, ulong p)
365    GEN     Flm_ker(GEN x, ulong p)
366    GEN     Flm_ker_sp(GEN x, ulong p, long deplin)
367    long    Flm_rank(GEN x, ulong p)
368    GEN     Flm_to_ZM(GEN z)
369    GEN     Flm_to_ZM_inplace(GEN z)
370    GEN     Flv_to_ZV(GEN z)
371
372    # Flx.c
373
374    GEN     Fl_to_Flx(ulong x, long sv)
375    int     Fl2_equal1(GEN x)
376    GEN     Fl2_inv_pre(GEN x, ulong D, ulong p, ulong pi)
377    GEN     Fl2_mul_pre(GEN x, GEN y, ulong D, ulong p, ulong pi)
378    ulong   Fl2_norm_pre(GEN x, ulong D, ulong p, ulong pi)
379    GEN     Fl2_pow_pre(GEN x, GEN n, ulong D, ulong p, ulong pi)
380    GEN     Fl2_sqr_pre(GEN x, ulong D, ulong p, ulong pi)
381    GEN     Fl2_sqrtn_pre(GEN a, GEN n, ulong D, ulong p, ulong pi, GEN *zeta)
382    GEN     Flm_to_FlxV(GEN x, long sv)
383    GEN     Flm_to_FlxX(GEN x, long v,long w)
384    GEN     Flv_Flm_polint(GEN xa, GEN ya, ulong p, long vs)
385    GEN     Flv_inv(GEN x, ulong p)
386    void    Flv_inv_inplace(GEN x, ulong p)
387    void    Flv_inv_pre_inplace(GEN x, ulong p, ulong pi)
388    GEN     Flv_inv_pre(GEN x, ulong p, ulong pi)
389    GEN     Flv_invVandermonde(GEN L, ulong den, ulong p)
390    GEN     Flv_polint(GEN xa, GEN ya, ulong p, long vs)
391    ulong   Flv_prod(GEN v, ulong p)
392    ulong   Flv_prod_pre(GEN x, ulong p, ulong pi)
393    GEN     Flv_roots_to_pol(GEN a, ulong p, long vs)
394    GEN     Flv_to_Flx(GEN x, long vs)
395    GEN     Flx_Fl_add(GEN y, ulong x, ulong p)
396    GEN     Flx_Fl_mul(GEN y, ulong x, ulong p)
397    GEN     Flx_Fl_mul_to_monic(GEN y, ulong x, ulong p)
398    GEN     Flx_Fl_sub(GEN y, ulong x, ulong p)
399    GEN     Flx_Fl2_eval_pre(GEN x, GEN y, ulong D, ulong p, ulong pi)
400    GEN     Flx_Flv_multieval(GEN P, GEN v, ulong p)
401    GEN     Flx_Flxq_eval(GEN f, GEN x, GEN T, ulong p)
402    GEN     Flx_FlxqV_eval(GEN f, GEN x, GEN T, ulong p)
403    GEN     Flx_Frobenius(GEN T, ulong p)
404    GEN     Flx_Laplace(GEN x, ulong p)
405    GEN     Flx_Newton(GEN P, long n, ulong p)
406    GEN     Flx_add(GEN x, GEN y, ulong p)
407    GEN     Flx_blocks(GEN P, long n, long m)
408    GEN     Flx_deflate(GEN x0, long d)
409    GEN     Flx_deriv(GEN z, ulong p)
410    GEN     Flx_diff1(GEN P, ulong p)
411    GEN     Flx_digits(GEN x, GEN T, ulong p)
412    GEN     Flx_div_by_X_x(GEN a, ulong x, ulong p, ulong *rem)
413    GEN     Flx_divrem(GEN x, GEN y, ulong p, GEN *pr)
414    GEN     Flx_double(GEN y, ulong p)
415    int     Flx_equal(GEN V, GEN W)
416    ulong   Flx_eval(GEN x, ulong y, ulong p)
417    ulong   Flx_eval_powers_pre(GEN x, GEN y, ulong p, ulong pi)
418    ulong   Flx_eval_pre(GEN x, ulong y, ulong p, ulong pi)
419    GEN     Flx_extgcd(GEN a, GEN b, ulong p, GEN *ptu, GEN *ptv)
420    ulong   Flx_extresultant(GEN a, GEN b, ulong p, GEN *ptU, GEN *ptV)
421    GEN     Flx_fromNewton(GEN P, ulong p)
422    GEN     Flx_gcd(GEN a, GEN b, ulong p)
423    GEN     Flx_get_red(GEN T, ulong p)
424    GEN     Flx_halfgcd(GEN a, GEN b, ulong p)
425    GEN     Flx_halve(GEN y, ulong p)
426    GEN     Flx_inflate(GEN x0, long d)
427    GEN     Flx_integ(GEN z, ulong p)
428    GEN     Flx_invBarrett(GEN T, ulong p)
429    GEN     Flx_invLaplace(GEN x, ulong p)
430    int     Flx_is_squarefree(GEN z, ulong p)
431    int     Flx_is_smooth(GEN g, long r, ulong p)
432    GEN     Flx_matFrobenius(GEN T, ulong p)
433    GEN     Flx_mod_Xn1(GEN T, ulong n, ulong p)
434    GEN     Flx_mod_Xnm1(GEN T, ulong n, ulong p)
435    GEN     Flx_mul(GEN x, GEN y, ulong p)
436    GEN     Flx_neg(GEN x, ulong p)
437    GEN     Flx_neg_inplace(GEN x, ulong p)
438    GEN     Flx_normalize(GEN z, ulong p)
439    GEN     Flx_powu(GEN x, ulong n, ulong p)
440    GEN     Flx_recip(GEN x)
441    GEN     Flx_red(GEN z, ulong p)
442    GEN     Flx_rem(GEN x, GEN y, ulong p)
443    GEN     Flx_renormalize(GEN x, long l)
444    GEN     Flx_rescale(GEN P, ulong h, ulong p)
445    ulong   Flx_resultant(GEN a, GEN b, ulong p)
446    GEN     Flx_shift(GEN a, long n)
447    GEN     Flx_splitting(GEN p, long k)
448    GEN     Flx_sqr(GEN x, ulong p)
449    GEN     Flx_sub(GEN x, GEN y, ulong p)
450    GEN     Flx_translate1(GEN P, ulong p)
451    GEN     Flx_translate1_basecase(GEN P, ulong p)
452    GEN     Flx_to_Flv(GEN x, long N)
453    GEN     Flx_to_FlxX(GEN z, long v)
454    GEN     Flx_to_ZX(GEN z)
455    GEN     Flx_to_ZX_inplace(GEN z)
456    GEN     Flx_triple(GEN y, ulong p)
457    long    Flx_val(GEN x)
458    long    Flx_valrem(GEN x, GEN *Z)
459    GEN     FlxC_FlxqV_eval(GEN x, GEN v, GEN T, ulong p)
460    GEN     FlxC_Flxq_eval(GEN x, GEN F, GEN T, ulong p)
461    GEN     FlxC_eval_powers_pre(GEN z, GEN x, ulong p, ulong pi)
462    GEN     FlxC_neg(GEN x, ulong p)
463    GEN     FlxC_sub(GEN x, GEN y, ulong p)
464    GEN     FlxC_to_ZXC(GEN x)
465    GEN     FlxM_Flx_add_shallow(GEN x, GEN y, ulong p)
466    GEN     FlxM_eval_powers_pre(GEN z, GEN x, ulong p, ulong pi)
467    GEN     FlxM_neg(GEN x, ulong p)
468    GEN     FlxM_sub(GEN x, GEN y, ulong p)
469    GEN     FlxM_to_ZXM(GEN z)
470    GEN     FlxT_red(GEN z, ulong p)
471    GEN     FlxV_Flc_mul(GEN V, GEN W, ulong p)
472    GEN     FlxV_Flv_multieval(GEN P, GEN v, ulong p)
473    GEN     FlxV_Flx_fromdigits(GEN x, GEN T, ulong p)
474    GEN     FlxV_prod(GEN V, ulong p)
475    GEN     FlxV_red(GEN z, ulong p)
476    GEN     FlxV_to_Flm(GEN v, long n)
477    GEN     FlxV_to_FlxX(GEN x, long v)
478    GEN     FlxV_to_ZXV(GEN x)
479    void    FlxV_to_ZXV_inplace(GEN v)
480    GEN     Flxn_exp(GEN h, long e, ulong p)
481    GEN     Flxn_expint(GEN h, long e, ulong p)
482    GEN     Flxn_inv(GEN f, long e, ulong p)
483    GEN     Flxn_mul(GEN a, GEN b, long n, ulong p)
484    GEN     Flxn_sqr(GEN a, long n, ulong p)
485    GEN     Flxn_red(GEN a, long n)
486    GEN     Flxq_autpow(GEN x, ulong n, GEN T, ulong p)
487    GEN     Flxq_autpowers(GEN x, ulong n, GEN T, ulong p)
488    GEN     Flxq_autsum(GEN x, ulong n, GEN T, ulong p)
489    GEN     Flxq_auttrace(GEN x, ulong n, GEN T, ulong p)
490    GEN     Flxq_charpoly(GEN x, GEN T, ulong p)
491    GEN     Flxq_conjvec(GEN x, GEN T, ulong p)
492    GEN     Flxq_div(GEN x, GEN y, GEN T, ulong p)
493    GEN     Flxq_inv(GEN x,GEN T,ulong p)
494    GEN     Flxq_invsafe(GEN x, GEN T, ulong p)
495    int     Flxq_issquare(GEN x, GEN T, ulong p)
496    int     Flxq_is2npower(GEN x, long n, GEN T, ulong p)
497    GEN     Flxq_log(GEN a, GEN g, GEN ord, GEN T, ulong p)
498    GEN     Flxq_lroot(GEN a, GEN T, long p)
499    GEN     Flxq_lroot_fast(GEN a, GEN sqx, GEN T, long p)
500    GEN     Flxq_matrix_pow(GEN y, long n, long m, GEN P, ulong l)
501    GEN     Flxq_minpoly(GEN x, GEN T, ulong p)
502    GEN     Flxq_mul(GEN x, GEN y, GEN T, ulong p)
503    ulong   Flxq_norm(GEN x, GEN T, ulong p)
504    GEN     Flxq_order(GEN a, GEN ord, GEN T, ulong p)
505    GEN     Flxq_pow(GEN x, GEN n, GEN T, ulong p)
506    GEN     Flxq_pow_init(GEN x, GEN n, long k,  GEN T, ulong p)
507    GEN     Flxq_pow_table(GEN R, GEN n, GEN T, ulong p)
508    GEN     Flxq_powu(GEN x, ulong n, GEN T, ulong p)
509    GEN     Flxq_powers(GEN x, long l, GEN T, ulong p)
510    GEN     Flxq_sqr(GEN y,GEN T,ulong p)
511    GEN     Flxq_sqrt(GEN a, GEN T, ulong p)
512    GEN     Flxq_sqrtn(GEN a, GEN n, GEN T, ulong p, GEN *zetan)
513    ulong   Flxq_trace(GEN x, GEN T, ulong p)
514    GEN     FlxqC_Flxq_mul(GEN x, GEN y, GEN T, ulong p)
515    GEN     FlxqM_Flxq_mul(GEN x, GEN y, GEN T, ulong p)
516    GEN     FlxqV_dotproduct(GEN x, GEN y, GEN T, ulong p)
517    ulong   Rg_to_F2(GEN x)
518    ulong   Rg_to_Fl(GEN x, ulong p)
519    GEN     Rg_to_Flxq(GEN x, GEN T, ulong p)
520    GEN     RgX_to_Flx(GEN x, ulong p)
521    GEN     RgXV_to_FlxV(GEN x, ulong p)
522    GEN     Z_to_Flx(GEN x, ulong p, long sv)
523    GEN     ZX_to_Flx(GEN x, ulong p)
524    GEN     ZXV_to_FlxV(GEN v, ulong p)
525    GEN     ZXT_to_FlxT(GEN z, ulong p)
526    GEN     gener_Flxq(GEN T, ulong p, GEN *o)
527    GEN     monomial_Flx(ulong a, long d, long vs)
528    GEN     random_Flx(long d1, long v, ulong p)
529    GEN     zero_FlxC(long n, long sv)
530    GEN     zero_FlxM(long r, long c, long sv)
531    GEN     zlx_translate1(GEN P, ulong p, long e)
532    GEN     zx_to_Flx(GEN x, ulong p)
533
534    # FlxX.c
535
536    GEN     FlxX_Fl_mul(GEN x, ulong y, ulong p)
537    GEN     FlxX_Flx_add(GEN y, GEN x, ulong p)
538    GEN     FlxX_Flx_mul(GEN x, GEN y, ulong p)
539    GEN     FlxX_Flx_sub(GEN y, GEN x, ulong p)
540    GEN     FlxX_Laplace(GEN x, ulong p)
541    GEN     FlxX_add(GEN P, GEN Q, ulong p)
542    GEN     FlxX_blocks(GEN P, long n, long m, long vs)
543    GEN     FlxX_deriv(GEN z, ulong p)
544    GEN     FlxX_double(GEN x, ulong p)
545    GEN     FlxX_invLaplace(GEN x, ulong p)
546    GEN     FlxX_neg(GEN x, ulong p)
547    GEN     FlxX_renormalize(GEN x, long lx)
548    GEN     FlxX_shift(GEN a, long n, long vs)
549    GEN     FlxX_sub(GEN P, GEN Q, ulong p)
550    GEN     FlxX_swap(GEN x, long n, long ws)
551    GEN     FlxX_to_Flm(GEN v, long n)
552    GEN     FlxX_to_Flx(GEN f)
553    GEN     FlxX_to_FlxC(GEN x, long N, long sv)
554    GEN     FlxX_to_ZXX(GEN B)
555    GEN     FlxX_translate1(GEN P, long p, long n)
556    GEN     FlxX_triple(GEN x, ulong p)
557    GEN     FlxXC_to_ZXXC(GEN B)
558    GEN     FlxXM_to_ZXXM(GEN B)
559    GEN     FlxXV_to_FlxM(GEN v, long n, long sv)
560    GEN     FlxXn_red(GEN a, long n)
561    GEN     FlxY_Flx_div(GEN x, GEN y, ulong p)
562    GEN     FlxY_Flx_translate(GEN P, GEN c, ulong p)
563    GEN     FlxY_Flxq_evalx(GEN P, GEN x, GEN T, ulong p)
564    GEN     FlxY_FlxqV_evalx(GEN P, GEN x, GEN T, ulong p)
565    long    FlxY_degreex(GEN b)
566    ulong   FlxY_eval_powers_pre(GEN pol, GEN ypowers, GEN xpowers, ulong p, ulong pi)
567    GEN     FlxY_evalx(GEN Q, ulong x, ulong p)
568    GEN     FlxY_evalx_powers_pre(GEN pol, GEN ypowers, ulong p, ulong pi)
569    GEN     FlxYqq_pow(GEN x, GEN n, GEN S, GEN T, ulong p)
570    GEN     FlxqV_roots_to_pol(GEN V, GEN T, ulong p, long v)
571    GEN     FlxqX_FlxqXQ_eval(GEN Q, GEN x, GEN S, GEN T, ulong p)
572    GEN     FlxqX_FlxqXQV_eval(GEN P, GEN V, GEN S, GEN T, ulong p)
573    GEN     FlxqX_Flxq_mul(GEN P, GEN U, GEN T, ulong p)
574    GEN     FlxqX_Flxq_mul_to_monic(GEN P, GEN U, GEN T, ulong p)
575    GEN     FlxqX_Newton(GEN P, long n, GEN T, ulong p)
576    GEN     FlxqX_divrem(GEN x, GEN y, GEN T, ulong p, GEN *pr)
577    GEN     FlxqX_disc(GEN x, GEN T, ulong p)
578    GEN     FlxqX_dotproduct(GEN x, GEN y, GEN T, ulong p)
579    GEN     FlxqX_extgcd(GEN a, GEN b, GEN T, ulong p, GEN *ptu, GEN *ptv)
580    GEN     FlxqX_fromNewton(GEN P, GEN T, ulong p)
581    GEN     FlxqX_gcd(GEN P, GEN Q, GEN T, ulong p)
582    GEN     FlxqX_get_red(GEN S, GEN T, ulong p)
583    GEN     FlxqX_halfgcd(GEN x, GEN y, GEN T, ulong p)
584    GEN     FlxqX_invBarrett(GEN T, GEN Q, ulong p)
585    GEN     FlxqX_mul(GEN x, GEN y, GEN T, ulong p)
586    GEN     FlxqX_normalize(GEN z, GEN T, ulong p)
587    GEN     FlxqX_powu(GEN V, ulong n, GEN T, ulong p)
588    GEN     FlxqX_red(GEN z, GEN T, ulong p)
589    GEN     FlxqX_rem(GEN x, GEN y, GEN T, ulong p)
590    GEN     FlxqX_resultant(GEN x, GEN y, GEN T, ulong p)
591    GEN     FlxqX_safegcd(GEN P, GEN Q, GEN T, ulong p)
592    GEN     FlxqX_saferesultant(GEN a, GEN b, GEN T, ulong p)
593    GEN     FlxqX_sqr(GEN x, GEN T, ulong p)
594    GEN     FlxqXQ_div(GEN x, GEN y, GEN S, GEN T, ulong p)
595    GEN     FlxqXQ_inv(GEN x, GEN S, GEN T, ulong p)
596    GEN     FlxqXQ_invsafe(GEN x, GEN S, GEN T, ulong p)
597    GEN     FlxqXQ_matrix_pow(GEN x, long n, long m, GEN S, GEN T, ulong p)
598    GEN     FlxqXQ_minpoly(GEN x, GEN S, GEN T, ulong p)
599    GEN     FlxqXQ_mul(GEN x, GEN y, GEN S, GEN T, ulong p)
600    GEN     FlxqXQ_pow(GEN x, GEN n, GEN S, GEN T, ulong p)
601    GEN     FlxqXQ_powu(GEN x, ulong n, GEN S, GEN T, ulong p)
602    GEN     FlxqXQ_powers(GEN x, long n, GEN S, GEN T, ulong p)
603    GEN     FlxqXQ_sqr(GEN x, GEN S, GEN T, ulong p)
604    GEN     FlxqXQ_autpow(GEN x, long n, GEN S, GEN T, ulong p)
605    GEN     FlxqXQ_autsum(GEN aut, long n, GEN S, GEN T, ulong p)
606    GEN     FlxqXQ_auttrace(GEN x, ulong n, GEN S, GEN T, ulong p)
607    GEN     FlxqXV_prod(GEN V, GEN T, ulong p)
608    GEN     FlxqXn_expint(GEN h, long e, GEN T, ulong p)
609    GEN     FlxqXn_inv(GEN f, long e, GEN T, ulong p)
610    GEN     FlxqXn_mul(GEN a, GEN b, long n, GEN T, ulong p)
611    GEN     FlxqXn_sqr(GEN a, long n, GEN T, ulong p)
612    GEN     Fly_to_FlxY(GEN B, long v)
613    GEN     Kronecker_to_FlxqX(GEN z, GEN T, ulong p)
614    GEN     RgX_to_FlxqX(GEN x, GEN T, ulong p)
615    GEN     pol1_FlxX(long v, long sv)
616    GEN     polx_FlxX(long v, long sv)
617    GEN     random_FlxqX(long d1, long v, GEN T, ulong p)
618    GEN     zlxX_translate1(GEN P, long p, long e, long n)
619    GEN     zxX_to_FlxX(GEN B, ulong p)
620    GEN     zxX_to_Kronecker(GEN P, GEN Q)
621
622    # FlxqE.c
623
624    GEN     Flxq_ellcard(GEN a4, GEN a6, GEN T, ulong p)
625    GEN     Flxq_ellgens(GEN a4, GEN a6, GEN ch, GEN D, GEN m, GEN T, ulong p)
626    GEN     Flxq_ellgroup(GEN a4, GEN a6, GEN N, GEN T, ulong p, GEN *pt_m)
627    void    Flxq_elltwist(GEN a, GEN a6, GEN T, ulong p, GEN *pt_a, GEN *pt_a6)
628    GEN     Flxq_ellj(GEN a4, GEN a6, GEN T, ulong p)
629    void    Flxq_ellj_to_a4a6(GEN j, GEN T, ulong p, GEN *pt_a4, GEN *pt_a6)
630    GEN     FlxqE_add(GEN P, GEN Q, GEN a4, GEN T, ulong p)
631    GEN     FlxqE_changepoint(GEN x, GEN ch, GEN T, ulong p)
632    GEN     FlxqE_changepointinv(GEN x, GEN ch, GEN T, ulong p)
633    GEN     FlxqE_dbl(GEN P, GEN a4, GEN T, ulong p)
634    GEN     FlxqE_log(GEN a, GEN b, GEN o, GEN a4, GEN T, ulong p)
635    GEN     FlxqE_mul(GEN P, GEN n, GEN a4, GEN T, ulong p)
636    GEN     FlxqE_neg(GEN P, GEN T, ulong p)
637    GEN     FlxqE_order(GEN z, GEN o, GEN a4, GEN T, ulong p)
638    GEN     FlxqE_sub(GEN P, GEN Q, GEN a4, GEN T, ulong p)
639    GEN     FlxqE_tatepairing(GEN t, GEN s, GEN m, GEN a4, GEN T, ulong p)
640    GEN     FlxqE_weilpairing(GEN t, GEN s, GEN m, GEN a4, GEN T, ulong p)
641    const bb_group * get_FlxqE_group(void **E, GEN a4, GEN a6, GEN T, ulong p)
642    GEN     RgE_to_FlxqE(GEN x, GEN T, ulong p)
643    GEN     random_FlxqE(GEN a4, GEN a6, GEN T, ulong p)
644
645    # FpE.c
646
647    long    Fl_elltrace(ulong a4, ulong a6, ulong p)
648    long    Fl_elltrace_CM(long CM, ulong a4, ulong a6, ulong p)
649    GEN     Fp_ellcard(GEN a4, GEN a6, GEN p)
650    GEN     Fp_elldivpol(GEN a4, GEN a6, long n, GEN p)
651    GEN     Fp_ellgens(GEN a4, GEN a6, GEN ch, GEN D, GEN m, GEN p)
652    GEN     Fp_ellgroup(GEN a4, GEN a6, GEN N, GEN p, GEN *pt_m)
653    GEN     Fp_ellj(GEN a4, GEN a6, GEN p)
654    int     Fp_elljissupersingular(GEN j, GEN p)
655    void    Fp_elltwist(GEN a4, GEN a6, GEN p, GEN *pt_a4, GEN *pt_a6)
656    GEN     Fp_ffellcard(GEN a4, GEN a6, GEN q, long n, GEN p)
657    GEN     FpE_add(GEN P, GEN Q, GEN a4, GEN p)
658    GEN     FpE_changepoint(GEN x, GEN ch, GEN p)
659    GEN     FpE_changepointinv(GEN x, GEN ch, GEN p)
660    GEN     FpE_dbl(GEN P, GEN a4, GEN p)
661    GEN     FpE_log(GEN a, GEN b, GEN o, GEN a4, GEN p)
662    GEN     FpE_mul(GEN P, GEN n, GEN a4, GEN p)
663    GEN     FpE_neg(GEN P, GEN p)
664    GEN     FpE_order(GEN z, GEN o, GEN a4, GEN p)
665    GEN     FpE_sub(GEN P, GEN Q, GEN a4, GEN p)
666    GEN     FpE_to_mod(GEN P, GEN p)
667    GEN     FpE_tatepairing(GEN t, GEN s, GEN m, GEN a4, GEN p)
668    GEN     FpE_weilpairing(GEN t, GEN s, GEN m, GEN a4, GEN p)
669    GEN     FpXQ_ellcard(GEN a4, GEN a6, GEN T, GEN p)
670    GEN     FpXQ_elldivpol(GEN a4, GEN a6, long n, GEN T, GEN p)
671    GEN     FpXQ_ellgens(GEN a4, GEN a6, GEN ch, GEN D, GEN m, GEN T, GEN p)
672    GEN     FpXQ_ellgroup(GEN a4, GEN a6, GEN N, GEN T, GEN p, GEN *pt_m)
673    GEN     FpXQ_ellj(GEN a4, GEN a6, GEN T, GEN p)
674    int     FpXQ_elljissupersingular(GEN j, GEN T, GEN p)
675    void    FpXQ_elltwist(GEN a4, GEN a6, GEN T, GEN p, GEN *pt_a4, GEN *pt_a6)
676    GEN     FpXQE_add(GEN P, GEN Q, GEN a4, GEN T, GEN p)
677    GEN     FpXQE_changepoint(GEN x, GEN ch, GEN T, GEN p)
678    GEN     FpXQE_changepointinv(GEN x, GEN ch, GEN T, GEN p)
679    GEN     FpXQE_dbl(GEN P, GEN a4, GEN T, GEN p)
680    GEN     FpXQE_log(GEN a, GEN b, GEN o, GEN a4, GEN T, GEN p)
681    GEN     FpXQE_mul(GEN P, GEN n, GEN a4, GEN T, GEN p)
682    GEN     FpXQE_neg(GEN P, GEN T, GEN p)
683    GEN     FpXQE_order(GEN z, GEN o, GEN a4, GEN T, GEN p)
684    GEN     FpXQE_sub(GEN P, GEN Q, GEN a4, GEN T, GEN p)
685    GEN     FpXQE_tatepairing(GEN t, GEN s, GEN m, GEN a4, GEN T, GEN p)
686    GEN     FpXQE_weilpairing(GEN t, GEN s, GEN m, GEN a4, GEN T, GEN p)
687    GEN     Fq_elldivpolmod(GEN a4, GEN a6, long n, GEN h, GEN T, GEN p)
688    GEN     RgE_to_FpE(GEN x, GEN p)
689    GEN     RgE_to_FpXQE(GEN x, GEN T, GEN p)
690    const bb_group * get_FpE_group(void **E, GEN a4, GEN a6, GEN p)
691    const bb_group * get_FpXQE_group(void **E, GEN a4, GEN a6, GEN T, GEN p)
692    GEN     elltrace_extension(GEN t, long n, GEN p)
693    GEN     random_FpE(GEN a4, GEN a6, GEN p)
694    GEN     random_FpXQE(GEN a4, GEN a6, GEN T, GEN p)
695
696    # FpX.c
697
698    int     Fp_issquare(GEN x, GEN p)
699    GEN     Fp_FpX_sub(GEN x, GEN y, GEN p)
700    GEN     Fp_FpXQ_log(GEN a, GEN g, GEN ord, GEN T, GEN p)
701    GEN     FpV_FpM_polint(GEN xa, GEN ya, GEN p, long vs)
702    GEN     FpV_inv(GEN x, GEN p)
703    GEN     FpV_invVandermonde(GEN L, GEN den, GEN p)
704    GEN     FpV_polint(GEN xa, GEN ya, GEN p, long v)
705    GEN     FpV_roots_to_pol(GEN V, GEN p, long v)
706    GEN     FpX_Fp_add(GEN x, GEN y, GEN p)
707    GEN     FpX_Fp_add_shallow(GEN y, GEN x, GEN p)
708    GEN     FpX_Fp_mul(GEN x, GEN y, GEN p)
709    GEN     FpX_Fp_mul_to_monic(GEN y, GEN x, GEN p)
710    GEN     FpX_Fp_mulspec(GEN y, GEN x, GEN p, long ly)
711    GEN     FpX_Fp_sub(GEN x, GEN y, GEN p)
712    GEN     FpX_Fp_sub_shallow(GEN y, GEN x, GEN p)
713    GEN     FpX_FpV_multieval(GEN P, GEN xa, GEN p)
714    GEN     FpX_FpXQ_eval(GEN f, GEN x, GEN T, GEN p)
715    GEN     FpX_FpXQV_eval(GEN f, GEN x, GEN T, GEN p)
716    GEN     FpX_Frobenius(GEN T, GEN p)
717    GEN     FpX_add(GEN x, GEN y, GEN p)
718    GEN     FpX_center(GEN x, GEN p, GEN pov2)
719    GEN     FpX_chinese_coprime(GEN x, GEN y, GEN Tx, GEN Ty, GEN Tz, GEN p)
720    GEN     FpX_deriv(GEN x, GEN p)
721    GEN     FpX_digits(GEN x, GEN y, GEN p)
722    GEN     FpX_disc(GEN x, GEN p)
723    GEN     FpX_div_by_X_x(GEN a, GEN x, GEN p, GEN *r)
724    GEN     FpX_divrem(GEN x, GEN y, GEN p, GEN *pr)
725    GEN     FpX_dotproduct(GEN x, GEN y, GEN p)
726    GEN     FpX_eval(GEN x, GEN y, GEN p)
727    GEN     FpX_extgcd(GEN x, GEN y, GEN p, GEN *ptu, GEN *ptv)
728    GEN     FpX_fromdigits(GEN x, GEN T, GEN p)
729    GEN     FpX_gcd(GEN x, GEN y, GEN p)
730    GEN     FpX_get_red(GEN T, GEN p)
731    GEN     FpX_halve(GEN y, GEN p)
732    GEN     FpX_halfgcd(GEN x, GEN y, GEN p)
733    GEN     FpX_invBarrett(GEN T, GEN p)
734    int     FpX_is_squarefree(GEN f, GEN p)
735    GEN     FpX_matFrobenius(GEN T, GEN p)
736    GEN     FpX_mul(GEN x, GEN y, GEN p)
737    GEN     FpX_mulspec(GEN a, GEN b, GEN p, long na, long nb)
738    GEN     FpX_mulu(GEN x, ulong y, GEN p)
739    GEN     FpX_neg(GEN x, GEN p)
740    GEN     FpX_normalize(GEN z, GEN p)
741    GEN     FpX_powu(GEN x, ulong n, GEN p)
742    GEN     FpX_red(GEN z, GEN p)
743    GEN     FpX_rem(GEN x, GEN y, GEN p)
744    GEN     FpX_rescale(GEN P, GEN h, GEN p)
745    GEN     FpX_resultant(GEN a, GEN b, GEN p)
746    GEN     FpX_sqr(GEN x, GEN p)
747    GEN     FpX_sub(GEN x, GEN y, GEN p)
748    long    FpX_valrem(GEN x0, GEN t, GEN p, GEN *py)
749    GEN     FpXC_FpXQV_eval(GEN Q, GEN x, GEN T, GEN p)
750    GEN     FpXM_FpXQV_eval(GEN Q, GEN x, GEN T, GEN p)
751    GEN     FpXQ_autpow(GEN x, ulong n, GEN T, GEN p)
752    GEN     FpXQ_autpowers(GEN aut, long f, GEN T, GEN p)
753    GEN     FpXQ_autsum(GEN x, ulong n, GEN T, GEN p)
754    GEN     FpXQ_auttrace(GEN x, ulong n, GEN T, GEN p)
755    GEN     FpXQ_charpoly(GEN x, GEN T, GEN p)
756    GEN     FpXQ_conjvec(GEN x, GEN T, GEN p)
757    GEN     FpXQ_div(GEN x, GEN y, GEN T, GEN p)
758    GEN     FpXQ_inv(GEN x, GEN T, GEN p)
759    GEN     FpXQ_invsafe(GEN x, GEN T, GEN p)
760    int     FpXQ_issquare(GEN x, GEN T, GEN p)
761    GEN     FpXQ_log(GEN a, GEN g, GEN ord, GEN T, GEN p)
762    GEN     FpXQ_matrix_pow(GEN y, long n, long m, GEN P, GEN l)
763    GEN     FpXQ_minpoly(GEN x, GEN T, GEN p)
764    GEN     FpXQ_mul(GEN y, GEN x, GEN T, GEN p)
765    GEN     FpXQ_norm(GEN x, GEN T, GEN p)
766    GEN     FpXQ_order(GEN a, GEN ord, GEN T, GEN p)
767    GEN     FpXQ_pow(GEN x, GEN n, GEN T, GEN p)
768    GEN     FpXQ_powu(GEN x, ulong n, GEN T, GEN p)
769    GEN     FpXQ_powers(GEN x, long l, GEN T, GEN p)
770    GEN     FpXQ_red(GEN x, GEN T, GEN p)
771    GEN     FpXQ_sqr(GEN y, GEN T, GEN p)
772    GEN     FpXQ_sqrt(GEN a, GEN T, GEN p)
773    GEN     FpXQ_sqrtn(GEN a, GEN n, GEN T, GEN p, GEN *zetan)
774    GEN     FpXQ_trace(GEN x, GEN T, GEN p)
775    GEN     FpXQC_to_mod(GEN z, GEN T, GEN p)
776    GEN     FpXQM_autsum(GEN x, ulong n, GEN T, GEN p)
777    GEN     FpXT_red(GEN z, GEN p)
778    GEN     FpXV_prod(GEN V, GEN p)
779    GEN     FpXV_red(GEN z, GEN p)
780    int     Fq_issquare(GEN x, GEN T, GEN p)
781    long    Fq_ispower(GEN x, GEN K, GEN T, GEN p)
782    GEN     Fq_log(GEN a, GEN g, GEN ord, GEN T, GEN p)
783    GEN     Fq_sqrtn(GEN a, GEN n, GEN T, GEN p, GEN *z)
784    GEN     Fq_sqrt(GEN a, GEN T, GEN p)
785    long    FqX_ispower(GEN f, ulong k, GEN T, GEN p, GEN *pt)
786    GEN     FqV_inv(GEN x, GEN T, GEN p)
787    GEN     Z_to_FpX(GEN a, GEN p, long v)
788    GEN     gener_FpXQ(GEN T, GEN p, GEN *o)
789    GEN     gener_FpXQ_local(GEN T, GEN p, GEN L)
790    long    get_FpX_degree(GEN T)
791    GEN     get_FpX_mod(GEN T)
792    long    get_FpX_var(GEN T)
793    const bb_group *get_FpXQ_star(void **E, GEN T, GEN p)
794    GEN     random_FpX(long d, long v, GEN p)
795
796    # FpX_factor.c
797
798    GEN     F2x_factor(GEN f)
799    int     F2x_is_irred(GEN f)
800    void    F2xV_to_FlxV_inplace(GEN v)
801    void    F2xV_to_ZXV_inplace(GEN v)
802    int     Flx_is_irred(GEN f, ulong p)
803    GEN     Flx_degfact(GEN f, ulong p)
804    GEN     Flx_factor(GEN f, ulong p)
805    long    Flx_nbfact(GEN z, ulong p)
806    long    Flx_nbfact_Frobenius(GEN T, GEN XP, ulong p)
807    GEN     Flx_nbfact_by_degree(GEN z, long *nb, ulong p)
808    long    Flx_nbroots(GEN f, ulong p)
809    ulong   Flx_oneroot(GEN f, ulong p)
810    ulong   Flx_oneroot_split(GEN f, ulong p)
811    GEN     Flx_roots(GEN f, ulong p)
812    GEN     Flx_rootsff(GEN P, GEN T, ulong p)
813    void    FlxV_to_ZXV_inplace(GEN v)
814    GEN     FpX_degfact(GEN f, GEN p)
815    int     FpX_is_irred(GEN f, GEN p)
816    int     FpX_is_totally_split(GEN f, GEN p)
817    GEN     FpX_factor(GEN f, GEN p)
818    GEN     FpX_factorff(GEN P, GEN T, GEN p)
819    long    FpX_nbfact(GEN f, GEN p)
820    long    FpX_nbfact_Frobenius(GEN T, GEN XP, GEN p)
821    long    FpX_nbroots(GEN f, GEN p)
822    GEN     FpX_oneroot(GEN f, GEN p)
823    GEN     FpX_roots(GEN f, GEN p)
824    GEN     FpX_rootsff(GEN P, GEN T, GEN p)
825    GEN     FpX_split_part(GEN f, GEN p)
826    GEN     factcantor(GEN x, GEN p)
827    GEN     factormod0(GEN f, GEN p, long flag)
828    GEN     rootmod0(GEN f, GEN p, long flag)
829
830    # FpXQX_factor.c
831
832    GEN     F2xqX_roots(GEN x, GEN T)
833    GEN     FlxqX_Frobenius(GEN S, GEN T, ulong p)
834    GEN     FlxqXQ_halfFrobenius(GEN a, GEN S, GEN T, ulong p)
835    GEN     FlxqX_roots(GEN S, GEN T, ulong p)
836    long    FlxqX_nbroots(GEN f, GEN T, ulong p)
837    GEN     FpXQX_Frobenius(GEN S, GEN T, GEN p)
838    GEN     FpXQX_factor(GEN x, GEN T, GEN p)
839    long    FpXQX_nbfact(GEN u, GEN T, GEN p)
840    long    FpXQX_nbroots(GEN f, GEN T, GEN p)
841    GEN     FpXQX_roots(GEN f, GEN T, GEN p)
842    GEN     FpXQXQ_halfFrobenius(GEN a, GEN S, GEN T, GEN p)
843    long    FqX_is_squarefree(GEN P, GEN T, GEN p)
844    long    FqX_nbfact(GEN u, GEN T, GEN p)
845    long    FqX_nbroots(GEN f, GEN T, GEN p)
846    GEN     factorff(GEN f, GEN p, GEN a)
847    GEN     polrootsff(GEN f, GEN p, GEN T)
848
849    # FpXX.c
850
851    GEN     FpXQX_FpXQ_mul(GEN P, GEN U, GEN T, GEN p)
852    GEN     FpXQX_FpXQXQV_eval(GEN P, GEN V, GEN S, GEN T, GEN p)
853    GEN     FpXQX_FpXQXQ_eval(GEN P, GEN x, GEN S, GEN T, GEN p)
854    GEN     FpXQX_div_by_X_x(GEN a, GEN x, GEN T, GEN p, GEN *pr)
855    GEN     FpXQX_divrem(GEN x, GEN y, GEN T, GEN p, GEN *pr)
856    GEN     FpXQX_digits(GEN x, GEN B, GEN T, GEN p)
857    GEN     FpXQX_extgcd(GEN x, GEN y, GEN T, GEN p, GEN *ptu, GEN *ptv)
858    GEN     FpXQX_fromdigits(GEN x, GEN B, GEN T, GEN p)
859    GEN     FpXQX_gcd(GEN P, GEN Q, GEN T, GEN p)
860    GEN     FpXQX_get_red(GEN S, GEN T, GEN p)
861    GEN     FpXQX_halfgcd(GEN x, GEN y, GEN T, GEN p)
862    GEN     FpXQX_invBarrett(GEN S, GEN T, GEN p)
863    GEN     FpXQX_mul(GEN x, GEN y, GEN T, GEN p)
864    GEN     FpXQX_powu(GEN x, ulong n, GEN T, GEN p)
865    GEN     FpXQX_red(GEN z, GEN T, GEN p)
866    GEN     FpXQX_rem(GEN x, GEN S, GEN T, GEN p)
867    GEN     FpXQX_sqr(GEN x, GEN T, GEN p)
868    GEN     FpXQXQ_div(GEN x, GEN y, GEN S, GEN T, GEN p)
869    GEN     FpXQXQ_inv(GEN x, GEN S, GEN T, GEN p)
870    GEN     FpXQXQ_invsafe(GEN x, GEN S, GEN T, GEN p)
871    GEN     FpXQXQ_matrix_pow(GEN y, long n, long m, GEN S, GEN T, GEN p)
872    GEN     FpXQXQ_mul(GEN x, GEN y, GEN S, GEN T, GEN p)
873    GEN     FpXQXQ_pow(GEN x, GEN n, GEN S, GEN T, GEN p)
874    GEN     FpXQXQ_powers(GEN x, long n, GEN S, GEN T, GEN p)
875    GEN     FpXQXQ_sqr(GEN x, GEN S, GEN T, GEN p)
876    GEN     FpXQXQV_autpow(GEN aut, long n, GEN S, GEN T, GEN p)
877    GEN     FpXQXQV_autsum(GEN aut, long n, GEN S, GEN T, GEN p)
878    GEN     FpXQXQV_auttrace(GEN aut, long n, GEN S, GEN T, GEN p)
879    GEN     FpXQXV_prod(GEN V, GEN Tp, GEN p)
880    GEN     FpXX_Fp_mul(GEN x, GEN y, GEN p)
881    GEN     FpXX_FpX_mul(GEN x, GEN y, GEN p)
882    GEN     FpXX_add(GEN x, GEN y, GEN p)
883    GEN     FpXX_deriv(GEN P, GEN p)
884    GEN     FpXX_mulu(GEN P, ulong u, GEN p)
885    GEN     FpXX_neg(GEN x, GEN p)
886    GEN     FpXX_red(GEN z, GEN p)
887    GEN     FpXX_sub(GEN x, GEN y, GEN p)
888    GEN     FpXY_FpXQ_evalx(GEN P, GEN x, GEN T, GEN p)
889    GEN     FpXY_FpXQV_evalx(GEN P, GEN x, GEN T, GEN p)
890    GEN     FpXY_eval(GEN Q, GEN y, GEN x, GEN p)
891    GEN     FpXY_evalx(GEN Q, GEN x, GEN p)
892    GEN     FpXY_evaly(GEN Q, GEN y, GEN p, long vy)
893    GEN     FpXYQQ_pow(GEN x, GEN n, GEN S, GEN T, GEN p)
894    GEN     Kronecker_to_FpXQX(GEN z, GEN pol, GEN p)
895    GEN     Kronecker_to_ZXX(GEN z, long N, long v)
896    GEN     ZXX_mul_Kronecker(GEN x, GEN y, long n)
897    GEN     ZXX_sqr_Kronecker(GEN x, long n)
898    long    get_FpXQX_degree(GEN T)
899    GEN     get_FpXQX_mod(GEN T)
900    long    get_FpXQX_var(GEN T)
901    GEN     random_FpXQX(long d1, long v, GEN T, GEN p)
902
903    # FpV.c
904
905    GEN     F2m_F2c_mul(GEN x, GEN y)
906    GEN     F2m_mul(GEN x, GEN y)
907    GEN     F2m_powu(GEN x, ulong n)
908    GEN     Flc_to_mod(GEN z, ulong pp)
909    GEN     Flm_Fl_add(GEN x, ulong y, ulong p)
910    GEN     Flm_Fl_mul(GEN y, ulong x, ulong p)
911    void    Flm_Fl_mul_inplace(GEN y, ulong x, ulong p)
912    GEN     Flm_Flc_mul(GEN x, GEN y, ulong p)
913    GEN     Flm_Flc_mul_pre(GEN x, GEN y, ulong p, ulong pi)
914    GEN     Flm_add(GEN x, GEN y, ulong p)
915    GEN     Flm_center(GEN z, ulong p, ulong ps2)
916    GEN     Flm_mul(GEN x, GEN y, ulong p)
917    GEN     Flm_neg(GEN y, ulong p)
918    GEN     Flm_powu(GEN x, ulong n, ulong p)
919    GEN     Flm_sub(GEN x, GEN y, ulong p)
920    GEN     Flm_to_mod(GEN z, ulong pp)
921    GEN     Flm_transpose(GEN x)
922    GEN     Flv_Fl_div(GEN x, ulong y, ulong p)
923    void    Flv_Fl_div_inplace(GEN x, ulong y, ulong p)
924    GEN     Flv_Fl_mul(GEN x, ulong y, ulong p)
925    void    Flv_Fl_mul_inplace(GEN x, ulong y, ulong p)
926    void    Flv_Fl_mul_part_inplace(GEN x, ulong y, ulong p, long l)
927    GEN     Flv_add(GEN x, GEN y, ulong p)
928    void    Flv_add_inplace(GEN x, GEN y, ulong p)
929    GEN     Flv_center(GEN z, ulong p, ulong ps2)
930    ulong   Flv_dotproduct(GEN x, GEN y, ulong p)
931    ulong   Flv_dotproduct_pre(GEN x, GEN y, ulong p, ulong pi)
932    GEN     Flv_neg(GEN v, ulong p)
933    void    Flv_neg_inplace(GEN v, ulong p)
934    GEN     Flv_sub(GEN x, GEN y, ulong p)
935    void    Flv_sub_inplace(GEN x, GEN y, ulong p)
936    ulong   Flv_sum(GEN x, ulong p)
937    ulong   Flx_dotproduct(GEN x, GEN y, ulong p)
938    GEN     Fp_to_mod(GEN z, GEN p)
939    GEN     FpC_FpV_mul(GEN x, GEN y, GEN p)
940    GEN     FpC_Fp_mul(GEN x, GEN y, GEN p)
941    GEN     FpC_center(GEN z, GEN p, GEN pov2)
942    void    FpC_center_inplace(GEN z, GEN p, GEN pov2)
943    GEN     FpC_red(GEN z, GEN p)
944    GEN     FpC_to_mod(GEN z, GEN p)
945    GEN     FpM_add(GEN x, GEN y, GEN p)
946    GEN     FpM_Fp_mul(GEN X, GEN c, GEN p)
947    GEN     FpM_FpC_mul(GEN x, GEN y, GEN p)
948    GEN     FpM_FpC_mul_FpX(GEN x, GEN y, GEN p, long v)
949    GEN     FpM_center(GEN z, GEN p, GEN pov2)
950    void    FpM_center_inplace(GEN z, GEN p, GEN pov2)
951    GEN     FpM_mul(GEN x, GEN y, GEN p)
952    GEN     FpM_powu(GEN x, ulong n, GEN p)
953    GEN     FpM_red(GEN z, GEN p)
954    GEN     FpM_sub(GEN x, GEN y, GEN p)
955    GEN     FpM_to_mod(GEN z, GEN p)
956    GEN     FpMs_FpC_mul(GEN M, GEN B, GEN p)
957    GEN     FpMs_FpCs_solve(GEN M, GEN B, long nbrow, GEN p)
958    GEN     FpMs_FpCs_solve_safe(GEN M, GEN A, long nbrow, GEN p)
959    GEN     FpMs_leftkernel_elt(GEN M, long nbrow, GEN p)
960    GEN     FpC_add(GEN x, GEN y, GEN p)
961    GEN     FpC_sub(GEN x, GEN y, GEN p)
962    GEN     FpV_FpMs_mul(GEN B, GEN M, GEN p)
963    GEN     FpV_add(GEN x, GEN y, GEN p)
964    GEN     FpV_sub(GEN x, GEN y, GEN p)
965    GEN     FpV_dotproduct(GEN x, GEN y, GEN p)
966    GEN     FpV_dotsquare(GEN x, GEN p)
967    GEN     FpV_red(GEN z, GEN p)
968    GEN     FpV_to_mod(GEN z, GEN p)
969    GEN     FpVV_to_mod(GEN z, GEN p)
970    GEN     FpX_to_mod(GEN z, GEN p)
971    GEN     ZV_zMs_mul(GEN B, GEN M)
972    GEN     ZpMs_ZpCs_solve(GEN M, GEN B, long nbrow, GEN p, long e)
973    GEN     gen_FpM_Wiedemann(void *E, GEN (*f)(void*, GEN), GEN B, GEN p)
974    GEN     gen_ZpM_Dixon(void *E, GEN (*f)(void*, GEN), GEN B, GEN p, long e)
975    GEN     gen_matid(long n, void *E, const bb_field *S)
976    GEN     matid_F2m(long n)
977    GEN     matid_Flm(long n)
978    GEN     matid_F2xqM(long n, GEN T)
979    GEN     matid_FlxqM(long n, GEN T, ulong p)
980    GEN     scalar_Flm(long s, long n)
981    GEN     zCs_to_ZC(GEN C, long nbrow)
982    GEN     zMs_to_ZM(GEN M, long nbrow)
983    GEN     zMs_ZC_mul(GEN M, GEN B)
984    GEN     ZMV_to_FlmV(GEN z, ulong m)
985
986    # Hensel.c
987
988    GEN     Z2_sqrt(GEN x, long e)
989    GEN     Zp_sqrt(GEN x, GEN p, long e)
990    GEN     Zp_sqrtlift(GEN b, GEN a, GEN p, long e)
991    GEN     Zp_sqrtnlift(GEN b, GEN n, GEN a, GEN p, long e)
992    GEN     ZpX_Frobenius(GEN T, GEN p, long e)
993    GEN     ZpX_ZpXQ_liftroot(GEN P, GEN S, GEN T, GEN p, long e)
994    GEN     ZpX_ZpXQ_liftroot_ea(GEN P, GEN S, GEN T, GEN p, long n, void *E,
995                         int early(void *E, GEN x, GEN q))
996    GEN     ZpX_liftfact(GEN pol, GEN Q, GEN T, GEN p, long e, GEN pe)
997    GEN     ZpX_liftroot(GEN f, GEN a, GEN p, long e)
998    GEN     ZpX_liftroots(GEN f, GEN S, GEN p, long e)
999    GEN     ZpX_roots(GEN f, GEN p, long e)
1000    GEN     ZpXQ_inv(GEN a, GEN T, GEN p, long e)
1001    GEN     ZpXQ_invlift(GEN b, GEN a, GEN T, GEN p, long e)
1002    GEN     ZpXQ_log(GEN a, GEN T, GEN p, long N)
1003    GEN     ZpXQ_sqrt(GEN a, GEN T, GEN p, long e)
1004    GEN     ZpXQ_sqrtnlift(GEN b, GEN n, GEN a, GEN T, GEN p, long e)
1005    GEN     ZpXQM_prodFrobenius(GEN M, GEN T, GEN p, long e)
1006    GEN     ZpXQX_liftroot(GEN f, GEN a, GEN T, GEN p, long e)
1007    GEN     ZpXQX_liftroot_vald(GEN f, GEN a, long v, GEN T, GEN p, long e)
1008    GEN     gen_ZpX_Dixon(GEN F, GEN V, GEN q, GEN p, long N, void *E,
1009                                 GEN lin(void *E, GEN F, GEN d, GEN q),
1010                                 GEN invl(void *E, GEN d))
1011    GEN     gen_ZpX_Newton(GEN x, GEN p, long n, void *E,
1012                                  GEN eval(void *E, GEN f, GEN q),
1013                                  GEN invd(void *E, GEN V, GEN v, GEN q, long M))
1014    GEN     polhensellift(GEN pol, GEN fct, GEN p, long exp)
1015    ulong   quadratic_prec_mask(long n)
1016
1017    # QX_factor.c
1018
1019    GEN     QX_factor(GEN x)
1020    GEN     ZX_factor(GEN x)
1021    long    ZX_is_irred(GEN x)
1022    GEN     ZX_squff(GEN f, GEN *ex)
1023    GEN     polcyclofactors(GEN f)
1024    long    poliscyclo(GEN f)
1025    long    poliscycloprod(GEN f)
1026
1027
1028    # RgV.c
1029
1030    GEN     Rg_RgC_sub(GEN a, GEN x)
1031    GEN     RgC_Rg_add(GEN x, GEN y)
1032    GEN     RgC_Rg_div(GEN x, GEN y)
1033    GEN     RgC_Rg_mul(GEN x, GEN y)
1034    GEN     RgC_Rg_sub(GEN x, GEN y)
1035    GEN     RgC_RgM_mul(GEN x, GEN y)
1036    GEN     RgC_RgV_mul(GEN x, GEN y)
1037    GEN     RgC_add(GEN x, GEN y)
1038    long    RgC_is_ei(GEN x)
1039    GEN     RgC_neg(GEN x)
1040    GEN     RgC_sub(GEN x, GEN y)
1041    GEN     RgM_Rg_add(GEN x, GEN y)
1042    GEN     RgM_Rg_add_shallow(GEN x, GEN y)
1043    GEN     RgM_Rg_div(GEN x, GEN y)
1044    GEN     RgM_Rg_mul(GEN x, GEN y)
1045    GEN     RgM_Rg_sub(GEN x, GEN y)
1046    GEN     RgM_Rg_sub_shallow(GEN x, GEN y)
1047    GEN     RgM_RgC_mul(GEN x, GEN y)
1048    GEN     RgM_RgV_mul(GEN x, GEN y)
1049    GEN     RgM_ZM_mul(GEN x, GEN y)
1050    GEN     RgM_add(GEN x, GEN y)
1051    GEN     RgM_det_triangular(GEN x)
1052    int     RgM_is_QM(GEN x)
1053    int     RgM_is_ZM(GEN x)
1054    int     RgM_isdiagonal(GEN x)
1055    int     RgM_isidentity(GEN x)
1056    int     RgM_isscalar(GEN x, GEN s)
1057    GEN     RgM_mul(GEN x, GEN y)
1058    GEN     RgM_multosym(GEN x, GEN y)
1059    GEN     RgM_neg(GEN x)
1060    GEN     RgM_powers(GEN x, long l)
1061    GEN     RgM_sqr(GEN x)
1062    GEN     RgM_sub(GEN x, GEN y)
1063    GEN     RgM_sumcol(GEN A)
1064    GEN     RgM_transmul(GEN x, GEN y)
1065    GEN     RgM_transmultosym(GEN x, GEN y)
1066    GEN     RgMrow_zc_mul(GEN x, GEN y, long i)
1067    GEN     RgM_zc_mul(GEN x, GEN y)
1068    GEN     RgM_zm_mul(GEN x, GEN y)
1069    GEN     RgMrow_RgC_mul(GEN x, GEN y, long i)
1070    GEN     RgV_RgM_mul(GEN x, GEN y)
1071    GEN     RgV_RgC_mul(GEN x, GEN y)
1072    GEN     RgV_Rg_mul(GEN x, GEN y)
1073    GEN     RgV_add(GEN x, GEN y)
1074    GEN     RgV_dotproduct(GEN x, GEN y)
1075    GEN     RgV_dotsquare(GEN x)
1076    int     RgV_is_ZMV(GEN V)
1077    GEN     RgV_kill0(GEN v)
1078    GEN     RgV_neg(GEN x)
1079    GEN     RgV_prod(GEN v)
1080    GEN     RgV_sub(GEN x, GEN y)
1081    GEN     RgV_sum(GEN v)
1082    GEN     RgV_sumpart(GEN v, long n)
1083    GEN     RgV_sumpart2(GEN v, long m, long n)
1084    GEN     RgV_zc_mul(GEN x, GEN y)
1085    GEN     RgV_zm_mul(GEN x, GEN y)
1086    GEN     RgX_RgM_eval(GEN x, GEN y)
1087    GEN     RgX_RgMV_eval(GEN x, GEN y)
1088    int     isdiagonal(GEN x)
1089    GEN     matid(long n)
1090    GEN     scalarcol(GEN x, long n)
1091    GEN     scalarcol_shallow(GEN x, long n)
1092    GEN     scalarmat(GEN x, long n)
1093    GEN     scalarmat_shallow(GEN x, long n)
1094    GEN     scalarmat_s(long x, long n)
1095
1096    # RgX.c
1097
1098    GEN     Kronecker_to_mod(GEN z, GEN pol)
1099    GEN     QX_ZXQV_eval(GEN P, GEN V, GEN dV)
1100    GEN     QXQ_charpoly(GEN A, GEN T, long v)
1101    GEN     QXQ_powers(GEN a, long n, GEN T)
1102    GEN     QXQX_to_mod_shallow(GEN z, GEN T)
1103    GEN     QXQV_to_mod(GEN V, GEN T)
1104    GEN     QXQXV_to_mod(GEN V, GEN T)
1105    GEN     QXV_QXQ_eval(GEN v, GEN a, GEN T)
1106    GEN     QXX_QXQ_eval(GEN v, GEN a, GEN T)
1107    GEN     Rg_RgX_sub(GEN x, GEN y)
1108    GEN     Rg_to_RgC(GEN x, long N)
1109    GEN     RgM_to_RgXV(GEN x, long v)
1110    GEN     RgM_to_RgXX(GEN x, long v, long w)
1111    GEN     RgV_to_RgX(GEN x, long v)
1112    GEN     RgV_to_RgM(GEN v, long n)
1113    GEN     RgV_to_RgX_reverse(GEN x, long v)
1114    GEN     RgX_RgXQ_eval(GEN f, GEN x, GEN T)
1115    GEN     RgX_RgXQV_eval(GEN P, GEN V, GEN T)
1116    GEN     RgX_RgXn_eval(GEN Q, GEN x, long n)
1117    GEN     RgX_RgXnV_eval(GEN Q, GEN x, long n)
1118    GEN     RgX_Rg_add(GEN y, GEN x)
1119    GEN     RgX_Rg_add_shallow(GEN y, GEN x)
1120    GEN     RgX_Rg_div(GEN y, GEN x)
1121    GEN     RgX_Rg_divexact(GEN x, GEN y)
1122    GEN     RgX_Rg_eval_bk(GEN Q, GEN x)
1123    GEN     RgX_Rg_mul(GEN y, GEN x)
1124    GEN     RgX_Rg_sub(GEN y, GEN x)
1125    GEN     RgX_RgV_eval(GEN Q, GEN x)
1126    GEN     RgX_add(GEN x, GEN y)
1127    GEN     RgX_blocks(GEN P, long n, long m)
1128    GEN     RgX_deflate(GEN x0, long d)
1129    GEN     RgX_deriv(GEN x)
1130    GEN     RgX_div_by_X_x(GEN a, GEN x, GEN *r)
1131    GEN     RgX_divrem(GEN x, GEN y, GEN *r)
1132    GEN     RgX_divs(GEN y, long x)
1133    long    RgX_equal(GEN x, GEN y)
1134    void    RgX_even_odd(GEN p, GEN *pe, GEN *po)
1135    GEN     RgX_get_0(GEN x)
1136    GEN     RgX_get_1(GEN x)
1137    GEN     RgX_inflate(GEN x0, long d)
1138    GEN     RgX_mul(GEN x, GEN y)
1139    GEN     RgX_mul_normalized(GEN A, long a, GEN B, long b)
1140    GEN     RgX_mulXn(GEN x, long d)
1141    GEN     RgX_muls(GEN y, long x)
1142    GEN     RgX_mulspec(GEN a, GEN b, long na, long nb)
1143    GEN     RgX_neg(GEN x)
1144    GEN     RgX_normalize(GEN x)
1145    GEN     RgX_pseudodivrem(GEN x, GEN y, GEN *ptr)
1146    GEN     RgX_pseudorem(GEN x, GEN y)
1147    GEN     RgX_recip(GEN x)
1148    GEN     RgX_recip_shallow(GEN x)
1149    GEN     RgX_renormalize_lg(GEN x, long lx)
1150    GEN     RgX_rescale(GEN P, GEN h)
1151    GEN     RgX_rotate_shallow(GEN P, long k, long p)
1152    GEN     RgX_shift(GEN a, long n)
1153    GEN     RgX_shift_shallow(GEN x, long n)
1154    GEN     RgX_splitting(GEN p, long k)
1155    GEN     RgX_sqr(GEN x)
1156    GEN     RgX_sqrspec(GEN a, long na)
1157    GEN     RgX_sub(GEN x, GEN y)
1158    GEN     RgX_to_RgC(GEN x, long N)
1159    GEN     RgX_translate(GEN P, GEN c)
1160    GEN     RgX_unscale(GEN P, GEN h)
1161    GEN     RgXQ_matrix_pow(GEN y, long n, long m, GEN P)
1162    GEN     RgXQ_norm(GEN x, GEN T)
1163    GEN     RgXQ_pow(GEN x, GEN n, GEN T)
1164    GEN     RgXQ_powers(GEN x, long l, GEN T)
1165    GEN     RgXQ_powu(GEN x, ulong n, GEN T)
1166    GEN     RgXQC_red(GEN P, GEN T)
1167    GEN     RgXQV_RgXQ_mul(GEN v, GEN x, GEN T)
1168    GEN     RgXQV_red(GEN P, GEN T)
1169    GEN     RgXQX_RgXQ_mul(GEN x, GEN y, GEN T)
1170    GEN     RgXQX_divrem(GEN x, GEN y, GEN T, GEN *r)
1171    GEN     RgXQX_mul(GEN x, GEN y, GEN T)
1172    GEN     RgXQX_pseudodivrem(GEN x, GEN y, GEN T, GEN *ptr)
1173    GEN     RgXQX_pseudorem(GEN x, GEN y, GEN T)
1174    GEN     RgXQX_red(GEN P, GEN T)
1175    GEN     RgXQX_sqr(GEN x, GEN T)
1176    GEN     RgXQX_translate(GEN P, GEN c, GEN T)
1177    GEN     RgXV_RgV_eval(GEN Q, GEN x)
1178    GEN     RgXV_to_RgM(GEN v, long n)
1179    GEN     RgXV_unscale(GEN v, GEN h)
1180    GEN     RgXX_to_RgM(GEN v, long n)
1181    long    RgXY_degreex(GEN bpol)
1182    GEN     RgXY_swap(GEN x, long n, long w)
1183    GEN     RgXY_swapspec(GEN x, long n, long w, long nx)
1184    GEN     RgXn_eval(GEN Q, GEN x, long n)
1185    GEN     RgXn_exp(GEN f, long e)
1186    GEN     RgXn_inv(GEN f, long e)
1187    GEN     RgXn_mul(GEN f, GEN g, long n)
1188    GEN     RgXn_powers(GEN f, long m, long n)
1189    GEN     RgXn_red_shallow(GEN a, long n)
1190    GEN     RgXn_reverse(GEN f, long e)
1191    GEN     RgXn_sqr(GEN f, long n)
1192    GEN     RgXnV_red_shallow(GEN P, long n)
1193    GEN     RgXn_powu(GEN x, ulong m, long n)
1194    GEN     RgXn_powu_i(GEN x, ulong m, long n)
1195    GEN     ZX_translate(GEN P, GEN c)
1196    GEN     ZX_unscale2n(GEN P, long n)
1197    GEN     ZX_unscale(GEN P, GEN h)
1198    GEN     ZX_unscale_div(GEN P, GEN h)
1199    int     ZXQX_dvd(GEN x, GEN y, GEN T)
1200    long    brent_kung_optpow(long d, long n, long m)
1201    GEN     gen_bkeval(GEN Q, long d, GEN x, int use_sqr, void *E,
1202              const bb_algebra *ff, GEN cmul(void *E, GEN P, long a, GEN x))
1203    GEN     gen_bkeval_powers(GEN P, long d, GEN V, void *E,
1204              const bb_algebra *ff, GEN cmul(void *E, GEN P, long a, GEN x))
1205    const bb_algebra * get_Rg_algebra()
1206
1207    # ZG.c
1208    void    ZGC_G_mul_inplace(GEN v, GEN x)
1209    void    ZGC_add_inplace(GEN x, GEN y)
1210    GEN     ZGC_add_sparse(GEN x, GEN y)
1211    void    ZGM_add_inplace(GEN x, GEN y)
1212    GEN     ZGM_add_sparse(GEN x, GEN y)
1213    GEN     G_ZGC_mul(GEN x, GEN v)
1214    GEN     G_ZG_mul(GEN x, GEN y)
1215    GEN     ZGC_G_mul(GEN v, GEN x)
1216    GEN     ZGC_Z_mul(GEN v, GEN x)
1217    GEN     ZG_G_mul(GEN x, GEN y)
1218    GEN     ZG_Z_mul(GEN x, GEN c)
1219    GEN     ZG_add(GEN x, GEN y)
1220    GEN     ZG_mul(GEN x, GEN y)
1221    GEN     ZG_neg(GEN x)
1222    GEN     ZG_normalize(GEN x)
1223    GEN     ZG_sub(GEN x, GEN y)
1224
1225    # ZV.c
1226
1227    void    Flc_lincomb1_inplace(GEN X, GEN Y, ulong v, ulong q)
1228    void    RgM_check_ZM(GEN A, const char *s)
1229    void    RgV_check_ZV(GEN A, const char *s)
1230    GEN     ZV_zc_mul(GEN x, GEN y)
1231    GEN     ZC_ZV_mul(GEN x, GEN y)
1232    GEN     ZC_Z_add(GEN x, GEN y)
1233    GEN     ZC_Z_divexact(GEN X, GEN c)
1234    GEN     ZC_Z_mul(GEN X, GEN c)
1235    GEN     ZC_Z_sub(GEN x, GEN y)
1236    GEN     ZC_add(GEN x, GEN y)
1237    GEN     ZC_copy(GEN x)
1238    GEN     ZC_hnfremdiv(GEN x, GEN y, GEN *Q)
1239    long    ZC_is_ei(GEN x)
1240    GEN     ZC_lincomb(GEN u, GEN v, GEN X, GEN Y)
1241    void    ZC_lincomb1_inplace(GEN X, GEN Y, GEN v)
1242    GEN     ZC_neg(GEN M)
1243    GEN     ZC_reducemodlll(GEN x, GEN y)
1244    GEN     ZC_reducemodmatrix(GEN v, GEN y)
1245    GEN     ZC_sub(GEN x, GEN y)
1246    GEN     ZC_z_mul(GEN X, long c)
1247    GEN     ZM_ZC_mul(GEN x, GEN y)
1248    GEN     ZM_Z_div(GEN X, GEN c)
1249    GEN     ZM_Z_divexact(GEN X, GEN c)
1250    GEN     ZM_Z_mul(GEN X, GEN c)
1251    GEN     ZM_add(GEN x, GEN y)
1252    GEN     ZM_copy(GEN x)
1253    GEN     ZM_det_triangular(GEN mat)
1254    GEN     ZM_diag_mul(GEN m, GEN d)
1255    int     ZM_equal(GEN A, GEN B)
1256    GEN     ZM_hnfdivrem(GEN x, GEN y, GEN *Q)
1257    int     ZM_ishnf(GEN x)
1258    int     ZM_isidentity(GEN x)
1259    int     ZM_isscalar(GEN x, GEN s)
1260    long    ZM_max_lg(GEN x)
1261    GEN     ZM_mul(GEN x, GEN y)
1262    GEN     ZM_mul_diag(GEN m, GEN d)
1263    GEN     ZM_multosym(GEN x, GEN y)
1264    GEN     ZM_neg(GEN x)
1265    GEN     ZM_nm_mul(GEN x, GEN y)
1266    GEN     ZM_pow(GEN x, GEN n)
1267    GEN     ZM_powu(GEN x, ulong n)
1268    GEN     ZM_reducemodlll(GEN x, GEN y)
1269    GEN     ZM_reducemodmatrix(GEN v, GEN y)
1270    GEN     ZM_sqr(GEN x)
1271    GEN     ZM_sub(GEN x, GEN y)
1272    GEN     ZM_supnorm(GEN x)
1273    GEN     ZM_to_Flm(GEN x, ulong p)
1274    GEN     ZM_to_zm(GEN z)
1275    GEN     ZM_transmul(GEN x, GEN y)
1276    GEN     ZM_transmultosym(GEN x, GEN y)
1277    GEN     ZMV_to_zmV(GEN z)
1278    void    ZM_togglesign(GEN M)
1279    GEN     ZM_zc_mul(GEN x, GEN y)
1280    GEN     ZM_zm_mul(GEN x, GEN y)
1281    GEN     ZMrow_ZC_mul(GEN x, GEN y, long i)
1282    GEN     ZV_ZM_mul(GEN x, GEN y)
1283    int     ZV_abscmp(GEN x, GEN y)
1284    int     ZV_cmp(GEN x, GEN y)
1285    GEN     ZV_content(GEN x)
1286    GEN     ZV_dotproduct(GEN x, GEN y)
1287    GEN     ZV_dotsquare(GEN x)
1288    int     ZV_equal(GEN V, GEN W)
1289    int     ZV_equal0(GEN V)
1290    long    ZV_max_lg(GEN x)
1291    void    ZV_neg_inplace(GEN M)
1292    GEN     ZV_prod(GEN v)
1293    GEN     ZV_sum(GEN v)
1294    GEN     ZV_to_Flv(GEN x, ulong p)
1295    GEN     ZV_to_nv(GEN z)
1296    void    ZV_togglesign(GEN M)
1297    GEN     gram_matrix(GEN M)
1298    GEN     nm_Z_mul(GEN X, GEN c)
1299    GEN     zm_mul(GEN x, GEN y)
1300    GEN     zm_to_Flm(GEN z, ulong p)
1301    GEN     zm_to_ZM(GEN z)
1302    GEN     zm_zc_mul(GEN x, GEN y)
1303    GEN     zmV_to_ZMV(GEN z)
1304    long    zv_content(GEN x)
1305    long    zv_dotproduct(GEN x, GEN y)
1306    int     zv_equal(GEN V, GEN W)
1307    int     zv_equal0(GEN V)
1308    GEN     zv_neg(GEN x)
1309    GEN     zv_neg_inplace(GEN M)
1310    long    zv_prod(GEN v)
1311    GEN     zv_prod_Z(GEN v)
1312    long    zv_sum(GEN v)
1313    GEN     zv_to_Flv(GEN z, ulong p)
1314    GEN     zv_z_mul(GEN v, long n)
1315    GEN     zv_ZM_mul(GEN x, GEN y)
1316    int     zvV_equal(GEN V, GEN W)
1317
1318    # ZX.c
1319
1320    void    RgX_check_QX(GEN x, const char *s)
1321    void    RgX_check_ZX(GEN x, const char *s)
1322    void    RgX_check_ZXX(GEN x, const char *s)
1323    GEN     Z_ZX_sub(GEN x, GEN y)
1324    GEN     ZX_Z_add(GEN y, GEN x)
1325    GEN     ZX_Z_add_shallow(GEN y, GEN x)
1326    GEN     ZX_Z_divexact(GEN y, GEN x)
1327    GEN     ZX_Z_mul(GEN y, GEN x)
1328    GEN     ZX_Z_sub(GEN y, GEN x)
1329    GEN     ZX_add(GEN x, GEN y)
1330    GEN     ZX_copy(GEN x)
1331    GEN     ZX_deriv(GEN x)
1332    GEN     ZX_div_by_X_1(GEN a, GEN *r)
1333    int     ZX_equal(GEN V, GEN W)
1334    GEN     ZX_eval1(GEN x)
1335    long    ZX_max_lg(GEN x)
1336    GEN     ZX_mod_Xnm1(GEN T, ulong n)
1337    GEN     ZX_mul(GEN x, GEN y)
1338    GEN     ZX_mulspec(GEN a, GEN b, long na, long nb)
1339    GEN     ZX_mulu(GEN y, ulong x)
1340    GEN     ZX_neg(GEN x)
1341    GEN     ZX_rem(GEN x, GEN y)
1342    GEN     ZX_remi2n(GEN y, long n)
1343    GEN     ZX_rescale2n(GEN P, long n)
1344    GEN     ZX_rescale(GEN P, GEN h)
1345    GEN     ZX_rescale_lt(GEN P)
1346    GEN     ZX_shifti(GEN x, long n)
1347    GEN     ZX_sqr(GEN x)
1348    GEN     ZX_sqrspec(GEN a, long na)
1349    GEN     ZX_sub(GEN x, GEN y)
1350    long    ZX_val(GEN x)
1351    long    ZX_valrem(GEN x, GEN *Z)
1352    GEN     ZXT_remi2n(GEN z, long n)
1353    GEN     ZXV_Z_mul(GEN y, GEN x)
1354    GEN     ZXV_dotproduct(GEN V, GEN W)
1355    int     ZXV_equal(GEN V, GEN W)
1356    GEN     ZXV_remi2n(GEN x, long n)
1357    GEN     ZXX_Z_divexact(GEN y, GEN x)
1358    GEN     ZXX_Z_mul(GEN y, GEN x)
1359    GEN     ZXX_Z_add_shallow(GEN x, GEN y)
1360    long    ZXX_max_lg(GEN x)
1361    GEN     ZXX_renormalize(GEN x, long lx)
1362    GEN     ZXX_to_Kronecker(GEN P, long n)
1363    GEN     ZXX_to_Kronecker_spec(GEN P, long lP, long n)
1364    GEN     scalar_ZX(GEN x, long v)
1365    GEN     scalar_ZX_shallow(GEN x, long v)
1366    GEN     zx_to_ZX(GEN z)
1367
1368    # algebras.c
1369
1370    GEN     alg_centralproj(GEN al, GEN z, int maps)
1371    GEN     alg_change_overorder_shallow(GEN al, GEN ord)
1372    GEN     alg_complete(GEN rnf, GEN aut, GEN hi, GEN hf, long maxord)
1373    GEN     alg_csa_table(GEN nf, GEN mt, long v, long maxord)
1374    GEN     alg_cyclic(GEN rnf, GEN aut, GEN b, long maxord)
1375    GEN     alg_decomposition(GEN al)
1376    long    alg_get_absdim(GEN al)
1377    long    algabsdim(GEN al)
1378    GEN     alg_get_abssplitting(GEN al)
1379    GEN     alg_get_aut(GEN al)
1380    GEN     algaut(GEN al)
1381    GEN     alg_get_auts(GEN al)
1382    GEN     alg_get_b(GEN al)
1383    GEN     algb(GEN al)
1384    GEN     algcenter(GEN al)
1385    GEN     alg_get_center(GEN al)
1386    GEN     alg_get_char(GEN al)
1387    GEN     algchar(GEN al)
1388    long    alg_get_degree(GEN al)
1389    long    algdegree(GEN al)
1390    long    alg_get_dim(GEN al)
1391    long    algdim(GEN al)
1392    GEN     alg_get_hasse_f(GEN al)
1393    GEN     alghassef(GEN al)
1394    GEN     alg_get_hasse_i(GEN al)
1395    GEN     alghassei(GEN al)
1396    GEN     alg_get_invbasis(GEN al)
1397    GEN     alginvbasis(GEN al)
1398    GEN     alg_get_multable(GEN al)
1399    GEN     alg_get_basis(GEN al)
1400    GEN     algbasis(GEN al)
1401    GEN     alg_get_relmultable(GEN al)
1402    GEN     algrelmultable(GEN al)
1403    GEN     alg_get_splitpol(GEN al)
1404    GEN     alg_get_splittingfield(GEN al)
1405    GEN     algsplittingfield(GEN al)
1406    GEN     alg_get_splittingbasis(GEN al)
1407    GEN     alg_get_splittingbasisinv(GEN al)
1408    GEN     alg_get_splittingdata(GEN al)
1409    GEN     algsplittingdata(GEN al)
1410    GEN     alg_get_tracebasis(GEN al)
1411    GEN     alg_hasse(GEN nf, long n, GEN hi, GEN hf, long var, long flag)
1412    GEN     alg_hilbert(GEN nf, GEN a, GEN b, long v, long flag)
1413    GEN     alg_matrix(GEN nf, long n, long v, GEN L, long flag)
1414    long    alg_model(GEN al, GEN x)
1415    GEN     alg_ordermodp(GEN al, GEN p)
1416    GEN     alg_quotient(GEN al, GEN I, int maps)
1417    GEN     algradical(GEN al)
1418    GEN     algsimpledec(GEN al, int maps)
1419    GEN     algsubalg(GEN al, GEN basis)
1420    long    alg_type(GEN al)
1421    GEN     algadd(GEN al, GEN x, GEN y)
1422    GEN     algalgtobasis(GEN al, GEN x)
1423    GEN     algbasischarpoly(GEN al, GEN x, long v)
1424    GEN     algbasismul(GEN al, GEN x, GEN y)
1425    GEN     algbasismultable(GEN al, GEN x)
1426    GEN     algbasismultable_Flm(GEN mt, GEN x, ulong m)
1427    GEN     algbasistoalg(GEN al, GEN x)
1428    GEN     algcharpoly(GEN al, GEN x, long v)
1429    GEN     algdisc(GEN al)
1430    GEN     algdivl(GEN al, GEN x, GEN y)
1431    GEN     algdivr(GEN al, GEN x, GEN y)
1432    GEN     alggroup(GEN gal, GEN p)
1433    GEN     alghasse(GEN al, GEN pl)
1434    GEN     alginit(GEN A, GEN B, long v, long flag)
1435    long    algindex(GEN al, GEN pl)
1436    GEN     alginv(GEN al, GEN x)
1437    int     algisassociative(GEN mt0, GEN p)
1438    int     algiscommutative(GEN al)
1439    int     algisdivision(GEN al, GEN pl)
1440    int     algisramified(GEN al, GEN pl)
1441    int     algissemisimple(GEN al)
1442    int     algissimple(GEN al, long ss)
1443    int     algissplit(GEN al, GEN pl)
1444    int     algisdivl(GEN al, GEN x, GEN y, GEN* ptz)
1445    int     algisinv(GEN al, GEN x, GEN* ptix)
1446    GEN     algleftordermodp(GEN al, GEN Ip, GEN p)
1447    GEN     algmul(GEN al, GEN x, GEN y)
1448    GEN     algmultable(GEN al)
1449    GEN     alglathnf(GEN al, GEN m)
1450    GEN     algleftmultable(GEN al, GEN x)
1451    GEN     algneg(GEN al, GEN x)
1452    GEN     algnorm(GEN al, GEN x)
1453    GEN     algpoleval(GEN al, GEN pol, GEN x)
1454    GEN     algpow(GEN al, GEN x, GEN n)
1455    GEN     algprimesubalg(GEN al)
1456    GEN     algramifiedplaces(GEN al)
1457    GEN     algrandom(GEN al, GEN b)
1458    GEN     algsplittingmatrix(GEN al, GEN x)
1459    GEN     algsqr(GEN al, GEN x)
1460    GEN     algsub(GEN al, GEN x, GEN y)
1461    GEN     algtableinit(GEN mt, GEN p)
1462    GEN     algtensor(GEN al1, GEN al2, long maxord)
1463    GEN     algtrace(GEN al, GEN x)
1464    long    algtype(GEN al)
1465    GEN     bnfgwgeneric(GEN bnf, GEN Lpr, GEN Ld, GEN pl, long var)
1466    GEN     bnrgwsearch(GEN bnr, GEN Lpr, GEN Ld, GEN pl)
1467    void    checkalg(GEN x)
1468    void    checkhasse(GEN nf, GEN hi, GEN hf, long n)
1469    long    cyclicrelfrob(GEN rnf, GEN auts, GEN pr)
1470    GEN     hassecoprime(GEN hi, GEN hf, long n)
1471    GEN     hassedown(GEN nf, long n, GEN hi, GEN hf)
1472    GEN     hassewedderburn(GEN hi, GEN hf, long n)
1473    long    localhasse(GEN rnf, GEN cnd, GEN pl, GEN auts, GEN b, long k)
1474    GEN     nfgrunwaldwang(GEN nf0, GEN Lpr, GEN Ld, GEN pl, long var)
1475    GEN     nfgwkummer(GEN nf, GEN Lpr, GEN Ld, GEN pl, long var)
1476
1477    # alglin1.c
1478
1479    GEN     F2m_F2c_gauss(GEN a, GEN b)
1480    GEN     F2m_F2c_invimage(GEN A, GEN y)
1481    GEN     F2m_deplin(GEN x)
1482    ulong   F2m_det(GEN x)
1483    ulong   F2m_det_sp(GEN x)
1484    GEN     F2m_gauss(GEN a, GEN b)
1485    GEN     F2m_image(GEN x)
1486    GEN     F2m_indexrank(GEN x)
1487    GEN     F2m_inv(GEN x)
1488    GEN     F2m_invimage(GEN A, GEN B)
1489    GEN     F2m_ker(GEN x)
1490    GEN     F2m_ker_sp(GEN x, long deplin)
1491    long    F2m_rank(GEN x)
1492    GEN     F2m_suppl(GEN x)
1493    GEN     F2xqM_F2xqC_mul(GEN a, GEN b, GEN T)
1494    GEN     F2xqM_det(GEN a, GEN T)
1495    GEN     F2xqM_ker(GEN x, GEN T)
1496    GEN     F2xqM_image(GEN x, GEN T)
1497    GEN     F2xqM_inv(GEN a, GEN T)
1498    GEN     F2xqM_mul(GEN a, GEN b, GEN T)
1499    long    F2xqM_rank(GEN x, GEN T)
1500    GEN     Flm_Flc_gauss(GEN a, GEN b, ulong p)
1501    GEN     Flm_Flc_invimage(GEN mat, GEN y, ulong p)
1502    GEN     Flm_deplin(GEN x, ulong p)
1503    ulong   Flm_det(GEN x, ulong p)
1504    ulong   Flm_det_sp(GEN x, ulong p)
1505    GEN     Flm_gauss(GEN a, GEN b, ulong p)
1506    GEN     Flm_image(GEN x, ulong p)
1507    GEN     Flm_invimage(GEN m, GEN v, ulong p)
1508    GEN     Flm_indexrank(GEN x, ulong p)
1509    GEN     Flm_intersect(GEN x, GEN y, ulong p)
1510    GEN     Flm_inv(GEN x, ulong p)
1511    GEN     Flm_ker(GEN x, ulong p)
1512    GEN     Flm_ker_sp(GEN x, ulong p, long deplin)
1513    long    Flm_rank(GEN x, ulong p)
1514    GEN     Flm_suppl(GEN x, ulong p)
1515    GEN     FlxqM_FlxqC_gauss(GEN a, GEN b, GEN T, ulong p)
1516    GEN     FlxqM_FlxqC_mul(GEN a, GEN b, GEN T, ulong p)
1517    GEN     FlxqM_det(GEN a, GEN T, ulong p)
1518    GEN     FlxqM_gauss(GEN a, GEN b, GEN T, ulong p)
1519    GEN     FlxqM_ker(GEN x, GEN T, ulong p)
1520    GEN     FlxqM_image(GEN x, GEN T, ulong p)
1521    GEN     FlxqM_inv(GEN x, GEN T, ulong p)
1522    GEN     FlxqM_mul(GEN a, GEN b, GEN T, ulong p)
1523    long    FlxqM_rank(GEN x, GEN T, ulong p)
1524    GEN     FpM_FpC_gauss(GEN a, GEN b, GEN p)
1525    GEN     FpM_FpC_invimage(GEN m, GEN v, GEN p)
1526    GEN     FpM_deplin(GEN x, GEN p)
1527    GEN     FpM_det(GEN x, GEN p)
1528    GEN     FpM_gauss(GEN a, GEN b, GEN p)
1529    GEN     FpM_image(GEN x, GEN p)
1530    GEN     FpM_indexrank(GEN x, GEN p)
1531    GEN     FpM_intersect(GEN x, GEN y, GEN p)
1532    GEN     FpM_inv(GEN x, GEN p)
1533    GEN     FpM_invimage(GEN m, GEN v, GEN p)
1534    GEN     FpM_ker(GEN x, GEN p)
1535    long    FpM_rank(GEN x, GEN p)
1536    GEN     FpM_suppl(GEN x, GEN p)
1537    GEN     FqM_FqC_gauss(GEN a, GEN b, GEN T, GEN p)
1538    GEN     FqM_FqC_mul(GEN a, GEN b, GEN T, GEN p)
1539    GEN     FqM_deplin(GEN x, GEN T, GEN p)
1540    GEN     FqM_det(GEN x, GEN T, GEN p)
1541    GEN     FqM_gauss(GEN a, GEN b, GEN T, GEN p)
1542    GEN     FqM_ker(GEN x, GEN T, GEN p)
1543    GEN     FqM_image(GEN x, GEN T, GEN p)
1544    GEN     FqM_inv(GEN x, GEN T, GEN p)
1545    GEN     FqM_mul(GEN a, GEN b, GEN T, GEN p)
1546    long    FqM_rank(GEN a, GEN T, GEN p)
1547    GEN     FqM_suppl(GEN x, GEN T, GEN p)
1548    GEN     QM_inv(GEN M, GEN dM)
1549    GEN     RgM_Fp_init(GEN a, GEN p, ulong *pp)
1550    GEN     RgM_RgC_invimage(GEN A, GEN B)
1551    GEN     RgM_diagonal(GEN m)
1552    GEN     RgM_diagonal_shallow(GEN m)
1553    GEN     RgM_Hadamard(GEN a)
1554    GEN     RgM_inv_upper(GEN a)
1555    GEN     RgM_invimage(GEN A, GEN B)
1556    GEN     RgM_solve(GEN a, GEN b)
1557    GEN     RgM_solve_realimag(GEN x, GEN y)
1558    void    RgMs_structelim(GEN M, long nbrow, GEN A, GEN *p_col, GEN *p_lin)
1559    GEN     ZM_det(GEN a)
1560    GEN     ZM_detmult(GEN A)
1561    GEN     ZM_gauss(GEN a, GEN b)
1562    GEN     ZM_imagecompl(GEN x)
1563    GEN     ZM_indeximage(GEN x)
1564    GEN     ZM_indexrank(GEN x)
1565    GEN     ZM_inv(GEN M, GEN dM)
1566    GEN     ZM_inv_ratlift(GEN M, GEN *pden)
1567    long    ZM_rank(GEN x)
1568    GEN     ZlM_gauss(GEN a, GEN b, ulong p, long e, GEN C)
1569    GEN     closemodinvertible(GEN x, GEN y)
1570    GEN     deplin(GEN x)
1571    GEN     det(GEN a)
1572    GEN     det0(GEN a, long flag)
1573    GEN     det2(GEN a)
1574    GEN     detint(GEN x)
1575    GEN     eigen(GEN x, long prec)
1576    GEN     gauss(GEN a, GEN b)
1577    GEN     gaussmodulo(GEN M, GEN D, GEN Y)
1578    GEN     gaussmodulo2(GEN M, GEN D, GEN Y)
1579    GEN     gen_Gauss(GEN a, GEN b, void *E, const bb_field *ff)
1580    GEN     gen_Gauss_pivot(GEN x, long *rr, void *E, const bb_field *ff)
1581    GEN     gen_det(GEN a, void *E, const bb_field *ff)
1582    GEN     gen_ker(GEN x, long deplin, void *E, const bb_field *ff)
1583    GEN     gen_matcolmul(GEN a, GEN b, void *E, const bb_field *ff)
1584    GEN     gen_matmul(GEN a, GEN b, void *E, const bb_field *ff)
1585    GEN     image(GEN x)
1586    GEN     image2(GEN x)
1587    GEN     imagecompl(GEN x)
1588    GEN     indexrank(GEN x)
1589    GEN     inverseimage(GEN mat, GEN y)
1590    GEN     ker(GEN x)
1591    GEN     keri(GEN x)
1592    GEN     mateigen(GEN x, long flag, long prec)
1593    GEN     matimage0(GEN x, long flag)
1594    GEN     matker0(GEN x, long flag)
1595    GEN     matsolvemod0(GEN M, GEN D, GEN Y, long flag)
1596    long    rank(GEN x)
1597    GEN     reducemodinvertible(GEN x, GEN y)
1598    GEN     reducemodlll(GEN x, GEN y)
1599    GEN     split_realimag(GEN x, long r1, long r2)
1600    GEN     suppl(GEN x)
1601
1602    # alglin2.c
1603
1604    GEN     Flm_charpoly(GEN x, ulong p)
1605    GEN     Flm_hess(GEN x, ulong p)
1606    GEN     FpM_charpoly(GEN x, GEN p)
1607    GEN     FpM_hess(GEN x, GEN p)
1608    GEN     Frobeniusform(GEN V, long n)
1609    GEN     QM_minors_coprime(GEN x, GEN pp)
1610    GEN     QM_ImZ_hnf(GEN x)
1611    GEN     QM_ImQ_hnf(GEN x)
1612    GEN     QM_charpoly_ZX(GEN M)
1613    GEN     QM_charpoly_ZX_bound(GEN M, long bit)
1614    GEN     QM_charpoly_ZX2_bound(GEN M, GEN M2, long bit)
1615    GEN     ZM_charpoly(GEN x)
1616    GEN     adj(GEN x)
1617    GEN     adjsafe(GEN x)
1618    GEN     caract(GEN x, long v)
1619    GEN     caradj(GEN x, long v, GEN *py)
1620    GEN     carberkowitz(GEN x, long v)
1621    GEN     carhess(GEN x, long v)
1622    GEN     charpoly(GEN x, long v)
1623    GEN     charpoly0(GEN x, long v, long flag)
1624    GEN     gnorm(GEN x)
1625    GEN     gnorml1(GEN x, long prec)
1626    GEN     gnorml1_fake(GEN x)
1627    GEN     gnormlp(GEN x, GEN p, long prec)
1628    GEN     gnorml2(GEN x)
1629    GEN     gsupnorm(GEN x, long prec)
1630    void    gsupnorm_aux(GEN x, GEN *m, GEN *msq, long prec)
1631    GEN     gtrace(GEN x)
1632    GEN     hess(GEN x)
1633    GEN     intersect(GEN x, GEN y)
1634    GEN     jacobi(GEN a, long prec)
1635    GEN     matadjoint0(GEN x, long flag)
1636    GEN     matcompanion(GEN x)
1637    GEN     matrixqz0(GEN x, GEN pp)
1638    GEN     minpoly(GEN x, long v)
1639    GEN     qfgaussred(GEN a)
1640    GEN     qfgaussred_positive(GEN a)
1641    GEN     qfsign(GEN a)
1642
1643    # alglin3.c
1644
1645    GEN     apply0(GEN f, GEN A)
1646    GEN     diagonal(GEN x)
1647    GEN     diagonal_shallow(GEN x)
1648    GEN     extract0(GEN x, GEN l1, GEN l2)
1649    GEN     fold0(GEN f, GEN A)
1650    GEN     genapply(void *E, GEN (*f)(void *E, GEN x), GEN A)
1651    GEN     genfold(void *E, GEN (*f)(void *E, GEN x, GEN y), GEN A)
1652    GEN     genindexselect(void *E, long (*f)(void *E, GEN x), GEN A)
1653    GEN     genselect(void *E, long (*f)(void *E, GEN x), GEN A)
1654    GEN     gtomat(GEN x)
1655    GEN     gtrans(GEN x)
1656    GEN     matmuldiagonal(GEN x, GEN d)
1657    GEN     matmultodiagonal(GEN x, GEN y)
1658    GEN     matslice0(GEN A, long x1, long x2, long y1, long y2)
1659    GEN     parapply(GEN V, GEN C)
1660    void    parfor(GEN a, GEN b, GEN code, void *E, long call(void*, GEN, GEN))
1661    void    parforprime(GEN a, GEN b, GEN code, void *E, long call(void*, GEN, GEN))
1662    void    parforvec(GEN x, GEN code, long flag, void *E, long call(void*, GEN, GEN))
1663    GEN     parselect(GEN C, GEN D, long flag)
1664    GEN     select0(GEN A, GEN f, long flag)
1665    GEN     shallowextract(GEN x, GEN L)
1666    GEN     shallowtrans(GEN x)
1667    GEN     vecapply(void *E, GEN (*f)(void* E, GEN x), GEN x)
1668    GEN     veccatapply(void *E, GEN (*f)(void* E, GEN x), GEN x)
1669    GEN     veccatselapply(void *Epred, long (*pred)(void* E, GEN x), void *Efun,
1670                                GEN (*fun)(void* E, GEN x), GEN A)
1671    GEN     vecrange(GEN a, GEN b)
1672    GEN     vecrangess(long a, long b)
1673    GEN     vecselapply(void *Epred, long (*pred)(void* E, GEN x), void *Efun,
1674                                GEN (*fun)(void* E, GEN x), GEN A)
1675    GEN     vecselect(void *E, long (*f)(void* E, GEN x), GEN A)
1676    GEN     vecslice0(GEN A, long y1, long y2)
1677    GEN     vecsum(GEN v)
1678
1679    # anal.c
1680
1681    void    addhelp(const char *e, char *s)
1682    void    alias0(const char *s, const char *old)
1683    GEN     compile_str(const char *s)
1684    GEN     chartoGENstr(char c)
1685    long    delete_var()
1686    long    fetch_user_var(const char *s)
1687    long    fetch_var()
1688    long    fetch_var_higher()
1689    GEN     fetch_var_value(long vx, GEN t)
1690    char *  gp_embedded(const char *s)
1691    void    gp_embedded_init(long rsize, long vsize)
1692    GEN     gp_read_str(const char *t)
1693    entree* install(void *f, const char *name, const char *code)
1694    entree* is_entry(const char *s)
1695    void    kill0(const char *e)
1696    void    pari_var_close()
1697    void    pari_var_init()
1698    long    pari_var_next()
1699    long    pari_var_next_temp()
1700    long    pari_var_create(entree *ep)
1701    void    name_var(long n, const char *s)
1702    GEN     readseq(char *t)
1703    GEN*    safegel(GEN x, long l)
1704    long*   safeel(GEN x, long l)
1705    GEN*    safelistel(GEN x, long l)
1706    GEN*    safegcoeff(GEN x, long a, long b)
1707    GEN     strntoGENstr(const char *s, long n0)
1708    GEN     strtoGENstr(const char *s)
1709    GEN     strtoi(const char *s)
1710    GEN     strtor(const char *s, long prec)
1711    GEN     type0(GEN x)
1712    GEN     varhigher(const char *s, long v)
1713    GEN     varlower(const char *s, long v)
1714
1715    # aprcl.c
1716
1717    long    isprimeAPRCL(GEN N)
1718
1719    # Qfb.c
1720
1721    GEN     Qfb0(GEN x, GEN y, GEN z, GEN d, long prec)
1722    void    check_quaddisc(GEN x, long *s, long *r, const char *f)
1723    void    check_quaddisc_imag(GEN x, long *r, const char *f)
1724    void    check_quaddisc_real(GEN x, long *r, const char *f)
1725    long    cornacchia(GEN d, GEN p, GEN *px, GEN *py)
1726    long    cornacchia2(GEN d, GEN p, GEN *px, GEN *py)
1727    GEN     nucomp(GEN x, GEN y, GEN L)
1728    GEN     nudupl(GEN x, GEN L)
1729    GEN     nupow(GEN x, GEN n, GEN L)
1730    GEN     primeform(GEN x, GEN p, long prec)
1731    GEN     primeform_u(GEN x, ulong p)
1732    int     qfb_equal1(GEN f)
1733    GEN     qfbcompraw(GEN x, GEN y)
1734    GEN     qfbpowraw(GEN x, long n)
1735    GEN     qfbred0(GEN x, long flag, GEN D, GEN isqrtD, GEN sqrtD)
1736    GEN     qfbredsl2(GEN q, GEN S)
1737    GEN     qfbsolve(GEN Q, GEN n)
1738    GEN     qfi(GEN x, GEN y, GEN z)
1739    GEN     qfi_1(GEN x)
1740    GEN     qfi_Shanks(GEN a, GEN g, long n)
1741    GEN     qfi_log(GEN a, GEN g, GEN o)
1742    GEN     qfi_order(GEN q, GEN o)
1743    GEN     qficomp(GEN x, GEN y)
1744    GEN     qficompraw(GEN x, GEN y)
1745    GEN     qfipowraw(GEN x, long n)
1746    GEN     qfisolvep(GEN Q, GEN p)
1747    GEN     qfisqr(GEN x)
1748    GEN     qfisqrraw(GEN x)
1749    GEN     qfr(GEN x, GEN y, GEN z, GEN d)
1750    GEN     qfr3_comp(GEN x, GEN y, qfr_data *S)
1751    GEN     qfr3_pow(GEN x, GEN n, qfr_data *S)
1752    GEN     qfr3_red(GEN x, qfr_data *S)
1753    GEN     qfr3_rho(GEN x, qfr_data *S)
1754    GEN     qfr3_to_qfr(GEN x, GEN z)
1755    GEN     qfr5_comp(GEN x, GEN y, qfr_data *S)
1756    GEN     qfr5_dist(GEN e, GEN d, long prec)
1757    GEN     qfr5_pow(GEN x, GEN n, qfr_data *S)
1758    GEN     qfr5_red(GEN x, qfr_data *S)
1759    GEN     qfr5_rho(GEN x, qfr_data *S)
1760    GEN     qfr5_to_qfr(GEN x, GEN d0)
1761    GEN     qfr_1(GEN x)
1762    void    qfr_data_init(GEN D, long prec, qfr_data *S)
1763    GEN     qfr_to_qfr5(GEN x, long prec)
1764    GEN     qfrcomp(GEN x, GEN y)
1765    GEN     qfrcompraw(GEN x, GEN y)
1766    GEN     qfrpow(GEN x, GEN n)
1767    GEN     qfrpowraw(GEN x, long n)
1768    GEN     qfrsolvep(GEN Q, GEN p)
1769    GEN     qfrsqr(GEN x)
1770    GEN     qfrsqrraw(GEN x)
1771    GEN     quadgen(GEN x)
1772    GEN     quadpoly(GEN x)
1773    GEN     quadpoly0(GEN x, long v)
1774    GEN     redimag(GEN x)
1775    GEN     redreal(GEN x)
1776    GEN     redrealnod(GEN x, GEN isqrtD)
1777    GEN     rhoreal(GEN x)
1778    GEN     rhorealnod(GEN x, GEN isqrtD)
1779
1780    # arith1.c
1781
1782    ulong   Fl_order(ulong a, ulong o, ulong p)
1783    GEN     Fl_powers(ulong x, long n, ulong p)
1784    GEN     Fl_powers_pre(ulong x, long n, ulong p, ulong pi)
1785    ulong   Fl_powu(ulong x, ulong n, ulong p)
1786    ulong   Fl_powu_pre(ulong x, ulong n, ulong p, ulong pi)
1787    ulong   Fl_sqrt(ulong a, ulong p)
1788    ulong   Fl_sqrt_pre(ulong a, ulong p, ulong pi)
1789    ulong   Fl_sqrtl(ulong a, ulong l, ulong p)
1790    ulong   Fl_sqrtl_pre(ulong a, ulong l, ulong p, ulong pi)
1791    GEN     Fp_factored_order(GEN a, GEN o, GEN p)
1792    int     Fp_ispower(GEN x, GEN K, GEN p)
1793    GEN     Fp_log(GEN a, GEN g, GEN ord, GEN p)
1794    GEN     Fp_order(GEN a, GEN o, GEN p)
1795    GEN     Fp_pow(GEN a, GEN n, GEN m)
1796    GEN     Fp_powers(GEN x, long n, GEN p)
1797    GEN     Fp_pows(GEN A, long k, GEN N)
1798    GEN     Fp_powu(GEN x, ulong k, GEN p)
1799    GEN     Fp_sqrt(GEN a, GEN p)
1800    GEN     Fp_sqrtn(GEN a, GEN n, GEN p, GEN *zetan)
1801    GEN     Z_ZV_mod(GEN P, GEN xa)
1802    GEN     Z_chinese(GEN a, GEN b, GEN A, GEN B)
1803    GEN     Z_chinese_all(GEN a, GEN b, GEN A, GEN B, GEN *pC)
1804    GEN     Z_chinese_coprime(GEN a, GEN b, GEN A, GEN B, GEN C)
1805    GEN     Z_chinese_post(GEN a, GEN b, GEN C, GEN U, GEN d)
1806    void    Z_chinese_pre(GEN A, GEN B, GEN *pC, GEN *pU, GEN *pd)
1807    GEN     Z_factor_listP(GEN N, GEN L)
1808    long    Z_isanypower(GEN x, GEN *y)
1809    long    Z_isfundamental(GEN x)
1810    long    Z_ispow2(GEN x)
1811    long    Z_ispowerall(GEN x, ulong k, GEN *pt)
1812    long    Z_issquareall(GEN x, GEN *pt)
1813    GEN     Z_nv_mod(GEN P, GEN xa)
1814    GEN     ZV_allpnqn(GEN x)
1815    GEN     ZV_chinese(GEN A, GEN P, GEN *pt_mod)
1816    GEN     ZV_chinese_tree(GEN A, GEN P, GEN tree, GEN *pt_mod)
1817    GEN     ZV_producttree(GEN xa)
1818    GEN     ZX_nv_mod_tree(GEN P, GEN xa, GEN T)
1819    GEN     Zideallog(GEN bid, GEN x)
1820    long    Zp_issquare(GEN a, GEN p)
1821    GEN     bestappr(GEN x, GEN k)
1822    GEN     bestapprPade(GEN x, long B)
1823    long    cgcd(long a, long b)
1824    GEN     chinese(GEN x, GEN y)
1825    GEN     chinese1(GEN x)
1826    GEN     chinese1_coprime_Z(GEN x)
1827    GEN     classno(GEN x)
1828    GEN     classno2(GEN x)
1829    long    clcm(long a, long b)
1830    GEN     contfrac0(GEN x, GEN b, long flag)
1831    GEN     contfracpnqn(GEN x, long n)
1832    GEN     fibo(long n)
1833    GEN     gboundcf(GEN x, long k)
1834    GEN     gcf(GEN x)
1835    GEN     gcf2(GEN b, GEN x)
1836    const bb_field *get_Fp_field(void **E, GEN p)
1837    ulong   pgener_Fl(ulong p)
1838    ulong   pgener_Fl_local(ulong p, GEN L)
1839    GEN     pgener_Fp(GEN p)
1840    GEN     pgener_Fp_local(GEN p, GEN L)
1841    ulong   pgener_Zl(ulong p)
1842    GEN     pgener_Zp(GEN p)
1843    long    gisanypower(GEN x, GEN *pty)
1844    GEN     gissquare(GEN x)
1845    GEN     gissquareall(GEN x, GEN *pt)
1846    GEN     hclassno(GEN x)
1847    long    hilbert(GEN x, GEN y, GEN p)
1848    long    hilbertii(GEN x, GEN y, GEN p)
1849    long    isfundamental(GEN x)
1850    long    ispolygonal(GEN x, GEN S, GEN *N)
1851    long    ispower(GEN x, GEN k, GEN *pty)
1852    long    isprimepower(GEN x, GEN *pty)
1853    long    ispseudoprimepower(GEN n, GEN *pt)
1854    long    issquare(GEN x)
1855    long    issquareall(GEN x, GEN *pt)
1856    long    krois(GEN x, long y)
1857    long    kroiu(GEN x, ulong y)
1858    long    kronecker(GEN x, GEN y)
1859    long    krosi(long s, GEN x)
1860    long    kross(long x, long y)
1861    long    kroui(ulong x, GEN y)
1862    long    krouu(ulong x, ulong y)
1863    GEN     lcmii(GEN a, GEN b)
1864    long    logint0(GEN B, GEN y, GEN *ptq)
1865    GEN     mpfact(long n)
1866    GEN     muls_interval(long a, long b)
1867    GEN     mulu_interval(ulong a, ulong b)
1868    GEN     ncV_chinese_center(GEN A, GEN P, GEN *pt_mod)
1869    GEN     nmV_chinese_center(GEN A, GEN P, GEN *pt_mod)
1870    GEN     odd_prime_divisors(GEN q)
1871    GEN     order(GEN x)
1872    GEN     pnqn(GEN x)
1873    GEN     qfbclassno0(GEN x, long flag)
1874    GEN     quaddisc(GEN x)
1875    GEN     quadregulator(GEN x, long prec)
1876    GEN     quadunit(GEN x)
1877    ulong   rootsof1_Fl(ulong n, ulong p)
1878    GEN     rootsof1_Fp(GEN n, GEN p)
1879    GEN     rootsof1u_Fp(ulong n, GEN p)
1880    long    sisfundamental(long x)
1881    GEN     sqrtint(GEN a)
1882    GEN     ramanujantau(GEN n)
1883    ulong   ugcd(ulong a, ulong b)
1884    long    uisprimepower(ulong n, ulong *p)
1885    long    uissquare(ulong A)
1886    long    uissquareall(ulong A, ulong *sqrtA)
1887    long    unegisfundamental(ulong x)
1888    long    uposisfundamental(ulong x)
1889    GEN     znlog(GEN x, GEN g, GEN o)
1890    GEN     znorder(GEN x, GEN o)
1891    GEN     znprimroot(GEN m)
1892    GEN     znstar(GEN x)
1893    GEN     znstar0(GEN N, long flag)
1894
1895    # arith2.c
1896
1897    GEN     Z_smoothen(GEN N, GEN L, GEN *pP, GEN *pe)
1898    GEN     boundfact(GEN n, ulong lim)
1899    GEN     check_arith_pos(GEN n, const char *f)
1900    GEN     check_arith_non0(GEN n, const char *f)
1901    GEN     check_arith_all(GEN n, const char *f)
1902    GEN     clean_Z_factor(GEN f)
1903    GEN     corepartial(GEN n, long l)
1904    GEN     core0(GEN n, long flag)
1905    GEN     core2(GEN n)
1906    GEN     core2partial(GEN n, long l)
1907    GEN     coredisc(GEN n)
1908    GEN     coredisc0(GEN n, long flag)
1909    GEN     coredisc2(GEN n)
1910    long    corediscs(long D, ulong *f)
1911    GEN     digits(GEN N, GEN B)
1912    GEN     divisors(GEN n)
1913    GEN     divisorsu(ulong n)
1914    GEN     divisorsu_fact(GEN P, GEN e)
1915    GEN     factor_pn_1(GEN p, ulong n)
1916    GEN     factor_pn_1_limit(GEN p, long n, ulong lim)
1917    GEN     factoru_pow(ulong n)
1918    GEN     fromdigits(GEN x, GEN B)
1919    GEN     fuse_Z_factor(GEN f, GEN B)
1920    GEN     gen_digits(GEN x, GEN B, long n, void *E, bb_ring *r,
1921                              GEN (*div)(void *E, GEN x, GEN y, GEN *r))
1922    GEN     gen_fromdigits(GEN x, GEN B, void *E, bb_ring *r)
1923    byteptr initprimes(ulong maxnum, long *lenp, ulong *lastp)
1924    void    initprimetable(ulong maxnum)
1925    ulong   init_primepointer_geq(ulong a, byteptr *pd)
1926    ulong   init_primepointer_gt(ulong a, byteptr *pd)
1927    ulong   init_primepointer_leq(ulong a, byteptr *pd)
1928    ulong   init_primepointer_lt(ulong a, byteptr *pd)
1929    int     is_Z_factor(GEN f)
1930    int     is_Z_factornon0(GEN f)
1931    int     is_Z_factorpos(GEN f)
1932    ulong   maxprime()
1933    void    maxprime_check(ulong c)
1934    GEN     sumdigits(GEN n)
1935    GEN     sumdigits0(GEN n, GEN B)
1936    ulong   sumdigitsu(ulong n)
1937    GEN     usumdiv_fact(GEN f)
1938    GEN     usumdivk_fact(GEN f, ulong k)
1939
1940    # base1.c
1941
1942    GEN     FpX_FpC_nfpoleval(GEN nf, GEN pol, GEN a, GEN p)
1943    GEN     embed_T2(GEN x, long r1)
1944    GEN     embednorm_T2(GEN x, long r1)
1945    GEN     embed_norm(GEN x, long r1)
1946    void    check_ZKmodule(GEN x, const char *s)
1947    void    checkbid(GEN bid)
1948    GEN     checkbnf(GEN bnf)
1949    void    checkbnr(GEN bnr)
1950    void    checkbnrgen(GEN bnr)
1951    void    checkabgrp(GEN v)
1952    void    checksqmat(GEN x, long N)
1953    GEN     checknf(GEN nf)
1954    GEN     checknfelt_mod(GEN nf, GEN x, const char *s)
1955    void    checkprid(GEN bid)
1956    void    checkrnf(GEN rnf)
1957    GEN     factoredpolred(GEN x, GEN fa)
1958    GEN     factoredpolred2(GEN x, GEN fa)
1959    GEN     galoisapply(GEN nf, GEN aut, GEN x)
1960    GEN     get_bnf(GEN x, long *t)
1961    GEN     get_bnfpol(GEN x, GEN *bnf, GEN *nf)
1962    GEN     get_nf(GEN x, long *t)
1963    GEN     get_nfpol(GEN x, GEN *nf)
1964    GEN     get_prid(GEN x)
1965    GEN     idealfrobenius(GEN nf, GEN gal, GEN pr)
1966    GEN     idealfrobenius_aut(GEN nf, GEN gal, GEN pr, GEN aut)
1967    GEN     idealramfrobenius(GEN nf, GEN gal, GEN pr, GEN ram)
1968    GEN     idealramgroups(GEN nf, GEN gal, GEN pr)
1969    GEN     nf_get_allroots(GEN nf)
1970    long    nf_get_prec(GEN x)
1971    GEN     nfcertify(GEN x)
1972    GEN     nfgaloismatrix(GEN nf, GEN s)
1973    GEN     nfgaloispermtobasis(GEN nf, GEN gal)
1974    void    nfinit_step1(nfbasic_t *T, GEN x, long flag)
1975    GEN     nfinit_step2(nfbasic_t *T, long flag, long prec)
1976    GEN     nfinit(GEN x, long prec)
1977    GEN     nfinit0(GEN x, long flag, long prec)
1978    GEN     nfinitall(GEN x, long flag, long prec)
1979    GEN     nfinitred(GEN x, long prec)
1980    GEN     nfinitred2(GEN x, long prec)
1981    GEN     nfisincl(GEN a, GEN b)
1982    GEN     nfisisom(GEN a, GEN b)
1983    GEN     nfnewprec(GEN nf, long prec)
1984    GEN     nfnewprec_shallow(GEN nf, long prec)
1985    GEN     nfpoleval(GEN nf, GEN pol, GEN a)
1986    long    nftyp(GEN x)
1987    GEN     polredord(GEN x)
1988    GEN     polgalois(GEN x, long prec)
1989    GEN     polred(GEN x)
1990    GEN     polred0(GEN x, long flag, GEN fa)
1991    GEN     polred2(GEN x)
1992    GEN     polredabs(GEN x)
1993    GEN     polredabs0(GEN x, long flag)
1994    GEN     polredabs2(GEN x)
1995    GEN     polredabsall(GEN x, long flun)
1996    GEN     polredbest(GEN x, long flag)
1997    GEN     rnfpolredabs(GEN nf, GEN pol, long flag)
1998    GEN     rnfpolredbest(GEN nf, GEN relpol, long flag)
1999    GEN     smallpolred(GEN x)
2000    GEN     smallpolred2(GEN x)
2001    GEN     tschirnhaus(GEN x)
2002    GEN     ZX_Q_normalize(GEN pol, GEN *ptlc)
2003    GEN     ZX_Z_normalize(GEN pol, GEN *ptk)
2004    GEN     ZX_to_monic(GEN pol, GEN *lead)
2005    GEN     ZX_primitive_to_monic(GEN pol, GEN *lead)
2006
2007    # base2.c
2008
2009    GEN     Fq_to_nf(GEN x, GEN modpr)
2010    GEN     FqM_to_nfM(GEN z, GEN modpr)
2011    GEN     FqV_to_nfV(GEN z, GEN modpr)
2012    GEN     FqX_to_nfX(GEN x, GEN modpr)
2013    GEN     Rg_nffix(const char *f, GEN T, GEN c, int lift)
2014    GEN     RgV_nffix(const char *f, GEN T, GEN P, int lift)
2015    GEN     RgX_nffix(const char *s, GEN nf, GEN x, int lift)
2016    long    ZpX_disc_val(GEN f, GEN p)
2017    GEN     ZpX_gcd(GEN f1, GEN f2, GEN p, GEN pm)
2018    GEN     ZpX_reduced_resultant(GEN x, GEN y, GEN p, GEN pm)
2019    GEN     ZpX_reduced_resultant_fast(GEN f, GEN g, GEN p, long M)
2020    long    ZpX_resultant_val(GEN f, GEN g, GEN p, long M)
2021    void    checkmodpr(GEN modpr)
2022    GEN     ZX_compositum_disjoint(GEN A, GEN B)
2023    GEN     compositum(GEN P, GEN Q)
2024    GEN     compositum2(GEN P, GEN Q)
2025    GEN     nfdisc(GEN x)
2026    GEN     get_modpr(GEN x)
2027    GEN     indexpartial(GEN P, GEN DP)
2028    GEN     modpr_genFq(GEN modpr)
2029    GEN     nf_to_Fq_init(GEN nf, GEN *pr, GEN *T, GEN *p)
2030    GEN     nf_to_Fq(GEN nf, GEN x, GEN modpr)
2031    GEN     nfM_to_FqM(GEN z, GEN nf, GEN modpr)
2032    GEN     nfV_to_FqV(GEN z, GEN nf, GEN modpr)
2033    GEN     nfX_to_FqX(GEN x, GEN nf, GEN modpr)
2034    GEN     nfbasis(GEN x, GEN *y, GEN p)   # PARI <= (2,12,0)
2035    GEN     nfcompositum(GEN nf, GEN A, GEN B, long flag)
2036    void    nfmaxord(nfmaxord_t *S, GEN T, long flag)
2037    GEN     nfmodprinit(GEN nf, GEN pr)
2038    GEN     nfreducemodpr(GEN nf, GEN x, GEN modpr)
2039    GEN     nfsplitting(GEN T, GEN D)
2040    GEN     polcompositum0(GEN P, GEN Q, long flag)
2041    GEN     idealprimedec(GEN nf, GEN p)
2042    GEN     idealprimedec_limit_f(GEN nf, GEN p, long f)
2043    GEN     idealprimedec_limit_norm(GEN nf, GEN p, GEN B)
2044    GEN     rnfbasis(GEN bnf, GEN order)
2045    GEN     rnfdedekind(GEN nf, GEN T, GEN pr, long flag)
2046    GEN     rnfdet(GEN nf, GEN order)
2047    GEN     rnfdiscf(GEN nf, GEN pol)
2048    GEN     rnfequation(GEN nf, GEN pol)
2049    GEN     rnfequation0(GEN nf, GEN pol, long flall)
2050    GEN     rnfequation2(GEN nf, GEN pol)
2051    GEN     nf_rnfeq(GEN nf, GEN relpol)
2052    GEN     nf_rnfeqsimple(GEN nf, GEN relpol)
2053    GEN     rnfequationall(GEN A, GEN B, long *pk, GEN *pLPRS)
2054    GEN     rnfhnfbasis(GEN bnf, GEN order)
2055    long    rnfisfree(GEN bnf, GEN order)
2056    GEN     rnflllgram(GEN nf, GEN pol, GEN order, long prec)
2057    GEN     rnfpolred(GEN nf, GEN pol, long prec)
2058    GEN     rnfpseudobasis(GEN nf, GEN pol)
2059    GEN     rnfsimplifybasis(GEN bnf, GEN order)
2060    GEN     rnfsteinitz(GEN nf, GEN order)
2061    long    factorial_lval(ulong n, ulong p)
2062    GEN     zk_to_Fq_init(GEN nf, GEN *pr, GEN *T, GEN *p)
2063    GEN     zk_to_Fq(GEN x, GEN modpr)
2064    GEN     zkmodprinit(GEN nf, GEN pr)
2065
2066    # base3.c
2067
2068    GEN     Idealstar(GEN nf, GEN x, long flun)
2069    GEN     RgC_to_nfC(GEN nf, GEN x)
2070    GEN     RgM_to_nfM(GEN nf, GEN x)
2071    GEN     RgX_to_nfX(GEN nf, GEN pol)
2072    GEN     algtobasis(GEN nf, GEN x)
2073    GEN     basistoalg(GEN nf, GEN x)
2074    GEN     gpnfvalrem(GEN nf, GEN x, GEN pr, GEN *py)
2075    GEN     ideallist(GEN nf, long bound)
2076    GEN     ideallist0(GEN nf, long bound, long flag)
2077    GEN     ideallistarch(GEN nf, GEN list, GEN arch)
2078    GEN     idealprincipalunits(GEN nf, GEN pr, long e)
2079    GEN     idealstar0(GEN nf, GEN x, long flag)
2080    GEN     indices_to_vec01(GEN archp, long r)
2081    GEN     matalgtobasis(GEN nf, GEN x)
2082    GEN     matbasistoalg(GEN nf, GEN x)
2083    GEN     nf_to_scalar_or_alg(GEN nf, GEN x)
2084    GEN     nf_to_scalar_or_basis(GEN nf, GEN x)
2085    GEN     nfadd(GEN nf, GEN x, GEN y)
2086    GEN     nfarchstar(GEN nf, GEN x, GEN arch)
2087    GEN     nfdiv(GEN nf, GEN x, GEN y)
2088    GEN     nfdiveuc(GEN nf, GEN a, GEN b)
2089    GEN     nfdivrem(GEN nf, GEN a, GEN b)
2090    GEN     nfembed(GEN nf, GEN x, long k)
2091    GEN     nfinv(GEN nf, GEN x)
2092    GEN     nfinvmodideal(GEN nf, GEN x, GEN ideal)
2093    int     nfchecksigns(GEN nf, GEN x, GEN pl)
2094    GEN     nfmod(GEN nf, GEN a, GEN b)
2095    GEN     nfmul(GEN nf, GEN x, GEN y)
2096    GEN     nfmuli(GEN nf, GEN x, GEN y)
2097    GEN     nfnorm(GEN nf, GEN x)
2098    GEN     nfpow(GEN nf, GEN x, GEN k)
2099    GEN     nfpow_u(GEN nf, GEN z, ulong n)
2100    GEN     nfpowmodideal(GEN nf, GEN x, GEN k, GEN ideal)
2101    GEN     nfsign(GEN nf, GEN alpha)
2102    GEN     nfsign_arch(GEN nf, GEN alpha, GEN arch)
2103    GEN     nfsign_from_logarch(GEN Larch, GEN invpi, GEN archp)
2104    GEN     nfsqr(GEN nf, GEN x)
2105    GEN     nfsqri(GEN nf, GEN x)
2106    GEN     nftrace(GEN nf, GEN x)
2107    long    nfval(GEN nf, GEN x, GEN vp)
2108    long    nfvalrem(GEN nf, GEN x, GEN pr, GEN *py)
2109    GEN     polmod_nffix(const char *f, GEN rnf, GEN x, int lift)
2110    GEN     polmod_nffix2(const char *f, GEN T, GEN relpol, GEN x, int lift)
2111    int     pr_equal(GEN nf, GEN P, GEN Q)
2112    GEN     rnfalgtobasis(GEN rnf, GEN x)
2113    GEN     rnfbasistoalg(GEN rnf, GEN x)
2114    GEN     rnfeltnorm(GEN rnf, GEN x)
2115    GEN     rnfelttrace(GEN rnf, GEN x)
2116    GEN     set_sign_mod_divisor(GEN nf, GEN x, GEN y, GEN idele, GEN sarch)
2117    GEN     vec01_to_indices(GEN arch)
2118    GEN     vecsmall01_to_indices(GEN v)
2119    GEN     vecmodii(GEN a, GEN b)
2120    GEN     ideallog(GEN nf, GEN x, GEN bigideal)
2121
2122    GEN     multable(GEN nf, GEN x)
2123    GEN     tablemul(GEN TAB, GEN x, GEN y)
2124    GEN     tablemul_ei(GEN M, GEN x, long i)
2125    GEN     tablemul_ei_ej(GEN M, long i, long j)
2126    GEN     tablemulvec(GEN M, GEN x, GEN v)
2127    GEN     tablesqr(GEN tab, GEN x)
2128    GEN     ei_multable(GEN nf, long i)
2129    long    ZC_nfval(GEN nf, GEN x, GEN P)
2130    long    ZC_nfvalrem(GEN nf, GEN x, GEN P, GEN *t)
2131    GEN     zk_multable(GEN nf, GEN x)
2132    GEN     zk_scalar_or_multable(GEN, GEN x)
2133    int     ZC_prdvd(GEN nf, GEN x, GEN P)
2134
2135    # base4.c
2136
2137    GEN     RM_round_maxrank(GEN G)
2138    GEN     ZM_famat_limit(GEN fa, GEN limit)
2139    GEN     famat_Z_gcd(GEN M, GEN n)
2140    GEN     famat_inv(GEN f)
2141    GEN     famat_inv_shallow(GEN f)
2142    GEN     famat_makecoprime(GEN nf, GEN g, GEN e, GEN pr, GEN prk, GEN EX)
2143    GEN     famat_mul(GEN f, GEN g)
2144    GEN     famat_pow(GEN f, GEN n)
2145    GEN     famat_sqr(GEN f)
2146    GEN     famat_reduce(GEN fa)
2147    GEN     famat_to_nf(GEN nf, GEN f)
2148    GEN     famat_to_nf_modideal_coprime(GEN nf, GEN g, GEN e, GEN id, GEN EX)
2149    GEN     famat_to_nf_moddivisor(GEN nf, GEN g, GEN e, GEN bid)
2150    GEN     famatsmall_reduce(GEN fa)
2151    GEN     gpidealval(GEN nf, GEN ix, GEN P)
2152    GEN     idealtwoelt(GEN nf, GEN ix)
2153    GEN     idealtwoelt0(GEN nf, GEN ix, GEN a)
2154    GEN     idealtwoelt2(GEN nf, GEN x, GEN a)
2155    GEN     idealadd(GEN nf, GEN x, GEN y)
2156    GEN     idealaddmultoone(GEN nf, GEN list)
2157    GEN     idealaddtoone(GEN nf, GEN x, GEN y)
2158    GEN     idealaddtoone_i(GEN nf, GEN x, GEN y)
2159    GEN     idealaddtoone0(GEN nf, GEN x, GEN y)
2160    GEN     idealappr(GEN nf, GEN x)
2161    GEN     idealappr0(GEN nf, GEN x, long fl)
2162    GEN     idealapprfact(GEN nf, GEN x)
2163    GEN     idealchinese(GEN nf, GEN x, GEN y)
2164    GEN     idealcoprime(GEN nf, GEN x, GEN y)
2165    GEN     idealcoprimefact(GEN nf, GEN x, GEN fy)
2166    GEN     idealdiv(GEN nf, GEN x, GEN y)
2167    GEN     idealdiv0(GEN nf, GEN x, GEN y, long flag)
2168    GEN     idealdivexact(GEN nf, GEN x, GEN y)
2169    GEN     idealdivpowprime(GEN nf, GEN x, GEN vp, GEN n)
2170    GEN     idealmulpowprime(GEN nf, GEN x, GEN vp, GEN n)
2171    GEN     idealfactor(GEN nf, GEN x)
2172    GEN     idealhnf(GEN nf, GEN x)
2173    GEN     idealhnf_principal(GEN nf, GEN x)
2174    GEN     idealhnf_shallow(GEN nf, GEN x)
2175    GEN     idealhnf_two(GEN nf, GEN vp)
2176    GEN     idealhnf0(GEN nf, GEN a, GEN b)
2177    GEN     idealintersect(GEN nf, GEN x, GEN y)
2178    GEN     idealinv(GEN nf, GEN ix)
2179    GEN     idealinv_HNF(GEN nf, GEN I)
2180    GEN     idealred0(GEN nf, GEN I, GEN vdir)
2181    GEN     idealmul(GEN nf, GEN ix, GEN iy)
2182    GEN     idealmul0(GEN nf, GEN ix, GEN iy, long flag)
2183    GEN     idealmul_HNF(GEN nf, GEN ix, GEN iy)
2184    GEN     idealmulred(GEN nf, GEN ix, GEN iy)
2185    GEN     idealnorm(GEN nf, GEN x)
2186    GEN     idealnumden(GEN nf, GEN x)
2187    GEN     idealpow(GEN nf, GEN ix, GEN n)
2188    GEN     idealpow0(GEN nf, GEN ix, GEN n, long flag)
2189    GEN     idealpowred(GEN nf, GEN ix, GEN n)
2190    GEN     idealpows(GEN nf, GEN ideal, long iexp)
2191    GEN     idealprodprime(GEN nf, GEN L)
2192    GEN     idealsqr(GEN nf, GEN x)
2193    long    idealtyp(GEN *ideal, GEN *arch)
2194    long    idealval(GEN nf, GEN ix, GEN vp)
2195    long    isideal(GEN nf, GEN x)
2196    GEN     idealmin(GEN nf, GEN ix, GEN vdir)
2197    GEN     nf_get_Gtwist(GEN nf, GEN vdir)
2198    GEN     nf_get_Gtwist1(GEN nf, long i)
2199    GEN     nfC_nf_mul(GEN nf, GEN v, GEN x)
2200    GEN     nfdetint(GEN nf, GEN pseudo)
2201    GEN     nfdivmodpr(GEN nf, GEN x, GEN y, GEN modpr)
2202    GEN     nfhnf(GEN nf, GEN x)
2203    GEN     nfhnf0(GEN nf, GEN x, long flag)
2204    GEN     nfhnfmod(GEN nf, GEN x, GEN d)
2205    GEN     nfkermodpr(GEN nf, GEN x, GEN modpr)
2206    GEN     nfmulmodpr(GEN nf, GEN x, GEN y, GEN modpr)
2207    GEN     nfpowmodpr(GEN nf, GEN x, GEN k, GEN modpr)
2208    GEN     nfreduce(GEN nf, GEN x, GEN ideal)
2209    GEN     nfsnf(GEN nf, GEN x)
2210    GEN     nfsnf0(GEN nf, GEN x, long flag)
2211    GEN     nfsolvemodpr(GEN nf, GEN a, GEN b, GEN modpr)
2212    GEN     to_famat(GEN x, GEN y)
2213    GEN     to_famat_shallow(GEN x, GEN y)
2214    GEN     vecdiv(GEN x, GEN y)
2215    GEN     vecinv(GEN x)
2216    GEN     vecmul(GEN x, GEN y)
2217    GEN     vecpow(GEN x, GEN n)
2218
2219    # base5.c
2220
2221    GEN     eltreltoabs(GEN rnfeq, GEN x)
2222    GEN     eltabstorel(GEN eq, GEN P)
2223    GEN     eltabstorel_lift(GEN rnfeq, GEN P)
2224    GEN     rnfeltabstorel(GEN rnf, GEN x)
2225    GEN     rnfeltdown(GEN rnf, GEN x)
2226    GEN     rnfeltdown0(GEN rnf, GEN x, long flag)
2227    GEN     rnfeltreltoabs(GEN rnf, GEN x)
2228    GEN     rnfeltup(GEN rnf, GEN x)
2229    GEN     rnfeltup0(GEN rnf, GEN x, long flag)
2230    GEN     rnfidealabstorel(GEN rnf, GEN x)
2231    GEN     rnfidealdown(GEN rnf, GEN x)
2232    GEN     rnfidealhnf(GEN rnf, GEN x)
2233    GEN     rnfidealmul(GEN rnf, GEN x, GEN y)
2234    GEN     rnfidealnormabs(GEN rnf, GEN x)
2235    GEN     rnfidealnormrel(GEN rnf, GEN x)
2236    GEN     rnfidealprimedec(GEN rnf, GEN pr)
2237    GEN     rnfidealreltoabs(GEN rnf, GEN x)
2238    GEN     rnfidealreltoabs0(GEN rnf, GEN x, long flag)
2239    GEN     rnfidealtwoelement(GEN rnf, GEN x)
2240    GEN     rnfidealup(GEN rnf, GEN x)
2241    GEN     rnfidealup0(GEN rnf, GEN x, long flag)
2242    GEN     rnfinit(GEN nf, GEN pol)
2243    GEN     rnfinit0(GEN nf, GEN pol, long flag)
2244
2245    # bb_group.c
2246
2247    GEN dlog_get_ordfa(GEN o)
2248    GEN dlog_get_ord(GEN o)
2249    GEN gen_PH_log(GEN a, GEN g, GEN ord, void *E, const bb_group *grp)
2250    GEN gen_Shanks_init(GEN g, long n, void *E, const bb_group *grp)
2251    GEN gen_Shanks(GEN T, GEN x, ulong N, void *E, const bb_group *grp)
2252    GEN gen_Shanks_sqrtn(GEN a, GEN n, GEN q, GEN *zetan, void *E, const bb_group *grp)
2253    GEN gen_gener(GEN o, void *E, const bb_group *grp)
2254    GEN gen_ellgens(GEN d1, GEN d2, GEN m, void *E, const bb_group *grp,
2255                     GEN pairorder(void *E, GEN P, GEN Q, GEN m, GEN F))
2256    GEN gen_ellgroup(GEN N, GEN F, GEN *pt_m, void *E, const bb_group *grp,
2257                     GEN pairorder(void *E, GEN P, GEN Q, GEN m, GEN F))
2258    GEN gen_factored_order(GEN a, GEN o, void *E, const bb_group *grp)
2259    GEN gen_order(GEN x, GEN o, void *E, const bb_group *grp)
2260    GEN gen_select_order(GEN o, void *E, const bb_group *grp)
2261
2262    GEN gen_plog(GEN x, GEN g0, GEN q, void *E, const bb_group *grp)
2263    GEN gen_pow(GEN x, GEN n, void *E, GEN (*sqr)(void*, GEN), GEN (*mul)(void*, GEN, GEN))
2264    GEN gen_pow_i(GEN x, GEN n, void *E, GEN (*sqr)(void*, GEN), GEN (*mul)(void*, GEN, GEN))
2265    GEN gen_pow_fold(GEN x, GEN n, void *E, GEN (*sqr)(void*, GEN), GEN (*msqr)(void*, GEN))
2266    GEN gen_pow_fold_i(GEN x, GEN n, void *E, GEN (*sqr)(void*, GEN), GEN (*msqr)(void*, GEN))
2267    GEN gen_powers(GEN x, long l, int use_sqr, void *E, GEN (*sqr)(void*, GEN), GEN (*mul)(void*, GEN, GEN), GEN (*one)(void*))
2268    GEN gen_powu(GEN x, ulong n, void *E, GEN (*sqr)(void*, GEN), GEN (*mul)(void*, GEN, GEN))
2269    GEN gen_powu_i(GEN x, ulong n, void *E, GEN (*sqr)(void*, GEN), GEN (*mul)(void*, GEN, GEN))
2270    GEN gen_powu_fold(GEN x, ulong n, void *E, GEN (*sqr)(void*, GEN), GEN (*msqr)(void*, GEN))
2271    GEN gen_powu_fold_i(GEN x, ulong n, void *E, GEN  (*sqr)(void*, GEN), GEN (*msqr)(void*, GEN))
2272    GEN gen_product(GEN x, void *data, GEN (*mul)(void*, GEN, GEN))
2273
2274    # bb_hnf.c
2275
2276    GEN     matdetmod(GEN A, GEN d)
2277    GEN     matimagemod(GEN A, GEN d, GEN* U)
2278    GEN     matinvmod(GEN A, GEN d)
2279    GEN     matkermod(GEN A, GEN d, GEN* im)
2280    GEN     matsolvemod(GEN M, GEN D, GEN Y, long flag)
2281
2282    # bern.c
2283
2284    GEN     bernfrac(long n)
2285    GEN     bernpol(long k, long v)
2286    GEN     bernreal(long n, long prec)
2287    GEN     bernvec(long nomb)
2288    void    constbern(long n)
2289    GEN     eulerfrac(long k)
2290    GEN     eulerpol(long k, long v)
2291    GEN     eulerreal(long n, long prec)
2292    GEN     eulervec(long n)
2293
2294    # bibli1.c
2295
2296    int     QR_init(GEN x, GEN *pB, GEN *pQ, GEN *pL, long prec)
2297    GEN     R_from_QR(GEN x, long prec)
2298    GEN     RgM_Babai(GEN B, GEN t)
2299    int     RgM_QR_init(GEN x, GEN *pB, GEN *pQ, GEN *pL, long prec)
2300    GEN     RgM_gram_schmidt(GEN e, GEN *ptB)
2301    GEN     Xadic_lindep(GEN x)
2302    GEN     algdep(GEN x, long n)
2303    GEN     algdep0(GEN x, long n, long bit)
2304    void    forqfvec(void *E, long (*fun)(void *, GEN, GEN, double), GEN a, GEN BORNE)
2305    void    forqfvec0(GEN a, GEN BORNE, GEN code)
2306    GEN     gaussred_from_QR(GEN x, long prec)
2307    GEN     lindep0(GEN x, long flag)
2308    GEN     lindep(GEN x)
2309    GEN     lindep2(GEN x, long bit)
2310    GEN     mathouseholder(GEN Q, GEN v)
2311    GEN     matqr(GEN x, long flag, long prec)
2312    GEN     minim(GEN a, GEN borne, GEN stockmax)
2313    GEN     minim_raw(GEN a, GEN borne, GEN stockmax)
2314    GEN     minim2(GEN a, GEN borne, GEN stockmax)
2315    GEN     padic_lindep(GEN x)
2316    GEN     perf(GEN a)
2317    GEN     qfrep0(GEN a, GEN borne, long flag)
2318    GEN     qfminim0(GEN a, GEN borne, GEN stockmax, long flag, long prec)
2319    GEN     seralgdep(GEN s, long p, long r)
2320    GEN     zncoppersmith(GEN P0, GEN N, GEN X, GEN B)
2321
2322    # bibli2.c
2323
2324    GEN     QXQ_reverse(GEN a, GEN T)
2325    GEN     RgV_polint(GEN X, GEN Y, long v)
2326    GEN     RgXQ_reverse(GEN a, GEN T)
2327    GEN     ZV_indexsort(GEN L)
2328    long    ZV_search(GEN x, GEN y)
2329    GEN     ZV_sort(GEN L)
2330    GEN     ZV_sort_uniq(GEN L)
2331    GEN     ZV_union_shallow(GEN x, GEN y)
2332    GEN     binomial(GEN x, long k)
2333    GEN     binomialuu(ulong n, ulong k)
2334    int     cmp_Flx(GEN x, GEN y)
2335    int     cmp_RgX(GEN x, GEN y)
2336    int     cmp_nodata(void *data, GEN x, GEN y)
2337    int     cmp_prime_ideal(GEN x, GEN y)
2338    int     cmp_prime_over_p(GEN x, GEN y)
2339    int     cmp_universal(GEN x, GEN y)
2340    GEN     convol(GEN x, GEN y)
2341    int     gen_cmp_RgX(void *data, GEN x, GEN y)
2342    GEN     polcyclo(long n, long v)
2343    GEN     polcyclo_eval(long n, GEN x)
2344    GEN     dirdiv(GEN x, GEN y)
2345    GEN     dirmul(GEN x, GEN y)
2346    GEN     gen_indexsort(GEN x, void *E, int (*cmp)(void*, GEN, GEN))
2347    GEN     gen_indexsort_uniq(GEN x, void *E, int (*cmp)(void*, GEN, GEN))
2348    long    gen_search(GEN x, GEN y, long flag, void *data, int (*cmp)(void*, GEN, GEN))
2349    GEN     gen_setminus(GEN set1, GEN set2, int (*cmp)(GEN, GEN))
2350    GEN     gen_sort(GEN x, void *E, int (*cmp)(void*, GEN, GEN))
2351    void    gen_sort_inplace(GEN x, void *E, int (*cmp)(void*, GEN, GEN), GEN *perm)
2352    GEN     gen_sort_uniq(GEN x, void *E, int (*cmp)(void*, GEN, GEN))
2353    long    getstack()
2354    long    gettime()
2355    long    getabstime()
2356    GEN     getwalltime()
2357    GEN     gprec(GEN x, long l)
2358    GEN     gprec_wtrunc(GEN x, long pr)
2359    GEN     gprec_w(GEN x, long pr)
2360    GEN     gtoset(GEN x)
2361    GEN     indexlexsort(GEN x)
2362    GEN     indexsort(GEN x)
2363    GEN     indexvecsort(GEN x, GEN k)
2364    GEN     laplace(GEN x)
2365    GEN     lexsort(GEN x)
2366    GEN     mathilbert(long n)
2367    GEN     matqpascal(long n, GEN q)
2368    GEN     merge_factor(GEN fx, GEN fy, void *data, int (*cmp)(void *, GEN, GEN))
2369    GEN     merge_sort_uniq(GEN x, GEN y, void *data, int (*cmp)(void *, GEN, GEN))
2370    GEN     modreverse(GEN x)
2371    GEN     numtoperm(long n, GEN x)
2372    GEN     permtonum(GEN x)
2373    GEN     polhermite(long n, long v)
2374    GEN     polhermite_eval(long n, GEN x)
2375    GEN     pollegendre(long n, long v)
2376    GEN     pollegendre_eval(long n, GEN x)
2377    GEN     polint(GEN xa, GEN ya, GEN x, GEN *dy)
2378    GEN     polchebyshev(long n, long kind, long v)
2379    GEN     polchebyshev_eval(long n, long kind, GEN x)
2380    GEN     polchebyshev1(long n, long v)
2381    GEN     polchebyshev2(long n, long v)
2382    GEN     polrecip(GEN x)
2383    GEN     setbinop(GEN f, GEN x, GEN y)
2384    GEN     setintersect(GEN x, GEN y)
2385    long    setisset(GEN x)
2386    GEN     setminus(GEN x, GEN y)
2387    long    setsearch(GEN x, GEN y, long flag)
2388    GEN     setunion(GEN x, GEN y)
2389    GEN     sort(GEN x)
2390    GEN     sort_factor(GEN y, void *data, int (*cmp)(void*, GEN, GEN))
2391    GEN     stirling(long n, long m, long flag)
2392    GEN     stirling1(ulong n, ulong m)
2393    GEN     stirling2(ulong n, ulong m)
2394    long    tablesearch(GEN T, GEN x, int (*cmp)(GEN, GEN))
2395    GEN     vecbinome(long n)
2396    long    vecsearch(GEN v, GEN x, GEN k)
2397    GEN     vecsort(GEN x, GEN k)
2398    GEN     vecsort0(GEN x, GEN k, long flag)
2399    long    zv_search(GEN x, long y)
2400
2401    # bit.c
2402
2403    GEN     bits_to_int(GEN x, long l)
2404    ulong   bits_to_u(GEN v, long l)
2405    GEN     binaire(GEN x)
2406    GEN     binary_2k(GEN x, long k)
2407    GEN     binary_2k_nv(GEN x, long k)
2408    GEN     binary_zv(GEN x)
2409    long    bittest(GEN x, long n)
2410    GEN     fromdigits_2k(GEN x, long k)
2411    GEN     gbitand(GEN x, GEN y)
2412    GEN     gbitneg(GEN x, long n)
2413    GEN     gbitnegimply(GEN x, GEN y)
2414    GEN     gbitor(GEN x, GEN y)
2415    GEN     gbittest(GEN x, long n)
2416    GEN     gbitxor(GEN x, GEN y)
2417    long    hammingweight(GEN n)
2418    GEN     ibitand(GEN x, GEN y)
2419    GEN     ibitnegimply(GEN x, GEN y)
2420    GEN     ibitor(GEN x, GEN y)
2421    GEN     ibitxor(GEN x, GEN y)
2422    GEN     nv_fromdigits_2k(GEN x, long k)
2423
2424    # buch1.c
2425
2426    GEN     Buchquad(GEN D, double c1, double c2, long prec)
2427    GEN     quadclassunit0(GEN x, long flag, GEN data, long prec)
2428    GEN     quadhilbert(GEN D, long prec)
2429    GEN     quadray(GEN bnf, GEN f, long prec)
2430
2431    # buch2.c
2432
2433    GEN     Buchall(GEN P, long flag, long prec)
2434    GEN     Buchall_param(GEN P, double bach, double bach2, long nbrelpid, long flun, long prec)
2435    GEN     bnfcompress(GEN bnf)
2436    GEN     bnfinit0(GEN P, long flag, GEN data, long prec)
2437    GEN     bnfisprincipal0(GEN bnf, GEN x, long flall)
2438    GEN     bnfisunit(GEN bignf, GEN x)
2439    GEN     bnfnewprec(GEN nf, long prec)
2440    GEN     bnfnewprec_shallow(GEN nf, long prec)
2441    GEN     bnrnewprec(GEN bnr, long prec)
2442    GEN     bnrnewprec_shallow(GEN bnr, long prec)
2443    GEN     isprincipalfact(GEN bnf, GEN C, GEN L, GEN f, long flag)
2444    GEN     isprincipalfact_or_fail(GEN bnf, GEN C, GEN P, GEN e)
2445    GEN     isprincipal(GEN bnf, GEN x)
2446    GEN     nfcyclotomicunits(GEN nf, GEN zu)
2447    GEN     nfsign_units(GEN bnf, GEN archp, int add_zu)
2448    GEN     signunits(GEN bignf)
2449
2450    # buch3.c
2451
2452    GEN     ABC_to_bnr(GEN A, GEN B, GEN C, GEN *H, int gen)
2453    GEN     Buchray(GEN bnf, GEN module, long flag)
2454    GEN     bnrautmatrix(GEN bnr, GEN aut)
2455    GEN     bnrchar(GEN bnr, GEN g, GEN v)
2456    GEN     bnrchar_primitive(GEN bnr, GEN chi, GEN bnrc)
2457    GEN     bnrclassno(GEN bignf, GEN ideal)
2458    GEN     bnrclassno0(GEN A, GEN B, GEN C)
2459    GEN     bnrclassnolist(GEN bnf, GEN listes)
2460    GEN     bnrconductor0(GEN A, GEN B, GEN C, long flag)
2461    GEN     bnrconductor(GEN bnr, GEN H0, long flag)
2462    GEN     bnrconductor_i(GEN bnr, GEN H0, long flag)
2463    GEN     bnrconductorofchar(GEN bnr, GEN chi)
2464    GEN     bnrdisc0(GEN A, GEN B, GEN C, long flag)
2465    GEN     bnrdisc(GEN bnr, GEN H, long flag)
2466    GEN     bnrdisclist0(GEN bnf, GEN borne, GEN arch)
2467    GEN     bnrgaloismatrix(GEN bnr, GEN aut)
2468    GEN     bnrgaloisapply(GEN bnr, GEN mat, GEN x)
2469    GEN     bnrinit0(GEN bignf, GEN ideal, long flag)
2470    long    bnrisconductor0(GEN A, GEN B, GEN C)
2471    long    bnrisconductor(GEN bnr, GEN H)
2472    long    bnrisgalois(GEN bnr, GEN M, GEN H)
2473    GEN     bnrisprincipal(GEN bnf, GEN x, long flag)
2474    GEN     bnrsurjection(GEN bnr1, GEN bnr2)
2475    GEN     buchnarrow(GEN bignf)
2476    long    bnfcertify(GEN bnf)
2477    long    bnfcertify0(GEN bnf, long flag)
2478    GEN     decodemodule(GEN nf, GEN fa)
2479    GEN     discrayabslist(GEN bnf, GEN listes)
2480    GEN     discrayabslistarch(GEN bnf, GEN arch, ulong bound)
2481    GEN     discrayabslistlong(GEN bnf, ulong bound)
2482    GEN     idealmoddivisor(GEN bnr, GEN x)
2483    GEN     isprincipalray(GEN bnf, GEN x)
2484    GEN     isprincipalraygen(GEN bnf, GEN x)
2485    GEN     rnfconductor(GEN bnf, GEN polrel)
2486    long    rnfisabelian(GEN nf, GEN pol)
2487    GEN     rnfnormgroup(GEN bnr, GEN polrel)
2488    GEN     subgrouplist0(GEN bnr, GEN indexbound, long all)
2489
2490    # buch4.c
2491
2492    GEN     bnfisnorm(GEN bnf, GEN x, long flag)
2493    GEN     rnfisnorm(GEN S, GEN x, long flag)
2494    GEN     rnfisnorminit(GEN bnf, GEN relpol, int galois)
2495    GEN     bnfissunit(GEN bnf, GEN suni, GEN x)
2496    GEN     bnfsunit(GEN bnf, GEN s, long PREC)
2497    long    nfhilbert(GEN bnf, GEN a, GEN b)
2498    long    nfhilbert0(GEN bnf, GEN a, GEN b, GEN p)
2499    long    hyperell_locally_soluble(GEN pol, GEN p)
2500    long    nf_hyperell_locally_soluble(GEN nf, GEN pol, GEN p)
2501
2502    # char.c
2503
2504    int     char_check(GEN cyc, GEN chi)
2505    GEN     charconj(GEN cyc, GEN chi)
2506    GEN     charconj0(GEN cyc, GEN chi)
2507    GEN     chardiv(GEN x, GEN a, GEN b)
2508    GEN     chardiv0(GEN x, GEN a, GEN b)
2509    GEN     chareval(GEN G, GEN chi, GEN n, GEN z)
2510    GEN     charker(GEN cyc, GEN chi)
2511    GEN     charker0(GEN cyc, GEN chi)
2512    GEN     charmul(GEN x, GEN a, GEN b)
2513    GEN     charmul0(GEN x, GEN a, GEN b)
2514    GEN     charorder(GEN cyc, GEN x)
2515    GEN     charorder0(GEN x, GEN chi)
2516    GEN     char_denormalize(GEN cyc, GEN D, GEN chic)
2517    GEN     char_normalize(GEN chi, GEN ncyc)
2518    GEN     char_rootof1(GEN d, long prec)
2519    GEN     char_rootof1_u(ulong d, long prec)
2520    GEN     char_simplify(GEN D, GEN C)
2521    GEN     cyc_normalize(GEN c)
2522    int     zncharcheck(GEN G, GEN chi)
2523    GEN     zncharconj(GEN G, GEN chi)
2524    GEN     znchardiv(GEN G, GEN a, GEN b)
2525    GEN     zncharker(GEN G, GEN chi)
2526    GEN     znchareval(GEN G, GEN chi, GEN n, GEN z)
2527    GEN     zncharinduce(GEN G, GEN chi, GEN N)
2528    long    zncharisodd(GEN G, GEN chi)
2529    GEN     zncharmul(GEN G, GEN a, GEN b)
2530    GEN     zncharorder(GEN G, GEN chi)
2531    int     znconrey_check(GEN cyc, GEN chi)
2532    GEN     znconrey_normalized(GEN G, GEN chi)
2533    GEN     znconreychar(GEN bid, GEN m)
2534    GEN     znconreyfromchar_normalized(GEN bid, GEN chi)
2535    GEN     znconreyconductor(GEN bid, GEN co, GEN *pm)
2536    GEN     znconreyexp(GEN bid, GEN x)
2537    GEN     znconreyfromchar(GEN bid, GEN chi)
2538    GEN     znconreylog(GEN bid, GEN x)
2539    GEN     znconreylog_normalize(GEN G, GEN m)
2540
2541    # compile.c
2542
2543    GEN     closure_deriv(GEN G)
2544    long    localvars_find(GEN pack, entree *ep)
2545    GEN     localvars_read_str(const char *str, GEN pack)
2546    GEN     snm_closure(entree *ep, GEN data)
2547    GEN     strtoclosure(const char *s, long n, ...)
2548    GEN     strtofunction(const char *s)
2549
2550    # concat.c
2551
2552    GEN     gconcat(GEN x, GEN y)
2553    GEN     gconcat1(GEN x)
2554    GEN     matconcat(GEN v)
2555    GEN     shallowconcat(GEN x, GEN y)
2556    GEN     shallowconcat1(GEN x)
2557    GEN     shallowmatconcat(GEN v)
2558    GEN     vconcat(GEN A, GEN B)
2559
2560    # default.c
2561    extern int d_SILENT, d_ACKNOWLEDGE, d_INITRC, d_RETURN
2562
2563    GEN default0(const char *a, const char *b)
2564    long getrealprecision()
2565    entree *pari_is_default(const char *s)
2566    GEN sd_TeXstyle(const char *v, long flag)
2567    GEN sd_colors(const char *v, long flag)
2568    GEN sd_compatible(const char *v, long flag)
2569    GEN sd_datadir(const char *v, long flag)
2570    GEN sd_debug(const char *v, long flag)
2571    GEN sd_debugfiles(const char *v, long flag)
2572    GEN sd_debugmem(const char *v, long flag)
2573    GEN sd_factor_add_primes(const char *v, long flag)
2574    GEN sd_factor_proven(const char *v, long flag)
2575    GEN sd_format(const char *v, long flag)
2576    GEN sd_histsize(const char *v, long flag)
2577    GEN sd_log(const char *v, long flag)
2578    GEN sd_logfile(const char *v, long flag)
2579    GEN sd_nbthreads(const char *v, long flag)
2580    GEN sd_new_galois_format(const char *v, long flag)
2581    GEN sd_output(const char *v, long flag)
2582    GEN sd_parisize(const char *v, long flag)
2583    GEN sd_parisizemax(const char *v, long flag)
2584    GEN sd_path(const char *v, long flag)
2585    GEN sd_prettyprinter(const char *v, long flag)
2586    GEN sd_primelimit(const char *v, long flag)
2587    GEN sd_realbitprecision(const char *v, long flag)
2588    GEN sd_realprecision(const char *v, long flag)
2589    GEN sd_secure(const char *v, long flag)
2590    GEN sd_seriesprecision(const char *v, long flag)
2591    GEN sd_simplify(const char *v, long flag)
2592    GEN sd_sopath(char *v, int flag)
2593    GEN sd_strictargs(const char *v, long flag)
2594    GEN sd_strictmatch(const char *v, long flag)
2595    GEN sd_string(const char *v, long flag, const char *s, char **f)
2596    GEN sd_threadsize(const char *v, long flag)
2597    GEN sd_threadsizemax(const char *v, long flag)
2598    GEN sd_toggle(const char *v, long flag, const char *s, int *ptn)
2599    GEN sd_ulong(const char *v, long flag, const char *s, ulong *ptn, ulong Min, ulong Max, const char **msg)
2600    GEN setdefault(const char *s, const char *v, long flag)
2601    long setrealprecision(long n, long *prec)
2602
2603    # gplib.c
2604    GEN sd_breakloop(const char *v, long flag)
2605    GEN sd_echo(const char *v, long flag)
2606    GEN sd_graphcolormap(const char *v, long flag)
2607    GEN sd_graphcolors(const char *v, long flag)
2608    GEN sd_help(const char *v, long flag)
2609    GEN sd_histfile(const char *v, long flag)
2610    GEN sd_lines(const char *v, long flag)
2611    GEN sd_linewrap(const char *v, long flag)
2612    GEN sd_prompt(const char *v, long flag)
2613    GEN sd_prompt_cont(const char *v, long flag)
2614    GEN sd_psfile(const char *v, long flag)
2615    GEN sd_readline(const char *v, long flag)
2616    GEN sd_recover(const char *v, long flag)
2617    GEN sd_timer(const char *v, long flag)
2618    void pari_hit_return()
2619    void gp_load_gprc()
2620    int  gp_meta(const char *buf, int ismain)
2621    const char **gphelp_keyword_list()
2622    void pari_center(const char *s)
2623    void pari_print_version()
2624    const char *gp_format_time(long delay)
2625    const char *gp_format_prompt(const char *p)
2626    void pari_alarm(long s)
2627    GEN  gp_alarm(long s, GEN code)
2628    GEN  gp_input()
2629    void gp_allocatemem(GEN z)
2630    int  gp_handle_exception(long numerr)
2631    void gp_alarm_handler(int sig)
2632    void gp_sigint_fun()
2633    extern int h_REGULAR, h_LONG, h_APROPOS, h_RL
2634    void gp_help(const char *s, long flag)
2635    void gp_echo_and_log(const char *prompt, const char *s)
2636    void print_fun_list(char **list, long nbli)
2637
2638    # dirichlet.c
2639
2640    GEN     direxpand(GEN a, long L)
2641    GEN     direuler(void *E, GEN (*eval)(void *, GEN), GEN a, GEN b, GEN c)
2642
2643    # ellanal.c
2644
2645    GEN     ellanalyticrank(GEN e, GEN eps, long prec)
2646    GEN     ellanalyticrank_bitprec(GEN e, GEN eps, long bitprec)
2647    GEN     ellanal_globalred_all(GEN e, GEN *N, GEN *cb, GEN *tam)
2648    GEN     ellheegner(GEN e)
2649    GEN     ellL1(GEN E, long r, long prec)
2650    GEN     ellL1_bitprec(GEN E, long r, long bitprec)
2651
2652    # elldata.c
2653
2654    GEN     ellconvertname(GEN s)
2655    GEN     elldatagenerators(GEN E)
2656    GEN     ellidentify(GEN E)
2657    GEN     ellsearch(GEN A)
2658    GEN     ellsearchcurve(GEN name)
2659    void    forell(void *E, long call(void*, GEN), long a, long b, long flag)
2660
2661    # ellfromeqn.c
2662
2663    GEN     ellfromeqn(GEN s)
2664
2665    # elliptic.c
2666    extern int t_ELL_Rg, t_ELL_Q, t_ELL_Qp, t_ELL_Fp, t_ELL_Fq, t_ELL_NF
2667    long    ellQ_get_CM(GEN e)
2668    int     ell_is_integral(GEN E)
2669    GEN     ellbasechar(GEN E)
2670    GEN     akell(GEN e, GEN n)
2671    GEN     anell(GEN e, long n)
2672    GEN     anellsmall(GEN e, long n)
2673    GEN     bilhell(GEN e, GEN z1, GEN z2, long prec)
2674    void    checkell(GEN e)
2675    void    checkell_Fq(GEN e)
2676    void    checkell_Q(GEN e)
2677    void    checkell_Qp(GEN e)
2678    void    checkellisog(GEN v)
2679    void    checkellpt(GEN z)
2680    void    checkell5(GEN e)
2681    GEN     ec_bmodel(GEN e)
2682    GEN     ec_f_evalx(GEN E, GEN x)
2683    GEN     ec_h_evalx(GEN e, GEN x)
2684    GEN     ec_dFdx_evalQ(GEN E, GEN Q)
2685    GEN     ec_dFdy_evalQ(GEN E, GEN Q)
2686    GEN     ec_dmFdy_evalQ(GEN e, GEN Q)
2687    GEN     ec_2divpol_evalx(GEN E, GEN x)
2688    GEN     ec_half_deriv_2divpol_evalx(GEN E, GEN x)
2689    GEN     ellanal_globalred(GEN e, GEN *gr)
2690    GEN     ellQ_get_N(GEN e)
2691    void    ellQ_get_Nfa(GEN e, GEN *N, GEN *faN)
2692    GEN     ellQp_Tate_uniformization(GEN E, long prec)
2693    GEN     ellQp_u(GEN E, long prec)
2694    GEN     ellQp_u2(GEN E, long prec)
2695    GEN     ellQp_q(GEN E, long prec)
2696    GEN     ellQp_ab(GEN E, long prec)
2697    GEN     ellQp_root(GEN E, long prec)
2698    GEN     ellR_ab(GEN E, long prec)
2699    GEN     ellR_eta(GEN E, long prec)
2700    GEN     ellR_omega(GEN x, long prec)
2701    GEN     ellR_roots(GEN E, long prec)
2702    GEN     elladd(GEN e, GEN z1, GEN z2)
2703    GEN     ellap(GEN e, GEN p)
2704    long    ellap_CM_fast(GEN E, ulong p, long CM)
2705    GEN     ellcard(GEN E, GEN p)
2706    GEN     ellchangecurve(GEN e, GEN ch)
2707    GEN     ellchangeinvert(GEN w)
2708    GEN     ellchangepoint(GEN x, GEN ch)
2709    GEN     ellchangepointinv(GEN x, GEN ch)
2710    GEN     elldivpol(GEN e, long n, long v)
2711    GEN     elleisnum(GEN om, long k, long flag, long prec)
2712    GEN     elleta(GEN om, long prec)
2713    GEN     ellff_get_card(GEN E)
2714    GEN     ellff_get_gens(GEN E)
2715    GEN     ellff_get_group(GEN E)
2716    GEN     ellff_get_o(GEN x)
2717    GEN     ellff_get_p(GEN E)
2718    GEN     ellfromj(GEN j)
2719    GEN     ellformaldifferential(GEN e, long n, long v)
2720    GEN     ellformalexp(GEN e, long n, long v)
2721    GEN     ellformallog(GEN e, long n, long v)
2722    GEN     ellformalpoint(GEN e, long n, long v)
2723    GEN     ellformalw(GEN e, long n, long v)
2724    GEN     ellgenerators(GEN E)
2725    GEN     ellglobalred(GEN e1)
2726    GEN     ellgroup(GEN E, GEN p)
2727    GEN     ellgroup0(GEN E, GEN p, long flag)
2728    GEN     ellheight0(GEN e, GEN a, GEN b, long prec)
2729    GEN     ellheight(GEN e, GEN a, long prec)
2730    GEN     ellheightmatrix(GEN E, GEN x, long n)
2731    GEN     ellheightoo(GEN e, GEN z, long prec)
2732    GEN     ellinit(GEN x, GEN p, long prec)
2733    GEN     ellintegralmodel(GEN e, GEN *pv)
2734    GEN     ellisoncurve(GEN e, GEN z)
2735    int     ellissupersingular(GEN x, GEN p)
2736    int     elljissupersingular(GEN x)
2737    GEN     elllseries(GEN e, GEN s, GEN A, long prec)
2738    GEN     elllocalred(GEN e, GEN p1)
2739    GEN     elllog(GEN e, GEN a, GEN g, GEN o)
2740    GEN     ellminimalmodel(GEN E, GEN *ptv)
2741    GEN     ellminimaltwist(GEN e)
2742    GEN     ellminimaltwist0(GEN e, long fl)
2743    GEN     ellminimaltwistcond(GEN e)
2744    GEN     ellmul(GEN e, GEN z, GEN n)
2745    GEN     ellnonsingularmultiple(GEN e, GEN P)
2746    GEN     ellneg(GEN e, GEN z)
2747    GEN     ellorder(GEN e, GEN p, GEN o)
2748    long    ellorder_Q(GEN E, GEN P)
2749    GEN     ellordinate(GEN e, GEN x, long prec)
2750    GEN     ellpadicfrobenius(GEN E, ulong p, long n)
2751    GEN     ellpadicheight(GEN e, GEN p, long n, GEN P)
2752    GEN     ellpadicheight0(GEN e, GEN p, long n, GEN P, GEN Q)
2753    GEN     ellpadicheightmatrix(GEN e, GEN p, long n, GEN P)
2754    GEN     ellpadiclog(GEN E, GEN p, long n, GEN P)
2755    GEN     ellpadics2(GEN E, GEN p, long n)
2756    GEN     ellperiods(GEN w, long flag, long prec)
2757    GEN     elltwist(GEN E, GEN D)
2758    GEN     ellrandom(GEN e)
2759    long    ellrootno(GEN e, GEN p)
2760    long    ellrootno_global(GEN e)
2761    GEN     ellsea(GEN E, ulong smallfact)
2762    GEN     ellsigma(GEN om, GEN z, long flag, long prec)
2763    GEN     ellsub(GEN e, GEN z1, GEN z2)
2764    GEN     elltaniyama(GEN e, long prec)
2765    GEN     elltatepairing(GEN E, GEN t, GEN s, GEN m)
2766    GEN     elltors(GEN e)
2767    GEN     elltors0(GEN e, long flag)
2768    GEN     ellweilpairing(GEN E, GEN t, GEN s, GEN m)
2769    GEN     ellwp(GEN w, GEN z, long prec)
2770    GEN     ellwp0(GEN w, GEN z, long flag, long prec)
2771    GEN     ellwpseries(GEN e, long v, long PRECDL)
2772    GEN     ellxn(GEN e, long n, long v)
2773    GEN     ellzeta(GEN om, GEN z, long prec)
2774    GEN     expIxy(GEN x, GEN y, long prec)
2775    int     oncurve(GEN e, GEN z)
2776    GEN     orderell(GEN e, GEN p)
2777    GEN     pointell(GEN e, GEN z, long prec)
2778    GEN     point_to_a4a6(GEN E, GEN P, GEN p, GEN *pa4)
2779    GEN     point_to_a4a6_Fl(GEN E, GEN P, ulong p, ulong *pa4)
2780    GEN     zell(GEN e, GEN z, long prec)
2781
2782    # elltors.c
2783    long    ellisdivisible(GEN E, GEN P, GEN n, GEN *Q)
2784
2785    # ellisogeny.c
2786
2787    GEN     ellisogenyapply(GEN f, GEN P)
2788    GEN     ellisogeny(GEN e, GEN G, long only_image, long vx, long vy)
2789    GEN     ellisomat(GEN E, long flag)
2790
2791    # ellsea.c
2792
2793    GEN     Fp_ellcard_SEA(GEN a4, GEN a6, GEN p, long early_abort)
2794    GEN     Fq_ellcard_SEA(GEN a4, GEN a6, GEN q, GEN T, GEN p, long early_abort)
2795    GEN     ellmodulareqn(long l, long vx, long vy)
2796
2797    # es.c
2798
2799    GEN     externstr(const char *cmd)
2800    char    *gp_filter(const char *s)
2801    GEN     gpextern(const char *cmd)
2802    void    gpsystem(const char *s)
2803    GEN     readstr(const char *s)
2804    GEN     GENtoGENstr_nospace(GEN x)
2805    GEN     GENtoGENstr(GEN x)
2806    char*   GENtoTeXstr(GEN x)
2807    char*   GENtostr(GEN x)
2808    char*   GENtostr_raw(GEN x)
2809    char*   GENtostr_unquoted(GEN x)
2810    GEN     Str(GEN g)
2811    GEN     Strchr(GEN g)
2812    GEN     Strexpand(GEN g)
2813    GEN     Strtex(GEN g)
2814    void    brute(GEN g, char format, long dec)
2815    void    dbgGEN(GEN x, long nb)
2816    void    error0(GEN g)
2817    void    dbg_pari_heap()
2818    int     file_is_binary(FILE *f)
2819    void    err_flush()
2820    void    err_printf(const char* pat, ...)
2821    GEN     gp_getenv(const char *s)
2822    GEN     gp_read_file(const char *s)
2823    GEN     gp_read_str_multiline(const char *s, char *last)
2824    GEN     gp_read_stream(FILE *f)
2825    GEN     gp_readvec_file(char *s)
2826    GEN     gp_readvec_stream(FILE *f)
2827    void    gpinstall(const char *s, const char *code,
2828                      const char *gpname, const char *lib)
2829    GEN     gsprintf(const char *fmt, ...)
2830    GEN     gvsprintf(const char *fmt, va_list ap)
2831    char*   itostr(GEN x)
2832    void    matbrute(GEN g, char format, long dec)
2833    char*   os_getenv(const char *s)
2834    void    (*os_signal(int sig, void (*f)(int)))(int)
2835    void    outmat(GEN x)
2836    void    output(GEN x)
2837    char*   RgV_to_str(GEN g, long flag)
2838    void    pari_add_hist(GEN z, long t)
2839    void    pari_ask_confirm(const char *s)
2840    void    pari_fclose(pariFILE *f)
2841    void    pari_flush()
2842    pariFILE* pari_fopen(const char *s, const char *mode)
2843    pariFILE* pari_fopen_or_fail(const char *s, const char *mode)
2844    pariFILE* pari_fopengz(const char *s)
2845    void    pari_fprintf(FILE *file, const char *fmt, ...)
2846    void    pari_fread_chars(void *b, size_t n, FILE *f)
2847    GEN     pari_get_hist(long p)
2848    long    pari_get_histtime(long p)
2849    char*   pari_get_homedir(const char *user)
2850    int     pari_is_dir(const char *name)
2851    int     pari_is_file(const char *name)
2852    int     pari_last_was_newline()
2853    void    pari_set_last_newline(int last)
2854    ulong   pari_nb_hist()
2855    void    pari_printf(const char *fmt, ...)
2856    void    pari_putc(char c)
2857    void    pari_puts(const char *s)
2858    pariFILE* pari_safefopen(const char *s, const char *mode)
2859    char*   pari_sprintf(const char *fmt, ...)
2860    int     pari_stdin_isatty()
2861    char*   pari_strdup(const char *s)
2862    char*   pari_strndup(const char *s, long n)
2863    char*   pari_unique_dir(const char *s)
2864    char*   pari_unique_filename(const char *s)
2865    void    pari_unlink(const char *s)
2866    void    pari_vfprintf(FILE *file, const char *fmt, va_list ap)
2867    void    pari_vprintf(const char *fmt, va_list ap)
2868    char*   pari_vsprintf(const char *fmt, va_list ap)
2869    char*   path_expand(const char *s)
2870    void    out_print0(PariOUT *out, const char *sep, GEN g, long flag)
2871    void    out_printf(PariOUT *out, const char *fmt, ...)
2872    void    out_putc(PariOUT *out, char c)
2873    void    out_puts(PariOUT *out, const char *s)
2874    void    out_term_color(PariOUT *out, long c)
2875    void    out_vprintf(PariOUT *out, const char *fmt, va_list ap)
2876    char*   pari_sprint0(const char *msg, GEN g, long flag)
2877    extern int f_RAW, f_PRETTYMAT, f_PRETTY, f_TEX
2878    void    print0(GEN g, long flag)
2879    void    print1(GEN g)
2880    void    printf0(const char *fmt, GEN args)
2881    void    printsep(const char *s, GEN g)
2882    void    printsep1(const char *s, GEN g)
2883    void    printtex(GEN g)
2884    char*   stack_sprintf(const char *fmt, ...)
2885    char*   stack_strcat(const char *s, const char *t)
2886    char*   stack_strdup(const char *s)
2887    void    strftime_expand(const char *s, char *buf, long max)
2888    GEN     Strprintf(const char *fmt, GEN args)
2889    FILE*   switchin(const char *name)
2890    void    switchout(const char *name)
2891    void    term_color(long c)
2892    char*   term_get_color(char *s, long c)
2893    void    texe(GEN g, char format, long dec)
2894    const char* type_name(long t)
2895    void    warning0(GEN g)
2896    void    write0(const char *s, GEN g)
2897    void    write1(const char *s, GEN g)
2898    void    writebin(const char *name, GEN x)
2899    void    writetex(const char *s, GEN g)
2900
2901    # eval.c
2902
2903    extern int br_NONE, br_BREAK, br_NEXT, br_MULTINEXT, br_RETURN
2904    void    bincopy_relink(GEN C, GEN vi)
2905    GEN     break0(long n)
2906    GEN     call0(GEN fun, GEN args)
2907    GEN     closure_callgen1(GEN C, GEN x)
2908    GEN     closure_callgen1prec(GEN C, GEN x, long prec)
2909    GEN     closure_callgen2(GEN C, GEN x, GEN y)
2910    GEN     closure_callgenall(GEN C, long n, ...)
2911    GEN     closure_callgenvec(GEN C, GEN args)
2912    GEN     closure_callgenvecprec(GEN C, GEN args, long prec)
2913    void    closure_callvoid1(GEN C, GEN x)
2914    long    closure_context(long start, long level)
2915    void    closure_disassemble(GEN n)
2916    void    closure_err(long level)
2917    GEN     closure_evalbrk(GEN C, long *status)
2918    GEN     closure_evalgen(GEN C)
2919    GEN     closure_evalnobrk(GEN C)
2920    GEN     closure_evalres(GEN C)
2921    void    closure_evalvoid(GEN C)
2922    GEN     closure_trapgen(GEN C, long numerr)
2923    GEN     copybin_unlink(GEN C)
2924    GEN     get_lex(long vn)
2925    long    get_localprec()
2926    long    get_localbitprec()
2927    GEN     gp_call(void *E, GEN x)
2928    GEN     gp_callprec(void *E, GEN x, long prec)
2929    GEN     gp_call2(void *E, GEN x, GEN y)
2930    long    gp_callbool(void *E, GEN x)
2931    long    gp_callvoid(void *E, GEN x)
2932    GEN     gp_eval(void *E, GEN x)
2933    long    gp_evalbool(void *E, GEN x)
2934    GEN     gp_evalprec(void *E, GEN x, long prec)
2935    GEN     gp_evalupto(void *E, GEN x)
2936    long    gp_evalvoid(void *E, GEN x)
2937    void    localprec(long p)
2938    void    localbitprec(long p)
2939    long    loop_break()
2940    GEN     next0(long n)
2941    GEN     pareval(GEN C)
2942    GEN     pari_self()
2943    GEN     parsum(GEN a, GEN b, GEN code, GEN x)
2944    GEN     parvector(long n, GEN code)
2945    void    pop_lex(long n)
2946    void    pop_localprec()
2947    void    push_lex(GEN a, GEN C)
2948    void    push_localbitprec(long p)
2949    void    push_localprec(long p)
2950    GEN     return0(GEN x)
2951    void    set_lex(long vn, GEN x)
2952
2953    # FF.c
2954
2955    GEN     FF_1(GEN a)
2956    GEN     FF_Z_Z_muldiv(GEN x, GEN y, GEN z)
2957    GEN     FF_Q_add(GEN x, GEN y)
2958    GEN     FF_Z_add(GEN a, GEN b)
2959    GEN     FF_Z_mul(GEN a, GEN b)
2960    GEN     FF_add(GEN a, GEN b)
2961    GEN     FF_charpoly(GEN x)
2962    GEN     FF_conjvec(GEN x)
2963    GEN     FF_div(GEN a, GEN b)
2964    GEN     FF_ellcard(GEN E)
2965    GEN     FF_ellcard_SEA(GEN E, long smallfact)
2966    GEN     FF_ellgens(GEN E)
2967    GEN     FF_ellgroup(GEN E)
2968    GEN     FF_elllog(GEN E, GEN P, GEN Q, GEN o)
2969    GEN     FF_ellmul(GEN E, GEN P, GEN n)
2970    GEN     FF_ellorder(GEN E, GEN P, GEN o)
2971    GEN     FF_elltwist(GEN E)
2972    GEN     FF_ellrandom(GEN E)
2973    GEN     FF_elltatepairing(GEN E, GEN P, GEN Q, GEN m)
2974    GEN     FF_ellweilpairing(GEN E, GEN P, GEN Q, GEN m)
2975    int     FF_equal(GEN a, GEN b)
2976    int     FF_equal0(GEN x)
2977    int     FF_equal1(GEN x)
2978    int     FF_equalm1(GEN x)
2979    long    FF_f(GEN x)
2980    GEN     FF_inv(GEN a)
2981    long    FF_issquare(GEN x)
2982    long    FF_issquareall(GEN x, GEN *pt)
2983    long    FF_ispower(GEN x, GEN K, GEN *pt)
2984    GEN     FF_log(GEN a, GEN b, GEN o)
2985    GEN     FF_minpoly(GEN x)
2986    GEN     FF_mod(GEN x)
2987    GEN     FF_mul(GEN a, GEN b)
2988    GEN     FF_mul2n(GEN a, long n)
2989    GEN     FF_neg(GEN a)
2990    GEN     FF_neg_i(GEN a)
2991    GEN     FF_norm(GEN x)
2992    GEN     FF_order(GEN x, GEN o)
2993    GEN     FF_p(GEN x)
2994    GEN     FF_p_i(GEN x)
2995    GEN     FF_pow(GEN x, GEN n)
2996    GEN     FF_primroot(GEN x, GEN *o)
2997    GEN     FF_q(GEN x)
2998    int     FF_samefield(GEN x, GEN y)
2999    GEN     FF_sqr(GEN a)
3000    GEN     FF_sqrt(GEN a)
3001    GEN     FF_sqrtn(GEN x, GEN n, GEN *zetan)
3002    GEN     FF_sub(GEN x, GEN y)
3003    GEN     FF_to_F2xq(GEN x)
3004    GEN     FF_to_F2xq_i(GEN x)
3005    GEN     FF_to_Flxq(GEN x)
3006    GEN     FF_to_Flxq_i(GEN x)
3007    GEN     FF_to_FpXQ(GEN x)
3008    GEN     FF_to_FpXQ_i(GEN x)
3009    GEN     FF_trace(GEN x)
3010    GEN     FF_zero(GEN a)
3011    GEN     FFM_FFC_mul(GEN M, GEN C, GEN ff)
3012    GEN     FFM_det(GEN M, GEN ff)
3013    GEN     FFM_image(GEN M, GEN ff)
3014    GEN     FFM_inv(GEN M, GEN ff)
3015    GEN     FFM_ker(GEN M, GEN ff)
3016    GEN     FFM_mul(GEN M, GEN N, GEN ff)
3017    long    FFM_rank(GEN M, GEN ff)
3018    GEN     FFX_factor(GEN f, GEN x)
3019    GEN     FFX_roots(GEN f, GEN x)
3020    GEN     FqX_to_FFX(GEN x, GEN ff)
3021    GEN     Fq_to_FF(GEN x, GEN ff)
3022    GEN     Z_FF_div(GEN a, GEN b)
3023    GEN     ffgen(GEN T, long v)
3024    GEN     fflog(GEN x, GEN g, GEN o)
3025    GEN     fforder(GEN x, GEN o)
3026    GEN     ffprimroot(GEN x, GEN *o)
3027    GEN     ffrandom(GEN ff)
3028    int     Rg_is_FF(GEN c, GEN *ff)
3029    int     RgC_is_FFC(GEN x, GEN *ff)
3030    int     RgM_is_FFM(GEN x, GEN *ff)
3031    GEN     p_to_FF(GEN p, long v)
3032    GEN     Tp_to_FF(GEN T, GEN p)
3033
3034    # galconj.c
3035
3036    GEN     checkgal(GEN gal)
3037    GEN     checkgroup(GEN g, GEN *S)
3038    GEN     embed_disc(GEN r, long r1, long prec)
3039    GEN     embed_roots(GEN r, long r1)
3040    GEN     galois_group(GEN gal)
3041    GEN     galoisconj(GEN nf, GEN d)
3042    GEN     galoisconj0(GEN nf, long flag, GEN d, long prec)
3043    GEN     galoisexport(GEN gal, long format)
3044    GEN     galoisfixedfield(GEN gal, GEN v, long flag, long y)
3045    GEN     galoisidentify(GEN gal)
3046    GEN     galoisinit(GEN nf, GEN den)
3047    GEN     galoisisabelian(GEN gal, long flag)
3048    long    galoisisnormal(GEN gal, GEN sub)
3049    GEN     galoispermtopol(GEN gal, GEN perm)
3050    GEN     galoissubgroups(GEN G)
3051    GEN     galoissubfields(GEN G, long flag, long v)
3052    long    numberofconjugates(GEN T, long pdepart)
3053    GEN     vandermondeinverse(GEN L, GEN T, GEN den, GEN prep)
3054
3055    # galpol.c
3056
3057    GEN     galoisnbpol(long a)
3058    GEN     galoisgetpol(long a, long b, long s)
3059
3060    # gen1.c
3061    GEN     conjvec(GEN x, long prec)
3062    GEN     gadd(GEN x, GEN y)
3063    GEN     gaddsg(long x, GEN y)
3064    GEN     gconj(GEN x)
3065    GEN     gdiv(GEN x, GEN y)
3066    GEN     gdivgs(GEN x, long s)
3067    GEN     ginv(GEN x)
3068    GEN     gmul(GEN x, GEN y)
3069    GEN     gmul2n(GEN x, long n)
3070    GEN     gmulsg(long s, GEN y)
3071    GEN     gsqr(GEN x)
3072    GEN     gsub(GEN x, GEN y)
3073    GEN     gsubsg(long x, GEN y)
3074    GEN     inv_ser(GEN b)
3075    GEN     mulcxI(GEN x)
3076    GEN     mulcxmI(GEN x)
3077    GEN     ser_normalize(GEN x)
3078
3079    # gen2.c
3080
3081    GEN     gassoc_proto(GEN f(GEN, GEN), GEN, GEN)
3082    GEN     map_proto_G(GEN f(GEN), GEN x)
3083    GEN     map_proto_lG(long f(GEN), GEN x)
3084    GEN     map_proto_lGL(long f(GEN, long), GEN x, long y)
3085
3086    long    Q_pval(GEN x, GEN p)
3087    long    Q_pvalrem(GEN x, GEN p, GEN *y)
3088    long    RgX_val(GEN x)
3089    long    RgX_valrem(GEN x, GEN *z)
3090    long    RgX_valrem_inexact(GEN x, GEN *Z)
3091    int     ZV_Z_dvd(GEN v, GEN p)
3092    long    ZV_pval(GEN x, GEN p)
3093    long    ZV_pvalrem(GEN x, GEN p, GEN *px)
3094    long    ZV_lval(GEN x, ulong p)
3095    long    ZV_lvalrem(GEN x, ulong p, GEN *px)
3096    long    ZX_lvalrem(GEN x, ulong p, GEN *px)
3097    long    ZX_lval(GEN x, ulong p)
3098    long    ZX_pval(GEN x, GEN p)
3099    long    ZX_pvalrem(GEN x, GEN p, GEN *px)
3100    long    Z_lval(GEN n, ulong p)
3101    long    Z_lvalrem(GEN n, ulong p, GEN *py)
3102    long    Z_lvalrem_stop(GEN *n, ulong p, int *stop)
3103    long    Z_pval(GEN n, GEN p)
3104    long    Z_pvalrem(GEN x, GEN p, GEN *py)
3105    GEN     cgetp(GEN x)
3106    GEN     cvstop2(long s, GEN y)
3107    GEN     cvtop(GEN x, GEN p, long l)
3108    GEN     cvtop2(GEN x, GEN y)
3109    GEN     gabs(GEN x, long prec)
3110    void    gaffect(GEN x, GEN y)
3111    void    gaffsg(long s, GEN x)
3112    int     gcmp(GEN x, GEN y)
3113    int     gequal0(GEN x)
3114    int     gequal1(GEN x)
3115    int     gequalX(GEN x)
3116    int     gequalm1(GEN x)
3117    int     gcmpsg(long x, GEN y)
3118    GEN     gcvtop(GEN x, GEN p, long r)
3119    int     gequal(GEN x, GEN y)
3120    int     gequalsg(long s, GEN x)
3121    long    gexpo(GEN x)
3122    GEN     gpvaluation(GEN x, GEN p)
3123    long    gvaluation(GEN x, GEN p)
3124    int     gidentical(GEN x, GEN y)
3125    long    glength(GEN x)
3126    GEN     gmax(GEN x, GEN y)
3127    GEN     gmaxgs(GEN x, long y)
3128    GEN     gmin(GEN x, GEN y)
3129    GEN     gmings(GEN x, long y)
3130    GEN     gneg(GEN x)
3131    GEN     gneg_i(GEN x)
3132    GEN     RgX_to_ser(GEN x, long l)
3133    GEN     RgX_to_ser_inexact(GEN x, long l)
3134    int     gsigne(GEN x)
3135    GEN     gtolist(GEN x)
3136    long    gtolong(GEN x)
3137    int     lexcmp(GEN x, GEN y)
3138    GEN     listcreate_typ(long t)
3139    GEN     listcreate()
3140    GEN     listinsert(GEN list, GEN object, long index)
3141    void    listpop(GEN L, long index)
3142    void    listpop0(GEN L, long index)
3143    GEN     listput(GEN list, GEN object, long index)
3144    GEN     listput0(GEN list, GEN object, long index)
3145    void    listsort(GEN list, long flag)
3146    GEN     matsize(GEN x)
3147    GEN     mklist()
3148    GEN     mklistcopy(GEN x)
3149    GEN     normalize(GEN x)
3150    GEN     normalizepol(GEN x)
3151    GEN     normalizepol_approx(GEN x, long lx)
3152    GEN     normalizepol_lg(GEN x, long lx)
3153    ulong   padic_to_Fl(GEN x, ulong p)
3154    GEN     padic_to_Fp(GEN x, GEN Y)
3155    GEN     quadtofp(GEN x, long l)
3156    GEN     rfrac_to_ser(GEN x, long l)
3157    long    sizedigit(GEN x)
3158    long    u_lval(ulong x, ulong p)
3159    long    u_lvalrem(ulong x, ulong p, ulong *py)
3160    long    u_lvalrem_stop(ulong *n, ulong p, int *stop)
3161    long    u_pval(ulong x, GEN p)
3162    long    u_pvalrem(ulong x, GEN p, ulong *py)
3163    long    vecindexmax(GEN x)
3164    long    vecindexmin(GEN x)
3165    GEN     vecmax0(GEN x, GEN *pv)
3166    GEN     vecmax(GEN x)
3167    GEN     vecmin0(GEN x, GEN *pv)
3168    GEN     vecmin(GEN x)
3169    long    z_lval(long s, ulong p)
3170    long    z_lvalrem(long s, ulong p, long *py)
3171    long    z_pval(long n, GEN p)
3172    long    z_pvalrem(long n, GEN p, long *py)
3173
3174
3175    # gen3.c
3176
3177    GEN     padic_to_Q(GEN x)
3178    GEN     padic_to_Q_shallow(GEN x)
3179    GEN     QpV_to_QV(GEN v)
3180    GEN     RgM_mulreal(GEN x, GEN y)
3181    GEN     RgX_cxeval(GEN T, GEN u, GEN ui)
3182    GEN     RgX_deflate_max(GEN x0, long *m)
3183    long    RgX_deflate_order(GEN x)
3184    long    ZX_deflate_order(GEN x)
3185    GEN     ZX_deflate_max(GEN x, long *m)
3186    long    RgX_degree(GEN x, long v)
3187    GEN     RgX_integ(GEN x)
3188    GEN     bitprecision0(GEN x, long n)
3189    GEN     bitprecision00(GEN x, GEN n)
3190    GEN     ceil_safe(GEN x)
3191    GEN     ceilr(GEN x)
3192    GEN     centerlift(GEN x)
3193    GEN     centerlift0(GEN x, long v)
3194    GEN     compo(GEN x, long n)
3195    GEN     deg1pol(GEN x1, GEN x0, long v)
3196    GEN     deg1pol_shallow(GEN x1, GEN x0, long v)
3197    long    degree(GEN x)
3198    GEN     denom(GEN x)
3199    GEN     deriv(GEN x, long v)
3200    GEN     derivser(GEN x)
3201    GEN     diffop(GEN x, GEN v, GEN dv)
3202    GEN     diffop0(GEN x, GEN v, GEN dv, long n)
3203    GEN     diviiround(GEN x, GEN y)
3204    GEN     divrem(GEN x, GEN y, long v)
3205    GEN     floor_safe(GEN x)
3206    GEN     gceil(GEN x)
3207    GEN     gcvtoi(GEN x, long *e)
3208    GEN     gdeflate(GEN x, long v, long d)
3209    GEN     gdivent(GEN x, GEN y)
3210    GEN     gdiventgs(GEN x, long y)
3211    GEN     gdiventsg(long x, GEN y)
3212    GEN     gdiventres(GEN x, GEN y)
3213    GEN     gdivmod(GEN x, GEN y, GEN *pr)
3214    GEN     gdivround(GEN x, GEN y)
3215    int     gdvd(GEN x, GEN y)
3216    GEN     geq(GEN x, GEN y)
3217    GEN     geval(GEN x)
3218    GEN     gfloor(GEN x)
3219    GEN     gtrunc2n(GEN x, long s)
3220    GEN     gfrac(GEN x)
3221    GEN     gge(GEN x, GEN y)
3222    GEN     ggrando(GEN x, long n)
3223    GEN     ggt(GEN x, GEN y)
3224    GEN     gimag(GEN x)
3225    GEN     gisexactzero(GEN g)
3226    GEN     gle(GEN x, GEN y)
3227    GEN     glt(GEN x, GEN y)
3228    GEN     gmod(GEN x, GEN y)
3229    GEN     gmodgs(GEN x, long y)
3230    GEN     gmodsg(long x, GEN y)
3231    GEN     gmodulo(GEN x, GEN y)
3232    GEN     gmodulsg(long x, GEN y)
3233    GEN     gmodulss(long x, long y)
3234    GEN     gne(GEN x, GEN y)
3235    GEN     gnot(GEN x)
3236    GEN     gpolvar(GEN y)
3237    GEN     gppadicprec(GEN x, GEN p)
3238    GEN     gppoldegree(GEN x, long v)
3239    long    gprecision(GEN x)
3240    GEN     gpserprec(GEN x, long v)
3241    GEN     greal(GEN x)
3242    GEN     grndtoi(GEN x, long *e)
3243    GEN     ground(GEN x)
3244    GEN     gshift(GEN x, long n)
3245    GEN     gsubst(GEN x, long v, GEN y)
3246    GEN     gsubstpol(GEN x, GEN v, GEN y)
3247    GEN     gsubstvec(GEN x, GEN v, GEN y)
3248    GEN     gtocol(GEN x)
3249    GEN     gtocol0(GEN x, long n)
3250    GEN     gtocolrev(GEN x)
3251    GEN     gtocolrev0(GEN x, long n)
3252    GEN     gtopoly(GEN x, long v)
3253    GEN     gtopolyrev(GEN x, long v)
3254    GEN     gtoser(GEN x, long v, long precdl)
3255    GEN     gtovec(GEN x)
3256    GEN     gtovec0(GEN x, long n)
3257    GEN     gtovecrev(GEN x)
3258    GEN     gtovecrev0(GEN x, long n)
3259    GEN     gtovecsmall(GEN x)
3260    GEN     gtovecsmall0(GEN x, long n)
3261    GEN     gtrunc(GEN x)
3262    long    gvar(GEN x)
3263    long    gvar2(GEN x)
3264    GEN     hqfeval(GEN q, GEN x)
3265    GEN     imag_i(GEN x)
3266    GEN     integ(GEN x, long v)
3267    GEN     integser(GEN x)
3268    GEN     inv_ser(GEN b)
3269    int     iscomplex(GEN x)
3270    int     isexactzero(GEN g)
3271    int     isrationalzeroscalar(GEN g)
3272    int     isinexact(GEN x)
3273    int     isinexactreal(GEN x)
3274    int     isint(GEN n, GEN *ptk)
3275    int     isrationalzero(GEN g)
3276    int     issmall(GEN n, long *ptk)
3277    GEN     lift(GEN x)
3278    GEN     lift0(GEN x, long v)
3279    GEN     liftall(GEN x)
3280    GEN     liftall_shallow(GEN x)
3281    GEN     liftint(GEN x)
3282    GEN     liftint_shallow(GEN x)
3283    GEN     liftpol(GEN x)
3284    GEN     liftpol_shallow(GEN x)
3285    GEN     mkcoln(long n, ...)
3286    GEN     mkintn(long n, ...)
3287    GEN     mkpoln(long n, ...)
3288    GEN     mkvecn(long n, ...)
3289    GEN     mkvecsmalln(long n, ...)
3290    GEN     mulreal(GEN x, GEN y)
3291    GEN     numer(GEN x)
3292    long    padicprec(GEN x, GEN p)
3293    long    padicprec_relative(GEN x)
3294    GEN     polcoeff0(GEN x, long n, long v)
3295    GEN     polcoeff_i(GEN x, long n, long v)
3296    long    poldegree(GEN x, long v)
3297    GEN     poleval(GEN x, GEN y)
3298    GEN     pollead(GEN x, long v)
3299    long    precision(GEN x)
3300    GEN     precision0(GEN x, long n)
3301    GEN     precision00(GEN x, GEN n)
3302    GEN     qf_apply_RgM(GEN q, GEN M)
3303    GEN     qf_apply_ZM(GEN q, GEN M)
3304    GEN     qfbil(GEN x, GEN y, GEN q)
3305    GEN     qfeval(GEN q, GEN x)
3306    GEN     qfevalb(GEN q, GEN x, GEN y)
3307    GEN     qfnorm(GEN x, GEN q)
3308    GEN     real_i(GEN x)
3309    GEN     round0(GEN x, GEN *pte)
3310    GEN     roundr(GEN x)
3311    GEN     roundr_safe(GEN x)
3312    GEN     scalarpol(GEN x, long v)
3313    GEN     scalarpol_shallow(GEN x, long v)
3314    GEN     scalarser(GEN x, long v, long prec)
3315    GEN     ser_unscale(GEN P, GEN h)
3316    long    serprec(GEN x, long v)
3317    GEN     serreverse(GEN x)
3318    GEN     sertoser(GEN x, long prec)
3319    GEN     simplify(GEN x)
3320    GEN     simplify_shallow(GEN x)
3321    GEN     tayl(GEN x, long v, long precdl)
3322    GEN     toser_i(GEN x)
3323    GEN     trunc0(GEN x, GEN *pte)
3324    GEN     uu32toi(ulong a, ulong b)
3325    GEN     vars_sort_inplace(GEN z)
3326    GEN     vars_to_RgXV(GEN h)
3327    GEN     variables_vecsmall(GEN x)
3328    GEN     variables_vec(GEN x)
3329
3330    # genus2red.c
3331
3332    GEN     genus2red(GEN PQ, GEN p)
3333
3334    # groupid.c
3335
3336    long    group_ident(GEN G, GEN S)
3337    long    group_ident_trans(GEN G, GEN S)
3338
3339    # hash.c
3340
3341    hashtable *hash_create_ulong(ulong s, long stack)
3342    hashtable *hash_create_str(ulong s, long stack)
3343    hashtable *hash_create(ulong minsize, ulong (*hash)(void*), int (*eq)(void*, void*), int use_stack)
3344    void hash_insert(hashtable *h, void *k, void *v)
3345    void hash_insert2(hashtable *h, void *k, void *v, ulong hash)
3346    GEN hash_keys(hashtable *h)
3347    GEN hash_values(hashtable *h)
3348    hashentry *hash_search(hashtable *h, void *k)
3349    hashentry *hash_search2(hashtable *h, void *k, ulong hash)
3350    hashentry *hash_select(hashtable *h, void *k, void *E, int(*select)(void *, hashentry *))
3351    hashentry *hash_remove(hashtable *h, void *k)
3352    hashentry *hash_remove_select(hashtable *h, void *k, void *E, int (*select)(void*, hashentry*))
3353    void hash_destroy(hashtable *h)
3354    ulong hash_str(const char *str)
3355    ulong hash_str2(const char *s)
3356    ulong hash_GEN(GEN x)
3357
3358    # hyperell.c
3359
3360    GEN     hyperellpadicfrobenius(GEN x, ulong p, long e)
3361    GEN     hyperellcharpoly(GEN x)
3362    GEN     nfhyperellpadicfrobenius(GEN H, GEN T, ulong p, long n)
3363
3364    # hnf_snf.c
3365
3366    GEN     RgM_hnfall(GEN A, GEN *pB, long remove)
3367    GEN     ZM_hnf(GEN x)
3368    GEN     ZM_hnfall(GEN A, GEN *ptB, long remove)
3369    GEN     ZM_hnfcenter(GEN M)
3370    GEN     ZM_hnflll(GEN A, GEN *ptB, int remove)
3371    GEN     ZV_extgcd(GEN A)
3372    GEN     ZV_snfall(GEN D, GEN *pU, GEN *pV)
3373    GEN     ZV_snf_group(GEN d, GEN *newU, GEN *newUi)
3374    GEN     ZM_hnfmod(GEN x, GEN d)
3375    GEN     ZM_hnfmodall(GEN x, GEN dm, long flag)
3376    GEN     ZM_hnfmodid(GEN x, GEN d)
3377    GEN     ZM_hnfperm(GEN A, GEN *ptU, GEN *ptperm)
3378    void    ZM_snfclean(GEN d, GEN u, GEN v)
3379    GEN     ZM_snf(GEN x)
3380    GEN     ZM_snf_group(GEN H, GEN *newU, GEN *newUi)
3381    GEN     ZM_snfall(GEN x, GEN *ptU, GEN *ptV)
3382    GEN     ZM_snfall_i(GEN x, GEN *ptU, GEN *ptV, int return_vec)
3383    GEN     zlm_echelon(GEN x, long early_abort, ulong p, ulong pm)
3384    GEN     ZpM_echelon(GEN x, long early_abort, GEN p, GEN pm)
3385    GEN     gsmith(GEN x)
3386    GEN     gsmithall(GEN x)
3387    GEN     hnf(GEN x)
3388    GEN     hnf_divscale(GEN A, GEN B, GEN t)
3389    GEN     hnf_solve(GEN A, GEN B)
3390    GEN     hnf_invimage(GEN A, GEN b)
3391    GEN     hnfall(GEN x)
3392    int     hnfdivide(GEN A, GEN B)
3393    GEN     hnflll(GEN x)
3394    GEN     hnfmerge_get_1(GEN A, GEN B)
3395    GEN     hnfmod(GEN x, GEN d)
3396    GEN     hnfmodid(GEN x, GEN p)
3397    GEN     hnfperm(GEN x)
3398    GEN     matfrobenius(GEN M, long flag, long v)
3399    GEN     mathnf0(GEN x, long flag)
3400    GEN     matsnf0(GEN x, long flag)
3401    GEN     smith(GEN x)
3402    GEN     smithall(GEN x)
3403    GEN     smithclean(GEN z)
3404
3405    # ifactor1.c
3406
3407    GEN     Z_factor(GEN n)
3408    GEN     Z_factor_limit(GEN n, ulong all)
3409    GEN     Z_factor_until(GEN n, GEN limit)
3410    long    Z_issmooth(GEN m, ulong lim)
3411    GEN     Z_issmooth_fact(GEN m, ulong lim)
3412    long    Z_issquarefree(GEN x)
3413    GEN     absi_factor(GEN n)
3414    GEN     absi_factor_limit(GEN n, ulong all)
3415    long    bigomega(GEN n)
3416    long    bigomegau(ulong n)
3417    GEN     core(GEN n)
3418    ulong   coreu(ulong n)
3419    GEN     eulerphi(GEN n)
3420    ulong   eulerphiu(ulong n)
3421    ulong   eulerphiu_fact(GEN f)
3422    GEN     factorint(GEN n, long flag)
3423    GEN     factoru(ulong n)
3424    int     ifac_isprime(GEN x)
3425    int     ifac_next(GEN *part, GEN *p, long *e)
3426    int     ifac_read(GEN part, GEN *p, long *e)
3427    void    ifac_skip(GEN part)
3428    GEN     ifac_start(GEN n, int moebius)
3429    int     is_357_power(GEN x, GEN *pt, ulong *mask)
3430    int     is_pth_power(GEN x, GEN *pt, forprime_t *T, ulong cutoffbits)
3431    long    ispowerful(GEN n)
3432    long    issquarefree(GEN x)
3433    long    istotient(GEN n, GEN *px)
3434    long    moebius(GEN n)
3435    long    moebiusu(ulong n)
3436    GEN     nextprime(GEN n)
3437    GEN     numdiv(GEN n)
3438    long    omega(GEN n)
3439    long    omegau(ulong n)
3440    GEN     precprime(GEN n)
3441    GEN     sumdiv(GEN n)
3442    GEN     sumdivk(GEN n, long k)
3443    ulong   tridiv_bound(GEN n)
3444    int     uis_357_power(ulong x, ulong *pt, ulong *mask)
3445    int     uis_357_powermod(ulong x, ulong *mask)
3446    long    uissquarefree(ulong n)
3447    long    uissquarefree_fact(GEN f)
3448    ulong   unextprime(ulong n)
3449    ulong   uprecprime(ulong n)
3450    GEN     usumdivkvec(ulong n, GEN K)
3451
3452    # init.c
3453
3454    long    timer_delay(pari_timer *T)
3455    long    timer_get(pari_timer *T)
3456    void    timer_start(pari_timer *T)
3457    int     chk_gerepileupto(GEN x)
3458    GENbin* copy_bin(GEN x)
3459    GENbin* copy_bin_canon(GEN x)
3460    void    dbg_gerepile(pari_sp av)
3461    void    dbg_gerepileupto(GEN q)
3462    GEN     errname(GEN err)
3463    GEN     gclone(GEN x)
3464    GEN     gcloneref(GEN x)
3465    void    gclone_refc(GEN x)
3466    GEN     gcopy(GEN x)
3467    GEN     gcopy_avma(GEN x, pari_sp *AVMA)
3468    GEN     gcopy_lg(GEN x, long lx)
3469    GEN     gerepile(pari_sp ltop, pari_sp lbot, GEN q)
3470    void    gerepileallsp(pari_sp av, pari_sp tetpil, int n, ...)
3471    void    gerepilecoeffssp(pari_sp av, pari_sp tetpil, long *g, int n)
3472    void    gerepilemanysp(pari_sp av, pari_sp tetpil, GEN* g[], int n)
3473    GEN     getheap()
3474    void    gp_context_save(gp_context* rec)
3475    void    gp_context_restore(gp_context* rec)
3476    long    gsizeword(GEN x)
3477    long    gsizebyte(GEN x)
3478    void    gunclone(GEN x)
3479    void    gunclone_deep(GEN x)
3480    GEN     listcopy(GEN x)
3481    void    timer_printf(pari_timer *T, const char *format, ...)
3482    void    msgtimer(const char *format, ...)
3483    long    name_numerr(const char *s)
3484    void    new_chunk_resize(size_t x)
3485    GEN     newblock(size_t n)
3486    const char * numerr_name(long errnum)
3487    GEN     obj_check(GEN S, long K)
3488    GEN     obj_checkbuild(GEN S, long tag, GEN (*build)(GEN))
3489    GEN     obj_checkbuild_padicprec(GEN S, long tag, GEN (*build)(GEN, long), long prec)
3490    GEN     obj_checkbuild_realprec(GEN S, long tag, GEN (*build)(GEN, long), long prec)
3491    GEN     obj_checkbuild_prec(GEN S, long tag, GEN (*build)(GEN, long), long (*pr)(GEN), long prec)
3492    void    obj_free(GEN S)
3493    GEN     obj_init(long d, long n)
3494    GEN     obj_insert(GEN S, long K, GEN O)
3495    GEN     obj_insert_shallow(GEN S, long K, GEN O)
3496    void    pari_add_function(entree *ep)
3497    void    pari_add_module(entree *ep)
3498    void    pari_add_defaults_module(entree *ep)
3499    void    pari_close()
3500    void    pari_close_opts(ulong init_opts)
3501    GEN     pari_compile_str(const char *lex)
3502    int     pari_daemon()
3503    void    pari_err(int numerr, ...)
3504    GEN     pari_err_last()
3505    char *  pari_err2str(GEN err)
3506    void    pari_init_opts(size_t parisize, ulong maxprime, ulong init_opts)
3507    void    pari_init(size_t parisize, ulong maxprime)
3508    void    pari_stackcheck_init(void *pari_stack_base)
3509    void    pari_sighandler(int sig)
3510    void    pari_sig_init(void (*f)(int))
3511    void    pari_thread_alloc(pari_thread *t, size_t s, GEN arg)
3512    void    pari_thread_close()
3513    void    pari_thread_free(pari_thread *t)
3514    void    pari_thread_init()
3515    GEN     pari_thread_start(pari_thread *t)
3516    void    pari_thread_valloc(pari_thread *t, size_t s, size_t v, GEN arg)
3517    GEN     pari_version()
3518    void    pari_warn(int numerr, ...)
3519    void    paristack_newrsize(ulong newsize)
3520    void    paristack_resize(ulong newsize)
3521    void    paristack_setsize(size_t rsize, size_t vsize)
3522    void    parivstack_resize(ulong newsize)
3523    void    parivstack_reset()
3524    GEN     trap0(const char *e, GEN f, GEN r)
3525    void    shiftaddress(GEN x, long dec)
3526    void    shiftaddress_canon(GEN x, long dec)
3527    long    timer()
3528    long    timer2()
3529    void    traverseheap( void(*f)(GEN, void *), void *data )
3530
3531    # intnum.c
3532
3533    GEN     contfraceval(GEN CF, GEN t, long nlim)
3534    GEN     contfracinit(GEN M, long lim)
3535    GEN     intcirc(void *E, GEN (*eval) (void *, GEN), GEN a, GEN R, GEN tab, long prec)
3536    GEN     intfuncinit(void *E, GEN (*eval) (void *, GEN), GEN a, GEN b, long m, long prec)
3537    GEN     intnum(void *E, GEN (*eval) (void *, GEN), GEN a, GEN b, GEN tab, long prec)
3538    GEN     intnumgauss(void *E, GEN (*eval)(void*, GEN), GEN a, GEN b, GEN tab, long prec)
3539    GEN     intnumgaussinit(long n, long prec)
3540    GEN     intnuminit(GEN a, GEN b, long m, long prec)
3541    GEN     intnumromb(void *E, GEN (*eval)(void *, GEN), GEN a, GEN b, long flag, long prec)
3542    GEN     intnumromb_bitprec(void *E, GEN (*eval)(void *, GEN), GEN a, GEN b, long flag, long bit)
3543    GEN     sumnum(void *E, GEN (*eval)(void*, GEN), GEN a, GEN tab, long prec)
3544    GEN     sumnuminit(GEN fast, long prec)
3545    GEN     sumnummonien(void *E, GEN (*eval)(void*, GEN), GEN a, GEN tab, long prec)
3546    GEN     sumnummonieninit(GEN asymp, GEN w, GEN n0, long prec)
3547
3548    # krasner.c
3549
3550    GEN     padicfields0(GEN p, GEN n, long flag)
3551    GEN     padicfields(GEN p, long m, long d, long flag)
3552
3553    # kummer.c
3554
3555    GEN     rnfkummer(GEN bnr, GEN subgroup, long all, long prec)
3556
3557    # lfun.c
3558
3559    long    is_linit(GEN data)
3560    GEN     ldata_get_an(GEN ldata)
3561    GEN     ldata_get_dual(GEN ldata)
3562    GEN     ldata_get_gammavec(GEN ldata)
3563    long    ldata_get_degree(GEN ldata)
3564    long    ldata_get_k(GEN ldata)
3565    GEN     ldata_get_conductor(GEN ldata)
3566    GEN     ldata_get_rootno(GEN ldata)
3567    GEN     ldata_get_residue(GEN ldata)
3568    long    ldata_get_type(GEN ldata)
3569    long    ldata_isreal(GEN ldata)
3570    GEN     ldata_vecan(GEN ldata, long L, long prec)
3571    long    linit_get_type(GEN linit)
3572    GEN     linit_get_ldata(GEN linit)
3573    GEN     linit_get_tech(GEN linit)
3574    GEN     lfun_get_domain(GEN tech)
3575    GEN     lfun_get_dom(GEN tech)
3576    long    lfun_get_bitprec(GEN tech)
3577    GEN     lfun_get_factgammavec(GEN tech)
3578    GEN     lfun_get_step(GEN tech)
3579    GEN     lfun_get_pol(GEN tech)
3580    GEN     lfun_get_Residue(GEN tech)
3581    GEN     lfun_get_k2(GEN tech)
3582    GEN     lfun_get_w2(GEN tech)
3583    GEN     lfun_get_expot(GEN tech)
3584    long    lfun_get_der(GEN tech)
3585    long    lfun_get_bitprec(GEN tech)
3586    GEN     lfun(GEN ldata, GEN s, long bitprec)
3587    GEN     lfun0(GEN ldata, GEN s, long der, long bitprec)
3588    long    lfuncheckfeq(GEN data, GEN t0, long bitprec)
3589    GEN     lfunconductor(GEN data, GEN maxcond, long flag, long bitprec)
3590    GEN     lfuncost(GEN lmisc, GEN dom, long der, long bitprec)
3591    GEN     lfuncost0(GEN L, GEN dom, long der, long bitprec)
3592    GEN     lfuncreate(GEN obj)
3593    GEN     lfunan(GEN ldata, long L, long prec)
3594    GEN     lfunhardy(GEN ldata, GEN t, long bitprec)
3595    GEN     lfuninit(GEN ldata, GEN dom, long der, long bitprec)
3596    GEN     lfuninit0(GEN ldata, GEN dom, long der, long bitprec)
3597    GEN     lfuninit_make(long t, GEN ldata, GEN molin, GEN domain)
3598    long    lfunisvgaell(GEN Vga, long flag)
3599    GEN     lfunlambda(GEN ldata, GEN s, long bitprec)
3600    GEN     lfunlambda0(GEN ldata, GEN s, long der, long bitprec)
3601    GEN     lfunmisc_to_ldata(GEN ldata)
3602    GEN     lfunmisc_to_ldata_shallow(GEN ldata)
3603    long    lfunorderzero(GEN ldata, long m, long bitprec)
3604    GEN     lfunprod_get_fact(GEN tech)
3605    GEN     lfunrootno(GEN data, long bitprec)
3606    GEN     lfunrootres(GEN data, long bitprec)
3607    GEN     lfunrtopoles(GEN r)
3608    GEN     lfuntheta(GEN data, GEN t, long m, long bitprec)
3609    long    lfunthetacost0(GEN L, GEN tdom, long m, long bitprec)
3610    long    lfunthetacost(GEN ldata, GEN tdom, long m, long bitprec)
3611    GEN     lfunthetainit(GEN ldata, GEN tdom, long m, long bitprec)
3612    GEN     lfunthetacheckinit(GEN data, GEN tinf, long m, long *ptbitprec, long fl)
3613    GEN     lfunzeros(GEN ldata, GEN lim, long divz, long bitprec)
3614    int     sdomain_isincl(long k, GEN dom, GEN dom0)
3615    GEN     theta_get_an(GEN tdata)
3616    GEN     theta_get_K(GEN tdata)
3617    GEN     theta_get_R(GEN tdata)
3618    long    theta_get_bitprec(GEN tdata)
3619    long    theta_get_m(GEN tdata)
3620    GEN     theta_get_tdom(GEN tdata)
3621    GEN     theta_get_sqrtN(GEN tdata)
3622
3623    # lfunutils.c
3624
3625    GEN     dirzetak(GEN nf, GEN b)
3626    GEN     ellmoddegree(GEN e, long bitprec)
3627    GEN     lfunabelianrelinit(GEN bnfabs, GEN bnf, GEN polrel, GEN dom, long der, long bitprec)
3628    GEN     lfunartin(GEN N, GEN G, GEN M, long o)
3629    GEN     lfundiv(GEN ldata1, GEN ldata2, long bitprec)
3630    GEN     lfunellmfpeters(GEN E, long bitprec)
3631    GEN     lfunetaquo(GEN eta)
3632    GEN     lfungenus2(GEN PS)
3633    GEN     lfunmfspec(GEN lmisc, long bitprec)
3634    GEN     lfunmfpeters(GEN ldata, long bitprec)
3635    GEN     lfunmul(GEN ldata1, GEN ldata2, long bitprec)
3636    GEN     lfunqf(GEN ldata, long prec)
3637    GEN     lfunsymsq(GEN ldata, GEN known, long prec)
3638    GEN     lfunsymsqspec(GEN lmisc, long bitprec)
3639    GEN     lfunzetakinit(GEN pol, GEN dom, long der, long flag, long bitprec)
3640
3641    # lll.c
3642
3643    GEN     ZM_lll_norms(GEN x, double D, long flag, GEN *B)
3644    GEN     kerint(GEN x)
3645    GEN     lll(GEN x)
3646    GEN     lllfp(GEN x, double D, long flag)
3647    GEN     lllgen(GEN x)
3648    GEN     lllgram(GEN x)
3649    GEN     lllgramgen(GEN x)
3650    GEN     lllgramint(GEN x)
3651    GEN     lllgramkerim(GEN x)
3652    GEN     lllgramkerimgen(GEN x)
3653    GEN     lllint(GEN x)
3654    GEN     lllintpartial(GEN mat)
3655    GEN     lllintpartial_inplace(GEN mat)
3656    GEN     lllkerim(GEN x)
3657    GEN     lllkerimgen(GEN x)
3658    GEN     matkerint0(GEN x, long flag)
3659    GEN     qflll0(GEN x, long flag)
3660    GEN     qflllgram0(GEN x, long flag)
3661
3662    # map.c
3663
3664    GEN     gtomap(GEN M)
3665    void    mapdelete(GEN T, GEN a)
3666    GEN     mapdomain(GEN T)
3667    GEN     mapdomain_shallow(GEN T)
3668    GEN     mapget(GEN T, GEN a)
3669    int     mapisdefined(GEN T, GEN a, GEN *pt_z)
3670    void    mapput(GEN T, GEN a, GEN b)
3671    GEN     maptomat(GEN T)
3672    GEN     maptomat_shallow(GEN T)
3673
3674    # mellininv.c
3675
3676    double  dbllambertW0(double a)
3677    double  dbllambertW_1(double a)
3678    double  dbllemma526(double a, double b, double c, double B)
3679    double  dblcoro526(double a, double c, double B)
3680    GEN     gammamellininv(GEN Vga, GEN s, long m, long bitprec)
3681    GEN     gammamellininvasymp(GEN Vga, long nlimmax, long m)
3682    GEN     gammamellininvinit(GEN Vga, long m, long bitprec)
3683    GEN     gammamellininvrt(GEN K, GEN s, long bitprec)
3684
3685    # members.c
3686
3687    GEN     member_a1(GEN x)
3688    GEN     member_a2(GEN x)
3689    GEN     member_a3(GEN x)
3690    GEN     member_a4(GEN x)
3691    GEN     member_a6(GEN x)
3692    GEN     member_area(GEN x)
3693    GEN     member_b2(GEN x)
3694    GEN     member_b4(GEN x)
3695    GEN     member_b6(GEN x)
3696    GEN     member_b8(GEN x)
3697    GEN     member_bid(GEN x)
3698    GEN     member_bnf(GEN x)
3699    GEN     member_c4(GEN x)
3700    GEN     member_c6(GEN x)
3701    GEN     member_clgp(GEN x)
3702    GEN     member_codiff(GEN x)
3703    GEN     member_cyc(GEN clg)
3704    GEN     member_diff(GEN x)
3705    GEN     member_disc(GEN x)
3706    GEN     member_e(GEN x)
3707    GEN     member_eta(GEN x)
3708    GEN     member_f(GEN x)
3709    GEN     member_fu(GEN x)
3710    GEN     member_futu(GEN x)
3711    GEN     member_gen(GEN x)
3712    GEN     member_group(GEN x)
3713    GEN     member_index(GEN x)
3714    GEN     member_j(GEN x)
3715    GEN     member_mod(GEN x)
3716    GEN     member_nf(GEN x)
3717    GEN     member_no(GEN clg)
3718    GEN     member_omega(GEN x)
3719    GEN     member_orders(GEN x)
3720    GEN     member_p(GEN x)
3721    GEN     member_pol(GEN x)
3722    GEN     member_polabs(GEN x)
3723    GEN     member_reg(GEN x)
3724    GEN     member_r1(GEN x)
3725    GEN     member_r2(GEN x)
3726    GEN     member_roots(GEN x)
3727    GEN     member_sign(GEN x)
3728    GEN     member_t2(GEN x)
3729    GEN     member_tate(GEN x)
3730    GEN     member_tufu(GEN x)
3731    GEN     member_tu(GEN x)
3732    GEN     member_zk(GEN x)
3733    GEN     member_zkst(GEN bid)
3734
3735    # mp.c
3736
3737    GEN     addmulii(GEN x, GEN y, GEN z)
3738    GEN     addmulii_inplace(GEN x, GEN y, GEN z)
3739    ulong   Fl_inv(ulong x, ulong p)
3740    ulong   Fl_invgen(ulong x, ulong p, ulong *pg)
3741    ulong   Fl_invsafe(ulong x, ulong p)
3742    int     Fp_ratlift(GEN x, GEN m, GEN amax, GEN bmax, GEN *a, GEN *b)
3743    int     absi_cmp(GEN x, GEN y)
3744    int     absi_equal(GEN x, GEN y)
3745    int     absr_cmp(GEN x, GEN y)
3746    GEN     addii_sign(GEN x, long sx, GEN y, long sy)
3747    GEN     addir_sign(GEN x, long sx, GEN y, long sy)
3748    GEN     addrr_sign(GEN x, long sx, GEN y, long sy)
3749    GEN     addsi_sign(long x, GEN y, long sy)
3750    GEN     addui_sign(ulong x, GEN y, long sy)
3751    GEN     addsr(long x, GEN y)
3752    GEN     addumului(ulong a, ulong b, GEN Y)
3753    void    affir(GEN x, GEN y)
3754    void    affrr(GEN x, GEN y)
3755    GEN     bezout(GEN a, GEN b, GEN *u, GEN *v)
3756    long    cbezout(long a, long b, long *uu, long *vv)
3757    GEN     cbrtr_abs(GEN x)
3758    int     cmpii(GEN x, GEN y)
3759    int     cmprr(GEN x, GEN y)
3760    long    dblexpo(double x)
3761    ulong   dblmantissa(double x)
3762    GEN     dbltor(double x)
3763    GEN     diviiexact(GEN x, GEN y)
3764    GEN     divir(GEN x, GEN y)
3765    GEN     divis(GEN y, long x)
3766    GEN     divis_rem(GEN x, long y, long *rem)
3767    GEN     diviu_rem(GEN y, ulong x, ulong *rem)
3768    GEN     diviuuexact(GEN x, ulong y, ulong z)
3769    GEN     diviuexact(GEN x, ulong y)
3770    GEN     divri(GEN x, GEN y)
3771    GEN     divrr(GEN x, GEN y)
3772    GEN     divrs(GEN x, long y)
3773    GEN     divru(GEN x, ulong y)
3774    GEN     divsi(long x, GEN y)
3775    GEN     divsr(long x, GEN y)
3776    GEN     divur(ulong x, GEN y)
3777    GEN     dvmdii(GEN x, GEN y, GEN *z)
3778    int     equalii(GEN x, GEN y)
3779    int     equalrr(GEN x, GEN y)
3780    GEN     floorr(GEN x)
3781    GEN     gcdii(GEN x, GEN y)
3782    GEN     int2n(long n)
3783    GEN     int2u(ulong n)
3784    GEN     int_normalize(GEN x, long known_zero_words)
3785    int     invmod(GEN a, GEN b, GEN *res)
3786    ulong   invmod2BIL(ulong b)
3787    GEN     invr(GEN b)
3788    GEN     mantissa_real(GEN x, long *e)
3789    GEN     modii(GEN x, GEN y)
3790    void    modiiz(GEN x, GEN y, GEN z)
3791    GEN     mulii(GEN x, GEN y)
3792    GEN     mulir(GEN x, GEN y)
3793    GEN     mulrr(GEN x, GEN y)
3794    GEN     mulsi(long x, GEN y)
3795    GEN     mulsr(long x, GEN y)
3796    GEN     mulss(long x, long y)
3797    GEN     mului(ulong x, GEN y)
3798    GEN     mulur(ulong x, GEN y)
3799    GEN     muluu(ulong x, ulong y)
3800    GEN     muluui(ulong x, ulong y, GEN z)
3801    GEN     remi2n(GEN x, long n)
3802    double  rtodbl(GEN x)
3803    GEN     shifti(GEN x, long n)
3804    GEN     sqri(GEN x)
3805    GEN     sqrr(GEN x)
3806    GEN     sqrs(long x)
3807    GEN     sqrtr_abs(GEN x)
3808    GEN     sqrtremi(GEN S, GEN *R)
3809    GEN     sqru(ulong x)
3810    GEN     subsr(long x, GEN y)
3811    GEN     truedvmdii(GEN x, GEN y, GEN *z)
3812    GEN     truedvmdis(GEN x, long y, GEN *z)
3813    GEN     truedvmdsi(long x, GEN y, GEN *z)
3814    GEN     trunc2nr(GEN x, long n)
3815    GEN     mantissa2nr(GEN x, long n)
3816    GEN     truncr(GEN x)
3817    ulong   umodiu(GEN y, ulong x)
3818    long    vals(ulong x)
3819
3820    # nffactor.c
3821
3822    GEN     FpC_ratlift(GEN P, GEN mod, GEN amax, GEN bmax, GEN denom)
3823    GEN     FpM_ratlift(GEN M, GEN mod, GEN amax, GEN bmax, GEN denom)
3824    GEN     FpX_ratlift(GEN P, GEN mod, GEN amax, GEN bmax, GEN denom)
3825    GEN     nffactor(GEN nf, GEN x)
3826    GEN     nffactormod(GEN nf, GEN pol, GEN pr)
3827    GEN     nfgcd(GEN P, GEN Q, GEN nf, GEN den)
3828    GEN     nfgcd_all(GEN P, GEN Q, GEN T, GEN den, GEN *Pnew)
3829    int     nfissquarefree(GEN nf, GEN x)
3830    GEN     nfroots(GEN nf, GEN pol)
3831    GEN     polfnf(GEN a, GEN t)
3832    GEN     rootsof1(GEN x)
3833    GEN     rootsof1_kannan(GEN nf)
3834
3835    # paricfg.c
3836
3837    extern const char *paricfg_datadir
3838    extern const char *paricfg_version
3839    extern const char *paricfg_buildinfo
3840    extern const long  paricfg_version_code
3841    extern const char *paricfg_vcsversion
3842    extern const char *paricfg_compiledate
3843    extern const char *paricfg_mt_engine
3844
3845    # part.c
3846
3847    void    forpart(void *E, long call(void*, GEN), long k, GEN nbound, GEN abound)
3848    void    forpart_init(forpart_t *T, long k, GEN abound, GEN nbound)
3849    GEN     forpart_next(forpart_t *T)
3850    GEN     forpart_prev(forpart_t *T)
3851    GEN     numbpart(GEN x)
3852    GEN     partitions(long k, GEN nbound, GEN abound)
3853
3854    # perm.c
3855
3856    GEN     abelian_group(GEN G)
3857    GEN     cyclicgroup(GEN g, long s)
3858    GEN     cyc_pow(GEN cyc, long exp)
3859    GEN     cyc_pow_perm(GEN cyc, long exp)
3860    GEN     dicyclicgroup(GEN g1, GEN g2, long s1, long s2)
3861    GEN     group_abelianHNF(GEN G, GEN L)
3862    GEN     group_abelianSNF(GEN G, GEN L)
3863    long    group_domain(GEN G)
3864    GEN     group_elts(GEN G, long n)
3865    GEN     group_export(GEN G, long format)
3866    long    group_isA4S4(GEN G)
3867    long    group_isabelian(GEN G)
3868    GEN     group_leftcoset(GEN G, GEN g)
3869    long    group_order(GEN G)
3870    long    group_perm_normalize(GEN N, GEN g)
3871    GEN     group_quotient(GEN G, GEN H)
3872    GEN     group_rightcoset(GEN G, GEN g)
3873    GEN     group_set(GEN G, long n)
3874    long    group_subgroup_isnormal(GEN G, GEN H)
3875    GEN     group_subgroups(GEN G)
3876    GEN     groupelts_abelian_group(GEN S)
3877    GEN     groupelts_center(GEN S)
3878    GEN     groupelts_set(GEN G, long n)
3879    int     perm_commute(GEN p, GEN q)
3880    GEN     perm_cycles(GEN v)
3881    long    perm_order(GEN perm)
3882    GEN     perm_pow(GEN perm, long exp)
3883    GEN     quotient_group(GEN C, GEN G)
3884    GEN     quotient_perm(GEN C, GEN p)
3885    GEN     quotient_subgroup_lift(GEN C, GEN H, GEN S)
3886    GEN     subgroups_tableset(GEN S, long n)
3887    long    tableset_find_index(GEN tbl, GEN set)
3888    GEN     trivialgroup()
3889    GEN     vecperm_orbits(GEN v, long n)
3890    GEN     vec_insert(GEN v, long n, GEN x)
3891    int     vec_is1to1(GEN v)
3892    int     vec_isconst(GEN v)
3893    long    vecsmall_duplicate(GEN x)
3894    long    vecsmall_duplicate_sorted(GEN x)
3895    GEN     vecsmall_indexsort(GEN V)
3896    void    vecsmall_sort(GEN V)
3897    GEN     vecsmall_uniq(GEN V)
3898    GEN     vecsmall_uniq_sorted(GEN V)
3899    GEN     vecvecsmall_indexsort(GEN x)
3900    long    vecvecsmall_search(GEN x, GEN y, long flag)
3901    GEN     vecvecsmall_sort(GEN x)
3902    GEN     vecvecsmall_sort_uniq(GEN x)
3903
3904    # mt.c
3905
3906    void    mt_broadcast(GEN code)
3907    void    mt_sigint_block()
3908    void    mt_sigint_unblock()
3909    void    mt_queue_end(pari_mt *pt)
3910    GEN     mt_queue_get(pari_mt *pt, long *jobid, long *pending)
3911    void    mt_queue_start(pari_mt *pt, GEN worker)
3912    void    mt_queue_submit(pari_mt *pt, long jobid, GEN work)
3913    void    pari_mt_init()
3914    void    pari_mt_close()
3915
3916    # plotport.c
3917
3918    void    color_to_rgb(GEN c, int *r, int *g, int *b)
3919    void    colorname_to_rgb(const char *s, int *r, int *g, int *b)
3920    void    pari_plot_by_file(const char *env, const char *suf, const char *img)
3921    void    pari_set_plot_engine(void (*plot)(PARI_plot *))
3922    void    pari_kill_plot_engine()
3923    void    plotbox(long ne, GEN gx2, GEN gy2)
3924    void    plotclip(long rect)
3925    void    plotcolor(long ne, long color)
3926    void    plotcopy(long source, long dest, GEN xoff, GEN yoff, long flag)
3927    GEN     plotcursor(long ne)
3928    void    plotdraw(GEN list, long flag)
3929    GEN     ploth(void *E, GEN(*f)(void*, GEN), GEN a, GEN b, long flags, long n, long prec)
3930    GEN     plothraw(GEN listx, GEN listy, long flag)
3931    GEN     plothsizes(long flag)
3932    void    plotinit(long ne, GEN x, GEN y, long flag)
3933    void    plotkill(long ne)
3934    void    plotline(long ne, GEN gx2, GEN gy2)
3935    void    plotlines(long ne, GEN listx, GEN listy, long flag)
3936    void    plotlinetype(long ne, long t)
3937    void    plotmove(long ne, GEN x, GEN y)
3938    void    plotpoints(long ne, GEN listx, GEN listy)
3939    void    plotpointsize(long ne, GEN size)
3940    void    plotpointtype(long ne, long t)
3941    void    plotrbox(long ne, GEN x2, GEN y2)
3942    GEN     plotrecth(void *E, GEN(*f)(void*, GEN), long ne, GEN a, GEN b, ulong flags, long n, long prec)
3943    GEN     plotrecthraw(long ne, GEN data, long flags)
3944    void    plotrline(long ne, GEN x2, GEN y2)
3945    void    plotrmove(long ne, GEN x, GEN y)
3946    void    plotrpoint(long ne, GEN x, GEN y)
3947    void    plotscale(long ne, GEN x1, GEN x2, GEN y1, GEN y2)
3948    void    plotstring(long ne, char *x, long dir)
3949    void    psdraw(GEN list, long flag)
3950    GEN     psploth(void *E, GEN(*f)(void*, GEN), GEN a, GEN b, long flags, long n, long prec)
3951    GEN     psplothraw(GEN listx, GEN listy, long flag)
3952    char*   rect2ps(GEN w, GEN x, GEN y, PARI_plot *T)
3953    char*   rect2ps_i(GEN w, GEN x, GEN y, PARI_plot *T, int plotps)
3954    char*   rect2svg(GEN w, GEN x, GEN y, PARI_plot *T)
3955
3956    # polarit1.c
3957
3958    GEN     ZX_Zp_root(GEN f, GEN a, GEN p, long prec)
3959    GEN     Zp_appr(GEN f, GEN a)
3960    GEN     factorpadic(GEN x, GEN p, long r)
3961    GEN     gdeuc(GEN x, GEN y)
3962    GEN     grem(GEN x, GEN y)
3963    GEN     padicappr(GEN f, GEN a)
3964    GEN     poldivrem(GEN x, GEN y, GEN *pr)
3965    GEN     rootpadic(GEN f, GEN p, long r)
3966
3967    # polarit2.c
3968
3969    GEN     FpV_factorback(GEN L, GEN e, GEN p)
3970    GEN     Q_content(GEN x)
3971    GEN     Q_denom(GEN x)
3972    GEN     Q_div_to_int(GEN x, GEN c)
3973    GEN     Q_gcd(GEN x, GEN y)
3974    GEN     Q_mul_to_int(GEN x, GEN c)
3975    GEN     Q_muli_to_int(GEN x, GEN d)
3976    GEN     Q_primitive_part(GEN x, GEN *ptc)
3977    GEN     Q_primpart(GEN x)
3978    GEN     Q_remove_denom(GEN x, GEN *ptd)
3979    GEN     RgXQ_charpoly(GEN x, GEN T, long v)
3980    GEN     RgXQ_inv(GEN x, GEN y)
3981    GEN     RgX_disc(GEN x)
3982    GEN     RgX_extgcd(GEN x, GEN y, GEN *U, GEN *V)
3983    GEN     RgX_extgcd_simple(GEN a, GEN b, GEN *pu, GEN *pv)
3984    GEN     RgX_gcd(GEN x, GEN y)
3985    GEN     RgX_gcd_simple(GEN x, GEN y)
3986    int     RgXQ_ratlift(GEN y, GEN x, long amax, long bmax, GEN *P, GEN *Q)
3987    GEN     RgX_resultant_all(GEN P, GEN Q, GEN *sol)
3988    long    RgX_sturmpart(GEN x, GEN ab)
3989    long    RgX_type(GEN x, GEN *ptp, GEN *ptpol, long *ptpa)
3990    void    RgX_type_decode(long x, long *t1, long *t2)
3991    int     RgX_type_is_composite(long t)
3992    GEN     ZX_content(GEN x)
3993    GEN     centermod(GEN x, GEN p)
3994    GEN     centermod_i(GEN x, GEN p, GEN ps2)
3995    GEN     centermodii(GEN x, GEN p, GEN po2)
3996    GEN     content(GEN x)
3997    GEN     deg1_from_roots(GEN L, long v)
3998    GEN     factor(GEN x)
3999    GEN     factor0(GEN x, long flag)
4000    GEN     factorback(GEN fa)
4001    GEN     factorback2(GEN fa, GEN e)
4002    GEN     famat_mul_shallow(GEN f, GEN g)
4003    GEN     gbezout(GEN x, GEN y, GEN *u, GEN *v)
4004    GEN     gdivexact(GEN x, GEN y)
4005    GEN     gen_factorback(GEN L, GEN e, GEN (*_mul)(void*, GEN, GEN), GEN (*_pow)(void*, GEN, GEN), void *data)
4006    GEN     ggcd(GEN x, GEN y)
4007    GEN     ggcd0(GEN x, GEN y)
4008    GEN     ginvmod(GEN x, GEN y)
4009    GEN     glcm(GEN x, GEN y)
4010    GEN     glcm0(GEN x, GEN y)
4011    GEN     gp_factor0(GEN x, GEN flag)
4012    GEN     idealfactorback(GEN nf, GEN L, GEN e, int red)
4013    long    polisirreducible(GEN x)
4014    GEN     newtonpoly(GEN x, GEN p)
4015    GEN     nffactorback(GEN nf, GEN L, GEN e)
4016    GEN     nfrootsQ(GEN x)
4017    GEN     poldisc0(GEN x, long v)
4018    GEN     polresultant0(GEN x, GEN y, long v, long flag)
4019    GEN     polsym(GEN x, long n)
4020    GEN     primitive_part(GEN x, GEN *c)
4021    GEN     primpart(GEN x)
4022    GEN     reduceddiscsmith(GEN pol)
4023    GEN     resultant2(GEN x, GEN y)
4024    GEN     resultant_all(GEN u, GEN v, GEN *sol)
4025    GEN     rnfcharpoly(GEN nf, GEN T, GEN alpha, long v)
4026    GEN     roots_from_deg1(GEN x)
4027    GEN     roots_to_pol(GEN a, long v)
4028    GEN     roots_to_pol_r1(GEN a, long v, long r1)
4029    long    sturmpart(GEN x, GEN a, GEN b)
4030    GEN     subresext(GEN x, GEN y, GEN *U, GEN *V)
4031    GEN     sylvestermatrix(GEN x, GEN y)
4032    GEN     trivial_fact()
4033    GEN     gcdext0(GEN x, GEN y)
4034    GEN     polresultantext0(GEN x, GEN y, long v)
4035    GEN     polresultantext(GEN x, GEN y)
4036    GEN     prime_fact(GEN x)
4037
4038    # polarit3.c
4039
4040    GEN     Flx_FlxY_resultant(GEN a, GEN b, ulong pp)
4041    GEN     Flx_factorff_irred(GEN P, GEN Q, ulong p)
4042    void    Flx_ffintersect(GEN P, GEN Q, long n, ulong l, GEN *SP, GEN *SQ, GEN MA, GEN MB)
4043    GEN     Flx_ffisom(GEN P, GEN Q, ulong l)
4044    GEN     Flx_roots_naive(GEN f, ulong p)
4045    GEN     FlxX_resultant(GEN u, GEN v, ulong p, long sx)
4046    GEN     Flxq_ffisom_inv(GEN S, GEN Tp, ulong p)
4047    GEN     FpX_FpXY_resultant(GEN a, GEN b0, GEN p)
4048    GEN     FpX_factorff_irred(GEN P, GEN Q, GEN p)
4049    void    FpX_ffintersect(GEN P, GEN Q, long n, GEN l, GEN *SP, GEN *SQ, GEN MA, GEN MB)
4050    GEN     FpX_ffisom(GEN P, GEN Q, GEN l)
4051    GEN     FpX_translate(GEN P, GEN c, GEN p)
4052    GEN     FpXQ_ffisom_inv(GEN S, GEN Tp, GEN p)
4053    GEN     FpXQX_normalize(GEN z, GEN T, GEN p)
4054    GEN     FpXV_FpC_mul(GEN V, GEN W, GEN p)
4055    GEN     FpXY_Fq_evaly(GEN Q, GEN y, GEN T, GEN p, long vx)
4056    GEN     Fq_Fp_mul(GEN x, GEN y, GEN T, GEN p)
4057    GEN     Fq_add(GEN x, GEN y, GEN T, GEN p)
4058    GEN     Fq_div(GEN x, GEN y, GEN T, GEN p)
4059    GEN     Fq_halve(GEN x, GEN T, GEN p)
4060    GEN     Fq_inv(GEN x, GEN T, GEN p)
4061    GEN     Fq_invsafe(GEN x, GEN T, GEN p)
4062    GEN     Fq_mul(GEN x, GEN y, GEN T, GEN p)
4063    GEN     Fq_mulu(GEN x, ulong y, GEN T, GEN p)
4064    GEN     Fq_neg(GEN x, GEN T, GEN p)
4065    GEN     Fq_neg_inv(GEN x, GEN T, GEN p)
4066    GEN     Fq_pow(GEN x, GEN n, GEN T, GEN p)
4067    GEN     Fq_powu(GEN x, ulong n, GEN pol, GEN p)
4068    GEN     Fq_sub(GEN x, GEN y, GEN T, GEN p)
4069    GEN     Fq_sqr(GEN x, GEN T, GEN p)
4070    GEN     Fq_sqrt(GEN x, GEN T, GEN p)
4071    GEN     Fq_sqrtn(GEN x, GEN n, GEN T, GEN p, GEN *zeta)
4072    GEN     FqC_add(GEN x, GEN y, GEN T, GEN p)
4073    GEN     FqC_sub(GEN x, GEN y, GEN T, GEN p)
4074    GEN     FqC_Fq_mul(GEN x, GEN y, GEN T, GEN p)
4075    GEN     FqC_to_FlxC(GEN v, GEN T, GEN pp)
4076    GEN     FqM_to_FlxM(GEN x, GEN T, GEN pp)
4077    GEN     FqV_roots_to_pol(GEN V, GEN T, GEN p, long v)
4078    GEN     FqV_red(GEN z, GEN T, GEN p)
4079    GEN     FqV_to_FlxV(GEN v, GEN T, GEN pp)
4080    GEN     FqX_Fq_add(GEN y, GEN x, GEN T, GEN p)
4081    GEN     FqX_Fq_mul_to_monic(GEN P, GEN U, GEN T, GEN p)
4082    GEN     FqX_eval(GEN x, GEN y, GEN T, GEN p)
4083    GEN     FqX_translate(GEN P, GEN c, GEN T, GEN p)
4084    GEN     FqXQ_powers(GEN x, long l, GEN S, GEN T, GEN p)
4085    GEN     FqXQ_matrix_pow(GEN y, long n, long m, GEN S, GEN T, GEN p)
4086    GEN     FqXY_eval(GEN Q, GEN y, GEN x, GEN T, GEN p)
4087    GEN     FqXY_evalx(GEN Q, GEN x, GEN T, GEN p)
4088    GEN     QX_disc(GEN x)
4089    GEN     QX_gcd(GEN a, GEN b)
4090    GEN     QX_resultant(GEN A, GEN B)
4091    GEN     QXQ_intnorm(GEN A, GEN B)
4092    GEN     QXQ_inv(GEN A, GEN B)
4093    GEN     QXQ_norm(GEN A, GEN B)
4094    int     Rg_is_Fp(GEN x, GEN *p)
4095    int     Rg_is_FpXQ(GEN x, GEN *pT, GEN *pp)
4096    GEN     Rg_to_Fp(GEN x, GEN p)
4097    GEN     Rg_to_FpXQ(GEN x, GEN T, GEN p)
4098    GEN     RgC_to_FpC(GEN x, GEN p)
4099    int     RgM_is_FpM(GEN x, GEN *p)
4100    GEN     RgM_to_Flm(GEN x, ulong p)
4101    GEN     RgM_to_FpM(GEN x, GEN p)
4102    int     RgV_is_FpV(GEN x, GEN *p)
4103    GEN     RgV_to_Flv(GEN x, ulong p)
4104    GEN     RgV_to_FpV(GEN x, GEN p)
4105    int     RgX_is_FpX(GEN x, GEN *p)
4106    GEN     RgX_to_FpX(GEN x, GEN p)
4107    int     RgX_is_FpXQX(GEN x, GEN *pT, GEN *pp)
4108    GEN     RgX_to_FpXQX(GEN x, GEN T, GEN p)
4109    GEN     RgX_to_FqX(GEN x, GEN T, GEN p)
4110    GEN     ZX_ZXY_rnfequation(GEN A, GEN B, long *Lambda)
4111    GEN     ZXQ_charpoly(GEN A, GEN T, long v)
4112    GEN     ZX_disc(GEN x)
4113    int     ZX_is_squarefree(GEN x)
4114    GEN     ZX_gcd(GEN A, GEN B)
4115    GEN     ZX_gcd_all(GEN A, GEN B, GEN *Anew)
4116    GEN     ZX_resultant(GEN A, GEN B)
4117    int     Z_incremental_CRT(GEN *H, ulong Hp, GEN *q, ulong p)
4118    GEN     Z_init_CRT(ulong Hp, ulong p)
4119    int     ZM_incremental_CRT(GEN *H, GEN Hp, GEN *q, ulong p)
4120    GEN     ZM_init_CRT(GEN Hp, ulong p)
4121    int     ZX_incremental_CRT(GEN *ptH, GEN Hp, GEN *q, ulong p)
4122    GEN     ZX_init_CRT(GEN Hp, ulong p, long v)
4123    GEN     characteristic(GEN x)
4124    GEN     ffinit(GEN p, long n, long v)
4125    GEN     ffnbirred(GEN p, long n)
4126    GEN     ffnbirred0(GEN p, long n, long flag)
4127    GEN     ffsumnbirred(GEN p, long n)
4128    const bb_field *get_Fq_field(void **E, GEN T, GEN p)
4129    GEN     init_Fq(GEN p, long n, long v)
4130    GEN     pol_x_powers(long N, long v)
4131    GEN     residual_characteristic(GEN x)
4132
4133    # polclass.c
4134
4135    GEN     polclass(GEN D, long inv, long xvar)
4136
4137    # polmodular.c
4138
4139    GEN     Flm_Fl_polmodular_evalx(GEN phi, long L, ulong j, ulong p, ulong pi)
4140    GEN     Fp_polmodular_evalx(long L, long inv, GEN J, GEN P, long v, int compute_derivs)
4141    GEN     polmodular(long L, long inv, GEN x, long yvar, long compute_derivs)
4142    GEN     polmodular_ZM(long L, long inv)
4143    GEN     polmodular_ZXX(long L, long inv, long xvar, long yvar)
4144
4145    # prime.c
4146
4147    long    BPSW_isprime(GEN x)
4148    long    BPSW_psp(GEN N)
4149    GEN     addprimes(GEN primes)
4150    GEN     gisprime(GEN x, long flag)
4151    GEN     gispseudoprime(GEN x, long flag)
4152    GEN     gprimepi_upper_bound(GEN x)
4153    GEN     gprimepi_lower_bound(GEN x)
4154    long    isprime(GEN x)
4155    long    ispseudoprime(GEN x, long flag)
4156    long    millerrabin(GEN n, long k)
4157    GEN     prime(long n)
4158    GEN     primepi(GEN x)
4159    double  primepi_upper_bound(double x)
4160    double  primepi_lower_bound(double x)
4161    GEN     primes(long n)
4162    GEN     primes_interval(GEN a, GEN b)
4163    GEN     primes_interval_zv(ulong a, ulong b)
4164    GEN     primes_upto_zv(ulong b)
4165    GEN     primes0(GEN n)
4166    GEN     primes_zv(long m)
4167    GEN     randomprime(GEN N)
4168    GEN     removeprimes(GEN primes)
4169    int     uislucaspsp(ulong n)
4170    int     uisprime(ulong n)
4171    ulong   uprime(long n)
4172    ulong   uprimepi(ulong n)
4173
4174    # qfisom.c
4175
4176    GEN     qfauto(GEN g, GEN flags)
4177    GEN     qfauto0(GEN g, GEN flags)
4178    GEN     qfautoexport(GEN g, long flag)
4179    GEN     qfisom(GEN g, GEN h, GEN flags)
4180    GEN     qfisom0(GEN g, GEN h, GEN flags)
4181    GEN     qfisominit(GEN g, GEN flags, GEN minvec)
4182    GEN     qfisominit0(GEN g, GEN flags, GEN minvec)
4183    GEN     qforbits(GEN G, GEN V)
4184
4185    # qfparam.c
4186
4187    GEN     qfsolve(GEN G)
4188    GEN     qfparam(GEN G, GEN sol, long fl)
4189
4190    # random.c
4191
4192    GEN     genrand(GEN N)
4193    GEN     getrand()
4194    ulong   pari_rand()
4195    GEN     randomi(GEN x)
4196    GEN     randomr(long prec)
4197    ulong   random_Fl(ulong n)
4198    long    random_bits(long k)
4199    void    setrand(GEN seed)
4200
4201    # rootpol.c
4202
4203    GEN     QX_complex_roots(GEN p, long l)
4204    GEN     ZX_graeffe(GEN p)
4205    GEN     cleanroots(GEN x, long l)
4206    double  fujiwara_bound(GEN p)
4207    double  fujiwara_bound_real(GEN p, long sign)
4208    int     isrealappr(GEN x, long l)
4209    GEN     polgraeffe(GEN p)
4210    GEN     polmod_to_embed(GEN x, long prec)
4211    GEN     roots(GEN x, long l)
4212    GEN     realroots(GEN P, GEN ab, long prec)
4213    long    ZX_sturm(GEN P)
4214    long    ZX_sturmpart(GEN P, GEN ab)
4215    GEN     ZX_Uspensky(GEN P, GEN ab, long flag, long prec)
4216
4217    # subcyclo.c
4218
4219    GEN     factor_Aurifeuille(GEN p, long n)
4220    GEN     factor_Aurifeuille_prime(GEN p, long n)
4221    GEN     galoissubcyclo(GEN N, GEN sg, long flag, long v)
4222    GEN     polsubcyclo(long n, long d, long v)
4223
4224    # subfield.c
4225
4226    GEN     nfsubfields(GEN nf, long d)
4227
4228    # subgroup.c
4229
4230    GEN     subgrouplist(GEN cyc, GEN bound)
4231    void    forsubgroup(void *E, long fun(void*, GEN), GEN cyc, GEN B)
4232
4233    # stark.c
4234
4235    GEN     bnrL1(GEN bnr, GEN sbgrp, long flag, long prec)
4236    GEN     bnrrootnumber(GEN bnr, GEN chi, long flag, long prec)
4237    GEN     bnrstark(GEN bnr, GEN subgroup, long prec)
4238    GEN     cyc2elts(GEN cyc)
4239
4240    # sumiter.c
4241
4242    GEN     asympnum(void *E, GEN (*f)(void *, GEN, long), long muli, GEN alpha, long prec)
4243    GEN     derivnum(void *E, GEN (*eval)(void *, GEN, long prec), GEN x, long prec)
4244    GEN     derivfun(void *E, GEN (*eval)(void *, GEN, long prec), GEN x, long prec)
4245    int     forcomposite_init(forcomposite_t *C, GEN a, GEN b)
4246    GEN     forcomposite_next(forcomposite_t *C)
4247    GEN     forprime_next(forprime_t *T)
4248    int     forprime_init(forprime_t *T, GEN a, GEN b)
4249    int     forvec_init(forvec_t *T, GEN x, long flag)
4250    GEN     forvec_next(forvec_t *T)
4251    GEN     limitnum(void *E, GEN (*f)(void *, GEN, long), long muli, GEN alpha, long prec)
4252    GEN     polzag(long n, long m)
4253    GEN     prodeuler(void *E, GEN (*eval)(void *, GEN), GEN ga, GEN gb, long prec)
4254    GEN     prodinf(void *E, GEN (*eval)(void *, GEN), GEN a, long prec)
4255    GEN     prodinf1(void *E, GEN (*eval)(void *, GEN), GEN a, long prec)
4256    GEN     sumalt(void *E, GEN (*eval)(void *, GEN), GEN a, long prec)
4257    GEN     sumalt2(void *E, GEN (*eval)(void *, GEN), GEN a, long prec)
4258    GEN     sumpos(void *E, GEN (*eval)(void *, GEN), GEN a, long prec)
4259    GEN     sumpos2(void *E, GEN (*eval)(void *, GEN), GEN a, long prec)
4260    GEN     suminf(void *E, GEN (*eval)(void *, GEN), GEN a, long prec)
4261    ulong   u_forprime_next(forprime_t *T)
4262    int     u_forprime_init(forprime_t *T, ulong a, ulong b)
4263    void    u_forprime_restrict(forprime_t *T, ulong c)
4264    int     u_forprime_arith_init(forprime_t *T, ulong a, ulong b, ulong c, ulong q)
4265    GEN     zbrent(void *E, GEN (*eval)(void *, GEN), GEN a, GEN b, long prec)
4266    GEN     solvestep(void *E, GEN (*eval)(void *, GEN), GEN a, GEN b, GEN step, long flag, long prec)
4267
4268    # thue.c
4269
4270    GEN     bnfisintnorm(GEN x, GEN y)
4271    GEN     bnfisintnormabs(GEN bnf, GEN a)
4272    GEN     thue(GEN thueres, GEN rhs, GEN ne)
4273    GEN     thueinit(GEN pol, long flag, long prec)
4274
4275    # trans1.c
4276
4277    GEN     Pi2n(long n, long prec)
4278    GEN     PiI2(long prec)
4279    GEN     PiI2n(long n, long prec)
4280    GEN     Qp_exp(GEN x)
4281    GEN     Qp_log(GEN x)
4282    GEN     Qp_sqrt(GEN x)
4283    GEN     Qp_sqrtn(GEN x, GEN n, GEN *zetan)
4284    long    Zn_ispower(GEN a, GEN q, GEN K, GEN *pt)
4285    long    Zn_issquare(GEN x, GEN n)
4286    GEN     Zn_sqrt(GEN x, GEN n)
4287    GEN     Zp_teichmuller(GEN x, GEN p, long n, GEN q)
4288    GEN     agm(GEN x, GEN y, long prec)
4289    GEN     constcatalan(long prec)
4290    GEN     consteuler(long prec)
4291    GEN     constlog2(long prec)
4292    GEN     constpi(long prec)
4293    GEN     cxexpm1(GEN z, long prec)
4294    GEN     expIr(GEN x)
4295    GEN     exp1r_abs(GEN x)
4296    GEN     gcos(GEN x, long prec)
4297    GEN     gcotan(GEN x, long prec)
4298    GEN     gcotanh(GEN x, long prec)
4299    GEN     gexp(GEN x, long prec)
4300    GEN     gexpm1(GEN x, long prec)
4301    GEN     glog(GEN x, long prec)
4302    GEN     gpow(GEN x, GEN n, long prec)
4303    GEN     gpowers(GEN x, long n)
4304    GEN     gpowers0(GEN x, long n, GEN x0)
4305    GEN     gpowgs(GEN x, long n)
4306    GEN     grootsof1(long N, long prec)
4307    GEN     gsin(GEN x, long prec)
4308    GEN     gsinc(GEN x, long prec)
4309    void    gsincos(GEN x, GEN *s, GEN *c, long prec)
4310    GEN     gsqrpowers(GEN q, long n)
4311    GEN     gsqrt(GEN x, long prec)
4312    GEN     gsqrtn(GEN x, GEN n, GEN *zetan, long prec)
4313    GEN     gtan(GEN x, long prec)
4314    GEN     logr_abs(GEN x)
4315    GEN     mpcos(GEN x)
4316    GEN     mpeuler(long prec)
4317    GEN     mpcatalan(long prec)
4318    void    mpsincosm1(GEN x, GEN *s, GEN *c)
4319    GEN     mpexp(GEN x)
4320    GEN     mpexpm1(GEN x)
4321    GEN     mplog(GEN x)
4322    GEN     mplog2(long prec)
4323    GEN     mppi(long prec)
4324    GEN     mpsin(GEN x)
4325    void    mpsincos(GEN x, GEN *s, GEN *c)
4326    GEN     powersr(GEN a, long n)
4327    GEN     powis(GEN x, long n)
4328    GEN     powiu(GEN p, ulong k)
4329    GEN     powrfrac(GEN x, long n, long d)
4330    GEN     powrs(GEN x, long n)
4331    GEN     powrshalf(GEN x, long s)
4332    GEN     powru(GEN x, ulong n)
4333    GEN     powruhalf(GEN x, ulong s)
4334    GEN     powuu(ulong p, ulong k)
4335    GEN     powgi(GEN x, GEN n)
4336    GEN     serchop0(GEN s)
4337    GEN     sqrtnint(GEN a, long n)
4338    GEN     teich(GEN x)
4339    GEN     teichmullerinit(long p, long n)
4340    GEN     teichmuller(GEN x, GEN tab)
4341    GEN     trans_eval(const char *fun, GEN (*f) (GEN, long), GEN x, long prec)
4342    ulong   upowuu(ulong p, ulong k)
4343    ulong   usqrtn(ulong a, ulong n)
4344    ulong   usqrt(ulong a)
4345
4346    # trans2.c
4347
4348    GEN     Qp_gamma(GEN x)
4349    GEN     bernfrac(long n)
4350    GEN     bernpol(long k, long v)
4351    GEN     bernreal(long n, long prec)
4352    GEN     gacosh(GEN x, long prec)
4353    GEN     gacos(GEN x, long prec)
4354    GEN     garg(GEN x, long prec)
4355    GEN     gasinh(GEN x, long prec)
4356    GEN     gasin(GEN x, long prec)
4357    GEN     gatan(GEN x, long prec)
4358    GEN     gatanh(GEN x, long prec)
4359    GEN     gcosh(GEN x, long prec)
4360    GEN     ggammah(GEN x, long prec)
4361    GEN     ggamma(GEN x, long prec)
4362    GEN     ggamma1m1(GEN x, long prec)
4363    GEN     glngamma(GEN x, long prec)
4364    GEN     gpsi(GEN x, long prec)
4365    GEN     gsinh(GEN x, long prec)
4366    GEN     gtanh(GEN x, long prec)
4367    GEN     mpfactr(long n, long prec)
4368    GEN     sumformal(GEN T, long v)
4369
4370    # trans3.c
4371
4372    double  dblmodulus(GEN x)
4373    GEN     dilog(GEN x, long prec)
4374    GEN     eint1(GEN x, long prec)
4375    GEN     eta(GEN x, long prec)
4376    GEN     eta0(GEN x, long flag, long prec)
4377    GEN     gerfc(GEN x, long prec)
4378    GEN     glambertW(GEN y, long prec)
4379    GEN     gpolylog(long m, GEN x, long prec)
4380    GEN     gzeta(GEN x, long prec)
4381    GEN     hbessel1(GEN n, GEN z, long prec)
4382    GEN     hbessel2(GEN n, GEN z, long prec)
4383    GEN     hyperu(GEN a, GEN b, GEN gx, long prec)
4384    GEN     ibessel(GEN n, GEN z, long prec)
4385    GEN     incgam(GEN a, GEN x, long prec)
4386    GEN     incgam0(GEN a, GEN x, GEN z, long prec)
4387    GEN     incgamc(GEN a, GEN x, long prec)
4388    GEN     jbessel(GEN n, GEN z, long prec)
4389    GEN     jbesselh(GEN n, GEN z, long prec)
4390    GEN     jell(GEN x, long prec)
4391    GEN     kbessel(GEN nu, GEN gx, long prec)
4392    GEN     mpeint1(GEN x, GEN expx)
4393    GEN     mplambertW(GEN y)
4394    GEN     mpveceint1(GEN C, GEN eC, long n)
4395    GEN     nbessel(GEN n, GEN z, long prec)
4396    GEN     polylog0(long m, GEN x, long flag, long prec)
4397    GEN     sumdedekind(GEN h, GEN k)
4398    GEN     sumdedekind_coprime(GEN h, GEN k)
4399    GEN     szeta(long x, long prec)
4400    GEN     theta(GEN q, GEN z, long prec)
4401    GEN     thetanullk(GEN q, long k, long prec)
4402    GEN     trueeta(GEN x, long prec)
4403    GEN     u_sumdedekind_coprime(long h, long k)
4404    GEN     veceint1(GEN nmax, GEN C, long prec)
4405    GEN     vecthetanullk(GEN q, long k, long prec)
4406    GEN     vecthetanullk_tau(GEN tau, long k, long prec)
4407    GEN     veczeta(GEN a, GEN b, long N, long prec)
4408    GEN     weber0(GEN x, long flag, long prec)
4409    GEN     weberf(GEN x, long prec)
4410    GEN     weberf1(GEN x, long prec)
4411    GEN     weberf2(GEN x, long prec)
4412
4413    # modsym.c
4414    GEN     Qevproj_apply(GEN T, GEN pro)
4415    GEN     Qevproj_apply_vecei(GEN T, GEN pro, long k)
4416    GEN     Qevproj_init(GEN M)
4417    GEN     RgX_act_Gl2Q(GEN g, long k)
4418    GEN     RgX_act_ZGl2Q(GEN z, long k)
4419    void    checkms(GEN W)
4420    void    checkmspadic(GEN W)
4421    GEN     ellpadicL(GEN E, GEN p, long n, GEN s, long r, GEN D)
4422    GEN     msfromcusp(GEN W, GEN c)
4423    GEN     msfromell(GEN E, long signe)
4424    GEN     msfromhecke(GEN W, GEN v, GEN H)
4425    long    msgetlevel(GEN W)
4426    long    msgetsign(GEN W)
4427    long    msgetweight(GEN W)
4428    GEN     msatkinlehner(GEN W, long Q, GEN)
4429    GEN     mscuspidal(GEN W, long flag)
4430    GEN     mseisenstein(GEN W)
4431    GEN     mseval(GEN W, GEN s, GEN p)
4432    GEN     mshecke(GEN W, long p, GEN H)
4433    GEN     msinit(GEN N, GEN k, long sign)
4434    long    msissymbol(GEN W, GEN s)
4435    GEN     msomseval(GEN W, GEN phi, GEN path)
4436    GEN     mspadicinit(GEN W, long p, long n, long flag)
4437    GEN     mspadicL(GEN oms, GEN s, long r)
4438    GEN     mspadicmoments(GEN W, GEN phi, long D)
4439    GEN     mspadicseries(GEN M, long teichi)
4440    GEN     mspathgens(GEN W)
4441    GEN     mspathlog(GEN W, GEN path)
4442    GEN     msnew(GEN W)
4443    GEN     msstar(GEN W, GEN)
4444    GEN     msqexpansion(GEN W, GEN proV, ulong B)
4445    GEN     mssplit(GEN W, GEN H, long deglim)
4446    GEN     mstooms(GEN W, GEN phi)
4447
4448    # zetamult.c
4449    GEN zetamult(GEN avec, long prec)
4450
4451    # level1.h
4452
4453    ulong  Fl_add(ulong a, ulong b, ulong p)
4454    ulong  Fl_addmul_pre(ulong x0, ulong x1, ulong y0, ulong p, ulong pi)
4455    ulong  Fl_addmulmul_pre(ulong x0, ulong y0, ulong x1, ulong y1, ulong p, ulong pi)
4456    long   Fl_center(ulong u, ulong p, ulong ps2)
4457    ulong  Fl_div(ulong a, ulong b, ulong p)
4458    ulong  Fl_double(ulong a, ulong p)
4459    ulong  Fl_ellj_pre(ulong a4, ulong a6, ulong p, ulong pi)
4460    ulong  Fl_halve(ulong y, ulong p)
4461    ulong  Fl_mul(ulong a, ulong b, ulong p)
4462    ulong  Fl_mul_pre(ulong a, ulong b, ulong p, ulong pi)
4463    ulong  Fl_neg(ulong x, ulong p)
4464    ulong  Fl_sqr(ulong a, ulong p)
4465    ulong  Fl_sqr_pre(ulong a, ulong p, ulong pi)
4466    ulong  Fl_sub(ulong a, ulong b, ulong p)
4467    ulong  Fl_triple(ulong a, ulong p)
4468    ulong  Mod2(GEN x)
4469    ulong  Mod4(GEN x)
4470    ulong  Mod8(GEN x)
4471    ulong  Mod16(GEN x)
4472    ulong  Mod32(GEN x)
4473    ulong  Mod64(GEN x)
4474    int    abscmpiu(GEN x, ulong y)
4475    int    abscmpui(ulong x, GEN y)
4476    int    absequaliu(GEN x, ulong y)
4477    GEN    absi(GEN x)
4478    GEN    absi_shallow(GEN x)
4479    GEN    absr(GEN x)
4480    int    absrnz_equal1(GEN x)
4481    int    absrnz_equal2n(GEN x)
4482    GEN    addii(GEN x, GEN y)
4483    void   addiiz(GEN x, GEN y, GEN z)
4484    GEN    addir(GEN x, GEN y)
4485    void   addirz(GEN x, GEN y, GEN z)
4486    GEN    addis(GEN x, long s)
4487    GEN    addri(GEN x, GEN y)
4488    void   addriz(GEN x, GEN y, GEN z)
4489    GEN    addrr(GEN x, GEN y)
4490    void   addrrz(GEN x, GEN y, GEN z)
4491    GEN    addrs(GEN x, long s)
4492    GEN    addsi(long x, GEN y)
4493    void   addsiz(long s, GEN y, GEN z)
4494    void   addsrz(long s, GEN y, GEN z)
4495    GEN    addss(long x, long y)
4496    void   addssz(long s, long y, GEN z)
4497    GEN    adduu(ulong x, ulong y)
4498    void   affgr(GEN x, GEN y)
4499    void   affii(GEN x, GEN y)
4500    void   affiz(GEN x, GEN y)
4501    void   affrr_fixlg(GEN y, GEN z)
4502    void   affsi(long s, GEN x)
4503    void   affsr(long s, GEN x)
4504    void   affsz(long x, GEN y)
4505    void   affui(ulong s, GEN x)
4506    void   affur(ulong s, GEN x)
4507    GEN    cgetg(long x, long y)
4508    GEN    cgetg_block(long x, long y)
4509    GEN    cgetg_copy(GEN x, long *plx)
4510    GEN    cgeti(long x)
4511    GEN    cgetineg(long x)
4512    GEN    cgetipos(long x)
4513    GEN    cgetr(long x)
4514    GEN    cgetr_block(long prec)
4515    int    cmpir(GEN x, GEN y)
4516    int    cmpis(GEN x, long y)
4517    int    cmpri(GEN x, GEN y)
4518    int    cmprs(GEN x, long y)
4519    int    cmpsi(long x, GEN y)
4520    int    cmpsr(long x, GEN y)
4521    GEN    cxtofp(GEN x, long prec)
4522    GEN    divii(GEN a, GEN b)
4523    void   diviiz(GEN x, GEN y, GEN z)
4524    void   divirz(GEN x, GEN y, GEN z)
4525    void   divisz(GEN x, long s, GEN z)
4526    void   divriz(GEN x, GEN y, GEN z)
4527    void   divrrz(GEN x, GEN y, GEN z)
4528    void   divrsz(GEN y, long s, GEN z)
4529    GEN    divsi_rem(long x, GEN y, long *rem)
4530    void   divsiz(long x, GEN y, GEN z)
4531    void   divsrz(long s, GEN y, GEN z)
4532    GEN    divss(long x, long y)
4533    GEN    divss_rem(long x, long y, long *rem)
4534    void   divssz(long x, long y, GEN z)
4535    int    dvdii(GEN x, GEN y)
4536    int    dvdiiz(GEN x, GEN y, GEN z)
4537    int    dvdis(GEN x, long y)
4538    int    dvdisz(GEN x, long y, GEN z)
4539    int    dvdiu(GEN x, ulong y)
4540    int    dvdiuz(GEN x, ulong y, GEN z)
4541    int    dvdsi(long x, GEN y)
4542    int    dvdui(ulong x, GEN y)
4543    void   dvmdiiz(GEN x, GEN y, GEN z, GEN t)
4544    GEN    dvmdis(GEN x, long y, GEN *z)
4545    void   dvmdisz(GEN x, long y, GEN z, GEN t)
4546    long   dvmdsBIL(long n, long *r)
4547    GEN    dvmdsi(long x, GEN y, GEN *z)
4548    void   dvmdsiz(long x, GEN y, GEN z, GEN t)
4549    GEN    dvmdss(long x, long y, GEN *z)
4550    void   dvmdssz(long x, long y, GEN z, GEN t)
4551    ulong  dvmduBIL(ulong n, ulong *r)
4552    int    equalis(GEN x, long y)
4553    int    equalsi(long x, GEN y)
4554    int    absequalui(ulong x, GEN y)
4555    ulong  ceildivuu(ulong a, ulong b)
4556    long   evalexpo(long x)
4557    long   evallg(long x)
4558    long   evalprecp(long x)
4559    long   evalvalp(long x)
4560    long   expi(GEN x)
4561    long   expu(ulong x)
4562    void   fixlg(GEN z, long ly)
4563    GEN    fractor(GEN x, long prec)
4564    GEN    icopy(GEN x)
4565    GEN    icopyspec(GEN x, long nx)
4566    GEN    icopy_avma(GEN x, pari_sp av)
4567    ulong  int_bit(GEN x, long n)
4568    GEN    itor(GEN x, long prec)
4569    long   itos(GEN x)
4570    long   itos_or_0(GEN x)
4571    ulong  itou(GEN x)
4572    ulong  itou_or_0(GEN x)
4573    GEN    leafcopy(GEN x)
4574    GEN    leafcopy_avma(GEN x, pari_sp av)
4575    double maxdd(double x, double y)
4576    long   maxss(long x, long y)
4577    long   maxuu(ulong x, ulong y)
4578    double mindd(double x, double y)
4579    long   minss(long x, long y)
4580    long   minuu(ulong x, ulong y)
4581    long   mod16(GEN x)
4582    long   mod2(GEN x)
4583    ulong  mod2BIL(GEN x)
4584    long   mod32(GEN x)
4585    long   mod4(GEN x)
4586    long   mod64(GEN x)
4587    long   mod8(GEN x)
4588    GEN    modis(GEN x, long y)
4589    void   modisz(GEN y, long s, GEN z)
4590    GEN    modsi(long x, GEN y)
4591    void   modsiz(long s, GEN y, GEN z)
4592    GEN    modss(long x, long y)
4593    void   modssz(long s, long y, GEN z)
4594    GEN    mpabs(GEN x)
4595    GEN    mpabs_shallow(GEN x)
4596    GEN    mpadd(GEN x, GEN y)
4597    void   mpaddz(GEN x, GEN y, GEN z)
4598    void   mpaff(GEN x, GEN y)
4599    GEN    mpceil(GEN x)
4600    int    mpcmp(GEN x, GEN y)
4601    GEN    mpcopy(GEN x)
4602    GEN    mpdiv(GEN x, GEN y)
4603    long   mpexpo(GEN x)
4604    GEN    mpfloor(GEN x)
4605    GEN    mpmul(GEN x, GEN y)
4606    void   mpmulz(GEN x, GEN y, GEN z)
4607    GEN    mpneg(GEN x)
4608    int    mpodd(GEN x)
4609    GEN    mpround(GEN x)
4610    GEN    mpshift(GEN x, long s)
4611    GEN    mpsqr(GEN x)
4612    GEN    mpsub(GEN x, GEN y)
4613    void   mpsubz(GEN x, GEN y, GEN z)
4614    GEN    mptrunc(GEN x)
4615    void   muliiz(GEN x, GEN y, GEN z)
4616    void   mulirz(GEN x, GEN y, GEN z)
4617    GEN    mulis(GEN x, long s)
4618    GEN    muliu(GEN x, ulong s)
4619    GEN    mulri(GEN x, GEN s)
4620    void   mulriz(GEN x, GEN y, GEN z)
4621    void   mulrrz(GEN x, GEN y, GEN z)
4622    GEN    mulrs(GEN x, long s)
4623    GEN    mulru(GEN x, ulong s)
4624    void   mulsiz(long s, GEN y, GEN z)
4625    void   mulsrz(long s, GEN y, GEN z)
4626    void   mulssz(long s, long y, GEN z)
4627    GEN    negi(GEN x)
4628    GEN    negr(GEN x)
4629    GEN    new_chunk(size_t x)
4630    GEN    rcopy(GEN x)
4631    GEN    rdivii(GEN x, GEN y, long prec)
4632    void   rdiviiz(GEN x, GEN y, GEN z)
4633    GEN    rdivis(GEN x, long y, long prec)
4634    GEN    rdivsi(long x, GEN y, long prec)
4635    GEN    rdivss(long x, long y, long prec)
4636    GEN    real2n(long n, long prec)
4637    GEN    real_m2n(long n, long prec)
4638    GEN    real_0(long prec)
4639    GEN    real_0_bit(long bitprec)
4640    GEN    real_1(long prec)
4641    GEN    real_1_bit(long bit)
4642    GEN    real_m1(long prec)
4643    GEN    remii(GEN a, GEN b)
4644    void   remiiz(GEN x, GEN y, GEN z)
4645    GEN    remis(GEN x, long y)
4646    void   remisz(GEN y, long s, GEN z)
4647    ulong  remlll_pre(ulong u2, ulong u1, ulong u0, ulong p, ulong pi)
4648    GEN    remsi(long x, GEN y)
4649    void   remsiz(long s, GEN y, GEN z)
4650    GEN    remss(long x, long y)
4651    void   remssz(long s, long y, GEN z)
4652    GEN    rtor(GEN x, long prec)
4653    long   sdivsi(long x, GEN y)
4654    long   sdivsi_rem(long x, GEN y, long *rem)
4655    long   sdivss_rem(long x, long y, long *rem)
4656    ulong  udiviu_rem(GEN n, ulong d, ulong *r)
4657    ulong  udivuu_rem(ulong x, ulong y, ulong *r)
4658    ulong  umodi2n(GEN x, long n)
4659    void   setabssign(GEN x)
4660    void   shift_left(GEN z2, GEN z1, long min, long M, ulong f, ulong sh)
4661    void   shift_right(GEN z2, GEN z1, long min, long M, ulong f, ulong sh)
4662    ulong  shiftl(ulong x, ulong y)
4663    ulong  shiftlr(ulong x, ulong y)
4664    GEN    shiftr(GEN x, long n)
4665    void   shiftr_inplace(GEN z, long d)
4666    long   smodis(GEN x, long y)
4667    long   smodss(long x, long y)
4668    void   stackdummy(pari_sp av, pari_sp ltop)
4669    char  *stack_malloc(size_t N)
4670    char  *stack_malloc_align(size_t N, long k)
4671    char  *stack_calloc(size_t N)
4672    GEN    stoi(long x)
4673    GEN    stor(long x, long prec)
4674    GEN    subii(GEN x, GEN y)
4675    void   subiiz(GEN x, GEN y, GEN z)
4676    GEN    subir(GEN x, GEN y)
4677    void   subirz(GEN x, GEN y, GEN z)
4678    GEN    subis(GEN x, long y)
4679    void   subisz(GEN y, long s, GEN z)
4680    GEN    subri(GEN x, GEN y)
4681    void   subriz(GEN x, GEN y, GEN z)
4682    GEN    subrr(GEN x, GEN y)
4683    void   subrrz(GEN x, GEN y, GEN z)
4684    GEN    subrs(GEN x, long y)
4685    void   subrsz(GEN y, long s, GEN z)
4686    GEN    subsi(long x, GEN y)
4687    void   subsiz(long s, GEN y, GEN z)
4688    void   subsrz(long s, GEN y, GEN z)
4689    GEN    subss(long x, long y)
4690    void   subssz(long x, long y, GEN z)
4691    GEN    subuu(ulong x, ulong y)
4692    void   togglesign(GEN x)
4693    void   togglesign_safe(GEN *px)
4694    void   affectsign(GEN x, GEN y)
4695    void   affectsign_safe(GEN x, GEN *py)
4696    GEN    truedivii(GEN a, GEN b)
4697    GEN    truedivis(GEN a, long b)
4698    GEN    truedivsi(long a, GEN b)
4699    ulong  udivui_rem(ulong x, GEN y, ulong *rem)
4700    ulong  umodsu(long x, ulong y)
4701    ulong  umodui(ulong x, GEN y)
4702    ulong  umuluu_or_0(ulong x, ulong y)
4703    GEN    utoi(ulong x)
4704    GEN    utoineg(ulong x)
4705    GEN    utoipos(ulong x)
4706    GEN    utor(ulong s, long prec)
4707    GEN    uutoi(ulong x, ulong y)
4708    GEN    uutoineg(ulong x, ulong y)
4709    long   vali(GEN x)
4710    int    varncmp(long x, long y)
4711    long   varnmax(long x, long y)
4712    long   varnmin(long x, long y)
4713
4714    # pariinl.h
4715
4716    GEN    abgrp_get_cyc(GEN x)
4717    GEN    abgrp_get_gen(GEN x)
4718    GEN    abgrp_get_no(GEN x)
4719    GEN    bid_get_arch(GEN bid)
4720    GEN    bid_get_archp(GEN bid)
4721    GEN    bid_get_cyc(GEN bid)
4722    GEN    bid_get_fact(GEN bid)
4723    GEN    bid_get_gen(GEN bid)
4724    GEN    bid_get_gen_nocheck(GEN bid)
4725    GEN    bid_get_grp(GEN bid)
4726    GEN    bid_get_ideal(GEN bid)
4727    GEN    bid_get_mod(GEN bid)
4728    GEN    bid_get_no(GEN bid)
4729    GEN    bid_get_sarch(GEN bid)
4730    GEN    bid_get_sprk(GEN bid)
4731    GEN    bid_get_U(GEN bid)
4732    GEN    bnf_get_clgp(GEN bnf)
4733    GEN    bnf_get_cyc(GEN bnf)
4734    GEN    bnf_get_fu(GEN bnf)
4735    GEN    bnf_get_fu_nocheck(GEN bnf)
4736    GEN    bnf_get_gen(GEN bnf)
4737    GEN    bnf_get_logfu(GEN bnf)
4738    GEN    bnf_get_nf(GEN bnf)
4739    GEN    bnf_get_no(GEN bnf)
4740    GEN    bnf_get_reg(GEN bnf)
4741    GEN    bnf_get_tuU(GEN bnf)
4742    long   bnf_get_tuN(GEN bnf)
4743    GEN    bnr_get_bnf(GEN bnr)
4744    GEN    bnr_get_clgp(GEN bnr)
4745    GEN    bnr_get_cyc(GEN bnr)
4746    GEN    bnr_get_gen(GEN bnr)
4747    GEN    bnr_get_gen_nocheck(GEN bnr)
4748    GEN    bnr_get_no(GEN bnr)
4749    GEN    bnr_get_bid(GEN bnr)
4750    GEN    bnr_get_mod(GEN bnr)
4751    GEN    bnr_get_nf(GEN bnr)
4752    GEN    ell_get_a1(GEN e)
4753    GEN    ell_get_a2(GEN e)
4754    GEN    ell_get_a3(GEN e)
4755    GEN    ell_get_a4(GEN e)
4756    GEN    ell_get_a6(GEN e)
4757    GEN    ell_get_b2(GEN e)
4758    GEN    ell_get_b4(GEN e)
4759    GEN    ell_get_b6(GEN e)
4760    GEN    ell_get_b8(GEN e)
4761    GEN    ell_get_c4(GEN e)
4762    GEN    ell_get_c6(GEN e)
4763    GEN    ell_get_disc(GEN e)
4764    GEN    ell_get_j(GEN e)
4765    long   ell_get_type(GEN e)
4766    int    ell_is_inf(GEN z)
4767    GEN    ellinf()
4768    GEN    ellff_get_field(GEN x)
4769    GEN    ellff_get_a4a6(GEN x)
4770    GEN    ellnf_get_nf(GEN x)
4771    GEN    ellQp_get_p(GEN E)
4772    long   ellQp_get_prec(GEN E)
4773    GEN    ellQp_get_zero(GEN x)
4774    long   ellR_get_prec(GEN x)
4775    long   ellR_get_sign(GEN x)
4776    GEN    gal_get_pol(GEN gal)
4777    GEN    gal_get_p(GEN gal)
4778    GEN    gal_get_e(GEN gal)
4779    GEN    gal_get_mod(GEN gal)
4780    GEN    gal_get_roots(GEN gal)
4781    GEN    gal_get_invvdm(GEN gal)
4782    GEN    gal_get_den(GEN gal)
4783    GEN    gal_get_group(GEN gal)
4784    GEN    gal_get_gen(GEN gal)
4785    GEN    gal_get_orders(GEN gal)
4786    GEN    idealchineseinit(GEN nf, GEN x)
4787    GEN    idealpseudomin(GEN I, GEN G)
4788    GEN    idealpseudomin_nonscalar(GEN I, GEN G)
4789    GEN    idealpseudored(GEN I, GEN G)
4790    GEN    idealred_elt(GEN nf, GEN I)
4791    GEN    idealred(GEN nf, GEN I)
4792    long   logint(GEN B, GEN y)
4793    ulong  ulogint(ulong B, ulong y)
4794    GEN    modpr_get_pr(GEN x)
4795    GEN    modpr_get_p(GEN x)
4796    GEN    modpr_get_T(GEN x)
4797    GEN    nf_get_M(GEN nf)
4798    GEN    nf_get_G(GEN nf)
4799    GEN    nf_get_Tr(GEN nf)
4800    GEN    nf_get_diff(GEN nf)
4801    long   nf_get_degree(GEN nf)
4802    GEN    nf_get_disc(GEN nf)
4803    GEN    nf_get_index(GEN nf)
4804    GEN    nf_get_invzk(GEN nf)
4805    GEN    nf_get_pol(GEN nf)
4806    long   nf_get_r1(GEN nf)
4807    long   nf_get_r2(GEN nf)
4808    GEN    nf_get_ramified_primes(GEN nf)
4809    GEN    nf_get_roots(GEN nf)
4810    GEN    nf_get_roundG(GEN nf)
4811    void   nf_get_sign(GEN nf, long *r1, long *r2)
4812    long   nf_get_varn(GEN nf)
4813    GEN    nf_get_zk(GEN nf)
4814    GEN    nf_get_zkden(GEN nf)
4815    GEN    nf_get_zkprimpart(GEN nf)
4816    long   pr_get_e(GEN pr)
4817    long   pr_get_f(GEN pr)
4818    GEN    pr_get_gen(GEN pr)
4819    GEN    pr_get_p(GEN pr)
4820    GEN    pr_get_tau(GEN pr)
4821    int    pr_is_inert(GEN P)
4822    GEN    pr_norm(GEN pr)
4823    GEN    rnf_get_alpha(GEN rnf)
4824    long   rnf_get_absdegree(GEN rnf)
4825    long   rnf_get_degree(GEN rnf)
4826    GEN    rnf_get_idealdisc(GEN rnf)
4827    GEN    rnf_get_invzk(GEN rnf)
4828    GEN    rnf_get_k(GEN rnf)
4829    GEN    rnf_get_map(GEN rnf)
4830    GEN    rnf_get_nf(GEN rnf)
4831    long   rnf_get_nfdegree(GEN rnf)
4832    GEN    rnf_get_nfpol(GEN rnf)
4833    long   rnf_get_nfvarn(GEN rnf)
4834    GEN    rnf_get_pol(GEN rnf)
4835    GEN    rnf_get_polabs(GEN rnf)
4836    GEN    rnf_get_zk(GEN nf)
4837    void   rnf_get_nfzk(GEN rnf, GEN *b, GEN *cb)
4838    long   rnf_get_varn(GEN rnf)
4839    ulong  upr_norm(GEN pr)
4840    GEN    znstar_get_N(GEN G)
4841    GEN    znstar_get_conreycyc(GEN G)
4842    GEN    znstar_get_conreygen(GEN G)
4843    GEN    znstar_get_faN(GEN G)
4844    GEN    znstar_get_no(GEN G)
4845    GEN    znstar_get_pe(GEN G)
4846    GEN    znstar_get_Ui(GEN G)
4847
4848    long   closure_arity(GEN C)
4849    const char * closure_codestr(GEN C)
4850    GEN    closure_get_code(GEN C)
4851    GEN    closure_get_oper(GEN C)
4852    GEN    closure_get_data(GEN C)
4853    GEN    closure_get_dbg(GEN C)
4854    GEN    closure_get_text(GEN C)
4855    GEN    closure_get_frame(GEN C)
4856    long   closure_is_variadic(GEN C)
4857
4858    GEN    addmuliu(GEN x, GEN y, ulong u)
4859    GEN    addmuliu_inplace(GEN x, GEN y, ulong u)
4860    GEN    lincombii(GEN u, GEN v, GEN x, GEN y)
4861    GEN    mulsubii(GEN y, GEN z, GEN x)
4862    GEN    submulii(GEN x, GEN y, GEN z)
4863    GEN    submuliu(GEN x, GEN y, ulong u)
4864    GEN    submuliu_inplace(GEN x, GEN y, ulong u)
4865
4866    GEN    FpXQ_add(GEN x, GEN y, GEN T, GEN p)
4867    GEN    FpXQ_sub(GEN x, GEN y, GEN T, GEN p)
4868    GEN    Flxq_add(GEN x, GEN y, GEN T, ulong p)
4869    GEN    Flxq_sub(GEN x, GEN y, GEN T, ulong p)
4870
4871    GEN    FpXQX_div(GEN x, GEN y, GEN T, GEN p)
4872    GEN    FlxqX_div(GEN x, GEN y, GEN T, ulong p)
4873    GEN    F2xqX_div(GEN x, GEN y, GEN T)
4874
4875    GEN    Fq_red(GEN x, GEN T, GEN p)
4876    GEN    Fq_to_FpXQ(GEN x, GEN T, GEN p)
4877    GEN    gener_Fq_local(GEN T, GEN p, GEN L)
4878    GEN    FqX_Fp_mul(GEN P, GEN U, GEN T, GEN p)
4879    GEN    FqX_Fq_mul(GEN P, GEN U, GEN T, GEN p)
4880    GEN    FqX_add(GEN x, GEN y, GEN T, GEN p)
4881    GEN    FqX_deriv(GEN f, GEN T, GEN p)
4882    GEN    FqX_div(GEN x, GEN y, GEN T, GEN p)
4883    GEN    FqX_div_by_X_x(GEN x, GEN y, GEN T, GEN p, GEN *z)
4884    GEN    FqX_divrem(GEN x, GEN y, GEN T, GEN p, GEN *z)
4885    GEN    FqX_extgcd(GEN P, GEN Q, GEN T, GEN p, GEN *U, GEN *V)
4886    GEN    FqX_factor(GEN f, GEN T, GEN p)
4887    GEN    FqX_gcd(GEN P, GEN Q, GEN T, GEN p)
4888    GEN    FqX_get_red(GEN S, GEN T, GEN p)
4889    GEN    FqX_halfgcd(GEN P, GEN Q, GEN T, GEN p)
4890    GEN    FqX_mul(GEN x, GEN y, GEN T, GEN p)
4891    GEN    FqX_mulu(GEN x, ulong y, GEN T, GEN p)
4892    GEN    FqX_neg(GEN x, GEN T, GEN p)
4893    GEN    FqX_normalize(GEN z, GEN T, GEN p)
4894    GEN    FqX_powu(GEN x, ulong n, GEN T, GEN p)
4895    GEN    FqX_red(GEN z, GEN T, GEN p)
4896    GEN    FqX_rem(GEN x, GEN y, GEN T, GEN p)
4897    GEN    FqX_roots(GEN f, GEN T, GEN p)
4898    GEN    FqX_sqr(GEN x, GEN T, GEN p)
4899    GEN    FqX_sub(GEN x, GEN y, GEN T, GEN p)
4900
4901    GEN    FqXQ_add(GEN x, GEN y, GEN S, GEN T, GEN p)
4902    GEN    FqXQ_div(GEN x, GEN y, GEN S, GEN T, GEN p)
4903    GEN    FqXQ_inv(GEN x, GEN S, GEN T, GEN p)
4904    GEN    FqXQ_invsafe(GEN x, GEN S, GEN T, GEN p)
4905    GEN    FqXQ_mul(GEN x, GEN y, GEN S, GEN T, GEN p)
4906    GEN    FqXQ_pow(GEN x, GEN n, GEN S, GEN T, GEN p)
4907    GEN    FqXQ_sqr(GEN x, GEN S, GEN T, GEN p)
4908    GEN    FqXQ_sub(GEN x, GEN y, GEN S, GEN T, GEN p)
4909
4910    long   get_F2x_degree(GEN T)
4911    GEN    get_F2x_mod(GEN T)
4912    long   get_F2x_var(GEN T)
4913    long   get_F2xqX_degree(GEN T)
4914    GEN    get_F2xqX_mod(GEN T)
4915    long   get_F2xqX_var(GEN T)
4916    long   get_Flx_degree(GEN T)
4917    GEN    get_Flx_mod(GEN T)
4918    long   get_Flx_var(GEN T)
4919    long   get_FlxqX_degree(GEN T)
4920    GEN    get_FlxqX_mod(GEN T)
4921    long   get_FlxqX_var(GEN T)
4922    long   get_FpX_degree(GEN T)
4923    GEN    get_FpX_mod(GEN T)
4924    long   get_FpX_var(GEN T)
4925    long   get_FpXQX_degree(GEN T)
4926    GEN    get_FpXQX_mod(GEN T)
4927    long   get_FpXQX_var(GEN T)
4928
4929    ulong  F2m_coeff(GEN x, long a, long b)
4930    void   F2m_clear(GEN x, long a, long b)
4931    void   F2m_flip(GEN x, long a, long b)
4932    void   F2m_set(GEN x, long a, long b)
4933    void   F2v_clear(GEN x, long v)
4934    ulong  F2v_coeff(GEN x, long v)
4935    void   F2v_flip(GEN x, long v)
4936    GEN    F2v_to_F2x(GEN x, long sv)
4937    void   F2v_set(GEN x, long v)
4938    void   F2x_clear(GEN x, long v)
4939    ulong  F2x_coeff(GEN x, long v)
4940    void   F2x_flip(GEN x, long v)
4941    void   F2x_set(GEN x, long v)
4942    int    F2x_equal1(GEN x)
4943    int    F2x_equal(GEN V, GEN W)
4944    GEN    F2x_div(GEN x, GEN y)
4945    GEN    F2x_renormalize(GEN x, long lx)
4946    GEN    F2m_copy(GEN x)
4947    GEN    F2v_copy(GEN x)
4948    GEN    F2x_copy(GEN x)
4949    GEN    F2v_ei(long n, long i)
4950    GEN    Flm_copy(GEN x)
4951    GEN    Flv_copy(GEN x)
4952    int    Flx_equal1(GEN x)
4953    GEN    Flx_copy(GEN x)
4954    GEN    Flx_div(GEN x, GEN y, ulong p)
4955    ulong  Flx_lead(GEN x)
4956    GEN    Flx_mulu(GEN x, ulong a, ulong p)
4957    GEN    FpV_FpC_mul(GEN x, GEN y, GEN p)
4958    GEN    FpXQX_renormalize(GEN x, long lx)
4959    GEN    FpXX_renormalize(GEN x, long lx)
4960    GEN    FpX_div(GEN x, GEN y, GEN p)
4961    GEN    FpX_renormalize(GEN x, long lx)
4962    GEN    Fp_add(GEN a, GEN b, GEN m)
4963    GEN    Fp_addmul(GEN x, GEN y, GEN z, GEN p)
4964    GEN    Fp_center(GEN u, GEN p, GEN ps2)
4965    GEN    Fp_div(GEN a, GEN b, GEN m)
4966    GEN    Fp_halve(GEN y, GEN p)
4967    GEN    Fp_inv(GEN a, GEN m)
4968    GEN    Fp_invsafe(GEN a, GEN m)
4969    GEN    Fp_mul(GEN a, GEN b, GEN m)
4970    GEN    Fp_muls(GEN a, long b, GEN m)
4971    GEN    Fp_mulu(GEN a, ulong b, GEN m)
4972    GEN    Fp_neg(GEN b, GEN m)
4973    GEN    Fp_red(GEN x, GEN p)
4974    GEN    Fp_sqr(GEN a, GEN m)
4975    GEN    Fp_sub(GEN a, GEN b, GEN m)
4976    GEN    GENbinbase(GENbin *p)
4977    GEN    Q_abs(GEN x)
4978    GEN    Q_abs_shallow(GEN x)
4979    int    QV_isscalar(GEN x)
4980    void   Qtoss(GEN q, long *n, long *d)
4981    GEN    R_abs(GEN x)
4982    GEN    R_abs_shallow(GEN x)
4983    GEN    RgC_fpnorml2(GEN x, long prec)
4984    GEN    RgC_gtofp(GEN x, long prec)
4985    GEN    RgC_gtomp(GEN x, long prec)
4986    void   RgM_dimensions(GEN x, long *m, long *n)
4987    GEN    RgM_fpnorml2(GEN x, long prec)
4988    GEN    RgM_gtofp(GEN x, long prec)
4989    GEN    RgM_gtomp(GEN x, long prec)
4990    GEN    RgM_inv(GEN a)
4991    GEN    RgM_minor(GEN a, long i, long j)
4992    GEN    RgM_shallowcopy(GEN x)
4993    GEN    RgV_gtofp(GEN x, long prec)
4994    int    RgV_isscalar(GEN x)
4995    int    RgV_is_ZV(GEN x)
4996    int    RgV_is_QV(GEN x)
4997    long   RgX_equal_var(GEN x, GEN y)
4998    int    RgX_is_monomial(GEN x)
4999    int    RgX_is_rational(GEN x)
5000    int    RgX_is_QX(GEN x)
5001    int    RgX_is_ZX(GEN x)
5002    int    RgX_isscalar(GEN x)
5003    GEN    RgX_shift_inplace(GEN x, long v)
5004    void   RgX_shift_inplace_init(long v)
5005    GEN    RgXQ_mul(GEN x, GEN y, GEN T)
5006    GEN    RgXQ_sqr(GEN x, GEN T)
5007    GEN    RgXQX_div(GEN x, GEN y, GEN T)
5008    GEN    RgXQX_rem(GEN x, GEN y, GEN T)
5009    GEN    RgX_coeff(GEN x, long n)
5010    GEN    RgX_copy(GEN x)
5011    GEN    RgX_div(GEN x, GEN y)
5012    GEN    RgX_fpnorml2(GEN x, long prec)
5013    GEN    RgX_gtofp(GEN x, long prec)
5014    GEN    RgX_rem(GEN x, GEN y)
5015    GEN    RgX_renormalize(GEN x)
5016    GEN    Rg_col_ei(GEN x, long n, long i)
5017    GEN    ZC_hnfrem(GEN x, GEN y)
5018    GEN    ZM_hnfrem(GEN x, GEN y)
5019    GEN    ZM_lll(GEN x, double D, long f)
5020    int    ZV_dvd(GEN x, GEN y)
5021    int    ZV_isscalar(GEN x)
5022    GEN    ZV_to_zv(GEN x)
5023    int    ZX_equal1(GEN x)
5024    GEN    ZX_renormalize(GEN x, long lx)
5025    GEN    ZXQ_mul(GEN x, GEN y, GEN T)
5026    GEN    ZXQ_sqr(GEN x, GEN T)
5027    long   Z_ispower(GEN x, ulong k)
5028    long   Z_issquare(GEN x)
5029    GEN    absfrac(GEN x)
5030    GEN    absfrac_shallow(GEN x)
5031    GEN    affc_fixlg(GEN x, GEN res)
5032    GEN    bin_copy(GENbin *p)
5033    long   bit_accuracy(long x)
5034    double bit_accuracy_mul(long x, double y)
5035    long   bit_prec(GEN x)
5036    int    both_odd(long x, long y)
5037    GEN    cbrtr(GEN x)
5038    GEN    cbrtr_abs(GEN x)
5039    GEN    cgetc(long x)
5040    GEN    cgetalloc(long t, size_t l)
5041    GEN    cxcompotor(GEN z, long prec)
5042    void   cgiv(GEN x)
5043    GEN    col_ei(long n, long i)
5044    GEN    const_col(long n, GEN x)
5045    GEN    const_vec(long n, GEN x)
5046    GEN    const_vecsmall(long n, long c)
5047    GEN    constant_coeff(GEN x)
5048    GEN    cxnorm(GEN x)
5049    GEN    cyclic_perm(long l, long d)
5050    double dbllog2r(GEN x)
5051    long   degpol(GEN x)
5052    long   divsBIL(long n)
5053    void   gabsz(GEN x, long prec, GEN z)
5054    GEN    gaddgs(GEN y, long s)
5055    void   gaddz(GEN x, GEN y, GEN z)
5056    int    gcmpgs(GEN y, long s)
5057    void   gdiventz(GEN x, GEN y, GEN z)
5058    GEN    gdivsg(long s, GEN y)
5059    void   gdivz(GEN x, GEN y, GEN z)
5060    GEN    gen_I()
5061    void   gerepileall(pari_sp av, int n, ...)
5062    void   gerepilecoeffs(pari_sp av, GEN x, int n)
5063    GEN    gerepilecopy(pari_sp av, GEN x)
5064    void   gerepilemany(pari_sp av, GEN* g[], int n)
5065    int    gequalgs(GEN y, long s)
5066    GEN    gerepileupto(pari_sp av, GEN q)
5067    GEN    gerepileuptoint(pari_sp av, GEN q)
5068    GEN    gerepileuptoleaf(pari_sp av, GEN q)
5069    GEN    gmaxsg(long s, GEN y)
5070    GEN    gminsg(long s, GEN y)
5071    void   gmodz(GEN x, GEN y, GEN z)
5072    void   gmul2nz(GEN x, long s, GEN z)
5073    GEN    gmulgs(GEN y, long s)
5074    void   gmulz(GEN x, GEN y, GEN z)
5075    void   gnegz(GEN x, GEN z)
5076    void   gshiftz(GEN x, long s, GEN z)
5077    GEN    gsubgs(GEN y, long s)
5078    void   gsubz(GEN x, GEN y, GEN z)
5079    double gtodouble(GEN x)
5080    GEN    gtofp(GEN z, long prec)
5081    GEN    gtomp(GEN z, long prec)
5082    long   gtos(GEN x)
5083    long   gval(GEN x, long v)
5084    GEN    identity_perm(long l)
5085    int    equali1(GEN n)
5086    int    equalim1(GEN n)
5087    long   inf_get_sign(GEN x)
5088    int    is_bigint(GEN n)
5089    int    is_const_t(long t)
5090    int    is_extscalar_t(long t)
5091    int    is_intreal_t(long t)
5092    int    is_matvec_t(long t)
5093    int    is_noncalc_t(long tx)
5094    int    is_pm1(GEN n)
5095    int    is_rational_t(long t)
5096    int    is_real_t(long t)
5097    int    is_recursive_t(long t)
5098    int    is_scalar_t(long t)
5099    int    _is_universal_constant "is_universal_constant"(GEN x)
5100    int    is_vec_t(long t)
5101    int    isint1(GEN x)
5102    int    isintm1(GEN x)
5103    int    isintzero(GEN x)
5104    int    ismpzero(GEN x)
5105    int    isonstack(GEN x)
5106    void   killblock(GEN x)
5107    GEN    leading_coeff(GEN x)
5108    void   lg_increase(GEN x)
5109    long   lgcols(GEN x)
5110    long   lgpol(GEN x)
5111    GEN    matpascal(long n)
5112    GEN    matslice(GEN A, long x1, long x2, long y1, long y2)
5113    GEN    mkcol(GEN x)
5114    GEN    mkcol2(GEN x, GEN y)
5115    GEN    mkcol2s(long x, long y)
5116    GEN    mkcol3(GEN x, GEN y, GEN z)
5117    GEN    mkcol3s(long x, long y, long z)
5118    GEN    mkcol4(GEN x, GEN y, GEN z, GEN t)
5119    GEN    mkcol4s(long x, long y, long z, long t)
5120    GEN    mkcol5(GEN x, GEN y, GEN z, GEN t, GEN u)
5121    GEN    mkcol6(GEN x, GEN y, GEN z, GEN t, GEN u, GEN v)
5122    GEN    mkcolcopy(GEN x)
5123    GEN    mkcols(long x)
5124    GEN    mkcomplex(GEN x, GEN y)
5125    GEN    mkerr(long n)
5126    GEN    mkmoo()
5127    GEN    mkoo()
5128    GEN    mkfrac(GEN x, GEN y)
5129    GEN    mkfracss(long x, long y)
5130    GEN    mkfraccopy(GEN x, GEN y)
5131    GEN    mkintmod(GEN x, GEN y)
5132    GEN    mkintmodu(ulong x, ulong y)
5133    GEN    mkmat(GEN x)
5134    GEN    mkmat2(GEN x, GEN y)
5135    GEN    mkmat3(GEN x, GEN y, GEN z)
5136    GEN    mkmat4(GEN x, GEN y, GEN z, GEN t)
5137    GEN    mkmat5(GEN x, GEN y, GEN z, GEN t, GEN u)
5138    GEN    mkmatcopy(GEN x)
5139    GEN    mkpolmod(GEN x, GEN y)
5140    GEN    mkqfi(GEN x, GEN y, GEN z)
5141    GEN    mkquad(GEN n, GEN x, GEN y)
5142    GEN    mkrfrac(GEN x, GEN y)
5143    GEN    mkrfraccopy(GEN x, GEN y)
5144    GEN    mkvec(GEN x)
5145    GEN    mkvec2(GEN x, GEN y)
5146    GEN    mkvec2copy(GEN x, GEN y)
5147    GEN    mkvec2s(long x, long y)
5148    GEN    mkvec3(GEN x, GEN y, GEN z)
5149    GEN    mkvec3s(long x, long y, long z)
5150    GEN    mkvec4(GEN x, GEN y, GEN z, GEN t)
5151    GEN    mkvec4s(long x, long y, long z, long t)
5152    GEN    mkvec5(GEN x, GEN y, GEN z, GEN t, GEN u)
5153    GEN    mkveccopy(GEN x)
5154    GEN    mkvecs(long x)
5155    GEN    mkvecsmall(long x)
5156    GEN    mkvecsmall2(long x, long y)
5157    GEN    mkvecsmall3(long x, long y, long z)
5158    GEN    mkvecsmall4(long x, long y, long z, long t)
5159    void   mpcosz(GEN x, GEN z)
5160    void   mpexpz(GEN x, GEN z)
5161    void   mplogz(GEN x, GEN z)
5162    void   mpsinz(GEN x, GEN z)
5163    GEN    mul_content(GEN cx, GEN cy)
5164    GEN    mul_denom(GEN cx, GEN cy)
5165    long   nbits2nlong(long x)
5166    long   nbits2extraprec(long x)
5167    long   nbits2ndec(long x)
5168    long   nbits2prec(long x)
5169    long   nbits2lg(long x)
5170    long   nbrows(GEN x)
5171    long   nchar2nlong(long x)
5172    long   ndec2nbits(long x)
5173    long   ndec2nlong(long x)
5174    long   ndec2prec(long x)
5175    void   normalize_frac(GEN z)
5176    int    odd(long x)
5177    void   pari_free(void *pointer)
5178    void*  pari_calloc(size_t size)
5179    void*  pari_malloc(size_t bytes)
5180    void*  pari_realloc(void *pointer, size_t size)
5181    GEN    perm_conj(GEN s, GEN t)
5182    GEN    perm_inv(GEN x)
5183    GEN    perm_mul(GEN s, GEN t)
5184    GEN    pol_0(long v)
5185    GEN    pol_1(long v)
5186    GEN    pol_x(long v)
5187    GEN    pol_xn(long n, long v)
5188    GEN    pol_xnall(long n, long v)
5189    GEN    pol0_F2x(long sv)
5190    GEN    pol1_F2x(long sv)
5191    GEN    polx_F2x(long sv)
5192    GEN    pol0_Flx(long sv)
5193    GEN    pol1_Flx(long sv)
5194    GEN    polx_Flx(long sv)
5195    GEN    polx_zx(long sv)
5196    GEN    powii(GEN x, GEN n)
5197    GEN    powIs(long n)
5198    long   prec2nbits(long x)
5199    double prec2nbits_mul(long x, double y)
5200    long   prec2ndec(long x)
5201    long   precdbl(long x)
5202    GEN    quad_disc(GEN x)
5203    GEN    qfb_disc(GEN x)
5204    GEN    qfb_disc3(GEN x, GEN y, GEN z)
5205    GEN    quadnorm(GEN q)
5206    long   remsBIL(long n)
5207    GEN    row(GEN A, long x1)
5208    GEN    Flm_row(GEN A, long x0)
5209    GEN    row_i(GEN A, long x0, long x1, long x2)
5210    GEN    zm_row(GEN x, long i)
5211    GEN    rowcopy(GEN A, long x0)
5212    GEN    rowpermute(GEN A, GEN p)
5213    GEN    rowslice(GEN A, long x1, long x2)
5214    GEN    rowslicepermute(GEN A, GEN p, long x1, long x2)
5215    GEN    rowsplice(GEN a, long j)
5216    int    ser_isexactzero(GEN x)
5217    GEN    shallowcopy(GEN x)
5218    GEN    sqrfrac(GEN x)
5219    GEN    sqrti(GEN x)
5220    GEN    sqrtnr(GEN x, long n)
5221    GEN    sqrtr(GEN x)
5222    GEN    sstoQ(long n, long d)
5223    void   pari_stack_alloc(pari_stack *s, long nb)
5224    void** pari_stack_base(pari_stack *s)
5225    void   pari_stack_delete(pari_stack *s)
5226    void   pari_stack_init(pari_stack *s, size_t size, void **data)
5227    long   pari_stack_new(pari_stack *s)
5228    void   pari_stack_pushp(pari_stack *s, void *u)
5229    long   sturm(GEN x)
5230    GEN    truecoeff(GEN x, long n)
5231    GEN    trunc_safe(GEN x)
5232    GEN    vec_ei(long n, long i)
5233    GEN    vec_append(GEN v, GEN s)
5234    GEN    vec_lengthen(GEN v, long n)
5235    GEN    vec_setconst(GEN v, GEN x)
5236    GEN    vec_shorten(GEN v, long n)
5237    GEN    vec_to_vecsmall(GEN z)
5238    GEN    vecpermute(GEN A, GEN p)
5239    GEN    vecreverse(GEN A)
5240    void   vecreverse_inplace(GEN y)
5241    GEN    vecsmallpermute(GEN A, GEN p)
5242    GEN    vecslice(GEN A, long y1, long y2)
5243    GEN    vecslicepermute(GEN A, GEN p, long y1, long y2)
5244    GEN    vecsplice(GEN a, long j)
5245    GEN    vecsmall_append(GEN V, long s)
5246    long   vecsmall_coincidence(GEN u, GEN v)
5247    GEN    vecsmall_concat(GEN u, GEN v)
5248    GEN    vecsmall_copy(GEN x)
5249    GEN    vecsmall_ei(long n, long i)
5250    long   vecsmall_indexmax(GEN x)
5251    long   vecsmall_indexmin(GEN x)
5252    long   vecsmall_isin(GEN v, long x)
5253    GEN    vecsmall_lengthen(GEN v, long n)
5254    int    vecsmall_lexcmp(GEN x, GEN y)
5255    long   vecsmall_max(GEN v)
5256    long   vecsmall_min(GEN v)
5257    long   vecsmall_pack(GEN V, long base, long mod)
5258    int    vecsmall_prefixcmp(GEN x, GEN y)
5259    GEN    vecsmall_prepend(GEN V, long s)
5260    GEN    vecsmall_reverse(GEN A)
5261    GEN    vecsmall_shorten(GEN v, long n)
5262    GEN    vecsmall_to_col(GEN z)
5263    GEN    vecsmall_to_vec(GEN z)
5264    GEN    vecsmall_to_vec_inplace(GEN z)
5265    void   vecsmalltrunc_append(GEN x, long t)
5266    GEN    vecsmalltrunc_init(long l)
5267    void   vectrunc_append(GEN x, GEN t)
5268    void   vectrunc_append_batch(GEN x, GEN y)
5269    GEN    vectrunc_init(long l)
5270    GEN    zc_to_ZC(GEN x)
5271    GEN    zero_F2m(long n, long m)
5272    GEN    zero_F2m_copy(long n, long m)
5273    GEN    zero_F2v(long m)
5274    GEN    zero_F2x(long sv)
5275    GEN    zero_Flm(long m, long n)
5276    GEN    zero_Flm_copy(long m, long n)
5277    GEN    zero_Flv(long n)
5278    GEN    zero_Flx(long sv)
5279    GEN    zero_zm(long x, long y)
5280    GEN    zero_zv(long x)
5281    GEN    zero_zx(long sv)
5282    GEN    zerocol(long n)
5283    GEN    zeromat(long m, long n)
5284    GEN    zeromatcopy(long m, long n)
5285    GEN    zeropadic(GEN p, long e)
5286    GEN    zeropadic_shallow(GEN p, long e)
5287    GEN    zeropol(long v)
5288    GEN    zeroser(long v, long e)
5289    GEN    zerovec(long n)
5290    GEN    zerovec_block(long len)
5291    GEN    zm_copy(GEN x)
5292    GEN    zm_to_zxV(GEN x, long sv)
5293    GEN    zm_transpose(GEN x)
5294    GEN    zv_copy(GEN x)
5295    GEN    zv_to_ZV(GEN x)
5296    GEN    zv_to_zx(GEN x, long sv)
5297    GEN    zx_renormalize(GEN x, long l)
5298    GEN    zx_shift(GEN x, long n)
5299    GEN    zx_to_zv(GEN x, long N)
5300
5301    GEN    err_get_compo(GEN e, long i)
5302    long   err_get_num(GEN e)
5303    void   pari_err_BUG(const char *f)
5304    void   pari_err_COMPONENT(const char *f, const char *op, GEN l, GEN x)
5305    void   pari_err_CONSTPOL(const char *f)
5306    void   pari_err_COPRIME(const char *f, GEN x, GEN y)
5307    void   pari_err_DIM(const char *f)
5308    void   pari_err_DOMAIN(const char *f, const char *v, const char *op, GEN l, GEN x)
5309    void   pari_err_FILE(const char *f, const char *g)
5310    void   pari_err_FLAG(const char *f)
5311    void   pari_err_IMPL(const char *f)
5312    void   pari_err_INV(const char *f, GEN x)
5313    void   pari_err_IRREDPOL(const char *f, GEN x)
5314    void   pari_err_MAXPRIME(ulong c)
5315    void   pari_err_MODULUS(const char *f, GEN x, GEN y)
5316    void   pari_err_OP(const char *f, GEN x, GEN y)
5317    void   pari_err_OVERFLOW(const char *f)
5318    void   pari_err_PACKAGE(const char *f)
5319    void   pari_err_PREC(const char *f)
5320    void   pari_err_PRIME(const char *f, GEN x)
5321    void   pari_err_PRIORITY(const char *f, GEN x, const char *op, long v)
5322    void   pari_err_SQRTN(const char *f, GEN x)
5323    void   pari_err_TYPE(const char *f, GEN x)
5324    void   pari_err_TYPE2(const char *f, GEN x, GEN y)
5325    void   pari_err_VAR(const char *f, GEN x, GEN y)
5326    void   pari_err_ROOTS0(const char *f)
5327
5328
5329# Work around a bug in PARI's is_universal_constant()
5330cdef inline int is_universal_constant(GEN x):
5331    return _is_universal_constant(x) or (x is err_e_STACK)
5332
5333
5334# Auto-generated declarations. There are taken from the PARI version
5335# on the system, so they more up-to-date than the above. In case of
5336# conflicting declarations, auto_paridecl should have priority.
5337from .auto_paridecl cimport *
5338
5339
5340cdef inline int is_on_stack(GEN x) except -1:
5341    """
5342    Is the GEN ``x`` stored on the PARI stack?
5343    """
5344    s = <pari_sp>x
5345    if avma <= s:
5346        return s < pari_mainstack.top
5347    if pari_mainstack.vbot <= s:
5348        raise SystemError("PARI object in unused part of PARI stack")
5349    return 0
5350