Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download

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

28495 views
License: GPL3
ubuntu2004
1
#define PARI_TUNE
2
3
#ifdef PARI_TUNE
4
extern long AGM_ATAN_LIMIT;
5
extern long DIVRR_GMP_LIMIT;
6
extern long EXPNEWTON_LIMIT;
7
extern long EXTGCD_HALFGCD_LIMIT;
8
extern long F2x_MUL_KARATSUBA_LIMIT;
9
extern long F2x_MUL_MULII_LIMIT;
10
extern long F2xqX_BARRETT_LIMIT;
11
extern long F2xqX_DIVREM_BARRETT_LIMIT;
12
extern long F2xqX_EXTGCD_LIMIT;
13
extern long F2xqX_GCD_LIMIT;
14
extern long F2xqX_HALFGCD_LIMIT;
15
extern long F2xqX_INVBARRETT_LIMIT;
16
extern long F2xqX_REM_BARRETT_LIMIT;
17
extern long Flx_BARRETT2_LIMIT;
18
extern long Flx_BARRETT_LIMIT;
19
extern long Flx_DIVREM2_BARRETT_LIMIT;
20
extern long Flx_DIVREM_BARRETT_LIMIT;
21
extern long Flx_EXTGCD2_LIMIT;
22
extern long Flx_EXTGCD_LIMIT;
23
extern long Flx_GCD2_LIMIT;
24
extern long Flx_GCD_LIMIT;
25
extern long Flx_HALFGCD2_LIMIT;
26
extern long Flx_HALFGCD_LIMIT;
27
extern long Flx_INVBARRETT2_LIMIT;
28
extern long Flx_INVBARRETT_LIMIT;
29
extern long Flx_MUL2_KARATSUBA_LIMIT;
30
extern long Flx_MUL2_MULII_LIMIT;
31
extern long Flx_MUL_KARATSUBA_LIMIT;
32
extern long Flx_MUL_MULII_LIMIT;
33
extern long Flx_REM2_BARRETT_LIMIT;
34
extern long Flx_REM_BARRETT_LIMIT;
35
extern long Flx_SQR2_KARATSUBA_LIMIT;
36
extern long Flx_SQR2_SQRI_LIMIT;
37
extern long Flx_SQR_KARATSUBA_LIMIT;
38
extern long Flx_SQR_SQRI_LIMIT;
39
extern long FlxqX_BARRETT_LIMIT;
40
extern long FlxqX_DIVREM_BARRETT_LIMIT;
41
extern long FlxqX_EXTGCD_LIMIT;
42
extern long FlxqX_GCD_LIMIT;
43
extern long FlxqX_HALFGCD_LIMIT;
44
extern long FlxqX_INVBARRETT_LIMIT;
45
extern long FlxqX_REM_BARRETT_LIMIT;
46
extern long FpXQX_BARRETT_LIMIT;
47
extern long FpXQX_DIVREM_BARRETT_LIMIT;
48
extern long FpXQX_EXTGCD_LIMIT;
49
extern long FpXQX_GCD_LIMIT;
50
extern long FpXQX_HALFGCD_LIMIT;
51
extern long FpXQX_INVBARRETT_LIMIT;
52
extern long FpXQX_REM_BARRETT_LIMIT;
53
extern long FpX_BARRETT_LIMIT;
54
extern long FpX_DIVREM_BARRETT_LIMIT;
55
extern long FpX_EXTGCD_LIMIT;
56
extern long FpX_GCD_LIMIT;
57
extern long FpX_HALFGCD_LIMIT;
58
extern long FpX_INVBARRETT_LIMIT;
59
extern long FpX_REM_BARRETT_LIMIT;
60
extern long Fp_POW_BARRETT_LIMIT;
61
extern long Fp_POW_REDC_LIMIT;
62
extern long GCD_HALFGCD_LIMIT;
63
extern long HALFGCD_LIMIT;
64
extern long INVMOD_GMP_LIMIT;
65
extern long INVNEWTON_LIMIT;
66
extern long LOGAGMCX_LIMIT;
67
extern long LOGAGM_LIMIT;
68
extern long MULII_FFT_LIMIT;
69
extern long MULII_KARATSUBA_LIMIT;
70
extern long MULRR_MULII_LIMIT;
71
extern long RgX_MUL_LIMIT;
72
extern long RgX_SQR_LIMIT;
73
extern long SQRI_FFT_LIMIT;
74
extern long SQRI_KARATSUBA_LIMIT;
75
extern long SQRR_SQRI_LIMIT;
76
#else
77
# define AGM_ATAN_LIMIT __AGM_ATAN_LIMIT
78
# define DIVRR_GMP_LIMIT __DIVRR_GMP_LIMIT
79
# define EXPNEWTON_LIMIT __EXPNEWTON_LIMIT
80
# define EXTGCD_HALFGCD_LIMIT __EXTGCD_HALFGCD_LIMIT
81
# define F2x_MUL_KARATSUBA_LIMIT __F2x_MUL_KARATSUBA_LIMIT
82
# define F2x_MUL_MULII_LIMIT __F2x_MUL_MULII_LIMIT
83
# define F2xqX_BARRETT_LIMIT __F2xqX_BARRETT_LIMIT
84
# define F2xqX_DIVREM_BARRETT_LIMIT __F2xqX_DIVREM_BARRETT_LIMIT
85
# define F2xqX_EXTGCD_LIMIT __F2xqX_EXTGCD_LIMIT
86
# define F2xqX_GCD_LIMIT __F2xqX_GCD_LIMIT
87
# define F2xqX_HALFGCD_LIMIT __F2xqX_HALFGCD_LIMIT
88
# define F2xqX_INVBARRETT_LIMIT __F2xqX_INVBARRETT_LIMIT
89
# define F2xqX_REM_BARRETT_LIMIT __F2xqX_REM_BARRETT_LIMIT
90
# define Flx_BARRETT2_LIMIT __Flx_BARRETT2_LIMIT
91
# define Flx_BARRETT_LIMIT __Flx_BARRETT_LIMIT
92
# define Flx_DIVREM2_BARRETT_LIMIT __Flx_DIVREM2_BARRETT_LIMIT
93
# define Flx_DIVREM_BARRETT_LIMIT __Flx_DIVREM_BARRETT_LIMIT
94
# define Flx_EXTGCD2_LIMIT __Flx_EXTGCD2_LIMIT
95
# define Flx_EXTGCD_LIMIT __Flx_EXTGCD_LIMIT
96
# define Flx_GCD2_LIMIT __Flx_GCD2_LIMIT
97
# define Flx_GCD_LIMIT __Flx_GCD_LIMIT
98
# define Flx_HALFGCD2_LIMIT __Flx_HALFGCD2_LIMIT
99
# define Flx_HALFGCD_LIMIT __Flx_HALFGCD_LIMIT
100
# define Flx_INVBARRETT2_LIMIT __Flx_INVBARRETT2_LIMIT
101
# define Flx_INVBARRETT_LIMIT __Flx_INVBARRETT_LIMIT
102
# define Flx_MUL2_KARATSUBA_LIMIT __Flx_MUL2_KARATSUBA_LIMIT
103
# define Flx_MUL2_MULII_LIMIT __Flx_MUL2_MULII_LIMIT
104
# define Flx_MUL_KARATSUBA_LIMIT __Flx_MUL_KARATSUBA_LIMIT
105
# define Flx_MUL_MULII_LIMIT __Flx_MUL_MULII_LIMIT
106
# define Flx_REM2_BARRETT_LIMIT __Flx_REM2_BARRETT_LIMIT
107
# define Flx_REM_BARRETT_LIMIT __Flx_REM_BARRETT_LIMIT
108
# define Flx_SQR2_KARATSUBA_LIMIT __Flx_SQR2_KARATSUBA_LIMIT
109
# define Flx_SQR2_SQRI_LIMIT __Flx_SQR2_SQRI_LIMIT
110
# define Flx_SQR_KARATSUBA_LIMIT __Flx_SQR_KARATSUBA_LIMIT
111
# define Flx_SQR_SQRI_LIMIT __Flx_SQR_SQRI_LIMIT
112
# define FlxqX_BARRETT_LIMIT __FlxqX_BARRETT_LIMIT
113
# define FlxqX_DIVREM_BARRETT_LIMIT __FlxqX_DIVREM_BARRETT_LIMIT
114
# define FlxqX_EXTGCD_LIMIT __FlxqX_EXTGCD_LIMIT
115
# define FlxqX_GCD_LIMIT __FlxqX_GCD_LIMIT
116
# define FlxqX_HALFGCD_LIMIT __FlxqX_HALFGCD_LIMIT
117
# define FlxqX_INVBARRETT_LIMIT __FlxqX_INVBARRETT_LIMIT
118
# define FlxqX_REM_BARRETT_LIMIT __FlxqX_REM_BARRETT_LIMIT
119
# define FpXQX_BARRETT_LIMIT __FpXQX_BARRETT_LIMIT
120
# define FpXQX_DIVREM_BARRETT_LIMIT __FpXQX_DIVREM_BARRETT_LIMIT
121
# define FpXQX_EXTGCD_LIMIT __FpXQX_EXTGCD_LIMIT
122
# define FpXQX_GCD_LIMIT __FpXQX_GCD_LIMIT
123
# define FpXQX_HALFGCD_LIMIT __FpXQX_HALFGCD_LIMIT
124
# define FpXQX_INVBARRETT_LIMIT __FpXQX_INVBARRETT_LIMIT
125
# define FpXQX_REM_BARRETT_LIMIT __FpXQX_REM_BARRETT_LIMIT
126
# define FpX_BARRETT_LIMIT __FpX_BARRETT_LIMIT
127
# define FpX_DIVREM_BARRETT_LIMIT __FpX_DIVREM_BARRETT_LIMIT
128
# define FpX_EXTGCD_LIMIT __FpX_EXTGCD_LIMIT
129
# define FpX_GCD_LIMIT __FpX_GCD_LIMIT
130
# define FpX_HALFGCD_LIMIT __FpX_HALFGCD_LIMIT
131
# define FpX_INVBARRETT_LIMIT __FpX_INVBARRETT_LIMIT
132
# define FpX_REM_BARRETT_LIMIT __FpX_REM_BARRETT_LIMIT
133
# define Fp_POW_BARRETT_LIMIT __Fp_POW_BARRETT_LIMIT
134
# define Fp_POW_REDC_LIMIT __Fp_POW_REDC_LIMIT
135
# define GCD_HALFGCD_LIMIT __GCD_HALFGCD_LIMIT
136
# define HALFGCD_LIMIT __HALFGCD_LIMIT
137
# define INVMOD_GMP_LIMIT __INVMOD_GMP_LIMIT
138
# define INVNEWTON_LIMIT __INVNEWTON_LIMIT
139
# define LOGAGMCX_LIMIT __LOGAGMCX_LIMIT
140
# define LOGAGM_LIMIT __LOGAGM_LIMIT
141
# define MULII_FFT_LIMIT __MULII_FFT_LIMIT
142
# define MULII_KARATSUBA_LIMIT __MULII_KARATSUBA_LIMIT
143
# define MULRR_MULII_LIMIT __MULRR_MULII_LIMIT
144
# define RgX_MUL_LIMIT __RgX_MUL_LIMIT
145
# define RgX_SQR_LIMIT __RgX_SQR_LIMIT
146
# define SQRI_FFT_LIMIT __SQRI_FFT_LIMIT
147
# define SQRI_KARATSUBA_LIMIT __SQRI_KARATSUBA_LIMIT
148
# define SQRR_SQRI_LIMIT __SQRR_SQRI_LIMIT
149
#endif
150
151