Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download

Testing latest pari + WASM + node.js... and it works?! Wow.

28485 views
License: GPL3
ubuntu2004
1
/* Copyright (C) 2000 The PARI group.
2
3
This file is part of the PARI/GP package.
4
5
PARI/GP is free software; you can redistribute it and/or modify it under the
6
terms of the GNU General Public License as published by the Free Software
7
Foundation; either version 2 of the License, or (at your option) any later
8
version. It is distributed in the hope that it will be useful, but WITHOUT
9
ANY WARRANTY WHATSOEVER.
10
11
Check the License for details. You should have received a copy of it, along
12
with the package; see the file 'COPYING'. If not, write to the Free Software
13
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */
14
15
/* For compatibility with older PARI versions */
16
#define nbessel ybessel
17
#define ZXX_to_Kronecker RgXX_to_Kronecker
18
#define ZXX_to_Kronecker_spec RgXX_to_Kronecker_spec
19
#define perf qfperfection
20
#define rootpadic polrootspadic
21
#define rootsof1 nfrootsof1
22
#define rootsof1_kannan nfrootsof1
23
#define hash_str2 hash_str
24
#define Strtex strtex
25
#define Strprintf strprintf
26
#define Strchr pari_strchr
27
#define Strexpand strexpand
28
#define LOG2 M_LN2
29
#define truecoeff truecoef
30
#define polcoeff0 polcoef
31
#define polcoeff_i polcoef_i
32
#define factorcantor0 factormod0
33
#define factcantor factmod
34
#define matsolvemod0 matsolvemod
35
#define rootmod2 polrootsmod
36
#define rootmod polrootsmod
37
#define resultant_all RgX_resultant_all
38
#define vecbinome vecbinomial
39
#define Xadic_lindep lindep_Xadic
40
#define padic_lindep lindep_padic
41
#define ZM_ker_ratlift ZM_ker
42
#define keri ZM_ker
43
/* Following obsoleted in 2.9.* (2016) */
44
#define absi_factor absZ_factor
45
#define absi_factor_limit absZ_factor_limit
46
#define absi_cmp abscmpii
47
#define absr_cmp abscmprr
48
#define absi_equal absequalii
49
#define anell ellan
50
#define anellsmall ellanQ_zv
51
#define leading_term leading_coeff
52
#define constant_term constant_coeff
53
#define concat gconcat
54
#define concat1 gconcat1
55
#define mathell ellheightmatrix
56
#define ghell ellheight
57
58
/* Following obsoleted in 2.7.* (2014) */
59
#define mpexp1 mpexpm1
60
#define ggamd ggammah
61
#define gach gacosh
62
#define gash gasinh
63
#define gath gatanh
64
#define gch gcosh
65
#define gsh gsinh
66
#define gth gtanh
67
#define recip serreverse
68
#define gcmpX gequalX
69
#define ZM_hnfremdiv ZM_hnfdivrem
70
#define rnfidealhermite rnfidealhnf
71
#define rnfelementabstorel rnfeltabstorel
72
#define rnfelementreltoabs rnfeltreltoabs
73
#define rnfelementdown rnfeltdown
74
#define rnfelementup rnfeltup
75
#define exp_Ir expIr
76
#define vecbezout gcdext0
77
#define vecbezoutres polresultantext
78
#define init_primepointer init_primepointer_geq
79
#define ellap0(e,p,flag) ellap(e,p)
80
#define apell2(e,p) ellap(e,p)
81
#define geulerphi eulerphi
82
#define numbdiv numdiv
83
#define gnumbdiv numdiv
84
#define gsumdivk sumdivk
85
#define gnextprime nextprime
86
#define gprecprime precprime
87
#define leftright_pow_fold gen_pow_fold
88
#define leftright_pow_u_fold gen_powu_fold
89
#define subell ellsub
90
#define addell elladd
91
#define powell ellmul
92
#define ggval gvaluation
93
#define stackmalloc stack_malloc
94
#define listcreate mklist
95
96
/* Following obsoleted in 2.5.* (2011) */
97
#define fprintferr err_printf
98
#define msgTIMER timer_printf
99
#define TIMER timer_delay
100
#define TIMERread timer_get
101
#define TIMERstart timer_start
102
#define rnfinitalg rnfinit
103
#define ordell ellordinate
104
#define gcmp0 gequal0
105
#define gcmp1 gequal1
106
#define gcmp_1 gequalm1
107
#define nfsmith nfsnf
108
#define certifybuchall bnfcertify
109
#define greffe(x,y,z) (RgX_to_ser(x,y))
110
#define newbloc newblock
111
#define killbloc killblock
112
#define taille2 gsizebyte
113
#define taille gsizeword
114
#define polymodrecip modreverse
115
#define primedec idealprimedec
116
#define initalg nfinit
117
#define initalgred nfinitred
118
#define initalgred2 nfinitred2
119
#define initell ellinit
120
#define smallinitell smallellinit
121
#define isunit bnfisunit
122
#define zideallog ideallog
123
#define ideallllred idealred0
124
#define ideal_two_elt idealtwoelt
125
#define ideal_two_elt2 idealtwoelt2
126
#define ideal_two_elt0 idealtwoelt0
127
#define gregula quadregulator
128
#define gfundunit quadunit
129
#define minideal(x,y,z,t) idealmin(x,y,z)
130
#define idealhermite idealhnf
131
#define srgcd(x) RgX_gcd(x)
132
#define discf(x) nfdisc(x)
133
#define discsr(x) poldisc0((x),-1)
134
#define factorpadic4 factorpadic
135
#define smith2 smithall
136
#define gsmith2 gsmithall
137
#define derivpol RgX_deriv
138
#define gpmalloc pari_malloc
139
#define gprealloc pari_realloc
140
#define gpfree pari_free
141
#define pariprintf pari_printf
142
#define pariputc pari_putc
143
#define pariputs pari_puts
144
#define pariflush pari_flush
145
146
/* Following deprecated for a long time now, obsoleted in 2.3.* (2007) */
147
#ifdef PARI_OLD_NAMES
148
#define apell ellap
149
#define gscalsmat scalarmat_s
150
#define sqred qfgaussred
151
#define signat qfsign
152
#define infile pari_infile
153
#define errfile pari_errfile
154
#define logfile pari_logfile
155
#define voir dbgGEN
156
#define pointch ellchangepoint
157
#define coordch ellchangecurve
158
#define Flx_rand random_Flx
159
#define FpX_rand random_FpX
160
#define galois polgalois
161
#define sindexlexsort indexlexsort
162
#define sindexsort indexsort
163
#define sindexrank indexrank
164
#define decomp Z_factor
165
#define gmodulcp gmodulo
166
#define forcecopy gcopy
167
#define lseriesell elllseries
168
#define uissquarerem uissquareall
169
#define Z_issquarerem Z_issquareall
170
#define gissquarerem gissquareall
171
#define gcarrecomplet gissquareall
172
#define gcarreparfait gissquare
173
#define rnfhermitebasis rnfhnfbasis
174
#define wf weberf
175
#define wf1 weberf1
176
#define wf2 weberf2
177
#define coefs_to_col mkcoln
178
#define coefs_to_int mkintn
179
#define coefs_to_pol mkpoln
180
#define coefs_to_vec mkvecn
181
#define localreduction elllocalred
182
#define idmat matid
183
#define globalreduction ellglobalred
184
#define taniyama(e) elltaniyama((e),precdl)
185
#define chinois chinese
186
#define binome binomial
187
#define egalii equalii
188
#define gegal gequal
189
#define gegalgs gequalgs
190
#define gegalsg gequalsg
191
#define gzero gen_0
192
#define gun gen_1
193
#define gdeux gen_2
194
#define realzero real_0
195
#define realzero_bit real_0_bit
196
#define realun real_1
197
#define realmun real_m1
198
#define gen2str GENtostr
199
#define gpui gpow
200
#define gpuigs gpowgs
201
#define classno3 hclassno
202
#define strtoGEN gp_read_str
203
#define flisexpr gp_read_str
204
#define flisseq gp_read_str
205
#define lisseq readseq
206
#define lisGEN gp_read_stream
207
#define lisexpr readseq
208
#define permute numtoperm
209
#define permuteInv permtonum
210
#define evallgef(x) 0
211
#define lgef lg
212
#define setlgef setlg
213
#define leadingcoeff(x) (pollead((x),-1))
214
#define poldivres poldivrem
215
#define nfdivres nfdivrem
216
#define gred gcopy
217
#define pvaluation Z_pvalrem
218
#define svaluation u_lvalrem
219
#define isprincipalrayall bnrisprincipal
220
#define rayclassno bnrclassno
221
#define rayclassnolist bnrclassnolist
222
#define idealhermite2 idealhnf0
223
#define gener_Fp pgener_Fp
224
#define gener_Fl pgener_Fl
225
#define cyclo polcyclo
226
#define tchebi polchebyshev1
227
#define legendre pollegendre
228
#define subcyclo polsubcyclo
229
#define leftright_pow gen_pow
230
#define leftright_pow_u gen_powu
231
232
#define apprgen padicappr
233
#define apprgen9 padicappr
234
#define factmod9 factorff
235
#define ggrandocp ggrando
236
#define glogagm glog
237
#define logagm mplog
238
#define mpsqrtz gopgz(absr,(x),(y))
239
#define adduumod Fl_add
240
#define subuumod Fl_sub
241
#define muluumod Fl_mul
242
#define divuumod Fl_div
243
#define powuumod Fl_powu
244
#define invumod Fl_inv
245
#define invsmod Fl_inv_signed
246
#define mpinvmod Fp_inv
247
#define powmodulo Fp_pow
248
#define mpsqrtmod Fp_sqrt
249
#define mpsqrtnmod Fp_sqrtn
250
#define mpsqrt sqrtr
251
#define mpsqrtn sqrtnr
252
#define resii remii
253
#define resis remis
254
#define ressi remsi
255
#define resss remss
256
#define resiiz remiiz
257
#define resisz remisz
258
#define ressiz remsiz
259
#define resssz remssz
260
#define gres grem
261
#define lres lrem
262
#define gdivise gdvd
263
#define divise dvdii
264
#define mpdivis dvdiiz
265
#define mpdivisis dvdisz
266
#define mpent mpfloor
267
#define mpentz mpfloorz
268
#define mpnegz(x,y) \
269
STMT_START {pari_sp _av=avma;mpaff(mpneg(x),y);avma=_av;} STMT_END
270
#define mpabsz(x,y) \
271
STMT_START {pari_sp _av=avma;mpaff(mpabs(x),y);avma=_av;} STMT_END
272
#define absrz(x,z) mpabsz((x),(z))
273
#define negrz(x,z) mpnegz((x),(z))
274
275
#define err pari_err
276
#define init pari_init
277
278
#define zero (long)gen_0
279
#define un (long)gen_1
280
#define deux (long)gen_2
281
#define lhalf (long)ghalf
282
283
/* removed GEN subtypes */
284
#define t_FRACN t_FRAC
285
#define t_RFRACN t_RFRAC
286
#define is_frac_t(t) ( (t) == t_FRAC )
287
#define is_rfrac_t(t) ( (t) == t_RFRAC )
288
289
/*casts*/
290
#define labsi (long)absi
291
#define labsr (long)absr
292
#define lach (long)gacosh
293
#define lacos (long)gacos
294
#define ladd (long)gadd
295
#define laddgs (long)gaddgs
296
#define laddii (long)addii
297
#define laddir (long)addir
298
#define laddis (long)addis
299
#define laddrr (long)addrr
300
#define laddsg (long)gaddsg
301
#define laddsi (long)addsi
302
#define laddrs (long)addrs
303
#define laddsr (long)addsr
304
#define ladj (long)adj
305
#define larg (long)garg
306
#define lash (long)gasinh
307
#define lasin (long)gasin
308
#define lassmat (long)matcompanion
309
#define latan (long)gatan
310
#define lath (long)gatanh
311
#define lbezout (long)bezout
312
#define lbinome (long)binomial
313
#define lcaract (long)caract
314
#define lcaradj (long)caradj
315
#define lceil (long)gceil
316
#define lch (long)gcosh
317
#define lchangevar (long)changevar
318
#define lclone (long)gclone
319
#define lconcat (long)gconcat
320
#define lconj (long)gconj
321
#define lcontent (long)content
322
#define lcopy (long)gcopy
323
#define lcos (long)gcos
324
#define lcvtoi (long)gcvtoi
325
#define lderiv (long)deriv
326
#define ldet2 (long)det2
327
#define ldet (long)det
328
#define ldeuc (long)gdeuc
329
#define ldiscsr (long)discsr
330
#define ldiventgs (long)gdiventgs
331
#define ldiventsg (long)gdiventsg
332
#define ldivgs (long)gdivgs
333
#define ldivii (long)divii
334
#define ldivir (long)divir
335
#define ldivis (long)divis
336
#define ldivmod (long)gdivmod
337
#define ldivri (long)divri
338
#define ldivrr (long)divrr
339
#define ldivrs (long)divrs
340
#define ldivsg (long)gdivsg
341
#define ldivsi (long)divsi
342
#define ldivsr (long)divsr
343
#define ldvmdii (long)dvmdii
344
#define ldvmdis (long)dvmdis
345
#define ldvmdsi (long)dvmdsi
346
#define lexp (long)gexp
347
#define lfibo (long)fibo
348
#define lfloor (long)gfloor
349
#define lfrac (long)gfrac
350
#define lgamd (long)ggammah
351
#define lgamma (long)ggamma
352
#define lgauss (long)gauss
353
#define lgcd (long)ggcd
354
#define lgetg (long)cgetg
355
#define lgeti (long)cgeti
356
#define lgetp (long)cgetp
357
#define lgetr (long)cgetr
358
#define licopy (long)icopy
359
#define limag (long)gimag
360
#define linteg (long)integ
361
#define linv (long)ginv
362
#define linvmat (long)RgM_inv
363
#define linvmod (long)ginvmod
364
#define llegendre (long)legendre
365
#define llift (long)lift
366
#define llngamma (long)glngamma
367
#define llog (long)glog
368
#define lmaxgs (long)gmaxgs
369
#define lmax (long)gmax
370
#define lmaxsg (long)gmaxsg
371
#define lmings (long)gmings
372
#define lmin (long)gmin
373
#define lminsg (long)gminsg
374
#define lmodgs (long)gmodgs
375
#define lmodii (long)modii
376
#define lmod (long)gmod
377
#define lmodsg (long)gmodsg
378
#define lmodsi (long)modsi
379
#define lmodulcp (long)gmodulo
380
#define lmodulo (long)gmodulo
381
#define lmpabs (long)mpabs
382
#define lmpadd (long)mpadd
383
#define lmpcos (long)mpcos
384
#define lmpdiv (long)mpdiv
385
#define lmpent (long)mpent
386
#define lmpeuler (long)mpeuler
387
#define lmpexp1 (long)mpexpm1
388
#define lmpexp (long)mpexp
389
#define lmpfact (long)mpfact
390
#define lmplog (long)mplog
391
#define lmpmul (long)mpmul
392
#define lmpneg (long)mpneg
393
#define lmppgcd (long)mppgcd
394
#define lmppi (long)mppi
395
#define lmpshift (long)mpshift
396
#define lmpsin (long)mpsin
397
#define lmpsqrt (long)mpsqrt
398
#define lmpsub (long)mpsub
399
#define lmptrunc (long)mptrunc
400
#define lmul2n (long)gmul2n
401
#define lmulgs (long)gmulgs
402
#define lmulii (long)mulii
403
#define lmulir (long)mulir
404
#define lmulis (long)mulis
405
#define lmul (long)gmul
406
#define lmulri (long)mulri
407
#define lmulrr (long)mulrr
408
#define lmulrs (long)mulrs
409
#define lmulsg (long)gmulsg
410
#define lmulsi (long)mulsi
411
#define lmulsr (long)mulsr
412
#define lmulss (long)mulss
413
#define lnegi (long)negi
414
#define lneg (long)gneg
415
#define lnegr (long)negr
416
#define lnorml2 (long)gnorml2
417
#define lnorm (long)gnorm
418
#define lpile (long)gerepile
419
#define lpilecopy (long)gerepilecopy
420
#define lpileupto (long)gerepileupto
421
#define lpileuptoint (long)gerepileuptoint
422
#define lpileuptoleaf (long)gerepileuptoleaf
423
#define lpoleval (long)poleval
424
#define lpowgs (long)gpowgs
425
#define lprec (long)gprec
426
#define lpsi (long)gpsi
427
#define lpuigs (long)gpuigs
428
#define lpui (long)gpui
429
#define lquadgen (long)quadgen
430
#define lquadpoly (long)quadpoly
431
#define lracine (long)sqrtint
432
#define lrcopy (long)rcopy
433
#define lreal (long)greal
434
#define lrecip (long)recip
435
#define lred (long)gred
436
#define lremii (long)remii
437
#define lrem (long)grem
438
#define lrndtoi (long)grndtoi
439
#define lroots (long)roots
440
#define lscalmat (long)scalarmat
441
#define lscalsmat (long)scalarmat_s
442
#define lsh (long)gsinh
443
#define lshifti (long)shifti
444
#define lshift (long)gshift
445
#define lshiftr (long)shiftr
446
#define lsin (long)gsin
447
#define lsqri (long)sqri
448
#define lsqr (long)gsqr
449
#define lsqrt (long)gsqrt
450
#define lstoi (long)stoi
451
#define lsub (long)gsub
452
#define lsubgs (long)gsubgs
453
#define lsubii (long)subii
454
#define lsubir (long)subir
455
#define lsubis (long)subis
456
#define lsubres (long)resultant
457
#define lsubri (long)subri
458
#define lsubrr (long)subrr
459
#define lsubrs (long)subrs
460
#define lsubst (long)gsubst
461
#define lsubsg (long)gsubsg
462
#define lsubsi (long)subsi
463
#define lsubsr (long)subsr
464
#define ltan (long)gtan
465
#define ltchebi (long)polchebyshev
466
#define lth (long)gtanh
467
#define ltrace (long)gtrace
468
#define ltrans (long)gtrans
469
#define ltrunc (long)gtrunc
470
#define lutoi (long)utoi
471
#define lround (long)ground
472
#define ldiv (long)gdiv
473
#endif
474
475